Grundlagen der Theoretischen Informatik 3. Endliche Automaten (III) 7.05.2015
Viorica Sofronie-Stokkermans
e-mail:
[email protected]
1
Organisatorisches • 1. Teilklausur: Mittwoch, 10.06.2015, D028, 14:00-15:00 Informationen werden u ¨ber KLIPS zugeschickt. • 2. Teilklausur: Doodle Heute: E-Mail in KLIPS.
¨ schon am Donnerstag verfu Ubungszettel: ¨gbar.
2
¨ Ubersicht • Determinierte endliche Automaten (DEAs) • Indeterminierte endliche Automaten (NDEAs) • Automaten mit epsilon-Kanten • Endliche Automaten akzeptieren genau die Typ-3-Sprachen • Pumping Lemma • Abschlusseigenschaften und Wortprobleme • Rational = Regul¨ are Ausdru ¨cke
3
DEA/NDEA Definition. ((Determinierter) endlicher Automat) Ein endlicher Automat (e.a., DEA) ist ein Tupel A = (K , Σ, δ, s0 , F ). Dabei ist • K eine endliche Menge von Zust¨ anden, • Σ ein endliches Alphabet ¨ • δ : K × Σ → K die totale(!) Ubergangsfunktion, • s0 ∈ K der Startzustand, und • F ⊆ K die Menge der finalen Zust¨ ande. Definition (Indeterminierter endlicher Automat) Ein indeterminierter endlicher Automat (NDEA) ist ein Tupel A = (K , Σ, ∆, I , F ). Dabei ist • K eine endliche Menge von Zust¨ anden, • Σ ein endliches Alphabet, ¨ • ∆ ⊆ (K × Σ) × K eine Ubergangsrelation, • I ⊆ K eine Menge von Startzust¨ anden, • F ⊆ K eine Menge von finalen Zust¨ anden.
4
Determiniert / indeterminiert Determinierter endlicher Automat • Fu ¨r einen Zustand q und eine Eingabe a genau ein einziger Nachfolgezustand • festgelegt durch u ¨bergangsfunktion δ Indeterminierter endlicher Automat • Fu ¨r einen Zustand q und eine Eingabe a evtl. mehrere Nachfolgezust¨ ande – oder gar keiner ¨ • festgelegt durch Ubergangsrelation ∆
5
¨ Ubergangsfunktion DEA: δ ∗ : K × Σ∗ → K ist strukturell rekursiv u ¨ber Σ∗ definiert: ∗
δ (q, ε)
:=
q
∗
:=
δ(δ (q, w ), a)
δ (q, wa)
∗
NDEA: ∆∗ ⊆ (K × Σ∗ ) × K ist definiert durch: ′
∗
′
∆ ( (q, wa), q )
′
gdw
q =q
gdw
E
∗
∆ ( (q, ε), q )
q
′′
∗
∈ K ∆ ( (q, w ), q
′′
′′
′
) ∧ ∆( (q , a), q )
6
Akzeptierte Sprache Definition (Von einem DEA Automaten akzeptierte Sprache). Die von einem Automaten A akzeptierte Sprache, ist definiert als L(A) := {w ∈ Σ
∗
∗
| δ (s0 , w ) ∈ F }
Die Menge RAT := {L | es gibt einen endlichen Automaten A mit L = L(A)} der von endlichen Automaten akzeptierten Sprachen heißt Menge der rationalen Sprachen
Definition (Von einem NDEA akzeptierte Sprache) Die von einem indeterminierten endlichen Automaten A akzeptierte Sprache ist {w ∈ Σ
∗
|
E
:=
s0 ∈ I
E
L(A)
∗
q ∈ F : ∆ ( (s0 , w ), q )}
7
Gleichm¨ achtigkeit von DEA und NDEA Theorem. DEA gleich m¨ achtig wie NDEA Eine Sprache ist rational (es gibt einen determinierten endlichen Automaten, der sie akzeptiert) gdw es gibt einen indeterminierten endlichen Automaten, der sie akzeptiert. Beweis. ⇒“: ” • Sei L eine rationale Sprache. • Dann gibt es laut Definition einen determinierten endlichen Automaten ADEA mit L = L(ADEA ). • Jeder determinierte endliche Automat ist aber insbesondere auch ein (besonderer) indeterminierter endlicher Automat. 8
Gleichm¨ achtigkeit von DEA und NDEA Theorem. DEA gleich m¨ achtig wie NDEA Eine Sprache ist rational (es gibt einen determinierten endlichen Automaten, der sie akzeptiert) gdw es gibt einen indeterminierten endlichen Automaten, der sie akzeptiert. Beweis ⇐“: ” Sei ANDEA = (K , Σ, ∆, I , F ) ein (beliebiger) indeterminierter endlicher Automat. Er akzeptiert die Sprache L(ANDEA ). Beweisidee: Konstruiere aus ANDEA einen determinierten Automaten ADEA mit L(ANDEA ) = L(ADEA ) mit Hilfe einer Potenzmengenkonstruktion . . . 9
Gleichm¨ achtigkeit von DEA und NDEA Beweis (Forsetzung) Fortsetzung . . . • Zust¨ ande in ADEA bestehen aus Mengen von Zust¨ anden von ANDEA • Wenn man in ANDEA mit w nach q1 , . . . , qn gelangt, dann gelangt man in ADEA mit w nach q ′ = {q1 , . . . , qn }. • Initialer Zustand von ADEA : Menge aller initialen Zust¨ ande von ANDEA • Finale Zust¨ ande von ADEA : Jede Menge von Zust¨ ande, die einen finalen Zustand von ANDEA enth¨ alt
10
Gleichm¨ achtigkeit von DEA und NDEA Zun¨ achst ein konkretes Beispiel Ein NDEA, der die folgende Sprache akzeptiert: Laab/aba = {w ∈ {a, b}∗ | w hat aab oder aba als Teilwort}
a
>
b
>
a
1
a
a
2
a
3
b
b
5
b
4
a a
6
b
7
a
b
8
11
Gleichm¨ achtigkeit von DEA und NDEA Zun¨ achst ein konkretes Beispiel Startzustand: Menge der alten Startzust¨ ande, also {1, 5}. N¨ achster Schritt: ¨ Ubergang von {1, 5} mit a ∆(1, a)
=
{1, 2}
∆(5, a)
=
{5, 6}
Also, neuer Zustand {1, 2, 5, 6} mit δADEA ({1, 5}, a) = {1, 2, 5, 6}
12
Gleichm¨ achtigkeit von DEA und NDEA Zun¨ achst ein konkretes Beispiel N¨ achster Schritt: ¨ Ubergang von {1, 5} mit b.
∆(1, b)
=
{1}
∆(5, b)
=
{5}
Fu ¨r den Eingabebuchstaben b bleibt ADEA also im Startzustand.
13
Gleichm¨ achtigkeit von DEA und NDEA Zun¨ achst ein konkretes Beispiel N¨ achster Schritt: ¨ Ubergang von {1, 2, 5, 6} mit a ∆(1, a)
=
{1, 2}
∆(2, a)
=
{3}
∆(5, a)
=
{5, 6}
∆(6, a)
=
∅
Also, neuer Zustand {1, 2, 3, 5, 6} mit δADEA ({1, 2, 5, 6}, a) = {1, 2, 3, 5, 6} usw.
14
Gleichm¨ achtigkeit von DEA und NDEA Zun¨ achst ein konkretes Beispiel Es ergibt sich folgender determinierter Automat ADEA :
15
Gleichm¨ achtigkeit von DEA und NDEA Zun¨ achst ein konkretes Beispiel Es ergibt sich folgender determinierter Automat ADEA :
¨ Uberg ange aller finalen Zust¨ ande fu ande. ¨ ¨hren in finale Zust¨ Vereinfachung: Man k¨ onnte die finalen Zust¨ ande zu einem zusammenfassen 16
Gleichm¨ achtigkeit von DEA und NDEA Beweis (Fortsetzung) Konstruktion des determinierten endlichen Automaten ADEA formal: Gegeben: Indeterminierter endlicher Automat ANDEA = (K , Σ, ∆, I , F ) Wir konstruieren: Determinierten endlichen Automaten ADEA = (K ′ , Σ, δ ′ , I ′ , F ′ ) mit • K ′ = 2K
(die Potenzmenge von K )
¨ • Ubergangsfunktion ′
K
δ :2 ×Σ→2
K
mit
′
δ (M, a) :=
[
∆(q, a)
q∈M
17
Gleichm¨ achtigkeit von DEA und NDEA Beweis (Fortsetzung) Konstruktion des determinierten endlichen Automaten ADEA formal: Gegeben: Indeterminierter endlicher Automat ANDEA = (K , Σ, ∆, I , F ) Wir konstruieren: Determinierten endlichen Automaten ADEA = (K ′ , Σ, δ ′ , I ′ , F ′ ) mit • I′ = I
(die Menge der initialen Zust¨ ande von ANDEA )
• F ′ = {M ⊆ K | M ∩ F 6= ∅} (alle Zustandsmengen von ANDEA , die einen finalen Zustand enthalten) 18
Gleichm¨ achtigkeit von DEA und NDEA Beweis (Fortsetzung) Konstruktion des determinierten endlichen Automaten ADEA formal: Gegeben: Indeterminierter endlicher Automat ANDEA = (K , Σ, ∆, I , F ) Wir konstruieren: Determinierten endlichen Automaten ADEA = (K ′ , Σ, δ ′ , I ′ , F ′ ) mit Merke: • ∅ ∈ K′ • δ ′ (∅, x) = ∅ fu ¨r alle x ∈ Σ 19
Gleichm¨ achtigkeit von DEA und NDEA Beweis (Fortsetzung) Lemma: Fu ¨r alle w ∈
Σ∗ :
δ ′ ∗ (M, w )
=
S
q∈M
∆∗ (q, w )
20
Gleichm¨ achtigkeit von DEA und NDEA Beweis (Fortsetzung) Lemma: Fu ¨r alle w ∈
Σ∗ :
δ ′ ∗ (M, w )
=
S
q∈M
∆∗ (q, w )
Beweis durch Induktion u ange von w : ¨ber die L¨ Induktionsanfang: |w | = 0 ′∗
δ (M, ε) = M =
[ q∈M
{q} =
[
∆∗ (q, ε)
q∈M
21
Gleichm¨ achtigkeit von DEA und NDEA Beweis (Fortsetzung) Lemma: Fu ¨r alle w ∈ Σ∗ :
δ ′ ∗ (M, w ) =
S
q∈M
∆∗ (q, w )
Induktionsschritt: δ ′ ∗ (M, wa) = = =
δ ′ (δ ′ ∗ (M, w ), a) S p∈δ ′ ∗ (M,w ) ∆(p, a) S ∗ (q, w ) )∆(p, a) ∪ ∆ p∈(
Def. von
∗
Definition von δ ′ Ind.-Vor. fu ¨r δ ′ (M, w )
q∈M
E
p ∈ ∆∗ (q, w ) : q ′ ∈ ∆(p, a)}
E
=
{q ′ | q ∈ M
=
{q ′ | q ∈ M q ′ ∈ ∆∗ (q, wa)} S ∗ q∈M ∆ (q, wa)
E
=
Def. von
∗
22
Gleichm¨ achtigkeit von DEA und NDEA Beweis (Schluss) Es gilt fu ¨r alle w ∈ Σ∗ : w ∈ L(ADEA ) gdw δ ′ ∗ (I ′ , w ) ∈ F ′
(Def. der Sprache eines Automaten)
gdw δ ′ ∗ (I , w ) ∈ F ′
(da I ′ = I per Def.)
gdw δ ′ ∗ (I , w ) ∩ F 6= ∅ S ∗ gdw q∈I ∆ (q, w ) ∩ F 6= ∅ E
q∈I
E
gdw
q′
∈F
q′
∈
(nach Lemma)
∆∗ (q, w )
gdw w ∈ L(ANDEA ) Damit:
(Def. von F ′ )
L(ADEA ) = L(ANDEA )
(Def. der Sprache eines Automaten) ✷ 23
Beispiel Determinierter Automat fu ¨r die Sprache L = {a, b}∗ {a}{a, b} (die Sprache aller W¨ orter u ¨ber {a, b}, deren zweitletzter Buchstabe a ist)
b
b A:
>
a
s0 a
Idee:
b
s1 b
s2
a s3
a
Im Zustand jeweils die letzten zwei Buchstaben merken
24
Beispiel Indeterminierter Automat fu ¨r die Sprache L = {a, b}∗ {a}{a, b} (die Sprache aller W¨ orter u ¨ber {a, b}, deren zweitletzter Buchstabe a ist)
a,b
A:
>
a
a,b
25
Beispiel Indeterminierter Automat fu ¨r die Sprache L = {a, b}∗ {a}{a, b} (die Sprache aller W¨ orter u ¨ber {a, b}, deren zweitletzter Buchstabe a ist)
a,b
A:
>
a
a,b
Konstruktion des determinierten endlichen Automaten: an der Tafel.
26
¨ Ubersicht • Determinierte endliche Automaten (DEAs) • Indeterminierte endliche Automaten (NDEAs) • Automaten mit epsilon-Kanten • Endliche Automaten akzeptieren genau die Typ-3-Sprachen • Pumping Lemma • Abschlusseigenschaften und Wortprobleme • Rational = Regul¨ are Ausdru ¨cke
27
Automaten mit epsilon-Kanten
28
Automaten mit ε-Kanten Vom NDEA zum Automaten mit ε-Kanten Bisher (NDEA): Kanten mit einem Buchstaben beschriftet Jetzt (Automat mit ε-Kanten): Kanten mit einem Wort beschriftet Es darf auch das leere Wort ε sein!
29
Automaten mit ε-Kanten Vom NDEA zum Automaten mit ε-Kanten Bisher (NDEA): Kanten mit einem Buchstaben beschriftet Jetzt (Automat mit ε-Kanten): Kanten mit einem Wort beschriftet Es darf auch das leere Wort ε sein!
Ein Automaten mit ε-Kanten kann . . . • in einem Schritt ein ganzes Wort verarbeiten • einen Zustandsu ¨bergang machen, ohne dabei einen Buchstaben zu lesen
30
Automaten mit ε-Kanten: Definition Definiton. Ein Automat mit ε-Kanten (ε-NDEA) A ist ein Tupel A = (K , Σ, ∆, I , F ) Dabei ist • K eine endliche Menge von Zust¨ anden, • Σ ein endliches Alphabet, ¨ • ∆ ⊆ (K × Σ∗ ) × K eine eine (endliche) Ubergangsrelation, • I ⊆ K eine Menge von Startzust¨ anden, • F ⊆ K eine Menge von finalen Zust¨ anden
31
¨ Automaten mit ε-Kanten: Ubergangsrelation Definition. (Erweiterung von ∆ zu ∆∗ ) ∆∗ ⊆ (K × Σ∗ ) × K ist (¨ ahnlich wie fu ¨r NDEAs) definiert durch: ∆∗ ( (q, ε), q ′ )
gdw
q′ = q
∆∗ ( (q, w1 w2 ), q ′ )
gdw
oder
∆( (q, ε), q ′ )
E
q ′′ ∈ K ∆∗ ( (q, w1 ), q ′′ ) ∨ ∆( (q, w1 ), q ′′ ) ∧ ∆∗ ( (q ′′ , w2 ), q ′ ) ∨ ∆( (q ′′ , w2 ), q ′ )
32
Automaten mit ε-Kanten: Akzeptierte Sprache Definition. Die von einem Automaten mit ε-Kanten A = (K , Σ, ∆, I , F ) akzeptierte Sprache ist s0 ∈ I q ∈ F ∆∗ ( (s0 , w ) q) } E
E
L(A) := { w ∈ Σ∗ |
33
Automaten mit ε-Kanten: Beispiel Beispiel
ba
>
s0 b ε ε b
aba
s2
s3
s1
a Akzeptiert:
{aba}∗ {b}{b}∗ + {aba}∗ {a} + {ba} 34
Gleichm¨ achtigkeit von Automaten mit ε-Kanten und NDEAs Theorem (ε-NDEA gleich m¨ achtig wie NDEA) Zu jedem Automaten mit ε-Kanten A existiert ein indeterminierter endlicher Automat A′ mit L(A) = L(A′ )
35
Gleichm¨ achtigkeit: Beweis Transformation von A in einen NDEA ohne ε-Kanten ¨ 1. Ersetze Uberg ange: ¨ • mit nur einem Buchstaben markiert
→
beibehalten
¨ • mit einem Wort w markiert (|w | = n) → ersetze durch n Uberg ange ¨ (verwende n − 1 neue, zus¨ atzlicher Zust¨ ande) ¨ • ε-Uberg ange ¨
→
statt diesen ∆( (q, a), q ′′ )
fu ¨r jedes Paar ∆( (q, a), q ′ )
und
∆( (q ′ , ε), q ′′ )
36
Gleichm¨ achtigkeit von Automaten mit ε-Kanten und NDEAs Beweis (Fortsetzung) Transformation von A in einen NDEA ohne ε-Kanten 2. Zus¨ atzliche Initialzust¨ ande: Falls q ∈ I und ∆∗ ( (q, ε), q ′ ), dann auch q ′ ∈ I
3. Finalzust¨ ande bleiben unver¨ andert
37
Gleichm¨ achtigkeit: Beispiel Beispiel. Der Automat mit ε-Kanten . . .
ba
>
s0 b ε ε b
aba
s2
s3
s1
a Akzeptiert:
{aba}∗ {b}{b}∗ + {aba}∗ {a} + {ba} 38
Gleichm¨ achtigkeit: Beispiel ¨ 1. Ersetze Uberg ange: ¨ ¨ • Die mit einem Buchstaben markierten Uberg ange: beibehalten. ¨ b
b
s1 → s2 und s2 → s2 bleiben. aba ¨ • Ubergang s1 −→ s1 : Neue Zust¨ ande: p(aba,1) , p(aba,2) . aba ¨ Ubergang s1 −→ s1 ersetzt durch a
b
a
s1 → p(aba,1) → p(aba,2) → s1 . ba ¨ • Ubergang s0 −→ s3 : Neuer Zustand: p(ba,1) . ba b a ¨ Ubergang s0 −→ s3 ersetzt durch s0 → p(ba,1) → s3 .
39
Gleichm¨ achtigkeit: Beispiel ¨ 1. Ersetze Uberg ange: ¨ (Fortsetzung) ¨ Statt ε-Uberg ange: ¨ ¨ • ∆((s1 , b), s2 ) und ∆((s2 , ε), s3 ) : neuer Ubergang: ∆((s1 , b), s3 ). ¨ • ∆((s2 , b), s2 ) und ∆((s2 , ε), s3 ) : neuer Ubergang: ∆((s2 , b), s3 ).
2. Zus¨ atzliche Initialzust¨ ande: Da s0 ∈ I und ∆((s0 , ε), s1 ), dann auch s1 ∈ I . 3. Finalzust¨ ande bleiben unver¨ andert
40
Gleichm¨ achtigkeit: Beispiel Beispiel. . . . wird transformiert in den ¨ aquivalenten NDEA
>
b
s0
p(ba,1) a b
>
b s1
a p(aba,1)
s2
b
s3
a b
p(aba,2)
a, b
41
¨ Ubersicht • Determinierte endliche Automaten (DEAs) • Indeterminierte endliche Automaten (NDEAs) • Automaten mit epsilon-Kanten • Endliche Automaten akzeptieren genau die Typ-3-Sprachen • Pumping Lemma • Abschlusseigenschaften und Wortprobleme • Rational = Regul¨ are Ausdru ¨cke
42
N¨ achste Woche • Determinierte endliche Automaten (DEAs) • Indeterminierte endliche Automaten (NDEAs) • Automaten mit epsilon-Kanten • Endliche Automaten akzeptieren genau die Typ-3-Sprachen • Pumping Lemma • Abschlusseigenschaften und Wortprobleme • Rational = Regul¨ are Ausdru ¨cke
43