Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 3. Endliche Automaten (III) 7.05.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Orga...
Author: Frida Weiss
0 downloads 0 Views 271KB Size
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