• Keine Ergebnisse gefunden

Entscheidungsprobleme f¨ ur regul¨ are Sprachen

N/A
N/A
Protected

Academic year: 2022

Aktie "Entscheidungsprobleme f¨ ur regul¨ are Sprachen"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kap. 2: Endliche Automaten Myhill–Nerode 2.4

Minimierung eines gegebenen DFA

wie kann man redundante Zust¨ande erkennen/eliminieren?

• zun¨achst eliminiere alle nicht erreichbaren Zust¨ande

• dann: q 6∼q0 wesentlich verschieden, wenn

f¨ur einx ∈Σ nicht(ˆδ(q,x)∈A)↔(ˆδ(q0,x)∈A)

• Zusammenfassung von ∼-Klassen von Zust¨anden liefert minimierten DFA, isomorph zum Minimalautomat algorithmisch: induktive Verfeinerung

Tests f¨urx der L¨angei= 0,1, . . . q 6∼0 q0 gdw. nicht(q ∈A)⇔(q0∈A)

q 6∼i+1 q0 gdw. q6∼i q0 oder (∃a∈Σ)δ(q,a)6∼i δ(q0,a) sobald∼i+1=∼i (=:∼), fasse Zust¨ande in ∼-Klassen zusammen

FGdI I Sommer 2010 M Otto 77/136

Kap. 2: Endliche Automaten pumping lemma 2.5

Das “pumping lemma”

→ Abschnitt 2.5

Pumping Lemma (Lemma 2.5.2)

L⊆Σ regul¨ar ⇒

existiertn∈Nsodass sich jedesx ∈Lmit|x|>n zerlegen l¨asst in x =uvw,v 6=ε,|uv|6n und f¨ur allem∈N

u·vm·w =u·v· · ·v

| {z }

mmal

·w ∈L

Beweis: L=L(A), DFAA= (Σ,Q,q0, δ,A), n:=|Q|

