Limites d'exécution sur les algorithmes de problèmes complets de NP en supposant P ≠ NP


13

Supposons .P N PPNP

Que pouvons-nous dire sur les limites d'exécution de tous les problèmes NP-complete?

c'est-à-dire quelles sont les fonctions les plus étroites pour lesquelles nous pouvons garantir qu'un algorithme optimal pour tout problème NP-complet s'exécute dans un temps d'au moins et au plus sur une entrée de longueur ?L , U : NNL,U:NNω ( L ( n ) ) ω(L(n))o ( U ( n ) ) o(U(n))nn

De toute évidence, c : L ( n ) = Ω ( n c )c:L(n)=Ω(nc) . En outre, U ( n ) = O ( 2 n ω ( 1 ) )U(n)=O(2nω(1)) .

Sans supposer Q P N PQPNP , E T HETH , ou toute autre hypothèse qui n'est pas impliquée par P N PPNP , pouvons-nous donner de meilleures limites sur L , UL,U ?

ÉDITER:

Notez qu'au moins l'un des L , UL,U doit être loin des limites que j'ai données ici, car étant des problèmes NPC, ces problèmes ont une réduction de temps poly entre eux, ce qui signifie que si un problème NPC a un algorithme optimal de temps f ( n )f(n) , alors tous les problèmes ont un algorithme (optimal ou non) d'exécution O(f(nO(1)))O(f(nO(1))) .


si P NP, nous pouvons dire que les limites d'exécution sont plus grandes que tout polynôme .... afaik non, de meilleures limites ne sont pas connues .... beaucoup de notation ne signifie pas que ... il existe un superpolynôme-mais- fonctions sous-exponentielles, par exemple2logn2logn
vzn

Tout d'abord, est juste linéaire, donc je suppose que vous voulez dire qui est connu comme la classe . Je me rends pleinement compte que ne signifie pas qu'une fonction NP-complete fonctionnera à un temps exponentiel, mais ce n'est pas ce que je demande. Par exemple, en supposant , est-il possible qu'un problème NPC puisse être résolu dans , où est la fonction Ackermann inverse? Les notations ne sont qu'un outil utilisé pour exprimer formellement ma question.2 log n 2 p o l y l o g ( n ) Q P P N P P N P 2 l o g ( n ) l o g ( n ) l o g ( n )2logn2polylog(n)QPPNPPNP2log(n)log(n)log(n)
RB

merci pour la correction. très peu est connu dans ce domaine afaik. essayez cette question NTime (n ^ k) =? DTime (n ^ k) tcs.se
vzn

@RB S'il est vrai que dans chaque "monde possible" il y a des bornes inférieures et supérieures qui sont à peu près à l'intérieur d'un polynôme l'une de l'autre, il n'est pas clair quelles bornes a priori sont possibles.
Yuval Filmus

Réponses:


2

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.PNP

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 O1M,xMxjournal | x | lorsque l'accès aux oraclesO1,O2 estlimité aux entrées de longueur au plus222log|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,O2TIME(2O(log2n))O1,O2.2O(logn)TIME(2log2nC)O1,O2O1NPO1,O2TIME(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 PL1nnO2nO2LTIME(2o(log2n))O1,O2LNPO1,O2O 1 , O 2 =TIME(2 O ( log 2 n ) ) O 1 , O 2 .NPO1,O2=TIME(2O(log2n))O1,O2


Je dois admettre que je n'ai pas bien compris votre réponse, mais si, comme vous l'avez mentionné, un problème NP-complet Π n'est résolu que dans Ω ( 2 n c ) , alors tous les autres problèmes NPC ne sont également résolubles que dans Ω ( 2 n Ω ( 1 ) ) , car il y a une réduction du temps de poly à partir de Π , ce qui signifie que sinon vous auriez un meilleur algorithme pour Π . Cela implique par exemple Q P N P et E T H n'est-ce pas? Qu'est-ce que je rate?ΠΩ(2nc)Ω(2nΩ(1))ΠΠQPNPETH
RB

Eh bien, cela ne signifie pas E T H , mais il ne semble cela peut vouloir dire Q P N P . ETHQPNP
RB

Vous ne manquez de rien. Il y a un monde relativisé dans lequel l'ETH est vrai. Il existe un autre monde relativisé où P = NP, et donc en particulier ETH est faux.
Yuval Filmus

Mais pas dans tous les mondes relivivisés dans lesquels P N P , Q P N P est également vrai, non? Il y a une chance que P Q P = N P . D'après ce que j'ai compris de votre réponse, si P N P il existe un problème de PNJ dont la borne inférieure est exponentielle, et je me demande pourquoi c'est vrai. PNPQPNPPQP=NPPNP
RB

1
In my answer I (purportedly) give a relativized world in which NP=TIME(nO(logn)). Another relativized world has NP=TIME(2nO(1)). In yet other relativized worlds, P=NP. Regarding QP, I don't claim anything about it.
Yuval Filmus
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.