Mi interpretación de la pregunta es que se trata de las posibilidades en mundos relativizados . Supongamos que en algún mundo relativizado, . ¿Podemos deducir algo no trivial sobre la complejidad temporal de los problemas de NP completo? El argumento de Baker-Gill-Solovay muestra que podemos "forzar" algún problema de NP para que requiera tiempo exponencial, por lo que el límite superior dado en la pregunta es esencialmente óptimo.P≠NP
Con respecto al límite inferior, esbozamos a continuación una prueba de que, en relación con algún oráculo, . Suponiendo que la prueba esbozada es correcta, también podemos aplicarla a funciones más pequeñas que 2 O ( log 2 n ) , y esto muestra que el límite inferior dado en la pregunta también es esencialmente apretado.NP=TIME(2O(log2n))2O(log2n)
Bosquejo de prueba. Construimos dos oráculos : el primero se comporta como un problema completo de T I M E ( 2 O ( log 2 n ) ) , y el segundo implementa la diagonalización de Baker-Gill-Solovay. Es sencillo empacar ambos oráculos en un solo oráculo.O1,O2TIME(2O(log2n))
El oráculo consta de todos los pares ⟨ M , x ⟩ tal que M es una máquina oráculo de Turing que acepta x en tiempo de ejecución 2 2 √O1⟨M,x⟩Mxcuando se le da acceso a los oráculosO1,O2restringido a entradas de longitud como máximo2√22log|x|√O1,O2. (Esta no es una definición circular).2log|x|√
El oráculo se define de la misma manera que el oráculo se define en Baker – Gill – Solovay: para cada máquina de Turing del oráculo con reloj M que se ejecuta en el tiempo T = 2 o ( log 2 n ) , encontramos alguna longitud de entrada n que es "intacto", ejecute M en 1 n para T pasos, y para cada consulta a O 2 de tamaño n , marcamos que esta entrada no está en O 2 (para otras consultas también marcamos que la entrada no está allí, a menos que ya había decidido que está en OO2MT=2o(log2n)nM1nTO2nO2 ) Las consultas a O 1 se manejan de manera similar (como consultas implícitas a O 1 , O 2 de menor tamaño, manejadas recursivamente); observe que tales consultas nunca mencionan cadenas de longitud n en O 2 , ya que 2 √O2O1O1,O2nO2. Si la máquina acepta, marcamos todas las demás cadenas de longitudnenO2como faltantes; de lo contrario, elegimos alguna cadena de longitudny lacolocamosenO2.2logT√<nnO2nO2
La clase consta de todos los programas que se ejecutan en el tiempo 2 2 O ( √PO1,O2, haciendo consultas aO1,O2de tamaño2O(√22O(logn√)O1,O2. La claseNPO1,O2tiene la formax↦∃| y| <nCφ(x,y), dondeφ∈PO1,O2, y por lo tanto está contenido en la clase de todos los programas que se ejecutan en el tiempo2nCy que realizan consultas oráculo de tamaño
2O( √2O(logn√)NPO1,O2x↦∃|y|<nCφ(x,y)φ∈PO1,O22nC. Este último está contenido enTIME(2log2nC)O1,O2, ya que podemos usarO1para decidirlo. Esto muestra queNPO1,O2⊆TIME(2O(log2n))O1,O2.2O(logn√)TIME(2log2nC)O1,O2O1NPO1,O2⊆TIME(2O(log2n))O1,O2
Para la otra dirección, dejemos que sea el lenguaje que consiste en 1 n para cada n, de modo que O 2 contenga alguna cadena de longitud n . Por construcción de O 2 , L ∉ T I M E ( 2 o ( log 2 n ) ) O 1 , O 2 , mientras que claramente L ∈ N P O 1 , O 2 . Esto muestra que N PL1nnO2nO2L∉TIME(2o(log2n))O1,O2L∈NPO1,O2 .NPO1,O2=TIME(2O(log2n))O1,O2