Grundlagen der theoretischen Informatik

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der theoretischen Informatik"

Transkript

1 Grundlagen der theoretischen Informatik Dr. Harald Hempel SS 2006

2

3 Inhaltsverzeichnis I. Formale Sprachen 7 1. Sprachen und Grammatiken Grundlagen Grammatiken Die Chomsky-Hierarchie Reguläre Sprachen Endliche Automaten (deterministisch) Nichtdeterministische endliche Automaten Reguläre Ausdrücke und Gleichungssysteme Äquivalenzrelationen und Minimalautomaten Das Pumping-Lemma Abschlusseigenschaften Kontextfreie Sprachen Normalformen Das Pumping-Lemma für kontextfreie Sprachen Abschlusseigenschaften Kellerautomaten Deterministisch kontextfreie Sprachen Das Wortproblem für kontextfreie Sprachen Kontexsensitive und L 0 -Sprachen Turingmaschinen Linear beschränkte Turingmaschinen (LBA) L 0 -Sprachen II. Berechenbarkeit Churchsche These Einführung Grundlagen Turing-Berechenbarkeit Andere Typen von Turing-Maschinen

4 Inhaltsverzeichnis 5.5. Die Churchsche These Primitv rekursive und partiell rekursive Funktionen Primitiv rekursive Funktionen Beispiele für primitiv rekursive Funktionen Weitere Rekursionsarten Allgemein rekursive und partiell rekursive Funktionen

5 Auflistung der Theoreme Sätze Satz Myhill, Nerode Satz Churchsche These Definitionen und Festlegungen 5

6 Vorwort Dieses Dokument wurde als Skript für die auf der Titelseite genannte Vorlesung erstellt und wird jetzt im Rahmen des Projekts Vorlesungsskripte der Fakultät für Mathematik und Informatik weiter betreut. Das Dokument wurde nach bestem Wissen und Gewissen angefertigt. Dennoch garantiert weder der auf der Titelseite genannte Dozent, die Personen, die an dem Dokument mitgewirkt haben, noch die Mitglieder des Projekts für dessen Fehlerfreiheit. Für etwaige Fehler und dessen Folgen wird von keiner der genannten Personen eine Haftung übernommen. Es steht jeder Person frei, dieses Dokument zu lesen, zu verändern oder auf anderen Medien verfügbar zu machen, solange ein Verweis auf die Internetadresse des Projekts http: // uni-skripte. lug-jena. de/ enthalten ist. Diese Ausgabe trägt die Versionsnummer 2606 und ist vom 6. Dezember Eine (mögliche) aktuellere Ausgabe ist auf der Webseite des Projekts verfügbar. Jeder ist dazu aufgerufen, Verbesserungen, Erweiterungen und Fehlerkorrekturen für das Skript einzureichen bzw. zu melden oder diese selbst einzupflegen einfach eine an die Mailingliste senden. Weitere Informationen sind unter der oben genannten Internetadresse verfügbar. Hiermit möchten wir allen Personen, die an diesem Skript mitgewirkt haben, vielmals danken: Matti Bickel (2006) 6

7 Teil I. Formale Sprachen 7

8 1. Sprachen und Grammatiken 1.1. Grundlagen Definition Eine Menge Σ heißt Alphabet gdw sie endlich ist. (und nicht leer Σ ) Beispiel Σ 1 = {a, b, c,..., y, z} Σ 2 = {APFEL, FOR, IF} Elemente von Alphabeten heißen Buchstaben. Definition Sei Σ ein Alphabet. Ein Wort w über Σ ist eine endliche Folge von Buchstaben aus Σ. Wörter sind Aneinanderreihungen von Buchstaben: abba, FORFORFOR, ε (leeres Wort) Definition Seien w 1, w 2 Wörter über Σ, d. h. w 1 = x 1 x 2... x n und w 2 = y 1 y 2... y m. Die Konkatenation von w 1, w 2 (w 1 w 2 ) ist definiert als w 1 w 2 = x 1... x n y 1... y m. Die Länge des Wortes w 1, w 1, ist definiert als die Zahl der Buchstaben von w 1 = n. ε ist das eindeutig bestimmte Wort mit der Länge 0. Definition Sei Σ Alphabet. Der Kleene-Abschluss von Σ, Σ wird wie folgt definiert: Σ 0 = {ε} Σ i+1 = {uv : u Σ v Σ i } Σ 1 = {uv : u Σ v Σ 0 } = Σ Σ i = Menge der i-buchstabigen Wörter Σ = Menge aller Wörter über Σ 8

9 1.2. Grammatiken Definition Sei Σ Alphabet. A heißt (formale) Sprache über Σ gdw A Σ Sprache über Σ 1 {abba, beatles, tokio} Sprachen über Σ 1. Notation: a Buchstabe: a 0 = ε, a i = aa... a } {{ } i mal Am Beispiel: {a i b i : i, j N} Sprache über Σ (unendliche Sprache) Definition Seien A und B zwei Sprachen über Σ. (1.1) A B = {uv : u A v B} A B, A B, Ā,...sind wie üblich definiert. Gilt: A B = A B? A = {a, aa}, B = {ab, b} A B = {(a, ab), (a, b), (aa, ab), (aa, b)} A B = {aab, ab, aaab} 1.2. Grammatiken Sei A Sprache über Σ, A unendlich. Offenbar gibt es schnelle Algorithmen, die für eine solche Sprache (A = FOO + +) für ein gegebenes Wort w entscheiden, ob w A oder w / A. Algorithmus läuft auf einem (endl.) Computer, wie kann A also repräsentiert werden? 1. Erzeugendensystem 2. Gleichungssysteme 3. wohlgeformte Ausdrücke Grammatiken benötigen Bausteine: 1. Alphabet 2. Hilfssymbole 3. Anfang für Ersetzungen 4. Ersetzungsregeln 9

10 1. Sprachen und Grammatiken Definition Eine Grammatik ist ein 4-Tupel: G = (Σ, N, S, R) mit folgenden Bedingungen: 1. Σ endl. Menge 2. N endl. Menge, Σ N = 3. S N 4. R endl. Menge, R (N \{ε}) (Σ N) Σ - Buchstaben, Terminalsymbole (Konvention: Kleinbuchstaben) N - Hilfssymbole, Nichtterminalsymbole (Konvention: Großbuchstaben) S - Startsymbol R - Regelmenge (p, q) R, p N \{ε} ist eine Folge von Nichtterminalsymbolen, q (Σ N) eine Folge von Terminal und Nichtterminalsymbolen Beispiel G = ({a, b}, {A, B}, S, {(S, AB), (A, aa), (B, Bb), (A, a), (B, b)}) S AB ab ab L(G) = {a i b i : i, j N i, j 0} L(G) enthält die Wörter über Σ, die aus dem Startsymbol durch Anwendung der Regeln abgeleitet werden können. ist Hüllenoperator: 1. A A 2. A B A B 3. (A ) = A Definieren: A + = A \{ε} Bei Regeln stehen links nur Nichtterminalsymbole, aber mindestens eines. Rechts stehen beliebig lange Wörter über dem Alphabet (Σ N) Kommentar: allgemeine Regeldefinition: R endlich und R (Σ N) (Σ N). Man kann zeigen: es gibt zu jeder so definierten Regelmenge eine Regelmenge N + (Σ N) ), die äquivalent ist. Ist (p.q) R, so schreiben wir auch p q. 10

