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 / 219
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 / 219
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
Determiniert / indeterminiert
Determinierter endliche Automat
Für einen Zustandqund eine Eingabea genau ein einzigerNachfolgezustand festgelegt durch Übergangsfunktionδ
Indeterminierter endlicher Automat Für einen Zustandqund eine Eingabea
evtl.mehrere Nachfolgezustände– odergar keiner festgelegt durch Übergangsrelation∆
Indeterminierter endlicher Automat
Definition 12.1 (Indeterminierter endlicher Automat) Einindeterminierterendlicher 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⊆KeineMenge von Startzuständen, F⊆K eine Menge von finalen Zuständen.B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 137 / 219
Indeterminierter endlicher Automat: Übergangsrelation
Definition 12.2 (Erweiterung von∆zu∆∗)
∆∗⊆
(
K×Σ∗)
×Kist definiert durch:
∆∗
( (
q,ε),q0)
gdw q0=
q∆∗
( (
q,wa),
q0)
gdw ∃q00∈K ∆∗( (
q,w),
q00)
∧ ∆( (q00,a),
q0)
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 138 / 219
NDEA: Akzeptierte Sprache
Wann akzeptiert ein indeterminierter Automat ein Wort?
Ein indeterminierter endlicher AutomatAakzeptiert ein Wortw, wenn esmindestens einenWeg mit derBeschriftungwdurchAgibt, der in einemfinalenZustand endet.
Definition 12.3 (Von einem NDEA akzeptierte Sprache)
Die von einem indeterminierten endlichen AutomatenAakzeptierteSprache ist
L
(
A)
:= {w∈Σ∗ | ∃s0∈I∃q∈F ∆∗( (
s0,w),
q)}
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 139 / 219
NDEA: Beispiel
Beispiel 12.4
Der Automat
A
= ({
S0,S1,S2},{a,b},∆,{S0},{S0}) mit∆(S0,a
) =
{S1}∆(S1,b
) =
{S0,S2}∆
(
S2,a) =
{S0}akzeptiert die Sprache
L
=
{ab,aba}∗B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 140 / 219
NDEA: Graphische Darstellung
Der indeterminierte Automat aus Beispiel 12.4
A : s
>
0b
a a
b
s
s
1
2
Akzeptiert: {ab,aba}∗
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 141 / 219
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äuftalleWege
(paralleloder mittelsBacktracking)
Der Automaträt, welcher von mehreren möglichen Folgezuständen der richtige ist
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 142 / 219
NDEA und DEA: Beispiel
Beispiel 12.5 (DEA für gleiche Sprache wie NDEA aus Bsp. 12.4) a
>
a b ab
b a b
a b
A:
Akzeptiert: {ab,aba}∗
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
NDEA und DEA
Wir zeigen später:
Für jeden indeterminierten AutomatenANDEA gibt es einen determinierten AutomatenADEAmit
L
(
ANDEA) =
L(
ADEA)
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 145 / 219
NDEA und DEA: Weiteres Beispiel
Beispiel 12.6
DeterminierterAutomat für die Sprache
L
=
{a,b}∗{a}{a,b}(die Sprache aller Wörter über{a,b}, deren zweitletzter Buchstabe einaist)
>
s A:b b a
a
a b
b
a
0
s s
s
1
2
3
Idee: Im Zustand jeweils die letzten zwei Buchstaben merken
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 146 / 219
NDEA und DEA: Weiteres Beispiel
Beispiel 12.7
IndeterminierterAutomat für die Sprache
L
=
{a,b}∗{a}{a,b}(die Sprache aller Wörter über{a,b}, deren zweitletzter Buchstabe einaist)
A : >
a,b
a a,b
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 147 / 219
NDEA und DEA: Größenvergleich
Größenvergleich (Worst case)
Sprache über{a,b}der Wörter, derennt-letzter Buchstabe einaist
Determinierter Automat: 2nZustände
(einen für jede Buchstabenkombination der Längen) Indeterminierter Automat: n
+
1ZuständeB. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 148 / 219
Gleichmächtigkeit von DEA und NDEA
Theorem 12.8 (DEA gleich mächtig wie NDEA) Eine Sprache ist rational
(es gibt einendeterminiertenendlichen Automaten, der sie akzeptiert) gdw
es gibt einenindeterminiertenendlichen Automaten, der sie akzeptiert.
Beweis.
„⇒“:
SeiLeine rationale Sprache.
Dann gibt es laut Definition einen
determinierten endlichen AutomatenADEAmitL
=
L(
ADEA)
.Jeder determinierte endliche Automat ist aber insbesondere auch ein (besonderer) indeterminierter endlicher Automat.
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 149 / 219
Gleichmächtigkeit von DEA und NDEA
Beweis (Forsetzung)
„⇐“:
Sei
ANDEA
= (
K,Σ,∆,I,F)
ein (beliebiger) indeterminierter endlicher Automat.
Er akzeptiert die SpracheL
(
ANDEA)
.Beweisidee:
Konstruiere ausANDEAeinen determinierten AutomatenADEAmit L
(
ANDEA) =
L(
ADEA)
mit Hilfe einer Potenzmengenkonstruktion . . .
B. Beckert – Grundlagen d. Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 150 / 219
Gleichmächtigkeit von DEA und NDEA
Beweis (Forsetzung) Fortsetzung . . .
Zustände inADEAbestehen aus Mengen von Zuständen vonANDEA
Wenn man inANDEAmitwnachq1, . . . ,qngelangt, dann gelangt man inADEAmitwnachq0
=
{q1, . . . ,qn}. Initialer Zustand vonADEA:Menge aller initialen Zustände vonANDEA
Finale Zustände vonADEA:
Jede Menge von Zustände, die einen finalen Zustand vonANDEAenthält