Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
|
|
- Joachim Friedrich
- vor 6 Jahren
- Abrufe
Transkript
1 Gliederung. Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen (noch weiter) 2.3. Kontextfreie Sprachen 2/4, Folie 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
2 u Anwendungsgebiete Verwendung u.a. in Skript-Sprachen zur Unterstützung bei der Systemadministration spawn uusnap # Statusmeldungen einer Verbindung wird abgefragt expect { -re "uunet \[-a-za-z-9 ]*((SENDING) (RECEIVING))" {... # ok } -re "uunet \[-a-za-z-9 ]*NO DEV" {... # warten } -re "uunet \[-a-za-z-9 ]*FAILED" {... # noch mal probieren } } # end expect... in Abhängigkeit vom Typ der Antwort werden bestimmte Aktionen ausgeführt (/* hierzu wird der Typ der Statusmeldung analysiert, d.h. es wird geprüft, zu welchem Muster die Statusmeldung paßt */) 2/4, Folie 2 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
3 u Anmerkungen die Art und Weise relevante Muster zu notieren, ist recht uneinheitlich (/* siehe Skript-Sprachen wie Perl, Python, Select,... */) es gibt jedoch die folgenden Gemeinsamkeiten: die Muster werden verwendet, um die Gemeinsamkeiten von Wörtern zu beschreiben jedes Muster definiert de facto eine Sprache (also die Menge aller Wörter, die zum jeweiligen Muster passen) die Menge der zulässigen Muster ist induktiv definiert (es gibt einfache Muster und Operatoren, um komplexe Muster zu bilden) 2/4, Folie 3 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
4 u Reguläre Ausdrücke (/* in der Theoretischen Informatik */) sei Σ das zugrunde liegende Alphabet dann definieren wir: Die Zeichen ε und sowie jedes a Σ sind reguläre Ausdrücke über Σ. wir lassen die Operatoren (Verkettung), + (Auswahl) und * (Kleenesche Hülle) zu seien α und β reguläre Ausdrücke über Σ dann definieren wir: Dann sind auch α β, (α+β) und (α)* reguläre Ausdrücke über Σ. 2/4, Folie 4 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
5 u Beispiel sei Σ = {, } das zugrunde liegende Alphabet dann ist bspw. (((+))* )* ein regulärer Ausdruck über Σ Anwendung der induktiven Definition: um zu sehen, dass (((+))* )* ein regulärer Ausdruck ist, setze α = ((+))* und untersuche, ob α ein regulärer Ausdruck ist um zu sehen, dass ((+))* ein regulärer Ausdruck ist, setze α = ((+))* und β = und untersuche, ob α und β reguläre Ausdrücke sind um zu sehen, dass ((+))* ein regulärer Ausdruck ist, setze α = (+) und untersuche, ob α ein regulärer Ausdruck ist... um zu sehen, dass ein regulärer Ausdruck ist... 2/4, Folie 5 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
6 u Anmerkung bevor wir definieren können, welche Sprache ein regulärer Ausdruck beschreibt, müssen wir zwei weitere Operationen mit Sprachen einführen die zweistellige Operation Verkettung (in Zeichen ) die einstellige Operation Kleenesche Hülle (in Zeichen * ) 2/4, Folie 6 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
7 u Einschub: Operationen mit Sprachen sei Σ das zugrunde liegende Alphabet seien L, L 2 Σ* dann definieren wir: Die Sprache L L 2 enthält alle Wörter w Σ* für die gilt: es gibt ein u L und ein v L 2, so dass w = u v gilt. Die Sprache (L )* enthält alle Wörter w Σ* für die gilt: w = ε oder es gibt ein k N und u,..,u k L, so dass w = u... u k gilt. 2/4, Folie 7 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
8 u Begriff: die durch einen regulären Ausdruck beschriebene Sprache sei Σ das zugrunde liegende Alphabet sei γ ein regulärer Ausdruck über Σ dann definieren wir: Für die von γ beschriebene Sprache L(γ) gilt: L(γ) = { ε }, falls γ = ε gilt L(γ) =, falls γ = gilt L(γ) = { a }, falls γ = a mit a Σ gilt L(γ) = L(α) L(β), falls γ = α β gilt L(γ) = L(α) L(β), falls γ = (α+β) gilt L(γ) = (L(α))*, falls γ = (α)* gilt 2/4, Folie 8 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
9 u Beispiele sei Σ = {, } das zugrunde liegende Alphabet man sieht sofort, dass der reguläre Ausdruck α = ((+))* die Sprache Σ* beschreibt dann gilt offensichtlich auch: L(β) = { w Σ* w enthält das Teilwort } für den regulären Ausdruck β = α α L(β) = { w Σ* w hat den Präfix und den Suffix } für den regulären Ausdruck β = α 2/4, Folie 9 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
10 u Beispiele (cont.) es sei Σ = {, } das zugrunde liegende Alphabet man kann sich sofort davon zu überzeugen, dass L(α) = { w Σ* w enthält genau eine Null } für den regulären Ausdruck α = ()* ()* gilt dann gilt auch: L(β) = { w Σ* w enthält ungerade viele Nullen } für den regulären Ausdruck β = α (α α)* 2/4, Folie 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
11 u Zwischenfazit reguläre Ausdrücke sind ein in der Praxis häufig benutzter Ansatz, um Sprachen zu beschreiben reguläre Ausdrücke lassen sich einfacher notieren als Grammatiken (/* ein wenig Übung vorausgesetzt... */) noch zu klären bleibt: ob man für jede Sprache, die man mit einem regulären Ausdruck beschreiben kann, das Wortproblem lösen kann und, wenn ja, wie effizient das geht... das folgende Ergebnis gibt uns eine Antwort auf beide Teilfragen und macht deutlich, weshalb reguläre Ausdrücke in der Praxis so häufig benutzt werden 2/4, Folie 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
12 u zentrales Resultat es sei Σ das zugrunde liegende Alphabet und L Σ* dann gilt: Die folgenden Aussagen sind äquivalent: () L ist eine reguläre Sprache. (2) Es gibt einen regulären Ausdruck α mit L(α) = L.... eigentlich ist nur der Teil (2) () wichtig (wir wissen, dass das Wortproblem für reguläre Sprachen mit Hilfe von (deterministischen) endlichen Automaten sehr effizient gelöst werden kann) 2/4, Folie 2 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
13 u Beweisidee ( (2) () ) wir können ausnutzen, dass die Menge der regulären Ausdrücke induktiv definiert ist, und verwenden folgende Herangehensweise: a) wir zeigen, dass jede Sprache, die durch einen (einfachen) regulären Ausdruck beschrieben werden kann, regulär ist b) beim Nachweis, dass jede Sprache regulär ist, die durch einen regulären Ausdruck der Form α β, (α+β) bzw. (α)* beschrieben werden kann, können wir dann benutzen, dass die beiden Sprachen L(α) und L(β) regulär sind 2/4, Folie 3 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
14 u Anmerkungen um a) und b) zu beweisen, genügt es jeweils nichtdeterministische endlichen Automaten für die durch den jeweiligen regulären Ausdruck beschriebene Sprache anzugeben wie das für a) geht, sieht man auf der nächste Folie für b) reicht es aus, bestimmte Abgeschlossenheitseigenschaften für die Menge der regulären Sprachen zu zeigen wir werden nachweisen, dass die Vereinigung von zwei regulären Sprachen die Verkettung von zwei regulären Sprachen die Kleenesche Hülle einer regulären Sprache jeweils eine reguläre Sprache ist... für die Operation Vereinigung ist nichts mehr zu tun 2/4, Folie 4 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
15 u... für (einfache) reguläre Ausdrücke wähle folgenden nichtdeterministischen endlichen Automaten für γ = ε : z wähle folgenden nichtdeterministischen endlichen Automaten für γ = : z wähle folgenden nichtdeterministischen endlichen Automaten für γ = a mit a Σ: a z z 2/4, Folie 5 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
16 u weitere Abgeschlossenheitseigenschaften regulärer Sprachen seien L, L 2 Σ* reguläre Sprachen dann gilt: Die Sprache L L 2 ist eine reguläre Sprache. Die Sprache (L )* ist eine reguläre Sprache. 2/4, Folie 6 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
17 u Operation Verkettung (/* Idee *) sei Σ = {, } Automat A für L = { w Σ* w hat den Präfix }:,, z z z 2 Automat A 2 für L 2 = { w Σ* w hat den Suffix }: q q 2/4, Folie 7 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
18 u Operation Verkettung (/* Idee *) (cont.) um einen Automaten für die Sprache L L 2 zu konstruieren, genügt es A und A 2 wie folgt zu verbinden, wobei die Funktion der Zustände von A und A 2 geeignet anzupassen ist:,, z z z 2 q q ε der Übergang (z,ε,q ) bedeutet, dass dieser Automat vom Zustand z in den Zustand q gehen kann, ohne ein Zeichen auf dem Eingabeband zu lesen (/* wichtig, weil z ein akzeptierender Zustand von A ist */) 2/4, Folie 8 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
19 u Operation Verkettung (/* Idee *) (cont.),, z z z 2 q q ε den Übergang (z,ε,q ) kann man äquivalent durch folgende Übergänge ersetzen: (z,,q ), (z,,q ) und (z,,q ) 2/4, Folie 9 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
20 u Operation Verkettung (/* Idee *) (cont.) anhand der gegebenen Automaten A für L und A 2 für L 2 kann man den folgenden nichtdeterministischen endlichen Automaten A für die Sprache L L 2 konstruieren:,, z z z 2 q q, 2/4, Folie 2 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
21 u Beweisidee für die Operation Verkettung sei A = [Z,Σ,z,F,δ ] ein endlicher Automat für L sei A 2 = [Q,Σ,q,F 2,δ 2 ] ein endlicher Automat für L 2 mit Z Q = definiere den nichtdeterministischen endlichen Automaten A = [Z,Σ,z,F,Δ ] wie folgt: setze Z = Z Q setze F = F 2 setze Δ = Δ Δ 2 Δ 3 mit: setze Δ = { (z,a,δ (z,a)) z Z und a Σ } setze Δ 2 = { (q,a,δ 2 (q,a)) q Q und a Σ } setze Δ 3 = { (z,a,q ) z Z, a Σ und δ (z,a) F } man kann sich nun leicht überlegen, dass L(A ) = L(A ) L(A 2 ) gilt 2/4, Folie 2 26 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
22 u Operation Kleenesche Hülle (/* Idee *) sei Σ = {, } Automat A für L = { u u besteht aus ungerade vielen Einsen }: z z z 2, z 4, 2/4, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
23 u Operation Kleenesche Hülle (/* Idee *) (cont.) um einen Automaten für die Sprache (L )* zu konstruieren, genügt es einen neuen Startzustand z einzuführen (der gleichzeitig ein akzeptierender Zustand ist) und A wie folgt mit sich selbst zu verknüpfen, wobei die Funktion der Zustände in A wieder geeignet anzupassen ist: ε z ε z z z 2, z 4, die Übergänge (z,ε,z ) und (z 2,ε,z ) bedeuten, dass dieser Automat vom Zustand z in den Zustand z bzw. von z 2 in z gehen kann, ohne ein Zeichen auf dem Eingabeband zu lesen 2/4, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
24 u Operation Kleenesche Hülle (/* Idee *) (cont.) ε z ε z z z 2, z 4, die Übergänge (z,ε,z ) und (z 2,ε,z ) kann man äquivalent durch folgende Übergänge ersetzen: (z,,z 4 ) und (z,,z ) bzw. (z,,z ) 2/4, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
25 u Operation Kleenesche Hülle (/* Idee *) (cont.) anhand des gegebenen Automaten A für L kann man den folgenden nichtdeterministischen endlichen Automaten A für die Sprache L * konstruieren: z z z z 2, z 4, 2/4, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
26 u Beweisidee für die Operation Kleenesche Hülle sei A = [Z,Σ,z,F,δ ] ein (deterministischer) endlicher Automat für L definiere den folgenden nichtdeterministischen endlichen Automaten A = [Z,Σ,z,F, Δ ] wie folgt: setze Z = Z { z } setze F = { z } setze Δ = Δ Δ 2 Δ 3 mit: setze Δ = { (z,a,δ (z,a)) z Z und a Σ } setze Δ 2 = { (z,a,δ (z,a)) a Σ } setze Δ 3 = { (z,a,z ) z Z, a Σ und δ (z,a) F } man kann sich nun leicht überlegen, dass L(A ) = (L(A ))* gilt 2/4, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Kapitel 2: Formale Sprachen Gliederung
Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten
MehrKapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen
Mehr1 Σ 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
MehrFormale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19
1/19 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 16. Januar 2008 2/19 Reguläre Ausdrücke vierte Art (neben Typ-3-Grammatiken, deterministischen und nicht-deterministischen
MehrTheoretische Informatik Kap 1: Formale Sprachen/Automatentheorie
Gliederung der Vorlesung. Grundbegriffe. Formale Sprachen/Automatentheorie.. Grammatiken.2..3. Kontext-freie Sprachen 2. Berechnungstheorie 2.. Berechenbarkeitsmodelle 2.2. Die Churchsche These 2.3. Unentscheidbarkeit
MehrFormale Sprachen und endliche Automaten
Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche
MehrDefinition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.
Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer
MehrKapitel 3: Berechnungstheorie Gliederung
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Einordnung 3.2. Berechnungsmodelle 3.3. Diskussion 3.4. Ergebnisse und
MehrKapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung
Gliederung 1. Berechenbarkeitstheorie 2. Grundlagen 3. Grundlegende Ergebnisse aus der Komplexitätstheorie 4. Die Komplexitätsklassen P und NP 5. Die Komplexitätsklassen RP und BPP 3.1. Ressourcenkompression
Mehrist ein regulärer Ausdruck.
Dr. Sebastian Bab WiSe 12/13 Theoretische Grlagen der Informatik für TI Termin: VL 11 vom 22.11.2012 Reguläre Ausdrücke Reguläre Ausdrücke sind eine lesbarere Notation für Sprachen Denition 1 (Regulärer
MehrRekursiv aufzählbare Sprachen
Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben
MehrSatz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2
Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen endlichen Automaten akzeptiert wird ist regulär und jede reguläre Sprache wird von einem deterministischen endlichen
MehrFormale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23
1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich
MehrFormale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten
MehrÜbungsaufgaben zu Formalen Sprachen und Automaten
Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel
MehrFormale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S
Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche
MehrTheorie der Informatik
Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man
MehrKapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
MehrInduktive Definition
Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}
MehrSuche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften
Endlichkeitstest Eingabe: DFA/NFA M. Frage: Ist die von M akzeptierte Sprache endlich? Nahe liegende Beobachtung: In einem DFA/NFA, der eine unendliche Sprache akzeptiert, muss es einen Kreis geben, der
MehrAutomaten und Formale Sprachen ε-automaten und Minimierung
Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung
MehrFrank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat
Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat
Mehr11.1 Kontextsensitive und allgemeine Grammatiken
Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert
MehrTheoretische Informatik Testvorbereitung Moritz Resl
Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen
MehrHauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen
MehrTheoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009
Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache
MehrTechnische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung
Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai 2016 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 2 Beachten Sie: Soweit
MehrAutomaten 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
MehrGrundlagen der Informatik II
Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s
MehrBerechenbarkeit 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
MehrGrammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)
Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /
MehrTheoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!
Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!
MehrMaike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden
Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt
MehrDeterministische endliche Automaten - Wiederholung
Deterministische endliche Automaten - Wiederholung Die folgende Klasse Zahl stellt einen endlichen Automaten dar. Ermittle die Größen des Automaten und zeichne den Zustandsgraphen. Gib Zeichenfolgen an,
MehrTeil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie
Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=
MehrGrundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
MehrReguläre Sprachen und endliche Automaten
Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented
Mehr2.4 Kontextsensitive und Typ 0-Sprachen
Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik
MehrWorterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65
Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges kennengelernt,
Mehr... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten
3 Reguläre Sprachen 63 3 Reguläre Sprachen In diesem Kapitel beschäftigen wir uns etwas näher mit den regulären Sprachen, insbesondere mit der Möglichkeit verschiedener Charakterisierungen und den Eigenschaften
MehrDeterministischer Kellerautomat (DPDA)
Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,
MehrGrammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften
MehrFormale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK
Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz
MehrGrundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrTheoretische Informatik 2
Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder
MehrWS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven
WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche
MehrFormale Sprachen und Automaten
Avant Propos Formale Sprachen und Automaten Sie [die Theorie der formalen Sprachen] ist ein Musterbeispiel einer informatischen Theorie, weil es ihr gelingt, einen großen Bestand an Einsichten und Zusammenhängen
MehrTheoretische Informatik I
Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in
MehrKapitel 5: Minimale spannende Bäume Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken
MehrAutomaten und Formale Sprachen
Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien
MehrFormale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.
Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen
MehrFormale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK
Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz
MehrUmformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.
Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe
MehrHerzlich willkommen!!!
Theoretische Informatik 2 Sommersemester 2013 Prof. Dr. Georg Schnitger AG Theoretische Informatik Johann Wolfgang Goethe-Universität Frankfurt am Main Herzlich willkommen!!! 1 / 19 Kapitel 1: Einführung
MehrÜbung zur Vorlesung Theoretische Information. Minimierungsalgorithmus
Übung zur Vorlesung Theoretische Information Minimierungsalgorithmus Folie Warum Automaten minimieren? Zwei endliche Automaten Automat q q Automat 2 q q Beide akzeptieren die selbe Sprache Welche? q 2
MehrBeschreibungskomplexität von Grammatiken Definitionen
Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β
MehrÜbungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN
Universität Heidelberg / Institut für Informatik 7. Juli 24 Prof. Dr. Klaus Ambos-Spies Nadine Losert Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 2 LÖSUNGEN Aufgabe Verwenden
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken schulz@eprover.org Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,
MehrEinführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken
MehrEinführung in Berechenbarkeit, Komplexität und formale Sprachen
Johannes Blömer Skript zur Vorlesung Einführung in Berechenbarkeit, Komplexität und formale Sprachen Universität Paderborn Wintersemester 2011/12 Inhaltsverzeichnis 1 Einleitung 2 1.1 Ziele der Vorlesung...................................
MehrHoffmann (HAW Hamburg) Automatentheorie und formale Sprachen
Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 18.4. 2012 176 Automatentheorie und formale Sprachen VL 5 Reguläre und nichtreguläre Sprachen Kathrin Hoffmann 18. Aptil 2012 Hoffmann (HAW
MehrAutomatentheorie und formale Sprachen
Automatentheorie und formale Sprachen VL 4 Reguläre Ausdrücke und reguläre Sprachen Kathrin Hoffmann 10. April 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 114 Aufgabe 13:
MehrAbschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution
Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen
Mehrc) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}
2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?
Mehr(Prüfungs-)Aufgaben zu formale Sprachen
(Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre
MehrTyp-1-Sprachen. Satz 1 (Kuroda ( ) 1964)
Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.
MehrDer deterministische, endliche Automat. Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen
Der deterministische, endliche Automat Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen Frank Heitmann heitmann@informatik.uni-hamurg.de 8. April 2014 Definition (DFA) Ein deterministischer,
MehrMusterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14
Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die
MehrTheoretische Informatik. Alphabete, Worte, Sprachen
Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik 0 KIT 10.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am
Mehr8. Turingmaschinen und kontextsensitive Sprachen
8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten
MehrAutomaten und Coinduktion
Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und
MehrEinführung in die Theoretische Informatik
echnische Universität München Fakultät für Informatik Prof. obias Nipkow, Ph.D. ascha öhme, Lars Noschinski ommersemester 2011 Lösungsblatt 5 6. Juni 2011 Einführung in die heoretische Informatik Hinweis:
MehrAutomaten, Spiele, und Logik
Automaten, Spiele, und Logik Woche 2 25. April 2014 Inhalt der heutigen Vorlesung 1. Reguläre Ausdrücke 2. der Satz von Kleene 3. Brzozowski Methode 4. grep und perl Reguläre Ausdrücke Rekursive Definition,
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
MehrDefinition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ.
Reguläre Sprachen Sprache was ist das? Definition 7.1.1 Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ. Wir beschäftigen uns in diesem Teil mit den regulären
MehrAlgorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
MehrGrundbegriffe der Informatik Tutorium 12
Grundbegriffe der Informatik Tutorium 12 Tutorium Nr. 16 Philipp Oppermann 28. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrFormale Sprachen und Automaten: Tutorium Nr. 8
Formale Sprachen und Automaten: Tutorium Nr. 8 15. Juni 2013 Übersicht 1 Nachtrag 2 Besprechung von Übungsblatt 7 Aufgabe 1 Aufgabe 2 Aufgabe 3 3 CFG PDA Definitionen Ein Beispiel! Aufgabe 4 Der PDA als
MehrEinführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten
Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik
MehrAutomaten und Formale Sprachen Endliche Automaten und Reguläre sprachen
Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag
MehrFormale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017
Formale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017 Endliche Automaten KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Endliche
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition
MehrOperationen auf endlichen Automaten und Transduktoren
Operationen auf endlichen Automaten und Transduktoren Kursfolien Karin Haenelt 1 Notationskonventionen L reguläre Sprache A endlicher Automat DEA deterministischer endlicher Automat NEA nichtdeterministischer
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrDas Postsche Korrespondenzproblem
Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrInformatik III Grundlagen der theoretischen Informatik
Sanders: Informatik III October 26, 2006 1 Informatik III Grundlagen der theoretischen Informatik Peter Sanders Übungen: Thomas Käufl Roman Dementiev und Johannes Singler Institut für theoretische Informatik,
Mehr