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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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 4 Komplexitätstheorie Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 80 Kontextfreie Sprachen Zur Erinnerung Kontextfreie Grammatiken/Sprachen: alle Produktionsregeln P einer kontextfreien Grammatik G = (V, Σ, P, S) haben die Form A X, wobei A eine Variable in V ist und X eine Satzform in (V Σ) ist nach regulären Sprachen nächsthöhere Klasse in der Chomsky Hierarchie Grundlage im Compilerbau Beispiel (L = {a n b n n N}). Kontextfreie Grammatik G mit L(G) = L: S ab asb Wir zeigten bereits mit dem Pumping Lemma, dass L nicht regulär ist. Somit gibt es kontextfreie, nicht reguläre Sprachen. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 81

2 Normalformen allgemeine Form von kontextfreien Grammatiken eignet sich kaum für algorithmische Fragestellungen Normalformen geben einfache und einheitliche Struktur vor Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 82 Chomsky Normalform Definition 56 (Chomsky Normalform (CNF)). Sei G = (V, Σ, P, S) eine kontextfreie Grammatik, in der jede Regel die Form A BC oder A a oder S ε hat, wobei A V, B, C V \ {S} und a Σ ist. Dann sagen wir, dass G in Chomsky Normalform (CNF) vorliegt. Beobachtung. Falls G in CNF vorliegt und w L(G), dann besteht jede Ableitung von w aus genau 2 w 1 Schritten. Jeder Syntaxbaum (Ableitungsbaum) ist ein Binärbaum. Satz 57. Für jede kontextfreie Grammatik G existiert eine kontextfreie Grammatik G in Chomsky Normalform, so dass L(G) = L(G ). Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 83

3 Beispiel: L = {a n b n n 1} Kontextfreie Grammatik für L Grammatik für L in CNF G : S ab asb G : S AB AF E AB AF F EB A a B b Ableitung von aabb aus G S S AF af A F aeb aabb E B aabb aabb A B aabb a a b b Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 84 Beweis: Sei eine kontextfreie Grammatik G = (V,Σ, P, S) gegeben. Wir werden sukzessive die Produktionen/Regeln, die die Chomsky Regeln verletzen, durch äquivalente Regeln ersetzen. 0 Neue Startvariable S 0 und Regel S 0 S hinzufügen. Somit erscheint die Startvariable nie auf der rechten Seite 1 ε-regeln entfernen: Für jede Variable A S 0 entferne A ε, und für jede Regel der Form B X AY (X, Y (V Σ) ) füge zusätzlich eine Regel ohne A, also B XY, ein. Beachte: Für jedes Auftreten von A auf der rechten Seite fügen wir eine Extraregel ein. Z.B. für B X AY AZ fügen wir zusätzlich B X Y AZ, B XAY Z und B XY Z ein. 2 Einzelproduktionen entfernen: Entferne Regeln der Form A B (mit A, B V {S 0 }), und für jede Regel B X (X (V Σ) ) füge die Regel A X hinzu. Es sei denn, A X war eine Einzelproduktion, die bereits entfernt wurde. 3 Ersetze letztendlich jede Regel der Form mit x i V Σ für jedes i = 1,...,k: A x 1...x k Falls k 3, dann ersetze A x 1... x k durch A x 1 A 1, A 1 x 2 A 2,..., A k 2 x k 1 x k, wobei A 1,...,A k 2 neue Variablen sind. Falls k = 2, dann ersetze jedes Terminal x i Σ (i = 1, 2) in A x 1 x 2 durch X i, und füge X i x i als neue Regel hinzu, wobei X i eine neue Variable ist. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 85

4 Beispiel V = {S, A}, Σ = {a} S ASA A ε A aa ε 0-neue Startvariable S 0 S S ASA A ε A aa ε 1a-S ε eliminieren S 0 S ε S ASA A AA A aa ε 1b-A ε eliminieren S 0 S ε S ASA A AA AS SA A aa 2a-Einzelregel S A S 0 S ε S ASA aa AA AS SA A aa 2b-Einzelregel S 0 S S 0 ASA aa AA AS SA ε S ASA aa AA AS SA A aa 3a-S, S 0 ASA eliminieren (kurz) S 0 AX 1 aa AA AS SA ε S AX 1 aa AA AS SA A aa X 1 SA 3b- aa eliminieren (kurz) S 0 AX 1 A 1 A 1 AA AS SA ε S AX 1 A 1 A 1 AA AS SA A A 1 A 1 X 1 SA A 1 a Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 86 Greibach Normalform Definition 58 (Greibach Normalform (GNF)). Sei G = (V, Σ, P, S) eine kontextfreie Grammatik, in der jede Regel die Form A ab 1... B k (k 0) oder S ε hat, wobei A V, B 1,... B k V \ {S} und a Σ ist. Dann sagen wir, dass G in Greibach Normalform (GNF) vorliegt. Satz 59. Für jede kontextfreie Grammatik G existiert eine kontextfreie Grammatik G in Greibach Normalform, so dass L(G) = L(G ). Bemerkung. GNF kann als Erweiterung von regulären Grammatiken betrachtet werden. In regulären Grammatiken sind nur Regeln mit k = 0, 1 erlaubt. Jede kontextfreie Grammatik kann algorithmisch in eine GNF umgeformt werden. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 87

