Entscheidungsproblem derart, dass jeder Algorithmus einen exponentiell schnelleren Algorithmus zulässt

19

In Hromkovičs Algorithmics for Hard Problems (2. Auflage) gibt es diesen Satz (2.3.3.3, Seite 117):

Es gibt ein (entscheidbares) Entscheidungsproblem so dass es für jeden Algorithmus , der löst, einen anderen Algorithmus , der auch löst und zusätzlich erfülltAPAA ' PPAP
nN.TimeA(n)=log2TimeA(n)

TimeA(n) ist die Worst-Case-Laufzeit von für Eingaben der Größe und bedeutet "für alle, aber nur für endlich viele".n An

Ein Beweis wird nicht erbracht, und wir haben keine Ahnung, wie wir das anstellen sollen. es ist eigentlich ziemlich kontraintuitiv. Wie kann der Satz bewiesen werden?

Raphael
quelle
1
Für den Titel vielleicht so etwas wie: "Gibt es ein Entscheidungsproblem, für das ein Lösungsalgorithmus verbessert werden kann?" Das heißt, es ist nur ein Schuss in die Dunkelheit, aber könnte es nicht der Fall sein, dass es ein entarteter Fall für ein triviales Entscheidungsproblem ist? Irgendwie bedeutet es, wenn Sie die Gleichstellung umkehren, dass es immer möglich ist, ein Problem auf eine "schlimmste" Weise zu lösen (indem Sie unnötige Schritte ausführen). Aber das ist nur eine Vermutung.
Charles

Antworten:

12

Es scheint ein einfacher Fall von Blums Speedup-Theorem zu sein :

Eine Blum Komplexität Maßnahme gegeben und eine Gesamt berechenbare Funktion f mit zwei Parametern, dann gibt es insgesamt berechenbares Prädikat g (a Boolean berechenbare Funktion geschätzt) , so dass für jedes Programm i für g , ein Programm existiert j für g so dass für fast alle x f ( x , Φ j ( x ) ) Φ i ( x )(φ,Φ)fgigjgx

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

Sei das Komplexitätsmaß das Zeitkomplexitätsmaß (dh ist die Zeitkomplexität der Turingmaschine mit dem Code e ) und sei f ( x , y ) = 2 y .Φe(x)ef(x,y)=2y

Kaveh
quelle
2
+1: Hier ist ein Link zum Originalartikel: logic.cse.unt.edu/tarau/teaching/SoftEng/OLD/papersToDiscuss/… .
Aryabhata