|x|>n: existiert Zustandswiederholungqi =qj =q im Lauf auf x: x = a1 . . . ai ai+1 . . . aj aj+1 . . . a`

| {z }

u | {z }

v

l¨asst sich pumpen

| {z }

w

↑ q0

↑ q

↑ q

FGdI I Sommer 2010 M Otto 78/136

Kap. 2: Endliche Automaten pumping lemma 2.5

Beispiele nicht-regul¨ arer Sprachen

L={anbn:n∈N} f¨ura,b ∈Σ,a6=b

L={w ∈ {(,)}:w korrekte Klammerschachtelung } Palindrom={w ∈Σ:w =w−1} f¨ur|Σ|>2

L={u#v#w:u,v,w ∈ {0,1},u+v =w (bin¨are Addition)} Nachweis: Pumping Lemma!

FGdI I Sommer 2010 M Otto 79/136

Kap. 2: Endliche Automaten Effektivit¨at 2.6

Algorithmische Entscheidungsprobleme

→ Abschnitt 2.6 Entscheidungsproblem (ja/nein Problem)

spezifiert durch

• Menge von zugelassenen Eingaben x ∈I (Instanzen)

• Teilmenge D⊆I der positiven Instanzen (Antwort “ja”) d.h.: wohldefinierte ja/nein Antwort f¨ur allex ∈I

****

****

****

****

****

**

D

“ja”

I I\D

“nein”

Entscheidungsproblem:

gegebenx ∈I entscheide, ob x ∈D

FGdI I Sommer 2010 M Otto 80/136

(2)

Kap. 2: Endliche Automaten Effektivit¨at 2.6

Entscheidungsprobleme f¨ ur regul¨ are Sprachen

Beispiele Wortproblem zu SpracheL⊆Σ:

f¨ur w ∈Σ entscheide obw ∈L I = Σ,D =L

Leerheitsproblem:

f¨ur DFAA entscheide obL(A) =∅ I ={A:A DFA},D ={A:L(A) =∅}

analog mit I =REG(Σ)

Sprachgleichheit/Automaten¨aquivalenz:

f¨ur α, β∈REG(Σ) entscheide ob L(α) =L(β) I = REG(Σ)2

,D ={(α, β)∈(REG(Σ))2:L(α) =L(β)}

analog f¨ur DFA/NFA

FGdI I Sommer 2010 M Otto 81/136

Kap. 2: Endliche Automaten Effektivit¨at 2.6

das Wichtigste aus Kapitel 2

regul¨are Sprachen

REG DFA NFA

Abschlusseigenschaften / Automatenkonstruktionen Satz von Kleene

Satz von Myhill-Nerode

Pumping Lemma f¨ur regul¨are Sprachen Minimalautomat

FGdI I Sommer 2010 M Otto 82/136

Kapitel 3: Grammatiken

Chomsky Hierarchie: Komplexit¨ atsniveaus f¨ ur formale Sprachen

Noam Chomsky (geb. 1928)

Kap. 3: Grammatiken Grammatiken 3.1

Grammatiken

→ Abschnitt 3.1

Idee: Spezifikation einer Sprache durch Erzeugungsprozess G = Σ,V,P,X0

Σ Terminalalphabet,

V endliche Menge vonVariablen,V ∩Σ =∅ X0 ∈V Startvariable/Startsymbol

P endliche Menge vonProduktionen/Regeln P ⊆(V ∪Σ)+×(V ∪Σ)

(v,v0)∈P eine Produktion/Regel vonG

Regel

v → v

0

linke Seite: v ∈(V ∪Σ)+= (V ∪Σ)\ {ε}

rechte Seite: v0 ∈(V ∪Σ) erlaubt in (V ∪Σ)-W¨ortern

Ersetzung von v durch v0 Ubergang von¨ uvw nachuv0w

(3)

Kap. 3: Grammatiken Grammatiken 3.1

Ableitbarkeit

zu Produktionenv →v0 inP: uvw →G uv0w

direkter Ableitungsschritt inG zwei Ableitbarkeitsrelationen ¨uber (Σ∪V):

1-Schritt Ableitbarkeit, →G:

x →G x0 :⇔ x =uvw, x0 =uv0w wobei (v,v0)∈P Ableitbarkeit, →G:

x →G x0 :⇔

es existiert ein→G-Pfad vonx nachx0: x =x1G x2G . . .→G xn =x0.

“endliche Iteration von →G”: reflexiver transitiver Abschluss

• w ∈(Σ∪V) ableitbar in G gdw.X0G w

• L(G) =

w ∈Σ:X0G w die von G erzeugteΣ-Sprache

FGdI I Sommer 2010 M Otto 85/136

Kap. 3: Grammatiken Grammatiken 3.1

Beispiel

Beispiel 3.1.3

Palindrom (3.1.3) z.B. Σ ={0,1},

G = (Σ,V,P,X) mit V ={X}und Produktionen P : X →ε

X →a f¨ur jedesa∈Σ X →aXa f¨ur jedesa∈Σ

erzeugt die Σ-Sprache der Σ-Palindrome (w ∈Σ:w =w−1) beachte: nicht regul¨ar

FGdI I Sommer 2010 M Otto 86/136

Kap. 3: Grammatiken Grammatiken 3.1

Beispiele

Beispiele 3.1.4

korrekte Klammerungen (3.1.4)

Σ ={(,)},G = (Σ,V,P,X) mitV ={X} und Produktionen P : X →( )

X →(X) X →XX

erzeugt die Sprache der korrekt geschachtelten

nicht-leeren Klammerw¨orter [Induktionsbeweis!]

beachte: nicht regul¨ar

FGdI I Sommer 2010 M Otto 87/136

Kap. 3: Grammatiken Grammatiken 3.1

Beispiele: regul¨ are Sprachen

Beispiel 3.1.7 jede regul¨are Sprache wird auch von einer Grammatik erzeugt.

Trick: ¨ubersetze NFAA= (Σ,Q,q0,∆,A) in Grammatik:

GA:= (Σ,V,P,X0)









V :=

Xq:q∈Q , X0 := Xq0,

P : Xq →aXq0 f¨ur (q,a,q0)∈∆ Xq →ε f¨urq ∈A dann ist

L = L(A) = L(G

A

):

Ableitungen inG simulieren

akzeptierende Berechnungen vonA

FGdI I Sommer 2010 M Otto 88/136

(4)

Kap. 3: Grammatiken Grammatiken 3.1

Beispiel anbn (3.1.10)

Σ ={a,b},G = (Σ,V,P,X),V ={X}, P : X →ε

X →aXb

erzeugt die Sprache

L = {a

n

b

n

: n ∈ N }.

nicht regul¨ar

Beispiel anbncn (3.1.11)

Σ ={a,b,c},G = (Σ,V,P,X),V ={X,Y,Z},X0=X,

P : X →ε aY →ab

X →aXYZ bY →bb ZY →YZ bZ →bc cZ →cc

erzeugt die Sprache

L = {a

n

b

n

c

n

: n ∈ N }.

nicht regul¨ar

FGdI I Sommer 2010 M Otto 89/136

Kap. 3: Grammatiken Grammatiken 3.1

Beispiel

Ubung 3.1.5¨

Baumdarstellung von Ableitungsschritten Σ ={+,·,(,),0,1}

G = (Σ,{X},P,X): Baum zu ((0·1) + 1)∈L(G):

P : X →0 (1)

X →1 (2)

X →(X+X) (3) X →(X·X) (4)

X

(3)

(X +X)

xxrrrrrr(4)rr

(2)GGGGGGG##

G

(X ·X)

{{wwwwww(1)w

(2)NNNNNNNN&&

NN 1

0 1

FGdI I Sommer 2010 M Otto 90/136

Kap. 3: Grammatiken Grammatiken 3.1

Backus-Naur Form, BNF

(Kompaktschreibweise) v → v10

v20 . . .

vn0 anstelle von v →v10 ... v →vn0 lies “|” als “oder”; oft auch ::= anstelle von →

erweiterte BNF, EBNF weitere eliminierbare Abk¨urzungen z.B. X → u[v]w f¨ur X →uw

uvw

“v kannzwischen u und w eingef¨ugt werden”

z.B.

X → u{v}w f¨ur X → uw

uZw [Z neu!]

Z → ZZ v

“jedes v0 ∈ {v} kann zwischenu undw eingef¨ugt werden”

Kap. 3: Grammatiken Chomsky-Hierarchie 3.2

Chomsky-Hierarchie

→ Abschnitt 3.2

Klassifikation von Grammatiken (und Sprachen)

X,Y Variablen inV,a∈Σ,v,v0∈(Σ∪V) regul¨ar, Typ 3

Produktionenrechtslinear: X →ε,X →a ,X →aY kontextfrei, Typ 2

alle Produktionen haben als linke Seite

eine einzelneVariable: X →v

kontextsensitiv, Typ 1

alle Produktionennicht verk¨urzend: v →v0,|v0|>|v| bis auf ggf. eineharmlose ε-Produktion

allgemein, Typ 0

allgemeinste von Grammatik erzeugte Sprachen (!)

(5)

Kap. 3: Grammatiken Chomsky-Hierarchie 3.2

regul¨ are Grammatiken – endliche Automaten

Satz 3.2.7 regul¨are Grammatiken charakterisieren regul¨are Sprachen L⊆Σ regul¨ar gdw. L=L(G) f¨ur eine regul¨are Grammatik G. Beweis:

“⇐”: NFA aus Typ 3 GrammatikG = (Σ,V,P,X0) mit ProduktionenX →aY undX →ε

(zur Vorbereitung: ersetzeX adurchX aZ undZ ε,Z neu) Ableitung X0G a1X1G · · · →G a1. . .anXnG a1. . .an simuliert durchA:= Σ,V,X0,∆,A

mit

∆ =

(X,a,X0) :X →aX0∈P , A=

X:X →ε∈P

FGdI I Sommer 2010 M Otto 93/136

Kap. 3: Grammatiken Chomsky-Hierarchie 3.2

regul¨ ar ⇒ kontextfrei ⇒ kontextsensitiv

Beobachtung 3.2.5

• offensichtlich: Jede regul¨are Grammatik ist kontextfrei.

• ebenso: G kontextfrei

ohne ε-Produktionen

oder mit harmloserε-Produktion

⇒ G kontextsensitiv.

• kontextfreiesG mit ε-Produktionen

¨

aquivalentzu kontextfreiemG0 mitharmloserε-Produktion.

Begr.: (Lemma 3.2.4) o.B.d.A. hatG X0 nur als Startsymbol.

– f¨ur X →uYv mitY →G εnehmeX →uv hinzu – entferne alle ε-Produktionen, bis auf X0→ε

FGdI I Sommer 2010 M Otto 94/136

Kap. 3: Grammatiken Chomsky-Hierarchie 3.2

Chomsky-Hierarchie

regul¨ar ⇒ kontextfrei ⇒ kontextsensitiv

Typ 3 ⊆ Typ 2 ⊆ Typ 1 ⊆ Typ 0 ⊆ beliebige Sprachen wir werden sehen: alle Inklusionen echt / strikte Hierarchie trennende Beispiele (die wir schon kennen):

kontextfrei, nicht-regul¨ar: {anbn:n∈N} Palindrom

korrekte Klammerungen kontextsensitiv, nicht kontextfrei: {anbncn:n∈N}

noch zu zeigen Methoden f¨ur Nachweis der Nicht-Zugeh¨origkeit:

vgl. Pumping Lemma (f¨ur Typ 3; Variante f¨ur Typ 2: siehe unten) allgemein: aus Analyse der einzelnen Klassen

FGdI I Sommer 2010 M Otto 95/136

Kap. 3: Grammatiken Chomsky-Hierarchie 3.2

a

n

b

n

c

n

ist kontextsensitiv

Beispiel 3.1.11 modifizieren: anbncn kontextsensitiv Σ ={a,b,c}

G = (Σ,V,P,X) V ={X,Y,Z}

P : X →ε X →aXYZ ZY →YZ

aY →ab bY →bb bZ →bc cZ →cc

G0 = (Σ,V,P,X0) V ={X0,X,Y,Z}

P : X0 →X |ε X →aXYZ |aYZ ZY →YZ

aY →ab bY →bb bZ →bc cZ →cc erzeugen beide die SpracheL={anbncn:n∈N}.

G0 ist kontextsensitiv (nur harmloseε-Produktion!).

FGdI I Sommer 2010 M Otto 96/136

(6)

Kap. 3: Grammatiken Kontextfreie 3.3

kontextfreie Sprachen (Typ 2)

→ Abschnitt 3.3

• wichtige n¨achste Stufe nach regul¨ar

• zul¨assige Produktionen bei Typ 2,ε6∈L: X →v, v 6=ε Versch¨arfung: Chomsky-Normalform: X →YZ undX →a Satz: jede Typ 2 Grammatik ohneε-Produktionen

ist ¨aquivalent zu Chomsky NF Grammatik

Beweisidee zur Transformation in Chomsky NF (Satz 3.3.2):

– ersetze aauf rechten Seiten durch neues Za neue Produktionen Za→a

– eliminiere X →Y Produktionen (durch shortcuts) – eliminiere X →Y1. . .Yk Produktionen f¨urk >2

FGdI I Sommer 2010 M Otto 97/136

Kap. 3: Grammatiken Kontextfreie 3.3

Chomsky NF und bin¨ are B¨ aume

Ableitungsschritt X →YZ bin¨are Verzweigung X →a keine Verzweigung

X

vvnnnnnnnnnnn

@

@@

@@ Y

~~|||||

A

AA

AA Z

Y0

Z0

a a0 a00

Ableitungsbaum mit innerenKnotenf¨ur X in X →YZ Anwendungen

Lemma 3.3.3

in Chomsky NF GrammatikG:

w ∈L(G) hat Ableitung der L¨ange 2|w| −1.

Beweise induktiv ¨uber L¨ange `