5 Pumping Lemma für kontextfreie Sprachen Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 88 Pumping Lemma für kontextfreie Sprachen Wie kann man beweisen, dass eine Sprache nicht kontextfrei ist? Satz 60 (Pumping Lemma für kontextfreie Sprachen). Sei L eine kontextfreie Sprache über ein beliebiges Alphabet Σ. Dann existiert eine Zahl n N, so dass für alle Wörter w L mit w n eine Zerlegung w = uvxyz mit folgenden Eigenschaften existiert: 1 vy 1, 2 vxy n, 3 uv k xy k z L für alle k N. Bemerkung. Für unäre Alphabete sind beide Pumping Lemmata äquivalent, da bei Wörtern über unären Alphabeten die Reihenfolge keine Rolle spielt und somit uv k xy k z = x(vy) k uz. Wir werden noch sehen, dass jede kontextfreie Sprache über einem unären Alphabet in der Tat regulär ist. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 89

6 Beispiel Beispiel. Die Sprache L = {a m b m c m m N} ist nicht kontextfrei. Beweis: Beweis durch Widerspruch mit Hilfe des Pumping-Lemmas. Angenommen L wäre kontextfrei. Dann gäbe es eine Pumping-Zahl n, so dass jedes Wort w = a m b m c m mit w n eine Zerlegung zulässt mit 1 vy 1, 2 vxy n, 3 uv k xy k z L für alle k N. w = uvxyz Betrachte insbesondere den Fall m = n, d.h. w = a n b n c n. Teil 2 impliziert vy kann nicht sowohl a s als auch b s und c s enthalten. Wegen Teil 1 gilt vy ε, und aus Teil 3 (angewandt mit k = 0) folgern wir uxz L. Also gibt es ein l < n mit uxz = a l b l c l, so dass vy doch a s und b s und c s enthalten muss, denn sonst w = uvxyz L. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 90 Beweis von Satz 60 Beweis: Sei G = (V,Σ, P, S) eine Grammatik für L in CNF und V = k. Setze n = 2 k. Sei w L(G) ein Wort mit w n. Jeder Syntaxbaum von w in G ist bis auf die letzte Ebene ein Binärbaum B: D.h. innerhalb des Binärbaumes B stehen Ableitungen der Form A BC: A und in der untersten Ebene stehen Ableitungen der Form B A a mit a Σ. Weil der Binärbaum B mindestens n = 2 k Blätter hat, gibt es einen Pfad der Länge k von der Wurzel S zu einem Blatt in B. Betrachtet man also einen Pfad P maximaler Länge in B, so sind (k + 1) Knoten mit Variablen beschriftet. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 91 C

7 Beweis von Satz 60 Teil 2 Weil G nur k Variablen hat, gibt es eine Variable, die doppelt auf P vorkommt. Genauer gibt es sogar auf dem unteren Teilstück der Länge k von P eine Variable A, die doppelt vorkommt: Betrachte nun die Teilwörter, die innerhalb des Baumes aus den beiden A s abgeleitet werden. Dies liefert eine Zerlegung w = uvxyz. Da das obere A nur k Schritte von der Blattebene entfernt ist, folgt vxy 2 k = n. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 92 Beweis von Satz 60 Teil 3 Weil die Grammatik CNF hat, gilt ferner vy 1. Weil A doppelt vorkommt, kann der Ableitungsbaum auf folgende Art modifiziert werden, um uxz = uv 0 xy 0 z abzuleiten: Dafür führe von dem oberen A aus die Ableitung durch, die in B von dem unteren A aus durchgeführt wird. Also folgt uxz L. Ferner kann man auch an das untere A in B nochmals die Ableitung anfügen, die von dem oberen A aus durchgeführt wurde. Also folgt uv 2 xy 2 z L. Entsprechend erhält man uv k xy k z L (k 2), so dass die Behauptung folgt. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 93

