Bedeutung des Halteproblems

7

Das Halteproblem ist definiert als:

HTM={M,wM halts on input w}

Ich bin mir nicht sicher, was es bedeutet. Ist eine Sammlung von Turingmaschinen, so dass alle das Wort akzeptieren / ablehnen ? Ist das ein bestimmtes Wort? Oder bedeutet das ein Wort in ihrem Alphabet?HTMw

Vielen Dank

user6836
quelle
1
Nehmen Sie der Einfachheit halber an, Sie sind Programmierer und haben ein Programm mit while-Schleife geschrieben, aber Sie vergessen, eine korrekte Beendigung für Ihre Schleife zu schreiben. Können Sie ein allgemeines Programm schreiben, das für alle möglichen Eingaben (Programme) funktioniert und sagt, dass sie beendet werden oder nicht ? Zum Beispiel sind diese unendlich: while (true); während (i <i + 1); while (n <k) {k ++;}, ...., könnten Sie ein Programm schreiben, um zu überprüfen, ob alle möglichen Programme mit allen möglichen Eingaben beendet werden? und im Sinne der Turingmaschine bedeutet alle möglichen Wörter für alle.
Es ist eine sehr einfache und coole Animation, die das Turing-Halting-Problem in der Praxis der Softwareentwicklung beschreibt: Das Halting-Problem - Teil 1 Das Halting-Problem - Teil 2 Es gibt auch eine andere Vorlesung, die nützlich sein könnte: Vorlesung 13 - Das Halting-Problem
Reza

Antworten:

5

Die Menge (oder Sprache, wenn Sie so wollen) ist eine Menge von Paaren wobei eine beliebige Zeichenfolge Ihres Alphabets ist und eine Turing-Maschine ist und mit als Eingabe anhält .HTM (M,w)wMMw

Dies bedeutet, dass ein Paar genau dann in der Menge ist, wenn .P=(M,w)HTMM(w)

Die Entscheidung für diesen Satz ist jedoch nicht möglich. Es gibt keine Turing-Maschine, die diese Sprache akzeptiert, und nichts weiter. Dies ist eine Version des Halteproblems (daher das ).H

Pål GD
quelle
5

Wir wählen zuerst ein Alphabet mit Symbolen, die unsere Turing-Maschinen auf den Bändern lesen und schreiben können. Normalerweise haben wir drei Symbole: , und "leer". Ein Wort ist eine endliche Folge von Symbolen.01

Wenn und Wörter sind, können wir ein neues Wort das die beiden zusammengesetzten Wörter darstellt (dies erfordert eine gewisse Codierung, damit wir erkennen können, wo ein Wort aufhört und das andere beginnt).uvu,v

Eine Turingmaschine kann mit einem Wort beschrieben werden.

Wie bei allen Entscheidungsproblemen ist eine Reihe von Wörtern . Genauer gesagt enthält alle Wörter der Form wobei eine Turing-Maschine ist.HTMHTMM,wMw ist ein beliebiges Wort und M wird angehalten, wenn wir es mit Eingabe ausführen w.

Andrej Bauer
quelle
1

Hier ist eine einfache / informelle Definition des Halteproblems mit minimaler symbolischer / mathematischer Sprache. Betrachten Sie zunächst die Turing-Maschine . Turingmaschinen lösen verschiedene Probleme basierend auf (Programmierung über) ihre Zustandstabelle.

Jetzt kann die Statustabelle jeder Turing-Maschine selbst wie alle Eingaben in eine Turing-Maschine als Zeichenfolge codiert werden. Betrachten Sie nun eine hypothetische MaschineTMH welches ein Codierungspaar einer Statustabelle einer Maschine akzeptiert Mund eine Eingabezeichenfolge w:: M,w. nimm das anTMH akzeptiert die Eingabe iff (genau dann, wenn) Maschine M hält bei der Eingabe an w. von Turings berühmtem Beweis für das Anhalten des Problems (1936),TMH kann nicht existieren, dh dieses "Problem" ist nicht berechenbar.

das HTMSie beschreiben die Beschreibung desselben Problems in Bezug auf die Gruppen- / Sprachmitgliedschaft. Eine Zeichenfolge befindet sich im SetHTM iff M hält an w.

vzn
quelle