P (complexitat)

classe de complexitat computacional

En Teoria de complexitat computacional, P és la classe de complexitat que conté els problemes de decisió que es poden resoldre amb una màquina de Turing determinista usant una quantitat de temps de computació polinòmic (temps polinòmic).[1][2]

Es considera P com la classe de problemes que computacionalment són "eficientment resolubles" o "tractables", tot i que hi ha classes majors que es poden considerar tractables com RP o BPP. A més, hi ha problemes dins de P que són intractables en termes pràctics: per exemple, poden requerir n1000000 operacions.

Definició modifica

Un llenguatge L és a P si i només si existeix una màquina de Turing determinsta M tal que:

  • M funciona un temps polinòmic per qualsevol entrada
  • Per tot x de L, M accepta x
  • Per tot x no a L, M rebutja x

La classe P també es pot veure com una família de circuits booleans. Un llenguatge L és a P si i només si existeix una família de circuits booleans de temps polinòmic i uniforme  tal que:

  • Per tot  ,  agafa n bits d'entrada i un sol bit de sortida
  • Per tot x a L,  
  • Per tot x no a L,  

Problemes notables dins de P modifica

P és conegut per contenir molts problemes naturals, incloent-hi les versions de decisió de la programació lineal, calcular el màxim comú divisor o fer aparellament de grafs. L'any 2002 es va demostrar que el problema de determinar si un nombre és primer recau dins de P.[3]

Força problemes naturals son complets per P, com el de la connectivitat-st en grafs alternats.[4]

Relació amb altres classes modifica

Una generalització de P és NP, que és la classe de llenguatges decidibles en temps polinòmic en una màquina de Turing no determinista. Es veu de forma trivial que P és un subconjunt de NP. Tot i que no està provat, la majoria d'experts creuen que n'és un subconjunt estricte.[5]

Se sap que P és almenys tan gran com L, la classe de problemes decidibles en un espai de memòria logarítmic. Una màquina que usi O(log n) d'espai no pot usar més de 2O(log n)=nO(1) en temps, perquè aquestes són totes les possibles configuracions; per tant, L és un subconjunt de P. Un altre problema important és saber si L = P. Se sap que P = AL, el conjunt de problemes resolubles en espai de memòria logarítmic per Alternating Turing Machines. També se sap que P no és més gran que PSPACE, la classe de problemes decidibles en espai polinòmic. Altre cop, si P = PSPACE, és un problema obert.[6] Per resumir:

 

On EXPTIME és la classe de problemes resolubles en temps exponencial. De totes les relacions llistades a les línies prèvies, només dues se sap que son estrictes:

  • P està contingut estrictament dins de EXPTIME. Conseqüentment, tots els problemes EXPTIME-hard estan fora de P, i almenys una de les relacions cap a la dreta de P mostrades anteriorment és estricta (es pensa que totes ho son).
  • L està contingut estrictament dins de PSPACE.

Els problemes més difícils de P estan dins de la classe P-complet.

Una altra generalització de P és P/poly, o Polinòmic temps no uniforme. Si un problema és a P/poly, llavors es pot resoldre en un temps polinòmic determinista donada una cadena consellera que depèn de la longitud de l'entrada. A diferència de la classe NP, la màquina determinista no necessita detectar cadenes conselleres fraudulentes, ja que no és un verificador. P/poly és una classe més gran que conté la majoria de problemes pràctics, incloent-hi els de la classe BPP. Si conté NP, llavors la jerarquia polinòmica col·lapsa al segon nivell. També conté problemes impracticables, incloent alguns problemes indecidibles com la versió unària d'algun problema indecidible.

Vegeu també modifica

Referències modifica

  1. Michael., Sipser,. Introduction to the theory of computation. 3a edició. Boston, MA: Cengage Learning, 2013. ISBN 9781133187790. 
  2. Sanjeev., Arora,. Computational complexity : a modern approach. Cambridge: Cambridge University Press, 2009. ISBN 9780521424264. 
  3. Manindra Agrawal, Neeraj Kayal, Nitin Saxena, "PRIMES is in P", Annals of Mathematics 160 (2004), no. 2, pp. 781–793.
  4. 1953-, Immerman, Neil,. Descriptive complexity. Nova York: Springer, 1999. ISBN 0387986006. 
  5. Johnsonbaugh, Richard; Schaefer, Marcus, Algorithms, 2004 Pearson Education, page 458, ISBN 0-02-360692-4
  6. «Complexity Zoo:P - Complexity Zoo». Arxivat de l'original el 2018-01-19. [Consulta: 16 desembre 2018].