8 Weiteres Beispiel für Satz 60 Beispiel. Die Sprache L = {a h b i c j 0 h i j} {a, b, c} ist nicht kontextfrei. Beweis: Wir führen den Beweis durch Widerspruch mit Hilfe des Pumping-Lemmas. Angenommen L wäre kontextfrei. Dann gäbe es eine Pumping-Zahl n, so dass jedes Wort w = a h b i c j mit w n eine Zerlegung zulässt mit w = uvxyz 1 vy 1, 2 vxy n, 3 uv k xy k z L für alle k N. Betrachte insbesondere den Fall h = i = j = n, d.h. w = a n b n c n. Fall 1 (v oder y enthält mindestens zwei verschiedene Zeichen): Dann kann uv 2 xy 2 z nicht die Form a... ab... bc... c haben. Fall 2 (v und y enthalten jeweils höchstens Zeichen eines Typs): Da v und y jeweils nur Zeichen eines Typs enthalten, gibt es ein Zeichen, welches weder in v noch in y erscheint. Wir behandeln die drei offensichtlichen Unterfälle separat. Falls a nicht in vy enthalten ist, dann betrachte uv 0 xy 0 z = uxz, welches immer noch h = n a s, aber entweder weniger als i = n b s oder weniger als j = n c s enthält. Falls b nicht in vy enthalten ist, dann enthält vy entweder a s oder c s. Falls vy a s enthält dann ist die Anzahl der a s in uv 2 xy 2 z größer als die Anzahl der b s. Falls vy c s enthält dann ist die Anzahl der b s in uv 0 xy 0 z größer als die Anzahl der c s. Falls c nicht in vy enthalten ist, dann betrachte uv 2 xy 2 z, welches immer noch j = n c s, aber entweder mehr als h = n a s oder mehr als i = n b s enthält. In jedem Fall erhalten wir einen Widerspruch. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 94 Gibt es nichtreguläre, kontextfreie Sprachen über Σ = {a}? Satz 61 (Unäre kontextfreie Sprachen sind regulär). Sei L eine kontextfreie Sprache über dem Alphabet Σ = {a}. Dann ist L regulär. Beweis: Sei L eine kontextfreie Sprache über Σ = {a} und sei n die Pumping-Zahl aus Satz 60. D.h. jedes Wort w L mit w n hat eine Zerlegung w = uvxyz mit 1 vy 1, 2 vxy n, 3 uv k xy k z L für alle k N. Daraus folgt, dass es zu jedem w L {a}, w n zwei Zahlen s w := uxz, l w := vy gibt, so dass w = a s w +lw und 1 l w 1, 2 l w n, 3 a s w +klw L für alle k N. Wegen Teil 2 ist die Menge M := {l w w L und w n} endlich und für q := n! gilt Sei l teilt q für alle l M. (4) R := { r q a r L und für alle i mit 1 i r/q gilt a r iq L }. Dann gilt wegen Teil 3 und (4), dass R q. Setze nun L = {w L w q} {a r+iq r R und i N}. Da {w L w q} < und R <, gibt es einen Automaten der L akzeptiert (siehe Übungsblatt). Aus der Definition von R folgt, dass für alle r R das Wort w = a r in L ist. Da r n, existiert l w n für alle Wörter der Form w = a r mit r R. Wegen (4) folgt, dass es für jedes i N ein j i gibt, so dass iq = j i l w. Demnach gilt a r+iq = a r+j i lw L für alle i N wegen Teil 3 und somit L L. Ist ferner w = a m L mit m q, so gibt es ein r R und ein i N mit m = r + iq. Also folgt, dass w L, weshalb L L. Zusammenfassend folgt, dass L regulär ist, da L regulär ist, L L, und L L. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 95

9 CYK-Algorithmus Wortproblem für kontextfreie Sprachen Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 96 Wortproblem für kontextfreie Sprachen Wie löst man das Wortproblem für kontextfreie Sprachen? Eingabe: Kontextfreie Grammatik G = (V, Σ, P, S) in CNF und Wort w Σ Ziel: Entscheide, ob w L(G). Idee: dynamische Programmierung Für ein Wort w der Länge n sei w ij die Teilsequenz der Länge j von w, die an der i-ten Stelle beginnt. Der CYK-Algorithmus berechnet eine Tabelle (T ), deren ij-eintrag (T ij ) alle Variablen A V mit A G w ij enthält. Die Tabelle wird schrittweise für i = 1,... n und j = 1,..., n aufgebaut. Frage Was ist schlecht an einem rekursiven Ansatz für den CYK-Algorithmus? Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 97

