Kann eine Turing-Maschine (TM) entscheiden, ob das Stoppproblem für alle TMs gilt?

9

Auf dieser Site gibt es viele Varianten der Frage, ob TMs das Stoppproblem entscheiden können, ob für alle anderen TMs oder bestimmte Teilmengen. Diese Frage ist etwas anders.

Es wird gefragt, ob die Tatsache, dass das Stoppproblem für alle TMs gilt, von einem TM entschieden werden kann. Ich glaube, die Antwort ist nein und möchte meine Argumentation überprüfen.

  1. Definieren Sie die Meta-Stopping-Sprache als die Sprache, die aus TMs besteht, die entscheiden, ob ein TM anhält.LMH

LMH={M:M,wM(M,w) accepts if M(w) halts, rejects otherwise}
  1. LMH= aufgrund des Stoppproblems.

Die lautet also genauer: Ist es entscheidbar, ob ?LMH=

  1. Nach dem Satz von Rice ist es unentscheidbar, ob eine neue Sprache leer ist.
    In beiden Fällen ist es unentscheidbar, ob ist , wenn re ist oder nicht . L M H = LMHLMH=

  2. Daher ist es unentscheidbar, ob .LMH=

Dies beweist, dass ein TM nicht entscheiden kann, ob das Stoppproblem für alle TMs gilt.

Ist mein Verständnis richtig?

UPDATE: Ich versuche zu zeigen, dass ein TM das Stoppproblem nicht "beweisen" kann, wenn eine Definition von "beweisen" intuitiv korrekt erscheint. Unten sehen Sie, warum ich das für richtig halte.

Wir können ein TM erstellen , das auf folgende Weise erzeugt. Das TM nimmt ein Tupel . Es simuliert für Iterationen. Wenn alle Paare akzeptiert , die anhalten, und alle anderen ablehnt, akzeptiert . Andernfalls wird , wenn falsch entscheidet oder nicht anhält. L M H ( M i , M j , w k , s t e p s ) M i ( M j , w k ) s t e p s M i ( M j , w k ) M M H M i M i M iMMHLMH(Mi,Mj,wk,steps)Mi(Mj,wk)stepsMi(Mj,wk)MMHMiMiMi

M i M i M M H M i M iMMH stoppt nicht, da es für jedes eine unendliche Anzahl von Paaren auswerten muss . Außerdem können alle nicht angehalten werden. kann kein akzeptieren oder ablehnen, da es aus der Simulation nicht weiß, dass alle nicht anhalten können. Somit ist die Sprache, die es definiert, nicht neu und nicht entscheidbar.MiMiMMHMiMi

M M H M i M M H M i M M H M M HMMH fängt meine Intuition darüber ein, was es meiner Meinung nach für ein TM bedeutet, das Halteproblem zu beweisen. Andere Vorschläge, wie , alle abzulehnen oder einen bekannten Beweis geben Vorwissen, dass das Stoppproblem für alle . Dies kann nicht als etwas beweist, da die Prämisse von die Schlussfolgerung ist, die es beweist, und daher zirkulär ist.MMHMiMMHMiMMHMMH

yters
quelle
3
Ihr Fix hilft nicht. Ein Problem ohne Parameter kann immer entschieden werden, entweder durch eine Turing-Maschine, die immer JA ausgibt, oder durch eine Maschine, die immer NEIN ausgibt. Ihre Argumentation funktioniert leider nicht. Das wahre Analogon von Gödels Theorem ist Rices Theorem.
Yuval Filmus
5
"Es wird gefragt, ob die Tatsache, dass das Stoppproblem für alle TMs gilt, von einem TM entschieden werden kann." - Diese Abfrage ist nicht sinnvoll, da das Problem des Anhaltens nicht auf eine Reihe von TMs "zutrifft". Zumindest weiß ich nicht, was das bedeuten soll.
Raphael
4
Sie haben den Satz von Rice falsch verstanden. Der Satz von Rice besagt (in einem speziellen Fall), dass die Sprache unentscheidbar ist. Es heißt nicht, dass unentscheidbar ist; in der Tat ist entscheidbar. {M:L(M)=}
Yuval Filmus
7
Ich denke, das Missverständnis liegt darin, was der Ausdruck "X entscheiden" bedeutet. Formal sollte X ein Prädikat für Zeichenfolgen sein, und dann entscheidet eine Maschine, die X entscheidet, bei Eingabe s den Wahrheitswert von X ( s ). Was ist das Prädikat in Ihrem Fall? Was ist ihre Eingabe und wann ist es wahr?
Yuval Filmus
5
Die Frage ist ein Kategoriefehler. Die Entscheidbarkeit ist eine Eigenschaft von Sprachen (Zeichenketten), keine mathematischen Sätze. Jede Frage der Form "Ist entscheidbar?" wo X kein Satz von Strings ist, macht einfach keinen Sinn. XX
David Richerby

Antworten:

5

Ein anderer Gesichtspunkt: Sei eine Formalisierung der Aussage " L M H = " in ZFC ; (trivial) haben wir:φLMH=

  • die Menge ist entscheidbar;P={xx is a valid proof of φ in ZFC}

  • Mφ¬φM

  • {MM decides P}

Vor
quelle
19

Die Sprache der Turing-Maschinen, die über das Stoppproblem entscheiden, ist entscheidend. Eine Turingmaschine, die entscheidet, gibt einfach immer NEIN aus.

TL(T)=

Yuval Filmus
quelle
7
Die leere Sprache ist entscheidbar. Komm damit klar.
Yuval Filmus
15
Die Sprache der Turing-Maschinen, die über das Stoppproblem entscheiden, ist leer. Die leere Sprache ist entscheidbar. Daher ist die Sprache der Turing-Maschinen, die über das Stoppproblem entscheiden, entscheidend.
Yuval Filmus
1
Die Frage ist, ob ein TM die Sprache der Turing-Maschinen bestimmen kann, die entscheiden, dass das Stoppproblem leer ist. Ein TM kann dies nicht tun, wie ich oben gezeigt habe.
Yters
1
@yters Fragen Sie, ob ein TM beweisen kann , dass diese Sprache leer ist? Dies ist einfach möglich, indem einfach ein vorhandener bekannter Beweis ausgegeben wird.
user253751
3
Was bedeutet es für ein TM überhaupt , etwas zu beweisen ?
Yuval Filmus
2

Sie verstehen den Satz von Rice falsch.

Der Satz von Rice besagt in diesem Zusammenhang, dass Sie das Problem "Entscheidet T die leere Sprache?" Nicht entscheiden können.

Bei Ihrem Problem geht es nicht darum, zu entscheiden, ob eine beliebige Turing-Maschine die leere Sprache entscheidet. Ihr Problem ist, ob es ein M gibt oder nicht, das über die leere Sprache entscheidet.

Und solche M existieren. Sie können es sogar noch besser machen: Sie können tatsächlich ein solches M konstruieren und einen Beweis dafür liefern, dass es die leere Sprache entscheidet.

Das allgemeine Problem, dass es nicht entscheidbar ist, bedeutet nicht, dass Sie bestimmte Instanzen nicht lösen können. Tatsächlich gibt es mit der üblichen Methode, alle Beweise aufzulisten, eine Turingmaschine, die:

  • Akzeptiert jede Turingmaschine, für die ein Beweis vorliegt, dass sie die leere Sprache entscheidet
  • Lehnt jede Turingmaschine ab, für die ein Beweis vorliegt, dass sie die leere Sprache nicht entscheidet
  • Hört nicht auf, wenn es nicht so oder so bewiesen werden kann.

quelle
1

Die Definition über Entscheidbarkeit aus Wikipedia :

Eine rekursive Sprache ist eine formale Sprache, für die es eine Turing-Maschine gibt, die, wenn sie mit einer endlichen Eingabezeichenfolge dargestellt wird , anhält und akzeptiert, wenn die Zeichenfolge in der Sprache vorliegt, und ansonsten anhält und ablehnt. Die Turing-Maschine hält immer an: Sie wird als Entscheider bezeichnet und soll die rekursive Sprache bestimmen.

Mit anderen Worten, es ist entscheidbar, ob es eine Turing-Maschine gibt, die alle Eingabezeichenfolgen entscheidet. Es ist unentscheidbar, ob für jede Turing-Maschine nicht alle Eingabezeichenfolgen festgelegt werden, was bedeutet, dass keine oder einige Zeichenfolgen festgelegt werden können, aber es gibt mindestens eine (aber praktisch mindestens unendlich viele), über die sie nicht entscheiden kann.

LL=LMH=

user23013
quelle