Universelle Turingmaschinen bisher: zum Erkennen einer rekursiven Sprache L wurde jeweils eine spezielle dtm M L angegeben jetzt: konstruieren feste dtm ( universelle Turingmaschine ), die als Eingabe eine (Kodierung einer) dtm und ein Wort w bekommt und die M auf w simuliert ( Interpreter ) 1 Normierte Turingmaschinen Def.: dtm M=(Q,Σ,Γ,δ,q 0,b,F) heisst normiert, falls Q = {1,,n}, Σ = {0,1}, Γ= {0, 1, 2}, q 0 =1, b=2, F={2,3}, F ja ={2}, F nein ={3} Satz: dtm M kann von einer normierten dtm S mit t S (n) = O(t M (n)) und s S (n) = O(s M (n)) simuliert werden. Übung 2
Kodierung normierter Turingmaschinen Def.: falls M = (Q,Σ,Γ,δ,q 0,b,F) normierte dtm, und δ(i,j) = (k,l,d m ) (wobei L=d 1, R=d 2 und S=d 3 ), so ist <i,j> := 0 i 10 j 10 k 10 l 10 m und <M> := 111<1,0>11<1,1>11<1,2>11<2,0>11 11<i,j>11 11<n,1>11<n,2>111є{0,1}* heisst Gödelnummer von M Gödelisierung von Turingmaschinen 3 Zur Kodierung von Turingmaschinen Bem.: jede normierte dtm M kann durch ein Wort <M>є{0,1}* kodiert werden jedes Wort wє{0,1}* beschreibt (unter dieser Kodierung) höchstens eine normierte dtm Konvention: jedes wє{0,1}* das nicht Kodierung einer normierten dtm ist, kodiert eine dtm die {} akzeptiert 4
Eine universelle Turingmaschine Satz: es gibt eine dtm U, die bei Eingabe <M>#w die Berechnung der dtm M auf der Eingabe w simuliert konstruieren 3-dtm Eingabe <M>#w auf Band 1 (Arbeitsband von M) Programm <M> auf Band 2 Aktueller Zustand i auf Band 3 5 Eine universelle Turingmaschine Vorbereitung: Ist die Eingabe syntaktisch korrekt? Falls ja, bewege den Kopf auf den 1. Buchstaben von w Kopiere das Programm <M> auf Band 2 Aktueller Zustand i wird als 0 i auf Band 3 geschrieben (am Anfang q 0 =1) 6
Eine universelle Turingmaschine Arbeitsweise von U im Zustand i Falls iє{2,3} stoppt U Falls i=2, wird akzeptiert, ansonsten (i=3) verworfen Lese auf Band 1 den Buchstaben j Suche auf Band 2 den Block der Form 0 i 10 j 10 k 10 l 10 m Falls der Block nicht existiert, stoppt U Ersetze Inhalt von Band 3 durch k Ersetze auf Band 1 den gelesenen Buchstaben durch l Bewege den Kopf auf Band 1 in Richtung d m 7 Diagonalsprache lexikographische Aufzählung von {0,1}* ε,0,1,00,01,10,11,000,001, Def.: Zu wє{0,1}* bezeichnet T w die dtm mit Gödelnummer w und L(T w ) die Sprache, die von akzeptiert wird Def.: {w i i 0} sei lexikographische Aufzählung von {0,1}* L D := {w i є{0,1}* T wi akzeptiert w i nicht} heisst Diagonalsprache 8
Diagonalsprache Satz: L D Angenommen, L D ist entscheidbar, d.h. es gibt dtm M mit Gödelnummer w j, die auf alleneingabenhältund L(M)=L D Falls w j є L D, so gilt M akzeptiert w j (Definition von L(M)) M verwirft w j (Definition von L D ) Falls w j є L c D, so gilt M verwirft w j (Definition von L(M)) M akzeptiert w j (Definition von L D ) 9 Komplement der Diagonalsprache Satz: L c D L D entscheidbare Sprachen sind unter Komplementbildung abgeschlossen 10
Reduktionskonzept Def.: Sei L 1, L 2 сσ*. Falls es eine totale, berechenbare Funktion f : Σ* Σ* gibt, mit wєσ* : wєl 1 gdw. f(w)єl 2, so heisst L 1 auf L 2 reduzierbar mittels f L 1 L 2 Wortproblem für L 1 wird übersetzt in Wortproblem für L 2 11 Eigenschaften von Reduktionen Satz: Sei L 1, L 2 сσ* mit L 1 L 2. Dann gilt L 2 entscheidbar L 1 entscheidbar L 1 nicht entscheidbar L 2 nicht entscheidbar L 1 L 2 mittels f es gibt dtm T mit f T =f L 2 ist entscheidbar es gibt dtm M mit L(M)=L 2 Konstruiere dtm N mit L(N)=L 1 berechne mittels T den Wert f(w) bei Eingabe w entscheide mittels M, ob f(w)єl 2 12
Das Halteproblem Problem: Entscheide, ob dtm gegeben durch ihr Programm in eine Endlosschleife gerät oder nicht Def.: H = {p#w T p hält auf wє{0,1}*} Halteproblem Def.: H ε = {p T p hält auf ε} spezielles Halteproblem 13 Unentscheidbarkeit des Halteproblems Satz: H für w=<m> mit M = (Q,Σ,Γ,δ,q 0,b,F) normierte dtm, sei w * =<M * > wobei M * = (Q,Σ,Γ,δ *,q 0,b,Fυ{ }) dtm mit δ * (i,j) := (k,l,d m ) falls δ(i,j) =(k,l,d m ), kєf\{3} δ * (i,j) := (,l,d m ) falls δ(i,j) =(3,l,d m ) δ * (,j) := (,j,3) für jєγ (ersetze nicht akzeptierende Endzustände von <w> durch Endlosschleifen) 14
Unentscheidbarkeit des Halteproblems Satz: H für totale, berechenbare Funktion f : w w * #w gilt wєl c D gdw. T w akzeptiert w gdw. T w* hält auf w gdw. f(w)єh, d.h. L c D H L c D Beh. 15 Unentscheidbarkeit des spez. Halteproblems Satz: H ε für p,wє{0,1}* sei M p#w є{0,1}* die Beschreibung einer dtm die auf das leere Band zunächst w schreibt und dann wie T p arbeitet die Funktion f : p#w <M p#w > ist total & berechenbar p#wєh gdw. T p akzeptiert w gdw. f(p#w)єh ε, d.h. H H ε H 16
Die universelle Sprache Def.: L univ = {p#w wєl(t p )} Satz: L univ L c D L univ ( Übung) Satz: L univ ist semi-entscheidbar betrachte universelle dtm U auf Eingabe p#w wird w von T p akzeptiert, d.h. wєl(t p ), geschieht dies nach endlich vielen Schritten und U akzeptiert auch ansonsten hält/akzeptiert U nicht 17 Die universelle Sprache Satz: L c univ ist nicht semi-entscheidbar (indirekt) angenommen L c univ ist semi-entscheidbar L univ ist semi-entscheidbar L univ ist entscheidbar Folgerung: Semi-entscheidbare Sprachen sind nicht unter Komplementbildung abgeschlossen Folgerung: Es gibt semi-entscheidbare Sprachen, die nicht entscheidbar sind 18
Eine natürliche unentscheidbare Sprache Def.: L regdtm = {<M> M ist dtm und L(M) ist regulär} Satz: L regdtm 19 Eine natürliche unentscheidbare Sprache Bew. : Sei p,wє{0,1}*. Für dtm M p#w, die eine Eingabe x akzeptiert, falls x=0 n 1 n für ein n 0, und sonst genau dann akzeptiert, falls die Simulation von T p auf w akzeptiert gilt: T p akzeptiert w L(M p#w )=Σ* (regulär) T p akzeptiert w nicht (d.h. verwirft oder terminiert nicht) L(M p#w )={0 n 1 n n 0} (nicht regulär) 20
Eine natürliche unentscheidbare Sprache f : p#w <M p#w > ist total und berechenbar p#wєl univ gdw. wєl(t p ) gdw. L(M p#w )=Σ* gdw. L(M p#w ) regulär gdw. <M p#w >єl regdtm gdw. f(p#w)єl regdtm, d.h. L univ L regdtm L univ 21 Der Satz von Rice Satz (ohne Bew.): Sei P eine Sprache mit: dtm M 1,M 2 : L(M 1 )=L(M 2 ) (<M 1 >єp <M 2 >єp) dtm M 1,M 2 : <M 1 >єp, <M 2 >єp c Dann ist P unentscheidbar. 22