10 Algorithmus von Cocke, Younger und Kasawi ALGORITHMUS: CYK. Eingabe: Ausgabe: kontextfreie Grammatik G = (V, Σ, P, S) in CNF und w = a 1... a n Σ JA, falls w L(G), und NEIN sonst 1 Initialisiere T i1 := {A V A a i P} für jedes i = 1,..., n. 2 Für j = 2,..., n (Schleife über Spalten) Für i = 1,..., n + 1 j Setze T ij :=. Für k = 1,..., j 1 T ij := T ij { A V (Schleife über Zeilen) A BC P mit B T ik und C T i+k,j k } Ende Schleife über k. Ende Schleife über i. Ende Schleife über j. 3 Wenn S T 1n, dann gib JA aus und sonst NEIN. (Schleife über Zeilen) (Schleife über Spalten) Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 98 Beispiel: CYK-Algorithmus Beispiel (L = {a n b n c m n, m 1}). Grammatik G für L äquivalente Grammatik G in CNF S XC X ab axb C c cc S XZ X AB AY A a Z c CZ Y XB B b C c T ij für w = aaabbbcc: A X S S 2 A X Y 3 A X Y 4 B 5 B 6 B 7 C, Z Z 8 C, Z S XZ AY Z AXBZ AAY BZ AAX BBZ AAABBBZ AAABBBCZ Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 99

11 Kellerautomaten Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 100 Kellerautomaten Anforderungen Gesucht: Automaten, die kontextfreie Sprachen akzeptieren. Benötigt: Unbegrenzten Speicher, um z.b. Sprachen wie {a n b n n N} zu erkennen. Idee: Statte NFA s mit einem Keller/Stack aus, welcher bei Übergängen manipuliert (PUSH- und POP-Operationen) werden kann. Akzeptiert: Wörter, die so abgearbeitet werden können, dass der Stack am Ende leer ist, sind in der akzeptierten Sprache ( keine Endzustände). a, A AA a, A z a ε, ε ε b, A ε ε, ε z b Akzeptiert: L = {a n b n n N} Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 101

12 PDA-Kellerautomat Definition 62 (PDA). Ein Kellerautomat (PushDown Automata) ist ein 6-Tupel Dabei ist Z eine endliche Menge von Zuständen, M = (Z, Σ, Γ, δ, z 0, ). Σ ein Alphabet, das sog. Eingabealphabet, mit Σ Z =, Γ ein Alphabet, das sog. Kelleralphabet, mit Γ Z =, δ : Z (Σ {ε}) Γ P e (Z Γ ) die Überführungsfunktion, wobei P e (Z Γ ) = {Y Z Γ Y < } die Menge der endlichen Teilmengen von Z Γ ist, z 0 Z der Startzustand und Γ das unterste Kellerzeichen ist. Wie funktioniert δ? (z a, A B 1... B k, B 1... B k ) δ(z, a, A) z z Wenn M in Zustand z ist, das Eingabesymbol a liest und A das oberste Kellerzeichen ist, dann kann M in z übergehen und A auf dem Keller durch B 1... B k ersetzen, wobei dann B 1 oberstes Kellerzeichen ist. Falls a = ε, dann spricht man vom spontanen Übergang. Falls B k = A, dann pusht man B 1... B k 1 auf den Stack/Keller. Falls k = 1 und B 1 = ε, dann popt man A vom Stack/Keller. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 102 Konfigurationen, Relationen, PDA und Sprachen Definition 63 (Konfiguration). Eine Konfiguration eines Kellerautomaten M = (Z, Σ, Γ, δ, z 0, ) ist ein Tupel K = (z, σ, γ) Z Σ Γ, wobei (z, σ, γ) den aktuellen Zustand beschreibt. Genauer ist z der aktuelle Zustand von M, σ der noch zu lesende Teil des Eingabewortes und γ der aktuelle Kellerinhalt. Definition 64 (Relationen: M, M ). Sei M = (Z, Σ, Γ, δ, z 0, ) ein PDA. Wir definieren die Relation M (kurz ) auf der Menge der Konfigurationen von M wie folgt: Sei z, z Z, σ = aσ Σ, γ = Aγ Γ und ν Γ, dann (z, σ, γ) M (z, σ, νγ ), falls (z, ν) δ(z, a, A) (z, σ, γ) M (z, σ, νγ ), falls (z, ν) δ(z, ε, A). Mit M (kurz ) bezeichnen wir die reflexive und transitive Hülle von M. Definition 65 (akzeptierte Sprache (PDA)). Sei M = (Z, Σ, Γ, δ, z 0, ) ein PDA. Die von M akzeptierte Sprache ist N(M) := {w Σ (z 0, w, ) M (z, ε, ε) für irgendein z Z }, die Menge der Wörter, die M so abarbeiten kann, dass der Keller/Stack am Ende leer ist. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 103

