140 likes | 291 Views
Reguläre Sprachen. Karin Haenelt. Themen. Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Technik zum Nachweis, dass eine Sprache keine reguläre Sprache ist: das Pumping-Lemma Eigenschaften der Abgeschlossenheit Eigenschaften der Entscheidbarkeit. Grundlagen: Sprache.
E N D
Reguläre Sprachen Karin Haenelt
Themen • Was sind reguläre Sprachen? • Eigenschaften regulärer Sprachen • Technik zum Nachweis, dass eine Sprache keine reguläre Sprache ist: das Pumping-Lemma • Eigenschaften der Abgeschlossenheit • Eigenschaften der Entscheidbarkeit
Grundlagen: Sprache Sprache
Grundlagen: Sprache Sprache
Grundlagen: Reguläre Sprache Reguläre Sprache • Definition: Reguläre SpracheEine Sprache, d.h. eine Menge von Zeichenreihen, ist regulär, wenn sie die leere Menge, das leere Zeichen, ein Elementarzeichen, oder aus diesen Elementen durch Vereinigung, Verkettung oder der Hüllenbildung gebildete Mengen enthält. ■ • vgl. Kleene, 1956: 35:
Themen • Was sind reguläre Sprachen? • Eigenschaften regulärer Sprachen • Technik zum Nachweis, dass eine Sprache keine reguläre Sprache ist: das Pumping-Lemma • Eigenschaften der Abgeschlossenheit • Eigenschaften der Entscheidbarkeit
Das Pumping-Lemma • Technik zum Nachweis,dass bestimmte Sprachen nicht regulär sind • Grundidee: • Pumping-Lemma: • Sei L eine reguläre Sprache und w eine Zeichenreihe aus L • Sei w = xyz eine Zerlegung von w • wenn w eine reguläre Zeichenreihe ist, dann kann die Teilreihe y beliebig oft wiederholt oder gelöscht werden, wobei die resultierende Zeichenreihe nach wie vor eine reguläre Zeichenreihe ist • Ein endlicher Automat zählt nicht mit, wie oft er einen bestimmten Zustand durchläuft • Eine Sprache für deren Charakteristik das Mitzählen erforderlich ist, ist nicht regulär Hopcroft/Ullmann 1988:57ff Hopcroft/Motwani/Ullman, 2002: 135ff
Das Pumping-Lemma • Prinzip: • falls ein EA eine genügend lange Zeichenkette akzeptiert,existiert ziemlich am Anfang der Zeichenkette eine Teil-Zeichenkette, die „gepumpt“ werden kann, d.h. beliebig oft wiederholt werden kann. • Die resultierende Zeichenkette wird ebenfalls durch den EA akzeptiert • Satz (Pumping-Lemma für reguläre Sprachen) • Sei L Σ* eine reguläre Sprache. • Dann gibt es eine Konstante n, so dasssich ein Wort w L mit |w| ≥ n schreiben lässt als w = xyz, wobei gilt: • y ≠ ε • |xy| n • k 0: xykz L • Beweis s. Hopcroft/Motwani/Ullman, 2000: 136f Hopcroft/Ullmann 1988:58 Hopcroft/Motwani/Ullman, 2002: 136
Das Pumping-Lemma: ein Anwendunsgbeispiel • Beispiel: die Sprache L={aibi | i und i≥ 1} ist nicht durch endliche Automaten beschreibbar • Überlegung: • ein Automat, der aibi akzeptiert,akzeptiert auch Zeichenreihen, die er nicht akzeptieren sollte, da sie nicht zu L gehören: Beispiel: ai+xbi (mit x und x≥ 1) • ein endlicher Automat hat endlich viele Zustände • sei k die Anzahl der Zustände • wenn i > k, muss mindestens ein Zustand mehrfach durchlaufen sein • der Automat hat kein Gedächtnis, in dem er zählt, wie viele a er gesehen hat • er befindet sich in dem Zustand „hatein oder mehrere agesehen“ • daher akzeptiert er auch ai+xbi, wenn er aibi akzeptiert Hopcroft/Ullmann 1988:57ff Hopcroft/Motwani/Ullman, 2002: 135ff
Abgeschlossenheits-Eigenschaften • Die wichtigsten Angeschlossenheitseigenschaften regulärer Sprachen: • Die Vereinigung zweier regulärer Sprachen ist regulär • Der Durchschnitt zweier regulärer Sprachen ist regulär • Das Komplement zweier regulärer Sprachen ist regulär • Die Differenz zweier regulärer Sprachen ist regulär • Die Spiegelung einer regulären Sprache ist regulär • Die Hülle (Sternoperator) einer regulären Sprache ist regulär • Die Verkettung von regulären Sprachen ist regulär • Ein Homomorphismus (Ersetzung von Symbolen durch Zeichenreihen) einer regulären Sprache ist regulär • Der inverse Homomorphismus einer regulären Sprache ist regulär Hopcroft/Motwani/Ullman, 2002: 141
Entscheidbarkeit • Es gibt algorithmische Verfahren,bei deren Anwendungauf ein beliebiges Element x undfür beliebige reguläre Sprachen L1 und L2 sich nach endlich vielen Schritten ergibt • L1 = Leerheit • x L1 Zugehörigkeit • L1 = L2 Äquivalenz • L1 ist endlich Endlichkeit • L1 L2 = Schnitt
Literatur • Hopcroft, John E. und Jeffrey D. Ullman (1988). Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. Bonn u. a.: Addison-Wesley, 1988 (engl. Original Introduction to automata theory, languages and computation). • Hopcroft, John E., Rajeev Motwani und Jeffrey D. Ullman (2002). Einführung in die Automatentheorie, Formale Sprachen und Komplexität. Pearson Studiumengl. Original: Introduction to Automata Theory, Languages and Computation. Addison-Wesley. www-db.stanford.edu/~ullman/ialc.html • Kleene, Stephen Cole (1956). Representations of Events in Nerve Sets and Finite Automata, In: C. E. Shannon and J. McCarthy, Hgg., Automata Studies, S. 3-42, Princeton, NJ, 1956. Princeton University Press.
Versionen • 2.1: 20.04.2008 • 2.0: 19.05.2006 • 17.04., 23.03.2005 • 05.05., 14.04., 06.04.2004, • 21.05., 15.01.2003 (Reg. Mengen, Ausdrücke, Sprachen, EA