Formale Sprachen. Script, Kapitel 4. Grammatiken

Größe: px
Ab Seite anzeigen:

Download "Formale Sprachen. Script, Kapitel 4. Grammatiken"

Transkript

1 Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten akzeptieren Sprachen enge Beziehungen zu Grammatiken B Reichel, R Stiebe: Theoretische Informatik für Lehrer 117

2 Beispiel für eine Grammatik <Satz> <Subjekt><Prädikat><Objekt> <Subjekt> <Artikel><Attribut><Substantiv> <Prädikat> jagt <Objekt> <Artikel><Attribut><Substantiv> <Artikel> ε der die das <Attribut> ε <Adjektiv> <Adjektiv><Attribut> <Adjektiv> kleine bissige große <Substantiv> Hund Katze B Reichel, R Stiebe: Theoretische Informatik für Lehrer 118

3 Syntaxbaum für den Satz der kleine bissige Hund jagt die große Katze! " #$! %&! ' () 0 " 1-!% & '+ (# *+ (, - 0 (2 /+ (, "' &!&3 4 ' / 3 3!5 6 7 * B Reichel, R Stiebe: Theoretische Informatik für Lehrer 119

4 Definition Grammatik Eine Grammatik ist ein 4-Tupel G = (V, Σ, P, S), wobei V ein Alphabet ist (Nichtterminalalphabet oder Alphabet der Variablen), Σ ein Alphabet ist (Terminalalphabet), V Σ = gilt, P eine endliche Teilmenge von ((V Σ) \ Σ ) (V Σ) ist (Menge der Regeln), S V ist (die Startvariable oder Axiom) Zur besseren Lesbarkeit werden wir u v P für (u, v) P schreiben B Reichel, R Stiebe: Theoretische Informatik für Lehrer 120

5 Definitionen direkte Ableitung einer Grammatik Sei G = (V, Σ, P, S) eine Grammatik und u, v (V Σ) Wörter Dann gilt u = G v (in Worten: u erzeugt bezüglich G direkt v) genau dann, wenn (i) u = γ 1 αγ 2 mit γ 1, γ 2 (V Σ), (ii) v = γ 1 βγ 2 und (iii) α β P ist Wenn keine Verwechslungsgefahr besteht, schreiben wir statt = G einfach = B Reichel, R Stiebe: Theoretische Informatik für Lehrer 121

6 Definitionen Ableitung und erzeugte Sprache Sei G = (V, Σ, P, S) eine Grammatik und u, v (V Σ) Wörter Dann gilt u = G v (in Worten: u erzeugt bezüglich G in endlich vielen Schritten v) genau dann, wenn u = v gilt oder es ein n N und Wörter w 0, w 1,, w n gibt, so dass gilt u = w 0 = G w 1 = G w 2 = G = G w n = v Sei G = (V, Σ, P, S) eine Grammatik Die von G erzeugte Sprache L(G) wird definiert als L(G) = {w Σ S = G w} B Reichel, R Stiebe: Theoretische Informatik für Lehrer 122

7 Beispiel einer Grammatik Es sei G = ({S}, {a, b}, {S asb, S ab}, S) eine Grammatik, dann gilt L(G) = {a n b n n 1} Eine Ableitung für das Wort a 4 b 4 sieht dann so aus: S = asb = aasbb = aaasbbb = aaaabbbb B Reichel, R Stiebe: Theoretische Informatik für Lehrer 123

8 Weiteres Beispiel einer Grammatik Es sei G = ({S}, {a}, {S aas, S a}, S) eine Grammatik, dann gilt L(G) = {a 2n+1 n 0} Eine Ableitung für das Wort a 7 sieht dann so aus: S = aas = aaaas = aaaaaas = aaaaaaa B Reichel, R Stiebe: Theoretische Informatik für Lehrer 124

9 Weiteres Beispiel einer Grammatik Es sei G = ({S}, {a, b}, {S as, S bs, S a, S b}, S) eine Grammatik, dann gilt L(G) = {a, b} + = {w {a, b} w ε} Eine Ableitung für das Wort aaba sieht dann so aus: S = as = aas = aabs = aaba B Reichel, R Stiebe: Theoretische Informatik für Lehrer 125

10 Komplexeres Beispiel einer Grammatik Es sei die Grammatik G = ({S, B, C}, {a, b, c}, P, S) mit P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc} gegeben Wir können zum Beispiel die Ableitung S = asbc = aasbcbc = aaabcbcbc = aaabbccbc = aaabbcbcc = aaabbbccc = aaabbbccc = aaabbbccc = aaabbbccc = aaabbbccc = aaabbbccc = aaabbbccc aufstellen, also gehört das Wort aaabbbccc = a 3 b 3 c 3 zur erzeugten Sprache L(G), es gilt also a 3 b 3 c 3 L(G) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 126

11 Komplexeres Beispiel einer Grammatik Erzeugte Sprache Teil 1 Vermutung: L(G) = {a n b n c n n 1} Zunächst wird L(G) {a n b n c n n 1} gezeigt, dh S = a n b n c n für jedes n 1 Wende (n 1)-mal Regel S asbc und dann einmal S abc an, dh: S = a n (BC) n Solange wie möglich wende CB BC an, dh: a n (BC) n = a n B n C n Wende einmal ab ab und (n 1)-mal bb bb an, dh: a n B n C n = a n b n C n Wende einmal bc bc und (n 1)-mal cc cc an, dh: a n b n C n = a n b n c n B Reichel, R Stiebe: Theoretische Informatik für Lehrer 127

12 Komplexeres Beispiel einer Grammatik Erzeugte Sprache Teil 2 Schwieriger zu zeigen ist die Behauptung L(G) {a n b n c n n 1} Für jedes erzeugbare Wort α gilt: α a = α b + α B = α c + α C In jedem erzeugbaren Wort stehen die a s am Anfang Ein Symbol B kann nur dann in ein b umgewandelt werden, wenn unmittelbar links vor ihm ein a oder ein b steht, dh kein c steht vor einem b Mathematisch exakter Beweis erfolgt durch vollständige Induktion B Reichel, R Stiebe: Theoretische Informatik für Lehrer 128

13 Chomsky-Hierarchie Definition: Eine Grammatik G = (V, Σ, P, S) heißt vom Typ 0, wenn sie keinen Beschränkungen unterliegt, Typ 1 oder kontextabhängig, falls für jede Regel α β gilt: α β, mit der Ausnahme S ε, falls S nicht auf der rechten Seite einer Regel vorkommt Typ 2 oder kontextfrei, wenn jede Regel von der Form A β mit A V und β (V Σ) ist Typ 3 oder regulär, wenn jede Regel von der Form A wb oder A w mit A, B V und w Σ ist B Reichel, R Stiebe: Theoretische Informatik für Lehrer 129

