Theoretische Informatik 1 Teil 4 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007
Übersicht 1 Turingmaschinen Mehrband-TM Kostenmaße Komplexität 2
Mehrband-TM Kostenmaße Komplexität Mehrband-TM k Köpfe, also pro Schritt k Symbole veränderbar 1 Schritt = jeder Kopf bewegt sich Köpfe bewegen sich unanbhängig voneinander! Übergangsfunktion δ wird aufgeblasen k-band DTM ist also schneller als 1-Band DTM
Mehrband-TM Kostenmaße Komplexität Aquivalenz k-dtm und 1-DTM
Mehrband-TM Kostenmaße Komplexität Kostenmaße bei Eingabe w Definition (Zeitkosten bei Eingabe w) Die Funktion t T (w) : Σ N { } gibt die Länge des (endlichen) Berechnungspfades der TM T bei der Eingabe w an, oder, wenn dieser Berechnungspfad unendlich ist. Definition (Platzkosten bei Eingabe w) Die Funktion s T (w) : Σ N { } gibt die Anzahl der Bandquadrate an, die während der Berechnug der TM T bei Eingabe von w besucht werden. Satz (Platzkosten sind beschränkt durch Zeitkosten) T : w Σ : s T (w) t T (w) + 1
Mehrband-TM Kostenmaße Komplexität Komplexität einer DTM Definition (Zeitkomplexität) Die Zeitkomplexität einer DTM T (in Abhängigkeit der Länge der Eingabe) ist definiert als T T (n) = max w Σ : w n t T (w) Definition (Platzkomplexität) Die Platzkomplexität einer DTM T (in Abhängigkeit der Länge der Eingabe) ist definiert als S T (n) = max w Σ : w n s T (w) Satz (Platzkomplexität ist kleiner als Zeitkomplexität) T : n N : S T (n) T T (n) + 1
RM: Programm mit p Befehlen, Speicher c(0)... c(m) 4-Band DTM: Σ = {0, 1, #}, Γ = {0, 1, #, } Band 1: Eingabe, Band 3: Ausgabe Band 4: Nebenrechnungen Band2: ###0#c(0)##...##bin(m)#bin(c(m))### Q = Q 0 Q 1... Q p Q p+1 Q 0 -Zustände übersetzen Eingabe in Registerstruktur Q p+1 -Zustände übertragen Ergebnis c(0) auf Band 3 Q i, 1 i p simuliert Befehl i
274: ADD *24 = Q 274 1 suche ##11000#x# auf Band 2 (9q s) 2 kopiere x von Band 2 bis # auf Band 4 (1q) 3 suche ##x#y# auf Band 2 (4q s) 4 kopiere y von Band 2 bis # auf Band 4 (1q) 5 Rewind Band 2 zum Ende des Accumulators (6q s) 6 Addiere bitweise Accumulator zu Band 4 (2q) 7 Ersetzte Accumulator durch Inhalt von Band 4 (4q s) Q 274 umfasst also 27 Einzelzustände Details der Zustände siehe Übungsstunde
, Codierung Zentrale Frage: Wie wird das Band dargestellt? Variante 1: Ein Register pro Bandfeld, startend bei c(10): Bandfelder nummerieren:..., F 2, F 1, F 0, F 1, F 2,... Kopfposition: c(1), Inhalt: c(c(1)) F k c(10 + 2k), F 0 c(10), F k c(10 + 2k 1) Rechts: = 2; Links: = 2 IF c(1) mod 2=1 THEN c(1)=c(1)+ ELSE c(1)=c(1)- IF c(1)=8 THEN c(1)=11 ELSEIF c(1)=9 THEN c(1)=10 Nachteil: indirekte Adressierung notwendig
, Codierung Variante 2: 2 Stacks in je einem Register Stack L in c(3) ist Bandinhalt links vom Kopf Stack R in c(4) ist Bandinhalt rechts vom Kopf Symbol unter dem Kopf in c(2) aktueller Zustand in c(1) α 0 α 1 α n c(3) = a 0 + a 1 Γ +... + a n Γ n 1 pushl: c(3)=c(3)* Γ + c(2) popl: c(2)=c(3) mod Γ ; c(3)=c(3) div Γ ebenso für PushR und PopR mit c(4)
, Algorithmus δ(q 1, α 1 ) = (q 1, α 1, R) δ(q 2, α 2 ) = (q 2, α 2, L) δ(q 3, α 3 ) = (q 3, α 3, L), q 3 F LOOP: IF c(1)=q 1 AND c(2)= α 1 THEN c(1)=q 1 ; c(2)= α 1 ;PushL;PopR; GOTO LOOP; IF c(1)=q 2 AND c(2)= α 2 THEN c(1)=q 2 ; c(2)= α 2 ;PushR;PopL; GOTO LOOP; IF c(1)=q 3 AND c(2)= α 3 THEN c(1)=q 3 ; c(2)= α 3 ;PushR;PopL; GOTO ACCEPTED;... GOTO REJECTED ACCEPTED:
Äquivalenz RM und DTM Satz Zu jeder Registermaschine R gibt es eine Turingmaschine T, sodaß für die jeweils berechneten (partiellen) Funktionen gilt: f R (n 1,..., n k ) = bin 1 (f T (bin(n 1 )#bin(n 2 )#... #bin(n k ))) Satz Zu jeder Turingmaschine T gibt es eine Registermaschine R, sodaß für die jeweils berechneten (partiellen) Funktionen gilt: f T (w) = π (f R (τ (w)))
Kosten der Simulation Gegeben: RM mit Komplexität T R (n) Gesucht: T T (n) der äquivalenten DTM Satz T T (n) = O ( T 2 R (n)) Gegeben: DTM mit Komplexität T T (n) Gesucht: T R (n) der simulierenden RM Satz T R (n) = O ( T 2 T (n))