Professional Documents
Culture Documents
Beispiel 1
Abbildung: TCP
Beispiel 2
Beispiel 3
Abbildung: DHCP
Beispiel 5
2014 +
L R
Endliche Automaten
Definition
Ein deterministischer endlicher Automat (kurz DFA fur deterministic
finite automaton) ist ein Quintupel M = (, Z , , z0 , F ), wobei
ein Alphabet ist,
Z eine endliche Menge von Zustanden mit Z = ,
: Z Z die Uberfuhrungsfunktion,
z0 Z der Startzustand und
F Z die Menge der Endzustande (Finalzustande).
Endliche Automaten
= {0, 1} z0 z1 z2 z3
Z = {z0 , z1 , z2 , z3 } : 0 z1 z3 z2 z3
F = {z2 } 1 z3 z2 z2 z3
x= a Eingabewort
Lesekopf
Programm:
M Zustand berfhrungsfunktion
z
z0 0 z1 1 z2
0
1
z3
0,1
Definition
Sei M = (, Z , , z0 , F ) ein DFA. Die erweiterte Uberfuhrungsfunktion
b : Z Z von M ist induktiv definiert:
b ) = z
(z,
b ax) = ((z,
(z, b a), x)
L(M) = {w (z
b 0 , w) F }.
Bemerkung:
Fur a gilt (z,
b a) = (z, a), und
fur x = a1 a2 an in gilt:
b x) = ( ((z, a1 ), a2 ) , an ).
(z,
z0 0 z1 1 z2
0
1
z3
0,1
z0 0 z1 1 z2
0
1
z3
0,1
z0
Beispiel:
(, {z0 }, , z0 , )
z0
Theorem
Jede von einem DFA akzeptierte Sprache ist regular (d.h. vom Typ 3).
z0 0 z1 1 z2
= {0, 1}
N = {z0 , z1 , z2 , z3 } 0
1
S = z0 z3
P = { z0 0z1 | 1z3
0,1
z1 0z3 | 1z2 | 1
z2 0z2 | 1z2 | 0 | 1
z3 0z3 | 1z3 }
Definition
Ein nichtdeterministischer endlicher Automat (kurz NFA) ist ein
Quintupel M = (, Z , , S, F ), wobei
ein Alphabet ist,
Z eine endliche Menge von Zustanden mit Z = ,
: Z P(Z ) die Uberfuhrungsfunktion (hier: P(Z ) ist die
Potenzmenge von Z , also die Menge aller Teilmengen von Z ),
S Z die Menge der Startzustande und
F Z die Menge der Endzustande (Finalzustande).
z0 1 z1 0,1 z2 0,1 z3
Definition
Die erweiterte Uberfuhrungsfunktion b : P(Z ) P(Z ) von M ist
induktiv definiert:
b 0 , ) = Z 0
(Z
[
b 0 , ax) =
(Z ((z,
b a), x)
zZ 0
L(M) = {w (S,
b w) F 6= }.
z0 1 z1 0,1 z2 0,1 z3
Beispiel: NFA M
bei Eingabe von 0111:
b 0 }, 0111) = ((z
({z b 0 , 0), 111) = ({z0 }, 111)
b
0,1 0,1
z0 1 z1 0,1 z2 0,1 z3
Beispiel: NFA M
bei Eingabe von 0111:
z0 1 z1 0,1 z2 0,1 z3
Beispiel: NFA M bei Eingabe von 01:
b 0 }, 01) = ((z
({z b 0 , 0), 1)
b 0 }, 1)
= ({z
= ((z 0 , 1), )
b
b 0 , z1 }, )
= ({z
= {z0 , z1 }.
z00 = S,
F = {Z 0 Z Z 0 E 6= }.
x L(M) b x) E 6=
(S,
es gibt eine Folge von Teilmengen
Z1 , Z2 , . . . , Zn Z mit 0 (S, a1 ) = Z1 ,
0 (Z1 , a2 ) = Z2 , . . ., 0 (Zn1 , an ) = Zn und
Zn E 6=
Zn = b0 (z00 , x) F
x L(M 0 ).
z0 1 z1 0,1 z2
Dieser NFA akzeptiert die Sprache aller Worter uber {0, 1} , die an
letzter Stelle eine 1 haben.
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 28 / 93
Regulare Sprachen Endliche Automaten
Es gilt:
1 Es gibt einen NFA fur Ln mit n + 2 Zustanden.
(Beweis: Einfache Modifikation der NFAs fur L2 und L1 in den
vorigen Abbildungen.)
2 Jeder DFA fur Ln hat mindestens 2n Zustande.
(Beweis: siehe Satz von Myhill und Nerode spater.)
x L(G)
es gibt eine Folge A1 , A2 , . . . , An1 N mit
S ` a1 A1 ` a1 a2 A2 ` ` a1 a2 an1 An1 ` a1 a2 an1 an
es gibt eine Folge A1 , A2 , . . . , An1 Z mit A1 (S, a1 ),
A2 (A1 , a2 ), . . . , An1 (An2 , an1 ), X (An1 , an )
b 0 , x) F = ({S},
(S b x) F 6=
x L(M).
= {0, 1},
N = {S},
P = {S 0S | 1S | 1}.
Nach dem obigen Beweis konstruieren wir den NFA
M = (, Z , , S 0 , F ) mit
Folgerung: REG = {L(M) M ist DFA} = {L(M) M ist NFA}.
Regulare Ausdrucke
Definition
Sei ein Alphabet. Die Menge der regularen Ausdrucke (uber ) ist
definiert durch:
und sind regulare Ausdrucke.
Jedes a ist ein regularer Ausdruck.
Sind und regulare Ausdrucke, so sind auch
,
( + ) und
()
regulare Ausdrucke.
Nichts sonst ist ein regularer Ausdruck.
Definition
Sei ein Alphabet. Jedem regularen Ausdruck ist in eindeutiger
Weise eine Sprache L() zugeordnet (wir sagen: beschreibt
L()), die so definiert ist:
falls =
{}
falls =
{a}
falls = a fur ein a
L() =
L()L() falls =
L() L() falls = ( + )
L()
falls = () .
d.h. das leere Wort und alle Worter uber , die mit a beginnen.
2 Der regulare Ausdruck 2 = ((a + b) ab) beschreibt die Sprache
Bemerkung:
Wegen = {} hatte man den regularen Ausdruck in der
Definition oben auch weglassen konnen.
Formal korrekt hatte man die Menge der regularen Ausdrucke
unabhangig vom Alphabet (wie Grammatiken und DFAs)
definieren mussen, etwa so:
RegAusdruck() = { ist regularer Ausdruck uber }
[
RegAusdruck = RegAusdruck().
ist Alphabet
Wir nehmen jedoch an, dass implizit immer ein Alphabet fixiert ist.
= ( ((a1 + a2 ) + a3 ) + + ak ).
Proof.
() Sei A = L() fur einen regularen Ausdruck . Wir zeigen durch
Induktion uber den Aufbau von , dass A REG durch Angabe eines
NFAs M mit L(M) = A.
Induktionsanfang: = oder = oder = a .
Der folgende NFA M leistet je nach Fall das Gewunschte:
(, {z0 }, , {z0 }, ) falls =
M= (, {z0 }, , {z0 }, {z0 }) falls =
(, {z , z }, {(z , a) = {z }}, {z }, {z }) falls = a .
0 1 0 1 0 1
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 40 / 93
Regulare Sprachen Regulare Ausdrucke
Mi = (, Zi , i , Si , Fi ),
Fall 1: = 1 2 .
Definiere M = (, Z , , S, F ) als die Hintereinanderschaltung von
M1 und M2 durch:
S
1 falls 6 L(1 ) = L(M1 )
Z = Z1 Z2 ; S =
S S falls L(1 ) = L(M1 );
1 2
F
2 falls 6 L(2 ) = L(M2 )
F =
F F falls L(2 ) = L(M2 );
1 2
1 (z, a)
falls z Z1 und 1 (z, a) F1 =
(z, a) = 1 (z, a) S2 falls z Z1 und 1 (z, a) F1 6=
(z, a) falls z Z
2 2
Fall 2: = (1 + 2 ).
Der Vereinigungsautomat
M = (, Z1 Z2 , 1 2 , S1 S2 , F1 F2 )
Fall 3: = (1 ) .
Der Ruckkopplungsautomat
M = (, Z , , S, F )
b = Z1 {z}, S
mit Z b = S1 {z}, F
b = F1 {z}, wobei z 6 Z1 .
Offenbar ist
b = L(M1 ) {}.
L(M)
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 44 / 93
Regulare Sprachen Regulare Ausdrucke
Weiter zu Fall 3: = (1 ) .
Ruckkopplung: Definiere
M = (, Z , , S, F ),
Offenbar gilt
0
Ri,j = {a (zi , a) = zj }.
Ist i = j, so ist
0
Ri,i = {} {a (zi , a) = zi }.
Induktionsschritt: k 7 k + 1. Es gilt
k+1
Ri,j k
= Ri,j k
Ri,k+1 k
(Rk+1,k+1 ) Rk+1,j
k
,
denn:
Entweder braucht man den Zustand zk +1 gar nicht, um von zi nach
zj zu kommen,
oder zk +1 wird dabei einmal oder mehrmals in Schleifen
durchlaufen:
k+1
k
zi zj
k zk+1 k
k
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 48 / 93
Regulare Sprachen Regulare Ausdrucke
k+1
ein regularer Ausdruck fur Ri,j . Ende der Induktion.
Ferner gilt:
[
n
A = L(M) = R1,i .
zi E
Gleichungssysteme
Ziel: Bestimmung der von einem NFA (bzw. DFA) akzeptierten
Sprache durch Losung eines linearen Gleichungssystems.
Gleichungssysteme
Ziel: Bestimmung der von einem NFA (bzw. DFA) akzeptierten
Sprache durch Losung eines linearen Gleichungssystems.
Gegeben: NFA M = (, Z , , S, F ) mit Z = {z1 , z2 , . . . , zn }.
Gleichungssysteme
Ziel: Bestimmung der von einem NFA (bzw. DFA) akzeptierten
Sprache durch Losung eines linearen Gleichungssystems.
Gegeben: NFA M = (, Z , , S, F ) mit Z = {z1 , z2 , . . . , zn }.
Gesucht: L(M).
Gleichungssysteme
Ziel: Bestimmung der von einem NFA (bzw. DFA) akzeptierten
Sprache durch Losung eines linearen Gleichungssystems.
Gegeben: NFA M = (, Z , , S, F ) mit Z = {z1 , z2 , . . . , zn }.
Gesucht: L(M).
Methode: Bilde ein Gleichungssystem mit n Variablen und n
Gleichungen wie folgt:
Gleichungssysteme
Ziel: Bestimmung der von einem NFA (bzw. DFA) akzeptierten
Sprache durch Losung eines linearen Gleichungssystems.
Gegeben: NFA M = (, Z , , S, F ) mit Z = {z1 , z2 , . . . , zn }.
Gesucht: L(M).
Methode: Bilde ein Gleichungssystem mit n Variablen und n
Gleichungen wie folgt:
1 Jedes zi Z , 1 i n, ist Variable auf der linken
Seite einer Gleichung.
Gleichungssysteme
Ziel: Bestimmung der von einem NFA (bzw. DFA) akzeptierten
Sprache durch Losung eines linearen Gleichungssystems.
Gegeben: NFA M = (, Z , , S, F ) mit Z = {z1 , z2 , . . . , zn }.
Gesucht: L(M).
Methode: Bilde ein Gleichungssystem mit n Variablen und n
Gleichungen wie folgt:
1 Jedes zi Z , 1 i n, ist Variable auf der linken
Seite einer Gleichung.
2 Gilt zj (zi , a) fur zi , zj Z und a , so ist azj
Summand auf der rechten Seite der Gleichung
z = .
i
Gleichungssysteme
Ziel: Bestimmung der von einem NFA (bzw. DFA) akzeptierten
Sprache durch Losung eines linearen Gleichungssystems.
Gegeben: NFA M = (, Z , , S, F ) mit Z = {z1 , z2 , . . . , zn }.
Gesucht: L(M).
Methode: Bilde ein Gleichungssystem mit n Variablen und n
Gleichungen wie folgt:
1 Jedes zi Z , 1 i n, ist Variable auf der linken
Seite einer Gleichung.
2 Gilt zj (zi , a) fur zi , zj Z und a , so ist azj
Summand auf der rechten Seite der Gleichung
z = .
i
3 Gilt zi F , so ist Summand auf der rechten Seite
der Gleichung zi = .
J. Rothe & M. Leuschel (HHU Dusseldorf)
Informatik IV 50 / 93
Regulare Sprachen Gleichungssysteme
Gleichungssysteme
Gleichungssysteme
Lemma
X = AX B. (1)
Gleichungssysteme
Lemma
X = AX B. (1)
Gleichungssysteme
Lemma
X = AX B. (1)
Gleichungssysteme
Aus obiger Methode ergibt sich ein Gleichungssystem der Form:
Gleichungssysteme
Aus obiger Methode ergibt sich ein Gleichungssystem der Form:
Theorem
Gleichungssysteme
Gleichungssysteme
Gleichungssysteme
UX VX = (U V )X .
Gleichungssysteme
Das entstandene System hat wieder die Form (2), wobei nun jede
linke Seite zi auch rechts vorkommt. Das heit, jede verbliebene
Gleichung hat die Form (1):
zi = Azi B,
wobei A und B sich aus den Koeffizienten Aij , Bk REG und den
Variablen zj , i 6= j, in (2) gema dem obigen Umformungsprozess
ergeben.
Gleichungssysteme
Das entstandene System hat wieder die Form (2), wobei nun jede
linke Seite zi auch rechts vorkommt. Das heit, jede verbliebene
Gleichung hat die Form (1):
zi = Azi B,
wobei A und B sich aus den Koeffizienten Aij , Bk REG und den
Variablen zj , i 6= j, in (2) gema dem obigen Umformungsprozess
ergeben.
Nach dem obigen Lemma hat eine solche Gleichung die
eindeutige Losung
A B,
die eine regulare Sprache ist.
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 55 / 93
Regulare Sprachen Gleichungssysteme
Gleichungssysteme
Pumping-Lemma
Pumping-Lemma: Beweis
Pumping-Lemma: Beweis
Wahle nun die Zerlegung x = uvw so, dass nach Lesen von u und
von uv derselbe Zustand z erreicht ist und die Bedingungen (1)
und (2) erfullt sind. Es ist klar, dass das geht.
v
z0 z ze
u w
Pumping-Lemma: Beweis
uv 0 w = uw
uv 1 w = uvw = x
uv 2 w
..
.
uv i w
..
.
Pumping-Lemma
Bemerkung: Man beachte, dass das Pumping-Lemma keine
Charakterisierung von REG liefert, sondern lediglich eine Implikation:
L REG (n N) (x L, |x| n) (u, v , w )
[x = uvw (1) (2) (3)].
Alle Sprachen
Regulre Sprachen
Sprachen nach PL
nicht regulr
Pumping-Lemma: Anwendungen
Behauptung: L = {am bm m 1} ist nicht regular.
Pumping-Lemma: Anwendungen
Da x L, lasst sich x so in
x = uvw = an bn
uv 0 w = uw = ank bn L,
Pumping-Lemma: Anwendungen
Behauptung: L = {0m m ist Quadratzahl} ist nicht regular.
mit |x| = n2 n.
Pumping-Lemma: Anwendungen
Da x L, lasst sich x so in
2
x = uvw = 0n
zerlegen, dass die Bedingungen (1), (2) und (3) aus dem
Pumping-Lemma gelten. Aus den Bedingungen (1) und (2) folgt:
1 |v | |uv | n.
Aus Bedingung (3) folgt fur i = 2, dass uv 2 w ein Wort in L ist.
Andererseits gilt:
n2 = |x| = |uvw| < |uv 2 w| n2 + n < n2 + 2n + 1 = (n + 1)2 .
Folglich ist die Lange des Wortes uv 2 w L keine Quadratzahl,
was ein Widerspruch zur Definition von L ist.
Also ist die Annahme falsch und L nicht regular. q
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 65 / 93
Regulare Sprachen Das Pumping-Lemma
Beispiel:
Fall 1: x = 1k . Fur x = 1k = uvw liefern diese drei Bedingungen
0
(insbesondere uv i w = 1k L fur alle i 0) jedoch keinen
Widerspruch.
2 2
Fall 2: x = 0j 1k . Auch fur x = 0j 1k = uvw ergibt sich kein
Widerspruch aus den drei Bedingungen; insbesondere konnte die
Zerlegung x = uvw mit u = und v = 0 (da j 1) gewahlt
2
worden sein, so dass uv i w = 0j+i1 1k L fur alle i 0
tatsachlich gilt.
Auch wenn das Pumping-Lemma hier nicht den gewunschten
Widerspruch liefert, kann man mit einer Verallgemeinerung des
Pumping-Lemmas tatsachlich zeigen, dass L nicht regular ist.
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 67 / 93
Regulare Sprachen Der Satz von Myhill und Nerode und Minimalautomaten
(z ) [xz L yz L].
x L y L,
namlich fur z = .
(z ) [xz L yz L].
Reflexivitat: xRL x
Symmetrie: xRL y yRL x
Transitivitat: xRL y yRL z xRL z
Definition
Wie jede Aquivalenzrelation induziert RL eine Zerlegung (d.h. eine
disjunkte und vollstandige Uberdeckung) von in Aquivalenzklassen:
b 0 , x) = (z
(z b 0 , y ),
d.h., M ist nach dem Lesen von x im selben Zustand wie nach
dem Lesen von y.
Es gilt:
xz L (z
b 0 , xz) E ( b 0 , x), z) E
b (z
( b 0 , y), z) E
b (z (z
b 0 , yz) E
yz L.
Folglich gilt xRL y und somit (4).
Aus (3) und (4) folgt:
Index(RL ) Index(RM ) kZ k < .
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 73 / 93
Regulare Sprachen Der Satz von Myhill und Nerode und Minimalautomaten
wobei x1 , x2 , . . . , xk .
Beispiel: ([],
b abc) = ([x
b 1 ], bc) = ([a],
b bc) = ([x
b 2 ], c) = ([ab],
b c) = ([x
b 3 ], ) =
([abc],
b ) = [abc]. Es folgt:
x L(M) b 0 , x) F
(z
([],
b x) F (nach Definition von z0 )
[x] F (nach Lemma)
x L. (da F = {[x] x L})
[a2 b] = {a2 b, a3 b2 , a4 b3 , . . .}
[a3 b] = {a3 b, a4 b2 , a5 b3 , . . .}
..
.
[ak b] = {ak b, ak +1 b2 , ak+2 b3 , . . .}
..
.
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 76 / 93
Regulare Sprachen Der Satz von Myhill und Nerode und Minimalautomaten
ai bz L, aber aj bz 6 L.
M = (, Z , , z0 , E)
Index(RL ) Index(RM )
= Anzahl der in M von z0 aus erreichbaren Zustande
kZ k.
Das heit, M hat mindestens so viele Zustande wie RL
Aquivalenzklassen.
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 79 / 93
Regulare Sprachen Der Satz von Myhill und Nerode und Minimalautomaten
erkennen.
Wir betrachten die Worter aus {0, 1}n , d.h. die Worter der Lange
n uber dem Alphabet {0, 1}.
Es seien u, v {0, 1}n mit u 6= v . Dann gibt es ein i, 1 i n, so
dass sich u und v an der Position i unterscheiden.
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 80 / 93
Regulare Sprachen Der Satz von Myhill und Nerode und Minimalautomaten
Beispiel: [Satz von Myhill und Nerode: Untere Schranken fur die
Anzahl der Zustande eines DFAs]
Wir nehmen o.B.d.A. an, dass u an der Position i eine 0 und v an
der Position i eine 1 hat:
u = 0 0i1 6 L
v = 1 0i1 L
1 2 i n
Es gilt nun:
u0i1
6 L, da der n-te Buchstabe von hinten in u0i1 eine 0 ist, und
i1
v0 L, da der n-te Buchstabe von hinten in v 0i1 eine 1 ist.
Beispiel: [Satz von Myhill und Nerode: Untere Schranken fur die
Anzahl der Zustande eines DFAs]
Somit sind u und v nicht aquivalent bezuglich RLn .
Da u und v beliebig waren, sind alle Worter aus {0, 1}n nicht
aquivalent bezuglich RLn , und es folgt:
Index(RLn ) 2n .
Definition (Minimalautomat)
Ein DFA M mit totaler Uberfuhrungsfunktion heit Minimalautomat,
falls es keinen zu M aquivalenten DFA mit totaler
Uberfuhrungsfunktion und weniger Zustanden gibt.
Begrundung:
die Anzahl der Zustande von M0 ist gleich Index(RL )
(Anzahl der Aquivalenzklassen der Myhill-Nerode-Relation) und
Algorithmus Minimalautomat
Eingabe: DFA M = (, Z , , z0 , F ).
Ausgabe: Ein zu M aquivalenter Minimalautomat.
Algorithmus: 1 Entferne alle von z0 nicht erreichbaren Zustande aus Z .
2 Erstelle eine Tabelle aller (ungeordneten) Zustandspaare
{z, z 0 } von M mit z 6= z 0 .
3 Markiere alle Paare {z, z 0 } mit
z F z 0 6 F .
4 Sei {z, z 0 } ein unmarkiertes Paar. Prufe fur jedes a ,
ob {(z, a), (z 0 , a)} bereits markiert ist. Ist mindestens
ein Test erfolgreich, so markiere auch {z, z 0 }.
5 Wiederhole Schritt 4, bis keine Anderung mehr eintritt.
6 Bilde maximale Mengen paarweise nicht disjunkter
unmarkierter Zustandspaare und verschmelze jeweils alle
Zustande einer Menge zu einem neuen Zustand.
J. Rothe & M. Leuschel (HHU Dusseldorf) Informatik IV 86 / 93
Regulare Sprachen Der Satz von Myhill und Nerode und Minimalautomaten
Uberfuhrungsfunktion
= {0, 1}
Z z0 z1 z2 z3 z4
Z = {z0 , z1 , z2 , z3 , z4 }
0 z1 z3 z4 z3 z4
F = {z3 , z4 }
1 z2 z3 z4 z3 z4
z0 z1 z2 z3
z4
z3
z2
z1
z0 z1 z2 z3
z4
z3
z2
z1
Uberfuhrungsfunktion 0
= {0, 1}
Z 0 z0 z12 z34
Z0 = {z0 , z12 , z34 }
0 z12 z34 z34
F 0 = {z34 }
1 z12 z34 z34
Definition
Behauptung:
1 Fur jedes n 1 ist die Sprache L0n regular: