• Keine Ergebnisse gefunden

δ ( { , } , )= { , , , } { , , , } ∆ ( , )= { , } ∆ ( , )= { , } { , } = { ∈{ , } | } { , } GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI GleichmächtigkeitvonDEAundNDEA GleichmächtigkeitvonDEAundNDEA Dank

N/A
N/A
Protected

Academic year: 2021

Aktie "δ ( { , } , )= { , , , } { , , , } ∆ ( , )= { , } ∆ ( , )= { , } { , } = { ∈{ , } | } { , } GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI GleichmächtigkeitvonDEAundNDEA GleichmächtigkeitvonDEAundNDEA Dank"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Bernhard Beckert

Institut für Informatik

Sommersemester 2007

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 1 / 222

Dank

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

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 2 / 222

Gleichmächtigkeit von DEA und NDEA

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

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 152 / 222

Gleichmächtigkeit von DEA und NDEA

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 }

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 153 / 222

(2)

Gleichmächtigkeit von DEA und NDEA

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.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 154 / 222

Gleichmächtigkeit von DEA und NDEA

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.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 155 / 222

Gleichmächtigkeit von DEA und NDEA

Zunächst ein konkretes Beispiel

Es ergibt sich folgender determinierter Automat A DEA :

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 156 / 222

Gleichmächtigkeit von DEA und NDEA

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 )

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 157 / 222

(3)

Gleichmächtigkeit von DEA und NDEA

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)

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 158 / 222

Gleichmächtigkeit von DEA und NDEA

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 ∈ Σ

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 159 / 222

Gleichmächtigkeit von DEA und NDEA

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 ,ε)

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 160 / 222

Gleichmächtigkeit von DEA und NDEA

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 )

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 161 / 222

(4)

Gleichmächtigkeit von DEA und NDEA

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 )

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 162 / 222

Teil III

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

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 163 / 222

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

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 164 / 222

Automaten mit ε -Kanten: Definition

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

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 165 / 222

(5)

Automaten mit ε -Kanten: Übergangsrelation

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 )

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 166 / 222

Automaten mit ε -Kanten: Akzeptierte Sprache

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 ) }

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 167 / 222

Automaten mit ε -Kanten: Beispiel

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 }

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 168 / 222

Gleichmächtigkeit von Automaten mit ε -Kanten und NDEAs

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 )

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 169 / 222

(6)

Gleichmächtigkeit: Beweis

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 )

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 170 / 222

Gleichmächtigkeit von Automaten mit ε -Kanten und NDEAs

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

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 171 / 222

Gleichmächtigkeit: Beispiel

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 }

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 172 / 222

Gleichmächtigkeit: Beispiel

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)

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

B. Beckert – Grundlagen d. Theoretischen Informatik: Automaten mit epsilon-Kanten SS 2007 173 / 222

(7)

Teil III

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

B. Beckert – Grundlagen d. Theoretischen Informatik: Endliche Automaten akzeptieren genau die Typ-3-Sprachen SS 2007 174 / 222

Satz von Kleene

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

B. Beckert – Grundlagen d. Theoretischen Informatik: Endliche Automaten akzeptieren genau die Typ-3-Sprachen SS 2007 175 / 222

Satz von Kleene

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

B. Beckert – Grundlagen d. Theoretischen Informatik: Endliche Automaten akzeptieren genau die Typ-3-Sprachen SS 2007 176 / 222

Referenzen

ÄHNLICHE DOKUMENTE

Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 140 / 219... Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 141

Beweisidee (eine Richtung): Zu jeder regulären Sprache gibt es einen endlichen Automaten, der diese akzeptiert:.. L (∅) L (ε) L ( a

Man zeichnet alle Kanten ein, die benötigt werden, damit sich die von dem Automaten akzeptierte Sprache nicht ändert, wenn man die ε -Kante wegläÿt:.. Hierzu überlegt man sich,

Zu jedem endlichen nichtdeterministischen Automaten gibt es einen endlichen deterministischen Automaten, der dieselbe Sprache akzeptiert.. Bemerkung: Jeder Automat mit ε -Übergängen

Beweisidee (eine Richtung): Zu jeder regulären Sprache gibt es einen endlichen Automaten, der diese akzeptiert:. L (∅) L (ε) L ( a

Man zeichnet alle Kanten ein, die benötigt werden, damit sich die von dem Automaten akzeptierte Sprache nicht ändert, wenn man die -Kante wegläÿt. Hierzu kann man sich überlegen,

Zeichne alle Kanten ein, die benötigt werden, damit sich die von dem Automaten akzeptierte Sprache nicht ändert, wenn man die -Kante wegläÿt... deterministische

Bei Eingabe von schlauer soll der FST beispielsweise Adj + Komp (für Komparativ) ausgeben, bei Eingabe von feinsten etwa Adj + Sup (für Superlativ). 2) Erstellen Sie einen