Definieren Sie ein "Problem" als Algorithmus , der eine natürliche Zahl akzeptiert und 0 oder 1 zurückgibt, was für mindestens ein . Jedes solche wird als "Lösung" für
Definieren Sie einen „universellen Problemlöser“ ein Algorithmus sein Annahme ein Problem und die Rückkehr eines seiner Lösungen. Zum Beispiel kann arbeiten, indem es alle natürlichen Zahlen durchläuft und ihre Eingabe für sie ausführt, bis Ergebnisse vorliegen (es muss nur bei einer gültigen Eingabe angehalten werden).
Ich möchte Leistungsgrenzen für universelle Problemlöser ausloten
Wenn ein universeller Problemlöser und ein Problem ist, bezeichne die Zeit, die , um eine Ausgabe zu erzeugen, nachdem die Eingabe akzeptiert wurde
Ein universeller Problemlöser wird "effizient" genannt, wenn wir für jeden universellen Problemlöser haben
Hier hängt von , aber nicht von
Gibt es effiziente universelle Problemlöser?
EDIT: Ich erkannte, dass es möglich ist, die Definitionen von "Problem" und "Universal Problem Solver" in etwas etwas Eleganteres und im Wesentlichen Äquivalentes zu ändern. Ein "Problem" ist ein Algorithmus ohne Eingabe, der 0 oder 1 zurückgibt (was anhält). Ein "universeller Problemlöser" ist ein Algorithmus, der ein Problem annimmt und dessen Ergebnis zurückgibt. Es ist mehr oder weniger eine universelle Turingmaschine
Alte Definition kann auf neue Definition reduziert werden, da wir , wenn ein Problem im alten Sinne ist, ein Problem im neuen Sinne konstruieren können, das nur den trivialen universellen Problemlöser des alten Sinns auf anwendet (den im obigen Text beschriebenen Löser) )
Neue Definition kann auf alte Definition reduziert werden, da gegeben im neuen Sinne ein Problem, können wir konstruieren ein Problem im alten Sinne , die gerade berechnet und vergleicht den Eingang zu dem Ergebnis ,
Das triviale Beispiel eines New-Sense-Universal-Problemlösers ist ein Algorithmus, der einfach seine Eingabe ausführt
Der universelle Algorithmus von Levin ist ein Algorithmus, bei dem . Durch Modifizieren des Algorithmus (siehe z. B. Hutters schnellster und kürzester Algorithmus für alle genau definierten Probleme ) können Sie s V zu einer universellen Konstante machen, wenngleich definitiv nicht 1, wie Sie es benötigen. Konsultieren Sie für verwandte Arbeiten die Arbeiten von Hirsch, Itsykson und ihren Schülern, zum Beispiel diesen technischen Bericht .t(U,A)<sVt(V,A)+tV sV 1
Bearbeiten: Wie Squark kommentiert, hängt die Laufzeit von Levins Algorithmus auch von der Laufzeit von , da es seine Antworten überprüfen muss. Um eine Konstante s V zu erhalten , müssen Sie lediglich die Geschwindigkeit der verschiedenen Algorithmen in geometrischer Folge einstellen (und nicht in arithmetischer Folge, wie im ursprünglichen Levin-Algorithmus).A sV
quelle