13 Kontextfreie Sprachen Satz 66 (PDA s und kontextfreie Sprachen). Sei L eine Sprache über einem beliebigen Alphabet Σ. PDA M mit N(M) = L L ist kontextfrei. Beweis ( ): Sei L eine kontextfreie Sprache, die von der kontextfreien Grammatik G = (V, Σ, P, S) erzeugt wird. Definiere M = ({z}, Σ, V Σ, δ, z, S), wobei δ genau folgende Übergänge zulässt: (z, X) δ(z, ε, A), für jede Regel A X P (z, ε) δ(z, a, a), für alle a Σ. Sei nun w Σ. Dann gilt: w L(G) es gibt eine Ableitung S w, es gibt eine Folge von Konfigurationen (z, w, S) (z, ε, ε), w N(M). Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 104 Rückrichtung von Satz 66 Sei ein PDA M = (Z, Σ, Γ, δ, z 0, ) gegeben. Wir nehmen an, dass für jeden Übergang (z, B 1... B k ) δ(z, a, A) gilt, dass k 2. Andernfalls ersetzen wir den Übergang (z, a, A) (z, B 1... B k ) durch (z, a, A) (z 1, B k 1 B k ) (z 1, ε, B k 1 ) (z 2, B k 2 B k 1 ). a, A B k 1B k z z 1 ε, B k 1 B k 2B k 1... (z k 2, ε, B 2 ) (z, B 1 B 2 ) z z ε, B 3 B 2B 3 k 2 ε, B 2 B 1B 2 Wir definieren nun G = (V, Σ, P, S), wobei V = {S} Z Γ Z, und P die folgenden Produktionen enthält: S (z 0,, z), für alle z Z, (z, A, z ) a, für alle (z, ε) δ(z, a, A), (z, A, z ) a(z 1, B, z ), für alle (z 1, B) δ(z, a, A) und z Z, (z, A, z ) a(z 1, B, z 2 )(z 2, C, z ), für alle (z 1, BC) δ(z, a, A) und z 2, z Z. Offensichtlich ist G eine kontextfreie Grammatik. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 105

14 Rückrichtung von Satz 66 Teil 2 Behauptung 67 (Hilfslemma für Satz 66). Für alle z, z Z, A Γ und w Σ gilt: (z, A, z ) w gdw. (z, w, A) (z, ε, ε). Bevor wir die Behauptung zeigen, reduzieren wir Satz 66 auf diese. Sei also w Σ beliebig, dann gilt w N(M) (z 0, w, ) (z, ε, ε) für ein z Z, (z 0,, z ) w für ein z Z, S (z 0,, z ) w für ein z Z, w L(G). Es bleibt noch die Behauptung zu zeigen. Der Beweis spaltet sich wieder in zwei Teile (Hin- und Rückrichtung). Aber zuvor stellen wir fest, dass für alle a Σ {ε} gilt: (z, A, z ) a gdw. (z, A, z ) a P gdw. (z, ε) δ(z, a, A) (5) gdw. (z, a, A) (z, ε, ε). Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 106 Hinrichtung der Behauptung 67 Beweis ( ): Wir führen Induktion über k, die Länge einer Linksableitung von w. Der Induktionsanfang (k = 1) ergibt sich aus (5). Betrachten wir nun also eine Ableitung mit k > 1. Fall 1 ((z, A, z ) a w): Dann ist w = a. Dies ist bei k > 1 unmöglich. Fall 2 ((z, A, z ) a(z 1, B, z ) aw = w): Dann ist (z 1, B) δ(z, a, A) und nach Induktionsvoraussetzung gilt (z 1, w, B) (z, ε, ε). Daraus folgt (z, aw, A) (z 1, w, B) (z, ε, ε). Fall 3 ((z, A, z ) a(z 1, B, z 2 )(z 2, C, z ) aw = w): Dann ist (z 1, BC) δ(z, a, A) und nach Induktionsvoraussetzung gilt (z 1, u, B) (z 2, ε, ε) und (z 2, v, C) (z, ε, ε), wobei w = uv. Daraus folgt (z, auv, A) (z 1, uv, BC) (z 2, v, C) (z, ε, ε). Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 107

