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 P , la complexité temporelle t L ( n ) de L satisfait
où est un polynôme fixe qui dépend du modèle de calcul précis
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 satisfait
où 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 P
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 |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 satisfait
où est polynomial, f est sous-exponentiel et g est arbitraire
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 ?