Grenzen der Regularität

Ähnliche Dokumente
Das Pumping-Lemma Formulierung

Eigenschaften regulärer Sprachen

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Das Pumping Lemma: Ein Anwendungsbeispiel

4. Übung zur Vorlesung Informatik III am

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Theoretische Informatik und Logik Übungsblatt 2 (2017S) Lösung

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Formale Sprachen und Automaten

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Die mathematische Seite

Die Nerode-Relation und der Index einer Sprache L

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom

Automaten und Formale Sprachen SoSe 2013 in Trier

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Eigenschaften kontextfreier Sprachen

Normalformen für kontextfreie Grammatiken. Noam CHOMSKY, Sheila GREIBACH. Bäume. Ableitungen in kontextfreien Grammatiken. Grammatik G = (N,T,P,S)

Theoretische Grundlagen der Informatik

Typ-3-Sprachen. Das Pumping-Lemma

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Formale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Grundlagen der theoretischen Informatik

Ogden s Lemma: Der Beweis (1/5)

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Formale Sprachen und endliche Automaten

Informatik III - WS07/08

1 Eliminieren von ɛ-übergängen

Musterlösung Informatik-III-Nachklausur

Lösungsvorschläge Blatt 4

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

WS07/08 Automaten und Formale Sprachen 5. Vorlesung

Theorie der Informatik

Übung zur Vorlesung Theoretische Information. Pumping Lemma

Musterlösung Informatik-III-Klausur

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

Reguläre Sprachen und endliche Automaten

Grundlagen der Theoretischen Informatik

Einführung in die Computerlinguistik Satz von Kleene

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Einführung in die Computerlinguistik Satz von Kleene

Induktive Definition

Berechenbarkeitstheorie 1. Vorlesung

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Theoretische Informatik

Software Engineering Ergänzung zur Vorlesung

Theoretische Informatik I

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Kontextfreie Sprachen werden von PDAs akzeptiert

Grundlagen der Theoretischen Informatik

Grundlagen der theoretischen Informatik

Kurz-Skript zur Theoretischen Informatik I

Grundlagen der Theoretischen Informatik

Kontextfreie Sprachen

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

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

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Theoretische Informatik I

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

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

Grundlagen der theoretischen Informatik

Grundlagen der Theoretischen Informatik

Theoretische Informatik für Medieninformatiker

Teil IV. Kontextfreie Sprachen, Teil 4: Kellerautomaten

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

5.2 Endliche Automaten

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

10 Kellerautomaten. Kellerautomaten

Kontextfreie Sprachen

Das Halteproblem für Turingmaschinen

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

Transkript:

Grenzen der Regularität Um die Mächtigkeit von endlichen Automaten zu verstehen, muss man auch ihre Grenzen kennen. Sei z.b. B = {0 n 1 n n 0} Gibt es einen DEA für B? Es sieht so aus, als müsste sich die Maschine die Anzahl der Nullen merken. Nachdem ebendiese Anzahl aber nicht limitiert ist, müsste sich der DEA eine unbeschränkte Anzahl von Möglichkeiten merken können. Mit einer endlichen Anzahl von Zuständen ist das aber nicht möglich! Reicht das als Beweis? NEIN! Nur weil es so aussieht, als ob eine Sprache unbegrenzten Speicher brauchen würde, ist das nicht notwendigerweise so!

Grenzen der Regularität In der Tat ist B = { 0 n 1 n n 0 } nicht regulär. ABER: Andere Sprachen scheinen auch eine unbegrenzte Anzahl von Möglichkeiten zu verlangen, und doch sind sie regulär: Seien C und D Sprachen über Σ = {0,1}: C = { w w enthält gleich viele Symbole 0 wie Symbole 1 } D = { w die Teilworte 01 und 10 kommen gleich oft in w vor} Auf den ersten Blick scheint eine akzeptierende Maschine in beiden Fällen unbegrenzt zählen zu müssen, daher könnte man annehmen, dass keine der beiden Sprachen regulär sei. Wie angenommen, ist C tatsächlich nicht regulär, D überraschenderweise aber sehr wohl!

Schubfachprinzip LEJEUNE DIRICHLET (1805-1859) Vorlesungen über Zahlentheorie (prepared for publication by Dedekind, first edition 1863) Schubfachprinzip: Bei Verteilung von n+1 Gegenständen auf n Schubfächer müssen in mindestens einem Schubfach zwei Gegenstände landen. (pigeonhole principle)