11 1.2. Grammatiken Definition Seien w, w Wörter über Σ, d. h. w, w (Σ N) und G = (Σ, N, S, R) eine Grammatik. w heißt aus w ableitbar (in einem Schritt und Regeln aus G) gdw folgendes gilt: p 1, p 2, p, q : (p 1, p 2, q (Σ N) p N + w = p 1 pp 2 w = p 1 qp 2 (p, q) R) Notation: w G w G ist eine binäre Relation über (Σ N) G ist reflexiv, transitive Hülle von G Definition Seien w, w, G wie in Def. Definition w heißt aus w ableitbar (in bel. vielen Schritten mit Regeln aus G), w G w, gdw n N, w 1,..., w n (Σ N) : (w = w 1 G w 2 w 2 G w 3... w n 1 G w n = w ) Definition Sei G = (Σ, N, S, R) Grammatik. Die von G generierte (erzeugte) Sprache L(G) = {w Σ S G w} Zum Beispiel sei L(G) = {a i b i : i, j 1}. Dann sind ab, aabb, a 14 b 16,... L(G) aber BA, ba, ε,... / L(G). Beispiel suchen Grammatik, die alle aussagenlogischen Aussagen mit den Variablen a, b, c generiert: G = ({a, b, c, (, ),,,,, }, R = {S (A), S A, A B C,...} Ableitungsbaum einer Grammatik G: todo: Baumgrafik Baum ist i. A. unendlich groß; Blätter sind L(G) Syntaxbaum des Wortes aabb bezüglich G: todo: Baumgrafik Baum endlich, stellt Ableitung eines Wortes w, S w, dar; Reihenfolge der Anwendung der Regeln i. A. nicht mehr ersichtlich Offenbar ist die von G generierte Sprache L(G) eindeutig bestimmt. Umgekehrt kann es zu einer Sprache A Σ mehr als eine erzeugende Grammatik geben. Beispiel Ĝ = ({a, b}, {F, X, Y }, F, {F XY, X ax, Y Y b, X a, Y b}) L(G) = L(Ĝ) = {ai b i : i, j 1} Definition Zwei Grammatiken G 1 und G 2 heißen äquivalent, gdw L(G 1 ) = L(G 2 ) Notation: G 1 G 2 zu jeder Grammatik für die lediglich R (Σ N) (Σ N) gilt, gibt es eine äq. Grammatik für die R N + (Σ N) gilt. 11

12 1. Sprachen und Grammatiken 1.3. Die Chomsky-Hierarchie Definition Sei G = (Σ, N, S, R) eine Grammatik gemäß Definition Definition G heißt auch Phrasenstrukturgrammatik bzw. Typ-0-Grammatik. 2. G heißt nicht verkürzend (kontextsensitiv) bzw. Typ-1-Grammatik gdw (p, q) R: p q 3. G heißt kontextfrei bzw. Typ-2-Grammatik gdw G Typ-1-Grammatik und (p, q) R: p N 4. G heißt regulär bzw. Typ-3-Grammatik gdw G Typ-2-Grammatik und (p, q) R: q Σ q Σ N Beispiel G ist Typ-0,1,2-Grammatik. Gibt es G G mit G regulär? ja: G = ({a, b}, {S, A, B}, S, {S aa, A aa, A b, A bb, B bb, B b}) Definition Eine Sprache A Σ heißt: von einer Grammatik erzeugbar (Typ-0-Sprache) kontextsensitiv (Typ-1-Sprache), kontextfrei (Typ-2-Sprache), regulär (Typ-3-Sprache), gdw sie von einer Sprache ihres Typs erzeugt werden kann. Entsprechend definiert man folgende Teilmengen von P(Σ ): L 0 - Menge der Typ-0-Sprachen CS- Menge der Typ-1-Sprachen CF- Menge der Typ-2-Sprachen REG- Menge der Typ-3-Sprachen Beispiel: {a i b i : i, j 1} REG Satz REG CF CS L 0 Beweis: folgt unmittelbar aus Definition Definition 1.1.1/Definition später zeigen: REG CF CS L 0 Problem: {ε} / CS, da jede erzeugende Grammatik nicht verkürzend ist ( S = 1, ε = 0) Lösung: Vereinbarung bzgl. ε: 12

13 1.3. Die Chomsky-Hierarchie 1. S ε ist als verkürzende Regel in Typ-(1,2,3)-Grammatiken erlaubt 2. Ist S ε eine Regel der Grammatik, so kommt S in keiner rechten Seite einer Regel vor (T as) Satz Zu jeder Grammatik G = (Σ, N, S, R) vom Typ {1, 2, 3} gibt es eine Grammatik, für die Folgendes gilt: a) G enthält S ε und G erfüllt Sondervereinbarung: (S kommt auf keiner rechten Seite vor) b) L(G ) = L(G) {ε} Beweis: G = (Σ, N, S, R ) def: N = N S S / Σ N R = R {S ε, S S} funktioniert nur mit Typ-1,2-Grammatiken, für Typ-3-Grammatiken muss man anders vorgehen: R = Menge aller Regeln aus R in denen S auf der linken Seite vorkommt, bei denen wir S durch S ersetzen R Man sieht leicht L(G ) = L(G) {ε} 13

14 2. Reguläre Sprachen Plan: Charakterisierung für REG Automatenmodell Beispiele: {w {a, b} : w beginnt mit a} {a i b i : i [1, )} / REG alle endlichen Sprachen 2.1. Endliche Automaten (deterministisch) Grammatik - generiert Sprachen Automat - akzeptiert bzw. entscheidet eine Sprache Definition Ein deterministischer endlicher Automat (DFA) M ist ein 5-Tupel M = (Σ, Z, z 0, δ, Z E ) mit folgenden Eigenschaften: 1. Σ ist endliche Menge (Eingabealphabet) 2. Z ist endliche Menge (Zustandsmenge) 3. z 0 Z 4. δ : Σ Z Z (total definierte Überführungsfunktion) 5. Z E Z (Endzustandsmenge) DFA: engl. definite finite automaton Veranschaulichung: todo: Grafik mit Turingband und Programm δ Startsituation: Kopf befindet sich auf 1. Symbol der Eingabe Zustand z 0 Arbeitsschritt: 14

15 2.1. Endliche Automaten (deterministisch) abhängig vom aktuellen zustand und dem aktuell gelesenen Eingabesymbol wird gemäß Überführungsfunktion ein neuer Zustand angenommen Lesekopf bewegt sich eine Zelle nach rechts Endsituation: alle Eingabesymbole gelesen vorliegender Zustand in Z E DFAs lassen sich sehr elegant durch sogenannte Überführungsgraphen darstellen. Beispiel M = ({a, b}, {z 0, z 1, z 2, z 3 }, z 0, δ, Z E = {z 3 }) δ z 0 z 1 z 2 z 3 a z 1 z 2 z 3 z 3 b z 0 z 3 z 0 z 3 Anfangszustand z 0 a z 1 b a b z 2 z 3 a,b a Endzustand Abarbeitung: von abba: z 0 a z 1 b z 3 b z 3 a z 3 abba wird akzeptiert, baba wird auch akzeptiert, aber alle Wörter b i : i N werden nicht akzeptiert. Die von einem DFA akzeptierte Sprache ist gerade die Menge aller Wörter, bei denen sich M nach Abarbeitung in einem Zustand aus Z E befindet. Definition Sei M = (Σ, Z, z 0, δ, Z E ) ein DFA. 1. Die erweiterte Überführungsfunktion δ : Σ Z Z ist wie folgt definiert: für alle a Σ, w Σ, z Z ist: δ (ε, z) = z δ (aw, z) = δ (w, δ(a, z)) δ (aw, z) ist der Zustand, der vorliegt, wenn M bei Start im Zustand z das Wort aw abarbeitet 15

16 2. Reguläre Sprachen 2. Die von M akzeptierte Sprache L(M) ist dann definiert als. L(M) = {w Σ : δ (w, z 0 ) Z E } Beispiel Baue DFA für A = {w {a, b} : wbeginntmita} z a 0 z 1 a,b z 2 b Satz Jede Sprache, die von einem DFA akzeptiert wird, ist regulär. a,b Beweis: Sei A Σ und sei M = (Σ, Z, z 0, δ, Z E ) DFA und L(M) = A. Wir geben nun eine reguläre Grammatik G = (Σ, N, S, R) an, für die L(G) = A gilt. Setzen: N = Z, S = z Fall: ε / A: R = {z az : δ(a, z) = z } {z a: δ(a, z) Z E } Offenbar gilt nun für jedes Wort w = w 1... w n Σ (w i Σ): w A w L(M) 2. Fall: Folgt unmittelbar aus Fall 1 unter Berücksichtung von Satz Satz Nichtdeterministische endliche Automaten Unterscheidung (Nicht-)Determinismus: Determinismus: gegenwärtiger Zustand bestimmt den zukünftigen Zustand eindeutig. Beispiel: übliche Algorithmen, DFA Nichtdeterminismus: Die aktuelle Situation bestimmt die nachfolgende nicht eindeutig. Es gibt mehrere Folgesituationen. Beispiel: Grammatiken, NFA. 16

17 2.2. Nichtdeterministische endliche Automaten Nichtdeterministische endliche Automaten (NFA) Idee: endlich viele gerichtete Kanten von einem Knoten (Zustand) ausgehend endlich viele Startzustände erlaubt todo: Grafik möglicher NFA Wort wird akzeptiert gdw es gibt einen Startzustand und ausgehend von diesem Startzustand gibt es einen Weg zu einem Endzustand, der das Wort abschließt. Definition Ein endlicher nichtdeterministischer Automat (NFA) N = (Σ, Z, Z 0, δ, Z E ) ist ein 5- Tupel mit folgenden Eigenschaften: 1. Σ Alphabet (Eingabealphabet) 2. Z endliche Zustandsmenge 3. Z 0 Z Startzustandsmenge 4. δ : Σ Z P(Z) Überführungsfunktion 5. Z E Z Endzustandsmenge Ganz ähnlich zur Def. Definition (erweiterte Überführungsfunktion für DFA) definiert man die erweiterte Überführungsfunktion des NFA N wie folgt: δ : Σ P(Z) P(Z) Für alle Z Z, a Σ, w Σ ist δ so definiert: δ (ε, Z) = Z δ (aw, Z) = δ (w, δ(a, z)) z Z Die von einem NFA N akzeptierte Sprache L(N) ist definiert als L(N) = {w Σ : δ (w, Z 0 ) Z E } 17

