Algorithmentheorie 4. Vorlesung

Größe: px
Ab Seite anzeigen:

Download "Algorithmentheorie 4. Vorlesung"

Transkript

1 Algorithmentheorie 4. Vorlesung Martin Dietzfelbinger... Turingmaschinen B B B b a n d i n B B * # s c h r i f t B B B B B B B... Lese Schreib Kopf: Bewegen um 1 Bandfeld Schreiben Lesen 27. April 2006 Übergangsfunktion δ q m q 0 q 1 q q 3 2 Steuereinheit gegenwärtiger Zustand q Zustandsmenge Q FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Turingmaschinen Akzeptierte Sprache L M := {x Σ M akzeptiert x} heißt die von M akzeptierte Sprache. Turingmaschinen Haltesprache H M := {x Σ M hält auf x} heißt die Haltesprache von M. Rekursiv aufzählbare und rekursive Sprachen Eine Sprache L heißt rekursiv aufzählbar (r.a.), falls es eine TM M gibt, so dass L = L M ist. Eine Sprache L heißt rekursiv (rek.), falls es eine TM M gibt, die auf allen Inputs x Σ hält, so dass L = L M ist. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

2 Partiell rekursive Funktionen Eine Funktion f : D R heißt partiell rekursiv (p.r.), falls es eine TM M = (...,Σ,Γ,...) gibt derart dass D = H M, R (Γ {B}) und f = f M ist. Turingmaschinen Tricks endlicher Speicher in Steuereinheit Spurtechnik, Markierungen Kopieren/Transport von Bandinschriften Eine Funktion f : Σ R heißt (total) rekursiv, falls es eine TM M = (...,Σ,...) gibt derart dass f = f M ist. Beachte: Diese TM M hält auf allen Inputs x Σ. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Turingmaschinen Varianten mehrere Spuren einseitig unendliches Band k-band-tm Berechnungskraft unverändert Beweismethode: Simulation Modellerweiterung: k-band-turingmaschinen Eine 3-Band-TM:... B B B e i n g a b e B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B... Steuer einheit Allgemeiner: k Bänder, k Köpfe. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

3 Modellerweiterung: k-band-turingmaschinen Fazit: Wenn es bequem ist, können wir uns jede beliebige feste Menge von Bändern als gegeben vorstellen. Die Berechnungskraft des Modells ändert sich dadurch nicht. Welche Variante man benutzt, spielt für die Begriffe rekursiv aufzählbare Menge, rekursive Menge, partiell rekursive Funktion usw. keine Rolle. Zeit-/Platzbedarf bei Turingmaschinen Für M eine k-band-tm, x Σ : t M (x) := Zahl der Schritte, die M auf Eingabe x ausführt N { } s M (x) := Anzahl der verschiedenen Zellen, auf die die Köpfe von M bei Eingabe x schreibend zugreifen, auf allen Bändern zusammen ( N { }); T M (n) := max{t M (x) x Σ n } (Zeitbedarf im schlechtesten Fall über alle Eingaben der Länge n: worst-case- Zeitkomplexität); S M (n) := max{s M (x) x Σ n }. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Zeit-/Platzschranken bei Turingmaschinen Sei t: N R + eine Funktion. M heißt t(n)-zeitbeschränkt, falls T M (n) t(n) für alle n N gilt, d.h. falls t M (x) t( x ) für alle x Σ gilt. Beispiel: TM M ist 10n 2 -zeitbeschränkt (Genauer Verlauf von T M (n) ist nicht wichtig.) FG KTuEA, TU Ilmenau AT Zeit-Komplexitätsklassen Für t: N R + definieren wir: DTIME(t(n)) := {L M M ist k-band-tm, Die so definierten Sprachenmengen heißen Zeit-Komplexitätsklassen. Beispiele: c > 0 : M ist c t(n)-zeitbeschränkt}. DTIME(n),DTIME(n 2 ),DTIME(n log n),dtime(2 n ). Linearzeit, Quadratische Zeit,... FG KTuEA, TU Ilmenau AT

