Clases de complejidad donde

21

Una posible motivación para estudiar las clases de complejidad computacional es comprender el poder de los diferentes tipos de recursos computacionales (aleatoriedad, no determinismo, efectos cuánticos, etc.). Si lo miramos desde esta perspectiva, parece que podemos obtener un axioma plausible para cualquier intento de caracterizar qué cálculos son factibles en algún modelo:

  • Cualquier cálculo factible siempre puede invocar otro cálculo factible como una subrutina. En otras palabras, suponga que los programas se consideran factibles de ejecutar. Luego, si construimos un nuevo programa conectando P y Q , de modo que P realice llamadas de subrutina a Q , entonces este nuevo programa también es factible.P,QPQPQ

Traducido al lenguaje de las clases de complejidad, este axioma equivale al siguiente requisito:

  • Si es una clase de complejidad intención de captura que los cálculos son factibles en algún modelo, entonces debemos tener C C = C .CCC=C

(Aquí representa los cómputos en C que pueden invocar un oráculo de C ;. Que es una clase de complejidad oráculo) Por lo tanto, vamos a llamar a una clase de complejidad C plausibles si satisface C C = C .CCCCC CC=C

Mi pregunta: ¿Qué clases de complejidad conocemos que sean plausibles (según esta definición de plausible)?

Por ejemplo, es plausible, ya que P P = P . ¿Tenemos B P P B P P = B P P ? ¿Qué pasa con B Q P B Q P = B Q P ? ¿Cuáles son algunas otras clases de complejidad que cumplen con este criterio?PPP=PBPPBPP=BPPBQPBQP=BQP

Sospecho que (o al menos, esa sería nuestra mejor suposición, incluso si no podemos demostrarlo). ¿Existe una clase de complejidad que capture el cálculo no determinista y que sea plausible, según esta definición? Si dejamos que C denote la clase de complejidad más pequeña tal que N P C y C CC , ¿hay alguna caracterización clara de esta C ?NPNPNPCNPCCCCC

DW
fuente
1
Vea esto , esto y esto en Informática teórica : debe tener cuidado.
András Salamon
OK, @ AndrásSalamon, ¡gracias por la advertencia y las referencias! ¿Me pueden ayudar a identificar cómo formular mi problema con la precaución adecuada? ¿Tienes alguna sugerencia? O, si la respuesta depende de la formulación, ¿puede explicar qué respuesta obtendríamos con diferentes formulaciones?
DW
Constante ^ Constante = Constante.
Joshua

Respuestas:

11

Aquí hay algunas respuestas a algunas de las preguntas, pero ciertamente no todas:

Aparentemente, de acuerdo con Wikipedia , tenemos , B P P B P P = B P P , P S P A C E P S P A C E = P S P A C E , L L = L , y P P = P . Ver también Qué es la clase de complejidad PPP=PBPPBPP=BPPPSPACEPSPACE=PSPACELL=LPP=PPP , que observa que.PP=P

Además, si , entonces C se cierra bajo el complemento. Por lo tanto, es poco probable que N P N P = N P : esto implicaría que N P = co- N P , lo que parece poco probable. Parece que la clase de complejidad plausible más pequeña que contiene N P es P H (ver Wikipedia ).CC=CCNPNP=NPNP=co-NPNPPH

No sé cuál es la situación con . No sé si hay otros ejemplos interesantes de clases de complejidad plausible.BQP

DW
fuente
44
Si entonces la jerarquía polinomio colapsa en el nivel 1, es decir, Σ P 2 = N P . En general, este no es el caso (pero este es un problema abierto). Si N P C y C CC , entonces N P N PC y por inducción C contiene la jerarquía polinómica. NPNP=NPΣ2P=NPNPCCCCNPNPCC
András Salamon
6

Una clase de complejidad se llama auto-baja precisamente cuando C C = C . En general, la "bajeza" se estudió mucho en los años 80 y 90: Google descubrirá mucho para usted.CCC=C

Ryan Williams
fuente
2
¿Puedes dar algunos ejemplos?
Ryan
Hay ejemplos entre las otras respuestas anteriores: P, BPP, etc.
Ryan Williams
1
Bien, pero ¿has podido encontrar alguno que no se haya mencionado antes?
Ryan
4

Este comentario enumera L (espacio de registro), NC (profundidad de polylog), P, BPP, BQP y PSPACE como ejemplos de clases de baja complejidad propia.

tparker
fuente