14 Chomsky-Hierarchie Fortsetzung Definition: Eine Sprache L Σ heißt vom Typ 0 (Typ 1, Typ 2, Typ 3), falls es eine Grammatik G = (V, Σ, P, S) vom Typ 0 (Typ 1, Typ 2, Typ 3) gibt, so dass L = L(G) gilt Notation: Typ i: Familie der Sprachen vom Typ i {0, 1, 2, 3} Satz (Chomsky-Hierarchie) Es gilt: Typ 3 Typ 2 Typ 1 Typ 0 Der Beweis des Satzes wird in den folgenden Kapiteln erbracht B Reichel, R Stiebe: Theoretische Informatik für Lehrer 130

15 Typ-0-Grammatiken und Turingmaschinen Satz Eine Sprache ist genau dann eine Typ-0-Sprache, wenn sie von einer NTM akzeptiert werden kann, dh wenn sie rekursiv aufzählbar ist Beweisidee Ableitung einer Grammatik wird in umgekehrter Reihenfolge durch eine NTM simuliert Konfigurationenfolge eines akzeptierenden Laufs einer NTM wird in umgekehrter Reihenfolge durch eine Grammatik erzeugt B Reichel, R Stiebe: Theoretische Informatik für Lehrer 131

16 Simulation einer Grammatik durch eine NTM gegeben: Grammatik G = (V, Σ, P, S) Konstruiere NTM M = (Z, Σ, V Σ { }, δ, z 0,, {q}) Arbeitsweise von M in einer Phase: Rate eine Regel α β und ersetze ein Vorkommen von β durch α, dh Konfigurationsänderung: z 0 w 1 βw 2 z 0 w 1 αw 2 M akzeptiert, wenn nur noch S auf dem Band steht B Reichel, R Stiebe: Theoretische Informatik für Lehrer 132

17 Linear beschränkte Automaten Definition Eine nichtdeterministische Turingmaschine M heißt linear beschränkter Automat (LBA), wenn bei jedem Lauf von M nur die Speicherzellen der Eingabe benutzt werden Offenes Problem (LBA-Problem): Sind deterministische LBA so mächtig wie nichtdeterministische LBA? B Reichel, R Stiebe: Theoretische Informatik für Lehrer 133

18 Typ-1-Grammatiken und LBA Satz Eine Sprache ist genau dann eine Typ-1-Sprache, wenn sie von einem linear beschränkten Automaten akzeptiert werden kann Beweisidee Gleiche Konstruktionen wie für Typ-0-Grammatiken und NTM Nichtverkürzende Regeln erlauben den beschränkten Platzbedarf B Reichel, R Stiebe: Theoretische Informatik für Lehrer 134

19 Das Wortproblem Definition (Wortproblem) Gegeben: Grammatik G = (V, Σ, P, S) vom Typ i, i {0, 1, 2, 3}, und Wort w Σ, Frage: Gilt w L(G)? Folgerung Das Wortproblem für Typ-0-Grammatiken ist semi-entscheidbar, aber nicht entscheidbar Satz Das Wortproblem für Typ-1-Grammatiken ist entscheidbar B Reichel, R Stiebe: Theoretische Informatik für Lehrer 135

20 Weitere Entscheidungsprobleme Leerheitsproblem: Gegeben: Grammatik G Frage: Gilt L(G) =? Endlichkeitsproblem: Gegeben: Grammatik G Frage: Ist L(G) endlich? Schnittproblem: Gegeben: Zwei Grammatiken G 1, G 2 Frage: Gilt L(G 1 ) L(G 2 ) =? Äquivalenzproblem: Gegeben: Zwei Grammatiken G 1, G 2 Frage: Gilt L(G 1 ) = L(G 2 )? Satz: Das Leerheitsproblem, das Endlichkeitsproblem, das Äquivalenzproblem und das Schnittproblem sind unentscheidbar für Typ-1-Grammatiken B Reichel, R Stiebe: Theoretische Informatik für Lehrer 136

