• Keine Ergebnisse gefunden

Ernst W. Mayr

N/A
N/A
Protected

Academic year: 2021

Aktie "Ernst W. Mayr"

Copied!
22
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

SS 2006

Einf¨ uhrung in die Informatik IV

Ernst W. Mayr

Fakult¨ at f¨ ur Informatik TU M¨ unchen

http://www14.in.tum.de/lehre/2006SS/info4/

Sommersemester 2006

Info IV c

Ernst W. Mayr

(2)

3.3 ¨ Aquivalenz von NFA und DFA

Satz 30

F¨ ur jede von einem nichtdeterministischen endlichen Automaten akzeptierte Sprache L gibt es auch einen deterministischen endlichen Automaten M mit

L = L(M) .

Info IV 3.3 ¨Aquivalenz von NFA und DFA

c

Ernst W. Mayr 58/77

(3)

Beweis:

Sei N = (Q, Σ, δ, S, F ) ein NFA.

Definiere

1

M 0 := (Q 0 , Σ, δ 0 , q 0 0 , F 0 )

2

Q 0 := P(Q) \ {∅} (P (Q) Potenzmenge von Q)

3

δ 0 (Q 00 , a) := S

q

0

∈Q

00

δ(q 0 , a) f¨ ur alle Q 00 ∈ Q 0 , a ∈ Σ

4

q 0 0 := S

5

F 0 := {Q 00 ⊆ Q; Q 00 ∩ F 6= ∅}

Also

NFA N: Q Σ δ S F

DFA M 0 : 2 Q Σ δ 0 S F 0

Info IV 3.3 ¨Aquivalenz von NFA und DFA

c

Ernst W. Mayr 59/77

(4)

Es gilt:

w ∈ L(N ) ⇔ δ(S, w) ˆ ∩ F 6= ∅

⇔ δ b 0 (q 0 0 , w) ∈ F 0

⇔ w ∈ L(M 0 ).

Der zugeh¨ orige Algorithmus zur ¨ Uberf¨ uhrung eines NFA in einen DFA heißt Teilmengenkonstruktion, Potenzmengenkonstruktion oder Myhill-Konstruktion.

Info IV 3.3 ¨Aquivalenz von NFA und DFA

c

Ernst W. Mayr 60/77

(5)

3.4 NFA’s mit - ¨ Uberg¨ angen Definition 31

Ein (nichtdeterministischer) endlicher Automat A mit

- ¨ Uberg¨ angen ist ein 5-Tupel analog zur Definition des NFA mit δ : Q × (Σ ] {}) → P (Q) \ {∅} .

Ein - ¨ Ubergang wird ausgef¨ uhrt, ohne dass ein Eingabezeichen gelesen wird. Wir setzen o.B.d.A. voraus, dass A nur einen Anfangszustand hat.

q 0 q 1 q 2

0 1 0

Info IV 3.4 NFA’s mit- ¨Uberg¨angen

c

Ernst W. Mayr 61/77

(6)

Definiere f¨ ur alle a ∈ Σ

δ(q, a) := ˆ ¯ δ(q, a ) .

Satz 32

w ∈ L(A) ⇔ δ(S, w) ˆ ¯ ∩ F 6= ∅ .

Beweis:

Hausaufgabe!

Info IV 3.4 NFA’s mit- ¨Uberg¨angen

c

Ernst W. Mayr 62/77

(7)

3.5 Entfernen von - ¨ Uberg¨ angen Satz 33

Zu jedem nichtdeterministischen endlichen Automaten A mit - ¨ Uberg¨ angen gibt es einen nichtdeterministischen endlichen Automaten A 0 ohne - ¨ Uberg¨ ange, so dass gilt:

L(A) = L(A 0 )

Beweis:

Ersetze δ durch δ ¯ und F durch F 0 mit F 0 =