15 Rückrichtung der Behauptung 67 Beweis ( ): Angenommen (z, w, A) (z, ε, ε) Wir zeigen mit Induktion über die Zahl n der Schritte von M, dass dann (z, A, z ) w gilt. Der Induktionsanfang n = 1. Für a Σ {ε} gilt: (z 1, A, z ) a (z, A, z ) a P (z, ε) δ(z, a, A) (z, a, A) (z, ε, ε) Sei nun also n > 1. Wir können w zerlegen in w = au, a Σ {ε}, so dass gilt: (z, au, A) (z 1, u, γ) + (z, ε, ε) (z 1 Z, γ Γ ). Fall 1 (γ = ε): Dies kann nicht sein, weil dann (z 1, a, γ) keine Folgekonfiguration hätte (d.h. n = 1). Fall 2 (γ = B Γ): Nach Induktion gilt: (z 1, B, z ) u. Nach Definition von P gibt es ferner eine Regel (z, A, z ) a(z 1, B, z ) P. Also folgt: (z, A, z ) a(z 1, B, z ) au = w. Fall 3 (γ = BC Γ 2 ): Die Berechnung (z 1, u, BC) (z, ε, ε) wird in zwei Teile zerlegt: (z 1, u 1, BC) (z 2, u 2, C) (z 2, u 2, C) (z, ε, ε), mit u = u 1 u 2, so dass (z 1, u 1, B) (z 2, ε, ε). Daher zeigt die Induktionsvoraussetzung, dass Also ermöglicht P die Ableitung (z 1, B, z 2 ) u 1 und (z 2, C, z ) u 2. (z, A, z ) a(z 1, B, z 2 )(z 2, C, z ) au 1 (z 2, C, z ) au 1 u 2 = au = w. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 108 Deterministisch kontextfreie Sprachen Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 109

16 Deterministischer Kellerautomat Definition 68 (DPDA - deterministischer Kellerautomat). Ein deterministischer Kellerautomat ist ein Tupel M = (Z, Σ, Γ, δ, z 0,, E), wobei (Z, Σ, Γ, δ, z 0, ) ein Kellerautomat ist, für alle z Z, a Σ und A Γ gilt: δ(z, a, A) + δ(z, ε, A) 1, E Z eine Menge von Endzuständen ist. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 110 Determinismus vs. Nichtdeterminismus DPDA für L = {w w R w {a, b} } {a, b, } a, push A b, push B a, A ε b, B ε, ε ε z 0 z 1 ε, ε z 2 PDA für L = {ww R w {a, b} } {a, b} a, push A b, push B a, A ε b, B ε ε, ε ε, ε ε z 0 z 1 Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 111

17 Deterministisch kontextfreie Sprachen Definition 69 (akzeptierte Sprache (DPDA)). Eine Konfiguration von M ist ein Tripel (z, w,γ) Z Σ Γ, und die Relation M ist wie für PDA s definiert. M akzeptiert w Σ, falls es einen Zustand z E gibt, so dass (z 0, w, ) M (z,ε, γ) mit γ Γ. Mit N(M) bezeichnen wir die von M akzeptierte Sprache. Definition 70. Eine Sprache L heißt deterministisch kontextfrei, falls es einen deterministischen Kellerautomaten mit L = N(M) gibt. Bemerkung. Eine Sprache L ist deterministisch kontextfrei gdw. es eine sogenannte LR(k)-Grammatik (k > 0) gibt, die L erzeugt. LR(k)-Grammatiken sind kontextfreie Grammatiken für die jeder Ableitungsschritt eindeutig durch k Terminale der Eingabe bestimmt ist. Ferner gilt LR(0) LR(1)= =LR(k). Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 112 Abschlusseigenschaften det. kf. Sprachen Satz Falls L deterministisch kontextfrei ist, so ist auch L deterministisch kontextfrei. 2 Falls R regulär und L deterministisch kontextfrei ist, ist auch R L deterministisch kontextfrei. Insbesondere ist jede reguläre Sprache deterministisch kontextfrei. 3 Jede deterministisch kontextfreie Sprache ist kontextfrei. 4 Die Klasse der deterministisch kontextfreien Sprache ist weder unter Vereinigung noch unter Schnittbildung abgeschlossen. Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 113

