Existe-t-il des algorithmes temporels sous-exponentiels pour les problèmes NP-complets?


51

Existe-t-il des problèmes NP-complets pour lesquels des algorithmes sous-exponentiels ont fait leurs preuves?

Je demande des informations générales sur les cas, je ne parle pas de cas particuliers traitables ici.

Par sub-exponentielle, j'entends un ordre de croissance supérieur aux polynômes, mais moins qu'exponentiel, par exemple .nlogn


10
Qu'entendez-vous par "sub-exponentielle"? Si vous voulez dire , la réponse est définitivement oui. Si vous voulez dire 2 n o ( 1 ) , je pense que la réponse est non. 2o(n)2no(1)
JeffE

Réponses:


57

Cela dépend de ce que vous entendez par subexponential. Ci-dessous, j'explique quelques significations de "sous-exponentiel" et de ce qui se passe dans chaque cas. Chacune de ces classes est contenue dans les classes ci-dessous.


I. 2no(1)

Si vous entendez par subexpoential , alors une conjecture en théorie de la complexité appeléehypothèse de temps exponentiel (ETH)supposequ'aucunproblèmeNP-hard ne peut avoir un algorithme avec le temps d'exécution2 n o ( 1 )2no(1)NP2no(1) .

Notez que cette classe est fermée sous composition avec polynômes. Si nous avons un algorithme temporel sous-exponentiel pour tout NP problème de, nous pouvons combiner avec une réduction du temps polynomiale de SAT à lui obtenir un algorithme sousexponentiel pour 3SAT qui irait à l' encontre des EPF.

II. ,savoir2 O ( n ε ) pourtout0<ε0<ε2O(nε)2O(nε) 0<ε

La situation est similaire à la précédente.

Il est fermé sous les polynômes de sorte qu'aucun problème hard ne peut être résolu à ce moment-là sans violer ETH.NP


III. ,savoir2 O ( n ε ) pourcertainε<1ε<12O(nε)2O(nε) ε<1

Si par sousexponentiel vous moyenne pour un certain ε < 1 alors la réponse est oui, il y a démontrable de tels problèmes.2O(nε)ε<1

Prendre un problème -complete comme SAT. Il a un algorithme de force brute qui court dans le temps 2 O ( n ) . Considérons maintenant la version complétée de SAT en ajoutant une chaîne de taille n k aux entrées:NP2O(n)nk

SUNET={φ,w|φSUNET et |w|=|φ|k}

Maintenant, ce problème est dur et peut être résolu dans le temps 2 O ( n 1NP.2O(n1k)

IV 2o(n)

Cela contient la classe précédente, la réponse est similaire.

V. 0<ε2εn , soit pour tout ε > 02εn ε>0

Cela contient la classe précédente, la réponse est similaire.

VI. ε<12εn , soit pour un certain ε < 12εn ε<1

Cela contient la classe précédente, la réponse est similaire.


Que signifie subexponential?

"Au-dessus de polynôme" n'est pas une limite supérieure, mais une limite inférieure et est appelé superpolynôme .

Des fonctions comme s'appellent quasipolynomialnlgn , et comme son nom l' indique sont presque polynomiale et loin d'être exponentielle, sousexponentiel est généralement utilisé pour désigner une classe beaucoup plus de fonctions avec des taux beaucoup plus rapide croissance.

Comme son nom l'indique, "subexponential" signifie plus lent que exponentiel . Par exponentielle, nous entendons généralement les fonctions de classe , ou de la classe plus agréable 2 n Θ ( 1 ) (fermée sous composition avec des polynômes).2Θ(n)2nΘ(1)

Le sous-exponentiel devrait être proche de ceux-ci mais plus petit. Il y a différentes façons de le faire et il n'y a pas de signification standard. Nous pouvons remplacer par o dans les deux définitions d’exponentielle et obtenir I et IV. La bonne chose à leur sujet est qu'ils sont uniformément définis (pas quantificateurs sur ε ). Nous pouvons remplacer Θ avec un coefficient multiplicatif ε pour tout ε > 0ΘoεΘεε>0 , nous obtenons II et V. Leur sont proches de I et IV , mais non uniforme définis. La dernière option est de remplacer avec une constante multiplicatif ε pour une ε < 1 . Cela donne II et VI.Θεε<1

Lequel devrait être appelé subexponential est discutable. Les gens utilisent généralement celui dont ils ont besoin dans leur travail et le qualifient de subexponentiel.

I est ma préférence personnelle, c’est une belle classe: elle est fermée sous composition avec des polynômes et elle est définie uniformément. Il est similaire à qui utilise 2 n O ( 1 ) .EXp2nO(1)

II semble être utilisé dans la définition de la classe de complexité .SvousbEXp

III est utilisé pour les limites supérieures algorithmiques, comme celles mentionnées dans la réponse de Pal.

IV est également commun.

V est utilisé pour énoncer la conjecture ETH.

LPNPPSpuneceEXp

Estival

NP problèmes durs au sens de III et nous ne pouvons les avoir au sens de I sans violer ETH.


7
Cette réponse devrait aller sur Wikipedia.
Erel Segal-Halevi Le

32

2O(nbûchen)nO(1)2O(n)nO(1) :


1
2O(nε)ε<12no(1)
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.