( F / ∈ L(A) F ∪ {q 0 } ∈ L(A)

Info IV 3.5 Entfernen von- ¨Uberg¨angen

c

Ernst W. Mayr 63/77

(8)

Beispiel 34

q 0 q 1 q 2

0 1 0

q 0 0, 1 q 1 0, 1 q 2

0 1 0

0, 1

Info IV 3.5 Entfernen von- ¨Uberg¨angen

c

Ernst W. Mayr 64/77

(9)

3.6 Endliche Automaten und regul¨ are Sprachen Zusammenfassend ergibt sich:

Satz 35

Die Familie der regul¨ aren Sprachen (Chomsky-3-Sprachen) ist identisch mit der Familie der Sprachen, die

von DFA’s akzeptiert/erkannt werden, von NFA’s akzeptiert werden,

von NFA’s mit - ¨ Uberg¨ angen akzeptiert werden.

Beweis:

Wie soeben gezeigt.

Info IV 3.6 Endliche Automaten und regul¨are Sprachen c

Ernst W. Mayr 65/77

(10)

3.7 Regul¨ are Ausdr¨ ucke

Regul¨ are Ausdr¨ ucke sollen eine kompakte Notation f¨ ur spezielle Sprachen sein, wobei endliche Ausdr¨ ucke hier auch unendliche Mengen beschreiben k¨ onnen.

Definition 36

Regul¨ are Ausdr¨ ucke sind induktiv definiert durch:

1

∅ ist ein regul¨ arer Ausdruck.

2

ist ein regul¨ arer Ausdruck.

3

F¨ ur jedes a ∈ Σ ist a ist ein regul¨ arer Ausdruck.

4

Wenn α und β regul¨ are Ausdr¨ ucke sind, dann sind auch (α), αβ, (α|β) (hierf¨ ur wird oft auch (α + β) geschrieben) und (α) regul¨ are Ausdr¨ ucke.

5

Nichts sonst ist ein regul¨ arer Ausdruck.

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 66/77

(11)

Zu einem regul¨ aren Ausdruck γ ist die zugeh¨ orige Sprache L(γ) induktiv definiert durch:

Definition 37

1

Falls γ = ∅, so gilt L(γ) = ∅.

2

Falls γ = , so gilt L(γ ) = {}.

3

Falls γ = a, so gilt L(γ ) = {a}.

4

Falls γ = (α), so gilt L(γ) = L(α).

5

Falls γ = αβ, so gilt

L(γ) = L(α)L(β ) = {uv; u ∈ L(α), v ∈ L(β)} .

6

Falls γ = (α | β), so gilt

L(γ ) = L(α) ∪ L(β) = {u; u ∈ L(α) ∨ u ∈ L(β )} .

7

Falls γ = (α) , so gilt

L(γ) = L(α) = {u 1 u 2 . . . u n ; n ∈ N 0 , u 1 , . . . , u n ∈ L(α)} .

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 67/77

(12)

Beispiel 38

Sei das zugrunde liegende Alphabet Σ = {0, 1}.

alle W¨ orter, die gleich 0 sind oder mit 00 enden:

(0 | (0 | 1) 00) alle W¨ orter, die 0110 enthalten:

(0|1) 0110(0|1)

alle W¨ orter, die eine gerade Anzahl von 1’en enthalten:

(0 10 1) 0

alle W¨ orter, die die Bin¨ ardarstellung einer durch 3 teilbaren Zahl darstellen, also

0, 11, 110, 1001, 1100, 1111, 10010, . . . Hausaufgabe!

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 68/77

(13)

Satz 39

Eine Sprache L ⊆ Σ ist genau dann durch einen regul¨ aren Ausdruck darstellbar, wenn sie regul¨ ar ist.

Beweis:

“= ⇒”:

Sei also L = L(γ ).

Wir zeigen: ∃ NFA N mit L = L(N ) mit Hilfe struktureller Induktion.

Induktionsanfang: Falls γ = ∅, γ = , oder γ = a ∈ Σ, so folgt die Behauptung unmittelbar.

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 69/77

(14)

Induktionsschritt:

γ = αβ:

nach Induktionsannahme ∃ NFA N α und N β mit L(N α ) = L(α) und L(N β ) = L(β) .

q 0 q

α,0

q

α,f

q

β,0

q

β,f

q f

N α N β

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 70/77

(15)

Induktionsschritt (Forts.):

γ = (α | β):

nach Induktionsannahme ∃ NFA N α und N β mit L(N α ) = L(α) und L(N β ) = L(β) .

q 0

q

α,0

q

α,f

q

β,0

q

β,f

q f

N α

N β

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 71/77

(16)

Induktionsschritt (Forts.):

γ = (α) :

nach Induktionsannahme ∃ NFA N α mit L(N α ) = L(α) .

q 0 q

α,0

q

α,f

q f N α

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 72/77

(17)

“⇐ =”:

Sei M = (Q, Σ, δ, q 0 , F ) ein deterministischer endlicher Automat.

Wir zeigen: es gibt einen regul¨ aren Ausdruck γ mit L(M ) = L(γ).

Sei Q = {q 0 , . . . , q n }. Wir setzen

R ij k :={w ∈ Σ ; die Eingabe w ¨ uberf¨ uhrt den im Zustand q i gestarteten Automaten in den Zustand q j , wobei alle zwischendurch durchlaufenen Zust¨ ande einen Index kleiner gleich k haben}

Behauptung: F¨ ur alle i, j ∈ {0, . . . , n} und alle k ∈ {−1, 0, 1, . . . , n} gilt:

Es gibt einen regul¨ aren Ausdruck α k ij mit L(α k ij ) = R k ij .

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 73/77

(18)

Bew.:

Induktion ¨ uber k:

k = −1: Hier gilt

R −1 ij :=

( {a ∈ Σ; δ(q i , a) = q j }, falls i 6= j {a ∈ Σ; δ(q i , a) = q j } ∪ {}, falls i = j

R −1 ij ist also endlich und l¨ asst sich daher durch einen regul¨ aren Aus- druck α −1 ij beschreiben.

Info IV c

Ernst W. Mayr 74/77

(19)

Bew.:

Induktion ¨ uber k:

k ⇒ k + 1: Hier gilt

R k+1 ij = R k ij ∪ R k i k+1 (R k k+1 k+1 ) R k k+1 j α k+1 ij = (α k ij | α k i k+1k k+1 k+1 ) α k k+1 j ) Somit gilt: L(M ) = L((α n 0 f

1

| α n 0 f

2

| · · · | α n 0 f

r

)), wobei f 1 , . . . , f r

die Indizes der Endzust¨ ande seien.

(Satz 39)

Info IV 3.7 Regul¨are Ausdr¨ucke

c

Ernst W. Mayr 74/77

(20)

3.8 Abschlusseigenschaften regul¨ arer Sprachen

Satz 40

Seien R 1 , R 2 ⊆ Σ regul¨ are Sprachen. Dann sind auch R 1 R 2 , R 1 ∪ R 2 , R 1 , Σ \ R 1 (=: ¯ R 1 ), R 1 ∩ R 2 regul¨ are Sprachen.

Beweis:

R 1 R 2 , R 1 ∪ R 2 , R 1 klar.

Σ \ R 1 : Sei R 1 = L(A), A DFA, A = (Q, Σ, δ, q 0 , F ), δ vollst¨ andig.

Betrachte A 0 = (Q, Σ, δ, q 0 , Q \ F ).

Dann ist L(A 0 ) = Σ \ L(A) R 1 ∩ R 2 : De Morgan

Info IV 3.8 Abschlusseigenschaften regul¨arer Sprachen c

Ernst W. Mayr 75/77

(21)

Definition 41

Substitution (mit regul¨ aren Mengen) ist eine Abbildung, die jedem a ∈ Σ eine regul¨ are Menge h(a) zuordnet. Diese Abbildung wird kanonisch auf Σ erweitert.

Ein Homomorphismus ist eine Substitution mit ∀a ∈ Σ : |h(a)| = 1

Satz 42

Regul¨ are Sprachen sind unter (regul¨ arer) Substitution,

Homomorphismus und inversem Homomorphismus abgeschlossen.

Info IV 3.8 Abschlusseigenschaften regul¨arer Sprachen c

Ernst W. Mayr 76/77

(22)

Beweis:

Wir zeigen (nur) die Behauptung f¨ ur den inversen Homomorphismus.

Sei h : ∆ → Σ ein Homomorphismus, und sei R ⊆ Σ regul¨ ar.

Zu zeigen: h −1 (R) ⊆ ∆ ist regul¨ ar.

Sei A = (Q, Σ, δ, q 0 , F ), L(A) = R.

Betrachte A 0 = (Q, ∆, δ 0 , q 0 , F ), mit

δ 0 (q, a) = δ(q, h(a)) ∀q ∈ Q, a ∈ ∆ ,

wobei wir nunmehr der Einfachheit halber statt ˆ δ nur δ schreiben.

Also gilt

δ 0 (q 0 , w) = δ(q 0 , h(w)) ∈ F ⇔ h(w) ∈ R ⇔ w ∈ h −1 (R)

Info IV 3.8 Abschlusseigenschaften regul¨arer Sprachen c

Ernst W. Mayr 77/77

Referenzen

ÄHNLICHE DOKUMENTE

Aufgabe 1 Verwenden Sie regul¨ are Ausdr¨ ucke, um die folgenden Mengen zu definieren. Zeigen Sie, dass regul¨ are Sprachen unter Anwendung von m ∗ abgeschlossen

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

das Pumping-Lemma zeigt, dass L nicht regul¨ ar ist. Beachte: L ist regul¨

(keine Variablen oder

– 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¨