Typ-3-Sprachen. Das Pumping-Lemma

Ähnliche Dokumente
Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc.

WS07/08 Automaten und Formale Sprachen 5. Vorlesung

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

Grundlagen der Theoretischen Informatik

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Die Nerode-Relation und der Index einer Sprache L

Theorie der Informatik

Theoretische Informatik I

Das Pumping-Lemma Formulierung

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

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände).

2.2 Reguläre Sprachen Endliche Automaten

Grenzen der Regularität

Das Pumping Lemma der regulären Sprachen

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

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

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

Satz (Abschluß unter der Stern-Operation)

Grundlagen der Theoretischen Informatik

Ein Fragment von Pascal

Grundlagen der Theoretischen Informatik

1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Informatik IV Theoretische Informatik

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

Das Pumping Lemma: Ein Anwendungsbeispiel

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b

4. Übung zur Vorlesung Informatik III am

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten

Minimalautomaten. Minimalautomaten. Frage: Ist der Äquivalenzautomat A der kleinste Automat ( Minimalautomat ) der die Sprache L(A) erkennt?

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

Theoretische Informatik

Grundlagen der theoretischen Informatik

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Theoretische Grundlagen der Informatik

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

Die mathematische Seite

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Grundlagen der theoretischen Informatik

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

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

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

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

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

Lösungen zu Übungsblatt 6

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

11. Übung Formale Grundlagen der Informatik

Zentralübung zur Vorlesung Theoretische Informatik

Informatik 3 Theoretische Informatik WS 2015/16

Ogden s Lemma: Der Beweis (1/5)

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten.

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundbegriffe. Grammatiken

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

Grundlagen der Theoretischen Informatik

