Solveurs NP optimaux

12

Fixer un problème de recherche NP-complet, par exemple le formulaire de recherche de SAT. La recherche de Levin fournit un algorithme L pour résoudre X qui est optimal dans un certain sens. Plus précisément, l'algorithme est "Exécute tous les programmes P possibles en queue d'aronde sur l'entrée x , une fois que certains P retournent la réponse y teste si c'est correct". Il est optimal dans le sens où, étant donné un programme P qui résout X avec une complexité temporelle t PX{0,1}×{0,1}LXPxPyPX , la complexité temporelle t L ( n ) de L satisfaittP(n)tL(n)L

tL(n)<2|P|p(tP(n))

est un polynôme fixe qui dépend du modèle de calcul précisp

L'optimalité de L peut être formulée d'une manière un peu plus forte. A savoir, pour chaque M { 0 , 1 } et Q un programme résolvant X avec la promesse M dans le temps t M Q ( n ) , la complexité temporelle t M L ( n ) de L restreinte aux entrées dans M satisfaitLM{0,1}QXMtQM(n)tLM(n)LM

tLM(n)<2|Q|q(n,tQM(n))

est un polynôme fixe. La différence cruciale est que t M Q ( n ) peut être par exemple polynomial même si P N PqtQM(n)PNP

La "faiblesse" évidente de est le grand facteur 2 | Q | dans cette limite. Il est facile de voir que s'il existe un algorithme satisfaisant une borne de la même forme avec 2 | Q | remplacé par un polynôme en | Q | alors P = N P . C'est parce que nous pouvons considérer Q comme un programme résolvant une instance donnée de X en codant en dur la réponse. De même, si 2 | Q | peut être remplacé par une fonction sous-exponentielle de | Q |L2|Q|2|Q||Q|P=NPQX2|Q||Q|alors l'hypothèse exponentielle du temps est violée. Cependant, la réponse à la question suivante est moins évidente (pour moi):

En supposant l'hypothèse de temps exponentielle et d'autres conjectures bien connues (par exemple non-dégénérescence de la hiérarchie polynomiale, existence de fonctions à sens unique) si nécessaire, existe-t-il un algorithme résolvant X st pour chaque M { 0 , 1 } et Q un programme résolvant X avec la promesse M dans le temps t M Q ( n ) , la complexité temporelle t M A ( n ) de A restreinte aux entrées dans M satisfaitAXM{0,1}QXMtQM(n)tAM(n)AM

tAM(n)<f(|Q|)q(n,tQM(n))+g(|Q|)

est polynomial, f est sous-exponentiel et g est arbitraireqfg

Si la réponse est positive, peut-il être polynomial? Quel est le taux de croissance de g (clairement au moins exponentiel sous ETH)? Si la réponse est négative, le polynôme f peut-il exister si ETH est faux mais P N P ?fgfPNP

Vanessa
la source

Réponses:

12

Considérez l'algorithme suivant (une variante de l'algorithme de Levin):

Exécutez les premiers algorithmes en parallèle. De plus, exécutez en parallèle un algorithme de force brute qui essaie toutes les solutions possibles une par une. (Exécutez tous les algorithmes à la même vitesse.)n

Arrêtez-vous lorsque l'un des algorithmes trouve une solution.

Considérons deux cas (étant donné une entrée de longueur n ):xn

  • est l'un des n premiersalgorithmes. Le temps de fonctionnement est alors O ( n t M Q ( n ) ) p o l y ( n ) .QnO(ntQM(n))poly(n)

  • n'est pas l'un des n premiersalgorithmes (donc n < 2 | Q | ). Ensuite, le temps d'exécution est limité par le temps d'exécution de l'algorithme de force brute. Nous avons que le temps de fonctionnement est 2 n O ( 1 ) = 2 2 O ( | Q | ) .Qnn<2|Q|2nO(1)=22O(|Q|)

On a

tAM(n)poly(n)tQM(n)+22O(|Q|).

(Ici, est polynomial et g ( n ) est double exponentielle dans n ; nous pouvons améliorer la dépendance de g ( n ) sur n en aggravant la dépendance de f ( n ) sur n .)f(n)g(n)ng(n)nf(n)n

Yury
la source
2|Q|tQM(2|Q|)