Komprimieren von Informationen zum Problem des Anhaltens von Oracle Turing-Maschinen


12

Das Stopp-Problem ist bekanntermaßen nicht berechenbar. Es ist jedoch möglich, Informationen über das Problem des Anhaltens exponentiell zu "komprimieren", so dass das Dekomprimieren berechenbar ist.

Genauer gesagt ist es möglich, aus einer Beschreibung von Turing-Maschinen und einem Bit-Hinweis die Antwort auf das Halteproblem für alle Turing-Maschinen zu berechnen , vorausgesetzt, Der Beratungsstatus ist vertrauenswürdig - wir lassen unseren Berater die Bits auswählen, um zu beschreiben, wie viele der Turing-Maschinen im Binärmodus anhalten, bis zum Anhalten warten und die Ausgabe, die der Rest nicht anhält.2n1n2n1

Dieses Argument ist eine einfache Variante des Beweises, dass Chaitins Konstante zur Lösung des Halteproblems verwendet werden kann. Was mich überrascht hat ist, dass es scharf ist. Es gibt keine berechenbare Zuordnung von einer Beschreibung von Turing-Maschinen und einem Bit-Hinweis zu Bits für die Unterbrechung der Ausgabe, die für jedes Tupel von Turing-Maschinen für ein Tupel von Bits die richtige Antwort liefert . Wenn dies der Fall wäre , könnten wir ein Gegenbeispiel durch Diagonalisieren erzeugen, wobei jede der Turing-Maschinen simuliert, was das Programm an einer der möglichen Anordnungen der Bits tut, und dann ihren eigenen Haltezustand auswählt, um die Vorhersage zu verletzen .2nn2n2n2nn

Es ist nicht möglich, Informationen über das Problem des Anhaltens von Turing-Maschinen mit einem anhaltenen Orakel zu komprimieren (ohne dass Sie Zugriff auf eine Art von Orakel haben). Die Maschinen können einfach simulieren, was Sie für alle möglichen Eingaben vorhergesagt haben, diejenigen ignorieren, bei denen Sie nicht anhalten, und ihre Haltezeiten auswählen, um die lexikografisch erste Antwort zu geben, die Sie für keine Eingabe vorhergesagt haben.

Dies hat mich motiviert darüber nachzudenken, was bei anderen Orakeln passiert:

Gibt es ein Beispiel für ein Orakel, bei dem das Halteproblem für Turing-Maschinen mit diesem Orakel mit einer mittleren Wachstumsrate zwischen linear und exponentiell komprimiert werden kann?

Genauer gesagt sei bei einem gegebenen Orakel das größte so dass es eine berechenbare Teilfunktion von Orakel-Turing-Maschinen und Bits zu Bits gibt, so dass es für jedes Tupel von Orakel-Turing-Maschinen gibt Ein Tupel von Bits, wobei der Wert der an diesem Eingang ausgewerteten Funktion dem Tupel von für jede angehaltene Oracle-Turing-Maschine und für jede für immer laufende Oracle-Turing-Maschine entspricht.f(n)mmnmmnm10

Gibt es ein Orakel, in dem ? Gibt es ein Orakel mit ?& ohgr; ( n ) = f ( n ) = o ( 2 n )n<f(n)<2n1ω(n)=f(n)=o(2n)

Antworten:


1

Sei der Ausgang der mit Orakel A ausgestatteten e- ten Turing-Maschine am Eingang e . Hier steht J für "Sprung". (Im Falle einer Nicht-Anhalten, J A ( e ) ist nicht definiert.)JA(e)eAeJJA(e)

Ein Orakel ist Sprung nachvollziehbar , wenn es eine berechenbare nicht abnehmende Funktion ist h : NN , so dass für alle E , J A ( e ) T e für einig computably zählbare Familie von endlichen Mengen ( T e ) e N mit | T e | h ( e ) für alle e .Ah:NNeJA(e)Te(Te)eN|Te|h(e)e

Betrachten wir die Zeichenfolge mit der Länge n , die angibt, welche der ersten k der Turing-Maschinennummern 0 , , n - 1 anzuhalten sind. (Wenn weniger als k halt, ist f A ( k , n ) undefiniert.)fA(k,n)=nk0,,n1kfA(k,n)

Man beachte, dass relativ zu A teilweise berechenbar ist . Somit gibt es eine berechenbare Funktion g, so dass f A ( k , n ) = J A ( g ( k , n ) ) .fAAgfA(k,n)=JA(g(k,n))

Um die erste zu komprimieren Bits des Haltesatz für A genügt es , zu sagen , welches von der h ( e ) viele Elemente der T e die richtige ist, wobei e = g ( k , n ) und k ist die richtige Nummer TMs zu stoppen.nAh(e)Tee=g(k,n)k

Es gibt eine richtige Hierarchie von Orakeln mit Sprungverfolgbarkeit (Nies, Berechenbarkeit und Zufälligkeit , Satz 8.5.2). Wenn wir also entsprechend klein wählen , erhalten wir einen Kandidaten für ein Orakel A, wie Sie es gewünscht haben.hA

Es ist ein einigermaßen guter Kandidat in dem Sinne, dass wir eine Richtung haben (die Obergrenze für die Wachstumsrate) und dass die Methode, mit der wir die Obergrenze erhalten haben, nachweislich keine viel kleinere Obergrenze ergibt.


Dies sieht aus wie eine Annäherung an ein etwas anderes Problem, das eher nach den ersten Turing-Maschinen als nach einer willkürlichen Menge von n Turing-Maschinen fragt . Dieses Problem scheint jedoch auch interessant zu sein. Ich stimme zu, dass es plausibel ist, dass für ein "generisches" Orakel mit Sprungverfolgung die Obergrenze, die Sie angeben, nahe beieinander liegen sollte. nn
Will Sawin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.