Formale Sprachen. Script, Kapitel 4. Grammatiken
|
|
- Nadine Catrin Ackermann
- vor 8 Jahren
- Abrufe
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 besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrReguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,
Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen
MehrFormale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten
MehrDefinition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.
Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer
MehrTheoretische 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
MehrWortproblem 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?
MehrProgrammiersprachen 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
MehrTheoretische 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
MehrGrammatiken. 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
MehrTheorie 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
MehrVorlesung 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
MehrFormale 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
MehrGrundlagen 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
MehrZusammenfassung Grundzüge der Informatik 4
Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1
MehrMotivation. 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
MehrGrundbegriffe 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
MehrGrundlagen 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
MehrTheoretische 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
MehrMathematische 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
MehrTheoretische 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
Mehr4.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,
MehrKapitel 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
MehrFormale 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
Mehr2.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
Mehr10 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
MehrInformatik 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
MehrGrammatiken 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
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
MehrInformatik 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.....................................
Mehr1. 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:
MehrEinfü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
MehrInformatik 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)
MehrSprachen/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:
Mehr1 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.
MehrGrundlagen 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
MehrGrundlagen 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)
Mehr8. Turingmaschinen und kontextsensitive Sprachen
8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten
Mehr54 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
MehrZusammenfassung. 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
MehrAutomaten 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
MehrTheoretische 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
MehrAutomaten 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
MehrTutorium 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
MehrPrimzahlen 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
MehrDie 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
MehrFormale 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
Mehrt 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
Mehr7. 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.,...)
MehrTheGI 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
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
MehrWas 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 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the
MehrEinfü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
MehrREG 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,
MehrGrundbegriffe 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
MehrTheoretische 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
MehrRegulä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
MehrGrundbegriffe 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
MehrTheoretische 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:
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrGrundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
MehrBasis 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
MehrInformationsblatt 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
Mehr2.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
Mehr4 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
MehrKapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
MehrÜbungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im
MehrTheoretische 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
MehrMä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
MehrDeterministische 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
MehrFormale 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.
Mehr2.2 Reguläre Sprachen Endliche Automaten
2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten
MehrVorlesung 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
MehrEinfü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
MehrDer 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
MehrA : z z A : z z : ( z, x, z ) δ
Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,
MehrAutomatentheorie und formale Sprachen
Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das
MehrErstellen 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
MehrDefinition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An
Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,
MehrSprachen 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
MehrLineare 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
MehrEin 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
MehrVorlesung 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
MehrTheorie der Informatik
Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)
MehrWS 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
MehrLemma 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
MehrOgden 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
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrTheorie der Informatik
Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man
MehrInformatik 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
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=
MehrAutomaten 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
MehrTheoretische 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
MehrEinfache 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
MehrDie 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
Mehr4. 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
MehrGrundlagen 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