18 Zusammenfassung Chomsky Normalform Greibach Normalform Pumping Lemma für kontextfreie Sprachen Das Wortproblem und der CYK Algorithmus Kellerautomaten (PDA s), Konfigurationen, deterministische Kellerautomaten (DPDA s) deterministisch kontextfreie Sprachen, LR(k)-Grammatik Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten 114

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

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

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

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

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

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

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 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 Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten

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

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

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

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

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift 6. Kontextfreie Sprachen Theoretische Informatik Mitschrift Typ-2-Grammatiken: Regeln der Form A mit A N und N * Beispiel: Grammatik für arithmetische Ausdrücke G= {E,T,F },{,,,,a}, P, E, P : E ET T T

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

Formelsammlung theoretische Informatik I

Formelsammlung theoretische Informatik I Formelsammlung theoretische Informatik I Stand: 27.05.2005 - Version: 1.0.3 Erhältlich unter http://privat.macrolab.de Diese Formelsammlung basiert auf der Vorlesung Theoretische

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

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

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

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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

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

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

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

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

Grundbegriffe der Informatik Tutorium 7

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

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

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

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

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

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Dr. Harald Hempel SS 2006 Inhaltsverzeichnis I. Formale Sprachen 7 1. Sprachen und Grammatiken 8 1.1. Grundlagen................................... 8 1.2. 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

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

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

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

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

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht

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

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Syntax WS 2006/2007 Manfred Pinkal Einführung in die Computerlinguistik 2006/2007 M. Pinkal UdS 1 Morphologie und Syntax Gegenstand der Morphologie ist die Struktur

Mehr

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Beweis: Für jedes a Σ muss jede Position in der Tabelle nur konstant oft besucht werden.

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

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

Mehr

Informatik I. Lutz Donnerhacke lutz@iks-jena.de. PGP:db089309 1c1c 6311 ef09 d819 e029 65be bfb6 c9cb

Informatik I. Lutz Donnerhacke lutz@iks-jena.de. PGP:db089309 1c1c 6311 ef09 d819 e029 65be bfb6 c9cb Informatik I Lutz Donnerhacke lutz@iks-jena.de PGP:db089309 1c1c 6311 ef09 d819 e029 65be bfb6 c9cb 1 Semesterübersicht Grundbegriffe der theoretischen Informatik Übersicht über Funktionen von Betriebsystemen

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

THEORETISCHE INFORMATIK

THEORETISCHE INFORMATIK THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek Institut für Theoretische Informatik Technische Universität Braunschweig Januar 2014 Inhaltsverzeichnis 1 Endliche Automaten 1 1.1 Mathematische Grundbegriffe.......................

Mehr

4.2 Die Chomsky Normalform

4.2 Die Chomsky Normalform 4.2 Die Chomsky Normalform Für algorithmische Problemstellungen (z.b. das Wortproblem) aber auch für den Nachweis von Eigenschaften kontextfreier Sprachen ist es angenehm, von CFG in Normalformen auszugehen.

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

Aufgabentypen die in der Klausur vorkommen

Aufgabentypen die in der Klausur vorkommen Aufgabentypen die in der Klausur vorkommen können 1. Nennen Sie fünf wichtige Anwendungsgebiete der Computerlinguistik. 2. Für welches der drei Anwendungsgebiete Maschinelle Übersetzung, Rechtschreibkorrektur

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

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Syntax II WS 2008/2009 Manfred Pinkal Morphologie und Syntax Gegenstand der Morphologie ist die Struktur des Wortes: der Aufbau von Wörtern aus Morphemen, den kleinsten

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

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

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

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

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

Mehr

GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de

GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 6. Juni - 13. Juni 1 / 49 Die Turingmaschine war das erste (bzw. zweite) formale Modell der Berechenbarkeit. Sie wurden bereits 1936 (also lange

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

Modul Formale Sprachen Bachelor Informatik 3. Semester

Modul Formale Sprachen Bachelor Informatik 3. Semester Modul Formale Sprachen Bachelor Informatik 3. Semester Lehrinhalte: Das Modul führt in die Grundlagen der Automatentheorie sowie der Theorie formaler Sprachen ein. Es vermittelt grundlegende Aussagen und

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Kontextfreie Sprachen Bemerkung Wie wir gesehen haben, ist folgende Sprache nicht regulär: L

Mehr

TEIL III: FORMALE SPRACHEN

TEIL III: FORMALE SPRACHEN EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 TEIL III: FORMALE SPRACHEN 16. TERMERSETZUNGSSYSTEME UND CHOMSKY-GRAMMATIKEN Theoretische Informatik (SoSe 2011)

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

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Mathematische Maschinen

Mathematische Maschinen Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische

Mehr

Kapitel: Kontextfreie Sprachen. Kontextfreie Sprachen 1 / 78

Kapitel: Kontextfreie Sprachen. Kontextfreie Sprachen 1 / 78 Kapitel: Kontextfreie Sprachen Kontextfreie Sprachen 1 / 78 Die Syntax von Programmiersprachen Wie lässt sich die Syntax einer Programmiersprache definieren, so dass die nachfolgende Syntaxanalyse effizient

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

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

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

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München Automaten, Formale Sprachen und Berechenbarkeit I Skript zur Vorlesung im WS 2001/02 an der TU München Ekkart Kindler Steffen Manthey Version: 1.30 vom 30. April 2002 ii Redaktioneller Hinweis: Es gibt

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

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen 1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit

Mehr

Prof. Dr. Jürgen Dix Institut für Informatik, TU Clausthal Informatik III, WS 2006/07 2/561

Prof. Dr. Jürgen Dix Institut für Informatik, TU Clausthal Informatik III, WS 2006/07 2/561 Informatik III (Automatentheorie und formale Sprachen) Prof. Dr. Jürgen Dix Institut für Informatik TU Clausthal WS 2006/07 Zeit und Ort: Vorlesung am Mittwoch 15-17 (HA) und Donnerstag 13 15 (HB) (IfM),

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

Mehr

4. Grammatiken. 4.1. Grundlegende Definitionen. Wie lassen sich formale Sprachen beschreiben?

4. Grammatiken. 4.1. Grundlegende Definitionen. Wie lassen sich formale Sprachen beschreiben? 4. Grammatiken 4.1. Grundlegende Definitionen Wie lassen sich formale prachen beschreiben? im endlichen Fall: Aufzählung der Wörter der prache im unendlichen Fall: akzeptierende Automaten, Mengenausdrücke:

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

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Kapitel 4 Dynamische Optimierung Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Inhalt Inhalt 4 Dynamische Optimierung Allgemeiner Ansatz und Beispiele Stochastische dynamische

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

1 Syntax von Programmiersprachen

1 Syntax von Programmiersprachen 1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme

Mehr

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka Literatur: John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie,

Mehr

Übungsaufgaben und Lösungen. zur Vorlesung. Theoretische Grundlagen der Informatik

Übungsaufgaben und Lösungen. zur Vorlesung. Theoretische Grundlagen der Informatik UNIVERSITÄT KONSTANZ Theoretische Grundlagen der Informatik SS 3 Fachbereich Informatik & Informationswissenschaft www.inf.uni-konstanz.de/algo/lehre/ss3/theo Dr. Bernd Gärtner, Carola Haid, Jasper Möller,

Mehr

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al. Folie: 1 Kapitel 4 Übersicht Übersicht Syntax: Definition 4 syn-tax: the way in which words are put together to form phrases, clauses, or sentences. Webster's Dictionary Die Syntax (griechisch σύνταξις

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

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

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

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012. Sprachen. Grammatiken (Einführung)

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012. Sprachen. Grammatiken (Einführung) Wörter, Grmmtiken und die Chomsky-Hierrchie Sprchen und Grmmtiken Wörter Automten und Formle Sprchen lis Theoretische Informtik Sommersemester 2012 Dr. Snder Bruggink Üungsleitung: Jn Stückrth Alphet Ein

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik - das Quiz zur Vorlesung Teil I - Grundzüge der Logik In der Logik geht es um... (A) die Formen korrekten Folgerns (B) die Unterscheidung von wahr und falsch (C) das Finden von

Mehr

Pratts Primzahlzertifikate

Pratts Primzahlzertifikate Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Theoretische Informatik - Zusammenfassung

Theoretische Informatik - Zusammenfassung Theoretische Informatik - Zusammenfassung Dino Wernli, Fabian Hahn 15. März 2009 1 Alphabete, Sprachen, Aufgaben 1.1 Alphabete, Wörter und Sprachen Alphabete Eine endliche, nichtleere Menge Σ heisst Alphabet.

Mehr

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

Mehr

Kapitel 5: Applikative Programmierung

Kapitel 5: Applikative Programmierung Kapitel 5: Applikative Programmierung In der applikativen Programmierung wird ein Programm als eine mathematische Funktion von Eingabe-in Ausgabewerte betrachtet. Das Ausführen eines Programms besteht

Mehr