• 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!
51
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

(2)

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

(3)

Teil III

1

Determinierte endliche Automaten (DEAs)

2

Indetermnierte endliche Automaten (NDEAs)

3

Automaten mit ε -Kanten

4

Endliche Automaten ≡ Typ-3-Sprachen

5

Pumping Lemma

6

Wortprobleme

7

Rational = Regulär

(4)

Teil III

1

Determinierte endliche Automaten (DEAs)

2

Indetermnierte endliche Automaten (NDEAs)

3

Automaten mit ε -Kanten

4

Endliche Automaten ≡ Typ-3-Sprachen

5

Pumping Lemma

6

Wortprobleme

7

Rational = Regulär

(5)

Determiniert / indeterminiert

Determinierter endliche Automat

Für einen Zustand q und eine Eingabe a genau ein einziger Nachfolgezustand festgelegt durch Übergangsfunktion δ

Indeterminierter endlicher Automat

Für einen Zustand q und eine Eingabe a

evtl. mehrere Nachfolgezustände – oder gar keiner

festgelegt durch Übergangsrelation ∆

(6)

Determiniert / indeterminiert

Determinierter endliche Automat

Für einen Zustand q und eine Eingabe a genau ein einziger Nachfolgezustand festgelegt durch Übergangsfunktion δ

Indeterminierter endlicher Automat

Für einen Zustand q und eine Eingabe a

evtl. mehrere Nachfolgezustände – oder gar keiner

festgelegt durch Übergangsrelation ∆

(7)

Determiniert / indeterminiert

Determinierter endliche Automat

Für einen Zustand q und eine Eingabe a genau ein einziger Nachfolgezustand festgelegt durch Übergangsfunktion δ

Indeterminierter endlicher Automat

Für einen Zustand q und eine Eingabe a

evtl. mehrere Nachfolgezustände – oder gar keiner

festgelegt durch Übergangsrelation ∆

(8)

Determiniert / indeterminiert

Determinierter endliche Automat

Für einen Zustand q und eine Eingabe a genau ein einziger Nachfolgezustand festgelegt durch Übergangsfunktion δ

Indeterminierter endlicher Automat

Für einen Zustand q und eine Eingabe a

evtl. mehrere Nachfolgezustände – oder gar keiner

festgelegt durch Übergangsrelation ∆

(9)

Determiniert / indeterminiert

Determinierter endliche Automat

Für einen Zustand q und eine Eingabe a genau ein einziger Nachfolgezustand festgelegt durch Übergangsfunktion δ

Indeterminierter endlicher Automat

Für einen Zustand q und eine Eingabe a

evtl. mehrere Nachfolgezustände – oder gar keiner

festgelegt durch Übergangsrelation ∆

(10)

Indeterminierter endlicher Automat

Definition 12.1 (Indeterminierter endlicher Automat) Ein indeterminierter endlicher Automat (NDEA) ist ein Tupel

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

Dabei ist

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

∆ ⊆ ( K × Σ) × K eine Übergangsrelation,

I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen.

(11)

Indeterminierter endlicher Automat

Definition 12.1 (Indeterminierter endlicher Automat) Ein indeterminierter endlicher Automat (NDEA) ist ein Tupel

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

Dabei ist

K eine endliche Menge von Zuständen,

Σ ein endliches Alphabet,

∆ ⊆ ( K × Σ) × K eine Übergangsrelation,

I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen.

(12)

Indeterminierter endlicher Automat

Definition 12.1 (Indeterminierter endlicher Automat) Ein indeterminierter endlicher Automat (NDEA) ist ein Tupel

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

Dabei ist

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

∆ ⊆ ( K × Σ) × K eine Übergangsrelation,

I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen.

(13)

Indeterminierter endlicher Automat

Definition 12.1 (Indeterminierter endlicher Automat) Ein indeterminierter endlicher Automat (NDEA) ist ein Tupel

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

Dabei ist

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

∆ ⊆ ( K × Σ) × K eine Übergangsrelation,

I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen.

(14)

Indeterminierter endlicher Automat

Definition 12.1 (Indeterminierter endlicher Automat) Ein indeterminierter endlicher Automat (NDEA) ist ein Tupel

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

Dabei ist

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

∆ ⊆ ( K × Σ) × K eine Übergangsrelation,

I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen.

(15)

Indeterminierter endlicher Automat

Definition 12.1 (Indeterminierter endlicher Automat) Ein indeterminierter endlicher Automat (NDEA) ist ein Tupel

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

Dabei ist

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

∆ ⊆ ( K × Σ) × K eine Übergangsrelation,

I ⊆ K eine Menge von Startzuständen,

F ⊆ K eine Menge von finalen Zuständen.

(16)

Indeterminierter endlicher Automat: Übergangsrelation

Definition 12.2 (Erweiterung vonzu )

⊆ ( K × Σ ) × K

ist definiert durch:

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

( ( q , wa ), q 0 ) gdw ∃ q 00 ∈ K ∆ ( ( q , w ), q 00 ) ∧ ∆( ( q 00 , a ), q 0 )

(17)

NDEA: Akzeptierte Sprache

Wann akzeptiert ein indeterminierter Automat ein Wort?

Ein indeterminierter endlicher Automat A akzeptiert ein Wort w , wenn es mindestens einen Weg mit der Beschriftung w durch A gibt, der in einem finalen Zustand endet.

Definition 12.3 (Von einem NDEA akzeptierte Sprache)

Die von einem indeterminierten endlichen Automaten A akzeptierte Sprache ist

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

0

∈ I ∃ q ∈ F ∆ ( ( s

0

, w ), q )}

(18)

NDEA: Akzeptierte Sprache

Wann akzeptiert ein indeterminierter Automat ein Wort?

Ein indeterminierter endlicher Automat A akzeptiert ein Wort w , wenn es mindestens einen Weg mit der Beschriftung w durch A gibt, der in einem finalen Zustand endet.

Definition 12.3 (Von einem NDEA akzeptierte Sprache)

Die von einem indeterminierten endlichen Automaten A akzeptierte Sprache ist

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

0

∈ I ∃ q ∈ F ∆ ( ( s

0

, w ), q )}

(19)

NDEA: Akzeptierte Sprache

Wann akzeptiert ein indeterminierter Automat ein Wort?

Ein indeterminierter endlicher Automat A akzeptiert ein Wort w , wenn es mindestens einen Weg mit der Beschriftung w durch A gibt, der in einem finalen Zustand endet.

Definition 12.3 (Von einem NDEA akzeptierte Sprache)

Die von einem indeterminierten endlichen Automaten A akzeptierte Sprache ist

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

0

∈ I ∃ q ∈ F ∆ ( ( s

0

, w ), q )}

(20)

NDEA: Akzeptierte Sprache

Wann akzeptiert ein indeterminierter Automat ein Wort?

Ein indeterminierter endlicher Automat A akzeptiert ein Wort w , wenn es mindestens einen Weg mit der Beschriftung w durch A gibt, der in einem finalen Zustand endet.

Definition 12.3 (Von einem NDEA akzeptierte Sprache)

Die von einem indeterminierten endlichen Automaten A akzeptierte Sprache ist

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

0

∈ I ∃ q ∈ F ∆ ( ( s

0

, w ), q )}

(21)

NDEA: Beispiel

Beispiel 12.4 Der Automat

A = ({ S

0

, S

1

, S

2

},{ a , b },∆,{ S

0

}, { S

0

}) mit

∆( S

0

, a ) = { S

1

}

∆( S

1

, b ) = { S

0

, S

2

}

∆( S

2

, a ) = { S

0

}

akzeptiert die Sprache

L = { ab , aba }

(22)

NDEA: Beispiel

Beispiel 12.4 Der Automat

A = ({ S

0

, S

1

, S

2

},{ a , b },∆,{ S

0

}, { S

0

}) mit

∆( S

0

, a ) = { S

1

}

∆( S

1

, b ) = { S

0

, S

2

}

∆( S

2

, a ) = { S

0

}

akzeptiert die Sprache

L = { ab , aba }

(23)

NDEA: Graphische Darstellung

Der indeterminierte Automat aus Beispiel 12.4

A : > s

0

b

a a

b

s

s

1

2

(24)

Indeterminierter endlicher Automat

Vom indeterminierten Automaten zum Algorithmus?

Vom Automaten zum Algorithmus (für das Wortproblem):

DEA = Algorithmus

NDEA + Suchstrategie = Algorithmus

Zwei Sichtweisen auf indeterminierte Automaten Der Automat durchläuft alle Wege

(parallel oder mittels Backtracking)

Der Automat rät, welcher von mehreren möglichen Folgezuständen der

richtige ist

(25)

Indeterminierter endlicher Automat

Vom indeterminierten Automaten zum Algorithmus?

Vom Automaten zum Algorithmus (für das Wortproblem):

DEA = Algorithmus

NDEA + Suchstrategie = Algorithmus

Zwei Sichtweisen auf indeterminierte Automaten Der Automat durchläuft alle Wege