4 Programmiertechnik: Unterprogramme Bemerkung: M sei TM. Man kann bei der Programmierung einer anderen TM M die TM M als Unterprogramm nutzen Bänder von M... B B a a a... a B B B n Band von M M : Programm von M ohne M Beschreibung von M endliches Objekt! FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Programmiertechnik: Unterprogramme M schreibt auf ein sonst leeres Band Eingabe x für M, startet M durch Umschalten auf den Startzustand von M, und erhält nach Ende der M-Berechnung die Information, ob x L M oder nicht (per Zustand), oder den Funktionswert f M (x) Programmiertechnik: Unterprogramme Variante: M mit einseitig unbeschränktem Band: es genügt auch ein einseitig leeres Band von M als Arbeitsbereich für M. Möglich: Rücksprungpunkte im Programm von M aufs Band schreiben Aufrufe an beliebigen Stellen in M und sogar: rekursive Unterprogramme. Band von M kann gelöscht (mit B s überschrieben) werden oder für den nächsten Aufruf aufbewahrt. Dann setzt M seine eigene Berechnung fort. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

5 Programmiertechnik: Textsuche Häufige Teilaufgabe: suche Muster p = a 1 a n in Text t = b 1 b m. Beispiel: p = 10010, t = , p in t bei Position 9 und bei Position 12. Programmiertechnik: Textsuche Aufgabe: Auf Eingabe a 1 a n #b 1 b m {#} die erste Stelle j so dass a 1 a n = b j b j+n 1 falls eine solche Stelle existiert. Methode: Kopiere a 1 a n auf Band 3. Initialisiere Band 2 mit 1. Markiere b 1 auf Extra-Spur auf Band 1 mit. finde FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Band 1 Band 2 Band 3 Programmiertechnik: Textsuche Bandinhalt während der Rechnung : B a a... a # b b B B n 1 2 B a a... a B n b j * bin(j) b m Wiederhole: Programmiertechnik: Textsuche Vergleiche Wort auf Band 1, startend bei, Zeichen für Zeichen mit a 1 a n. Bei Übereinstimmung: fahre den Bandkopf auf Band 1 nach links zum und halte akzeptierend. Falls b 1 b m zu kurz : halte verwerfend. Sonst rücke um eine Zelle weiter nach rechts, erhöhe die Binärzahl auf Band 2 um 1. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

6 Programmiertechnik: Textsuche Anwendung: Records/Verbünde/Zeiger... feld3 # # identifier # feld1 # feld2 # feld3 # # identifier... Binärzahl Binärzahl Modelleinschränkung: Standardalphabete Hintergrund/Motivation: In echten Computern wird alles binär kodiert. Dies sollte auch bei TM gehen. (a) Eingabealphabet: Beispiel: Binärkodierung a a b c d # $ ϕ(a) ## identifier # 0 induziert und ϕ(ab#dc) = ϕ({ab#dc, a$d}) = { , }. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Standard-Eingabealphabet Allgemein: Zu Alphabet Σ, Σ 2, betrachte Binärkodierung ϕ : Σ 1 1 {0,1} log 2 Σ für die Buchstaben. Induziert Binärkodierung für die Wörter: ϕ(a 1 a n ) := } ϕ(a 1 ) {{ ϕ(a n } ), für n N,a 1,...,a n Σ {0,1}... und Binärkodierung für Sprachen über Σ: ϕ(l) = {ϕ(w) w L} {0,1}, für L Σ.... und Binärkodierung f ϕ für Funktion f über Σ. Proposition Standard-Eingabealphabet (i) L ist rekursiv ϕ(l) ist rekursiv; (ii) L ist rekursiv aufzählbar ϕ(l) ist rekursiv aufzählbar; (iii) f ist partiell rekursiv f ϕ ist partiell rekursiv. Beweisidee: (ii) : Habe: TM M mit L = L M. Neue TM M mit Eingabealphabet {0,1} tut folgendes: Teile Eingabe w in Blöcke der Länge log 2 Σ, übersetze mittels ϕ 1 in w = ϕ 1 (w ) über Σ, starte M. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

7 Standard-Eingabealphabet Proposition (i) L ist rekursiv ϕ(l) ist rekursiv; (ii) L ist rekursiv aufzählbar ϕ(l) ist rekursiv aufzählbar; (iii) f ist partiell rekursiv f ϕ ist partiell rekursiv. Beweisidee: (ii) : Habe: TM M mit ϕ(l) = L M. Neue TM M mit Eingabealphabet Σ tut folgendes: Übersetze Eingabe w in ϕ(w), starte M. (i), (iii): analog. Modelleinschränkung: Standardalphabete (b) Bandalphabet: Standardalphabet Γ = {0,1,B }, Blank B. Voraussetzung: Eingabealphabet {0,1}, nach (a) möglich. Behauptung: Sei M = (Q,Σ,Γ,B, q 0,F, δ) mit Σ = {0,1} eine TM. Dann kann das Verhalten von M durch eine TM M = (Q, Σ, Γ,...) mit Bandalphabet Γ = {0,1,B } simuliert werden. D.h.: es existiert eine TM M = (Q, {0,1,B }, {0,1},B,...) mit L M = L M, H M = H M, f M = f M. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Idee: log ( Γ ) B B B B B B code(b) code(a) code(b) 2 Kapitel 1.3: Nichtdeterministische Turingmaschinen... und Chomsky-0-Grammatiken Kopfbewegungen von M : M : Puffer: a ε Γ Decode Programm von M Nichtdeterministische TM deterministisch : in jeder Konfiguration genau eine Nachfolgekonfiguration... oder keine Haltekonfiguration Code a nichtdeterministisch : es ist erlaubt, dass in manchen Konfigurationen mehr als eine Nachfolgekonfiguration existiert FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