21 Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (zb lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen Äquivalenz zu endlichen Automaten Äquivalenz zu regulären Ausdrücken Grenzen der regulären Sprachen (Pumping-Lemma) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 137

22 Endliche Automaten Definition Ein deterministischer endlicher Automat (DEA) A ist ein 5-Tupel A = (Z, Σ, δ, z 0, E) Dabei sind Z das Zustandsalphabet, Σ das Eingabealphabet mit Z Σ =, δ : Z Σ Z die Zustandsüberführungsfunktion, z 0 Z der Anfangszustand und E Z die Menge der Endzustände B Reichel, R Stiebe: Theoretische Informatik für Lehrer 138

23 Interpretation der Arbeitsweise des Endlichen Automaten a 1 a 2 a i a i+1 a n a 1 a 2 a i a i+1 a n z = für δ(z, a i ) = z z Turingmaschine, die die Eingabe einmal von links nach rechts liest B Reichel, R Stiebe: Theoretische Informatik für Lehrer 139

24 Akzeptierte Sprache des Endlichen Automaten Definition Sei A ein deterministischer endlicher Automat A = (Z, Σ, δ, z 0, E); die erweiterte Zustandsüberführungsfunktion ˆδ : Z Σ Z wird definiert durch (i) ˆδ(z, ε) = z für alle z Z, (ii) ˆδ(z, wa) = δ(ˆδ(z, w), a) für alle z Z, a Σ, w Σ Definition Für einen DEA A = (Z, Σ, δ, z 0, E) ist die von ihm akzeptierte Sprache T (A) definiert durch T (A) = {w Σ ˆδ(z 0, w) E} B Reichel, R Stiebe: Theoretische Informatik für Lehrer 140

25 Überführungsgraphen! " $#"% & ' )(*+-,/0 1 / B Reichel, R Stiebe: Theoretische Informatik für Lehrer 141

26 Endliche Automaten Beispiel Es sei A der deterministische endliche Automat A = ({z 0, z 1, z 2, z 3 }, {0, 1}, δ, z 0, {z 2, z 3 }), mit der Überführungsfunktion δ, gegeben durch folgende Tabelle δ z 0 z 1 z 2 z 3 0 z 0 z 3 z 3 z 0 1 z 1 z 2 z 2 z 1 B Reichel, R Stiebe: Theoretische Informatik für Lehrer 142

27 DEA Beispiel (Fortsetzung) Der dazugehörige Graph lautet B Reichel, R Stiebe: Theoretische Informatik für Lehrer 143

28 Nichtdeterministische endliche Automaten Definition Ein nichtdeterministischer endlicher Automat (NEA) A ist ein 5-Tupel A = (Z, Σ, δ, z 0, E) Dabei sind Z das Zustandsalphabet, Σ das Eingabealphabet mit Z Σ =, δ : Z Σ 2 Z die Zustandsüberführungsfunktion, z 0 Z der Anfangszustand und E Z die Menge der Endzustände B Reichel, R Stiebe: Theoretische Informatik für Lehrer 144

29 Akzeptierte Sprache eines NEA Definition Sei A ein NEA mit A = (Z, Σ, δ, z 0, E); die erweiterte Zustandsfunktion ˆδ : Z Σ 2 Z wird definiert durch (i) ˆδ(z, ε) = {z} für alle z Z, (ii) ˆδ(z, wa) = δ(z, a) das heißt z ˆδ(z,w) = {z Z z Z mit z ˆδ(z, w) und z δ(z, a)} für z Z, a Σ, w Σ Definition Für einen NEA A = (Z, Σ, δ, z 0, E) sei die von ihm akzeptierte Sprache T (A) definiert durch T (A) = {w Σ ˆδ(z 0, w) E } B Reichel, R Stiebe: Theoretische Informatik für Lehrer 145

30 Beispiel eines NEA Beispiel Sei A = ({z 0, z 1, z 2 }, {0, 1}, δ, z 0, {z 2 }) ein NEA, wobei δ durch die folgende Tabelle gegeben ist: δ z 0 z 1 z 2 0 {z 0 } {z 2 } 1 {z 0, z 1 } {z 2 } Der dazugehörige Graph ist: B Reichel, R Stiebe: Theoretische Informatik für Lehrer 146

31 Beispiel eines NEA Fortsetzung ˆδ(z 0, 0) = {z 0 } 0 / T (A) ˆδ(z 0, 1) = {z 0, z 1 } 1 / T (A) ˆδ(z 0, 01) = {z 0, z 1 } 01 / T (A) ˆδ(z 0, 11) = {z 0, z 1, z 2 } 11 T (A) ˆδ(z 0, 001) = {z 0, z 1 } 001 / T (A) ˆδ(z 0, 010) = {z 0, z 2 } 010 T (A) Die akzeptierte Sprache T (A) ist die Menge aller Wörter über {0, 1}, deren vorletztes Symbol eine 1 ist, d h T (A) = {w {0, 1} w = u1x mit u {0, 1}, x {0, 1}} B Reichel, R Stiebe: Theoretische Informatik für Lehrer 147

32 Äquivalenz von NEA und DEA Satz Jede von einem NEA akzeptierte Sprache ist auch von einem DEA akzeptierbar Beweis (Potenzmengen-Konstruktion) Aus NEA A = (Z, Σ, δ, z 0, E) konstruiere DEA A = (Z, Σ, δ, z 0, E ): Dann gilt Z = 2 Z, z 0 = {z 0 }, E = {z Z z E }, δ (z, a) = z z δ(z, a) für alle z Z und a Σ ˆδ ({z 0 }, w) = ˆδ(z 0, w) für alle w Σ, dh T (A) = T (A ) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 148

33 Beispiel NEA DEA Wir betrachten den NEA von Folie 146 Wir konstruieren den äquivalenten DEA A = (Z, {0, 1}, δ, {z 0 }, E ) Bemerkung: Man braucht nur die Teilmengen von Z zu betrachten, die von {z 0 } erreichbar sind (sparsame Potenzmengenkonstruktion) δ {z 0 } {z 0, z 1 } {z 0, z 2 } {z 0, z 1, z 2 } 0 {z 0 } {z 0, z 2 } {z 0 } {z 0, z 2 } 1 {z 0, z 1 } {z 0, z 1, z 2 } {z 0, z 1 } {z 0, z 1, z 2 } Z = {{z 0 }, {z 0, z 1 }, {z 0, z 2 }, {z 0, z 1, z 2 }} E = {{z 0, z 2 }, {z 0, z 1, z 2 }} B Reichel, R Stiebe: Theoretische Informatik für Lehrer 149

34 Beispiel NEA DEA Fortsetzung Zur besseren Lesbarkeit bezeichnen wir die Zustände um: {z 0 } =: q 0, {z 0, z 1 } =: q 1, {z 0, z 2 } =: q 2 und {z 0, z 1, z 2 } =: q 3 mit A = ({q 0, q 1, q 2, q 3 }, {0, 1}, δ, q 0, {q 2, q 3 }) δ q 0 q 1 q 2 q 3 0 q 0 q 2 q 0 q 2 1 q 1 q 3 q 1 q 3 B Reichel, R Stiebe: Theoretische Informatik für Lehrer 150

35 Endliche Automaten und reguläre Grammatiken Satz Sei A ein NEA Dann ist die von A akzeptierte Sprache T (A) regulär Beweis Aus NEA A = (Z, Σ, δ, z 0, E) konstruiere Typ-3-Grammatik G = (V, Σ, P, S) mit V = Z, S = z 0 und P = {z 1 az 2 z 2 δ(z 1, a))} {z 1 ε z 1 E} Es gilt z 1 = G wz 2 genau dann, wenn z 2 ˆδ(z 1, w) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 151

36 NEA Grammatik Beispiel Sei A = ({z 0, z 1, z 2, z 3 }, {a, b}, δ, z 0, {z 3 }) der DEA mit der Überführungsfunktion δ: δ z 0 z 1 z 2 z 3 a z 1 z 1 z 3 z 3 b z 0 z 2 z 0 z 3 Wir konstruieren jetzt die äquivalente Typ-3-Grammatik G = (V, Σ, P, S): V = {z 0, z 1, z 2, z 3 }, Σ = {a, b}, S = z 0, P = {z 0 az 1, z 0 bz 0, z 1 az 1, z 1 bz 2 } {z 2 az 3, z 2 bz 0, z 3 az 3, z 3 bz 3 } {z 3 ε} B Reichel, R Stiebe: Theoretische Informatik für Lehrer 152

37 Eine Normalform für reguläre Grammatiken Lemma Für jede reguläre Sprache L gibt es eine Typ-3-Grammatik G = (V, Σ, P, S) mit L(G) = L, deren Regeln der folgenden Form sind: A ab, A, B V, a Σ oder A ε, A V B Reichel, R Stiebe: Theoretische Informatik für Lehrer 153

38 Reguläre Grammatik NEA Satz Sei G eine reguläre Grammatik; dann existiert ein NEA A mit T (A) = L(G) Beweis Für eine reguläre Grammatik G = (V, Σ, P, S) in Normalform konstruieren wir den NEA A = (Z, Σ, δ, z 0, E) wie folgt: Z = V, z 0 = S, E = {A V A ε P } δ(a, a) = {B V A ab P } für A V und a Σ B Reichel, R Stiebe: Theoretische Informatik für Lehrer 154

39 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 Ausdruck über Σ (iv) Wenn α und β reguläre Ausdrücke über Σ sind, so sind auch αβ, (α β) und (α) reguläre Ausdrücke über Σ B Reichel, R Stiebe: Theoretische Informatik für Lehrer 155

40 Sprache eines regulären Ausdrucks Definition (Sprache eines regulären Ausdrucks) Sei Σ ein Alphabet und γ ein regulärer Ausdruck über Σ, dann wird die von γ beschriebene Sprache L(γ) Σ wie folgt definiert (i) Für γ = gilt L(γ) = (ii) Für γ = ε gilt L(γ) = {ε} (iii) Für γ = a mit a Σ gilt L(γ) = {a} (iv) Für γ = αβ gilt L(γ) = L(α) L(β) (v) Für γ = (α β) gilt L(γ) = L(α) L(β) (vi) Für γ = (α) gilt L(γ) = (L(α)) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 156

