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.
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 .
(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 .
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?
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 C ⊆ C , ¿hay alguna caracterización clara de esta C ?