8 Nichtdeterministische Turingmaschinen kein Modell für realistischen Rechner wie weiß die Maschine, was sie als nächstes tun soll? : kein echtes Problem, denn eine nichtdeterministsiche TM rechnet nicht einfach Schritt für Schritt abstraktes Modell erleichtert (manchmal) Programmierung (in diesem Kapitel) hilft bei der interessanter Sprachklassen (Theorie der NP-Vollständigkeit) Eine nichtdeterministische Turingmaschine (NTM) M besteht aus 7 Komponenten: Q,Σ,Γ,B, q 0,F: wie bei gewöhnlichen TM δ: Q Γ P(Q Γ {L,R,N}) In einer Situation (q, a) (Zustand, gelesener Buchstabe) gibt es keinen, einen, oder mehr als einen möglichen Zug (q,a,d). Die möglichen Züge sind die Elemente von δ(q, a). Wenn δ(q, a) 2, dann existiert eine Auswahl oder Verzweigungsmöglichkeit. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Beispiel: Exaktes Rucksackproblem Problem RUCKSACK : Input: n Objekte mit Volumina a 1,...,a n, Rucksack mit Kapazität b. Frage: Kann man aus den Objekten einige auswählen, so dass sie den Rucksack exakt füllen, d.h. dass ihr Gesamtvolumen genau b ist? Gibt es eine Teilmenge I {1,...,n} mit i I a i = b? Formalisierung durch Sprache L Rucksack := {bin(a 1 )# #bin(a n )#bin(b) n N,a 1,...,a n,b 1, I {1,...,n} : i I Das Entscheidungsproblem RUCKSACK ist genau das Wortproblem für L Rucksack. Beispiel: a i = b}. 1010#101#1000#11#1101 L Rucksack ; 110#10#1010#110#1111 / L Rucksack. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

9 NTM für RUCKSACK 3 Phasen: auf Input w passiert folgendes: 1. Syntaxcheck: Hat w das richtige Format? Ist w L(1(0 + 1) (#1(0 + 1) ) + )? Bei Erfolg: Erreiche Zustand q 2, Kopf auf erstem Inputzeichen. Sonst: Halte verwerfend. 2. Wähle nichtdeterministisch einige der Zahlen aus. Formal: Ersetze einige der #-Zeichen durch 3. Streiche die per bin(a i ) markierten Zahlen. Addiere (Übung!) die restlichen Zahlen und prüfe, ob die Summe b ist. NTM für RUCKSACK : technisch 1. Syntaxcheck: wie ein DFA Bei Erfolg: Erreiche Zustand q 2, Kopf auf erstem Inputzeichen; sonst: Halte verwerfend. 2. δ(q 2,a) = {(q 2,a,R)}, für a Σ δ(q 2,#) = {(q 2,,R),(q 2,#,R)}, für a Σ δ(q 2,B) = {(q 3,B, L)}. 3. Überschreibe bin(a i ) mit Nullen: 00 0# (Skript: Deterministische TM für diese Aufgabe.) FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Addiere die verbleibenden Zahlen und prüfe, ob die Summe b ist. Falls ja, akzeptiere, falls nein, verwerfe. NTM für RUCKSACK : Eigenschaften Eingabe (a 1,...,a n,b) bestehe aus n + 1 Zahlen, syntaktisch korrekt. Nach Phase 2 sind genau 2 n viele verschiedene Situationen möglich. Entspricht: 2 n Teilmengen I {1,...,n} Falls i I a i = b, wird akzeptiert, sonst verworfen. Manche Berechnungen akzeptieren, manche verwerfen. (Willkürliche) Festlegung: NTM M akzeptiert w, falls mindestens eine der möglichen Berechnungen akzeptiert. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

10 Semantik von NTM NTM M = (Q,Σ,Γ,B, q 0,F, δ) sei gegeben. Schreibe k M k. Iteration k M k wird definiert wie bei TM. Menge K M der Konfigurationen: wie bei TM Startkonfiguration init M (x): wie bei TM Sei k = α 1 (q, a)α 2 Konfiguration. Für jedes Tripel (q,a,d) δ(q, a) gibt es eine Nachfolgekonfiguration k von k, und zwar: k wird aus k gebildet wie bei (deterministischen) TM, unter Benutzung des Zuges (q,a,d). FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT NTM M = (Q,Σ,Γ,B, q 0,F, δ) sei gegeben. k = α 1 (q, a)α 2 K M heißt Haltekonfiguration, wenn δ(q, a) = ist. Akzeptierend: q F Verwerfend: q Q F Folge init M (x) = k 0 k 1 k 2 (ohne Ende) heißt nicht-haltende Berechnung von M auf x. akzeptierende Berechnung : endet in akzeptierender Haltekonfiguration verwerfende Berechnung : endet in verwerfender Haltekonfiguration init M (x) = k 0 k 1 k t heißt eine haltende Berechnung von M auf x falls k t Haltekonfiguration. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

11 . NTM M = (Q,Σ,Γ,B, q 0,F, δ) sei gegeben. M akzeptiert x Σ, wenn M mindestens eine akzeptierende Berechnung für x hat, d.h. wenn es eine Berechnung Bemerkung: Wir definieren für NTM nicht: H M und f M. (3 Zeilen im Skript S. 61 streichen.) init M (x) = k 0 k 1 k t gibt, so dass k t akzeptierende Haltekonfiguration ist. Achtung: Es ist dann unwichtig, ob es auch verwerfende oder nicht haltende Berechnungen gibt. L M := {x Σ M akzeptiert x}. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Wurzel Zeitschritte Berechnungsbaum k 0 init (x) M 0 In einem Berechnungsbaum sind alle möglichen Berechnungen einer NTM M auf einem Input x zusammengefasst. Jede Berechnung ist ein Weg aus Konfigurationen, alle Wege haben einen gemeinsamen Startpunkt, die Startkonfiguration. k 1.. k 2 k 1 k k 2 k t k 1 k 2 k 3 k 4 Nachfolge konfigurationen von k t + 1 "akzeptiere" "verwirf" FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

12 Berechnungsbaum CT(M,x) ( computation tree ) ist ein endlicher oder unendlicher gerichteter Baum, folgendermaßen gebaut: (i) Wurzel, mit init M (x) markiert. (ii) Hat ein Knoten v im Baum Markierung k = α 1 (q, a)α 2 und ist δ(q, a) = {(q 1,a 1,D 1 ),...,(q s,a s,d s )}, und sind k 1,...,k s die Nachfolgekonfigurationen von k zu den s Zügen in δ(q, a), so hat v Nachfolger v 1,...,v s, die mit k 1,...,k s markiert sind. jeder Berechnung init M (x) = k 0 k 1 k t (endlich oder unendlich) entspricht ein Pfad im Baum; ein Knoten mit Markierung k ist Blatt k Haltekonfiguration; M akzeptiert x CT(M,x) hat mindestens ein akzeptierendes Blatt. CT(M,x) enthält alle Berechnungen von M auf x als Pfade. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Bemerkung Endlichkeit des Berechnungsbaums CT(M,x) hat endlich viele Knoten Beweis: : trivial. jede Berechnung von M auf x endet nach endlich vielen Schritten. : Wenn CT(M,x) unendlich ist, kann man per Induktion einen unendlichen Weg in CT(M, x) konstruieren; dies ist eine nicht abbrechende Berechnung; Details siehe Skript. Modellvarianten, Programmiertricks... genau wie bei den (deterministischen) TMs. Besonders wichtig: Nichtdeterministische Turingmaschinen mit k Bändern. Satz M sei NTM mit k Bändern. Dann gilt: (a) Es gibt eine 1-Band-NTM M mit L M = L M (b) Wenn jede Berechnung von M auf Inputs x Σ n nach höchstens t(n) Schritten anhält, so kann die NTM M in (a) so konstruiert werden, dass jede Berechnung von M auf Inputs x Σ n nach höchstens O(t(n) 2 ) Schritten anhält. Fazit: Benutze k Bänder, wenn bequem. Ende FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

13 Beispiel: Oberfolgenproblem Teilfolge : 1000 ist Teilfolge von Def.: u = b 1 b m heißt Teilfolge von x = a 1 a n, wenn es 1 i 1 < < i m n gibt, so dass b 1 b m = a i1 a im. Oberfolge : Def.: x heißt Oberfolge von u, wenn u Teilfolge von x ist. Beispiel: ist Oberfolge von 1000, nicht aber Beispiel: Oberfolgenproblem Gegeben: Beliebige r.a. Sprache L = L M, M TM. L := {x Σ w L : x ist Oberfolge von w}. Menge der Oberfolgen von Wörtern in L. Wir entwerfen eine 2-Band-NTM für L. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Input: x = a 1...a n Beispiel: Oberfolgenproblem 2 Phasen: 1: Lese x von links nach rechts, wähle nichtdeterministisch Zeichen aus, die auf Band 2 kopiert werden. Fahre Kopf auf Band 2 zurück. δ(q 0,a, B) = {(q 0,a,a, R,R),(q 0,a,B, R,N)}, für a Σ; δ(q 0,B, B) = {(q 1,B, B, N,L)}; δ(q 1,B, a) = {(q 1,B, a, N,L)}, für a Σ; δ(q 1,B, B) = {(q M 0,B, B, N,R)}. Beispiel: Oberfolgenproblem In Phase 1 gibt es genau 2 n verschiedene Abläufe. Auf Input x = abac steht auf Band 2 eines der folgenden Wörter: abac,aba,abc,ab,aac,aa,ac,a,bac,ba,bc,b,ac,a,c,ε. (16 Abläufe, 14 verschiedene Wörter.) Es gilt: M akzeptiert x genau dann wenn x eine Teilfolge y L M hat, d.h. wenn x L ist. 2: Lasse M auf der Inschrift von Band 2 ablaufen. FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

14 Gewöhnliche TM ist praktisch ein Spezialfall von NTM: Sei M = (Q,Σ,Γ,B, q 0,F, δ) eine deterministische TM Betrachte ˆδ : Q Γ P(Q Γ {L,R,N}) mit ˆδ(q, a) := { {(q,a,d)}, falls δ(q, a) = (q,a,d);, falls δ(q, a) = (undefiniert). Frage: Kann man mit NTM mehr berechnen als mit TM? Nein! Z.B.: = {a,b,c} Technik: Aufzähler für Erzeuge nacheinander: ε, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, aac,... Lemma Sei Alphabet. Dann existiert eine deterministische 1-Band- TM, die auf Eingabe ε unendlich lange läuft und dabei nacheinander die Konfiguration (q fertig,b) und dann die Konfigurationen (q fertig,a 1 )a 2 a n erreicht, für alle a 1 a n +. Idee: Zähle im d-ären System. (Details: Übung). FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Satz Ist L = L M für eine nichtdeterministische TM M, dann ist L rekursiv aufzählbar. Beweis: Gegeben sei NTM M = (Q,Σ,Γ,B, q 0,F, δ). Simulation : Beschreibe Arbeitsweise einer TM M. Menge der Einzelzüge von M: Z := Q Γ {L,R,N} (Endliche Menge!) Jede Berechnung k 0 k 1 k 2... entspricht einer (eindeutigen) Zugfolge (z 1,z 2,...) in Z. Aber: Nicht jede Zugfolge liefert Berechnung! Beispiel Rucksack-NTM: Konfiguration Zug (q 0,1)1#11#1#100 (q 0,1,R) (q 2,1)1#11#1#100 (q 2,1,R) 1(q 2,1)#11#1#100 (q 2,1,R) 11(q 2,#)11#1#100 (q 2,,R) 11 (q 2,1)1#1#10 (q 2,1,R) 11 1(q 2,1)#1#10 (q 2,1,R) 11 11(q 2,#)1#10 (q 2,#,R) 11 11#(q 2,1)#10 (q 2,1,R) (q 4,0)0#11#1# FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

15 TM M hat drei Bänder. Band 1: Eingabe x, nie verändert. Band 2: Arbeitsband von M. Band 3: Zugfolgen (z 1,z 2,...). M erzeugt auf Band 3 nacheinander jede mögliche endliche Folge (z 1,z 2,...,z r ) Z. Für jede dieser Folgen (z 1,z 2,...,z r ) wird folgendes getan: ( ) Kopiere x von Band 1 auf Band 2. Rechne auf Band 2 wie M, führe dabei im i-ten Schritt Zug z i aus, solange dies mit δ konsistent ist. Falls akzeptierende Konfiguration von M erreicht wird: halte, akzeptiere. Sonst: Lösche Band 2, erzeuge auf Band 1 nächste Zugfolge, gehe zu ( ) FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Beobachtung: Wenn x L M, es also mindestens eine akzeptierende Berechnung k 0 k 1 k 2... von M gibt, dann wird irgendwann eine Zugfolge erzeugt, die einer akzeptierenden Berechnung von M entspricht M hält akzeptierend. Wenn M akzeptierend hält, dann hat M soeben eine akzeptierende Berechnung von M durchgeführt x L M Ergänzung Leichte Modifikation von M kann beobachten, ob CT(M,x) endlich ist. (Für ein t führen alle mit δ konsistenten Zugfolgen der Länge t in eine Haltekonfiguration.) Dann: Verwerfend halten. Fazit: Wenn alle Berechnungsbäume von M endlich sind, dann ist L M rekursiv und M (modifiziert) hält auf allen Eingaben. Also: M akzeptiert x x L M. D.h.: L M = L M FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT

16 Zeitaufwand der Simulation: Z r O( x + r) = O( Z t ( x + t)) = O( Z t t). 0 r t Benutze NTM als bequeme Programmiertechnik! Hilfreich für den Nachweis von Abschlusseigenschaften (Übung, später) Fazit: Wenn t: N R + so ist, dass für jedes x Σ jede Berechnung von M auf x höchstens t( x ) Schritte macht, dann ist die simulierende Turingmaschine M O(2 c t(n) )- zeitbeschränkt, für c = 1 + log Z. (Exponentieller Blow-up) FG KTuEA, TU Ilmenau AT FG KTuEA, TU Ilmenau AT Skript Seiten Bis nächste Woche Übungsaufgaben drucken und vorbereiten FG KTuEA, TU Ilmenau AT

Algorithmentheorie 8. Vorlesung

Algorithmentheorie 8. Vorlesung Algorithmentheorie 8. Vorlesung Martin Dietzfelbinger 1. Juni 2006 1.7 Die Churchsche These Der intuitive Berechenbarkeitsbegriff wird durch die Formalisierung TM-Berechenbarkeit, also Rekursivität von

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine

Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine Prof. Dr. Berthold Vöcking Lehrstuhl Informatik Algorithmen und Komplexität 24. Oktober 26 Programmierung der TM am Beispiel Beispiel:

Mehr

Weitere universelle Berechnungsmodelle

Weitere universelle Berechnungsmodelle Weitere universelle Berechnungsmodelle Mehrband Turingmaschine Nichtdeterministische Turingmaschine RAM-Modell Vektoradditionssysteme λ-kalkül µ-rekursive Funktionen 1 Varianten der dtm Mehrkopf dtm Kontrolle

Mehr

Algorithmentheorie 2. Vorlesung

Algorithmentheorie 2. Vorlesung Algorithmentheorie 2. Vorlesung Martin Dietzfelbinger 13. April 2006 FG KTuEA, TU Ilmenau AT 13.04.2006 Maschinenmodelle Registermaschinen (RAMs) bearbeiten Zahlen Turingmaschinen (TMn) bearbeiten Wörter/Strings/Zeichenfolgen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (III) 8.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Turing Maschinen II Wiederholung

Turing Maschinen II Wiederholung Organisatorisches VL-03: Turing Maschinen II (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, Oktober 25, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V5, 21.11.2011 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

Mehr

Automaten und Formale Sprachen 14. Vorlesung

Automaten und Formale Sprachen 14. Vorlesung Automaten und Formale Sprachen 14. Vorlesung Martin Dietzfelbinger 24. Januar 2006 Bis 31. Januar 2006: Folien studieren. Details und Beispiele im Skript, Seiten 174 196. Definitionen lernen, Beispiele

Mehr

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

VL-03: Turing Maschinen II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

VL-03: Turing Maschinen II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger VL-03: Turing Maschinen II (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-03: Turing Maschinen II 1/27 Organisatorisches Nächste Vorlesung: Mittwoch, Oktober

Mehr

Typ-0-Sprachen und Turingmaschinen

Typ-0-Sprachen und Turingmaschinen Typ-0-Sprachen und Turingmaschinen Jean Vancoppenolle Universität Potsdam Einführung in formale Sprachen und Automaten Dr. Thomas Hanneforth (Präsentation aus Foliensätzen von Dr. Thomas Hanneforth und

Mehr

Rucksackproblem und Verifizierbarkeit

Rucksackproblem und Verifizierbarkeit Rucksackproblem und Verifizierbarkeit Gegeben: n Gegenstände mit Gewichten G={g 1,g 2,,g n } und Werten W={w 1,w 2,,w n } sowie zulässiges Gesamtgewicht g. Gesucht: Teilmenge S {1,,n} mit i i S unter der

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Halteproblem/Kodierung von Turing-Maschinen

Halteproblem/Kodierung von Turing-Maschinen Halteproblem/Kodierung von Turing-Maschinen Unser Ziel ist es nun zu zeigen, dass das sogenannte Halteproblem unentscheidbar ist. Halteproblem (informell) Eingabe: Turing-Maschine M mit Eingabe w. Frage:

Mehr

Polynomielle Verifizierer und NP

Polynomielle Verifizierer und NP Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert

Mehr

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009 Theoretische Informatik Rainer Schrader nichtdeterministische Turingmaschinen Zentrum für Angewandte Informatik Köln 29. April 2009 1 / 33 2 / 33 Turingmaschinen das Konzept des Nichtdeterminismus nahm

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (II) 2.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

H MPKP. Beispiel für eine Rechnung. Reduktion H MPKP. Überführungsregeln

H MPKP. Beispiel für eine Rechnung. Reduktion H MPKP. Überführungsregeln H MPKP Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen. Beispiel für eine Rechnung ##q ab##xq b##xyq 2 ##xyzq 3 ##xyq 4

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 18. Vorlesung 22.12.2006 1 Komplexitätstheorie - Zeitklassen Komplexitätsmaße Wiederholung: O,o,ω,Θ,Ω Laufzeitanalyse Die Komplexitätsklassen

Mehr

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine Kontextsensitive und Typ 0 Sprachen Slide 2 Die Turingmaschine DTM = Deterministische Turingmaschine NTM = Nichtdeterministische Turingmaschine TM = DTM oder NTM Intuitiv gilt: DTM = (DFA + dynamischer

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

19. Nichtdeterministische Turingmaschinen und ihre Komplexität

19. Nichtdeterministische Turingmaschinen und ihre Komplexität 19. Nichtdeterministische Turingmaschinen und ihre Komplexität Bei einem Turingmaschinenprogramm P aus bedingten Anweisungen wird durch die Forderung i a b B j i a b B j i a sichergestellt, dass zu jeder

Mehr

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62 Ein formales Berechnungsmodell: Turingmaschinen Turingmaschinen 26 / 62 Ein formales Rechnermodell Bisher haben wir abstrakt von Algorithmen bzw. Programmen gesprochen und uns dabei JAVA- oder C++-Programme

Mehr

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis: 1 Unentscheidbarkeit 2 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 #include char *s="include

Mehr

Laufzeit einer DTM, Klasse DTIME

Laufzeit einer DTM, Klasse DTIME Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Mehrband-Turingmaschinen und die universelle Turingmaschine

Mehrband-Turingmaschinen und die universelle Turingmaschine Mehrband-Turingmaschinen und die universelle Turingmaschine Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 15 Turingmaschinen mit mehreren Bändern k-band

Mehr

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM Vom DFA zur TM Formale der Informatik 1 Kapitel 9 Frank Heitmann heitmann@informatik.uni-hamburg.de a b b a z 0 a z 1 a z 2 b 2. Mai 2016 Wir wollen auf dem Band nach rechts und links gehen können und

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

Mehr

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung Informatik III Arne Vater Wintersemester 2006/07 10. Vorlesung 24.11.2006 1 Turingmaschinen Informatik III 9. Vorlesung - 2 Turingmaschinen Eine (deterministische 1-Band) Turingmaschine (DTM) wird beschrieben

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

2 Turingmaschinen 6. Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

2 Turingmaschinen 6. Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel 2. Turingmaschinen Als Formulierung von Algorithmen benutzen wir hier Turingmaschinen. Von den vielen Varianten dieses Konzeptes (s. Vorlesung Einführung in die Theoretische Informatik ) greifen wir das

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

Mehr

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier Komplexitätstheorie WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Komplexitätstheorie Gesamtübersicht Organisatorisches / Einführung Motivation / Erinnerung / Fragestellungen

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse

Mehr

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1 Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 eil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung U Graz SS 2009 Übersicht 1 uring Maschinen uring-berechenbarkeit 2 Kostenmaße Komplexität 3 Mehrband-M

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

4.2 Varianten der Turingmaschine. 4 Turingmaschinen 4 Turingmaschinen Alles was intuitiv berechenbar ist, d.h. alles, was von einem Menschen berechnet werden kann, das kann auch von einer Turingmaschine berechnet werden. Ebenso ist alles, was eine andere

Mehr

Algorithmentheorie 9. Vorlesung

Algorithmentheorie 9. Vorlesung Algorithmentheorie 9. Vorlesung Martin Dietzfelbinger 8. Juni 2006 Turingtafel von M: Gödelnummern TM-Codes (q 0, 0,q 2, 1,R), (q 0, 1,q 0, 0,R), (q 0,B,q 1, 1,N), (q 2, 0,q 2, 0,R), (q 2, 1,q 2, 1,R),

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 20.12.2005 18. Vorlesung 1 Komplexitätstheorie - Zeitklassen Komplexitätsmaße Wiederholung: O,o,ω,Θ,Ω Laufzeitanalyse

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Akzeptierbarkeit und Entscheidbarkeit. Teil V.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Akzeptierbarkeit und Entscheidbarkeit. Teil V. Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 7. Turingmaschinen Automatenmodell für Typ-0-Sprachen Einschränkung liefert Automatenmodell für Typ-1-Sprachen Alan Turing 1936, ursprüngliches Ziel: Formalisierung des

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Einfache Turing Maschine. Formale Spezifikation einer einfachen Turing Maschine. M = (Σ,Γ,#,Q,s,F, ) Σ

Einfache Turing Maschine. Formale Spezifikation einer einfachen Turing Maschine. M = (Σ,Γ,#,Q,s,F, ) Σ Einfache Turing Maschine Band Formale Spezifikation einer einfachen Turing Maschine Lese-/ Schreibkopf Endliche Kontrolle Rechenschrittregeln: (endlich viele) Startkonfiguration: x Σ * auf Band L/S-Kopf

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 5. April 2005 2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Lösung! Beachten

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 26. November 2007 Semi-Entscheidbarkeit

Mehr

Präsenzübung Berechenbarkeit und Komplexität

Präsenzübung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 2013/14 Prof. Dr. Berthold Vöcking 28.01.2014 Kamal Al-Bawani Benjamin Ries Präsenzübung Berechenbarkeit und Komplexität Musterlösung Name:...................................

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist CF versus CS Theorem CF ist echt in CS enthalten. Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist L = {a m b m c m m 1} nicht kontextfrei. Andererseits ist L kontextsensitiv, wie die Grammatik

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 7.07.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 4.3 Eigenschaften von L 0 /L 1 -Sprachen 1. Abschlußeigenschaften 2. Prüfen von Eigenschaften 3. Grenzen der Sprachklassen Sprachklassen Semi-entscheidbare Sprache Sprache,

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen

Mehr

Berechenbarkeit/Entscheidbarkeit

Berechenbarkeit/Entscheidbarkeit Berechenbarkeit/Entscheidbarkeit Frage: Ist eine algorithmische Problemstellung lösbar? was ist eine algorithmische Problemstellung? formale Sprachen benötigen einen Berechenbarkeitsbegriff Maschinenmodelle

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Grundbegriffe der Informatik Tutorium 13

Grundbegriffe der Informatik Tutorium 13 Grundbegriffe der Informatik Tutorium 13 Tutorium Nr. 16 Philipp Oppermann 3. Februar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

13. Nichtdeterministische Turingmaschinen und ihre Komplexität

13. Nichtdeterministische Turingmaschinen und ihre Komplexität 13. Nichtdeterministische Turingmaschinen und ihre Komplexität DETERMINISMUS VS. NICHTDETERMINISMUS DETERMINISMUS: Bei einer k-band-turingmaschine M wurde durch die colorblue Überführungsfunktion δ : Z

Mehr

WS07/08 Automaten und Formale Sprachen 14. Vorlesung

WS07/08 Automaten und Formale Sprachen 14. Vorlesung WS07/08 Automaten und Formale Sprachen 14. Vorlesung Martin Dietzfelbinger 29. Januar 2008 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 29.01.2008 Klausur: Mittwoch, 5. März 2008 17:00 Uhr,

Mehr

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 25. Oktober 2006 Was ist ein Problem? Informelle Umschreibung

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 15.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Einführung in Berechenbarkeit, Komplexität und formale Sprachen Johannes Blömer Skript zur Vorlesung Einführung in Berechenbarkeit, Komplexität und formale Sprachen Universität Paderborn Wintersemester 2011/12 Inhaltsverzeichnis 1 Einleitung 2 1.1 Ziele der Vorlesung...................................

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 14. NICHTDETERMINISTISCHE TURINGMASCHINEN UND DEREN KOMPLEXITÄT Theoretische Informatik (SoSe 2011) 14. Nichtdeterministische

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Die Komplexitätsklasse P David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Äquivalenz von RM und TM Äquivalenz, Sätze Simulation DTM

Mehr