Mon interprétation de la question est que l'on pose des questions sur les possibilités dans les mondes relativisés . Supposons que dans un monde relativisée, P ≠ N P . Pouvons-nous déduire quelque chose de non trivial sur la complexité temporelle des problèmes NP-complets? L' argument Baker – Gill – Solovay montre que nous pouvons «forcer» un problème NP à nécessiter un temps exponentiel, de sorte que la borne supérieure donnée dans la question est essentiellement optimale.P≠NP
Concernant la borne inférieure, nous esquissons ci-dessous une preuve que relativement à un oracle, N P = T I M E ( 2 O ( log 2 n ) ) . En supposant que la preuve esquissée est correcte, nous pouvons également l'appliquer à des fonctions inférieures à 2 O ( log 2 n ) , ce qui montre que la borne inférieure donnée dans la question est également essentiellement serrée.NP=TIME(2O(log2n))2O(log2n)
Croquis de preuve. Nous construisons deux oracles O 1 , O 2 : le premier se comporte comme un problème T I M E ( 2 O ( log 2 n ) ) , et le second implémente la diagonalisation Baker – Gill – Solovay. Il est simple de regrouper les deux oracles dans un seul oracle.O1,O2TIME(2O(log2n))
L'oracle O 1 est constitué de toutes les paires de M , x ⟩ de telle sorte que M est une machine de Turing oracle qui accepte x en temps de fonctionnement 2 2 √O1⟨M,x⟩Mxjournal | x | lorsque l'accès aux oraclesO1,O2 estlimité aux entrées de longueur au plus2√22log|x|√O1,O2journal | x | . (Ce n'est pas une définition circulaire.)2log|x|√
L'oracle O 2 est défini de la même manière que l'oracle est défini dans Baker – Gill – Solovay: pour chaque oracle horloger machine de Turing M fonctionnant dans le temps T = 2 o ( log 2 n ) , nous trouvons une longueur d'entrée n qui est "intact", exécutez M sur 1 n pour les étapes T , et pour chaque requête à O 2 de taille n , nous marquons que cette entrée n'est pas dans O 2 (pour d'autres requêtes, nous marquons également que l'entrée n'est pas là, sauf si nous avait déjà décidé qu'il est en OO2MT=2o(log2n)nM1nTO2nO22 ). Les requêtes à O 1 sont traitées de la même manière (comme les requêtes implicites à O 1 , O 2 de plus petite taille, gérées de manière récursive); notez que de telles requêtes ne mentionnent jamais de chaînes de longueur n dans O 2 , puisque 2 √O2O1O1,O2nO2log T <n. Si la machine accepte, nous marquons toutes les autres chaînes de longueurndansO2comme manquantes, sinon nous choisissons une chaîne de longueurnet la mettons dansO2.2logT√<nnO2nO2
La classe P O 1 , O 2 comprend tous les programmes exécutés dans le temps 2 2 O ( √PO1,O2log n ), faisant des requêtes àO1,O2de taille2O(√22O(logn√)O1,O2log n ). La classeNPO1,O2est de la formex↦∃| y| <nCφ(x,y), oùφ∈PO1,O2, et donc il est contenu dans la classe de tous les programmes fonctionnant dans le temps2nCet faisant des requêtes oracle de taille
2O( √2O(logn√)NPO1,O2x↦∃|y|<nCφ(x,y)φ∈PO1,O22nClog n ). Ce dernier est contenu dansTIME(2log2nC)O1,O2, puisque nous pouvons utiliserO1pour le décider. Cela montre queNPO1,O2⊆TIME(2O(log2n))O1,O2.2O(logn√)TIME(2log2nC)O1,O2O1NPO1,O2⊆TIME(2O(log2n))O1,O2
Pour l'autre sens, soit L le langage qui consiste en 1 n pour chaque n tel que O 2 contienne une chaîne de longueur n . Par construction de O 2 , L ∉ T I M E ( 2 o ( log 2 n ) ) O 1 , O 2 , alors que clairement L ∈ N P O 1 , O 2 . Cela montre que N PL1nnO2nO2L∉TIME(2o(log2n))O1,O2L∈NPO1,O2O 1 , O 2 =TIME(2 O ( log 2 n ) ) O 1 , O 2 .NPO1,O2=TIME(2O(log2n))O1,O2