• Keine Ergebnisse gefunden

Zentral¨ubung 16.05.2019: Regul¨are Ausdr¨ucke, Anwenden des Pumping-Lemmas

N/A
N/A
Protected

Academic year: 2021

Aktie "Zentral¨ubung 16.05.2019: Regul¨are Ausdr¨ucke, Anwenden des Pumping-Lemmas"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Sprachen und Komplexit¨at

Sommersemester 2019

Zentral¨ ubung 16.05.2019:

Regul¨ are Ausdr¨ ucke,

Anwenden des Pumping-Lemmas

Prof. Dr. David Sabel

LFE Theoretische Informatik

Letzte ¨Anderung der Folien: 16. Mai 2019

Aufgabe

Geben Sie regul¨are Ausdr¨ucke f¨ur jede der folgenden formalen Sprachen an, die genau die jeweilige formale Sprache erzeugen:

a) {u∈ {a, b} | |u|= 4} (a|b)(a|b)(a|b)(a|b)

b) {u∈ {a, b} | |u| ≤4} (ε|a|b)(ε|a|b)(ε|a|b)(ε|a|b) oder (ε|(a|b) |(a|b)(a|b)|(a|b)(a|b)(a|b)|(a|b)(a|b)(a|b)(a|b)) c) {u∈ {a, b} | |u| ≥4} (a|b)(a|b)(a|b)(a|b)(a|b) d) {u∈ {a, b} |u enth¨alt nichtbbbbals Teilwort}

(ε|b|bb|bbb)(a|ab|abb|abbb) oder(a|ba|bba|bbba)(ε|b|bb|bbb)

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 2/17

Daten

Geben Sie einen regul¨aren Ausdruck an, der die Sprache aller g¨ultigen Daten im Format TT-MM-JJJJ erzeugt, außer den 29.

Februar f¨ur Schaltjahre.

( (((0(1|...|9))|1(0|...|9)|2(0|...|8))(0(1|...|9))|1(0|1|2))

|29(01|03|04|05|06|07|08|09|10|11|12)

|30(01|03|04|05|06|07|08|09|10|11|12)

|31(01|03|05|07|08|10|12) )

(0|...|9)(0|...|9)(0|...|9)(0|...|9)

Aufgabe: Regul¨ arer Ausdruck → Endlicher Automat

Konstruieren Sie mit dem Verfahren aus der Vorlesung einen NFA mitε- ¨Uberg¨angen und eindeutigen Start- und Endzust¨anden, der als Sprache genau die durch den regul¨aren Ausdruck

ba(b|c) erzeugte Sprache akzeptiert.

b a

b

c ε

ε

ε ε

ε ε ε

ε ε

(2)

DFA → regul¨ arer Ausdruck

Wesentliche Ideen: Seien {z1, . . . , zn} die Zust¨ande des DFA, konstruiere regul¨are Ausdr¨ucke αki,j:

αki,j repr¨asentiert alle Worte, mit denen man im DFA vonzi zu zj kommt, ohne als Zwischenzustand einzr zu besuchen, mitr > k.

α0i,i ist(ε|a1|. . .|am)f¨ur alle ax ∈Σmitδ(zi, ax) =zi

α0i,j ist entweder (a1|. . .|am) f¨ur alleax∈Σmitδ(zi, ax) =zj oder

∅ (falls es kein solchesax gibt)

αk+1i,jki,jki,k+1kk+1,k+1)αkk+1,j

Sei z1 der Startzustand undzl, zl+1, . . . , zq die Endzust¨ande. Dann istαn1,l|. . .|αn1,q der zum DFA passende regul¨are Ausdruck.

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 5/17

Beispiel

z1 z5

z3

z2

z4

a a

b b b

a

b a, b

a, b

Durch Hinschauen?

z.B.aa(baa)a

Durch Kleene’s Konstruktion (ange- deutet und mit Hinschauen)

Wir brauchenα51,2:

α51,2 = α41,21,5445,5)α5,24

= ∅|α41,545,5)α45,2

= α41,545,5)α45,2

= a(ε|aba)aa

= a(aba)aa(Vereinfachung) α41,2 = ∅ (durch Hinschauen, jeder Weg

vonz1 zuz2mussz5benutzen) α41,5 = a (durch Hinschauen, Schleife

l¨auft ¨uberz5: geht nicht) α45,5 = ε|aba (weitere Schleifen laufen

durch z5: geht nicht) α45,2 = aa (durch Hinschauen, Schleife

l¨auft ¨uberz5: geht nicht)

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 6/17

Anwendung des Pumping-Lemmas

Pumping-Lemma:

Sprache regul¨ar =⇒ Sprache erf¨ullt die Pumping-Eigenschaft Zeige, dass eine Sprache nicht regul¨ar ist, durch Kontraposition:

Sprache erf¨ullt nichtdie Pumping-Eigenschaft

=⇒ Sprache ist nichtregul¨ar

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 7/17

Erf¨ ullt / erf¨ ullt nicht die Pumping-Eigenschaft

Formale Sprache L erf¨ullt die Pumping-Eigenschaft Es gibt eine Zahln∈N>0, sodass jedesWort z∈L, welches Mindestl¨ange nhat (d.h. |z| ≥n), als z=uvw geschrieben werden kann, so dass gilt:

|uv| ≤n

|v| ≥1

f¨ur alle i≥0:uviw∈L.

Formale Sprache L erf¨ulltnicht die Pumping-Eigenschaft:

F¨urjede Zahln∈N>0 gibt esein Wortz∈L mit|z| ≥n, sodass f¨ur jedeZerlegungz=uvw mit

|uv| ≤nund

|v| ≥1

ein i≥0existiert mituviw6∈L.

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 8/17

(3)

Anwendung des Pumping-Lemmas

Pumping-Lemma:

Sprache regul¨ar =⇒ Sprache erf¨ullt die Pumping-Eigenschaft Zeige, dass eine Sprache nicht regul¨ar ist, durch Kontraposition:

Sprache erf¨ullt nichtdie Pumping-Eigenschaft

=⇒ Sprache ist nichtregul¨ar Formale Sprache L erf¨ullt nichtdie Pumping-Eigenschaft:

F¨ur jedeZahln∈N>0 gibt esein Wortz∈L mit|z| ≥n, sodass f¨urjede Zerlegungz=uvw mit

|uv| ≤nund

|v| ≥1

ein i≥0 existiertmituviw6∈L.

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 9/17

Beispiel

Aufgabe

Zeigen Sie:L={ajbj|jN}ist nicht regul¨ar.

Korrekter Beweis:

1 Die ZahlnN>0sei beliebig gew¨ahlt (

vom Gegner“) SeinN>0vom Gegner gew¨ahlt

2 ahle ein WortzLmit|z| ≥n(wir suchen aus) Wir w¨ahlenz=anbnL.

3 Seiz=uvw beliebige Zerlegung mit|uv| ≤n,|v| ≥1(

vom Gegner“) Seizzerlegt inz=uvw mit|uv| ≤nund|v| ≥1

4 ur jede solche Zerlegung gebe einiNan mituviw6∈L(wir suchen aus) Dann istu=aj v=ak undw=albn mitk >0,j+k+l=nund damit uri= 0:uviw=an−1bn6∈L

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 10/17

Beispiel: Finde den Fehler

Sei L={anan|n∈N}.

Behauptung L ist nicht regul¨ar.

Beweis mit dem Pumping-Lemma:

Sein∈N>0 beliebig.

Wir w¨ahlenz=anan∈L.

Seiz=uvw mit|uv| ≤nundv≤1 eine Zerlegung vonz.

Dann istu=ad,v=ae, und w=an+n−d−e und e >1, d+e≤n. Dann ist uv0w=an−ean6∈L.

D.h. das Pumping-Lemma zeigt, dass Lnicht regul¨ar ist.

Beachte: List regul¨ar, z.B. wirdL durch den regul¨aren Ausdruck (aa) erzeugt!!!

Beispiel: L erf¨ ullt die Pumping-Eigenschaft

Satz

L={anan|n∈N} erf¨ullt die Pumping-Eigenschaft Beweis:

Sei n= 2.

Sei z∈Lmit|z| ≥n.

Wir zerlegenz=uvw mitu=ε,v=z[1]z[2],w der Suffix von zohne die ersten beiden Buchstaben.

Da z∈L, istz=ajaj und dann gilt:v=aa,w=aj−1aj−1. Daher gilt auch: uviw=aiaiaj−1aj−1=ai+j−1ai+j−1∈L f¨ur alle i∈N.

(4)

Aufgabe

Zeigen Sie mit dem Pumping-Lemma, dass die folgenden Sprachen nicht regul¨ar sind:

