• Keine Ergebnisse gefunden

Sommersemester2007 BernhardBeckert GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI Vorlesung

N/A
N/A
Protected

Academic year: 2021

Aktie "Sommersemester2007 BernhardBeckert GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI Vorlesung"

Copied!
76
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Einführung in die Theoretische Informatik I

Bernhard Beckert

Institut für Informatik

Sommersemester 2007

(2)

Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von

Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der TU Clausthal)

Ihnen beiden gilt mein herzlicher Dank.

– Bernhard Beckert, April 2007

(3)

Zunächst ein konkretes Beispiel

Ein NDEA, der die folgende Sprache akzeptiert:

L

aab

/

aba

= { w ∈ { a , b } | w hat aab oder aba als Teilwort }

>

b a

a

a b

>

b

a a b

a

a b

1 2 3 4

5 6 b 7 a 8

(4)

Zunächst ein konkretes Beispiel Startzustand:

Menge der alten Startzustände, also { 1 , 5 } .

Nächster Schritt:

Übergang von { 1 , 5 } mit a

∆( 1 , a ) = { 1 , 2 }

∆( 5 , a ) = { 5 , 6 }

Also, neuer Zustand { 1 , 2 , 5 , 6 } mit

δ A

DEA

({ 1 , 5 }, a ) = { 1 , 2 , 5 , 6 }

(5)

Zunächst ein konkretes Beispiel Startzustand:

Menge der alten Startzustände, also { 1 , 5 } .

Nächster Schritt:

Übergang von { 1 , 5 } mit a

∆( 1 , a ) = { 1 , 2 }

∆( 5 , a ) = { 5 , 6 }

Also, neuer Zustand { 1 , 2 , 5 , 6 } mit

δ A

DEA

({ 1 , 5 }, a ) = { 1 , 2 , 5 , 6 }

(6)

Zunächst ein konkretes Beispiel Startzustand:

Menge der alten Startzustände, also { 1 , 5 } .

Nächster Schritt:

Übergang von { 1 , 5 } mit a

∆( 1 , a ) = { 1 , 2 }

∆( 5 , a ) = { 5 , 6 }

Also, neuer Zustand { 1 , 2 , 5 , 6 } mit

δ A

DEA

({ 1 , 5 }, a ) = { 1 , 2 , 5 , 6 }

(7)

Zunächst ein konkretes Beispiel Nächster Schritt:

Übergang von { 1 , 5 } mit b.

∆( 1 , b ) = { 1 }

∆( 5 , b ) = { 5 }

Für den Eingabebuchstaben b bleibt A DEA also im Startzustand.

(8)

Zunächst ein konkretes Beispiel Nächster Schritt:

Übergang von { 1 , 5 } mit b.

∆( 1 , b ) = { 1 }

∆( 5 , b ) = { 5 }

Für den Eingabebuchstaben b bleibt A DEA also im Startzustand.

(9)

Zunächst ein konkretes Beispiel Nächster Schritt:

Übergang von { 1 , 2 , 5 , 6 } mit a

∆( 1 , a ) = { 1 , 2 }

∆( 2 , a ) = { 3 }

∆( 5 , a ) = { 5 , 6 }

∆( 6 , a ) = 0 /

Also, neuer Zustand { 1 , 2 , 3 , 5 , 6 } mit

δ A

DEA

({ 1 , 2 , 5 , 6 }, a ) = { 1 , 2 , 3 , 5 , 6 }

usw.

(10)

Zunächst ein konkretes Beispiel Nächster Schritt:

Übergang von { 1 , 2 , 5 , 6 } mit a

∆( 1 , a ) = { 1 , 2 }

∆( 2 , a ) = { 3 }

∆( 5 , a ) = { 5 , 6 }

∆( 6 , a ) = 0 /

Also, neuer Zustand { 1 , 2 , 3 , 5 , 6 } mit

δ A

DEA

({ 1 , 2 , 5 , 6 }, a ) = { 1 , 2 , 3 , 5 , 6 }

usw.

(11)

Zunächst ein konkretes Beispiel Nächster Schritt:

Übergang von { 1 , 2 , 5 , 6 } mit a

∆( 1 , a ) = { 1 , 2 }

∆( 2 , a ) = { 3 }

∆( 5 , a ) = { 5 , 6 }

∆( 6 , a ) = 0 /

Also, neuer Zustand { 1 , 2 , 3 , 5 , 6 } mit

δ A

DEA

({ 1 , 2 , 5 , 6 }, a ) = { 1 , 2 , 3 , 5 , 6 }

usw.

(12)

Zunächst ein konkretes Beispiel Nächster Schritt:

Übergang von { 1 , 2 , 5 , 6 } mit a

∆( 1 , a ) = { 1 , 2 }

∆( 2 , a ) = { 3 }

∆( 5 , a ) = { 5 , 6 }

∆( 6 , a ) = 0 /

Also, neuer Zustand { 1 , 2 , 3 , 5 , 6 } mit

δ A

DEA

({ 1 , 2 , 5 , 6 }, a ) = { 1 , 2 , 3 , 5 , 6 }

usw.

(13)

Zunächst ein konkretes Beispiel

Es ergibt sich folgender determinierter Automat A DEA :

(14)

Beweis (Fortsetzung)

Konstruktion des determinierten endlichen Automaten A DEA formal:

Gegeben: Indeterminierter endlicher Automat

A NDEA = ( K ,Σ,∆, I , F )

Wir konstruieren: Determinierten endlichen Automaten

A DEA = ( K 0 , Σ, δ 0 , I 0 , F 0 )

mit

K 0 = 2

K

(die Potenzmenge von K ) Übergangsfunktion

δ 0 : 2

K

× Σ → 2

K