Theoretische Informatik I (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. Das Pumping Lemma

Beweis des Pumping Lemmas

Informatik III - WS07/08

Informatik IV. Pingo Sommersemester Dozent: Prof. Dr. J. Rothe. J. Rothe (HHU Düsseldorf) Informatik IV 1 / 13

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

F2 Zusammenfassung Letzte Tips zur Klausur

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

Das Halteproblem für Turingmaschinen

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Automatentheorie und formale Sprachen rechtslineare Grammatiken

DisMod-Repetitorium Tag 4

Grundlagen der Theoretischen Informatik

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Schnitt- und Äquivalenzproblem

Automaten und Formale Sprachen SoSe 2013 in Trier

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

TU8 Beweismethoden. Daniela Andrade

Einführung in die Logik

10 Kellerautomaten. Kellerautomaten

Grundlagen der Theoretischen Informatik

Kurz-Skript zur Theoretischen Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Transkript:

Das Pumping-Lemma Typ-3-Sprachen Um zu zeigen, daß eine Sprache L regulär ist, kannman einen NFA M angeben mit L(M) = L, oder eine rechtslineare Grammatik G angeben mit L(G) =L, oder einen regulären Ausdruck γ angeben mit L(γ) = L, oder zeigen, daß L = L 1 L 2 ist und daß L 1 und L 2 regulär sind, oder zeigen, daß L = L 1 L 2 ist und daß L 1 und L 2 regulär sind, oder... WS 11/12 119

Aber wie kann man zeigen, daß eine Sprache nicht regulär ist? Beispiel Betrachte die kontextfreie Grammatik G mit den Produktionen S 0 S 1 S S ε Sie erzeugt z.b. die Wörter ε, 01, 0011, 0101, 001011. Die Sprache L(G) =Kl ist die Sprache der korrekten Klammerausdrücke (verstehe 0 als öffnende und 1 als schließende Klammer). Diese kontextfreie Sprache ist nicht regulär. Also gilt L 3 L 2. Aber wie kann man das zeigen? WS 11/12 120

Natürlich könnte man zeigen, daß L(M) = Kl für jeden NFA M gilt, oder zeigen, daß L(G) = Kl für jede rechtslineare Grammatik G gilt, oder zeigen, daß L(γ) = Kl für jeden regulären Ausdruck γ gilt, oder eine reguläre Sprache L angeben und zeigen (bzw. schon wissen), daß Kl L nicht regulär ist (denn der Schnitt zweier regulärer Sprachen ist wieder regulär, siehe Folie 98), oder... Z.B. ist a b ein regulärer Ausdruck. Wir werden sehen, daß der Schnitt Kl L(0 1 )={0 m 1 m m N} nicht regulär ist (Folie 126). Daraus folgt dann, daß die Sprache der korrekten Klammerausdrücke Kl nicht regulär ist und damit L 3 L 2. WS 11/12 121

größeres Ziel: Ein schönes Verfahren, mit dem man einfach zeigen kann, daß eine Sprache L nicht regulär ist. Idee: Man versucht auszunutzen, daß eine reguläre Sprache von einem Automat mit endlich vielen Zuständen akzeptiert werden muß. Das bedeutet auch: wenn ein Wort x L ausreichend lang ist, so besucht man damit beim Durchlauf durch den Automaten mindestens einen Zustand z zweimal. z WS 11/12 122

v u z w Die dadurch entstehende Schleife kann nun mehrfach (oder gar nicht) durchlaufen werden. Dadurch wird das Wort x = uvw aufgepumpt und man stellt fest, daß uw, uv 2 w, uv 3 w,...auchinl liegen müssen. Bemerkung: Es gilt v i = v...v. i-mal WS 11/12 123

v u z w Außerdem kann man für u, v, w folgende Eigenschaften verlangen: 1 v 1: Die Schleife ist auf jeden Fall nicht trivial, d.h., sie enthält mindestens einen Übergang. 2 uv n =AnzahlderZustände des NFA: Spätestens nach n Alphabetsymbolen wird der Zustand z das zweite Mal erreicht. WS 11/12 124

Pumping Lemma (M. Rabin, D. Scott 1964) Wenn L eine reguläre Sprache ist, dann gibt es n 1derart, daß für alle x L mit x n gilt: es gibt Wörter u, v, w Σ mit (i) x = uvw, (ii) uv n, (iii) v 1 und (iv) uv i w L für alle i 0. Dieses Lemma spricht nicht über Automaten, sondern nur über die Eigenschaften der Sprache. Daher ist es dazu geeignet, Aussagen über Nicht-Regularität zu machen. Wir zeigen zunächst an einem Beispiel, wie dies funktioniert: WS 11/12 125

Beispiel L 1 = {0 m 1 m m N} ist nicht regulär. Beweis: indirekt Angenommen, L 1 wäre regulär. Nach dem Pumping-Lemma gibt es ein n 1, so daß die folgende Aussage gilt: Für jedes x L 1, x n, gibt es u, v, w Σ mit (i), (ii), (iii) und (iv). Wir wählen nun x =0 n 1 n. Dann ist x L 1 und x =2n > n. Nach der Aussage (*) gibt es also u, v, w Σ mit (*) (i) x = uvw, (iii) v 1und (ii) uv n, (iv) uv i w L 1 für alle i 0. WS 11/12 126

uvw (i) = x = 00000000 0000 11111111 1111 n mal n mal Wegen uv n nach (ii) besteht uv nur aus Nullen. Insbesondere besteht v {0} nur aus Nullen. Also gilt uv 0 w = uw =0 n v 1 n. Aus v 1 nach (iii) folgt n v < n und damit uv 0 w =0 n v 1 n / L 1. Widerspruch zu (iv)! Also ist L 1 nicht regulär. WS 11/12 127

Beweis des Pumping-Lemmas: Sei L eine reguläre Sprache. Sei M =(Z, Σ, S,δ,E) einnfamitl = L(M), sein = Z. Sei nun x ein beliebiges Wort mit x L und x n, d.h.x = a 1 a 2 a m mit m n und a 1, a 2,...,a m Σ. Da x L(M), existieren Zustände z 0, z 1,...,z m Z mit z 0 S, z j δ(z j 1, a j )für 1 j m, z m E. Wegen Z = n m existieren nach dem Schubfachprinzip 0 j < k n mit z j = z k. Setze u = a 1 a j, v = a j+1 a k und w = a k+1 a m. WS 11/12 128

Dann gilt: (i) x = a 1 a j a j+1 a k a k+1 a m = uvw (ii) uv = a 1 a k = k n (iii) v = k (j + 1) + 1 = k j > 0(daj < k) (iv) Sei i 0 beliebig. Es gelten z j ˆδ(z 0, u), z j = z k ˆδ(z j, v) und z m ˆδ(z k, w) E. Also gilt z j ˆδ(z j, v i )für alle i N. Damit erhält man aber z m ˆδ(z 0, uv i w) E, d.h.,uv i w L(M) =L. WS 11/12 129

Beispiel L 2 = {0 m2 m N} ist nicht regulär. Beweis: indirekt Angenommen, L 2 wäre regulär. Nach dem Pumping-Lemma gibt es ein n 1, so daß die folgende Aussage gilt: Für jedes x L 2, x n, gibt es u, v, w Σ mit (i), (ii), (*) (iii) und (iv). Wir wählen nun x =0 n2. Dann ist x L 2 und x = n 2 n. Nach der Aussage (*) gibt es also u, v, w Σ mit (i) x = uvw, (iii) v 1und (ii) uv n, (iv) uv i w L 2 für alle i 0. WS 11/12 130

uvw (i) = x = 00000000 0000 n 2 mal Wegen 1 v nach (iii) und uv n nach (ii) gilt 1 v n. Es gilt uv 2 w =0 u 0 v 0 v 0 w =0 x + v =0 n2 + v. Aus n 2 < n 2 + v n 2 + n < (n + 1) 2 folgt, daß n 2 + v keine Quadratzahl ist, also daß uv 2 w / L 2 gilt. Widerspruch zu (iv)! Also ist L 2 nicht regulär. WS 11/12 131

Unsere Beweise, daß L 1 und L 2 nicht regulär sind, folgten dem folgenden Schema: Behauptung: Die Sprache L ist nicht regulär. [0] (wörtlich) Beweis: indirekt. Angenommen, L wäre regulär. Nach dem Pumping-Lemma gibt es ein n 1, so daß die folgende Aussage (*) gilt: Für jedes x L, x n, gibt es u, v, w Σ mit (i)-(iv). [1] (problemspezifisch) Wirwählen ein geeignetes x L mit x n, so daß Schritt [3] ausführbar ist. [2] (wörtlich) Nach der Aussage (*) gibt es u, v, w Σ mit (i) (iv). [3] (problemspezifisch) Wirwählen zu u, v, w ein passendes i 0 und zeigen, daß uv i w nicht in L sein kann. [5] (wörtlich) Widerspruchzu(iv). WS 11/12 132

Dieses Beweisschema ist die Umsetzung der folgenden Formulierung des Pumping-Lemmas mit logischen Operatoren: L regulär n x L mit x n u, v, w mit (i iii) i : uv i w L Erinnerung Logische Strukturen : A B B A und xf x F und xf x F. Das Pumping-Lemma ist also logisch äquivalent zu: n x L mit x n u, v, w mit (i-iii) i : uv i w L L ist nicht regulär WS 11/12 133

Diese Umformulierung können wir auch in dem folgenden Spielschema fassen: Wir (die Beweiser oder Braven) wollen zeigen, daß die Sprache L nicht regulär ist. Dazu müssen wir das folgende Spiel (gegen den Gegner oder den Gemeinen) gewinnen: Runde 1 G wählt eine Zahl n 1. Runde 2 B wählt ein x L mit x n Runde 3 G wählt u, v, w mit (i) x = uvw, (ii) uv n und (iii) v 1. Runde 4 B wählt ein i und zeigt, daß uv i w / L. Die Sprache L ist nicht regulär, falls B unabhängig von den Wahlen von G in Runden 1 und 3 immer so wählen kann (in Runden 2 und 4), daß schließlich uv i w / L gilt. WS 11/12 134

Beispiel L 3 = {0 m 10 10 m+ m, N} ist nicht regulär. Beweis: wir zeigen, daß B im Spielschema immer so wählen kann, daß uv i w / L 3 gilt: Runde 1 G wählt eine Zahl n 1. Runde 2 B wählt x =0 n 110 n (natürlich gelten x L 3 und x n) Runde 3 G wählt u, v, w mit (i) x = uvw, (ii) uv n und (iii) v 1. Runde 4 B wählt i = 0 und zeigt, daß uv i w / L 3 : x beginnt mit genau n uv Nullen. Also besteht v nur aus Nullen. Damit ergibt sich uv i w =0 n v 110 n / L 3,denn v 1impliziertn v = n. Also kann B so wählen, daß uv i w / L 3,d.h.,L 3 ist tatsächlich nicht regulär. WS 11/12 135

Beispiel Typ-3-Sprachen L 4 = {0 p p ist eine Primzahl} ist nicht regulär. Beweis: wir zeigen, daß B im Spielschema immer so wählen kann, daß uv i w / L 4 gilt: Runde 1 G wählt eine Zahl n 1. Runde 2 B wählt x =0 p für eine Primzahl p n +2(natürlich gelten x L 4 und x n) Runde 3 G wählt u, v, w mit (i) x = uvw, (ii) uv n und (iii) v 1. Runde 4 B wählt i = uw und zeigt, daß uv i w / L 4 : Damit erhalten wir uv i w = uw + i v = uw + uw v = uw (1 + v ). Es gelten uw w 2nach(ii)und 1 + v 2nach(iii). Also ist uv i w keine Primzahl, d.h. uv i w / L 4. Also kann B so wählen, daß uv i w / L 4,d.h.,L 4 ist tatsächlich nicht regulär. WS 11/12 136

Vorsicht! Das Pumping-Lemma hat die Form Wenn L regulär ist, so gilt..., es handelt sich also nur um eine Implikation. Wir zeigen, daß die umgekehrte Implikation nicht gilt: Beispiel Sei L = {a k b c k 1, N} {b k c k, N}. Dann ist L nicht regulär, es gibt aber n 1, so daß sich jedes x L mit x n in uvw faktorisieren läßt mit (i)-(iv). Beweis: Zunächst zeigen wir indirekt, daß L nicht regulär ist: Angenommen, L wäre regulär. Da L(ab c ) regulär ist, wäre dann auch L L(ab c )={ab c N} regulär (Folie 98). Man zeigt analog zum Beweis auf Folie 126, daß dies nicht der Fall ist. WS 11/12 137

Sei n = 1. Sei nun x L beliebig mit x n = 1. Wir faktorisieren x, indemwirsetzen:u = ε, v = erster Buchstabe von x, w = Rest von x. Sei i N beliebig. Wir zeigen uv i w L durch Fallunterscheidung: 1. Fall: v = a. Dann existieren k, N mit x = aa k b c. Es folgt uv i w = a i a k b c L 2. Fall v = b. Dann existieren k, N mit x = bb k c. Es folgt uv i w = b i b k c L 3. Fall v = c. Dann existiert N mit x = cc. Es folgt uv i w = c i c L WS 11/12 138

Zusammenfassung Pumping-Lemma Das Pumping-Lemma kann genutzt werden, um zu zeigen, daß eine Sprache nicht regulär ist (z.b. mit Hilfe des Spielschemas). Es gibt aber nichtreguläre Sprachen, deren Nichtregularität andere Argumente verlangt. Insbesondere kann das Pumping-Lemma nicht genutzt werden, um die Regularität einer Sprache L zu zeigen. Hinweis: Jaffe (1978) bzw. Stanat und Weiss (1982) haben die regulären Sprachen im Stile des Pumping-Lemmas charakterisiert (die entsprechenden Arbeiten finden Sie auf der Vorlesungsseite im Netz). WS 11/12 139