der Ableitung vonw ∈(V ∪Σ)+

|w |

V

+ 2|w|

Σ

= ` + 1

FGdI I Sommer 2010 M Otto 98/136

Kap. 3: Grammatiken Kontextfreie 3.3

kontextfreie Sprachen: Abschlusseigenschaften

Abschluss unter Vereinigung, Konkatenation, Stern

(Satz 3.3.7) Zu gegebenen Typ 2 Grammatiken f¨urL1,L2,Lfinde explizit Typ 2 Grammatiken f¨urL1∪L2, f¨ur L1·L2, bzw. f¨urL

z.B.: seien G(i)= (Σ,V(i),P(i),X0(i)) kontextfrei,V(1)∩V(2)=∅ G = (Σ,V,P,X0) mitL(G) =L(G(1))·L(G(2)):

V := V(1)∪V(2)∪ {X0} X0 neu P := {X0→X0(1)X0(2)} ∪ P(1) ∪ P(2) kein Abschluss unter Durchschnitt/Komplement!

→ sp¨ater

Kap. 3: Grammatiken Kontextfreie 3.3

noch ein Pumping Lemma

→ Abschnitt 3.3.3 L⊆Σ kontextfrei ⇒

existiertn∈Nsodass sich jedesx ∈Lmit|x|>n zerlegen l¨asst in x =yuvwz,uw 6=ε,|uvw|6n, und f¨ur alle m∈N

y ·um·v ·wm·z =y ·u· · ·u

| {z }

mmal

·v ·w· · ·w

| {z }

mmal

·z ∈L.

Beweis(Satz 3.3.8):

L=L(G),G in Chomsky NF,n:= 2|V|. F¨urx ∈L(G),|x|>n, hat jeder

Ableitungsbaum zwei geschachtelte Vorkommen desselbenX

Findeuvw wie in Skizze

//////////////

////////

X

•X

//////

/////

| {z }

u | {z }

v | {z }

w

| {z }

v0

Beispiel: {anbncn:n ∈N}nicht kontextfrei

Referenzen

ÄHNLICHE DOKUMENTE

Zeigen Sie f¨ ur die Menge M PL der regul¨ aren Sprachen, die bereits mittels (einfacher) Pr¨ adikatenlogik definierbar ist, die Abschlusseigenschaf- ten unter Vereinigung,

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

regul¨ are Grammatiken – endliche Automaten Satz 3.2.7 regul¨ are Grammatiken charakterisieren regul¨ are Sprachen L ⊆ Σ ∗

Platonische K¨ orper (regul¨ are Polyeder). Name Punkt-

– 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

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¨