Problème de décision tel que tout algorithme admet un algorithme exponentiellement plus rapide

19

Dans Algorithmics for Hard Problems de Hromkovič (2e édition), il y a ce théorème (2.3.3.3, page 117):

Il existe un problème de décision (décidable) tel que pour chaque algorithme qui résout il existe un autre algorithme qui résout également et remplit en outreA P A PPAPAP
nN.TimeA(n)=log2TimeA(n)

TimeA(n) est le pire cas d'exécution de A sur des entrées de taille n et signifie "pour tous mais en nombre infini".

Aucune preuve n'est donnée et nous n'avons aucune idée de la façon de procéder; c'est assez contre-intuitif, en fait. Comment prouver le théorème?

Raphael
la source
1
Pour le titre, peut-être quelque chose comme: "Y a-t-il un problème de décision pour lequel tout algorithme de résolution peut être amélioré?" Cela étant dit, ce n'est qu'un coup dans le noir, mais ne pourrait-il pas être le cas que ce soit un cas dégénéré pour un problème de décision trivial? D'une manière ou d'une autre, si vous inversez l'égalité, cela signifie qu'il est toujours possible de résoudre un problème de la "pire" manière (en faisant des étapes inutiles). Mais ce n'est qu'une supposition.
Charles

Réponses:

12

Il semble que ce soit un cas simple du théorème d'accélération de Blum :

Étant donné une mesure de complexité Blum et une fonction calculable totale avec deux paramètres, alors il existe un prédicat calculable total (une fonction calculable à valeur booléenne) de sorte que pour chaque programme pour , il existe un programme pour sorte que pour presque toutf g i g j g x f ( x , Φ j ( x ) ) Φ i ( x )(φ,Φ)fgigjgx

f(x,Φj(x))Φi(x)

Soit simplement la mesure de complexité la mesure de complexité temporelle (ie est la complexité temporelle de la machine de Turing avec le code ) et soit .e f ( x , y ) = 2 yΦe(x)ef(x,y)=2y

Kaveh
la source
2
+1: Voici un lien vers l'article original: logic.cse.unt.edu/tarau/teaching/SoftEng/OLD/papersToDiscuss/… .
Aryabhata