reguläre sprachen
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
1© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
Reguläre Sprachen
Karin Haenelt
2© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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
3© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
Sprache● Symbol unzerlegbares Grundzeichen ● unzerlegbar bezüglich der Art der Betrachtung, um die es
gerade geht ● Alphabet endliche Menge von Symbolen ● Zeichenreihe endliche Folge von Symbolen eines bestimmten
Alphabets Sprache eine Menge von Zeichenreihen über einem
Alphabet interessante Mengen ● Menge der von einem Automaten akzeptierten
Zeichenreihen ● Menge der von einem Automaten nicht
akzeptierten Zeichenreihen ● Menge der Zeichenreihen einer
Menschensprache
Grundlagen: Sprache
4© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
● Sprache Jede beliebige Menge von Zeichenreihen aus * ● es gilt - , die leere Sprache ist eine Sprache - }{ , die Menge, die nur die leere Zeichenreihe enthält, ist
eine Sprache - * , die Universalsprache, die aus der Menge aller
Zeichenreihen über einem Alphabet besteht, ist eine Sprache
Sprache
Grundlagen: Sprache
5© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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:
Grundlagen: Reguläre Sprache
6© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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
7© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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:57ffHopcroft/Motwani/Ullman, 2002: 135ff
8© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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:58Hopcroft/Motwani/Ullman, 2002: 136
9© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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:57ffHopcroft/Motwani/Ullman, 2002: 135ff
10© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
Definition von Operationen auf regulären Sprachen
Vereinigung (Summe) }|{ 2121 LpLppLL
Konkatenation (Produkt, Verkettung) }|{ 2121 LqLppqLL Beispiel X = {ein, zwei}, Y = {mal, fach} , XY = {einmal, einfach, zweimal, zweifach}
Potenz 0 },{ 10 nfürLLLL nn
Hülle (Iteration, Stern) }{ , , *
10
*
LLLLLLn
n
n
n
11© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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
12© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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
13© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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.
14© Karin Haenelt 2006, Reguläre Sprachen 20.04.2008 (115.01.2003)
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