L ist erkennbar
Eine Sprache erkennbar ist , wenn und nur wenn es einen Verifizierer für existiert L , wo ein Verifizierer eine Turing Maschine ist , dass stoppt an allen Eingängen und für alle w ∈ & Sigma; * , w ∈ L ↔ ∃ c ∈ & Sigma; * . V nimmt ⟨ w , c ⟩ . Im Allgemeinen wird c als "Zertifikat" oder "Beweis" angesehen, dass w in L ist, und der Prüfer V prüft, ob c ein gültiger Beweis dafür ist, dass w in L istL.L.w ∈ & Sigma;∗w ∈ L ↔ ∃ c ∈ Σ∗. V. nimmt ⟨ w , c ⟩cwL.V.cwL.. (Beachten Sie, dass diese Definition der Erkennungsdefinition entspricht, da wir einen Erkenner für eine Sprache aus einem Verifizierer für diese Sprache erstellen können.) Um festzustellen, ob eine Sprache in RE enthalten ist oder nicht, können wir die folgende Frage stellen:
Einen String gegeben , könnte man beweisen , dass w ∈ L ?w ∈ L.w ∈ L.
Betrachten wir zum Beispiel . H A L T ist erkennbar , weil Ihnen das beweisen M Aussetzer auf w , kann ich Ihnen nur sagen , die Anzahl der Schritte , die Sie ausführen sollten M für und wenn M halt tut nach , dass viele Schritte, würden Sie davon überzeugt , dass ⟨ M , w ⟩ ∈ H A L T .H.A L T.= { ⟨ M, W ⟩ | M. ist ein TM, das auf w } anhält H.A L T.M.wM.M.⟨ M, W ⟩ ∈ HA L T.
L ist miterkennbar
In ähnlicher Weise eine Sprache ist Co-erkennbar , wenn und nur wenn ihr Komplement erkennbar ist, oder in anderen Worten , wenn ein Prüfer für existiert ˘ L . Um zu sehen, ob eine Sprache in Co-RE ist, können wir fragen:L.L.¯¯¯¯
Könnten Sie bei einer gegebenen Zeichenfolge beweisen, dass w ∉ L ist ?w ∉ L.w ∉ L.
Wenn wir noch einmal das Beispiel von , können wir diese Intuition verwenden, um zu zeigen, dass H A L T nicht miterkennbar ist. Dies liegt daran, dass ich Ihnen nichts sagen kann, um Sie davon zu überzeugen, wenn ich Ihnen sage, dass eine Maschine M bei Eingabe w nicht anhält. Ich könnte M auf w laufen lassen, aber selbst wenn wir M laufen gesehen haben und es noch nicht zum Stillstand gebracht haben, wissen wir nicht, dass es irgendwann in der Zukunft nicht mehr zum Stillstand kommen wird.HALTHALTMwMwM
L ist entscheidbar
Schließlich ist eine Sprache ist entscheidbar , wenn beide L und ¯ L erkennbar sind. Wenn also die Antwort auf die beiden oben genannten Fragen Ja lautet, ist die Sprache entscheidbar.LLL¯¯¯¯
Betrachten Sie als Beispiel . Könnte ich Ihnen bei einer gegebenen Zeichenfolge w ∈ L beweisen, dass w ∈ L ist ? Klar, ich könnte die Anzahl von a s und die Anzahl von b s hochzählen und zeigen, dass sie gleich sind, also ist L erkennbar. Was ist, wenn w ∉ L ? Ich könnte beweisen, dass ein String nicht in L ist, indem ich zeige, dass er entweder nicht die Form a n b m hat oder dass die Anzahl von nicht übereinstimmtL={anbn | n∈N}w∈Lw∈LabLw∉LLanbm s und b s. Somit ist L miterkennbar. Da es sowohl erkennbar alsauch miterkennbar ist, ist L auch entscheidbar.abLL
Referenz: Ich bin ein TA für einen Kurs in Intro-Berechenbarkeits- / Komplexitätstheorie an meiner Universität und mein Professor hat diesen wirklich hilfreichen animierten Leitfaden erstellt, um über reguläre, entscheidbare und erkennbare Sprachen nachzudenken.