41 Beispiel eines regulären Ausdrucks L((0 (0 1) 00)) = L(0) L((0 1) 00)) = L(0) (L((0 1) 0)) L(0)) = L(0) ((L((0 1) )) L(0)) L(0)) = L(0) (((L((0 1))) L(0)) L(0)) = L(0) (((L(0) L(1)) L(0)) L(0)) = {0} ((({0} {1}) {0}) {0}) = {0} (({0, 1} {0}) {0}) = {0} ({0, 1} {00}), Das heißt, die vom Ausdruck (0 (0 1) 00) beschriebene Sprache ist die Menge aller Wörter über dem Alphabet {0, 1}, die gleich 0 sind oder auf 00 enden B Reichel, R Stiebe: Theoretische Informatik für Lehrer 157

42 Äquivalenz regulärer Ausdrücke Definition Zwei reguläre Ausdrücke β und γ heißen äquivalent, in Zeichen β γ, wenn L(β) = L(γ) gilt Beispiel: ((a b)) ((a b)(a b)) ((a b) ε) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 158

43 Rechenregeln für reguläre Ausdrücke (A (B C)) ((A B) C) A(B C) (AB AC) (B C)A (BA CA) (A B) (B A) (A A) A (A ) ( A) A A A Aε εa A ((A) ) (A) ( ) ε ((A ε)) (A) (A) (ε A)A ((ε A)) A B Reichel, R Stiebe: Theoretische Informatik für Lehrer 159

