Kann eine Turing-Maschine die Sprache

11

Lassen Gibt es eine Turingmaschine R, die die Sprache L entscheidet (ich meine nicht erkennt) ?

L={MM is a Turing Machine and L(M)=}.

L

Es scheint, dass dieselbe Technik, die verwendet wurde, um zu zeigen, dass hier funktionieren sollte.{AA is a DFA and L(A)=}

msn
quelle
1
Was hast du versucht? Können Sie sich zum Beispiel einen DFA für die leere Sprache vorstellen? Denken Sie daran, dass DFAs als sehr begrenzte TMs angesehen werden können.
Shaull
1
Sicher. Wechseln Sie vom Startzustand in den Zustand "Stopp ablehnen", unabhängig davon, was sich auf dem Eingabeband befindet. Dies akzeptiert explizit jede Zeichenfolge in der Sprache und lehnt jede Zeichenfolge ab, die nicht in der Sprache enthalten ist.
Patrick87
8
@ Mahdisaeedi: Letzteres ist eine ganz andere Frage! Sie fragen, ob es entscheidend ist, zu entscheiden, ob ein bestimmtes TM die leere Sprache erkennt - und die Antwort lautet nein, siehe Rices Theorem
Shaull

Antworten:

9

Mit Markieren meinen Sie wahrscheinlich die Erreichbarkeitsanalyse - die Suche nach einem Pfad vom Ausgangszustand zum akzeptierenden Zustand. In der Tat ist die Sprache eines DFA leer, wenn es keinen solchen Pfad gibt.

Beginnen wir mit einem Beispiel, warum dies in TMs fehlschlägt. Stellen Sie sich ein TM vor, das in seine Eingabe ignoriert, aber a auf sein Band schreibt , den Kopf nach rechts bewegt und in den Zustand q 1 wechselt. In q 1 ignoriert es erneut die Eingabe, schreibt a , bewegt den Kopf nach links und geht bis q 2 . In q 2 , wenn er liest ein , dann schreibt es ein , bewegt sich der Kopf nach rechts und geht zurück auf q 1 .q0aq1q1aq2q2aaq1

Das heißt, die Maschine schreibt nur a und wechselt zwischen zwei Zuständen ( und q 2 ) und hat immer zwei benachbarte a auf dem Band.q1q2a

Wir fügen nun einen Übergang von , der beim Lesen von b in einen akzeptierenden Zustand übergeht und anhält.q2b

Die Sprache dieser Maschine ist leer. In der Tat bleibt der Lauf immer in der -Schleife stecken und wird niemals in den akzeptierenden Zustand gelangen. Es gibt jedoch einen staatlichen Weg zu einem akzeptierenden Staat. Also, was ist schief gelaufen?q1q2

Nun, intuitiv ist der "Zustand" eines TM nicht informativ genug, um die Fortsetzung des Laufs zu beschreiben. Um alle Informationen zu erhalten, benötigen Sie die Konfiguration des TM, die den Status, die Position des Kopfes und den Inhalt des Bandes enthält. Wenn Sie einen Konfigurationspfad (der als Ausführen bezeichnet wird ) zu einer akzeptierenden Konfiguration finden, ist die Sprache tatsächlich nicht leer und es handelt sich um eine iff-Bedingung.

Das Problem bei der Verwendung der Erreichbarkeitsanalyse im Konfigurationsdiagramm besteht darin, dass sie möglicherweise unendlich ist. Deshalb ist die Entscheidung über die Leere der Sprache unentscheidbar.

Dies ist auch der Grund, warum die Nichtleere der Sprache erkennbar ist. Sie können ein BFS für das Diagramm mit der unendlichen Konfiguration durchführen. Wenn es einen Weg zu einem akzeptierenden Zustand gibt, werden Sie ihn schließlich finden. Wenn dies jedoch nicht der Fall ist, können Sie bei einer unendlichen Suche stecken bleiben.

Shaull
quelle
Die Übergangsfunktion eines TM ist wie folgt: F (Q T) -> (Q T * {L, R}). Könnten Sie die Funktion zum Ignorieren der Eingabe schreiben?
Msn
Ja. In diesem Fall ist , F ( q 1 , a ) = F ( q 1 , b ) = ( q 2 , a , L ) , F ( q 2F(q0,a)=F(q0,b)=(q1,a,R)F(q1,a)=F(q1,b)=(q2,a,L) und F ( q 2 , b ) = ( q a c c , a , L ) (letzteres wird jedoch nie erreicht). F(q2,a)=(q1,a,R)F(q2,b)=(qacc,a,L)
Shaull
9

ist aufgrund desSatzesvonRiceunentscheidbar, der besagt, dass nicht triviale Eigenschaften von Teilfunktionen nicht entscheidbar sind.A

  1. Es gibt ein TM, das keine Zeichenfolge akzeptiert. (Was direkt in den Ablehnungszustand geht).
  2. Es gibt ein TM, das jede Zeichenfolge akzeptiert. (Was direkt in den Akzeptanzzustand geht).

Dies bedeutet, dass die von Elementen von berechneten Funktionen eine nicht triviale Eigenschaft haben. Daher ist A nicht entscheidbar.AA

nur unter der Annahme entschieden werden, dass DFAs auf spezielle Weise wie Zustandsübergangstabelle usw. codiert sind (wir können aufgrund des Satzes von Rice nicht entscheiden, ob ein TM nur reguläre Sprachen akzeptiert!). In diesem Fall ist der Satz von Rice nicht anwendbar, da die bestimmte Codierung eines Elements erforderlich ist, um über E zu entscheiden. Wir entscheiden uns also nicht nur für Teilfunktionen.EE

(Das heißt, wenn das Problem wäre, zu entscheiden, ob ein bestimmtes TM ein DFA - oder ein DFA-berechenbares - ist und die von ihm akzeptierte Sprache leer ist, wäre durch den Satz von Rice unentscheidbar. Beachten Sie, dass in diesem Fall A = E ist .)EA=E

Mir.
quelle
6

Ein weiterer Hinweis: Versuchen Sie, das Halteproblem auf reduzieren .L

(Der ursprüngliche Hinweis ist, den Satz von Rice zu verwenden, aber in diesem Fall ist ein direkter Beweis auch ziemlich einfach.)

Yuval Filmus
quelle
@Yuval_Filmus Ist es richtig zu sagen, dass diese Sprache nicht einmal Turing erkennbar ist?
Sashas
1
Was denkst du? Können Sie Ihren Anspruch beweisen? In diesem Fall müssen Sie die Frage nicht stellen.
Yuval Filmus
1

Lemma 1 : Wenn L unentscheidbar ist, ist auch das Komplement von L.

Wir wissen, dass das Halteproblem HTM unentscheidbar ist. Daher ist gemäß Lemma 1- Komplement des Stoppproblems auch HTMc unentscheidbar.

HTM ={M,x M is a TM and M halts on input x }

HTMc ={M,x M is a TM and M loops on input x }

ETM ={M M is a TM and L(M) = }

Angenommen, ETM ist entscheidbar. Wir werden HTMc auf ETM reduzieren - mit anderen Worten, wir werden zeigen, wie man eine Turingmaschine MHTMc konstruiert , die HTMc Verwendung des TM entscheidet, METM , das ETM . Dies gibt uns einen Widerspruch, weil wir wissen, dass HTMc unentscheidbar ist, und so MHTMckann nicht existieren. Das Wort „reduzieren“ bedeutet einfach, ein bestimmtes Problem zu lösen, indem es in ein anderes Problem umgewandelt wird, dessen Lösung wir bereits kennen. Die Turingmaschine für HTMc kann also wie folgt aufgebaut sein:

MHTMc = „on EingangM,x

1. Konstruieren Sie den Code für ein TM, M1 , das Folgendes ausführt:

M1 = "am Eingangw

1. Simulieren Sie M auf x .

2. Akzeptiere, wenn M anhält. "

2. Führen METM auf M1

3. Akzeptieren Sie, wenn METM akzeptiert, lehnen Sie etwas anderes ab. "

Es ist wichtig zu verstehen, dass das TM M1 niemals tatsächlich simuliert wird - eine solche Simulation könnte in eine Endlosschleife gehen. Wir konstruieren lediglich den Code für M1 .

M1 ist so aufgebaut, dass es bei jeder EingabewM mit der Eingabex simuliert. M kann aufx anhalten oder eine Schleife bilden,und daher kann es zwei Fälle geben:

1. M1 accepts all inputs w if M halts on x. METM will reject M1 as L(M1).

2. If M loops on x, M1 will also loop for every input w given to it. Anyway, as METM is a decider it will reject and halt on input M1 as L(M1)=.

Correctness: Since METM always halts (by our assumption), MHTMc also always halts. MHTMc accepts if METM accepts, that is if L(M1)= which happens if M loops on x.
MHTMc rejects if METM rejects that is L(M1) which happens if M halts on x. Thus, MHTMc decides HTMc which is a contradiction as HTMc is undecidable.


Nb:

Let R be the reduction from HTMc to ETM.

The reduction gives:

i) M,xHTMcR(M,x)ETM

M loops on input x iff the language recognised by R(M,x) accepts nothing

ii) M,xHTMcR(M,x)ETM

M halts on input x iff the language recognised by R(M,x) accepts something

Nabhan Abdulla
quelle
0

Proof by contradicting ATM={M,wM is a Turing Machine which accepts w}, (which we know is undecidable).

Assume the existence of RTM, a TM that decides L

Use can then use RTM in the construction of a TM STM, which is a decider for ATM

STM=definition "On input M,w, where M is the encoding of a TM and w is a string:

  1. Modify M, taking into account the input w, such that the new M (call it M1) rejects all input which is not equal to w, where w is built into its description. If the input is equal to w, then M1 runs M on w and outputs whatever M outputs.

  2. Run RTM with the input M1,w

  3. Output the opposite of RTMs output."

The assumption that there exists a Turing Machine deicer for L, allows us to construct a decider for ATM, which is a contradiction.

Pétur Ingi Egilsson
quelle
Isn't the input of RTM a TM (without extra w)? How do you run RTM on M1,w?
xskxzr
-2

E={ | M is a TM and L(M)=Φ}. Is E Turing-recognizable?

E is a language, to accept language E we construct a Turing Machine. Suppose we create a Turing EM for the language E.

EM will be provided as input the encoding of another Turing machines, If that inputted machine M accepts an empty language then it will be a member of language E, else it will be not a member of language.

Suppose we have a Turing Machine M, we need to check if it accepts an empty language. Turing Machine EM have M and strings eps, a, b, aa, bb, ..... EM will check if M can reach a final state for at least on a single input, and if it accepts at least a single input it will be discarded and not included in language E. Now, see a possibility T.M M gets into a loop so M will keep on running and we couldn't decide whether it can accept or can't accept anything. Hence, this given language E is NOT RE.

PS: I think the complement of this given Language E will be RE.

Manu Thakur
quelle
Unfortunately, this intuitive argument doesn't constitute a proof. There could be a different way of deciding E, and this is not ruled out by your argument.
Yuval Filmus
yes correct, but the way i explained can someone make understand in layman language.
Manu Thakur
This site is not for laypersons. It's for academic-level theoretical computer science.
Yuval Filmus
2
All you've done is give an intuitive argument about why a particular computational technique seems to fail to solve this problem. But the question is asking for a proof that no possible technique works.
David Richerby