mit δ 0 ( M , a ) := [

q

M

∆( q , a )

(15)

Beweis (Fortsetzung)

Konstruktion des determinierten endlichen Automaten A DEA formal:

Gegeben: Indeterminierter endlicher Automat

A NDEA = ( K ,Σ,∆, I , F )

Wir konstruieren: Determinierten endlichen Automaten

A DEA = ( K 0 , Σ, δ 0 , I 0 , F 0 )

mit

K 0 = 2

K

(die Potenzmenge von K ) Übergangsfunktion

δ 0 : 2

K

× Σ → 2

K

mit δ 0 ( M , a ) := [ ∆( q , a )

(16)

Beweis (Fortsetzung)

Konstruktion des determinierten endlichen Automaten A DEA formal:

Gegeben: Indeterminierter endlicher Automat

A NDEA = ( K ,Σ,∆, I , F )

Wir konstruieren: Determinierten endlichen Automaten

A DEA = ( K 0 , Σ, δ 0 , I 0 , F 0 )

mit

K 0 = 2

K

(die Potenzmenge von K ) Übergangsfunktion

δ 0 : 2

K

× Σ → 2

K

mit δ 0 ( M , a ) := [

q

M

∆( q , a )

(17)

Beweis (Fortsetzung)

Konstruktion des determinierten endlichen Automaten A DEA formal:

Gegeben: Indeterminierter endlicher Automa

A NDEA = ( K ,Σ,∆, I , F )

Wir konstruieren: Determinierten endlichen Automaten

A DEA = ( K 0 , Σ, δ 0 , I 0 , F 0 )

mit

I 0 = I (die Menge der initialen Zustände von A NDEA ) F 0 = { M ⊂ K | M ∩ F 6= 0} /

(alle Zustandsmengen von A NDEA , die einen finalen Zustand enthalten)

(18)

Beweis (Fortsetzung)

Konstruktion des determinierten endlichen Automaten A DEA formal:

Gegeben: Indeterminierter endlicher Automa

A NDEA = ( K ,Σ,∆, I , F )

Wir konstruieren: Determinierten endlichen Automaten

A DEA = ( K 0 , Σ, δ 0 , I 0 , F 0 )

mit

I 0 = I (die Menge der initialen Zustände von A NDEA ) F 0 = { M ⊂ K | M ∩ F 6= 0} /

(alle Zustandsmengen von A NDEA , die einen finalen Zustand enthalten)

(19)

Beweis (Fortsetzung)

Konstruktion des determinierten endlichen Automaten A DEA formal:

Gegeben: Indeterminierter endlicher Automa

A NDEA = ( K ,Σ,∆, I , F )

Wir konstruieren: Determinierten endlichen Automaten

A DEA = ( K 0 , Σ, δ 0 , I 0 , F 0 ) Merke:

/ 0 ∈ K 0

δ 0 ( 0, / x ) = 0 / für alle x ∈ Σ

(20)

Beweis (Fortsetzung)

Konstruktion des determinierten endlichen Automaten A DEA formal:

Gegeben: Indeterminierter endlicher Automa

A NDEA = ( K ,Σ,∆, I , F )

Wir konstruieren: Determinierten endlichen Automaten

A DEA = ( K 0 , Σ, δ 0 , I 0 , F 0 ) Merke:

/ 0 ∈ K 0

δ 0 ( 0, / x ) = 0 / für alle x ∈ Σ

(21)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Beweis durch Induktion über die Länge von w:

Induktionsanfang:

δ 0∗ ( M ,ε) = M = [

q

M

{ q } = [

q

M

( q ,ε)

(22)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Beweis durch Induktion über die Länge von w:

Induktionsanfang:

δ 0∗ ( M ,ε) = M = [

q

M

{ q } = [

q

M

( q ,ε)

(23)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Beweis durch Induktion über die Länge von w:

Induktionsanfang:

δ 0∗ ( M ,ε) = M = [

q

M

{ q } = [

q

M

( q ,ε)

(24)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Induktionsschritt:

δ 0∗ ( M , wa )

= δ 00∗ ( M , w ), a ) Def. von

= S

p

∈δ

0∗

(

M

,

w

) ∆( p , a ) Definition von δ 0

= S

p

∈( ∪

q∈M

(

q

,

w

) )∆( p , a ) Ind.-Vor. für δ 0 ( M , w )

= { q 0 | ∃ q ∈ M ∃ p ∈ ∆ ( q , w ) q 0 ∈ ∆( p , a )}

= { q 0 | ∃ q ∈ M q 0 ∈ ∆ ( q , wa )} Def. von

= S

q

M

( q , wa )

(25)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Induktionsschritt:

δ 0∗ ( M , wa )

= δ 00∗ ( M , w ), a ) Def. von

= S

p

∈δ

0∗

(

M

,

w

) ∆( p , a ) Definition von δ 0

= S

p

∈( ∪

q∈M

(

q

,

w

) )∆( p , a ) Ind.-Vor. für δ 0 ( M , w )

= { q 0 | ∃ q ∈ M ∃ p ∈ ∆ ( q , w ) q 0 ∈ ∆( p , a )}

= { q 0 | ∃ q ∈ M q 0 ∈ ∆ ( q , wa )} Def. von

= S

q

M

( q , wa )

(26)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Induktionsschritt:

δ 0∗ ( M , wa )

= δ 00∗ ( M , w ), a ) Def. von

= S

p

∈δ

0∗

(

M

,

w

) ∆( p , a ) Definition von δ 0

= S

p

∈( ∪

q∈M

(

q

,

w

) )∆( p , a ) Ind.-Vor. für δ 0 ( M , w )

= { q 0 | ∃ q ∈ M ∃ p ∈ ∆ ( q , w ) q 0 ∈ ∆( p , a )}

= { q 0 | ∃ q ∈ M q 0 ∈ ∆ ( q , wa )} Def. von

= S

q

M

( q , wa )

(27)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Induktionsschritt:

δ 0∗ ( M , wa )

= δ 00∗ ( M , w ), a ) Def. von

= S

p

∈δ

0∗

(

M

,

w

) ∆( p , a ) Definition von δ 0

= S

p

∈( ∪

q∈M

(

q

,

w

) )∆( p , a ) Ind.-Vor. für δ 0 ( M , w )

= { q 0 | ∃ q ∈ M ∃ p ∈ ∆ ( q , w ) q 0 ∈ ∆( p , a )}

= { q 0 | ∃ q ∈ M q 0 ∈ ∆ ( q , wa )} Def. von

= S

q

M

( q , wa )

(28)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Induktionsschritt:

δ 0∗ ( M , wa )

= δ 00∗ ( M , w ), a ) Def. von

= S

p

∈δ

0∗

(

M

,

w

) ∆( p , a ) Definition von δ 0

= S

p

∈( ∪

q∈M

(

q

,

w

) )∆( p , a ) Ind.-Vor. für δ 0 ( M , w )

= { q 0 | ∃ q ∈ M ∃ p ∈ ∆ ( q , w ) q 0 ∈ ∆( p , a )}

= { q 0 | ∃ q ∈ M q 0 ∈ ∆ ( q , wa )} Def. von

= S

q

M

( q , wa )

(29)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Induktionsschritt:

δ 0∗ ( M , wa )

= δ 00∗ ( M , w ), a ) Def. von

= S

p

∈δ

0∗

(

M

,

w

) ∆( p , a ) Definition von δ 0

= S

p

∈( ∪

q∈M

(

q

,

w

) )∆( p , a ) Ind.-Vor. für δ 0 ( M , w )

= { q 0 | ∃ q ∈ M ∃ p ∈ ∆ ( q , w ) q 0 ∈ ∆( p , a )}

= { q 0 | ∃ q ∈ M q 0 ∈ ∆ ( q , wa )} Def. von

= S

q

M

( q , wa )

(30)

Beweis (Fortsetzung) Lemma: Es ist

δ 0∗ ( M , w ) = [

q

M

( q , w )

Induktionsschritt:

δ 0∗ ( M , wa )

= δ 00∗ ( M , w ), a ) Def. von

= S

p

∈δ

0∗

(

M

,

w

) ∆( p , a ) Definition von δ 0

= S

p

∈( ∪

q∈M

(

q

,

w

) )∆( p , a ) Ind.-Vor. für δ 0 ( M , w )

= { q 0 | ∃ q ∈ M ∃ p ∈ ∆ ( q , w ) q 0 ∈ ∆( p , a )}

= { q 0 | ∃ q ∈ M q 0 ∈ ∆ ( q , wa )} Def. von

= S

q

M

( q , wa )

(31)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(32)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(33)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(34)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(35)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(36)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(37)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(38)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(39)

Beweis (Schluss) Es gilt für alle w ∈ Σ : w ∈ L ( A DEA )

gdw δ 0∗ ( I 0 , w ) ∈ F 0 (Def. der Sprache eines Automaten) gdw δ 0∗ ( I , w ) ∈ F 0 (da I 0 = I per Def.) gdw δ 0∗ ( I , w ) ∩ F 6= 0 / (Def. von F 0 ) gdw S

q

I

( q , w ) ∩ F 6= 0 / (nach Lemma) gdw ∃ q ∈ I ∃ q 0 ∈ F q 0 ∈ ∆ ( q , w )

gdw w ∈ L ( A NDEA ) (Def. der Sprache eines Automaten)

Damit: L ( A DEA ) = L ( A NDEA )

(40)

1

Determinierte endliche Automaten (DEAs)

2

Indeterminierte endliche Automaten (NDEAs)

3

Automaten mit epsilon-Kanten

4

Endliche Automaten akzeptieren genau die Typ-3-Sprachen

5

Pumping Lemma

6

Wortprobleme

7

Rational = Regulär

(41)

1

Determinierte endliche Automaten (DEAs)

2

Indeterminierte endliche Automaten (NDEAs)

3

Automaten mit epsilon-Kanten

4

Endliche Automaten akzeptieren genau die Typ-3-Sprachen

5

Pumping Lemma

6

Wortprobleme

7

Rational = Regulär

(42)

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 Zustandsübergang machen, ohne dabei einen Buchstaben zu lesen

(43)

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 Zustandsübergang machen, ohne dabei einen Buchstaben zu lesen

(44)

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 Zustandsübergang machen, ohne dabei einen Buchstaben zu lesen

(45)

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 Zustandsübergang machen, ohne dabei einen Buchstaben zu lesen

(46)

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 Zustandsübergang machen, ohne dabei einen Buchstaben zu lesen

(47)

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 Zustandsübergang machen, ohne dabei einen Buchstaben zu lesen

(48)

Definition 13.1 (Automat mit ε -Kanten)

Ein Automat mit ε -Kanten ( ε -NDEA) A ist ein Tupel A = ( K ,Σ,∆, I , F )

Dabei ist

K eine endliche Menge von Zuständen, Σ ein endliches Alphabet,

∆ ⊆ ( K × Σ ) × K eine eine Übergangsrelation, I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen

(49)

Definition 13.1 (Automat mit ε -Kanten)

Ein Automat mit ε -Kanten ( ε -NDEA) A ist ein Tupel A = ( K ,Σ,∆, I , F )

Dabei ist

K eine endliche Menge von Zuständen,

Σ ein endliches Alphabet,

∆ ⊆ ( K × Σ ) × K eine eine Übergangsrelation, I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen

(50)

Definition 13.1 (Automat mit ε -Kanten)

Ein Automat mit ε -Kanten ( ε -NDEA) A ist ein Tupel A = ( K ,Σ,∆, I , F )

Dabei ist

K eine endliche Menge von Zuständen, Σ ein endliches Alphabet,

∆ ⊆ ( K × Σ ) × K eine eine Übergangsrelation, I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen

(51)

Definition 13.1 (Automat mit ε -Kanten)

Ein Automat mit ε -Kanten ( ε -NDEA) A ist ein Tupel A = ( K ,Σ,∆, I , F )

Dabei ist

K eine endliche Menge von Zuständen, Σ ein endliches Alphabet,

∆ ⊆ ( K × Σ ) × K eine eine Übergangsrelation, I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen

(52)

Definition 13.1 (Automat mit ε -Kanten)

Ein Automat mit ε -Kanten ( ε -NDEA) A ist ein Tupel A = ( K ,Σ,∆, I , F )

Dabei ist

K eine endliche Menge von Zuständen, Σ ein endliches Alphabet,

∆ ⊆ ( K × Σ ) × K eine eine Übergangsrelation, I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen

(53)

Definition 13.1 (Automat mit ε -Kanten)

Ein Automat mit ε -Kanten ( ε -NDEA) A ist ein Tupel A = ( K ,Σ,∆, I , F )

Dabei ist

K eine endliche Menge von Zuständen, Σ ein endliches Alphabet,

∆ ⊆ ( K × Σ ) × K eine eine Übergangsrelation, I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen

(54)

Definition 13.2 (Erweiterung vonzu )

⊆ ( K × Σ ) × K

ist (ähnlich wie für NDEAs) definiert durch:

( ( q ,ε), q 0 ) gdw q 0 = q oder ∆( ( q ,ε), q 0 )

( ( q , w

1

w

2

), q 0 ) gdw ∃ q 00 ∈ K

( ( q , w

1

), q 00 ) ∨ ∆( ( q , w

1

), q 00 )

( ( q 00 , w

2

), q 0 ) ∨ ∆( ( q 00 , w

2

), q 0 )

(55)

Definition 13.3 (Von ε -NDEA akzeptierte Sprache) Die von einem Automaten mit ε -Kanten

A = ( K ,Σ,∆, I , F ) akzeptierte Sprache ist

L ( A ) := { w ∈ Σ | ∃ s

0

∈ I ∃ q ∈ F ∆ ( ( s

0

, w ) q ) }

(56)

Beispiel 13.4 (Automaten mit ε -Kanten)

s 0

>

aba

b b

ε ε

a ba

s

s s

1

2 3

Akzeptiert: { aba } { b }{ b } + { aba } { a } + { ba }

(57)

Theorem 13.5 ( ε -NDEA gleich mächtig wie NDEA)

Zu jedem Automaten mit ε -Kanten A existiert ein indeterminierter endlicher Automat A 0 mit

L (A) = L (A 0 )

(58)

Beweis.

Transformation von A in einen NDEA ohne ε -Kanten

1

Ersetze Übergänge:

mit nur einem Buchstaben markiert → beibehalten

mit einem Wort w markiert ( | w | = n) → ersetze durch n Übergänge (verwende n − 1 neue, zusätzlicher Zustände)

ε -Übergänge → statt diesen

∆( ( q , a ), q 00 ) für jedes Paar

∆( ( q , a ), q 0 ) und ∆( ( q 0 , ε), q 00 )

(59)

Beweis.

Transformation von A in einen NDEA ohne ε -Kanten

1

Ersetze Übergänge:

mit nur einem Buchstaben markiert → beibehalten

mit einem Wort w markiert ( | w | = n) → ersetze durch n Übergänge (verwende n − 1 neue, zusätzlicher Zustände)

ε -Übergänge → statt diesen

∆( ( q , a ), q 00 ) für jedes Paar

∆( ( q , a ), q 0 ) und ∆( ( q 0 , ε), q 00 )

(60)

Beweis.

Transformation von A in einen NDEA ohne ε -Kanten

1

Ersetze Übergänge:

mit nur einem Buchstaben markiert → beibehalten

mit einem Wort w markiert ( | w | = n) → ersetze durch n Übergänge (verwende n − 1 neue, zusätzlicher Zustände)

ε -Übergänge → statt diesen

∆( ( q , a ), q 00 ) für jedes Paar

∆( ( q , a ), q 0 ) und ∆( ( q 0 , ε), q 00 )

(61)

Beweis.

Transformation von A in einen NDEA ohne ε -Kanten

1

Ersetze Übergänge:

mit nur einem Buchstaben markiert → beibehalten

mit einem Wort w markiert ( | w | = n) → ersetze durch n Übergänge (verwende n − 1 neue, zusätzlicher Zustände)

ε -Übergänge → statt diesen

∆( ( q , a ), q 00 ) für jedes Paar

∆( ( q , a ), q 0 ) und ∆( ( q 0 , ε), q 00 )

(62)

Beweis.

Transformation von A in einen NDEA ohne ε -Kanten

1

Ersetze Übergänge:

mit nur einem Buchstaben markiert → beibehalten

mit einem Wort w markiert ( | w | = n) → ersetze durch n Übergänge (verwende n − 1 neue, zusätzlicher Zustände)

ε -Übergänge → statt diesen

∆( ( q , a ), q 00 ) für jedes Paar

∆( ( q , a ), q 0 ) und ∆( ( q 0 , ε), q 00 )

(63)

Beweis (Fortsetzugn)

Transformation von A in einen NDEA ohne ε -Kanten

2

Zusätzliche Initialzustände:

Falls q ∈ I und ∆ ( ( q , ε), q 0 ) , dann auch q 0 ∈ I

3

Finalzustände bleiben unverändert

(64)

Beweis (Fortsetzugn)

Transformation von A in einen NDEA ohne ε -Kanten

2

Zusätzliche Initialzustände:

Falls q ∈ I und ∆ ( ( q , ε), q 0 ) , dann auch q 0 ∈ I

3

Finalzustände bleiben unverändert

(65)

Beweis (Fortsetzugn)

Transformation von A in einen NDEA ohne ε -Kanten

2

Zusätzliche Initialzustände:

Falls q ∈ I und ∆ ( ( q , ε), q 0 ) , dann auch q 0 ∈ I

3

Finalzustände bleiben unverändert

(66)

Beispiel 13.6 (Der Automat mit ε -Kanten . . . )

s 0

>

aba

b b

ε ε

a ba

s

s s

1

2 3

Akzeptiert: { aba } { b }{ b } + { aba } { a } + { ba }

(67)

Beispiel 13.7 (. . . wird transformiert in den äquivalenten NDEA)

s 2 s 0

p

(aba,1)

p

(aba,2)

> b

>

a

a, b

b b

s 1

b

s 3

a a

b

p

(ba,1)

∗ ∗ ∗

(68)

1

Determinierte endliche Automaten (DEAs)

2

Indeterminierte endliche Automaten (NDEAs)

3

Automaten mit epsilon-Kanten

4

Endliche Automaten akzeptieren genau die Typ-3-Sprachen

5

Pumping Lemma

6

Wortprobleme

7

Rational = Regulär

(69)

1

Determinierte endliche Automaten (DEAs)

2

Indeterminierte endliche Automaten (NDEAs)

3

Automaten mit epsilon-Kanten

4

Endliche Automaten akzeptieren genau die Typ-3-Sprachen

5

Pumping Lemma

6

Wortprobleme

7

Rational = Regulär

(70)

Theorem 14.1 (Satz von Kleene: RAT = L

3

) Eine Sprache L ist rational gdw L ist regulär.

Merke:

L ist rational heißt: es gibt einen endlichen Automaten, der L akzeptiert

L ist regulär heißt: es gibt eine linkslineare Grammatik für L

(71)

Theorem 14.1 (Satz von Kleene: RAT = L

3

) Eine Sprache L ist rational gdw L ist regulär.

Merke:

L ist rational heißt: es gibt einen endlichen Automaten, der L akzeptiert

L ist regulär heißt: es gibt eine linkslineare Grammatik für L

(72)

Stephen Cole Kleene b 1909, d 1994 Mathematiker und Logiker

Promovierte bei Church in Princeton (wie Turing und viele andere)

Professor an der Universität von Wisconsin Einer der Begründer der theoretischen Informatik Unter anderem:

Erfinder der Regulären Ausdrücke

(73)

Stephen Cole Kleene b 1909, d 1994 Mathematiker und Logiker

Promovierte bei Church in Princeton (wie Turing und viele andere)

Professor an der Universität von Wisconsin Einer der Begründer der theoretischen Informatik Unter anderem:

Erfinder der Regulären Ausdrücke

(74)

Stephen Cole Kleene b 1909, d 1994 Mathematiker und Logiker

Promovierte bei Church in Princeton (wie Turing und viele andere)

Professor an der Universität von Wisconsin Einer der Begründer der theoretischen Informatik Unter anderem:

Erfinder der Regulären Ausdrücke

(75)

Stephen Cole Kleene b 1909, d 1994 Mathematiker und Logiker

Promovierte bei Church in Princeton (wie Turing und viele andere)

Professor an der Universität von Wisconsin Einer der Begründer der theoretischen Informatik Unter anderem:

Erfinder der Regulären Ausdrücke

(76)

Stephen Cole Kleene b 1909, d 1994 Mathematiker und Logiker

Promovierte bei Church in Princeton (wie Turing und viele andere)

Professor an der Universität von Wisconsin Einer der Begründer der theoretischen Informatik Unter anderem:

Erfinder der Regulären Ausdrücke

Referenzen

ÄHNLICHE DOKUMENTE

(bspw. für Algorithmentechnik, Software Engineering, Compilerbau) hilft, weitere Themen/Vorlesungen der Informatik zu verstehen veraltet nicht.

Zudem darf an der Nachklausur (wie auch an den Teilklausuren) teilnehmen, wer an einer Prüfung zu „Einführung in die Theoretische Informatik I“ in frühren Semestern teilgenommen

Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von. Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der

Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von. Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der

Jede Regelprämisse muss mindestens eine Variable enthalten Das Wort kann im Lauf der Ableitung beliebig wachsen und wieder schrumpfen. (Weitere) Beschränkung der Form, die Regeln

Jede Regelprämisse muss mindestens eine Variable enthalten Das Wort kann im Lauf der Ableitung beliebig wachsen und wieder schrumpfen. (Weitere) Beschränkung der Form, die Regeln

Ein Algorithmus für ein Problem P ist eine Vorschrift (ein Programm), die zu beliebigem Objekt o berechnet, ob die Eigenschaft für o zutrifft oder nicht..Q. Probleme und Algorithmen

Ein Algorithmus für ein Problem P ist eine Vorschrift (ein Programm), die zu beliebigem Objekt o berechnet, ob die Eigenschaft für o zutrifft oder