44 Bemerkung zu regulären Ausdrücken 1 Wir vereinbaren, dass wir Klammern, die nicht notwendigerweise gebraucht werden, weglassen können Zum Beispiel können wir statt (α (β γ)) auch (α β γ) schreiben Wir schreiben auch L(α β) statt L((α β)) sowie a statt (a) für a Σ 2 Wir benutzen die abkürzende Schreibweise α n für αα } {{ α} n-mal 3 Wir benutzen die abkürzende Schreibweise α + für α α 4 In der Literatur findet man oft auch abweichende Schreibweisen der regulären Ausdrücke Zum Beispiel findet man für (α β) auch (α + β) oder auch (α β) Auch wird natürlich oft α β für αβ zugelassen 5 Oft wird in der Literatur zwischen regulärem Ausdruck und beschriebener Sprache nicht unterschieden, das heißt, man identifiziert einen regulären Ausdruck mit der beschriebenen Sprache B Reichel, R Stiebe: Theoretische Informatik für Lehrer 160

45 Weitere Beispiele regulärer Ausdrücke (a b) beschreibt die Menge aller Wörter über dem Alphabet {a, b} (a b) + beschreibt die Menge aller Wörter über dem Alphabet {a, b}, die nicht dem leeren Wort entsprechen (a b) aba(a b) beschreibt die Menge aller Wörter über dem Alphabet {a, b}, die das Teilwort aba haben (a b) a(a b) 2 beschreibt die Menge aller Wörter über dem Alphabet {a, b}, deren drittletztes Symbol ein a ist ((a b)(a b)) beschreibt die Menge aller Wörter über dem Alphabet {a, b}, deren Länge gerade ist (b ε)(ab) (a ε) beschreibt die Menge aller Wörter über dem Alphabet {a, b}, die nicht das Teilwort aa und nicht das Teilwort bb enthalten B Reichel, R Stiebe: Theoretische Informatik für Lehrer 161

46 Satz von Kleene Satz (Kleene) Die Menge der durch reguläre Ausdrücke beschreibbaren Sprachen ist genau die Menge der regulären Sprachen Beweis (Konstruktionen) regulärer Ausdruck NEA: Induktion über Aufbau der Ausdrücke NEA regulärer Ausdruck: Lösung von Gleichungssystemen B Reichel, R Stiebe: Theoretische Informatik für Lehrer 162

47 Regulärer Ausdruck NEA 1 Automaten für die Ausdrücke, ε und a: 2 Seien A α bzw A β NEA mit T (A α ) = L(α) bzw T (A β ) = L(β) Konstruiere NEA für αβ, (α β) und α (formale Konstruktion: siehe Skript) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 163

48 Regulärer Ausdruck NEA Fortsetzung (a) Automat für αβ: Verschmelze Endzustände von A α mit Startzustand von A β ( Reihenschaltung ) neuer Startzustand: Startzustand von A α neue Endzustände: Endzustände von A β B Reichel, R Stiebe: Theoretische Informatik für Lehrer 164

49 Regulärer Ausdruck NEA Fortsetzung (b) Automat für (α β): Neuer Startzustand mit Kanten zu den Nachfolgern der Startzustände von A α und A β ( Parallelschaltung ) neue Endzustände: Endzustände von A α und A β B Reichel, R Stiebe: Theoretische Informatik für Lehrer 165

50 Regulärer Ausdruck NEA Fortsetzung (c) Automat für (α) : Füge für jede Kante zu einem Endzustand eine gleiche Kante zum Startzustand ein neuer Endzustand: Startzustand von A α B Reichel, R Stiebe: Theoretische Informatik für Lehrer 166

51 NEA Regulärer Ausdruck Aufstellen eines linearen Gleichungssystems für einen NEA Auflösen des linearen Gleichungssystems regulärer Ausdruck (Wegen der besseren Lesbarkeit geben wir nicht die Ausdrücke, sondern ihre Sprachen an) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 167

52 Gleichungssystem zu einem NEA NEA A = (Z, Σ, δ, z 0, E) Für z Z sei A z = (Z, Σ, δ, z, E) und L z = T (A z ) Für alle z Z gilt: L z = z Z a:z δ(z,a) a L z E z mit E z = {, falls z / E {ε}, sonst Lineares Gleichungssystem mit den Variablen L z, z Z Falls eine eindeutige Lösung existiert, so ist durch L z0 der gesuchte reguläre Ausdruck bekannt B Reichel, R Stiebe: Theoretische Informatik für Lehrer 168

53 Gleichungssystem zu einem NEA-Beispiel L z0 = {a} L z0 {b} L z1 {ε} L z1 = {b} L z1 {a} L z2 {ε} L z2 = {a} L z0 {b} L z3 {ε} L z3 = {a, b} L z3 B Reichel, R Stiebe: Theoretische Informatik für Lehrer 169

54 Auflösen linearer Gleichungssysteme Lemma Für B, C Σ mit ε B gilt: Die Gleichung L = B L C besitzt die einzige Lösung L = B C Auflösung von Gleichungssytemen durch sukzessive Eliminierung der Variablen L z unter Nutzung des Lemmas B Reichel, R Stiebe: Theoretische Informatik für Lehrer 170

55 Auflösen linearer Gleichungssysteme - Beispiel Für das Gleichungssystem auf Folie 169 ergibt sich L z3 = {a, b} L z3 L z3 = {a, b} = L z2 = {a} L z0 {b} L z3 {ε} L z2 = {a} L z0 {ε} L z1 = {b} L z1 {a} L z2 {ε} = {b} L z1 {aa} L z0 {a, ε} L z1 = {b} {aa} L z0 {b} {a, ε} L z0 = {a} L z0 {b} L z1 {ε} = {a} L z0 {b} + {aa} L z0 {b} + {a, ε} {ε} L z0 = ({a} {b} + {aa}) ({b} + {a, ε} {ε}) Regulärer Ausdruck: (a b + aa) (b + (a ε) ε) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 171

56 Das Pumping Lemma Satz (Pumping Lemma) Sei L eine reguläre Sprache Dann gibt es eine Konstante k N, so dass für alle Wörter z L mit z k eine Zerlegung z = uvw existiert, so dass gilt: (i) uv k und v 1, (ii) für alle i N gilt uv i w L Bedeutung: Wichtiges Hilfsmittel um zu beweisen, dass eine Sprache nicht regulär ist B Reichel, R Stiebe: Theoretische Informatik für Lehrer 172

57 Pumping Lemma Beweis Reguläre Sprache L werde durch DEA A = (Z, Σ, δ, z 0, E) mit k Zuständen akzeptiert Betrachte Wort x L mit x k Es gilt ˆδ(z 0, x) = q für ein q E Nach Einlesen der ersten k Buchstaben von x wurden k + 1 Zustände angenommen Nach dem Schubfachprinzip müssen 2 dieser Zustände gleich sein, dh es gibt eine Zerlegung x = uvw mit uv k, v > 0, ˆδ(z0, u) = ˆδ(z 0, uv) = z u, ˆδ(z 0, uvw) = q Nach Definition von ˆδ gilt: ˆδ(z u, v) = z u, dh ˆδ(z u, v i ) = z u für alle i 0 Es folgt ˆδ(z 0, uv i w) = ˆδ(ˆδ(z 0, uv i ), w) = ˆδ(z u, w) = q, dh uv i w L B Reichel, R Stiebe: Theoretische Informatik für Lehrer 173

58 Anwendung des Pumping Lemmas Erfüllt eine Sprache nicht die Folgerung des Pumping-Lemmas, so kann sie auch nicht regulär sein Um zu beweisen, dass eine Sprache L nicht die Folgerung des Pumping- Lemmas erfüllt, muss man Folgendes zeigen: Für jede natürliche Zahl k existiert ein Wort z mit z k, so dass für jede Zerlegung z = uvw mit uv k und v 1 ein i N existiert, so dass uv i w / L gilt B Reichel, R Stiebe: Theoretische Informatik für Lehrer 174

59 Anwendungen des Pumping Lemmas - Beispiel Satz: Die Menge PAL der Palindrome über {a, b} ist nicht regulär Beweis Wir zeigen, dass PAL nicht die Behauptung des Pumping-Lemmas erfüllt Sei k eine beliebige natürliche Zahl Wähle z = a k ba k (Offensichtlich gilt z k und z PAL) Für jede Zerlegung z = uvw mit uv k und v 1 gilt: u = a r, v = a s, w = a k r s ba k mit r + s k und s 1 Wähle i = 2 Es gilt uv 2 w = a r a 2s a k r s ba k = a k+s ba k / PAL B Reichel, R Stiebe: Theoretische Informatik für Lehrer 175

60 Anwendungen des Pumping Lemmas Mit Hilfe des Pumping Lemmas kann man auch die Nichtregularität der Sprachen L = {a n2 n 1}, L = {a 2n n 1}, L = {a p p Primzahl}, L = {a n b n n 1}, L = {ww w {a, b} }, L = Menge der regulären Ausdrücke über Σ und vieler anderer zeigen B Reichel, R Stiebe: Theoretische Informatik für Lehrer 176

61 Abschlusseigenschaften regulärer Sprachen Satz Sind A und B reguläre Sprachen über Σ, dann sind auch (i) A B, (ii) A B, (iii) A B, (iv) Σ \ A und (v) A reguläre Sprachen B Reichel, R Stiebe: Theoretische Informatik für Lehrer 177

62 Wortproblem und andere Entscheidungsprobleme Satz Das Wortproblem für ein Wort der Länge n und einen DEA ist mit einem Zeitaufwand von O(n) entscheidbar Satz Das Wortproblem für ein Wort der Länge n und einen NEA mit k Transitionen ist mit einem Zeitaufwand von O(n k) entscheidbar Satz Das Leerheitsproblem, das Endlichkeitsproblem, das Schnittproblem für NEA sind in linearer Zeit (Leerheit, Endlichkeit) bzw in quadratischer Zeit (Schnitt) entscheidbar Satz Das Äquivalenzproblem für DEA ist in quadratischer Zeit entscheidbar Satz Das Äquivalenzproblem für NEA ist in exponentieller Zeit entscheidbar (und NP-hart, genauer: PSPACE-vollständig) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 178

63 Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch Kellerautomaten Deterministisch kontextfreie Sprachen B Reichel, R Stiebe: Theoretische Informatik für Lehrer 179

64 Beispiel für eine kontextfreie Grammatik G = ({S, X, C}, {x, c, 0, +,, ;, :=,, LOOP, WHILE, DO, END}, P, S) mit folgenden Regeln in der Regelmenge P : S S; S S LOOP X DO S END S WHILE X 0 DO S END S X := X + C S X := X C X x C c B Reichel, R Stiebe: Theoretische Informatik für Lehrer 180

65 Weiteres Beispiel für eine kontextfreie Grammatik G = ({S}, {a 1, a 2, b 1, b 2 }, P, S) mit der Regelmenge P = {S SS, S a 1 Sb 1, S a 2 Sb 2, S ε} G erzeugt die Sprache D 2, die sogenannte Dyck-Sprache über zwei Klammerpaaren Induktive Definition von D 2 : 1 ε D 2 2 Aus w 1 D 2, w 2 D 2 folgt w 1 w 2 D 2 3 Aus w D 2 folgt a 1 wb 1 D 2 und a 2 wb 2 D 2 4 D 2 enthält keine weiteren Wörter B Reichel, R Stiebe: Theoretische Informatik für Lehrer 181

66 Syntaxbäume Jeder Ableitung eines Wortes w in einer kontextfreien Grammatik kann eindeutig ein Syntaxbaum zugeordnet werden Sei w L(G) und S = w 0 = w 1 = w 2 = = w n = w eine Ableitung für w Dann wird der Syntaxbaum folgendermaßen konstruiert: Die Wurzel hat die Beschriftung S Nach dem i-ten Schritt ergeben die Beschriftungen der Blätter von links nach rechts gelesen das Wort w i, 0 i n Wird bei der Ableitung eine Regel A α angewendet, so erhält das zugehörige Blatt (mit der Beschriftung A) α Söhne, deren Beschriftung von links nach rechts das Wort α ergibt B Reichel, R Stiebe: Theoretische Informatik für Lehrer 182

67 Linksableitungen Definition Eine Ableitung in einer kontextfreien Grammatik heißt Linksableitung, wenn in jedem Schritt das am weitesten links stehende Nichtterminalsymbol ersetzt wird Jedem Syntaxbaum zu einer Ableitung kann eindeutig eine Linksableitung zugeordnet werden, dh: Satz Die von einer kontextfreien Grammatik G erzeugte Sprache ist die Menge der durch Linksableitungen in G erzeugbaren Wörter B Reichel, R Stiebe: Theoretische Informatik für Lehrer 183

68 Chomsky Normalform Definition Eine kontextfreie Grammatik G = (V, Σ, P, S) ist in Chomsky Normalform, falls jede Regel in P in einer der Formen (i)-(iii) ist: (i) A BC mit A, B, C V, (ii) A a mit A V und a Σ, (iii) S ε, wobei S auf keiner rechten Seite einer Regel vorkommt Satz Zu jeder kontextfreien Grammatik G kann man eine kontextfreie Grammatik G in Chomsky Normalform konstruieren mit L(G) = L(G ) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 184

69 Der Algorithmus von Cocke, Younger und Kasami Eingabe: Ausgabe: kontextfreie Grammatik G = (V, Σ, P, S) in Chomsky NF, Wort w Σ ja, falls w L(G); nein, sonst Grundidee des CYK-Algorithmus w[s, t] sei das Teilwort von w von der Stelle s bis zur Stelle t, wobei 1 s t n = w Bestimme für 1 j n und 1 i n j + 1 die Mengen T [i, j] = {A V A = w[i, i + j 1]} Es gilt w L(G) genau dann, wenn S T [1, n] B Reichel, R Stiebe: Theoretische Informatik für Lehrer 185

70 CYK-Algorithmus Fortsetzung Induktive Bestimmung der Mengen T [i, j]: Für j = 1: T [i, 1] = {A V A w[i, i] P } Für j > 1: T [i, j] = {A V es gibt B, C V und 1 k < j mit A BC P, B T [i, k], C T [i + k, j k]} CYK-Algorithmus ist Beispiel für Dynamische Programmierung B Reichel, R Stiebe: Theoretische Informatik für Lehrer 186

71 Beispiel für CYK-Algorithmus Die Sprache L = {a n b n c m m, n 1} ist kontextfrei und wird von der Grammatik G = (V, Σ, P, S) mit den Regeln S AB, A aab ab, B cb c erzeugt Eine äquivalente Grammatik in Chomsky Normalform für L hat folgende Menge von Regeln: S AB, B EB c, C a, A CD CF, F AD, D b, E c Sei x = aaabbbcc Dann erzeugt der Algorithmus folgende Tabelle B Reichel, R Stiebe: Theoretische Informatik für Lehrer 187

72 Beispiel für CYK-Algorithmus Tabelle j i a a a b b b c c C C C D D D E, B E, B A S S F A F A B = x B Reichel, R Stiebe: Theoretische Informatik für Lehrer 188

73 Beispiel für CYK-Algorithmus Erklärung In der Tabelle stellt jedes Feld eine Menge T [i, j] von Nichtterminalen dar Die Koordinatenachsen für i und j sind eingezeichnet Der Algorithmus besteht aus drei Teilen Im ersten Teil wird die oberste Zeile (T [i, 1]) berechnet Im zweiten Teil werden zeilenweise die weiteren Mengen T [i, j] berechnet, indem immer die zugehörige Spalte von oben und die nach rechts oben führende Diagonale betrachtet werden Im dritten Teil des Algorithmus schließlich wird die Menge T [1, n] betrachtet, hier T [1, 8] Ausgabe ja genau dann, wenn S T [1, n] B Reichel, R Stiebe: Theoretische Informatik für Lehrer 189

74 Fortsetzung CYK-Algorithmus Noch eine Bemerkung: aus der aufgestellten Tabelle kann man auch die Ableitung für das Wort x ablesen, indem wir rückwärts die Regeln anwenden, die auf S in T [1, n] geführt haben Hier sieht die Ableitung für aaabbbc dann folgendermaßen aus (die Nonterminale, die ersetzt werden, sind jeweils unterstrichen) S = AB = CF B = CADB = CCF DB = CCADDB = CCCDDDB = accdddb = aacdddb = aaadddb = aaabddb = aaabbdb = aaabbbb = aaabbbc B Reichel, R Stiebe: Theoretische Informatik für Lehrer 190

75 Pumping Lemma für kontextfreie Sprachen Sei L eine kontextfreie Sprache Dann gibt es eine Konstante k N, so dass für alle Wörter z L mit z k eine Zerlegung z = uvwxy existiert, so dass gilt: (i) vwx k und vx 1, (ii) für alle i N gilt uv i wx i y L B Reichel, R Stiebe: Theoretische Informatik für Lehrer 191

76 Pumping Lemma Anwendung Mit Hilfe des Pumping Lemmas kann man zeigen, dass folgende Sprachen nicht kontextfrei sind: {a n b n c n n 1}, {ww w {a, b} }, {a m b n a m b n m, n 1}, {a 2n n 0}, {a m b n 0 m, 1 n 2 m } B Reichel, R Stiebe: Theoretische Informatik für Lehrer 192

77 Abschlusseigenschaften Satz Die Menge der kontextfreien Sprachen ist unter den Operationen (i) Vereinigung, (ii) Produkt (Konkatenation) und (iii) Kleene-Stern abgeschlossen Sie ist unter den Operationen (iv) Durchschnitt und (v) Komplement nicht abgeschlossen B Reichel, R Stiebe: Theoretische Informatik für Lehrer 193

78 Weitere Entscheidungsprobleme Satz Das Leerheitsproblem und das Endlichkeitsproblem für kontextfreie Grammatiken sind entscheidbar Satz Das Schnittproblem und das Äquivalenzproblem für kontextfreie Grammatiken sind unentscheidbar B Reichel, R Stiebe: Theoretische Informatik für Lehrer 194

79 Kellerautomaten endliche Automaten besitzen nur begrenzten Speicherplatz (ihre Zustände) Turingmaschinen besitzen unbegrenzten Speicherplatz mit im Prinzip wahlfreiem Zugriff Kellerautomaten besitzen unbegrenzten Speicherplatz in Form eines Kellerspeichers (Stack) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 195

80 Definition Kellerautomat Definition Ein (nichtdeterministischer) Kellerautomat (kurz PDA von pushdown automaton) M ist ein 6-Tupel M = (Z, Σ, Γ, δ, z 0, #) Dabei ist Z das Zustandsalphabet, Σ das Eingabealphabet, Γ das Kelleralphabet, z 0 Z der Anfangszustand, δ : Z (Σ {ε}) Γ 2 Z Γ E die Zustandsüberführungsfunktion bedeutet dabei die Menge der endlichen Teilmengen von X), (2 X E # Γ das Kelleranfangssymbol B Reichel, R Stiebe: Theoretische Informatik für Lehrer 196

81 Arbeitsweise von Kellerautomaten Der PDA startet im Zustand z 0 und mit dem Kellerinhalt # Bei (z, B 1 B 2 B k ) δ(z, a, A) mit a Σ befindet sich der PDA im Zustand z, liest auf dem Eingabeband ein a und im Keller ein A (das oberste Symbol) Er entfernt dieses A aus dem Keller, geht in den Zustand z über, bewegt den Lesekopf auf dem Eingabeband einen Schritt nach rechts und schreibt auf den Keller das Wort B 1 B 2 B k derart, dass B 1 das neue oberste Symbol des Kellers ist Bei (z, B 1 B 2 B k ) δ(z, ε, A) liest er im Gegensatz zur obigen Aktion auf dem Eingabeband nichts ein und bewegt den Lesekopf auf dem Eingabeband nicht Der PDA akzeptiert die Eingabe, wenn er sie vollständig eingelesen hat und der Keller leer ist (auch # steht nicht mehr im Keller) B Reichel, R Stiebe: Theoretische Informatik für Lehrer 197

82 Kellerautomat: Arbeitsweise für (z, B 1 B 2 B k ) δ(z, a i, A 1 ) a 1 a 2 a i a i+1 a n a 1 a 2 a i a i+1 a n z A 1 A 2 A r # z B 1 B k A 2 A r # B Reichel, R Stiebe: Theoretische Informatik für Lehrer 198

83 Kellerautomat: Arbeitsweise für (z, B 1 B 2 B k ) δ(z, ε, A 1 ) a 1 a 2 a i a i+1 a n a 1 a 2 a i a i+1 a n z A 1 A 2 A r # z B 1 B k A 2 A r # B Reichel, R Stiebe: Theoretische Informatik für Lehrer 199

84 Konfiguration von Kellerautomaten Definition Sei M = (Z, Σ, Γ, δ, z 0, #) ein Kellerautomat Eine Konfiguration von M ist ein Tripel k Z Σ Γ Anschaulich beschreibt eine Konfiguration k = (z, v, γ) folgende augenblickliche Situation des PDA: er befindet sich im Zustand z, v ist die noch nicht verarbeitete Eingabe auf dem Eingabeband und im Keller steht das Wort γ, wobei das erste Symbol von γ das oberste Kellersymbol sein soll B Reichel, R Stiebe: Theoretische Informatik für Lehrer 200

85 PDA Konfigurationsübergänge und akzeptierte Sprache k 1 k 2 bedeutet, dass der Kellerautomat die Konfiguration k 1 in genau einem Schritt in die Konfiguration k 2 überführt k 1 k 2 bedeutet, dass der Kellerautomat k 1 in endlich vielen Schritten (auch null) in k 2 überführt Definition Für einen PDA M = (Z, Σ, Γ, δ, z 0, #) sei die von ihm akzeptierte Sprache T (M) definiert durch T (M) = {w Σ (z 0, w, #) (z, ε, ε) für ein z Z} B Reichel, R Stiebe: Theoretische Informatik für Lehrer 201

86 Beispiel eines PDA Es sei M = ({z 0, z 1 }, {a, b}, {A, B, #}, δ, z 0, #) ein Kellerautomat, mit δ(z 0, a, X) = {(z 0, AX)} für X {B, #}, δ(z 0, a, A) = {(z 0, AA), (z 1, ε)}, δ(z 0, b, X) = {(z 0, BX)} für X {A, #}, δ(z 0, b, B) = {(z 0, BB), (z 1, ε)}, δ(z 0, ε, #) = {(z 1, ε)}, δ(z 1, a, A) = {(z 1, ε)}, δ(z 1, b, B) = {(z 1, ε)}, δ(z 1, ε, #) = {(z 1, ε)} Dann gilt T (M) = {ww R w {a, b} } B Reichel, R Stiebe: Theoretische Informatik für Lehrer 202

87 Kellerautomaten und kontextfreie Sprachen Satz Eine Sprache L ist kontextfrei genau dann, wenn ein (nichtdeterministischer) Kellerautomat M mit T (M) = L existiert B Reichel, R Stiebe: Theoretische Informatik für Lehrer 203

88 Deterministisch kontextfreie Sprachen Definition Ein Kellerautomat M = (Z, Σ, Γ, δ, z 0, #) heißt deterministisch, wenn: δ(z, a, A) + δ(z, ε, A) 1 für alle z Z, a Σ, A Γ Definition Eine Sprache L Σ heißt deterministisch kontextfrei, wenn L$ von einem deterministischen Kellerautomaten akzeptiert wird, wobei $ / Σ ein Sondersymbol ist Satz Die Menge der deterministisch kontextfreien Sprachen ist eine echte Teilmenge der Menge der kontextfreien Sprachen B Reichel, R Stiebe: Theoretische Informatik für Lehrer 204

89 Beispiel eines deterministischen PDA M = ({z 0 }, {a 1, a 2, b 1, b 2, $}, {A 1, A 2, #}, δ, z 0, #) ein Kellerautomat mit δ(z 0, a 1, X) = {(z 0, A 1 X)} für X {A 1, A 2, #}, δ(z 0, a 2, X) = {(z 0, A 2 X)} für X {A 1, A 2, #}, δ(z 0, b 1, A 1 ) = {(z 0, ε)}, δ(z 0, b 2, A 2 ) = {(z 0, ε)}, δ(z 0, $, #) = {(z 0, ε)} T (M) = {w$ w D 2 }, dh die Dyck-Sprache D 2 ist deterministisch kontextfrei B Reichel, R Stiebe: Theoretische Informatik für Lehrer 205

90 Weiteres Beispiel eines deterministischen PDA Sei M = ({z 0, z 1 }, {a, b, c, $}, {A, B, #}, δ, z 0, #) ein Kellerautomat mit δ(z 0, a, X) = {(z 0, AX)} für X {A, B, #}, δ(z 0, b, X) = {(z 0, BX)} für X {A, B, #}, δ(z 0, c, X) = {(z 1, X)} für X {A, B, #}, δ(z 1, a, A) = {(z 1, ε)}, δ(z 1, b, B) = {(z 1, ε)}, δ(z 1, $, #) = {(z 1, ε)} Dann gilt T (M) = {wcw R $ w {a, b} } B Reichel, R Stiebe: Theoretische Informatik für Lehrer 206

91 Bedeutung der deterministisch kontextfreien Sprachen Wortproblem entscheidbar in linearer Zeit (gegenüber kubischer Laufzeit des CYK-Algorithmus) Ausdruckskraft hinreichend für syntaktische Analyse im Compilerbau Bei realen Programmiersprachen kommen LR(k)-Grammatiken und deren Varianten zum Einsatz B Reichel, R Stiebe: Theoretische Informatik für Lehrer 207

92 Formale Sprachen Übersichten Chomsky-Hierarchie: Typ 3 Typ 2 Typ 1 Typ 0 Beispiele für die Echtheit der Inklusionen {a n b n n 1} Typ 2 \ Typ 3, {a n b n c n n 1} Typ 1 \ Typ 2, K Typ 0 \ Typ 1, wobei K {0, 1} das spezielle Halteproblem ist B Reichel, R Stiebe: Theoretische Informatik für Lehrer 208

93 Charakterisierungen der Sprachfamilien der Chomsky Hierarchie Sprache Grammatik Automat Andere Regulär Typ 3 Endlicher Automat (EA) Regulärer Ausdruck Deterministisch LR(k) Deterministischer kontextfrei Kellerautomat (DPDA) Kontextfrei Typ 2 (Nichtdeterministischer) Kellerautomat (PDA) Kontextabhängig Typ 1 (Nichtdeterministischer) Linear beschränkter Automat (LBA) Rekursiv Typ 0 Turingmaschine (TM) aufzählbar B Reichel, R Stiebe: Theoretische Informatik für Lehrer 209

94 Determinismus vs Nichtdeterminismus Nichtdeterminismus Determinismus Äquivalenz NEA DEA ja PDA DPDA nein LBA DLBA? NTM DTM ja B Reichel, R Stiebe: Theoretische Informatik für Lehrer 210

95 Abschlusseigenschaften Typ 3 Det kf Typ 2 Typ 1 Typ 0 Vereinigung ja nein ja ja ja Durchschnitt ja nein nein ja ja Komplement ja ja nein ja nein Konkatenation ja nein ja ja ja Kleene-Stern ja nein ja ja ja B Reichel, R Stiebe: Theoretische Informatik für Lehrer 211

96 Entscheidbarkeitsprobleme Typ 3 Det kf Typ 2 Typ 1 Typ 0 Wortproblem ja ja ja ja nein Leerheitsproblem ja ja ja nein nein Schnittproblem ja nein nein nein nein Äquivalenzproblem ja ja nein nein nein B Reichel, R Stiebe: Theoretische Informatik für Lehrer 212

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

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

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

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

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

Theoretische Grundlagen der Informatik

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

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19 Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Frank Heitmann heitmann@informatik.uni-hamburg.de 13. Mai 2014 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/17 Überblick Wir hatten

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

10 Kellerautomaten. Kellerautomaten

10 Kellerautomaten. Kellerautomaten 10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen

Mehr

Informatik III - WS07/08

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

Mehr

Grammatiken und die Chomsky-Hierarchie

Grammatiken und die Chomsky-Hierarchie Grammatiken und die Chomsky-Hierarchie Def.: Eine Grammatik G=(Σ,V,S,R) besteht aus endlichem Alphabet Σ endlicher Variablenmenge V mit V Σ= Startsymbol SєV endlicher Menge R с (V Σ) + x(v Σ)* von Ableitungsregeln

Mehr

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten 3 Reguläre Sprachen 63 3 Reguläre Sprachen In diesem Kapitel beschäftigen wir uns etwas näher mit den regulären Sprachen, insbesondere mit der Möglichkeit verschiedener Charakterisierungen und den Eigenschaften

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Sommersemester 2011 Dozent: Prof. Dr. J. Rothe, Prof. Dr. M. Leuschel J. Rothe (HHU Düsseldorf)

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

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

54 4 FORMALE SPRACHEN

54 4 FORMALE SPRACHEN 54 4 FORMALE SPRACHEN 4 Formale Sprachen 41 Einführung Ich erinnere an die Definitionen im Unterkapitel 16, die im weiteren Verlauf der Vorlesung von Bedeutung sein werden Insbesondere werden wir uns mit

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Deterministische Kellerautomaten

Mehr

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13)

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13) Ein verständiges Herz erwirbt Kenntnisse, und das Ohr der Weisen lauscht dem Wissen. (Die Bibel, "Buch der Sprüche", Kapitel 18 Vers 15) Inhalt 1. Empfehlenswerte Referenzen 2. Aufgabe 1 CF Grammatik für

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Die Komplexitätsklassen P und NP

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

Mehr

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Formale Sprachen Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Inhaltsübersicht und Literatur Formale Sprachen: Definition und Darstellungen Grammatiken für formale Sprachen

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK)

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK) TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010 2. Schriftliche Leistungskontrolle (EK) Punktzahl In dieser schriftlichen Leistungskontrolle sind 100 Punkte

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was isher geschah: Formale Sprachen Alphaet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen reguläre Ausdrücke: Syntax, Semantik, Äquivalenz Wortersetzungssysteme Wortersetzungsregeln

Mehr

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

Mehr

REG versus CF. Theorem REG ist echt in CF enthalten.

REG versus CF. Theorem REG ist echt in CF enthalten. REG versus CF Theorem REG ist echt in CF enthalten. Beweis: Wir wissen: L = {a m b m m 1} ist nicht regulär. Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b}, {S}, S,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

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

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

Mehr

Reguläre Sprachen Endliche Automaten

Reguläre Sprachen Endliche Automaten Endliche Automaten (Folie 54, Seite 16 im Skript) Einige Vorteile endlicher deterministischer Automaten: durch Computer schnell simulierbar wenig Speicher benötigt: Tabelle für δ (read-only), aktueller

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

2.1 Allgemeines. Was ist eine Sprache? Beispiele: Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax

Mehr

4 Formale Sprachen. 4.1 Einführung

4 Formale Sprachen. 4.1 Einführung 53 4 ormale Sprachen 41 Einführung Ich erinnere an die Definitionen im Unterkapitel 16, die im weiteren Verlauf der Vorlesung von Bedeutung sein werden Insbesondere werden wir uns mit formalen Sprachen

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

Ü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

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Turing-Machine Wir suchen ein Modell zur formalen Definition der Berechenbarkeit von Funktionen und deren Zeit- und Platzbedarf. Verschiedene Modelle

Mehr

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler Formale Sprachen Der Unterschied zwischen Grammatiken und Sprachen Rudolf Freund, Marian Kogler Es gibt reguläre Sprachen, die nicht von einer nichtregulären kontextfreien Grammatik erzeugt werden können.

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

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

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

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

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

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

Sprachen und Grammatiken

Sprachen und Grammatiken Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 03.12.2007 Sprachen und Grammatiken Alphabete, Zeichen und Symbole Ein

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO). 1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache

Mehr

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet

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

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Ogden s Lemma: Der Beweis (1/5)

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

Mehr

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

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 7 Besprechung in KW 48 / Abgabe in KW 49 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Dr.-Ing. Sven Hellbach S. Hellbach Grundlagen der Informatik II Abbildungen entnommen aus: Dirk W. Hoffmann: Theoretische Informatik; Hanser Verlag 2011, ISBN: 978-3-446-42854-6

Mehr