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
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
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
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
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
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
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
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
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
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
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
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
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
Induktionsschritt:
γ = αβ:
nach Induktionsannahme ∃ NFA N α und N β mit L(N α ) = L(α) und L(N β ) = L(β) .
q 0 q
α,0q
α,fq
β,0q
β,fq f
N α N β
Info IV 3.7 Regul¨are Ausdr¨ucke
c
Ernst W. Mayr 70/77
Induktionsschritt (Forts.):
γ = (α | β):
nach Induktionsannahme ∃ NFA N α und N β mit L(N α ) = L(α) und L(N β ) = L(β) .
q 0
q
α,0q
α,fq
β,0q
β,fq f
N α
N β
Info IV 3.7 Regul¨are Ausdr¨ucke
c
Ernst W. Mayr 71/77
Induktionsschritt (Forts.):
γ = (α) ∗ :
nach Induktionsannahme ∃ NFA N α mit L(N α ) = L(α) .
q 0 q
α,0q
α,fq f N α
Info IV 3.7 Regul¨are Ausdr¨ucke
c
Ernst W. Mayr 72/77
“⇐ =”:
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
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
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+1 (α k 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
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
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
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