L1={w∈ {a, b} |#a(w) = #b(w)}

L2={anbbcm |n, m∈N, m > n}

L3={an$an|n∈N}

L4={w∈ {a, b} | |w|=n2 mitn∈N}

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 13/17

Satz

L1={w∈ {a, b}|#a(w) = #b(w)} ist nicht regul¨ar.

Beweis:

1 Die ZahlnN>0sei beliebig gew¨ahlt (

vom Gegner“).

SeinN>0beliebig.

2 ahle ein WortzL1mit |z| ≥n(wir suchen aus) Seiz=anbn(dann giltzL1und|z| ≥n)

3 Seiz=uvw beliebige Zerlegung mit|uv| ≤n,|v| ≥1(

vom Gegner“) Seiz=uvw mit|uv| ≤n,|v| ≥1eine Zerlegung vonz.

4 ur jede solche Zerlegung gebe einiNan mituviw6∈L1(wir suchen aus) Da|uv| ≤nund|v|>0giltv=akmitk >0und daher

uv0w=an−kbn6∈L1(d.h. f¨uri= 0giltuviw6∈L1)

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 14/17

Satz

L2={anbbcm|n, mN, m > n} ist nicht regul¨ar.

Beweis:

1 Die ZahlnN>0sei beliebig gew¨ahlt (

vom Gegner“).

SeinN>0beliebig.

2 ahle ein WortzL2mit|z| ≥n(wir suchen aus) Seiz=anbbcn+1 (dann giltzL2und|z| ≥n)

3 Seiz=uvwbeliebige Zerlegung mit|uv| ≤n,|v| ≥1(

vom Gegner“) Seiz=uvwmit|uv| ≤n,|v| ≥1eine Zerlegung von z.

4 ur jede solche Zerlegung gebe einiNan mituviw6∈L2(wir suchen aus) Da|uv| ≤nund|v|>0giltv=ak mitk >0und daher

uv3w=an+2kbbcn+16∈L2(d.h. f¨uri= 3giltuviw6∈L2)

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 15/17

Satz

L3={an$an|nN}ist nicht regul¨ar.

Beweis:

1 Die ZahlnN>0sei beliebig gew¨ahlt (

vom Gegner“).

SeinN>0beliebig.

2 ahle ein WortzL3mit |z| ≥n(wir suchen aus) Seiz=an$an (dann giltzL3 und|z| ≥n)

3 Seiz=uvw beliebige Zerlegung mit|uv| ≤n,|v| ≥1(

vom Gegner“) Seiz=uvw mit|uv| ≤n,|v| ≥1eine Zerlegung vonz.

4 ur jede solche Zerlegung gebe einiNan mituviw6∈L3(wir suchen aus) Da|uv| ≤nund|v|>0giltv=akmitk >0und daher

uv0w=an−k$an6∈L3(d.h. f¨uri= 0giltuviw6∈L3)

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 16/17

(5)

Satz

L4={w∈ {a, b}| |w|=n2mitnN} ist nicht regul¨ar.

Beweis:

1 Die ZahlnN>0sei beliebig gew¨ahlt (

vom Gegner“).

SeinN>0beliebig.

2 ahle ein WortzL4mit|z| ≥n(wir suchen aus) Seiz=an2 (dann giltzL4und|z| ≥n)

3 Seiz=uvwbeliebige Zerlegung mit|uv| ≤n,|v| ≥1(

vom Gegner“) Seiz=uvwmit|uv| ≤n,|v| ≥1eine Zerlegung von z.

4 ur jede solche Zerlegung gebe einiNan mituviw6∈L4(wir suchen aus) Dann istu=al, v=ak undw=an2−k−l, wobeik+lnundk >0.

Daher istuv0w=al+n2−k−l=an2−k, wobei|an2−k|=n2k.an2−k6∈L4, dan2kkeine Quadratzahl sein kann:

n2k < n2 (dak >0)

n2kn2n(dak+ln) undn2n=n(n1)>(n1)2 dahern2k >(n1)2

D.h. f¨uri= 0giltuviw6∈L4

TCS | Zentral¨ubung 16.05.2019 | SoSe 2019 17/17

Referenzen

ÄHNLICHE DOKUMENTE

Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher auch nicht regul¨ ar sein.... Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher auch nicht regul¨

Das Pumping-Lemma f¨ ur regul¨ are Sprachen besagt, dass es f¨ ur jede unendliche regul¨ are Sprache eine Grenze n gibt, so daß es zu jedem Wort w der Sprache, das mindestens die

Wir schliessen, dass L 2 das Pumping Lemma verletzt und deshalb nicht regul¨ar sein

– Two regular expressions may be concatenated; the resulting regular expression matches any string concatenating two substrings that match the subexpressions. – Two regular

– Auch f¨ur komplexere Strukturen als regul¨are Sprachen – G¨angig f¨ur die Beschreibung von Programmiersprachen.. Beispiel: Auszug der Grammatik

Matthias Makowski, Universit¨ at Konstanz Sommersemester 2013 Martin Franzen. Ubungen zur Vorlesung Elementare Differentialgeometrie ¨

In vielen F¨ allen m¨ ochte man, dass ein regul¨ arer Ausdruck an einer Stelle nicht auf ein besonderes Zeichen sondern auf eine ganze Menge von Zeichen passt.. Dies kann durch

Du kannst nach literalen Zeichenketten suchen und weisst, dass bei regul¨ aren Aus- dr¨ ucke standardm¨ assig Gross- und Kleinschreibung unterschieden werden.. Du kannst regul¨