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 Definition: Reguläre Sprache Eine 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 dass sich 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 „hat ein oder mehrere a gesehen“ daher akzeptiert er auch ai+xbi, wenn er aibi akzeptiert Hopcroft/Ullmann 1988:57ff Hopcroft/Motwani/Ullman, 2002: 135ff
Definition von Operationen auf regulären Sprachen
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 Anwendung auf ein beliebiges Element x und fü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 Studium engl. 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