18 2. Reguläre Sprachen 1 z 0 z 2 z z 6 1 Beispiel 1 z 1 z 0 3 z 5 0,1 Offenbar ist L(N) = {0, 1} Jeder DFA ist auch NFA. δ (1, z 0 ) = δ (ε, δ(1, z 0 )) δ (ε, δ(1, z 3 )) δ (ε, δ(1, z 6 )) = δ (ε, {z 1 }) δ (ε, ) δ(ε, {z 6 }) = {z 1 } {z 6 } = {z 1, z 6 } 1 L(Ñ) Eine fast Umkehrung von Satz Satz 2.1.3: Satz Jede reguläre Sprache kann von einem NFA akzeptiert werden. Beweis: Sei A REG, A Σ. Gemäß Definition Definition gibt es eine reguläre Grammatik G = (Σ, N, S, R) mit L(G) = A. Idee: G: A ab, A ac, A a NFA: a B A a a F C Wir betrachten folgenden NFA N = (Σ, Z, Z 0, δ, Z E ): Z = df N {F }, F / N, Endzustand Z 0 = df {S}, Z E = df {S, F } } {{ } falls S ε R {F } }{{} sonst { {B N : A ab R} falls A a / R Für a Σ und A N ist: δ(a, A) = {B N : A ab R} {F } sonst In allen anderen Fällen ist δ(a, A) =, insbesondere δ(a, F ) = für alle a Σ. 18

19 2.2. Nichtdeterministische endliche Automaten Offenbar gilt nun für alle w Σ, w = a 1 a 2... a n, a i Σ: w A w L(G) a 1 a 2... a n L(G) es gibt eine Folge von Nichtterminalen A 1, A 2,... A n 1 N, so dass S a 1 A 1 a 1 a 2 A 2... a 1... a n 1 A n 1 a 1... a n es gibt eine Folge von Zuständen A 1,... a n 1 Z mit A 1 δ(a 1, S)... A n 1 δ(a n 1, A n 2 ) F δ(a n, A n 1 ) F δ (a 1... a n, S) w L(N) A = L(N) Satz Jede Sprache, die von einem NFA akzeptiert wird, wird auch von einem DFA akzeptiert. Beweis: Sei A Σ und sei N = (Σ, Z, Z 0, δ, Z E ) mit L(N) = A. Wir wollen einen DFA M konstruieren, so dass L(M) = A. Idee: NFA bei Abarbeitung a 1 a 2... a n z 1 0,1 0,1 s s 0,1 0,1 0,1 0,1 0,1 s s 0,1 0,1 z 2 0,1 s 0,1 0,1 Z 0 δ (a 1, Z 0 ) δ (a 1 a 2, Z 0 ) DFA: Zustände sind Mengen von Zuständen des NFA: a 1 a 2 a 3 a Z 0 Z Z n E δ (a 1, Z 0 ) δ (a 1 a 2, Z 0 ) 19

20 2. Reguläre Sprachen Wir definieren den DFA M = (Σ, Z, z 0, δ, Z E ) so: z = P(Z) z 0 = Z 0 Z E = { Z P(z): Z Z E } Für alle a Σ, Z P(Z) ist δ (a, Z) = δ(a, z) = (δ (a, Z)) z Z Für jedes Wort w = a 1 a 2... a n Σ gilt: w L(N) δ (w, Z 0 ) Z E es gibt eine Folge von Teilmengen Z 1, Z 2,..., Z n Z und δ (a 1, Z 0 ) = Z 1... δ (a n, Z n 1 ) = Z n und Z n Z E es gibt eine Folge von Zuständen Z 0, Z 1,..., Z n von M, mit δ (a 1, Z 0 ) = Z 1... δ (a n, Z n 1 ) = Z n und Z n Z E δ (a 1... a n, Z 0 ) Z E w L(M) Beispiel NFA N = ({0, 1}, {z 0, z 1, z 2 }, {z 0, z 1, z 2 }, δ, {z 2 }) L(N) = {0 i 1 j : i {0, 1, 2} j N} z 0 0 z 0 1 z 2 1 DFA M = ({0, 1}, P({z 0, z 1, z 2 }), {z 0, z 1, z 2 }, δ, {{z 2 }, {z 1, z 2 }, {z 0, z 2 }, {z 0, z 1, z 2 }}). todo: Hier fehlt der Graph, sowohl naiv als auch vereinfacht nicht immer gibt es im konstruierten DFA nicht erreichbare (streichbare) Zustände, d. h. es gibt Sprachen bei denen NFAs mit n Zuständen auskommen, DFAs aber expotentiell viele (2 n ) Zustände benötigen. wie klein (in Bezug auf Zustände) kann man DFAs machen ( später) Folgerung Sei A Σ eine Sprache. Die folgenden Aussagen sind äquivalent: 1. A REG (es gibt reguläre Grammatik G und L(G) = A) 2. A kann von einem DFA akzeptiert werden 20

21 2.3. Reguläre Ausdrücke und Gleichungssysteme 3. A kann von einem NFA akzeptiert werden Beweis: 2 1 s. Satz Satz s. Satz Satz s. Satz Satz hat man eine reguläre Programmiersprache, so würde ein Syntaxprüfer der DFA für diese Sprache sein. Das heißt lineare Laufzeit für Syntaxtest (DFA prüft jedes Symbol einmal) 2.3. Reguläre Ausdrücke und Gleichungssysteme reguläre Ausdrücke: Beschreibungsvariante für reguläre Sprachen Gleichungssysteme: dienen zur Berechnung der von einem DFA/NFA erzeugten Sprache Definition Sei Σ ein Alphabet. Die Menge der regulären Ausdrücke RA(Σ) über Σ wird induktiv so definiert: 1. und ε sind reguläre Ausdrücke 2. Für jedes a Σ ist a ein regulärer Ausdruck 3. Sind α, β reguläre Ausdrücke, so sind auch αβ, (α + β), (α) reguläre Ausdrücke 4. Andere reguläre Ausdrücke gibt es nicht Σ = {a, b} (((ε + )) + (a) ) (b) ((a + b)) b RA(Σ) RA(Σ) Wir ordnen nun den regulären Ausdrücken Sprachen zu. Dabei gehen wir induktiv vor (wie in Definition Definition 2.3.1) Definition Sei Σ Alphabet und γ ein regulärer Ausdruck über Σ, d. h. γ RA(Σ). Die mit γ assozierte Sprache L(γ) ist so definiert: 1. L( ) = und L(ε) = {ε} 2. Für jedes a Σ ist L(a) = {a} 21

22 2. Reguläre Sprachen L(α) L(β) falls γ = αβ 3. L(γ) = L(α) L(β) falls γ = (α + β) L(α) falls γ = (α) Beispiel L (((((ε + )) ) + (a) ) (b) ) {a i b j : i, j N} L(ε) = {ε}, L( ) = L (((ε + )) ) = {ε} = {ε} L ((a) ) = {a} L ((b) ) = {b} Satz Eine Sprache ist genau dann regulär, wenn es einen regulären Ausdruck γ gibt, so dass L(γ) = A. weiteres Mittel um schnell zeigen zu können, dass eine Sprache regulär ist Gleichungssysteme Ziel: Bestimmen der von einem NFA N akzeptierten Sprache L(N). Gegeben sei ein NFA N = (Σ, Z, Z 0, δ, Z E ) mit Z = {z 0,..., z n } Gesucht ist L(N). Lösung: bilden lineares Gleichungssystem mit n + 1 Variablen X 0,..., X n und n + 1 Gleichungen. Idee: L(N) = {w σ : bei Start in einem Zustand aus Z 0 kann ich einen Zustand aus Z E nach Abarbeitung von w erreichen}. Wir setzen gedanklich: X i Menge aller Wörter, die ich bei Start im Zustand z i akzeptieren kann. Wir stellen für N folgendes Gleichungssystem auf: 1. Für jedes z i Z ist X i eine Variable auf einer linken Seite einer Gleichung (X i steht dort alleine) 2. Ist z j δ(a, z i ) für z i, z j Z und a Σ, so ist ax j ein Summand auf der rechten Seite der Gleichung, deren linke Seite X i ist. 3. Ist z i Z E, so ist ein Summand auf der rechten Seite der Gleichung x i =... Offenbar steht x i für die Menge aller Wörter, die der NFA akzeptiert, wenn er mit der Abarbeitung in z i startet. 22

23 2.3. Reguläre Ausdrücke und Gleichungssysteme Streng genommen ist die RHS jeder Gleichung ein regulärer Ausdruck (mit Klammereinsparung) und den zusätzlichen Symbolen X 0, X 1,..., X n L(N) = z i Z 0 X i Wie löst man ein derartiges Gleichungssystem? Hat es stets eine eindeutige Lösung? Wir werden im Folgenden für X i = a 1 X a n X n die Gleichung X i = {a 1 }X 1 {a 2 }X 2... {a n }X n schreiben. Lemma Sind A und B reguläre Sprachen mit ε / A, so gibt es genau eine reguläre Sprache X, die die Gleichung x = AX B erfüllt. Beweis: 1. Existenz von X: Offenbra ist X = A B eine Lösung von x = AX B A(A B) B = (A(A 0 A 1...))B B = {ε}(b) (A 1 A 2...)B = A 0 B (A 1...)B = (A 0 A 1...)B = A B 2. Eindeutigkeit der Lösung: z. z. Ist X eine Lösung für X = AX B, so gilt X = A B. Sei x eine solche Lösung. Dann gilt AX B X B X AB AX AX B X A(AB) AX AX B X } {{ } A 2 B. A i B X A B X i N n. z. z. X A B Nachweis indirekt, Annahme: A B X X\A B Sei y X ein Wort kürzestester Länge in X\A B. y / B (y B y A B) Wegen X = AX B und y / B muss y AX gelten. Folglich gibt es Wörter u, v mit u A und v X, so dass y = uv. Wegen ε / A folgt u 1. Damit gilt v < y. Da v X und y ein kürzestestes Wort aus X\A B war, muss v A B gelten. u A v A B y = uv A B 23

24 2. Reguläre Sprachen ist u A und v A B, so ist v A i B für ein i N und sonst uv A i+1 B. Widerspruch zu y X\A B Annahme A B X war falsch A B = X wegen A B X und A B X x = AX B hat genau eine Lösung, diese ist X = A B. Aufgrund der Abschlusseigenschaft von REG sieht man leicht dass A B REG ist. (s. Abschnitt über Abschlusseigenschaften) Satz Ein Gleichungssytem der Form x 0 = A 00 X 0 A 01 X 1... A 0n X n B 0 x 1 = A 10 X 0 A 11 X 1... A 1n X n B 1. x n = A n0 X 0 A n1 X 1... A nn X n B n mit regulären Sprachen A ij, B i, 0 i, j n hat eine eindeutige Lösung durch reguläre Sprachen x 0, x 1,..., x n, wenn keine der Sprachen A ij das leere Wort enthalten. Beweis: Gibt es eine Gleichung mit A ii = (d. h. keine Schlinge an z i im NFA), so kann man x i in allen Gleichungen durch die rechte Seite der Gleicung x i =... ersetzen (erhalte damit nur noch n Gleichungen mit n Unbekannten). Dabei sollte man natürlich nach dem Einsetzen entsprechend zusammenfassen. (U X V X = (U V )X) Sind alle A ii (0 i n), so hat die erste Gleichung x 0 = A 00 X 0 A 01 X 1... B } {{ } B die Form aus Lemma Lemma 2.3.4: x 0 = AX 0 B. Folglich ist x 0 = A B, d. h. x 0 = A 00(A 01 X 1 A 02 X 2... B 0 ) Diesen Ausdruck für x 0 setzt man nun in alle anderen Gleichungen ein und wiederholt das Verfahren mit x 1. Beispiel A, B, C, D, E, F REG mit ε / A, B, C, D, E (2.1) X = AX BY C Y = BX EZ A ii = Z = DX EZ F 24

25 2.3. Reguläre Ausdrücke und Gleichungssysteme Setzen Term für Y in die anderen rechten Seiten ein: X = AX B(BX EZ) C Z = DX EZ F X = AX B(BX EZ) C = (A B 2 )X (BE)Z C Lemma Lemma 2.3.4: X = (A B 2 )X [(BE)Z C] Lösung: X = (A B 2 ) ((BE)Z C) Ersetze in Z: Z = D ((A B) ((BE)Z C)) EZ F = (D(A B 2 ) BE E)Z D(A B 2 ) C F = (D(A B 2 ) BE E)Z D(A B 2 ) C F Lemma Lemma 2.3.4: Z = (D(A B 2 ) BE E) (D(A B 2 )C F ) X = (A B 2 ) [BEZ C] Y = ähnlich, allerdings zu langer Ausdruck Folgender NFA: N 0 X 1 1 Y 1 Z 0,1 0,1 Gleichungssysteme: X = {0}X {1}Y Y = {1}X {0}Z {1}Z } {{ } {0,1}Z Z = {1}X {0, 1}Z Dies ist ein Spezialfall vom Gleichungssystem Gleichung 2.1 mit A = {0}, B = {1}, C = E = {0, 1}, D = {1}, F = setzt man jetzt entsprechend der eben bestimmten Lösung ein, erhält man eine Beschreibung der Sprachen X, Y, Z und damit auch eine Beschreibung von L(N) = X Y. 25

26 2. Reguläre Sprachen 2.4. Äquivalenzrelationen und Minimalautomaten Wie kann man zeigen, dass eine Sprache nicht regulär ist? (s. auch Pumping Lemma) Definition Sei L Σ eine Sprache. Die Relation R L ist eine binäre Relation über Σ, die wie folgt definiert ist: x, y Σ : xr L y df z Σ : (xz L yz L) Beispiel L = : R L = {(x, y): z Σ : (xz yz )} εr L ε, εr L 0 : z : εz } {{ } 0z } {{ } 0 0 ˆL = {a n b n : n N} arˆla, (arˆlε)( da ab ˆL εb / ˆL) arˆla 3 b 2, abbarˆlbabba,... Beobachtung: Für alle L Σ ist R L stets eine Äquivalenzrelation. Uns interessiert nun die Anzahl der Äquivalenzklassen von R L. Beispiel L = Äquivalenzklasse von R L : [ε] = [0] = [1] =... = {ε, 0, 1, 01, 10,...} ˆL = {a n b n : n N} Äquivalenzklassen: [ε] = {ε} unendlich viele Äquivalenzklassen! [a 2 b] = {a 2 b, a 3 b 2,...} = {a i+1 b i : i N} [b] = {b, bb,..., abba, babba,...}. [a k b] = {a i+k 1 b i : i, k N + } Eine Äquivalenzrelation kann man statt für Sprachen auch für DFAs definieren: Sei M = (Σ, Z, z 0, δ, Z E ) ein DFA. Wir definieren die Relation R M Σ Σ so: x, y Σ : xr M y df δ (x, z 0 ) = δ (y, z 0 ) : R M ist auch eine Äquivalenzrelation. 26

27 2.4. Äquivalenzrelationen und Minimalautomaten Satz (Myhill, Nerode) Sei L Σ eine Sprache. Die folgenden Aussagen sind äquivalent: 1. L ist regulär 2. L ist die Vereinigung von Äquivalenzklassen einern rechtsinvarianten Äquivalenzrelation mit endlichem Index 3. R L hat einen endlichen Index eine Äquivalenzrelation R heißt rechtsinvariant (bzgl. Verkettung) gdw für alle x, y Σ gilt: x R y z Σ : (xz R yz) (R M ist offenbar rechtsinvariant) Der Index einer Äquivalenzrelation R ist gerade die Zahl der Äquivalenzklassen von R. Beweis: Zeigen: 1 2, 2 3, 3 1 (1 2): Sei A Σ eine reguläre Sprache. Sei M = (Σ, Z, z 0, δ, Z E ) ein DFA mit L(M) = A. Wir betrachten R M. Wir wissen R M ist eine Äquivalenzrelation, sogar rechtsinvariant und R M kann nur endlich viele Äquivalenzklassen haben (jedes z Z definiert genau eine Äq.klasse über {x Σ : δ (x, z 0 ) = z}) Nun ist aber L = L(M) = {x Σ : δ (x, z 0 ) Z E } = z Z E {x Σ : δ (x, z 0 ) = z} } {{ } Äq.klasse über R M (2 3): Sei R eine rechtinvariante Äquivalenzrelation mit endlichem Index und sei L die Vereinigung von Äquivalenzklassen von R. Wir werden zeigen, dass R eine Verfeinerung von R L ist. Damit hat R L höchstens so viele Äquivalenzklassen wie R, also endlich viele. z. z.: x, y Σ : x R y x R L y Seien x, y Σ : x R y z Σ : xz R yz (R rechtsinvariant) z Σ : xz [xz] R yz [xz] R z Σ : xz L yz L (da L Vereinigung von Äquivalenzklassen von R) x R L y (3 1): R L habe endlichen Index. Sei [x] RL = {y Σ : x R L y} für alle x Σ. Wir geben nun einen DFA für L an: M = (Σ, Z, z 0, δ, Z E ) mit: 27

28 2. Reguläre Sprachen Z = {[x] RL : x Σ }, z 0 = [ε] RL Z E = {[x] RL : x L} δ(a, [x] RL ) = [xa] RL für alle x Σ, a Σ Es gilt nun L = L(M), denn für alle x Σ gilt: x L [x] RL Z E (nach Definition von Z E δ (x, [ε] RL x L(M) Der im Beweis von 3 1 konstruierte Automat heißt Äquivalenzklassenautomat. Er ist bzgl. der Zustandsanzahl ein kleinster DFA für die Sprache. Beispiel L = {0 2n : n N} REG? L = {0, 00, 0000,...} Betrachten R L. Hat R L unendlich viele Äquivalenzklasen? Idee: 0 2i R L 0 2j für i j Sei i j o. B. d. A. i < j: 0 2i 0 2i = 0 2i +2 i = 0 2i+1 L aber: 0 2i 0 2j = 0 2i +2 j / L da 2 i < 2 j und 2 j+1 = 2 j + 2 j 2.5. Das Pumping-Lemma Das Pumping-Lemma für reguläre Sprachen ist eine Aussage der Form A REG großer Ausdruck Man kann daher das Pumping-Lemma nicht benutzen, um zu zeigen, dass eine Sprache regulär ist. Das PL kann man lediglich anwenden, um zu zeigen, dass eine Sprache nicht regulär ist, indem man zeigt, dass sie großen Ausdruck nicht erfüllt (Kontraposition). Satz Sei A Σ Sprache. Es gilt: A REG n N x A, x n u, v, w Σ : x = uvw Zerlegung von x n nennt man Pumping-Zahl (x = uvw v 1 uv n i N: uv i w A) 28

29 2.6. Abschlusseigenschaften Anwendung: zeigen {a n b n : n N} / REG: n N x A, x n u, v, w Σ : (x uvw v = 0 uv > n i N: uv i w L) (auch möglich: indirekt, annehmen Sprache sei regulär, Gegenbeispiel finden) Sei n N. Betrachten a n b n : Seien u, v, w Σ und sei nun x = uvw v = 0 uv n. Wegen x = a n b n und uv n folgt uv {a}. Wegen v 1 folgt v = a k mit k 1. Damit gilt: uv 0 w = uw = a n k b n / A 2.6. Abschlusseigenschaften Definition Sei C eine Familie von Sprachen und f eine Funktion, die Sprachen (event. mehrere) auf Sprachen abbildet (z. B. Vereinigung, Durchschnitt, Komplement). Die Familie C heißt abgeschlossen bzgl. f genau dann, wenn für alle c 1,..., c n C gilt: Satz REG ist abgeschlossen bzgl. 1. Verein 2. Durchschnitt 3. Komplement 4. Produkt 5. Kleeneabschluss (. ) 6. Mengendifferenz f(c 1,..., c n ) C 7. Reversal (L R = {w R : w L}, w R = w n w n 1... w 1 mit w = w 1... w n ) Beweis: 1., über reguläre Ausdrücke (s. Sätze Satz 2.3.3/Definition 2.3.2) zu 3.: Idee: bulgarisch akzeptieren, nehmen DFA mit L(M) = A und invertieren die Endzustandsmenge, offenbar gilt: L(M ) = A bis auf 7. zurückführen auf 1., 3. 29

30 3. Kontextfreie Sprachen Dies ist die nächstgrößte Klasse in der Chomsky-Hierarchie. Alle vernünftigen Programmiersprachen sind kontextfrei. Satz REG CF Beweis: wissen bereits: REG CF, offenbar ist {a n b n : n N} CF\REG Eine kontextfreie Grammatik für {a n b n : n N} sieht so aus: G = ({a, b}, {S, S }, S, {S ε, S ab, S as b, S ab, S as b}) wissen: {a n b n : n N} / REG 3.1. Normalformen Um leichter lesbare Grammatiken anzugeben, erlauben wir bei kontextfreien Grammatiken Regeln der Form A ε für A N und A S Definition Eine Regel der Form A ε heißt ε-regel, A S. Eine Regel der Form A B, A, B N heißt Kettenregel. Eine Grammatik G heißt ε-frei gdw sie 1. keine ε-regeln enthält und 2. nur die eine ε-enthaltende Regel S ε enthält und S nicht auf der rechten Seite einer Regel vorkommt. ε-regeln dienen lediglich der Vereinfachung von Grammatiken. Satz Zu jeder kontextfreien Grammatik G (mit ε-regeln) gibt es eine äquivalente ε-freie kontextfreie Grammatik. Beweis: Sei G = (Σ, N, S, R) eine kontextfreie Grammatik mit ε-regeln. o. B. d. A. Sei ε / L(G) (sonst hinzufügen nach Satz Satz 1.3.4) Wir bestimmen N ε = {A N : A ε R} so 30

31 3.1. Normalformen 1. Ist (A, ε) R, so ist A N ε 2. Ist (A 1,..., A k ) R und sind k 1 und A 1,..., A k N ε, so ist A N ε Wir entfernen alle ε-regeln aus R und fügen jede Regel der Form B uav, A N ε, B N, u, v (Σ N) die Regel B uv zu R hinzu. Die resultierende Grammatik ist ε-frei und äquivalent zu G. Satz Zu jeder kontextfreien Grammatik G gibt es eine kontextfreie Grammatik ohne Kettenregeln. Beweis: o. B. d. A. sei G eine ε-freie kontextfreie Grammatik. Die Kettenregeln von G induzieren einen gerichteten Graphen auf der Knotenmenge N. Bsp: 1. Eliminieren alle Kreise in diesem Graphen. Ein Kreis A i1 A i2, A i2 A i3,..., A in 1 A in, A in A i1 wird eliminiert, in dem wir alle diese Regeln aus R entfernen und in den verbleibenden Regeln A ij, 1 j n durch A i1 ersetzen. 2. Wir benennen die verbleibenden Nichtterminale so um, dass die neuen Namen {B 1,..., B l } sind und aus B i B j stets i < j folgt. (Regeln B i B i können sofort entfernt werden) 3. Für i = l 1, l 2,... ersetzen wir die Regeln B i B j so: sind die Regeln, die B j auf der linken haben B j u 1, B j u 2, B j u m u {Σ N} + so entferne B i B j und füge B i u 1 u 2... u m hinzu. Definition Eine kontextfreie Grammatik G = (Σ, N, S, R) heißt Grammatik in Chomksy-Normalform, gdw jede Regel in R eine der folgenden Formen hat: A BC A a S ε A, B, C N, A B, A C A N, a Σ (in diesem Fall kommt S in keiner rechten Seite vor) Der Syntaxbaum von Chomksy-Normalformen ist fast ein Binärbaum: Nachteil: meist viel mehr Regeln notwendig. Satz Zu jeder kontextfreien Grammatik G = (Σ, N, S, R) gibt es eine äquivalente kontextfreie Grammatik in Chomksy-Normalform (CNF) 31

32 3. Kontextfreie Sprachen Beweis: Sei G eine Grammatik wie oben. o. B. d. A. enthält R keine Kettenregeln und G ist ε-frei. Wir formen G zu G um (G wird in CNF sein) 1. Für jedes a Σ führen wir ein neues Nichtterminal C a ein: {C a : a Σ} N = 2. In jeder Regel von R wird a durch C a ersetzt 3. Alle Regeln C a a werden zu R hinzugefügt 4. Für jede Regel der Form A B 1 B 2... B m m > 2 die jetzt vorhanden ist, führen wir m 1 neue Nichtterminalsymbole ein, D 1,..., D m 1. Die Regel A B 1... B m wird durch A B 1 D 1, D 1 B 2 D 2,..., D m 1 B m 1 B m ersetzt. Offenbar ist G in CNF und äquivalent zu G. Es gibt eine weitere wichtige Normalform für kontextfreie Grammatiken. Definition Eine kontextfreie Grammatik heißt Grammatik in Greibach-Normalform gdw jede Regel eine der folgenden Formen hat: A ab 1... B m A a S ε A, B 1,..., B m N, a Σ A N, a Σ und S kommt auf keiner rechten Seite vor Satz Zu jeder kontextfreien Grammatik gibt es eine Grammatik in Greibach-Normalform Das Pumping-Lemma für kontextfreie Sprachen unser wahrscheinlich einziges Mittel, um nicht vorhandene Kontextfreiheit von Sprachen nachzuweisen. Satz Sei A Σ eine Sprache. Es gilt: A CF n N x A, x n u, v 1, ṽ, v 2, w Σ : (x = u v 1 ṽ v 2 w v 1 v 2 1 v 1 ṽv 2 n i N: u v i 1 ṽ vi 2 w A) 32

33 3.2. Das Pumping-Lemma für kontextfreie Sprachen Beweis: Sei A CF und sei G = (Σ, N, S, R) eine kontextfreie Grammatik in Chomsky Normalform mit L(G) = A. Wir wählen n = 2 N. Sei x A und x n. Der Syntaxbaum von x bezüglich G sieht so aus: (Binärbaum (nicht notwendigerweise vollständig) bis auf letzte Ebene) S A B x1 x2... xn... = x Dieser Baum hat mindestens 2 N Blätter. Lemma In jedem Binärbaum (jeder Knoten hat 2 oder 0 Kinder) mit mindestens 2 k gibt es einen Pfad (von Wurzel bis Blatt) der Länge mindestens k. (Beweis später) Wir betrachten den Syntaxbaum von x ohne die letzte Ebene. Hier gibt es immer noch 2 N Blätter. Es gibt einen Pfad Wurzel zu Blatt mit mindestens N Kanten. Der Pfad berührt mindestens N + 1 Knoten im Baum Es gibt ein Nichtterminal, welches auf dem Pfad zweimal vorkommt. S A doppelt vorkommende Nichtterminale A u v1 v v2 w 33

34 3. Kontextfreie Sprachen Obere Vorkommen von à ist höchstens N von der Blattebene entfernt. Wir betrachten die Teilgebiete, die aus den beiden à abgeleitet werden: u, v 1, ṽ, v 2, w (s. Abb.) Offenbar ist uv 1 ṽv 2 w eine Zerlegung von x. Da das obere à mittels einer Regel à BC umgeformt wird, und nur eines von B oder C auf p liegt und G ε-frei ist, folgt v 1 v 2 1. Beweis: (Lemma Lemma 3.2.2) induktiv über k: IA: k = 0 klar. IS: Aussage gelte für ein k. Betrachte Baum mit mindestens 2 k+1 Blättern. Einer der Teilbäume hat 2 k+1 /2 Blätter. Nach IV gibt es in ihm einen Pfad der Länge k nimmt man zu diesem Pfad noch die Kante des Teilbaums zur Wurzel des Gesamtbaums hinzu erhält man einen Pfad der Länge k + 1. Anwendung des PL: L = {a n b n c n : n N} / CF indirekt zeigen. Satz Jede kontextfreie Sprache über einem einbuchstabigen Alphabet ist regulär. wissen ˆL = {0 (n2) : n N} / REG ˆL / CF Abschlusseigenschaften Satz Die Sprachklasse CFist abgeschlossen bezüglich: 1. Vereinigung 2. Produkt 3. Kleeneabschluss 4. Differenz und Schnitt mit regulären Mengen Die Sprachklasse CFist nicht abgeschlossen bezüglich: 1. Durchschnitt 2. Komplement 3. Differenz 34

35 3.4. Kellerautomaten Beweis: Durchschnitt: betrachten die Sprachen L 1 = {a i b i c j : i, j N} L 2 = {a j b i c i : i, j N} L 1 L 2 = L = {a i b i c i : i N} / CF Komplement: De-Morgan-Regeln Differenz: Komplement und Schnitt 3.4. Kellerautomaten Ziel: DFA mit Zähler (fifo, Stack) Definition Ein nichtdeterministischer Kellerautomat M (push-down-automaton, PDA) ist ein 6-Tupel M = (Σ, Γ, Z, z 0, δ, Z E ) mit folgenden Eigenschaften: 1. Σ ist ein Alphabet (Eingabealphabet) 2. Γ ist ein Alphabet (Kelleralphabet), Γ 3. Z ist endliche Menge (Zustandsmenge) 4. z 0 Z ist Startzustand 5. δ : (Σ {ε}) Γ Z P fin (Γ Z) (Überführungsfunktion) 6. Z E Z Vorstellung: E I N G A B E z δ Keller 35

36 3. Kontextfreie Sprachen Eingabeband: nur lesen, d. h. jedes Symbol kann nur einmal gelesen werden Keller: lesen und schreiben, Topelement des Stacks wird gelesen und durch ein w Γ ersetzt. Neues Topelement ist oberster Buchstabe von Γ. Bei Arbeitsbeginn steht nur ein im Keller. Schreibweise: δ(a, A, z) = {(B 1... B n, z 1 ),..., (ε, z n )} Definition Sei M = (Σ, Γ, Z, z 0, δ, Z E ) ein PDA. Eine Konfiguration K von M ist ein Tripel K Σ Γ Z. Dabei ist für K = (u, v, z) das Wort u der noch nicht gelesene Teil der Eingabe, das Wort v der aktuelle Kellerinhalt und z der aktuelle Zustand. Anfangskonfiguration (w,, z 0 ), w Σ ist Eingabe. Akzeptierende Endkonfiguration (ε, p, z) mit p Γ und z Z E. Wir definieren auf Σ Γ Z, der Menge aller Konfigurationen eine binäre Relation wie folgt: (u, v, w) M (u, v, z ) x Σ {ε} y Γ {ε} y Γ r Γ : (u = xu v = yr v = y r (y, z ) δ(x, y, z)) Ganz analog zu G für Grammatiken G definiert man M von M. Die von M akzeptierte Sprache L(M) ist definiert als: als reflexive, transitive Hülle L(M) = {w Σ : z Z E p Γ : (w,, z 0 ) M (ε, p, z)} Beispiel PDA für {a n b n : n N} M = ({a, b}, {, }, {z 0, z 1, z +, z }, z 0, δ, {z + }) Beispiel PDA für {w w R : w {a, b} } z l lesen, z v vergleichen δ z 0 z 1 z + z a, (z 1, ) a, (z 1, ) b, b, (z, ε) (z, ε) ε, (z +, ) (z +, ) ε, 36

37 3.5. Deterministisch kontextfreie Sprachen δ z v z l a, (a, z l ) a, a {(aa, z l ), (ε, z v )} a, b {(ab, z l )} b, b, a b, b In der Literatur auch: PDA akzeptiert mit leerem Keller (ist äquivalent zu unserem Akzeptanzbegriff) selber beweisen und dann verwenden! Satz Eine Sprache ist genau dann kontextfrei, wenn sie von einem PDA akzeptiert wird Deterministisch kontextfreie Sprachen wissen: DFA = NFA, der Nichtdeterminismus bei endlichen Automaten bringt nichts Neues. Bedingungen: 1. δ : (Σ {ε}) Γ Z (Γ Z) 2. δ(a, A, Z) + δ(ε, A, Z) 1 CF det ist die Menge aller Sprachen, die von deterministischen PDA akzeptiert werden. Beobachtung: REG CF det CF Satz CF det ist abgeschlossen bezüglich: 1. Komplement 2. Schnitt bezüglich regulären Mengen 3. keiner weiteren Operation Folgerung CF det CF Beweis: folgt aus den Abschlusseigenschaften 37

38 3. Kontextfreie Sprachen Beweis: (von Satz Satz 3.5.1) Zuerst Durchschnitt: Die im Beweis, dass CF bezüglich Schnitt nicht abgeschlossen ist, angegebenen Sprachen sind sogar in CF det und somit L 1 L 2 / CF det. Dann Vereinigung: mit 1. und Durchschnitt wir beweisen Komplement: Lemma zu jedem DPDA M der für jede Eingabe w Σ stets die gesamte Eingabe abarbeitet, also w Σ z Z α Γ : (w,, z 0 ) M (ε, α, z) Sei A Σ und A CF det. Sei M ein DPDA mit L(M) = A; o. B. d. A. sei M ein DPDA, der die Eingabe vollständig liest (s. Lemma 3.5.3) Wir definieren einen DPDA M = (Σ, Γ, Z {+,, f}, z 0, δ, Z {f}) mit { (z0, +) falls z z 0 = 0 Z E (z 0, ) falls z 0 / Z E und ist δ(ε, A, z) = {(α, z )} für A Γ, α Γ, z, z Z, so ist δ(ε, A, (z, +)) = {(α, (z, +))} und δ(ε, A, (z, )) = { (α, (z, +)) falls z Z E (α, (z, )) falls z / Z E Ist δ(a, A, z) = {(α, z )} für a Σ, A Γ, α Γ, z, z Z, so ist δ ((ε, A, (z, ))) = {(A, (z, f))} und δ ((a, A, (z, +))) = { {(α, (z, +))} falls z Z E {(α, (z, ))} falls z / Z E In allen anderen Fällen ist δ = Sei w = a 1 a 2... a n L(M) es gibt eine Konfigurationenfolge von M (w,, z) M (a, Aβ, z) M (ε, αβ, z ) mit a Σ {ε}, A Γ, α, β Γ und z Z E Für jede Konfigurationenfolge von M gilt 1. falls a = a n bzw. δ(a n, A, z) = {(α, z )} so endet die Konfigurationenfolge von M so:... M (ε, αβ, (z, +)) 38

39 3.6. Das Wortproblem für kontextfreie Sprachen 2. falls a = ε bzw. δ(ε, A, z) = {(α, z )} so endet die Konfigurationenfolge von M so:... M (ε, αβ, (z, +)) w / L(M) Sei nun w = a 1... a n / L(M). Für jede (endliche) Konfigurationenfolge von M (gibt es gemäß unserer Vorraussetzung) (w,, z 0 ) M (a, Aβ, z) M (ε, αβ, z ) mit a Σ {ε}, A Γ, α, β Γ, z Z gilt z / Z E Es gibt eine Konfigurationenfolge von M... M (ε, αβ, (z, )) M (ε, αβ, (z, f)) 3.6. Das Wortproblem für kontextfreie Sprachen Wortproblem: gegeben: Sprache L Σ in Form einer Grammatik oder eines Automaten gesucht: w L? Wortproblem für reguläre Sprachen: Reguläre Sprache sei in Form eines DFA gegeben, so haben wir einen Algorithmus mit O(n)-Komplexität (n = die Anzahl der Buchstaben in w). Sprachen werden uns in Form von CNF-Grammatiken gegeben. Sei G = (Σ, N, S, R) eine solche Grammatik. Sei w = a 1... a n Σ mit a i Σ für i = 1,..., n. Frage: w L(G)? naiver Ansatz: Breitensuche im Ableitungsbaum (expotentielle Laufzeit) besser als naiv: dynamische Programmierung. Wir betrachten folgende Mengen: mit 1 i n und 1 j n i + 1. Offenbar ist w L(G) S N[1, n] Außerdem gilt, da G in CNF ist: N[i, j] = {A N : A G a i a i+1... a i+j 1 } N[i, 1] = {A N : A G a i } = {A N : A G a i } = {A N : (A a i ) R)} 39

40 3. Kontextfreie Sprachen die N[i, 1] sind einfach zu bestimmen. Für j 2 werden die N[i, j] mit dynamischer Programmierung bestimmt: Sei j 2. Offenbar gilt A N[i, j], gdw. rekursive Beschreibung des N[i, j]: N[i, j] = j 1 l=1 A BC R mit einem B, C N und B N[i, l] und C N[i + l, j l] für ein l (B G a i... a i+l 1 ) (C G a i+l... a i+j 1 ) {A N : B, C N : ((A BC) R B N[i, l] C N[l 1, j l])} Das liefert im Wesentlichen den Algorithmus von Cocke, Younger, Kasami - CYK- Algorithmus N[1, n] N[1, n 1] N[2, n 1]..... N[1, 2] N[2, 2]... N[n 1, 2] N[1, 1] N[2, 1] N[n, 1] a 1 a a n Algorithm 1 CYK-Algorithmus Require: w = a 1... a n for i = 1,..., n do N[i, 1] = {A N : (A a i ) R} end for for j = 2,..., n do for i = 1,..., n + 1 j do N[i, j] = for l = 1,..., j 1 do N[i, j] = N[i, j] {A N : B, C N : end for end for end for if S N[1, n] then return w L(G) else return w / L(G) end if (A BC) R B N[i, l] C N[l + i, j l]} 40

41 3.6. Das Wortproblem für kontextfreie Sprachen Analyse: Zeit: O(n 3 ) (falls G nicht in CNF gegeben + entsprechender Zeit für Umformung) Platz: O(n 2 ) Beispiel Betrachten einfaches Beispiel w = aabb L mit mit mit L(G) = L und G in CNF. L = {a n b n : n 1} G = ({a, b}, {S, A, B, C}, S, R) R = {S AB AC, C SB, A a, B b} {S} {C} {S} {A} {A} {B} {B} a a b b 41

42 4. Kontexsensitive und L 0 -Sprachen kontextsensitiv: nicht verkürzende Grammatik (Ausnahme S ε) L 0 -Sprachen: (Normalform-)Grammatiken 4.1. Turingmaschinen Entwickelt von Alan Turing Anschaulich: E I N G A B E z δ Programm Arbeitsweise: abhängig vom gelesenen Symbol und dem aktuellen Zustand wird ein neues Symbol geschrieben, der Zustand verändert und der Kopf bewegt. Definition Ein 7-Tupel M = (Σ, Γ, Z, z 0, δ, Z E, ) heißt Turingmaschine gdw. folgendes gilt: 1. Σ Eingabealphabet 2. Γ Arbeitsalphabet, Γ, Σ Γ 3. Z ist Zustandsmenge 4. z 0 Z Startzustand 5. δ : Γ Z P fin (Γ Z {L, R, 0}) 6. Z E Z Endzustandsmenge 7. Γ Leersymbol 42

43 4.1. Turingmaschinen statt δ(z, a) = {(b, ẑ, L)} schreiben wir (a, z) (b, ẑ, L) Um Berechnungen von TMs beschreiben zu können, benötigen wir den Begriff der Konfigurationen. Dazu benötigen wir folgende Informationen: Was steht auf dem Band Wie lautet der aktuelle Zustand Wo steht der Kopf M O S T Kodierung: β MOβST (ein Wort aus Γ ŻΓ ) Eine Berechnung einer TM M ist damit eine Folge von Konfigurationen mit Startkonfiguration z 0 w. Definition Sei M eine TM. Wir definieren eine binäre Relation M über Γ ŻΓ, wobei K M K gerade bedeuten soll, dass K in einem Takt aus K hervorgeht. Sei K = αuzvβ mit α, β Γ, u, v Γ, z Z. Dann ist αuˆvz β (v, z) (ˆv, z, R) K = αz uˆvβ (v, z) (ˆv, z, L) αuz ˆvβ (v, z) (ˆv, z, 0) Wir betrachten die reflexive und transitive Hülle M von M Die von M akzeptierte Sprache L(M) ist definiert als: L(M) = {w Σ : z Z E α, β Γ : z 0 w M αzβ} Beispiel Eine TM für L = {a n b n c n : n 1}: M = {{a, b, c}, {a, b, c, $, }, {z 0,..., z 5, z E }, δ, z 0, {z E }, } Bedeutung Absicht z 0 Startzustand Starte neuen (a, b, c)-zyklus z 1 a gemerkt b suchen z 2 a und b gemerkt c suchen z 3 a, b und c gefunden u. ersetzt rechten Rand suchen z 4 rechten Rand erreicht Rücklauf und Test, ob alle a, b, c ersetzt z 5 Test nicht erfolgreich zum linken Rand laufen, neuen Zyklus starten z E alles gut Akzeptieren 43

44 4. Kontexsensitive und L 0 -Sprachen z 0 z 1 z 2 z 3 z 4 z 5 z E a ($, z 1, R) (a, z 1, R) (a, z 5, L) b ($, z 2, R) (b, z 2, R) (b, z 5, L) c ($, z 3, R) (c, z 3, R) (c, z 5, L) (c, z 5, L) $ ($, z 0, R) (, z 4, L) ($, z 4, L) ($, z 5, L) (, z E, 0) (, z 0, R) Akzeptanzkriterien: PDA: 1. akzeptieren mit Endzustand 2. akzeptieren mit leerem Keller TM: 1. akzeptieren mit Endzustand 2. akzeptieren gdw. Berechnung anhält (keine Folgekonfiguration vorhanden) 4.2. Linear beschränkte Turingmaschinen (LBA) LBA sind TM, die den Bereich der Eingabe bei jeder Berechnung niemals verlassen. Dafür ist es zweckmäßig, dass linker und rechter Rand der Eingabe markiert sind. Dazu: Verdoppeln das Eingabealphabet Σ = Σ ˆΣ mit ˆΣ = {â: a Σ}. Statt Eingabe x 1... x n arbeitet LBA mit Eingabe ˆx 1 x 2... x n 1 xˆ n. Definition Eine TM M = (Σ, Γ, Z, z 0, δ, Z E, ) heißt linear beschränkter Automat (LBA), falls für alle Wörter x = x 1... x n Σ und für alle Konfigurationen αzβ von M mit z 0 x M αzβ gilt: αβ = n und kein jemals durch ein u Γ überschrieben wird. Die von einem LBA M akzeptierte Sprache L(M) ist L(M) = {w = a 1... a n Σ : z Z E α, β Γ : z 0 â 1 a 2... a n 1 aˆ n M αzβ} Satz Eine Sprache ist genau dann kontextsensitiv, wenn sie von einem LBA akzeptiert werden kann. Satz Es gilt CF CS 44

45 4.3. L 0 -Sprachen Beweis: CF CS bekannt, aber {a n b n c n : n N} CS \ CF Können deterministische LBAs genausoviel wie nichtdeterministische LBAs? Ja, ähnlich wie bei NFA und DFA kann man die Zustandsmenge des deterministischen LBA mit einer Potenzmengenkonstruktion erweitern und die Regelmenge entsprechend anpassen. (in allen Beispielen werden nur Überführungen von (Z Σ) (Σ Z {L, R, 0}) verwendet, die Definition lässt aber (Z Σ) P(Σ Z {L, R, 0}) zu L 0 -Sprachen Satz Eine Sprache gehört genau dann zu L 0, wenn sie von einer (nichtdeterministischen) TM akzeptiert werden kann. Satz CS L 0, Beweisidee: Diagonalisierung, Beispiele. Satz Es gibt Sprachen, die von keiner Grammatik generiert werden können. Beweis: (mit Zählargument) Sei Σ unser Alphabet. 1. Wie viele Grammatiken G = (Σ, N, S, R) gibt es? Grammatiken können als Wörter über einem geeigneten Alphabet Γ notiert werden: Γ = Σ {(, ),,, (für die Nichtterminale), S, } Es gibt nur abzählbar unendlich viele Grammatiken. 2. Wie viele Sprachen gibt es? (Wie groß ist P(Σ )?) P(Σ ) = ℵ 1 (überabzählbar unendlich) es gibt mehr Sprachen als Grammatiken, also auch Sprachen, die von keiner Grammatik erzeugt werden. 45

46 Teil II. Berechenbarkeit 46

47 5. Churchsche These 5.1. Einführung Was bedeutet Berechenbarkeit? Welche Funktionen sind (nicht) berechenbar? Ideen: Halteproblem, Wahrheitswertberechnungen, chaotische Funktionen (lassen sich nicht mit endlich vielen Zeichen beschreiben) Wir benötigen ein Berechenbarkeitsmodell: Ein intuitiver Berechenbarkeitsbegriff hängt vom Menschen ab. Wenn wir Berechenbarkeit formal definieren wollen, müssen wir ein zugrundeliegendes Berechenbarkeitsmodell definieren. Zum Beispiel: Papier-und-Stift-B., Maple-B., C++-B Grundlagen N = {0, 1, 2,...} N N = F 1 Menge aller einstelligen (totalen) zahlentheoretischer Funktionen F 1 = N N F 1 = {f f : N N} F 2 = N N N F 2 = {f f : N N N} F = F i F = F i i N F ist also die Menge aller beliebigstelligen, totalen Funktionen und F die Menge aller beliebigstelligen, partiellen Funktionen. i N 5.3. Turing-Berechenbarkeit Definition Eine Funktion f F i heißt Turing-berechenbar, genau dann wenn es eine TM M = ({0, 1,..., 9, #}, Γ, Z, z 0, δ, Z E, ) gibt, so dass für alle (n 1,..., n i ) N i gilt: 1. (n 1,..., n i ) D f M erreicht bei Eingabe von n 1 #n 2 #... #n i einen Zustand aus Z E 47

48 5. Churchsche These 2. (n 1,..., n i ) D f es gibt ein z Z E und x Γ, so dass z 0 n 1 #n 2 #... #n i M αzm, wobei m = f(n 1,..., n i ) (αzm liegt vor bei erstmaligem Erreichen eines Zustandes z Z E ) Die TM transformiert das Eingabewort in endlich vielen Schritten so, dass der Zeiger (Lesekopf) der TM am Beginn des Rückgabewertes steht und rechts vom Rückgabewert nur noch Leersymbole stehen (links vom Lesekopf kann alles mögliche stehen) Beispiel Eine TM für f(x) = x + 1: M = ({ }, {, }, {z 0, z}, z 0, δ, {z}, ) δ z 0 z (, z 0, L) (, z, 0) Betrachten folgende Funktion: χ A (x) = { 1 falls x A n. d. sonst χ A ist Turing-berechenbar: modifizieren M so zu M : M (x) simuliert M(x) gerät M(x) in einen Endzustand und ist αzβ, z Z E die Konfiguration von M, so ersetzt M β durch 1 und geht in einen Endzustand z Z E partiell charakteristische χ A für A L 0 sind turing-berechenbar. Wie steht es mit der charakteristischen Funktion? Ist A Σ so ist c A die charakteristische Funktion von A, c A = { 1 für x A 0 für x / A Ist c A turing-berechenbar? (später: ganz sicher nicht!) 5.4. Andere Typen von Turing-Maschinen Bisher hatten wir nichtdeterministische und deterministische Turing-Maschinen. Was können wir noch verändern? mehrdimensionale Bänder mehrere Köpfe 48

49 5.5. Die Churchsche These zusätzliche Bänder Bänder mit speziellen Funktionen (Eingabeband, Ausgabeband, Rechenband,...) Satz Alle genannten Typen von Turingmaschinen (und Kombinationen davon) sind im Hinblick auf ihre Berechnungskraft äquivalent. wichtig ist die endliche Beschreibung! 5.5. Die Churchsche These Satz (Churchsche These) Die durch die formale Definition der Turing-Berechenbarkeit erfasste Klasse von Funktionen stimmt genau mit der Klasse der im primitiven Sinne berechenbaren Funktionen überein. Kein Beweis, lediglich Plausibilitätsbetrachtung. Beachte: die These trifft keine Effizienzaussage, es zählt nur die reine Berechenbarkeit. 49

50 6. Primitv rekursive und partiell rekursive Funktionen Idee: starten mit ganz wenigen, einfachen Funktionen definieren ein paar einfache Operationen, die aus Funktionen neue Funktionen machen 6.1. Primitiv rekursive Funktionen Definition Grundfunktionen (E) 1. Nachfolgerfunktion: succ: N N: succ(n) = n konstante Funktion: C m k : Nm N: C(m 1,..., m m ) = k 3. Projektionsfunktionen: id m l : N m N: id m l (m 1,..., m m ) = m l Die genannten Funktionen bilden die Menge E der Grundfunktionen. Jetzt die Operationen: Definition Substitution: SUB m i : F i (F m ) i } {{ } i F m-stellige Funktionen Ist g F i und sind h 1,..., h i F m, so ist die Funktion SUB m i (g, h 1,..., h i ) definiert durch: SUB m i (g, h 1,..., h i )(n 1,..., n m ) = g(h 1 (n 1,..., n m ),..., h i (n 1,..., n m )) Primitive Rekursion: PR m+1 : F m F m+2 F m+1 Sind g F m und h F m+2, so ist die Funktion f = PR m+1 (g, h) definiert durch: f(0, n 1,..., n m ) = g(n 1,..., n m ) f(n + 1, n 1,..., n m ) = h(n, n 1,..., n m, f(n, n 1,..., n m )) 50

Theoretische Grundlagen der Informatik

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

Mehr

Wortproblem für kontextfreie Grammatiken

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

Mehr

Programmiersprachen und Übersetzer

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

Mehr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

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

Mehr

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

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

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

Mehr

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

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Primzahlen und RSA-Verschlüsselung

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

Mehr

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

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

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

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

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist CF versus CS Theorem CF ist echt in CS enthalten. Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist L = {a m b m c m m 1} nicht kontextfrei. Andererseits ist L kontextsensitiv, wie die Grammatik

Mehr

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

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

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

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

Mehr

Theoretische Informatik

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

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Informationsblatt Induktionsbeweis

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

Mehr

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

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

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

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

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

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

Theoretische Informatik SS 04 Übung 1

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

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Einführung in die Algebra

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

Mehr

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten! Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright

Mehr

Die Komplexitätsklassen P und NP

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

Mehr

Absolute Stetigkeit von Maßen

Absolute Stetigkeit von Maßen Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches

Mehr

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775, Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

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

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

Mehr

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,

Mehr

1 Mathematische Grundlagen

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

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Lischke SS 2004 Vorwort Dieses Dokument wurde als Skript für die auf der Titelseite genannte Vorlesung erstellt und wird jetzt im Rahmen des Projekts Vorlesungsskripte der

Mehr

kontextfreie Sprachen: Normalformen

kontextfreie Sprachen: Normalformen 1 kontextfreie Sprachen: Normalformen Zur Erinnerung: Kontextfreie Sprachen sind diejenigen, die von Grammatiken erzeugt werden, die auf allen linken Regelseiten nur je ein Nichtterminalsymbol haben. Aufgrund

Mehr

Was bisher geschah: Formale Sprachen

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

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben Wurzelgleichungen Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen

Mehr

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

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

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Übersicht. 3 3 Kontextfreie Sprachen

Übersicht. 3 3 Kontextfreie Sprachen Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform

Mehr

Mathematischer Vorbereitungskurs für Ökonomen

Mathematischer Vorbereitungskurs für Ökonomen Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen

Mehr

3. Grundlagen der Linearen Programmierung

3. Grundlagen der Linearen Programmierung 3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 ) Aufgabe 65. Ganz schön span(n)end. Gegeben sei folgende Menge M von 6 Vektoren v, v,..., v 6 R 4 aus Aufgabe P 6: M = v =, v =, v =, v 4 =, v 5 =, v 6 = Welche der folgenden Aussagen sind wahr? span(v,

Mehr

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände).

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände). Endliche Automaten Endliche Automaten Definition Ein deterministischer endlicher Automat (kurz DFA für deterministic finite automaton ) ist ein Quintupel M = (Σ, Z, δ, z 0, F), wobei Σ ein Alphabet ist,

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

10 Kellerautomaten. Kellerautomaten

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

Mehr

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

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

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

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen. R. Brinkmann http://brinkmann-du.de Seite 1 13.0.010 Lineare Gleichungen Werden zwei Terme durch ein Gleichheitszeichen miteinander verbunden, so entsteht eine Gleichung. Enthält die Gleichung die Variable

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

Einfache kryptographische Verfahren

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

Mehr

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

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Mächtigkeit von WHILE-Programmen

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

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

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

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume

Mehr

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

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

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr