Übungen 1-12 Theoretische Informatik Sommersemester 2015

Größe: px
Ab Seite anzeigen:

Download "Übungen 1-12 Theoretische Informatik Sommersemester 2015"

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 Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Kontextfreie Sprachen

Kontextfreie 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

Mehr

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Aufgabentypen: 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,

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

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

Einführung in die Theoretische Informatik

Einfü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

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

Grundlagen der Theoretischen Informatik

Grundlagen 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

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

Zusammenfassung Grundzüge der Informatik 4

Zusammenfassung 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

Mehr

Musterlösung Informatik-III-Klausur

Musterlö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,

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.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

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

Theorie der Informatik

Theorie 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

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

Automaten und formale Sprachen Klausurvorbereitung

Automaten 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

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

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

Nachklausur zur Vorlesung

Nachklausur 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

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

Informatik 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.  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.

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE 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

Mehr

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4.

Turing: 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

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. 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:

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen 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

Ü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

Mehr

Zentralübung zur Vorlesung Theoretische Informatik

Zentralü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.

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

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

2. 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

Mehr

Automatentheorie und formale Sprachen

Automatentheorie 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

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

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

Einführung in die Theoretische Informatik

Einfü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:

Mehr

Definition 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) 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,

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

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 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

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

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

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Ü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

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit 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

Mehr

Vorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016

Vorlesung 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:

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten 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

Ü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

Mehr

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Chomsky-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

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

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

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike 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

Mehr

Formale Systeme, Automaten, Prozesse

Formale 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

Mehr

A : z z A : z z : ( z, x, z ) δ

A : 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,

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

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

WS06/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 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.

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

2 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

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische 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:................................

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

Was 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 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

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

Technische 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 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Ü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

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie 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

Mehr

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Einfü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-

Mehr

FORMALE 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. 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

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lö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 :................................

Mehr

Deterministischer Kellerautomat (DPDA)

Deterministischer 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,δ,

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

Grundlagen der Theoretischen Informatik

Grundlagen 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

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

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

Technische 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 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

Mehr

Das Postsche Korrespondenzproblem

Das 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

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur 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

Mehr

Einführung in die Theoretische Informatik

Einfü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

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

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universitä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

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (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

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

PROBEKLAUSUR SoSe 2016

PROBEKLAUSUR 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

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

a 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

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

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Ü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

Mehr

Beispiel: 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 }) 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

Mehr

THIA - Übungsblatt 2.

THIA - Ü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

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

Grundlagen 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 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:

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewä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

Mehr

Satz (Abschluß unter der Stern-Operation)

Satz (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

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. 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

Mehr

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

Unentscheidbarkeit. 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

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

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

Einführung in die Computerlinguistik

Einfü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

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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