Grenzen der Regularität (Unendliche) Reguläre Sprachen haben eine spezielle Eigenschaft: Jedes Wort ab einer bestimmten Länge kann aufgepumpt werden, d.h. jedes solche Wort enthält ein Teilstück, das beliebig oft wiederholt werden kann, wobei die resultierenden Wörter noch immer in derselben Sprache liegen. Deterministischer endlicher Automat habe m Zustände. Gilt für ein von M akzeptiertes Wort w, dass w m, so muss mindestens ein Zustand mehr als einmal durchlaufen werden. (Schubfachprinzip) Zerlege w in xyz: y gehe von q nach q ; diese Schleife kann ausgelassen bzw. beliebig oft wiederholt werden, d.h. xy i z wird für alle i ebenfalls von M akzeptiert! y x q z q 1 q m

Pumping Lemma für reguläre Sprachen A (1) Sei L eine unendliche reguläre Sprache. Dann gibt es eine (nur von L abhängige) Schranke m > 0 so, dass für jedes Wort w in L mit w m Wörter x,y,z so existieren, dass w = xyz mit y > 0 und xy m sowie w(i) = xy i z für alle i 0 ebenfalls in L liegt.

Pumping Lemma für reguläre Sprachen A (2) L L 3 für jede reguläre Sprache L m N w L mit w m xyz = w y > 0 xy m i N gibt es eine natürliche Zahl m für jedes Wort w aus L (mind. m lang) gibt es Teilwörter x,y,z von w so, dass das Teilwort y nicht leer ist, die ersten zwei Teilwörter sind nicht länger als m sowie für jede natürliche Zahl i xy i z L ist die i-fach gepumpte Version in L.

Pumping Lemma für reguläre Sprachen A (3) L L 3 m N w L mit w m xyz = w y > 0 xy m i N für nicht-reguläre Sprachen L gibt es eine natürliche Zahl m für jedes Wort w aus L (mind. m lang) gibt es Teilwörter x,y,z von w so, dass das Teilwort y nicht leer ist, die ersten zwei Teilwörter sind nicht länger als m sowie für jede natürliche Zahl i xy i z L ist die i-fach gepumpte Version in L.

Pumping Lemma für reguläre Sprachen A (4) L L 3 für nicht-reguläre Sprachen L m N w L mit w m x,y,z mit xyz = w y > 0 xy m i N für alle natürlichen Zahl m existiert ein Wort w aus L (mind. m lang) für alle Zerlegungen von w in xyz, wo das Teilwort y nicht leer ist und die ersten zwei Teilwörter nicht länger als m sind, existiert eine natürliche Zahl i so, dass xy i z L die i-fach gepumpte Version nicht in L.

Pumping Lemma - Beispiel L = { 0 n 1 n n 0 } Beweis durch Widerspruch: Angenommen L sei regulär. Für beliebiges m (Konstante aus dem Pumping Lemma) wähle w = 0 m 1 m (offensichtlich gilt w L und w m). Betrachte beliebige Zerlegungen von w in xyz mit xy m und y > 0: xy kann nur aus Nullen bestehen. Wähle ein i so, dass xy i z nicht von der Gestalt 0 n 1 n ist: Für alle i gilt, dass xy i z= 0 m+(i-1) y 1 m ist, d.h. für i = 0 und alle i > 1 ist m+(i-1) y m und xy i z daher nicht von der Gestalt 0 n 1 n!

Pumping Lemma für reguläre Sprachen B Sei L eine unendliche reguläre Sprache. Dann gibt es eine (nur von L abhängige) Schranke m > 0 so, dass für jedes Wort w in L mit w m und jedes Teilwort v von w mit v m und w = svt für Wörter s,t Σ* gilt: v = xyz mit xy m und y > 0 sowie w(i) = sxy i zt für alle i 0 ebenfalls in L liegt. Diese zweite Variante des Pumping Lemmas ist eine Verallgemeinerung der ersten Variante, bei der ein beliebiges Teilwort ausreichender Länge ausgewählt werden kann, von dem nun wieder ein Teilwort beschränkter Länge beliebig aufgepumpt werden kann.

Pumping Lemma für reguläre Sprachen - Beispiele Zeigen Sie mit einer der beiden Variante des Pumping Lemmas für reguläre Sprachen, dass die folgenden formalen Sprachen nicht regulär sind. Aufgabe PLR A: L = { 0 n 1 m m n } Aufgabe PLR B: L = { 0 n 1 m n m }

