La mia interpretazione della domanda è che si chiede delle possibilità nei mondi relativizzati . Supponiamo che in qualche mondo relativizzato, P ≠ N P . Possiamo dedurre qualcosa di non banale sulla complessità temporale dei problemi NP-completi? L' argomento Baker – Gill – Solovay mostra che possiamo "forzare" alcuni problemi NP a richiedere tempo esponenziale, quindi il limite superiore indicato nella domanda è essenzialmente ottimale.P≠NP
Per quanto riguarda il limite inferiore, tracciamo di seguito una dimostrazione relativa ad un oracolo, N P = T I M E ( 2 O ( log 2 n ) ) . Supponendo che la bozza di prova sia corretta, possiamo anche applicarla a funzioni inferiori a 2 O ( log 2 n ) , e questo dimostra che anche il limite inferiore indicato nella domanda è essenzialmente stretto.NP=TIME(2O(log2n))2O(log2n)
Schizzo di prova. Costruiamo due oracoli O 1 , O 2 : il primo si comporta come un problema completo T I M E ( 2 O ( log 2 n ) ) , e il secondo implementa la diagonalizzazione Baker – Gill – Solovay. È semplice racchiudere entrambi gli oracoli in un unico oracolo.O1,O2TIME(2O(log2n))
L'oracolo O 1 consiste di tutte le coppie ⟨ M , x ⟩ tale che M è una macchina oracolo Turing che accetta x in tempo di esecuzione 2 2 √O1⟨M,x⟩Mxlog | x | quando viene dato accesso agli oracoliO1,O2limitato a ingressi di lunghezza al massimo2√22log|x|√O1,O2log | x | . (Questa non è una definizione circolare.)2log|x|√
L'oracolo O 2 è definito nello stesso modo in cui l'oracolo è definito in Baker – Gill – Solovay: per ogni oracolo con orologio la macchina di Turing M che corre nel tempo T = 2 o ( log 2 n ) , troviamo una lunghezza di input n che è "intoccato", esegui M su 1 n per passi T , e per ogni query su O 2 di dimensione n , contrassegniamo che questo input non è in O 2 (per altre query segnaliamo anche che l'input non è presente, a meno che non aveva già deciso che è in OO2MT=2o(log2n)nM1nTO2nO22 ). Le query su O 1 vengono gestite in modo simile (come query implicite su O 1 , O 2 di dimensioni inferiori, gestite in modo ricorsivo); si noti che tali query non menzionano mai stringhe di lunghezza n in O 2 , poiché 2 √O2O1O1,O2nO2log T <n. Se la macchina accetta, contrassegniamocome mancantitutte le altre stringhe di lunghezzaninO2, altrimenti selezioniamo una stringa di lunghezzane lainseriamoinO2.2logT√<nnO2nO2
The class PO1,O2PO1,O2 consists of all programs running in time 22O(√logn)22O(logn√), making queries to O1,O2O1,O2 of size 2O(√logn)2O(logn√). The class NPO1,O2NPO1,O2 is of the form x↦∃|y|<nCφ(x,y)x↦∃|y|<nCφ(x,y), where φ∈PO1,O2φ∈PO1,O2, and so it is contained in the class of all programs running in time 2nC2nC and making oracle queries of size
2O(√logn)2O(logn√). The latter is contained in TIME(2log2nC)O1,O2TIME(2log2nC)O1,O2, since we can use O1O1 to decide it. This shows that NPO1,O2⊆TIME(2O(log2n))O1,O2NPO1,O2⊆TIME(2O(log2n))O1,O2.
For the other direction, let LL be the language which consists of 1n1n for each nn such that O2O2 contains some string of length nn. By construction of O2O2, L∉TIME(2o(log2n))O1,O2L∉TIME(2o(log2n))O1,O2, while clearly L∈NPO1,O2L∈NPO1,O2. This shows that NPO1,O2=TIME(2O(log2n))O1,O2NPO1,O2=TIME(2O(log2n))O1,O2.