Übungen 1-12 Theoretische Informatik Sommersemester 2015
|
|
- Jakob Lang
- vor 6 Jahren
- Abrufe
Transkript
1 Übungen 1-12 Theoretische Informatik Sommersemester 2015 Markus Schlaffer 23. Juli /90
2 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie Sprachen und Kellerautomaten 5 Turingmaschinen 6 Berechenbarkeitstheorie 7 Komplexitätstheorie 2/90
3 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie Sprachen und Kellerautomaten 5 Turingmaschinen 6 Berechenbarkeitstheorie 7 Komplexitätstheorie 3/90 Einführung
4 Organisatorisches Markus Schlaffer Mail: Web: home.in.tum.de/~schlaffm Meine Übungen Gruppe 11: Dienstag, 10:15-11:45, Gruppe 23: Donnerstag, 10:15-11:45, Klausur Endterm: Do h Wiederholung: Do :30-11:30h 4/90 Einführung
5 Struktur der Übung Hausaufgaben Stoffwiederholung der letzten Woche Abgabe am Montag, 13h Rückgabe in der Übung Kein Notenbonus Trotzdem beste Vorbereitung für Klausur! zeitnahe Musterlösungen Tutoraufgaben Bearbeitung und Besprechung in der Tutorübung Vorbereitung für Hausaufgaben der nächsten Woche Musterlösungen 2 Wochen verzögert Vorbereitungsaufgaben Vorbereitung für Tutor und Hausaufgaben Bearbeitung zu Hause (optionale) Besprechung in der Zentralübung kurze Wiederholung in Tutorübung 5/90 Einführung
6 Was ist Theo? Aus der VL Grammatiken Syntax von Programmiersprachen Automatentheorie Rechner mit endlichem oder kellerartigem Speicher Berechenbarkeitstheorie Untersuchung der Grenzen, was Rechner prinzipiell können Komplexitätstheorie Untersuchung der Grenzen, was Rechner mit begrenzten Ressourcen können 6/90 Einführung
7 Wiederholung: Mengenlehre Definition (Menge) Eine Menge ist eine ungeordnete Sammlung unterscheidbarer Objekte. Mit Mengenklammern werden Objekte zusammengefasst. A := {a, b,..., z} Man nennt a ein Element von A, es gilt a A. Reihenfolge ist egal Elemente kommen nicht mehrfach vor Beispiel {a, b, c, a, c} = {a, b, c} = {c, a, b} N := {1, 2, 3,...} := {} 7/90 Einführung
8 Wiederholung: Mengenoperationen Operationen A := {x x A} A B := {x x A oder x B} A B := {x x A und x B} A \ B := A B A B := (A \ B) (B \ A) Komplement Vereinigung Schnitt Differenz Symmetrische Differenz Für mehrere Mengen schreibt man n A i := A 1 A 2... A n i=1 n A i := A 1 A 2... A n i=1 8/90 Einführung
9 Wiederholung: Tupel Definition (Tupel) Ein n-tupel ist eine geordnete Sammlung n beliebiger Objekte. Mit Tupelklammern werden Objekte zusammengefasst. T := (t 1, t 2,..., t n ) Reihenfolge nicht egal Elemente dürfen mehrmals vorkommen Beispiel (a, b, c) = (c, a, b) = (a, b, c, a, c) (1, 2, 3) = {3, 2, 1} = {1, 2, 3} ({α, β},, N) 9/90 Einführung
10 Wiederholung: Kreuzprodukt Definition (Kreuzprodukt) Sind A, B Mengen, dann ist ihr kartesisches Produkt (Kreuzprodukt) A B := {(a, b) a A, b B} Für Mengen A i ist A 1... A n := {(a 1,..., a n ) a 1 A 1,..., a n A n } Für endliche A i ist A 1... A n = A 1... A n Man schreibt A n := A... A mit A 0 = { } n mal Beispiel {1, 2} {a, b} = {(1, a), (2, a), (1, b), (2, b)} {α, β} 2 = {(α, α), (α, β), (β, α), (β, β)} 10/90 Einführung
11 Alphabete Definition Ein Alphabet Σ ist eine endliche Menge Ein Wort über Σ ist eine endliche Folge von Zeichen Σ n ist die Menge aller Wörter über Σ der Länge n Σ ist die Menge aller endlichen Wörter über Σ Eine Teilmenge L Σ ist eine formale Sprache Definition (Operationen auf Sprachen) AB := {uv u A v B} A n+1 := AA n, A 0 := {ɛ} A := n N 0 A n 11/90 Einführung
12 Wiederholung: Eigenschaften von Funktionen Eigenschaften von Funktionen Sei f : A B eine Funktion. Man nennt f injektiv b B. f 1 (b) 1 (Kein b wird doppelt getroffen) surjektiv b B. f 1 (b) 1 (Jedes b wird getroffen) bijektiv b B. f 1 (b) = 1 (Jedes b wird genau einmal getroffen) Injektiv Surjektiv Bijektiv A f B A f B A f B 12/90 Einführung
13
14
15
16 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie Sprachen und Kellerautomaten 5 Turingmaschinen 6 Berechenbarkeitstheorie 7 Komplexitätstheorie 16/90 Sprachen und Grammatiken
17 Grammatiken Definition (Grammatik) Eine (Phrasenstruktur-)Grammatik G = (V, Σ, P, S) ist ein 4-Tupel: V endlich viele Nichtterminale (Variablen) Σ ein Alphabet von Terminalen P endlich viele Produktionen (V Σ) (V Σ) S ein Startsymbol (Axiom) Ist (l, r) P, so schreibt man l r. Beispiel Σ = {0, 1}. Grammatik für alle Wörter ungerader Länge, bei denen alle Nullen vor der ersten Eins stehen und weniger Nullen als Einsen vorhanden sind. 17/90 Sprachen und Grammatiken
18 Grammatiken Definition (Grammatik) Eine (Phrasenstruktur-)Grammatik G = (V, Σ, P, S) ist ein 4-Tupel: V endlich viele Nichtterminale (Variablen) Σ ein Alphabet von Terminalen P endlich viele Produktionen (V Σ) (V Σ) S ein Startsymbol (Axiom) Ist (l, r) P, so schreibt man l r. Beispiel Σ = {0, 1}. Grammatik für alle Wörter ungerader Länge, bei denen alle Nullen vor der ersten Eins stehen und weniger Nullen als Einsen vorhanden sind. S 0S1 S /90 Sprachen und Grammatiken
19 Chomsky-Hierarchie Alle formalen Sprachen Typ 0 - Rekursiv aufzählbar Grammatik Turingmaschine, WHILE-Programm, µ-rekursive Funktion Typ 1 - Kontextsensitiv Längenmonotone Grammatik Linear Beschränkter Automat (LBA) Typ 2 - Kontextfrei Links nur ein Nichtterminal Kellerautomat (PDA) Typ 3 - Regulär Links- / Rechtsreguläre Grammatik DFA, NFA, RE 18/90 Sprachen und Grammatiken
20 Monotonie Sei G = (V, Σ, P, S) eine Grammatik und α β P beliebig. Definition (Monotonie) G heißt (längen-)monoton, wenn für α = S gilt α β und falls S ɛ P, dann kommt S nie auf der rechten Seite vor. 19/90 Sprachen und Grammatiken
21 Sprachtypen Sei G = (V, Σ, P, S) eine Grammatik und α β P beliebig. Definition (Chomsky-Typen) Seien A V, γ, δ (V Σ) und β (V Σ) +. Damit G vom Typ k ist, muss für alle α (α beinhaltet mindestens eine Variable) und β gelten: α (Σ V) \Σ β (Σ V) Typ 0 beliebig beliebig Typ 1 = γaδ = γβ δ Typ 2 V beliebig Typ 3 V Σ + Σ V Ab Typ 1 muss G auch monoton sein. 20/90 Sprachen und Grammatiken
22 Sprachtypen (updated) Sei G = (V, Σ, P, S) eine Grammatik und α β P beliebig. Definition (Chomsky-Typen) Seien A V, γ, δ (V Σ) und β (V Σ) +. Damit G in eine Grammatik vom Typ k umformbar ist bzw. eine Sprache vom Typ k beschreibt (L(G)=Typ k Sprache), muss für alle α (α beinhaltet mindestens eine Variable) und β gelten: α (Σ V) \Σ β (Σ V) Typ 0 beliebig beliebig Typ 1 beliebig monoton beliebig monoton Beispiel 16, Blatt 1: TA4 Typ 2 V beliebig Lemma 12 Typ 3 V Σ Σ V, Σ VΣ Definition 11, Blatt 1: TA3 21/90 Sprachen und Grammatiken
23 Eindeutigkeit Definition (kontextfreie Linksableitung) Eine Ableitung S xaz xβz w heißt (kontextfreie) Linksableitung, wenn für jede Anwendung jeder Produktion A β gilt, dass in x kein Nichtterminal vorkommt. Definition (Eindeutigkeit) Eine Grammatik heißt eindeutig, wenn es für jedes Wort genau eine Linksableitung gibt. Eine Sprache heißt eindeutig, wenn es für sie eine eindeutige Grammatik gibt. 22/90 Sprachen und Grammatiken
24 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie Sprachen und Kellerautomaten 5 Turingmaschinen 6 Berechenbarkeitstheorie 7 Komplexitätstheorie 23/90 Reguläre Sprachen und Endliche Automaten
25 DFA Definition (Deterministischer endlicher Automat) Ein DFA ist ein Tupel M = (Q, Σ, δ, q 0, F) aus einer/einem endlichen Menge von Zuständen Q endlichen Eingabealphabet Σ totalen Übergangsfunktion δ : Q Σ Q Startzustand q 0 Q Menge von Endzuständen F Q Er akzeptiert die Sprache L(M) = {w Σ ; ˆδ(q 0, w) F} q 0 q 1 q /90 Reguläre Sprachen und Endliche Automaten
26 NFA Definition (Nicht-Deterministischer endlicher Automat) Ein NFA ist ein Tupel N = (Q, Σ, δ, S, F) mit Q, Σ, F wie ein DFA Menge von Startzuständen S Q Übergangsfunktion δ : Q Σ P (Q) Er akzeptiert die Sprache L(N) = {w Σ ; ˆδ(S, w) F = } 0,1 1 q 0 q 1 25/90 Reguläre Sprachen und Endliche Automaten
27 NFA DFA Potenzmengenkonstruktion Konstruiere einen Automaten, der alle möglichen Pfade gleichzeitig berücksichtigt. Gegeben ein NFA (Q, Σ, δ, S, F), konstruiere einen DFA mit Zuständen aus P (Q). Starte in {S} Die Übergangsfunktion speichert alle möglichen Schritte δ : P (Q) Σ P (Q) δ(m, a) = δ(q, a) q M M ist Endzustand wenn F M = 0, 1 1 q 0 q 1 26/90 Reguläre Sprachen und Endliche Automaten
28 NFA DFA Potenzmengenkonstruktion Konstruiere einen Automaten, der alle möglichen Pfade gleichzeitig berücksichtigt. Gegeben ein NFA (Q, Σ, δ, S, F), konstruiere einen DFA mit Zuständen aus P (Q). Starte in {S} Die Übergangsfunktion speichert alle möglichen Schritte δ : P (Q) Σ P (Q) δ(m, a) = δ(q, a) q M M ist Endzustand wenn F M = 0, 1 1 q 0 q 1 q {0} 26/90 Reguläre Sprachen und Endliche Automaten
29 NFA DFA Potenzmengenkonstruktion Konstruiere einen Automaten, der alle möglichen Pfade gleichzeitig berücksichtigt. Gegeben ein NFA (Q, Σ, δ, S, F), konstruiere einen DFA mit Zuständen aus P (Q). Starte in {S} Die Übergangsfunktion speichert alle möglichen Schritte δ : P (Q) Σ P (Q) δ(m, a) = δ(q, a) q M M ist Endzustand wenn F M = 0, q 0 q 1 q {0} 26/90 Reguläre Sprachen und Endliche Automaten
30 NFA DFA Potenzmengenkonstruktion Konstruiere einen Automaten, der alle möglichen Pfade gleichzeitig berücksichtigt. Gegeben ein NFA (Q, Σ, δ, S, F), konstruiere einen DFA mit Zuständen aus P (Q). Starte in {S} Die Übergangsfunktion speichert alle möglichen Schritte δ : P (Q) Σ P (Q) δ(m, a) = δ(q, a) q M M ist Endzustand wenn F M = 0, 1 1 q 0 q 1 0 q {0} q {0,1} 1 26/90 Reguläre Sprachen und Endliche Automaten
31 NFA DFA Potenzmengenkonstruktion Konstruiere einen Automaten, der alle möglichen Pfade gleichzeitig berücksichtigt. Gegeben ein NFA (Q, Σ, δ, S, F), konstruiere einen DFA mit Zuständen aus P (Q). Starte in {S} Die Übergangsfunktion speichert alle möglichen Schritte δ : P (Q) Σ P (Q) δ(m, a) = δ(q, a) q M M ist Endzustand wenn F M = 0, q 0 q 1 q {0} q {0,1} 0 26/90 Reguläre Sprachen und Endliche Automaten
32 ɛ-nfa Definition (NFA mit ɛ-übergängen) Ein ɛ-nfa ist ein Tupel N = (Q, Σ, δ, S, F) mit Q, Σ, F wie ein DFA Menge von Startzuständen S Q Übergangsfunktion δ : Q (Σ {ɛ}) P (Q) 0,1 q 0 ɛ q 1 1 q 2 ɛ 27/90 Reguläre Sprachen und Endliche Automaten
33 Reguläre Ausdrücke Definition (Regulärer Ausdruck) Reguläre Ausdrücke sind induktiv definiert ist ein regulärer Ausdruck ɛ ist ein regulärer Ausdruck Für alle a Σ ist a ein regulärer Ausdruck Sind α und β reguläre Ausdrücke, dann auch Konkatenation αβ Veroderung α β Wiederholung α Analoge Sprachdefinition, z.b. L(αβ) = L(α)L(β) Beispiel α = (0 1) 00 Worte bestehen aus einer beliebigen Folge von Einsen und Nullen gefolgt von zwei Nullen. L(α) {x x Binärzahl, x mod 4 = 0} 28/90 Reguläre Sprachen und Endliche Automaten
34 RE ɛ-nfa Thompson-Konstruktion Für einen Ausdruck γ wird rekursiv mit struktureller Induktion ein ɛ-nfa konstruiert. γ = γ = ɛ γ = a Σ a γ = αβ ɛ ɛ ɛ N α N β 29/90 Reguläre Sprachen und Endliche Automaten
35 RE ɛ-nfa γ = α β ɛ N α ɛ ɛ ɛ N β γ = α ɛ ɛ ɛ N α 30/90 Reguläre Sprachen und Endliche Automaten ɛ
36 ɛ-nfa NFA Idee Entferne ɛ-kanten durch das Bilden von ɛ-hüllen. 1 Reduziere den ɛ-nfa so weit wie möglich. 2 Für jeden Pfad der Form ɛ... ɛaɛ... ɛ verbinde Anfangs- und Endknoten mit einer a-kante. 3 Entferne alle ɛ-kanten und unerreichbare Knoten. 4 Wurde das leere Wort akzeptiert mache den Anfangszustand zum Endzustand. ɛ q 0 ɛ q 1 1 q 2 0 q 3 ɛ 31/90 Reguläre Sprachen und Endliche Automaten
37 ɛ-nfa NFA Idee Entferne ɛ-kanten durch das Bilden von ɛ-hüllen. 1 Reduziere den ɛ-nfa so weit wie möglich. 2 Für jeden Pfad der Form ɛ... ɛaɛ... ɛ verbinde Anfangs- und Endknoten mit einer a-kante. 3 Entferne alle ɛ-kanten und unerreichbare Knoten. 4 Wurde das leere Wort akzeptiert mache den Anfangszustand zum Endzustand. ɛ q 0 1 q 2 0 q 3 ɛ 31/90 Reguläre Sprachen und Endliche Automaten
38 ɛ-nfa NFA Idee Entferne ɛ-kanten durch das Bilden von ɛ-hüllen. 1 Reduziere den ɛ-nfa so weit wie möglich. 2 Für jeden Pfad der Form ɛ... ɛaɛ... ɛ verbinde Anfangs- und Endknoten mit einer a-kante. 3 Entferne alle ɛ-kanten und unerreichbare Knoten. 4 Wurde das leere Wort akzeptiert mache den Anfangszustand zum Endzustand. 0 0 ɛ q 0 1 q 2 0 q 3 0 ɛ 31/90 Reguläre Sprachen und Endliche Automaten
39 ɛ-nfa NFA Idee Entferne ɛ-kanten durch das Bilden von ɛ-hüllen. 1 Reduziere den ɛ-nfa so weit wie möglich. 2 Für jeden Pfad der Form ɛ... ɛaɛ... ɛ verbinde Anfangs- und Endknoten mit einer a-kante. 3 Entferne alle ɛ-kanten und unerreichbare Knoten. 4 Wurde das leere Wort akzeptiert mache den Anfangszustand zum Endzustand q 0 q 2 q /90 Reguläre Sprachen und Endliche Automaten
40 ɛ-nfa NFA Idee Entferne ɛ-kanten durch das Bilden von ɛ-hüllen. 1 Reduziere den ɛ-nfa so weit wie möglich. 2 Für jeden Pfad der Form ɛ... ɛaɛ... ɛ verbinde Anfangs- und Endknoten mit einer a-kante. 3 Entferne alle ɛ-kanten und unerreichbare Knoten. 4 Wurde das leere Wort akzeptiert mache den Anfangszustand zum Endzustand. 0 0 q q 2 q 3 31/90 Reguläre Sprachen und Endliche Automaten
41 ɛ-nfa reduzieren Idee 1 Entferne redundante Endzustände 2 Entferne unnötige Knoten Definition Unnötige Knoten nur eine einzige eingehende und ausgehende Kante eine der Kanten ist eine ɛ-kante kein Endzustand ɛ 32/90 Reguläre Sprachen und Endliche Automaten
42 ɛ-nfa reduzieren Idee 1 Entferne redundante Endzustände 2 Entferne unnötige Knoten Definition Unnötige Knoten nur eine einzige eingehende und ausgehende Kante eine der Kanten ist eine ɛ-kante kein Endzustand ɛ ɛ 32/90 Reguläre Sprachen und Endliche Automaten
43 ɛ-nfa reduzieren Idee 1 Entferne redundante Endzustände 2 Entferne unnötige Knoten Definition Unnötige Knoten nur eine einzige eingehende und ausgehende Kante eine der Kanten ist eine ɛ-kante kein Endzustand ɛ ɛ a ɛ 32/90 Reguläre Sprachen und Endliche Automaten
44 ɛ-nfa reduzieren Idee 1 Entferne redundante Endzustände 2 Entferne unnötige Knoten Definition Unnötige Knoten nur eine einzige eingehende und ausgehende Kante eine der Kanten ist eine ɛ-kante kein Endzustand ɛ ɛ a ɛ a 32/90 Reguläre Sprachen und Endliche Automaten
45 Äquivalenzen Definition (Äquivalente Worte) Jede Sprache L Σ induziert eine Äquivalenzrelation L Σ Σ über Wörter u, v u L v ( w Σ.uw L vw L) Definition (Äquivalente Zustände) Zwei Zustände p, q im DFA A sind äquivalent wenn sie die selbe Sprache akzeptieren. p A q ( w Σ. ˆδ(p, w) F ˆδ(q, w) F ) 33/90 Reguläre Sprachen und Endliche Automaten
46 Äquivalenzen Definition (Äquivalente Worte) Jede Sprache L Σ induziert eine Äquivalenzrelation L Σ Σ über Wörter u, v u L v ( w Σ.uw L vw L) Definition (Äquivalente Zustände) Zwei Zustände p, q im DFA A sind äquivalent wenn sie die selbe Sprache akzeptieren. p A q ( w Σ. ˆδ(p, w) F ˆδ(q, w) F ) 33/90 Reguläre Sprachen und Endliche Automaten
47 Unterscheidbare Zustände Definition (Unterscheidbarkeit) Zwei Zustände sind unterscheidbar, wenn sie unterschiedliche Sprachen akzeptieren. p A q ( w Σ. ˆδ(p, w) F ˆδ(q, w) F ) Insbesondere sind Endzustände von normalen Zuständen ohne Eingabe unterscheidbar. Satz Sind δ(p, a) = p 2 und δ(q, a) = q 2 unterscheidbar, dann auch p und q 34/90 Reguläre Sprachen und Endliche Automaten
48 DFA minimieren Quotientenautomat 1 Entferne alle von q 0 nicht erreichbaren Zustände 2 Berechne die unterscheidbaren Zustände 3 Kollabiere die äquivalenten Zustände q 3 ist unterscheidbar von allen anderen Zuständen, da q 3 der einzige Endzustand ist q 0 q 1 a q 0 q 1 q 2 q 3 b a, b a, b a, b q 2 q 3 35/90 Reguläre Sprachen und Endliche Automaten
49 DFA minimieren Quotientenautomat 1 Entferne alle von q 0 nicht erreichbaren Zustände 2 Berechne die unterscheidbaren Zustände 3 Kollabiere die äquivalenten Zustände q 3 ist unterscheidbar von allen anderen Zuständen, da q 3 der einzige Endzustand ist q 0 q 1 a q 0 q 1 q 2 q 3 b a, b a, b a, b q 2 q 3 35/90 Reguläre Sprachen und Endliche Automaten
50 DFA minimieren Quotientenautomat 1 Entferne alle von q 0 nicht erreichbaren Zustände 2 Berechne die unterscheidbaren Zustände 3 Kollabiere die äquivalenten Zustände q 3 ist unterscheidbar von allen anderen Zuständen, da q 3 der einzige Endzustand ist q 0 q 1 a q 0 q 1 q 2 q 3 b a, b a, b a, b q 2 q 3 35/90 Reguläre Sprachen und Endliche Automaten
51 DFA minimieren Quotientenautomat 1 Entferne alle von q 0 nicht erreichbaren Zustände 2 Berechne die unterscheidbaren Zustände 3 Kollabiere die äquivalenten Zustände q 3 ist unterscheidbar von allen anderen Zuständen, da q 3 der einzige Endzustand ist q 0 q 1 a q 0 q 1 q 2 b a, b q 3 a, b a, b q 2 q 3 35/90 Reguläre Sprachen und Endliche Automaten
52 DFA minimieren Quotientenautomat 1 Entferne alle von q 0 nicht erreichbaren Zustände 2 Berechne die unterscheidbaren Zustände 3 Kollabiere die äquivalenten Zustände q 0 kann von q 1 und q 2 im ersten Schritt unterschieden werden, da man mit Eingabe a von q 1 und q 2 in einen Endzustand gelangt, von q 0 aber nicht a q 0 q 1 q 0 q 1 1/a q 2 1/a q 3 b a, b a, b a, b q 2 q 3 35/90 Reguläre Sprachen und Endliche Automaten
53 DFA minimieren Quotientenautomat 1 Entferne alle von q 0 nicht erreichbaren Zustände 2 Berechne die unterscheidbaren Zustände 3 Kollabiere die äquivalenten Zustände q 1 kann mit keiner Eingabe von q 2 unterschieden werden a q 0 q 1 q 0 1/a q 1 1/a q 2 q 3 b a, b a, b a, b q 2 q 3 35/90 Reguläre Sprachen und Endliche Automaten
54 DFA minimieren Quotientenautomat 1 Entferne alle von q 0 nicht erreichbaren Zustände 2 Berechne die unterscheidbaren Zustände 3 Kollabiere die äquivalenten Zustände q 1 kann mit keiner Eingabe von q 2 unterschieden werden q 0 a, b q 12 q 0 1/a q 1 1/a q 2 q 3 q 3 a, b a, b 35/90 Reguläre Sprachen und Endliche Automaten
55 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie Sprachen und Kellerautomaten 5 Turingmaschinen 6 Berechenbarkeitstheorie 7 Komplexitätstheorie 36/90 Kontextfreie Sprachen und Kellerautomaten
56 CNF Definition (Chomsky-Normalform) Eine kontextfreie Grammatik ist in Chomsky-Normalform (CNF) genau dann wenn alle Produktionen die Form haben. A a oder A BC oder S ɛ Satz Zu jeder CFG G existiert eine CFG G in Chomsky-Normalform mit L(G ) = L(G) 37/90 Kontextfreie Sprachen und Kellerautomaten
57 CNF Konstruktion CNF Konstruktion Sei G = (V, Σ, P, S) eine CFG. Initialisiere P = P und erzeuge G = (V, Σ, P, T) in CNF mit L(G) = L(G ) wie folgt 1 Eliminiere ɛ-produktionen 2 Eliminiere Kettenproduktionen 3 Ersetze Terminale durch Nichtterminale 4 Verkürze Ketten von Nichtterminalen der Länge 3 5 Behandle Ausnahme S ɛ 38/90 Kontextfreie Sprachen und Kellerautomaten
58 CNF Konstruktion CNF Konstruktion Sei G = (V, Σ, P, S) eine CFG. Initialisiere P = P und erzeuge G = (V, Σ, P, T) in CNF mit L(G) = L(G ) wie folgt Eliminiere ɛ-produktionen Sind B ɛ und A αbβ in P, dann füge A αβ hinzu. Entferne danach alle ɛ-produktionen S Ab, A aaa ɛ wird zu: S Ab b A aaa aa a 39/90 Kontextfreie Sprachen und Kellerautomaten
59 CNF Konstruktion CNF Konstruktion Sei G = (V, Σ, P, S) eine CFG. Initialisiere P = P und erzeuge G = (V, Σ, P, T) in CNF mit L(G) = L(G ) wie folgt Eliminiere Kettenproduktionen Sind A B und B α in P, dann füge A α hinzu. Entferne danach alle Kettenproduktionen A B wird zu: S A, A a B, B bs S a bs A a bs B bs 39/90 Kontextfreie Sprachen und Kellerautomaten
60 CNF Konstruktion CNF Konstruktion Sei G = (V, Σ, P, S) eine CFG. Initialisiere P = P und erzeuge G = (V, Σ, P, T) in CNF mit L(G) = L(G ) wie folgt Eliminiere Kettenproduktionen Sind A B und B α in P, dann füge A α hinzu. Entferne danach alle Kettenproduktionen A B und unerreichbare Symbole wird zu: S A, A a B, B bs S a bs 39/90 Kontextfreie Sprachen und Kellerautomaten
61 CNF Konstruktion CNF Konstruktion Sei G = (V, Σ, P, S) eine CFG. Initialisiere P = P und erzeuge G = (V, Σ, P, T) in CNF mit L(G) = L(G ) wie folgt Ersetze Terminale durch Nichtterminale Ersetze jedes a Σ in einer rechten Seite länger als 1 durch ein neues Nichtterminal. wird zu: S aa Bb b, B... S X a X a BX b b X a a, X b b 39/90 Kontextfreie Sprachen und Kellerautomaten
62 CNF Konstruktion CNF Konstruktion Sei G = (V, Σ, P, S) eine CFG. Initialisiere P = P und erzeuge G = (V, Σ, P, T) in CNF mit L(G) = L(G ) wie folgt Verkürze Ketten von Nichtterminalen der Länge 3 Ersetze jede Produktion der Form A B 1 B 2... B k durch neue Nichtterminale mit Produktionen der Länge 2. wird zu: S X a X b BX a, X a a, X b b, B... S X a T 1 T 1 X b T 2, T 2 BX a 39/90 Kontextfreie Sprachen und Kellerautomaten
63 CNF Konstruktion CNF Konstruktion Sei G = (V, Σ, P, S) eine CFG. Initialisiere P = P und erzeuge G = (V, Σ, P, T) in CNF mit L(G) = L(G ) wie folgt Behandle Ausnahme S ɛ Falls S ɛ P: Setze T = S, d.h. G = (V, Σ, P, S) 39/90 Kontextfreie Sprachen und Kellerautomaten
64 CNF Konstruktion CNF Konstruktion Sei G = (V, Σ, P, S) eine CFG. Initialisiere P = P und erzeuge G = (V, Σ, P, T) in CNF mit L(G) = L(G ) wie folgt Behandle Ausnahme S ɛ Falls S ɛ P: Kopiere Produktionen S α zu T α und füge T ɛ hinzu S X a S a X a a wird zu: T X a S a ɛ S X a S a X a a Entferne ggf. S und alle Produktionen mit S, falls S nicht mehr erreichbar ist 39/90 Kontextfreie Sprachen und Kellerautomaten
65 CYK Definition (Cocke-Younger-Kasami-Algorithmus) Der CYK-Algorithmus entscheidet das Wortproblem für kontextfreie Grammatiken in Chomsky-Normalform in O(n 3 ). Gegeben eine Grammatik G = (V, Σ, P, S) in CNF und ein Wort w = a 1... a n Σ. Mit V ij := { A V A G a i... a } j ist w L(G) S V 1n Korrolar V ii = {A V (A a i ) P} { V ij = A V k : i k < j, B V ik, C V (k+1)j } : (A BC) P 40/90 Kontextfreie Sprachen und Kellerautomaten
66 Eigenschaften von Symbolen Definition Sei G = (V, Σ, P, S) eine CFG. Ein Symbol X V Σ ist erzeugend: es gibt X G w Σ erreichbar: es gibt S G αxβ nützlich: es gibt S G w Σ in der X vorkommt Satz Nützliche Symbole sind erzeugend und erreichbar. Aber nicht notwendigerweise umgekehrt. S AB a, A b 41/90 Kontextfreie Sprachen und Kellerautomaten
67 Pumping Lemma für reguläre Sprachen Satz (Pumping Lemma für reguläre Sprachen) Sei R Σ regulär. Dann gibt es ein n > 0, so dass sich jedes z R mit z n so in z = uvw zerlegen lässt, dass v = ɛ uv n i 0.uv i w R v u w 42/90 Kontextfreie Sprachen und Kellerautomaten
68 Pumping Lemma für CFLs Satz (Pumping Lemma für kontextfreie Sprachen) Sei L Σ kontextfrei. Dann gibt es ein n > 0, so dass sich jedes z L mit z n so in z = uvwxy zerlegen lässt, dass vx = ɛ vwx n i 0.uv i wx i y L S uay uvaxy uvwxy S S uay uwy S A A u v w x y 43/90 Kontextfreie Sprachen und Kellerautomaten A u w y
69 Ogden Lemma für kontextfreie Sprachen Satz (Ogden Lemma für kontextfreie Sprachen) Sei L Σ kontextfrei. Dann gibt es ein n > 0, so dass für jedes z L mit z n gilt: Für jede Markierung M von mindestens n Buchstaben in z gibt es eine Zerlegung z = uvwxy mit vx M 1 vwx M n i 0.uv i wx i y L Beispiel (Markierung) Sei w = abaabaaa ein Wort. Dann ist w = abaabaaa eine Markierung mit w M = 3. 44/90 Kontextfreie Sprachen und Kellerautomaten
70 Kellerautomaten Definition (Kellerautomat) Ein PDA (Push-Down-Automaton) ist ein Tupel P = (Q, Σ, Γ, δ, q 0, Z 0, F) aus einer/einem endlichen Menge von Zuständen Q endlichen Eingabealphabet Σ endlichen Kelleralphabet Γ Übergangsfunktion δ : Q (Σ {ɛ}) Γ P(Q Γ ) Startzustand q 0 Q Kellerinitialisierung Z 0 Γ Menge von Endzuständen F Q a, Z 0 /γ q 0 q 1 45/90 Kontextfreie Sprachen und Kellerautomaten
71 Kellerautomaten Definition (Konfiguration eines PDA) Eine Konfiguration eines PDA (Push-Down-Automaton) P = (Q, Σ, Γ, δ, q 0, Z 0, F) ist ein Tripel (q, w, γ) mit: Zustand (Rest)Eingabe Keller / Stack q Q w Σ γ Γ Beispiel Konfigurationsabfolge (vgl. Ableitung) zur Übergangsfunktion δ: δ(q 0, a, Z 0 ) (q 1, Z 1 ) (q 0, abc, Z 0 γ) (q 1, bc, Z 1 γ) a, Z 0 /Z 1 q 0 q 1 46/90 Kontextfreie Sprachen und Kellerautomaten
72 Kellerautomaten Definition (Kellerautomat) Ein PDA (Push-Down-Automaton) ist ein Tupel P = (Q, Σ, Γ, δ, q 0, Z 0, F) aus einer/einem Übergangsfunktion δ : Q (Σ {ɛ}) Γ P(Q Γ ) Definition (Akzeptanz) Ein PDA P akzeptiert w Σ mit Endzustand gdw f F, γ Γ.(q 0, w, Z 0 ) P (f, ɛ, γ) Ein PDA P akzeptiert w Σ mit leerem Keller gdw q Q.(q 0, w, Z 0 ) P (q, ɛ, ɛ) 47/90 Kontextfreie Sprachen und Kellerautomaten
73 Kellerautomaten Definition (Kellerautomat) Ein PDA (Push-Down-Automaton) ist ein Tupel P = (Q, Σ, Γ, δ, q 0, Z 0, F) aus einer/einem Zustandsmenge Q, Eingabealphabet Σ, Kelleralphabet Γ Übergangsfunktion δ : Q (Σ {ɛ}) Γ P(Q Γ ) Startzustand q 0 Q, Kellerinitialisierung Z 0 Γ Menge von Endzuständen F Q Definition (Deterministischer Kellerautomat) Ein PDA heißt deterministisch (DPDA) wenn für alle Zustände q Q, Buchstaben a Σ und Kellerbuchstaben Z Γ gilt δ(q, a, Z) + δ(q, ɛ, Z) 1 48/90 Kontextfreie Sprachen und Kellerautomaten
74 Präfixbedingung Definition (Präfixbedingung) Eine Sprache L erfüllt die Präfixbedingung, wenn kein Wort der Sprache echtes Präfix eines anderen Wortes der Sprache ist. w L s Σ +. ws L Satz Deterministisch kontextfreie Sprachen werden genau dann von einem DPDA mit leerem Keller akzeptiert, wenn sie die Präfixbedingung erfüllen. 49/90 Kontextfreie Sprachen und Kellerautomaten
75 Greibach-Normalform Definition (Greibach-Normalform) Eine kontextfreie Grammatik ist in Greibach-Normalform (GNF) genau dann, wenn alle Produktionen außer S ɛ die Form haben. A aα mit a Σ, α V Definition (vereinfachte Greibach-Normalform) Eine kontextfreie Grammatik ist in vereinfachter GNF genau dann, wenn alle Produktionen die Form haben. Satz A aα mit a Σ {ɛ}, α V Zu jeder CFG G existiert eine CFG G in Greibach-Normalform mit L(G ) = L(G) 50/90 Kontextfreie Sprachen und Kellerautomaten
76 Greibach-Normalform Satz Zu jeder CFG G in vereinfachter Greibach-Normalform (GNF) kann in linearer Zeit ein Kellerautomat (PDA) N (der mit leerem Stack akzeptiert) konstruiert werden, so dass L(N) = L(G) Definition (PDA Konstruktion) Sei G = (V, Σ, P, S). Konstruiere PDA N = (Q, Σ, Γ, q 0, Z 0, δ) mit: Q := {q 0 } Γ := V Z 0 := S δ(q 0, a, A) (q 0, α) für (A aα) P 51/90 Kontextfreie Sprachen und Kellerautomaten
77 Parsing Definition (Parsing) Ordne einem gegebenem Wort einen Ableitungsbaum einer Grammatik zu Vorgehen: Wende Produktionen rückwärts an (Reduktion) Wende immer die Reduktion an, die am weitesten links im Wort anwendbar ist Beispiel Gegeben das Wort abc und eine Grammatik mit folgenden Produktionen: S Ac Bbc Mögliche, gesuchte Reduktionsabfolgen: A ab abc Bbc S B a abc Ac S Wie kann man Kontextinformationen über die nächsten Zeichen im Wort verwenden? 52/90 Kontextfreie Sprachen und Kellerautomaten
78 Parsing Definition (Parsing) Ordne einem gegebenem Wort einen Ableitungsbaum einer Grammatik zu Vorgehen: Wende Produktionen rückwärts an (Reduktion) Wende immer die Reduktion an, die am weitesten links im Wort anwendbar ist Beispiel Gegeben das Wort abc und eine Grammatik mit folgenden Produktionen: S Ac Bbc Mögliche, gesuchte Reduktionsabfolgen: A ab abc Bbc S B a abc Ac S Wie kann man Kontextinformationen über die nächsten Zeichen im Wort verwenden? 52/90 Kontextfreie Sprachen und Kellerautomaten
79 Parsing Definition (Parsing) Ordne einem gegebenem Wort einen Ableitungsbaum einer Grammatik zu Vorgehen: Wende Produktionen rückwärts an (Reduktion) Wende immer die Reduktion an, die am weitesten links im Wort anwendbar ist Beispiel Gegeben das Wort abc und eine Grammatik mit folgenden Produktionen: S Ac Bbc Mögliche, gesuchte Reduktionsabfolgen: A ab abc Bbc S B a abc Ac S Wie kann man Kontextinformationen über die nächsten Zeichen im Wort verwenden? 52/90 Kontextfreie Sprachen und Kellerautomaten
80 Lookahead Definition (Lookahead) Definiere für jede Produktion bzw. Reduktion einen möglichst zielführenden Lookahead Wende Reduktion nur an, wenn der Lookahead mit den folgenden Zeichen im Wort übereinstimmt Alle Lookaheads haben eine Länge k, die angibt, wie viele Zeichen überprüft werden müssen Beispiel S Ac Bbc A ab B a Reduktion Ac S Bbc S ab A a B Lookahead ɛ ɛ c d Gegeben das Wort abc Dann darf a B nicht angewandt werden, da das nächste Zeichen im Wort b = Lookahead d ist, A ab jedoch schon. 53/90 Kontextfreie Sprachen und Kellerautomaten
81 LR(k)-Grammatik Definition (LR(k)-Grammatik) Eine CFG ist eine LR(k)-Grammatik, wenn Lookaheads der Länge k genügen, um jedem Wort eine eindeutige Ableitung zuzuordnen. Satz Die LR(0)-Grammatiken sind eine echte Teilmenge der LR(1)-Grammatiken. Diese entspechen genau den deterministisch kontextfreien Sprachen. LR(0) LR(1) = LR(k 1) = DCFL 54/90 Kontextfreie Sprachen und Kellerautomaten
82 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie Sprachen und Kellerautomaten 5 Turingmaschinen 6 Berechenbarkeitstheorie 7 Komplexitätstheorie 55/90 Turingmaschinen
83 Turingmaschinen Definition (Turingmaschine) Eine deterministische Turingmaschine (TM) ist ein Tupel M = (Q, Σ, Γ, δ, q 0,, F) aus einer/einem endlichen Menge von Zuständen Q endlichen Eingabealphabet Σ endlichen Bandalphabet Γ mit Σ Γ Übergangsfunktion δ : Q Γ Q Γ {L, R, N} Startzustand q 0 Q Leerzeichen Γ \ Σ Menge von Endzuständen F Q 56/90 Turingmaschinen
84 Turingmaschinen Definition (Turingmaschine) Eine deterministische Turingmaschine (TM) ist ein Tupel M = (Q, Σ, Γ, δ, q 0,, F) aus einer/einem Übergangsfunktion δ : Q Γ Q Γ {L, R, N} δ(q 0, 0) = (q 1, 1, R) q 0 Programm 57/90 Turingmaschinen
85 Turingmaschinen Definition (Turingmaschine) Eine deterministische Turingmaschine (TM) ist ein Tupel M = (Q, Σ, Γ, δ, q 0,, F) aus einer/einem Übergangsfunktion δ : Q Γ Q Γ {L, R, N} δ(q 0, 0) = (q 1, 1, R) q 1 Programm 57/90 Turingmaschinen
86 Turingmaschinen Definition (Konfiguration) Eine Konfiguration ist ein Tripel (α, q, β) Γ Q Γ. Dies modelliert eine TM mit: Bandinhalt... αβ... Zustand q Kopf auf dem ersten Zeichen von β Die Startkonfiguration bei Eingabe w Σ ist (ɛ, q 0, w). (011, q 1, 0) q 1 58/90 Turingmaschinen
87 Turingmaschinen Definition (Konfiguration) Eine Konfiguration ist ein Tripel (α, q, β) Γ Q Γ. Dies modelliert eine TM mit: Bandinhalt... αβ... Zustand q Kopf auf dem ersten Zeichen von β Die Startkonfiguration bei Eingabe w Σ ist (ɛ, q 0, w). Definition (Akzeptanz) Eine TM M akzeptiert die Sprache L(M) = {w Σ f F, α, β Γ.(ɛ, q 0, w) M (α, f, β)} 58/90 Turingmaschinen
88 Nichtdeterministische TM Definition (Nichtdeterministische Turingmaschine) Eine nichtdeterministische Turingmaschine (NDTM) ist ein Tupel M = (Q, Σ, Γ, δ, q 0,, F) aus einer/einem... Übergangsfunktion δ : Q Γ P (Q Γ {L, R, N})... Satz Zu jeder nichtdeterministischen TM N gibt es eine deterministische TM M mit L(N) = L(M). 59/90 Turingmaschinen
89 Linear Beschränkte Automaten Definition (Linear Beschränkte Automat) Eine TM heißt linear beschränkt (LBA), wenn sie nur den Bereich des Bandes, auf dem das Eingabewort steht, beschreibt und diesen niemals dauerhaft verlässt. Definition (Korrolar) Das bedeutet, falls sie diesen Bereich verlässt, dürfen Leerzeichen nicht überschrieben werden und der Zeiger muss wieder zurückkehren. Satz Die linear beschränkten NDTMs akzeptieren genau die Klasse der kontextsensitiven Sprachen (Typ 1). 60/90 Turingmaschinen
90 Queue-Automaten Definition (Queue-Automat) Ein Queue-Automat (QA) ist ein Tupel M = (Q, Σ, Γ, δ, q 0, Z 0, F) die analog zu Kellerautomaten definiert sind. Übergangsfunktion δ : Q (Σ {ɛ}) Γ P(Q Γ ) Im Gegensatz zu PDAs werden neue Symbole hinten angefügt. Beispiel Gegeben sei die Konfiguration (q, a, xα) eines Queue-Automaten und ein Schritt der Übergangsfunktion. δ(q, a, x) = (q, yz) Dann ergibt sich die folgende Transition. (q, a, xα) (q, ɛ, αyz) Satz Queue-Automaten sind genauso mächtig wie Turingmaschinen. 61/90 Turingmaschinen
91 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie Sprachen und Kellerautomaten 5 Turingmaschinen 6 Berechenbarkeitstheorie 7 Komplexitätstheorie 62/90 Berechenbarkeitstheorie
92 Berechenbarkeit Definition (Berechenbarkeit) Eine Funktion f : N k N heißt berechenbar, wenn es einen Algorithmus gibt, der bei Eingabe (n 1,..., n k ) N k nach endlich vielen Schritten mit Ergebnis f (n 1,..., n k ) hält, falls f (...) definiert ist, und nicht terminiert, falls f (...) nicht definiert ist. Churchsche These (nicht beweisbar) Turing-Maschinen können genau alle berechenbaren Funktionen berechnen. 63/90 Berechenbarkeitstheorie
93 Entscheidbarkeit Definition (Entscheidbarkeit) Eine Menge A heißt entscheidbar gdw ihre charakteristische Funktion { 1 falls x A χ A (x) := 0 falls x A berechenbar ist. Definition (Semi-Entscheidbarkeit) Eine Menge A heißt semi-entscheidbar gdw { χ A (x) := 1 falls x A falls x A berechenbar ist. 64/90 Berechenbarkeitstheorie
94 Primitive Rekursion Definition (Basisfunktionen der PR) Die Menge der primitiv rekursiven (PR) Funktionen ist induktiv definiert. Die Basisfunktionen sind: konstante Funktion f (x) = 0 Nachfolgerfunktion s(n) = n + 1 Projektionsfunktion π k i : N k 0 N 0, i [k] π k i (x 1,..., x k ) = x i Definition (Komposition) Seien g und h i PR und x = (x 1,..., x n ). Dann ist auch die Komposition f = g h PR. f ( x) = g(h 1 ( x),..., h k ( x)) 65/90 Berechenbarkeitstheorie
95 Primitive Rekursion Basisfunktionen und Komposition Die folgenden Funktionen sind schon als primitiv rekursiv bekannt. konstante Funktion f (x) = 0 Nachfolgerfunktion s(n) = n + 1 Projektionsfunktion π k i (x 1,..., x k ) = x i Komposition f ( x) = g(h 1 ( x),..., h k ( x)) Definition (Primitive Rekursion) Das Schema der primitiven Rekursion erzeugt aus g und h die neue Funktion f. f (0, x) = g( x) f ist ebenfalls primitiv rekursiv. f (m + 1, x) = h(f (m, x), m, x) 66/90 Berechenbarkeitstheorie
96 Erweitertes PR-Schema Definition (Erweitertes PR-Schema) Das erweiterte Schema der primitiven Rekursion erlaubt f (0, x) = t 0 f (m + 1, x) = t wobei t 0 und t Terme sind für die gilt t 0 enthält nur PR-Funktionen und die x i t enthält nur f (m, x), PR Funktionen, m und die x i. Satz Das erweiterte Schema der primitiven Rekursion führt nicht aus PR heraus. 67/90 Berechenbarkeitstheorie
97 PR-Programme Unter anderem diese Programme sind laut Vorlesung oder Übung PR: succ(x) = x + 1 pred(x) = max {0, x 1} add(x, y) = x + y x y = max {0, x y} mult(x, y) = x y div(x, y) = x y (Ganzzahldivision) pow(x, y) = x y Die restliche einfache Arithmetik..... tower(n) = mit tower(4) = 2 16 sqr(x) = x 2 sqrt(x) = x p(x, y) = n, c 1 (n) = x, c 2 (n) = y (Cantorsche Paarungsfunktion) { a n = 0 ifthen(n, a, b) = b n = 0 68/90 Berechenbarkeitstheorie
98 Prädikate Definition Ein Prädikat P ist ein logischer Ausdruck, der in Abhängigkeit von x N 0 true oder false liefert Definition Ordne dem Prädikat P eine Funktion ˆP zu, mit ˆP(x) = 1 P(x) = true Ist ˆP(x) PR, dann auch P(x) Beispiel IF Ausdrücke können direkt mit Prädikaten beschrieben werden: IFTHEN( ˆP(n), a, b) = b + ˆP (a b) 69/90 Berechenbarkeitstheorie
99 µ-rekursion Definition (µ-operator) Sei f : N k+1 0 N 0 eine Funktion. Der µ-operator definiert eine neue Funktion µf : N k 0 N 0: { min {n N (µf )( x) := 0 f (n, x) = 0} falls n existiert sonst Für alle m n muss f definiert sein: f (m, x) = PR + µ = µ-rekursion µ-rekursion WHILE 70/90 Berechenbarkeitstheorie
100 LOOP-Programme Definition (LOOP-Programm) Syntax von LOOP-Programmen. Es ist c N 0. P x i := c x i := x j + c x i := x j c P; P LOOP x i DO P END IF x i = 0 DO P ELSE Q END LOOP x i DO P END führt P genau n mal aus, wobei n der Anfangswert von x i ist Zuweisungen an x i in P ändern die Anzahl der Durchläufe nicht! PR LOOP berechenbar 71/90 Berechenbarkeitstheorie
101 WHILE-Programme Definition (WHILE-Programm) Syntax von WHILE-Programmen. Es ist c N 0. P x i := c x i := x j + c x i := x j c P; P WHILE x i = 0 DO P END IF x i = 0 DO P ELSE Q END Betrachte nur positive Zahlen: x j c = 0, falls c > x j 72/90 Berechenbarkeitstheorie
102 Rekursive Aufzählbarkeit Definition (Rekursiv aufzählbar) Eine Menge A heißt rekursiv aufzählbar wenn A = oder es eine berechenbare totale Funktion f : N 0 A gibt, so dass A = {f (0), f (1),...} = {f (n)} n N 0 Satz Sei A formale Sprache, dann ist äquivalent: A ist Typ 0 Sprache A rekursiv aufzählbar A semi-entscheidbar, also χ A berechenbar A = L(M) für eine TM M A ist Bild oder Urbild einer berechenbaren Funktion 73/90 Berechenbarkeitstheorie
103 Reduzierbarkeit Definition (Reduzierbarkeit) Eine Menge A Σ heißt reduzierbar auf eine Menge B Γ genau dann, wenn es eine totale und berechenbare Funktion f : Σ Γ gibt mit w A f (w) B w Σ Wir schreiben dann A B Intuitiv gilt: B ist mindestens so schwer zu lösen wie A Ist A unlösbar, dann auch B Ist B lösbar, dann erst recht A 74/90 Berechenbarkeitstheorie
104 Spezielles Halteproblem Definition (Spezielles Halteproblem) Gegeben ein Wort w {0, 1} und die durch Gödelisierung kodierte Turingmaschine M w. Die als spezielles Halteproblem bezeichnete Sprache H S enthält alle Turingmaschinen, die bei sich selbst als Eingabe halten. H S := {w M w [w] } Satz Das spezielle Halteproblem ist semi-entscheidbar, aber es ist nicht entscheidbar. H S ist also nicht semi-entscheidbar. 75/90 Berechenbarkeitstheorie
105 Allgemeines Halteproblem Definition (Allgemeines Halteproblem) Gegeben Wörter w, x {0, 1} und die durch Gödelisierung kodierte Turingmaschine M w. Die als allgemeines Halteproblem bezeichnete Sprache H enthält alle Paare M w und x, sodass M w bei Eingabe x hält. H := {w#x M w [x] } Satz Das allgemeine Halteproblem ist semi-entscheidbar, aber es ist nicht entscheidbar. H ist also nicht semi-entscheidbar. Es gilt H S H Das Halteproblem auf leerem Band bezeichnen wir mit H 0 76/90 Berechenbarkeitstheorie
106 Satz von Rice Satz (Rice) F ist eine Menge berechenbarer Funktionen, charakterisiert durch eine Eigenschaft h: F = {f f berechenbar f erfüllt h} F = und F = {f f berechenbar}: F und h nicht trivial Dann gilt: die Sprache {w Σ ϕ w F} ist unentscheidbar ϕ w ist die von der Turingmaschine M w berechnete Funktion Intuitiv gilt: Nicht-triviale semantische Eigenschaften von Programmen sind unentscheidbar Termination ist unentscheidbar 77/90 Berechenbarkeitstheorie
107 PCP Definition (Postsches Korrespondenzproblem) Gegeben endliche Folge (x 1, y 1 ),..., (x k, y k ) mit x i, y i Σ +. Gibt es eine Folge von Indizes i 1,..., i n {1,..., k} mit x i1,..., x in = y i1,..., y in x i 001 y i Satz Das PCP ist unentscheidbar, aber semi-entscheidbar. 78/90 Berechenbarkeitstheorie
108 PCP lösen Idee Mögliche Lösungen aufzählen, richtige Lösungen identifizieren x i 001 y i L = { (12 3) +} /90 Berechenbarkeitstheorie
109 PCP lösen Idee Mögliche Lösungen aufzählen, richtige Lösungen identifizieren x i 001 y i L = { (12 3) +} /90 Berechenbarkeitstheorie
110 Reguläre Sprachen RLG DFA NFA ɛ-nfa RE Satz Für eine Darstellung D einer regulären Sprache ist entscheidbar: Wortproblem Gegeben w, gilt w L(D)? Leerheitsproblem Ist L(D) =? Endlichkeitsproblem Ist L(D) <? Äquivalenzproblem Gilt L(D 1 ) = L(D 2 )? 80/90 Berechenbarkeitstheorie
111 Kontextfreie Sprachen CFG CNF GNF PDA ɛ PDA F Abschlusseigenschaften Schnitt Vereinigung Komplement Produkt Stern REG ja ja ja ja ja CFL nein ja nein ja ja Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem DFA O(n) ja ja ja CFG O(n 3 ) ja nein nein 81/90 Berechenbarkeitstheorie
112 Typ 0 Sprachen GOTO TM µr WHILE Satz Sei A formale Sprache, dann ist äquivalent: A ist Typ 0 Sprache A rekursiv aufzählbar A semi-entscheidbar, also χ A berechenbar A = L(M) für eine TM M A ist Bild oder Urbild einer berechenbaren Funktion 82/90 Berechenbarkeitstheorie
113 Spracheigenschaften Abschlusseigenschaften Schnitt Vereinigung Komplement Produkt Stern REG ja ja ja ja ja CFL nein ja nein ja ja CSL ja ja ja ja ja TM ja ja nein ja ja Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem DFA O(n) ja ja ja CFG O(n 3 ) ja nein nein CSL O(2 n ) nein nein nein TM nein nein nein nein 83/90 Berechenbarkeitstheorie
114 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie Sprachen und Kellerautomaten 5 Turingmaschinen 6 Berechenbarkeitstheorie 7 Komplexitätstheorie 84/90 Komplexitätstheorie
115 TIME Definition ((D)TIME) Die minimale Anzahl Schritte, bis eine DTM M mit Eingabe w hält nennen wir (D)TIME M (w) N { }. DTIME M (n) = max{dtime M (w) w = n} Definition (TIME(f (n))) Sei f : N N total. Dann ist TIME(f (n)) := {A Σ DTM M.A = L(M) w Σ.TIME M (w) f ( w )} die Klasse der in Zeit f (n) von einer DTM entscheidbaren Sprachen. TIME(O(n)) enthält alle linearen Probleme. Also alle Probleme, für die ein Linearzeitalgorithmus existiert. 85/90 Komplexitätstheorie
116 NTIME Definition (NTIME) Die minimale Anzahl Schritte, bis eine NDTM M mit Eingabe w hält nennen wir NTIME M (w) N { }. NTIME M (n) = max{ntime M (w) w = n} Definition (NTIME(f (n))) Sei f : N N total. Dann ist NTIME(f (n)) := {A Σ NDTM M.A = L(M) w Σ.ntime M (w) f ( w )} die Klasse der in Zeit f (n) von einer NDTM entscheidbaren Sprachen. 86/90 Komplexitätstheorie
117 P und NP Definition P ist die Menge aller von einer DTM in polynomieller Zeit entscheidbaren Sprachen. P := p Polynom TIME(p(n)) = k N TIME(O(n k )) Definition NP ist die Menge aller von einer NDTM in polynomieller Zeit entscheidbaren Sprachen. NP := p Polynom NTIME(p(n)) = k N NTIME(O(n k )) 87/90 Komplexitätstheorie
118 NP-Vollständigkeit Definition (NP-Schwere) Eine Sprache L heißt NP-schwer (NP-hart) wenn sich alle Sprachen in NP auf L reduzieren lassen. A NP.A P L Definition (NP-Vollständigkeit) Eine Sprache L heißt NP-vollständig wenn L NP-schwer ist und L NP. Fragen: Gibt es überhaupt NP-vollständige Sprachen? Gibt es eine NP-vollständige Sprache in P? (P = NP?) 88/90 Komplexitätstheorie
119 Formale Sprachen Formale Sprache Σ Typ 0 - Semi-Entscheidbar, Turingmaschinen, WHILE Entscheidbar LOOP, PR NP P Typ 2 - Kontextfrei Typ 3 - Regulär Endlich 89/90 Komplexitätstheorie
120 Wichtig für die Klausur Chomsky Hierarchie RE ɛ-nfa NFA DFA Quotientenautomat, Minimale DFAs Pumpinglemma (regulär + kontextfrei) Nützliche Symbole, CYK, CNF Kellerautomaten, Deterministische Kellerautomaten PDA CFG Turingmaschinen LOOP und PR Berechenbarkeit, Entscheidbarkeit Reduktion, Halteproblem Hüllenbildung, Abgeschlossenheit 90/90 Komplexitätstheorie
Kontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrKontextfreie Sprachen
Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch
MehrAufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1
Info4 Stoff Aufgabentypen: Grammatik CH einordnen NFA DFA Grammatik Chomsky-NF CYK-Algorithmus: Tabelle / Ableitungsbäume Grammatik streng kf. Grammatik Grammatik Pumping Lemma Beweis, dass Gr. nicht reg,
MehrTheorie 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)
MehrKapitel: 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
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische
Mehr1 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
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
Mehr1 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
MehrZusammenfassung Grundzüge der Informatik 4
Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1
MehrMusterlösung Informatik-III-Klausur
Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,
Mehr2.2 Reguläre Sprachen Endliche Automaten
2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten
MehrTheoretische 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
MehrTheorie der Informatik
Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man
Mehr8. 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
MehrAutomaten und formale Sprachen Klausurvorbereitung
Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen
MehrRegulä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
Mehr11.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
MehrNachklausur zur Vorlesung
Lehrstuhl für Theoretische Informatik Prof. Dr. Markus Lohrey Grundlagen der Theoretischen Informatik Nachklausur Nachklausur zur Vorlesung Grundlagen der Theoretischen Informatik WS 2016/17 / 27. Februar
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische
MehrInformatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 3 und 4 http://pingo.upb.de Zugangsnummer: 9201 Dozent: Jun.-Prof. Dr.
MehrFORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme
FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26
MehrTuring: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4.
Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turing: prinzipielle Berechenbarkeit Abschnitt 4.2 Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turingmaschinen: DTM Abschnitt 4.2 DTM = DFA + unbeschränkter
Mehr1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!
Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:
MehrGrundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrÜbungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im
MehrZentralübung zur Vorlesung Theoretische Informatik
SS 2015 Zentralübung zur Vorlesung Theoretische Informatik Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2015ss/theo/uebung/ 7. Mai 2015 ZÜ THEO ZÜ IV Übersicht: 1.
MehrFORMALE 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
Mehr2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik
2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik Ulrich Furbach Claudia Schon Christian Schwarz Arbeitsgruppe Künstliche Intelligenz Fachbereich Informatik, Universität Koblenz-Landau
MehrAutomatentheorie und formale Sprachen
Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das
MehrLö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,
MehrAlgorithmen 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
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2 Lösungsblatt 2 3. Mai 2 Einführung in die Theoretische Informatik Hinweis:
MehrDefinition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An
Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrEinführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 9 2. Juli 2010 Einführung in die Theoretische
MehrGrundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
MehrFormale 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
Mehr2.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Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im
MehrBerechenbarkeit und Komplexität
Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter
MehrVorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016
Heinrich-Heine-Universität Düsseldorf Institut für Informatik Prof. Dr. J. Rothe Universitätsstr. 1, D-40225 Düsseldorf Gebäude: 25.12, Ebene: O2, Raum: 26 Tel.: +49 211 8112188, Fax: +49 211 8111667 E-Mail:
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab
MehrÜbung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen
Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen
MehrChomsky-Grammatiken 16. Chomsky-Grammatiken
Chomsky-Grammatiken 16 Chomsky-Grammatiken Ursprünglich von Chomsky in den 1950er Jahren eingeführt zur Beschreibung natürlicher Sprachen. Enge Verwandschaft zu Automaten Grundlage wichtiger Softwarekomponenten
MehrFalls 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
MehrRekursiv 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
MehrMaike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden
Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt
MehrFormale Systeme, Automaten, Prozesse
The Peergroup Inc. smashnet.de Formale Systeme, Automaten, Prozesse Zusammenfassung der Vorlesung RWTH Aachen Sommersemetser 2009 Autoren: Lucas Dohmen Simon Grubert Michael Hackstein lucas.dohmen@rwth-aachen.de
MehrA : z z A : z z : ( z, x, z ) δ
Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,
Mehr1 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
MehrTuringmaschinen 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
MehrWS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven
WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Alexander Krauss Sommersemester 2010 Lösungsblatt Wiederholungsklausur 15. Oktober 2010 Einführung
Mehr2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht
Formale Systeme, Automaten, Prozesse Übersicht 2 2. Reguläre Ausdrücke 2.3 Nichtdeterministische endliche Automaten 2.4 Die Potenzmengenkonstruktion 2.5 NFAs mit ɛ-übergängen 2.6 Minimale DFAs und der
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Prof. Dr. F. Otto 26.09.2011 Fachbereich Elektrotechnik/Informatik Universität Kassel Klausur zur Vorlesung Theoretische Informatik: Berechenbarkeit und Formale Sprachen SS 2011 Name:................................
MehrTuring 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
MehrWas bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien
Mehr11. 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
MehrTechnische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung
Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai 2016 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 2 Beachten Sie: Soweit
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrÜbungsaufgaben zu Formalen Sprachen und Automaten
Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
MehrEinführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7
Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt 7 Übungsblatt Wir unterscheiden zwischen Übungs-
MehrFORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.
FORMALE SYSTEME 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten Markus Krötzsch TU Dresden, 14. November 2016 Rückblick Markus Krötzsch, 14. November 2016 Formale Systeme Folie 2 von
MehrLösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie
Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................
MehrDeterministischer Kellerautomat (DPDA)
Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,
MehrDeterministische 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
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrBeweis: 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
MehrTuring-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
MehrTechnische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 11. Juli HA-Lösung. TA-Lösung
Technische Universität München Sommer 26 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert. Juli 26 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 3 Beachten Sie: Soweit nicht
MehrDas Postsche Korrespondenzproblem
Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w
MehrHauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2 Lösungsblatt 2. Mai 2 Einführung in die Theoretische Informatik
Mehr5.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
MehrUniversität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III
Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 10.4.2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 11 Punkte Aufgabe 2. Minimalautomaten
MehrDefinition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.
Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 8 18. Juli 2011 Einführung in die Theoretische Informatik
MehrPROBEKLAUSUR SoSe 2016
Die Anzahl der Aufgaben, das Punkteschema, die Themenschwerpunkte, etc. können sich in der echten Klausur unterscheiden! Universität Osnabrück/ FB6 / Theoretische Informatik Prof. Chimani, Beyer Informatik
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische
Mehra n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume
Kap 3: Grammatiken Chomsky-Hierarchie 32 Kap 3: Grammatiken Kontextfreie 33 a n b n c n ist kontextsensiti Beispiel 3111 modifizieren: Σ = {a, b, c G = (Σ, V, P, X ) V = {X, Y, Z P : X ε X axyz ZY YZ ay
Mehr1.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
Mehr2. Übungsblatt 6.0 VU Theoretische Informatik und Logik
2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum
MehrBeispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2
Beispiel: NTM M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) 0,1,R 0,0,R q0 1,0,R q1 #,#,R q2 0,0,L Zustand 0 1 # q 0 {(1, R, q 0 )} {(0, R, q 1 )} q 1 {(0, R, q 1 ),(0, L, q 0 )} {(1, R, q
MehrTHIA - Übungsblatt 2.
THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen
MehrTheoretische 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
MehrGrundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:
MehrAusgewählte unentscheidbare Sprachen
Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar
MehrSatz (Abschluß unter der Stern-Operation)
Satz (Abschluß unter der Stern-Operation) Wenn L eine reguläre Sprache ist, dann ist auch L regulär. Beweis: Es gibt einen NFA M = (Z, Σ, S, δ, S, E) mit L(M) = L. Wir bauen aus diesem NFA nun wie folgt
Mehr2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:
Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter
MehrUnentscheidbarkeit. 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 Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Worum geht
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 16.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrTheoretische 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
MehrUmformung 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
MehrEinführung in die Computerlinguistik
Einführung in die Computerlinguistik Pumping-Lemma für kontextfreie Sprachen, Abschlußeigenschaften kontextfreier Sprachen und die Komplexität natürlicher Sprachen Dozentin: Wiebke Petersen WS 2004/2005
MehrTheoretische Informatik Testvorbereitung Moritz Resl
Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre
Mehr