Homomorphismus Seien Σ und Γ zwei Alphabete. Ein Homomorphismus ist eine Funktion h: Σ Γ*. Erweiterung auf Wörter über Σ: h(s 1...s n ) = h(s 1 )...h(s n ), wobei s 1,...,s n Symbole aus Σ sind. Homomorphes Bild einer Sprache L: h(l) = { h(w) w aus L}

Homomorphismus Beispiel 1 Sei L = { (a 3 b 3 ) n a k (c 7 d 8 ) n n 0 }. h: {a,b,c,d}* {a,b}* h(a) = ε, h(b) = a, h(c) = b, h(d) = ε. Homomorphes Bild der Sprache L: h(l) = { a 3n b 7n n 0} Ganz allgemein: Die Sprachen { a kn b mn n 0}, k,m >0, sind nicht regulär. Die Familie der regulären Sprachen ist gegenüber Homomorphismen abgeschlossen, daher kann auch L nicht regulär sein.

Homomorphismus Beispiel 2 Sei Σ ein Alphabet, L = { w Σ* w = v v R für ein v Σ* }. v R Spiegelbild von v Σ* v = s 1...s n, v R = s n...s 1, wobei s 1,...,s n Symbole aus Σ sind. h: Σ {a}*, h(x) = a für alle x aus Σ. Homomorphes Bild der Sprache L: h(l) = { a 2n n 0} (reguläre Sprache!)

Verallgemeinerte Sequentielle Maschinen generalized sequential machines Endliche Automaten mit Ausgabe, d.h. mit jedem eingelesenen Symbol wird ein Wort ausgegeben. Die bei der erfolgreichen Analyse von Eingabewörtern aus einer Sprache L erzeugten Ausgabewörter bilden die durch die gsm-abbildung erzeugte Sprache. p a/w q Beim Übergang vom Zustand p in den Zustand q wird ein Symbol a gelesen und das Wort w ausgegeben.

gsm Beispiel 1 Jeder Homomorphismus h ist eine gsm-abbildung: a/h(a) für alle a aus T M = ({q 0 },T,T,δ, q 0,{q 0 }) q 0 δ(q 0,a) = (q 0,h(a)) für alle a aus T Die Familie der regulären Sprachen ist abgeschlossen gegenüber gsm-abbildungen. Aus dem obigen Beispiel folgt sofort auch: Die Familie der regulären Sprachen ist abgeschlossen gegenüber Homomorphismen.

gsm Beispiel 2 gsm M bildet {0 n 10 n n 0} auf {a n b n n 0} ab. 0/a 1/ε 0/b q 0 q 1 M = ({q 0,q 1 },{0,1},{a,b},δ, q 0,{q 1 }) δ(q 0,0) = (q 0,a) δ(q 0,1) = (q 1,ε) δ(q 1,0) = (q 1,b) Die Familie der regulären Sprachen ist abgeschlossen gegenüber gsm-abbildungen, daher kann auch L nicht regulär sein, da {a n b n n 0} nicht regulär ist.

gsm - Aufgaben Konstruieren Sie eine gsm M, welche A) {0 2n 10 3n n 1} auf {a n b n n 1}, B) {0 2n 10 3n 10 4n n 0} auf {a 4n b 3n-1 c 64n+16 n 0}, C) {(a 3 b 5 ) 2n c 3n n 0} auf {a 16n b 81n n 1}, abbildet.

Komplement regulärer Sprachen L reg (Σ) ist abgeschlossen gegenüber Komplement bzgl. Σ* Konstruiere DEA M = (Q,Σ,δ,q 0,F) für L. Konstruiere daraus DEA M für Σ* - L: vertausche End- und Nichtendzustände M = (Q,Σ,δ,q 0,Q - F) Wichtig: Q enthält eventuelle Falle, d.h., Vollständigkeit der Übergangsfunktion ist wichtig!

Eigenschaften regulärer Sprachen L reg (Σ) ist abgeschlossen gegenüber Vereinigung Konkatenation Stern Plus-Operator (A + = AA*) Komplement bzgl. Σ* Durchschnitt (A B = (A c B c ) c ) Differenz (A - B = A B c ) Homomorphismen gsm-abbildungen A c bezeichnet das Komplement der formalen Sprache A bezüglich Σ*