(parallel oder mittels Backtracking)

Der Automat rät, welcher von mehreren möglichen Folgezuständen der

richtige ist

(26)

NDEA und DEA: Beispiel

Beispiel 12.5 (DEA für gleiche Sprache wie NDEA aus Bsp. 12.4) a

> a b a

b

b a b

a b

A:

(27)

NDEA und DEA

Vergleich NDEA / DEA

NDEA:

A :

>

s0

b

a a

b

s

s

1

2

DEA:

a

> a b a

b

b a b

a b

A:

DEA hat mehr Zustände, komplizierter DEA muss nicht „raten“

DEA braucht genauso viele Schritte

(28)

NDEA und DEA

Vergleich NDEA / DEA

NDEA:

A :

>

s0

b

a a

b

s

s

1

2

DEA:

a

> a b a

b

b a b

a b

A:

DEA hat mehr Zustände, komplizierter DEA muss nicht „raten“

DEA braucht genauso viele Schritte

(29)

NDEA und DEA

Vergleich NDEA / DEA

NDEA:

A :

>

s0

b

a a

b

s

s

1

2

DEA:

a

> a b a

b

b a b

a b

A:

DEA hat mehr Zustände, komplizierter DEA muss nicht „raten“

DEA braucht genauso viele Schritte

(30)

NDEA und DEA

Vergleich NDEA / DEA

NDEA:

A :

>

s0

b

a a

b

s

s

1

2

DEA:

a

> a b a

b

b a b

a b

A:

DEA hat mehr Zustände, komplizierter DEA muss nicht „raten“

DEA braucht genauso viele Schritte

(31)

NDEA und DEA

Wir zeigen später:

Für jeden indeterminierten Automaten A NDEA gibt es einen determinierten Automaten A DEA mit

L ( A NDEA ) = L ( A DEA )

(32)

NDEA und DEA: Weiteres Beispiel

Beispiel 12.6

Determinierter Automat für die Sprache

L = { a , b } { a }{ a , b }

(die Sprache aller Wörter über { a , b } , deren zweitletzter Buchstabe ein a ist)

(33)

NDEA und DEA: Weiteres Beispiel

Beispiel 12.6

Determinierter Automat für die Sprache

L = { a , b } { a }{ a , b }

(die Sprache aller Wörter über { a , b } , deren zweitletzter Buchstabe ein a ist)

(34)

NDEA und DEA: Weiteres Beispiel

Beispiel 12.6

Determinierter Automat für die Sprache

L = { a , b } { a }{ a , b }

(die Sprache aller Wörter über { a , b } , deren zweitletzter Buchstabe ein a ist)

> s A:

b b a

a

a b

b

a

0

s s

s

1

2

3

(35)

NDEA und DEA: Weiteres Beispiel

Beispiel 12.6

Determinierter Automat für die Sprache

L = { a , b } { a }{ a , b }

(die Sprache aller Wörter über { a , b } , deren zweitletzter Buchstabe ein a ist)

> s A:

b b a

a

a b

b

a

0

s s

s

1

2

3

(36)

NDEA und DEA: Weiteres Beispiel

Beispiel 12.7

Indeterminierter Automat für die Sprache

L = { a , b } { a }{ a , b }

(die Sprache aller Wörter über { a , b } , deren zweitletzter Buchstabe ein a ist)

(37)

NDEA und DEA: Weiteres Beispiel

Beispiel 12.7

Indeterminierter Automat für die Sprache

L = { a , b } { a }{ a , b }

(die Sprache aller Wörter über { a , b } , deren zweitletzter Buchstabe ein a ist)

A : >

a,b

a a,b

(38)

NDEA und DEA: Größenvergleich

Größenvergleich (Worst case)

Sprache über { a , b } der Wörter, deren nt-letzter Buchstabe ein a ist

Determinierter Automat: 2

n

Zustände

(einen für jede Buchstabenkombination der Länge n)

Indeterminierter Automat: n + 1 Zustände

(39)

NDEA und DEA: Größenvergleich

Größenvergleich (Worst case)

Sprache über { a , b } der Wörter, deren nt-letzter Buchstabe ein a ist

Determinierter Automat: 2

n

Zustände

(einen für jede Buchstabenkombination der Länge n)

Indeterminierter Automat: n + 1 Zustände

(40)

NDEA und DEA: Größenvergleich

Größenvergleich (Worst case)

Sprache über { a , b } der Wörter, deren nt-letzter Buchstabe ein a ist

Determinierter Automat: 2

n

Zustände

(einen für jede Buchstabenkombination der Länge n)

Indeterminierter Automat: n + 1 Zustände

(41)

Gleichmächtigkeit von DEA und NDEA

Theorem 12.8 (DEA gleich mächtig 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 A DEA mit L = L ( A DEA ) .

Jeder determinierte endliche Automat ist aber insbesondere auch ein

(42)

Gleichmächtigkeit von DEA und NDEA

Theorem 12.8 (DEA gleich mächtig 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 A DEA mit L = L ( A DEA ) .

Jeder determinierte endliche Automat ist aber insbesondere auch ein

(43)

Gleichmächtigkeit von DEA und NDEA

Theorem 12.8 (DEA gleich mächtig 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 A DEA mit L = L ( A DEA ) .

Jeder determinierte endliche Automat ist aber insbesondere auch ein

(44)

Gleichmächtigkeit von DEA und NDEA

Theorem 12.8 (DEA gleich mächtig 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 A DEA mit L = L ( A DEA ) .

Jeder determinierte endliche Automat ist aber insbesondere auch ein

(45)

Gleichmächtigkeit von DEA und NDEA

Beweis (Forsetzung)

“:

Sei

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

ein (beliebiger) indeterminierter endlicher Automat.

Er akzeptiert die Sprache L ( A NDEA ) .

Beweisidee:

Konstruiere aus A NDEA einen determinierten Automaten A DEA mit

L ( A NDEA ) = L ( A DEA )

(46)

Gleichmächtigkeit von DEA und NDEA

Beweis (Forsetzung)

“:

Sei

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

ein (beliebiger) indeterminierter endlicher Automat.

Er akzeptiert die Sprache L ( A NDEA ) .

Beweisidee:

Konstruiere aus A NDEA einen determinierten Automaten A DEA mit

L ( A NDEA ) = L ( A DEA )

(47)

Gleichmächtigkeit von DEA und NDEA

Beweis (Forsetzung)

“:

Sei

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

ein (beliebiger) indeterminierter endlicher Automat.

Er akzeptiert die Sprache L ( A NDEA ) .

Beweisidee:

Konstruiere aus A NDEA einen determinierten Automaten A DEA mit

L ( A NDEA ) = L ( A DEA )

(48)

Gleichmächtigkeit von DEA und NDEA

Beweis (Forsetzung) Fortsetzung . . .

Zustände in A DEA bestehen aus Mengen von Zuständen von A NDEA

Wenn man in A NDEA mit w nach q

1

, . . . , q

n

gelangt, dann gelangt man in A DEA mit w nach q 0 = { q

1

, . . . , q

n

} . Initialer Zustand von A DEA :

Menge aller initialen Zustände von A NDEA

Finale Zustände von A DEA :

Jede Menge von Zustände, die einen finalen Zustand von A NDEA enthält

(49)

Gleichmächtigkeit von DEA und NDEA

Beweis (Forsetzung) Fortsetzung . . .

Zustände in A DEA bestehen aus Mengen von Zuständen von A NDEA

Wenn man in A NDEA mit w nach q

1

, . . . , q

n

gelangt, dann gelangt man in A DEA mit w nach q 0 = { q

1

, . . . , q

n

} . Initialer Zustand von A DEA :

Menge aller initialen Zustände von A NDEA

Finale Zustände von A DEA :

Jede Menge von Zustände, die einen finalen Zustand von A NDEA enthält

(50)

Gleichmächtigkeit von DEA und NDEA

Beweis (Forsetzung) Fortsetzung . . .

Zustände in A DEA bestehen aus Mengen von Zuständen von A NDEA

Wenn man in A NDEA mit w nach q

1

, . . . , q

n

gelangt, dann gelangt man in A DEA mit w nach q 0 = { q

1

, . . . , q

n

} . Initialer Zustand von A DEA :

Menge aller initialen Zustände von A NDEA

Finale Zustände von A DEA :

Jede Menge von Zustände, die einen finalen Zustand von A NDEA enthält

(51)

Gleichmächtigkeit von DEA und NDEA

Beweis (Forsetzung) Fortsetzung . . .

Zustände in A DEA bestehen aus Mengen von Zuständen von A NDEA

Wenn man in A NDEA mit w nach q

1

, . . . , q

n

gelangt, dann gelangt man in A DEA mit w nach q 0 = { q

1

, . . . , q

n

} . Initialer Zustand von A DEA :

Menge aller initialen Zustände von A NDEA

Finale Zustände von A DEA :

Jede Menge von Zustände, die einen finalen Zustand von A NDEA enthält

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