kleine Folien (.pdf)
kleine Folien (.pdf)
kleine Folien (.pdf)
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Automatenund Berechenbarkeit, SoS2011 1<br />
✬<br />
✩<br />
Definition 1.1 Ein Quintupel A = (X,Z,z0, δ,Z f) heißt<br />
nichtdeterministischer endlicher Automat(NEA):⇔<br />
1. X,Z sind endliche nichtleere Mengen.<br />
2. z0 ∈ Z<br />
3. Z f ⊆ Z<br />
4. δ ⊆ Z ×X×Z<br />
Bemerkung: Ein Automat A heißt deterministisch, falls es<br />
zu jedem Paar (z,x) ∈ Z ×X höchstens ein z ′ ∈ Z mit<br />
(z,x,z ′ ) ∈ δ gibt, und A heißt vollständig, falls es<br />
zu jedem Paar (z,x) ∈ Z ×X mindestens ein z<br />
✫<br />
′ ∈ Z mit<br />
(z,x,z ′ ) ∈ δ gibt.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 3<br />
✬<br />
✩<br />
Lemma 1.1<br />
DieKlasse L (X)<br />
FA := {LA : LA ⊆ X ∗ ∧ A ist NEA} ist<br />
abgeschlossen unterden Operationen ∩, ∪, · und ∗ .<br />
Definition 1.3 Ein DEA ist ein Quintupel<br />
A = (X,Z,z0, f,Z f),wobei<br />
1. X,Z endliche nichtleere Mengen sind,<br />
2. z0 ∈ Z,<br />
3. Z f ⊆ Z,und<br />
4. f :⊆ Z ×X → Z.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 2<br />
✬<br />
✩<br />
Schreibweise: A : z w<br />
−→ z ′<br />
✫<br />
e<br />
A : z −→ z<br />
A : z<br />
x<br />
−→ z ′<br />
A : z wx<br />
−→ z ′<br />
: ⇐⇒ (z,x,z ′ ) ∈ δ<br />
: ⇐⇒ ∃z ′′ (z ′′ ∈ Z ∧<br />
A : z w<br />
−→ z ′′ ∧ (z ′′ ,x,z ′ ) ∈ δ)<br />
w<br />
Definition 1.2 LA := {w : ∃z(z ∈ ZF ∧ A : z0 −→ z)}<br />
ist die von A akzeptierte Sprache.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 4<br />
✬<br />
✩<br />
Satz 1.2 (Potenzmengenkonstruktion)<br />
Zujedem nichtdeterministischen endlichen Automaten<br />
A = (X,Q,q0, δ,Q f) gibt eseinen vollständigen DEA<br />
B = (X,S,s0, f,S f) mit LA = LB.<br />
Konstruktion:<br />
1. S := {Q ′ : Q ′ ⊆ Q} (Potenzmenge !)<br />
2. s0 := {q0}<br />
3. S f := {Q ′ : Q ′ ∩Q f = ∅}<br />
4. f(Q ′ ,x) := {q ′ : ∃q(q ∈ Q ′ ∧ (q,x,q ′ ) ∈ δ)}<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 5<br />
✬<br />
✩<br />
✫<br />
Pattern matching<br />
gegeben: p,t ∈ X ∗ (Pattern,Text)<br />
gesucht: Liste der Präfixe (t1,...t k) von t,<br />
die t i ∈ X ∗ · p erfüllen<br />
1. naives Verfahren (slidingwindow); Zeitschranke<br />
O(|p| · |t|)<br />
2. Verfahren von KNUTH-MORRIS-PRATT<br />
(KMP-Verfahren);ZeitschrankeO(|p| + |t|)<br />
Vorverarbeitungvon p in ZeitO(|p|):Konstruktion<br />
eines vollständigen DEA,der X ∗ · p akzeptiert.<br />
3. weitere Verfahren ...<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 7<br />
✬<br />
✩<br />
Definition 1.6 Esseien A = (X,Z,z0, f,Z f) und<br />
B = (X,S,s0,g,S f) DEAen. EineAbbildung φ : Z → S<br />
heißt Homomorphismusvon A nach B : ⇐⇒<br />
1. φ(z0) = s0<br />
2. φ(Z f) ⊆ S f und φ(Z Z f) ∩S f = ∅<br />
3. φ(f(z,x)) = g(φ(z),x)<br />
Lemma 1.3 Sind A und B initial zusammenhängende<br />
DEAen und ist B homomorphesBild von A,so gilt<br />
LA = LB.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 6<br />
✬<br />
✩<br />
Vereinbarung:<br />
Für A = (X,Z,z0, δ,Z f) sei Az := (X,Z,z, δ,Z f).<br />
Definition 1.4 Essei A = (X,Z,z0, δ,Z f) ein NEA. Zwei<br />
Zustände z,z ′ ∈ Z heißen äquivalent(ununterscheidbar)<br />
✫<br />
: ⇐⇒ ∀w(w ∈ X ∗ → (w ∈ LAz ←→ w ∈ LAz ′ )) .<br />
Definition 1.5 Füreinen DEA A = (X,Z,z0, f,Z f) heißt<br />
w ∈ X ∗ ein die Zustände z und z ′ unterscheidendes<br />
Experiment : ⇐⇒<br />
f(z,w) ∈ Z f ←→ f(z ′ ,w) /∈ Z f .<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 8<br />
✬<br />
✩<br />
Definition 1.7 (Nerode-Rechtskongruenz)<br />
Essei L ⊆ X ∗ .Wir nennen u,v ∈ X ∗ kongruent<br />
(u ∼L v) : ⇐⇒<br />
∀w w ∈ X ∗ → (uw ∈ L ↔ vw ∈ L) <br />
Notation: [u]∼L := {v : u ∼L v}<br />
Folgerung 1.4 1. ∼L ist Äquivalenzrelation auf X ∗ .<br />
2. L ist eine Vereinigung von Äquivalenzklassen von ∼L.<br />
3. ∼L ist rechtsstabil bezüglich der Operation ” ·“.<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 9<br />
✬<br />
✩<br />
Notation: X∗ /∼L := {[u]∼L : u ∈ X∗ } und<br />
L/∼L := {[u]∼L : u ∈ L}<br />
Definition 1.8 (Minimalautomat)<br />
A = (X, X/∼L, [e]∼L , fL, L/∼L),<br />
wobei fL([w]∼L ,x) := [wx]∼L<br />
Satz 1.5 AL akzeptiert L.<br />
Satz 1.6 Ist A = (X,Z,z0, f,Z f) ein vollständiger<br />
initial zusammenhängender deterministischer Automat,der<br />
L akzeptiert, so ist AL homomorphesBild von A.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 11<br />
✬<br />
✩<br />
Lemma 1.10 Essei A = <br />
X,Z,z0, f,Z f ein initial<br />
zusammmenhängenderDEA, der dieSprache L ⊆ X∗ akzeptiert. Danngilt fürjeden Homomorphismus φ von A<br />
nach AL dieBeziehung:<br />
✫<br />
φ(z) = φ(z ′ ) ⇐⇒ LA z = LA z ′ .<br />
Folgerung 1.11 Wird L ⊆ X∗ durch einen NEA akzeptiert,<br />
so ist auch X∗ Ldurch einen NEA akzeptierbar.<br />
Lemma 1.12 Essei A = <br />
X,Z,z0, δ,Z f ein NEA.Dann<br />
gelten<br />
1. LA = ∅ ⇐⇒ ∃w(w ∈ LA ∧ |w| < |Z|)<br />
2. |LA| = ℵ0 ⇐⇒ ∃w(w ∈ LA ∧ |Z| ≤ |w| < 2|Z|)<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 10<br />
✬<br />
✩<br />
Lemma 1.7 Es sei A = <br />
X,Z,z0, δ,Z f ein NEA. Dann<br />
gibt eseinen vollständigen NEA A = <br />
X,Z,z0, δ,Z f , der<br />
LA = LA , Z ⊆ Z, δ ⊆ δ und |Z| ≤ |Z| +1 erfüllt.<br />
Lemma 1.8 Ist A = <br />
X,Z,z0, f,Z f ein vollständiger<br />
DEA,der die Sprache L ⊆ X∗ akzeptiert, so gilt<br />
|Z| ≥ |X∗ /∼L|.<br />
Satz 1.9 Essei L ⊆ X ∗ durch einen DEA akzeptiert. Dann<br />
ist der Minimalautomat AL der (bisaufIsomorphie)<br />
eindeutig bestimmtevollständige DEA mit minimaler<br />
Zustandsanzahl,der L akzeptiert.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 12<br />
✬<br />
✩<br />
✫<br />
Patternmatching beim emacs<br />
(mit regexps)<br />
gegeben: t ∈ X ∗ (Text), p ∈ (X ∪ Γ) ∗ (Pattern-Menge)<br />
gesucht: Liste der Präfixe (t1,...t k) von t,<br />
die auf p ” passen“<br />
abc, PQR:XYZ einfache Muster (Wörter)<br />
[A-Z0-9], [!?;], [a-yA-Q] Buchstabenmengen<br />
\(〈P1〉\|〈P2〉\) Alternative (Vereinigung)<br />
〈P1〉〈P2〉 Aneinanderreihung<br />
\(〈P〉\)* Wiederholung(Iteration)<br />
✪
Automatenund Berechenbarkeit, SoS2011 13<br />
✬<br />
✩<br />
Definition 2.1 EineSprache L ⊆ X ∗ heißt regulär(oder:<br />
rational) : ⇐⇒<br />
1. L ist endliche Teilmenge von X ∗ ,oder<br />
2. esgibt reguläre Sprachen L1,L2 derart, daß<br />
L = L1 ∪L2,L = L1 ·L2 oder L = L ∗ 1 gilt.<br />
3. Eine Sprache L ⊆ X ∗ ist nurdannregulär, wenn dies<br />
aufGrund von 1.oder 2.der Fallist.<br />
Lemma 2.1 Jede reguläre Sprache ist durch einen endlichen<br />
Automatenakzeptierbar.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 15<br />
✬<br />
✩<br />
Entscheidungsprobleme für Sprachen L ⊆ X ∗<br />
Gegeben seienSprachen L1,L2 ⊆ X ∗ .Gesuchtsind<br />
Algorithmen, die Antworten auf die folgenden Fragen<br />
geben:<br />
1. ” L = ∅ ?“ (Leerheitsproblem)<br />
2. ” L = X ∗ ?“<br />
3. Ist L endlich? (Endlichkeitsproblem)<br />
4. Hat L genau n Elemente?<br />
5. ” L1 ⊆ L2 ?“ (Inklusionsproblem)<br />
6. ” L1 = L2 ?“ (Gleichheitsproblem)<br />
7. L1 ∩L2 = ∅ ?“ (Disjunktheitsproblem)<br />
✫”<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 14<br />
✬<br />
✩<br />
Lemma 2.2 Jede durch einen endlichen Automaten<br />
akzeptierbare Sprache ist regulär.<br />
Satz 2.3 (Kleene) Eine Sprache L ⊆ X ∗ ist genau dann<br />
regulär, wenn sie durch einen endlichen Automaten<br />
akzeptierbarist.<br />
Satz 2.4 FüreineSprache L ⊆ X ∗ sind die folgenden<br />
Bedingungen äquivalent:<br />
1. L ist regulär.<br />
2. L ist durch einen NEAakzeptierbar.<br />
3. L wird durch einen vollständigen DEA akzeptiert.<br />
4. DieNerode-Rechtskongruenz ∼L hat endlichen Index.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 16<br />
✬<br />
✩<br />
✫<br />
Endliche Automatenals<br />
informationsverarbeitende Systeme<br />
✛v ∈ Y M ✛<br />
∗ w ∈ X∗ ϕM(w) := v<br />
✪
Automatenund Berechenbarkeit, SoS2011 17<br />
✬<br />
✩<br />
Definition 3.1 Ein Sextupel M = (X,Y,Z,z0, f,g) heißt<br />
verallgemeinertsequentielle Maschine (gsm):⇔<br />
1. (X,Z,z0, f,Z) ist ein vollständiger DEA.<br />
2. Y ist eine nichtleere endliche Menge.<br />
3. g : Z ×X → Y ∗<br />
Ausdehnungvon g auf Z ×X ∗ :<br />
✫<br />
g(z,e) := e<br />
g(z,wx) := g(z,w) ·g(f(z,w),x)<br />
Notation: ϕM(w) := g(z0,w)<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 19<br />
✬<br />
✩<br />
Satz 3.2 Essei ϕ : X ∗ → Y ∗ gsm-Funktion.Danngelten:<br />
1. ϕ(e) = e<br />
2. ϕ ist präfixtreu,d.h. aus w ⊑ v folgt ϕ(w) ⊑ ϕ(v).<br />
3. ϕ ist linear beschränkt, d.h. |ϕ(wx)| − |ϕ(w)| ≤ cϕ.<br />
4. ϕ −1 ist regularitätserhaltend, d.h. ϕ −1 (L) ⊆ X ∗ ist<br />
regulär, falls L ⊆ Y ∗ regulär ist.<br />
5. ϕ ist regularitätserhaltend, d.h. ϕ(W) ⊆ Y ∗ ist<br />
regulär, fallsW ⊆ X ∗ regulär ist.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 18<br />
✬<br />
✩<br />
Definition 3.2 EineFunktion ϕ : X ∗ → Y ∗ heißt<br />
gsm-Funktion,falls es eineverallgemeinert sequentielle<br />
Maschine M mit ϕ = ϕM gibt.<br />
Definition 3.3 EineFunktion ϕ : X ∗ → Y ∗ heißt<br />
Homomorphismus : ⇐⇒<br />
✫<br />
∀w∀v w,v ∈ X ∗ → ϕ(w ·v) = ϕ(w) · ϕ(v) <br />
Lemma 3.1 Ist L ⊆ X ∗ reguläre Spracheund ist<br />
ϕ Homomorphismusvon X ∗ nachY ∗ ,so ist auch<br />
ϕ(L) = {ϕ(w) : w ∈ L} regulär.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 20<br />
✬<br />
✩<br />
ZumBeweis von Satz 3.2.4<br />
a) Voraussetzungen: ϕ = ϕM für<br />
M = (X,Y,Z,z0, f,g)<br />
L = LA für A = (Y,S,s0,h,S f)<br />
b) Konstruktion: B := (X,Z ×S, (z0,s0), f,Z ×S f) mit<br />
✫<br />
f((z,s),x) := (f(z,x),h(s,g(z,x)))<br />
c)Verifikation: Wirzeigen perInduktion<br />
f((z,s),w) := (f(z,w),h(s,g(z,w))).<br />
Dann gilt LB = {w : f((z0,s0),w) ∈ Z ×S f } =<br />
= {w : h(s0,g(z0,w)) ∈ S f } = {w : ϕ(w) ∈ L}<br />
✪
Automatenund Berechenbarkeit, SoS2011 21<br />
✬<br />
✩<br />
Definition 3.4 (2-lokal testbare Sprachen) Eine Sprache<br />
W ⊆ X ∗ heißt 2-lokal testbar, falls<br />
1. W die Form V ·X ∗ , X ∗ ·V oder X ∗ ·V ·X ∗ mit<br />
V ⊆ {e} ∪X∪X 2 hat,oder<br />
2. es2-lokaltestbare SprachenW1,W2 mitW = W1 ∪W2<br />
oderW = X ∗ W1 gibt.<br />
Folgerung 3.3 Jede2-lokaltestbare Spracheist regulär.<br />
Lemma 3.4 Jede reguläre Sprache ist homomorphes Bild<br />
einer 2-lokaltestbaren Sprache.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 23<br />
✬<br />
✩<br />
Definition 4.1 Ein Quadrupel G = (N,X,S,P)heißt<br />
kontextfreie Grammatik (CFG):⇔<br />
1. N,X sind endliche nichtleere Mengen.<br />
2. N ∩X = ∅<br />
3. S ∈ N<br />
4. P ist endliche Teilmenge von N × (N ∪X) ∗<br />
Schreibweise:<br />
Für (A,w) ∈ P schreibenwir auch A →G w.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 22<br />
✬<br />
✩<br />
Satz 3.5 (Ginsburg, Rose) Es sei ϕ : X ∗ → Y ∗ eine<br />
Funktion,diedie Bedingungen<br />
1. ϕ(e) = e<br />
2. ϕ ist präfixtreu,d.h. aus w ⊑ v folgt ϕ(w) ⊑ ϕ(v).<br />
3. ϕ ist linear beschränkt, d.h. |ϕ(wx)| − |ϕ(w)| ≤ cϕ.<br />
4. ϕ −1 ist regularitätserhaltend, d.h. ϕ −1 (L) ⊆ X ∗ ist<br />
regulär, falls L ⊆ Y ∗ regulär ist.<br />
erfüllt, so gibt eseine verallgemeinert sequentielle<br />
Maschine M mit ϕM = ϕ.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 24<br />
✬<br />
✩<br />
Definition 4.2 (Ableitungsrelation)<br />
u ⊢G v :⇔ ∃A ∈ N ∃(A,w) ∈ P ∃u1,u2 ∈ (N ∪X) ∗ :<br />
✫<br />
u = u1 · A ·u2 ∧v = u1 ·w·u2<br />
u ⊢ n G v :⇔ ∃u1,u2,...,un−1 ∈ (N ∪X) ∗ :<br />
u ⊢G u1 ⊢G u2 ⊢G · · · ⊢G un−1 ⊢G v<br />
u ⊢ ∗ G v :⇔ ∃n ∈ IN : u ⊢n G v<br />
✪
Automatenund Berechenbarkeit, SoS2011 25<br />
✬<br />
✩<br />
✫<br />
Kontextfreie Sprachen<br />
Definition 4.3 1. L(G) := {w : w ∈ X ∗ ∧S ⊢ ∗ G w}<br />
2. L heißt kontextfrei : ⇐⇒<br />
∃G(G ist kontextfreie Grammatik ∧L = L(G))<br />
Definition 4.4 Essei G = (N,X,S,P)eine kontextfreie<br />
Grammatik.Ein Symbol A ∈ N heißt<br />
1. aus B erreichbar,falls ∃w1∃w2(B ⊢ ∗ G w1Aw2);<br />
2. terminierend, falls ∃w(w ∈ X ∗ ∧ A ⊢ ∗ G w).<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 27<br />
✬<br />
✩<br />
Lemma 4.4 Es sei A → w0A1w1....A lw l mit w i ∈ X ∗<br />
Regel einer kontextfreien Grammatik G.Sind A1,...,A l<br />
terminierend, so ist A terminierend.<br />
Sind A → v i (i = 1,...,k) sämtliche Regeln einer<br />
kontextfreien Grammatik G,die die linke Seite A ∈ N haben,<br />
und ist A terminierend, so gibt esein i derart, dass auchalle<br />
in v i vorkommenden Symboleaus N terminierend sind.<br />
Lemma 4.5 Ist A ⊢G w1 ⊢G w2 ⊢G ... ⊢G w l eine<br />
Ableitungskette bezüglich G und ist w l ∈ X ∗ , soist jedes<br />
auftretende Symbolaus N terminierend.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 26<br />
✬<br />
✩<br />
Lemma 4.1 Es sei G = (N,X,S,P)eine kontextfreie<br />
Grammatik,undesseien A,B,C ∈ N.Ist B aus Aerreichbar<br />
und ist C aus B erreichbar, so ist auch C aus A erreichbar.<br />
Lemma 4.2 Es sei A ⊢ ∗ G w1 ⊢ ∗ G w2 ⊢ ∗ G ... ⊢∗ G w l eine<br />
Ableitungskette bezüglich G,und essei B ein Buchstabe aus<br />
w l,dannist B aus A erreichbar.<br />
Folgerung 4.3 Essei G = (N,X,S,P)eine kontextfreie<br />
Grammatik,und essei N ′ die Mengealler aus S erreichbaren<br />
Symboleaus N.Danngilt L(G) = L(G ′ ) für<br />
G ′ := (N ′ ,X,S,P ′ ) mit P ′ := P ∩ (N ′ × (N ′ ∪X) ∗ ).<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 28<br />
✬<br />
✩<br />
Folgerung 4.6 Ist G = (N,X,S,P)einekontextfreie<br />
Grammatikund ist N ′′ ⊆ N dieMenge aller terminierenden<br />
Symbole,so ist L(G) = L(G ′′ ) für<br />
G ′′ := ({S} ∪ N ′′ ,X,S,P∩ N ′′ ×(N ′′ ∪X) ∗ ).<br />
Definition 4.5 EineGrammatik G = (N,X,S,P)heißt<br />
reduziert : ⇐⇒<br />
G = ({S},X,S, ∅)oder jedes Symbolin N ist sowohl<br />
terminierend als aucherreichbar.<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 29<br />
✬<br />
✩<br />
Lemma 4.7 Es sei G = (N,X,S,P)eine kontextfreie<br />
Grammatik.Dannläßt sich aus G eine Grammatik<br />
G ′ = (N ′ ,X,S,P ′ ) mit N ′ ⊆ N ohneRegeln derForm<br />
(A,e),die dieBeziehung L(G ′ ) = L(G) {e} erfüllt,<br />
konstruieren.<br />
Lemma 4.8 Es sei G = (N,X,S,P)eine kontextfreie<br />
Grammatik.Dannläßt sich aus G eine äquivalente<br />
Grammatik G ′ = (N ′ ,X,S,P ′ ) mit N ′ ⊆ N ohne<br />
Kettenregeln (d.h.Regeln der Form (A,B), B ∈ N)<br />
konstruieren.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 31<br />
✬<br />
✩<br />
✫<br />
Chomsky-Normalform (Konstruktion)<br />
Satz 4.9 Zujeder kontextfreien Grammatik G gibt eseine<br />
äquivalente G ′ in Chomsky-Normalform.<br />
Die Regeln derneuen Grammatik G ′ = (N ′ ,X,S,P ′ )<br />
entstehen ausdenen der alten G = (N,X,S,P)(e-frei<br />
und ohne Kettenregeln) wie folgt:<br />
⎧<br />
⎨ Xα ,falls α ∈ X<br />
Wirsetzen Xα :=<br />
⎩ α ,falls α ∈ N , und<br />
N ′<br />
:= N ∪ {Xx : x ∈ X} ∪<br />
{[v] : v ∈ (N ∪X) ∗ ∧2 ≤ |v| < max |w|}<br />
(A,w)∈P<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 30<br />
✬<br />
✩<br />
Definition 4.6 Einekontextfreie Grammatik<br />
G = (N,X,S,P)heißt e-frei : ⇐⇒<br />
1. P enthält, außereventuell S → e,keineRegel der Form<br />
A → e,und<br />
2. ist (S,e) ∈ P,so gilt P ⊆ N × (X ∪ N {S}) ∗ .<br />
Definition 4.7 Einekontextfreie Grammatik<br />
G = (N,X,S,P)ist in CHOMSKY-Normalform (CNF)<br />
: ⇐⇒<br />
1. G ist e-frei.<br />
2. P {(S,e)} ⊆ N × (X ∪ N 2 )<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 32<br />
✬<br />
✩<br />
✫<br />
alt neu Bedingung<br />
S → e S → e S → e ∈ P<br />
Xx → x x ∈ X<br />
A → v v ∈ X<br />
A → v A → XxXy v = xy,x,y ∈ N ∪X<br />
A → Xx[u] v = xu,x ∈ N ∪X, |u| ≥ 2<br />
[xy] → XxXy v = xy,x,y ∈ N ∪X<br />
[xu] → Xx[u] v = xu,x ∈ N ∪X, |u| ≥ 2<br />
✪
Automatenund Berechenbarkeit, SoS2011 33<br />
✬<br />
✩<br />
✫<br />
Cocke-Younger-Kasami-Algorithmus<br />
G = (N,X,S,P)kontextfrei in CNF, w = a1 · · ·an<br />
N ij = {A : A ⊢ ∗ G a i · · ·a j}, ” w ∈ LG ↔ S ∈ N1n“<br />
for i := 1 to n do Nii := {A : (A,ai) ∈ P} endfor<br />
for d := 1 to n −1 do<br />
for i := 1 to n −d do<br />
j := i +d<br />
N ij:=<br />
endfor<br />
endfor<br />
<br />
A : ∃(A,BC) ∈P ∃k:B ∈ N ik ∧C ∈ N (k+1)j<br />
<br />
Suche des geeigneten k<br />
<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 35<br />
✬<br />
✩<br />
Definition 5.1 Ein Septupel A = (X, Γ,Z,z0, γ0, δ,Z f)<br />
heißt nichtdeterministischer Kellerautomat(PDA):⇔<br />
1. X, Γ,Z sind endliche nichtleere Mengen.<br />
2. z0 ∈ Z, γ0 ∈ Γ<br />
3. Z f ⊆ Z<br />
4. δ ist endliche Teilmenge von<br />
Z × (X ∪ {e}) × Γ × Γ ∗ ×Z.<br />
Nachfolgekonfiguration:<br />
(z,uw, αγ) ⊢A (z ′ ,w, βγ),falls (z,u, α, β,z ′ ) ∈ δ<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 34<br />
✬<br />
✩<br />
✫<br />
Cocke-Younger-Kasami-Algorithmus(Beispiel)<br />
1 2 3 4 5 6 Grammatik<br />
1 S ∅ S ∅ ∅ S<br />
2 B A,B B B A,B S → SA | a<br />
3 S ∅ ∅ S A → BS<br />
4 B B A,B B → BB | BS | b | c<br />
5 B A,B<br />
6 S<br />
a b a c b a Nij = j−1 <br />
Nik ⋆G Nk+1,j k=i<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 36<br />
✬<br />
✩<br />
Definition 5.2 Ein Septupel A = (X, Γ,Z,z0, γ0, f,Z f)<br />
heißt deterministischer Kellerautomat (PDA):⇔<br />
1. X, Γ,Z sind endliche nichtleere Mengen.<br />
2. z0 ∈ Z, γ0 ∈ Γ<br />
3. Z f ⊆ Z<br />
4. f : Z × (X ∪ {e}) × Γ aus → Γ ∗ ×Z ist partielle<br />
Funktionmitder Eigenschaft:<br />
Ist f(z,e, α)definiert, so ist f(z,x, α)füralle x ∈ X<br />
nichtdefiniert.<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 37<br />
✬<br />
✩<br />
A = (X, Γ,Z,z0, γ0, δ,Z f)<br />
✫<br />
Ein Beispiel<br />
δ : ( z0 , a , γ0 , aγ0 , z0 )<br />
( z0 , a , a , aa , z0 )<br />
( z0 , b , a , e , z1 )<br />
( z1 , b , a , e , z1 )<br />
( z1 , e , γ0 , e , z f )<br />
(z0,aabb, γ0) ⊢ (z0,abb,aγ0) ⊢ (z0,bb,aaγ0) ⊢<br />
(z1,b,aγ0) ⊢ (z1,e, γ0) ⊢ (z f,e,e)<br />
(z0,aba, γ0) ⊢ (z0,ba,aγ0) ⊢ (z1,a, γ0) ⊢ (z f,a,e)<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 39<br />
✬<br />
✩<br />
Satz 5.2 1. Zujeder kontextfreien Grammatik<br />
G = (N,X,S,P)kannmaneffektiv einen PDA<br />
A = (X, Γ,Z,z0, γ0, δ) mit L(G) = N (A)<br />
konstruieren.<br />
2. Zujedem PDA A = (X, Γ,Z,z0, γ0, δ) kannman<br />
effektiv einekontextfreie Grammatik G = (N,X,S,P)<br />
mit N (A) = L(G)konstruieren.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 38<br />
✬<br />
✩<br />
✫<br />
L(A):= {w : w ∈ X ∗ ∧ ∃z∃γ(z ∈ Z f ∧ γ ∈ Γ ∗<br />
∧(z0,w, γ0) ⊢∗ A (z,e, γ))}<br />
N (A):= {w : w ∈ X∗ ∧ ∃z(z ∈ Z ∧ (z0,w, γ0) ⊢∗ A (z,e,e))}<br />
Satz 5.1 1. Zujedem PDA A = (X, Γ,Z,z0, γ0, δ,Z f)<br />
gibt eseinen PDA B = (X, Γ ′ ,S,s0, γ ′ 0 , δ′ ),der L(A)<br />
mit leerem Keller akzeptiert, d.h. L(A) = N (B).<br />
2. Zujedem PDA B = (X, Γ,S,s0, γ0, δ) gibtes einen<br />
PDA A derart, daß N (B) = L(A).<br />
Ist B deterministisch, sokannauch A deterministisch<br />
gewählt werden.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 40<br />
✬<br />
✩<br />
Definition 6.1 Esseien G = (N,X,S,P)eine kontextfreie<br />
Grammatikund k := max{|w| : A → w ∈ P}.<br />
(B, µ)heißt Ableitungsbaum zu G : ⇐⇒<br />
1. B ist präfixabgeschlossene Teilmenge von {1,...,k} ∗<br />
mit derEigenschaft<br />
∀w∀i(w ∈ {1,...,k} ∗ ∧i ∈ {2,...,k} ∧wi ∈ B →<br />
w(i −1) ∈ B).<br />
2. µ : B → X ∪ N mit derEigenschaft:<br />
Sind w1,...,wj sämtliche Nachfolger von w in B,so ist<br />
µ(w) → µ(w1) · · · µ(wj) ∈ P.<br />
3. µ(e) = S<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 41<br />
✬<br />
✩<br />
✫<br />
Pumping-Lemma für kontextfreie Grammatiken<br />
Lemma 6.1 Es sei L ⊆ X ∗ eine kontextfreie Sprache. Dann<br />
gibt eseine (von L abhängige) Konstante kL derart, dassfür<br />
alle Wörter w ∈ L mit |w| > kL folgendes gilt:<br />
Esgibt u,v,w,x,y ∈ X ∗ mitdenEigenschaften w = uvwxy<br />
vx = e und |vwx| ≤ kL sowie ∀i(i ∈ IN → uv i wx i y ∈ L).<br />
Lemma 6.2 Es sei G = (N,X,S,P)eine kontextfreie<br />
Grammatikin CHOMSKY-Normalform. Danngilt fürjedes<br />
w ∈ L(G)mit |w| > 2 |N| :<br />
Esgibt u,v,w,x,y ∈ X ∗ mit den Eigenschaften<br />
w = uvwxy vx = e und |vwx| ≤ 2 |N| sowie<br />
∀i(i ∈ IN → uv i wx i y ∈ L(G)).<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 43<br />
✬<br />
✩<br />
✫<br />
Beispiel und Anwendung<br />
G : S → AC|a, A → BS|b, B → b, C → BS<br />
Lemma 6.3 1. Die Sprache L = {a i b i c i : i ∈ IN} ist nicht<br />
kontextfrei.<br />
2. DieKlasse der (deterministisch) kontextfreien Sprachen<br />
ist nicht abgeschlossen unterDurchschnittsbildung,<br />
genauer: Esgibt deterministisch kontextfreie und<br />
gleichzeitig lineare Sprachen L1 und L2 derart, dass<br />
L1 ∩L2 nicht kontextfrei ist.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 42<br />
✬<br />
✩<br />
✫<br />
Ein Hilfssatzüber Bäume<br />
Hilfssatz:Es sei B ein höchstens k-verzweigterBaum<br />
mit derWurzel e.<br />
Hat B mehr als k m Blätter, sohat B eine Höhe ≥ m +1,<br />
d.h.es gibteinen von derWurzel e ausgehenden Pfad<br />
derLänge (Anzahl der Kanten) ≥ m +1 in B.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 44<br />
✬<br />
✩<br />
✫<br />
Operationen auf kontextfreien Sprachen<br />
Folgerung 6.4 Sind L1,L2 ⊆ X ∗ kontextfreie Sprachen, so<br />
sind auch L1 ∪L2, L1 ·L2 und L ∗ 1 kontextfrei.<br />
Lemma 6.5 Ist L ⊆ X ∗ eine(deterministisch) kontextfreie<br />
Sprache undist W ⊆ X ∗ einereguläre Sprache, so is L ∩W<br />
ebenfalls (deterministisch) kontextfrei.<br />
Lemma 6.6 Ist L ⊆ X ∗ einedeterministisch kontextfreie<br />
Sprache, so is X ∗ Lebenfalls deterministisch kontextfrei.<br />
✪
Automatenund Berechenbarkeit, SoS2011 45<br />
✬<br />
✩<br />
Lemma 6.7 Ist A = (X, Γ,Z,z0, γ0, f,Z f) ein<br />
deterministischer Kellerautomat,so gibt eseinen<br />
deterministischen Kellerautomaten A ′ mit L(A) = L(A ′ ),<br />
der jedes Eingabewort w ∈ X ∗ vollständig liest.<br />
Probleme bei derWandlung von A in A ′ :<br />
1. A hältvorzeitig bei leeremKeller.<br />
2. A brichtin derSituation (z, γ) ∈ Z × Γ die Arbeit<br />
vorzeitig ab.<br />
3. A gerätin der Situation (z, γ) ∈ Z × Γ in einen<br />
(unendlichen) Zyklus.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 47<br />
✬<br />
✩<br />
7 Turing-Maschinen<br />
Definition 7.1 Ein Septupel M = (X, Γ,Z,z0, , δ,Z f)<br />
heißt 0-TuringMaschine (0-TM):⇔<br />
1. X, Γ,Z sind endliche Mengen mit X ⊆ Γ.<br />
2. ∈ Γ X. wird Blank- oderLeersymbol genannt.<br />
3. z0 ∈ Z heißt Anfangszustand.<br />
4. Z f ⊆ Z sei die Mengeder Final- oder auch<br />
Endzustände.<br />
5. δ ⊆ Z × Γ ×Z×Γ×{0,R,L}die<br />
Überführungsrelation<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 46<br />
✬<br />
✩<br />
Lemma 6.8 Ist L ⊆ X ∗ einedeterministisch kontextfreie<br />
Sprache, so ist<br />
MIN(L) := {w : w ∈ L ∧ ∀v(v ⊏ w → v /∈ L)}ebenfalls<br />
deterministisch kontextfrei.<br />
Die Sprache PAL (2) := {w ·w R : w ∈ {a,b} ∗ ∧w = e}<br />
istnichtdeterministisch kontextfrei.Betrachten dazu<br />
PAL (2) ∩ (ab) ∗ · (ba) ∗ · (ab) ∗ · (ba) ∗ =<br />
{(ab) i · (ba) j · (ab) j · (ba) i : i,j ∈ IN}<br />
und<br />
MIN(PAL (2) ∩ (ab) ∗ · (ba) ∗ · (ab) ∗ · (ba) ∗ ) =<br />
{(ab) i · (ba) j · (ab) j · (ba) i : i,j ∈ IN ∧j < i}<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 48<br />
✬<br />
✩<br />
Vereinbarung 7.1<br />
✫<br />
• δ ⊆ (Z Z f) × Γ ×Z×Γ×{0,R,L},insbesondere<br />
ist für deterministische Turing Maschinen δ(z,x)nicht<br />
definiert falls z ∈ Z f<br />
• Z ∩ Γ = ∅<br />
Definition 7.2 w heißt Konfigurationder Turing<br />
Maschine M :⇔<br />
1. w ∈ Γ ∗ ZΓ ∗ und<br />
2. w /∈ (Γ ∪Z) ∗ ∪ (Γ ∪Z) ∗ <br />
✪
Automatenund Berechenbarkeit, SoS2011 49<br />
✬<br />
✩<br />
Definition 7.3<br />
1. Ers(w; α, β) bezeichne die Funktion,die daserste Vorkommen<br />
✫<br />
von α als Teilwort in w durchdasWort β ersetzt.<br />
2. η (w) := w für w /∈ (Γ ∪Z) ∗ ∪ (Γ ∪Z) ∗ , und<br />
η (w) = η (w) := η (w)<br />
3. w ′ heißt Nachfolgekonfigurationvon w [w |=M w ′ ] :⇔<br />
Ist yzx Teilwort von w mit x,y ∈ Γ, z ∈ Z,so ist<br />
w ′ ⎧<br />
⎪⎨<br />
η(Ers(w;yzx,yx =<br />
⎪⎩<br />
′ z ′ )), falls (z,x,z ′ ,x ′ ,R) ∈ δ,<br />
η(Ers(w;yzx,yz ′ x ′ )), falls (z,x,z ′ ,x ′ ,0) ∈ δ, und<br />
η(Ers(w;yzx,z ′ yx ′ )), falls (z,x,z ′ ,x ′ ,L) ∈ δ.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 51<br />
✬<br />
✩<br />
Definition 7.6 EineTM M akzeptiert die Sprache<br />
L ⊆ X ∗ :⇔<br />
✫<br />
∀v (v ∈ L ⇔ ∃w(w ∈ Γ ∗ Z fΓ ∗ ∧ z0v|= ∗<br />
M w))<br />
Definition 7.7 EineDTM M entscheidet dieSprache<br />
L ⊆ X ∗ :⇔<br />
1. ∀u (u ∈ X ∗ ⇒ ∃w(w ∈ Γ ∗ ZΓ ∗ ∧ z0u|= ∗<br />
M w |=M ∅))<br />
2. M akzeptiert L ⊆ X ∗<br />
Dabeiheiße w |=M ∅ : w hat keineNachfolgekonfiguration<br />
in M :<br />
∀w ′ (w ′ ∈ Γ ∗ ZΓ ∗ → ¬ w |=M w ′ )<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 50<br />
✬<br />
✩<br />
Definition 7.4<br />
1. Eine Konfiguration w heißt Anfangskonfiguration<br />
:⇔ w ∈ η(z0(X ∗ ) n ) fürein n ∈ IN.<br />
2. Eine Konfiguration w heißt Endkonfiguration, falls w<br />
keineNachfolgerkonfiguration hat (w |=M ∅).<br />
Definition 7.5 EineDTM M berechneteine (partielle)<br />
Funktion f :⊆ (X ∗ ) n → Γ ∗ :⇔<br />
Füralle (v1,...,vn) ∈ (X ∗ ) n gilt<br />
1. genau dann (v1,...,vn) ∈ dom(f),wenn es eine<br />
Endkonfiguration w ∈ Γ ∗ Z fΓ ∗ derart gibt, dass<br />
η(z0v1 v2... vn)|= ∗<br />
M w,und<br />
2. f(v1,...,vn) = η(w1w2),für w = w1zw2 mit z ∈ Zf ✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 52<br />
✬<br />
✩<br />
Akzeptierung und Entscheidung<br />
✫<br />
Akzeptierung Entscheidung<br />
Anfrage ’w ∈ L ?‘ ’w ∈ L ?‘<br />
Antworttyp ’ja‘ , wenn w ∈ L ’ja‘ ,wenn w ∈ L<br />
¬’ja‘ , wenn w /∈ L ’nein‘, wenn w /∈ L<br />
Verhalten des nichtdeterministisch deterministisch<br />
Automaten unddeterministisch<br />
Terminierung wenn w ∈ L, stets<br />
sonstbeliebig<br />
✪
Automatenund Berechenbarkeit, SoS2011 53<br />
✬<br />
✩<br />
Satz 7.1 Zujeder k-BandTuring-Maschine M die eine<br />
Sprache L ⊆ X ∗ akzeptiert (entscheidet) kannmaneine<br />
Ein-Band Turing-Maschine M ′ konstruieren, die auch<br />
L ⊆ X ∗ akzeptiert (entscheidet).<br />
M ′ arbeitet dabeiin der ZeitO(t2 M ),wenn M in der Zeit<br />
tM : X∗ → INarbeitet.<br />
Satz 7.2 Wird L ⊆ X ∗ von einer nichtdeterministischen<br />
Turing-Maschine akzeptiert, so wird L auchvon einer<br />
deterministischen Turing-Maschine akzeptiert.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 55<br />
✬<br />
✩<br />
Satz 7.4 Eine Sprache L ⊆ X ∗ ist genau dann<br />
Turing-akzeptierbar, wenn L Turing-aufzählbarist.<br />
Satz 7.5 Eine Sprache L ⊆ X ∗ ist genau dann<br />
Turing-entscheidbar, wenn ihre charakteristische Funktion<br />
χL Turing-berechenbar ist.<br />
Satz 7.6 (E. Post) Eine Sprache L ⊆ X ∗ ist genau dann<br />
Turing-entscheidbar, wenn sowohl L alsauch X ∗ L<br />
Turing-aufzählbar sind.<br />
Satz 7.7 Eine partielle Funktion ϕ :⊆ X ∗ → Γ ∗ ist genau<br />
dannTuring-berechenbar, wenn ihr Graph (d.h. ϕ als<br />
Teilmenge von X ∗ × Γ ∗ gesehen) Turing-akzeptierbar ist.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 54<br />
✬<br />
✩<br />
Definition 7.8 EineSprache L ⊆ X ∗ heißt<br />
Turing-aufzählbar :⇔<br />
1. L = ∅ oder<br />
2. esgibt eine Turing-berechenbare Funktion f : X ∗ → X ∗<br />
derart, daß dom(f) = X ∗ und L = {f(v) : v ∈ X ∗ }.<br />
Folgerung 7.3 Einenichtleere Sprache L = {v i : i ∈ IN}<br />
ist genau dann Turing-aufzählbar, wenn eseine DTM mit<br />
separatem einseitig unendlichen Ausgabeband gibt,die<br />
unendlich lange rechnet und dabeisukzessive die<br />
Bandinschrift v1 v2... v i ... produziert.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 56<br />
✬<br />
✩<br />
Folgerung 7.8 Essei ϕ :⊆ X ∗ → Γ ∗ Turing-berechenbar.<br />
Dannsind dom(ϕ) und ϕ(X ∗ ) Turing-aufzählbar.<br />
Folgerung 7.9 Ist f : X ∗ → Γ ∗ (dom(f) = X ∗ !)<br />
Turing-berechenbar, soist ihrGraph (d.h. f als Teilmenge<br />
von X ∗ × Γ ∗ gesehen) Turing-entscheidbar.<br />
Satz 7.10 Es sei L ⊆ X ∗ .Dannsind die folgenden<br />
Bedingungen äquivalent.<br />
1. L ist aufzählbar.<br />
2. L ist Definitionsbereich einer Turing-berechenbaren<br />
Funktion.<br />
3. L ist Wertebereich einer Turing-berechenbaren Funktion.<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 57<br />
✬<br />
✩<br />
8 RekursiveFunktionen<br />
Bezeichnung: F k := {f : f:IN k → IN} fürdie Menge<br />
aller k-stelligenFunktionen<br />
Konstruktionsschemata fürFunktionen<br />
Substitution S(f;g1,...,g k):IN m → IN<br />
Es seien f ∈ F k ,g1,...,g k ∈ F m .<br />
✫<br />
S(f;g1,...,g k)(x1,...,xm) :=<br />
f(g1(x1,...,xm) ,..., g k(x1,...,xm))<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 59<br />
✬<br />
✩<br />
✫<br />
Primitiv-rekursive Funktionen<br />
Anfangsfunktionen<br />
A0 := {o,s} ∪ {I m k<br />
induktiver Aufbau<br />
A i+1 := A i ∪<br />
: m,k ∈ IN ∧1 ≤ k ≤ m}<br />
{S(f;g1,...,g k) : k ∈IN ∧ f,g1,...,g k ∈ A i} ∪<br />
{R(g,h) : g,h ∈ A i}<br />
Abschluß PR := <br />
i∈IN A i<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 58<br />
✬<br />
✩<br />
PrimitiveRekursion R(g,h):IN m+1 → IN<br />
Es seien g ∈ F m und h ∈ F m+2 .<br />
x := (x1,...,xm) sei derParametervektor.<br />
✫<br />
R(g,h)(x,0) := g(x)<br />
R(g,h)(x,n +1) := h(x,n,R(g,h)(x,n))<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 60<br />
✬<br />
✩<br />
Satz 8.1 Primitiv-rekursive Funktionensind vollständig<br />
definierte Funktionen<br />
Lemma 8.2 Die Klasse PR ist abgeschlossen bezüglich<br />
1. Permutation vonVariablen,<br />
2. Identifizierung von Variablen,<br />
3. Einsetzung vonKonstanten,und<br />
4. Einführung fiktiver Variablen.<br />
Satz 8.3 Jedeprimitiv-rekursive Funktionist<br />
Turing-berechenbar.<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 61<br />
✬<br />
✩<br />
MinimaleNullstelle (Minimisierung)<br />
Es seien g ∈ F m+1 und x ∈ IN m .<br />
✫<br />
MIN(g)(x) := µt(g(x,t) = 0) ,wobei<br />
⎧<br />
min{z : g(x,z) = 0 ∧<br />
⎪⎨ ∀i ≤ z(g(x,i) ∈ IN)},<br />
µt(g(x,t) = 0) :=<br />
fallsex.,und<br />
⎪⎩<br />
nichtdef.,sonst.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 63<br />
✬<br />
✩<br />
Satz 8.4 Jedepartiell-rekursive Funktionist<br />
Turing-berechenbar.<br />
Satz 8.5 Eine (partielle) Funktion<br />
f :⊆ IN<br />
<br />
× ·<br />
<br />
· · ×IN<br />
<br />
→ INist genau dannpartiell-rekursiv,<br />
k−mal<br />
wenn eseine Turing-berechenbare Funktion<br />
ϕ :⊆ {0,1} ∗ × · · · × {0,1} ∗ → {0,1}<br />
<br />
k−mal<br />
∗ gibt, so daß<br />
f = bin −1 ◦S(ϕ,bin,...,bin ) gilt.<br />
<br />
k−mal<br />
Hierbei sei ” bin“ die durchdie unär-binär<br />
Konvertierungberechnete Funktion.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 62<br />
✬<br />
✩<br />
✫<br />
Partiell-rekursive Funktionen<br />
Anfangsfunktionen<br />
A ′ 0 := A0 = {o,s} ∪ {I m k<br />
induktiver Aufbau<br />
A ′ i+1 := A ′ i ∪<br />
: m,k ∈ IN ∧1 ≤ k ≤ m}<br />
{S(f;g1,...,g k) : k ∈IN ∧ f,g1,...,g k ∈ A i} ∪<br />
{R(g,h) : g,h ∈ A i} ∪<br />
{MIN(g) : g ∈ A i}<br />
Abschluß P := <br />
i∈IN A′ i<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 64<br />
✬<br />
✩<br />
Satz 8.6 (Hauptsatz derAlgorithmentheorie)<br />
Essei ϕ: (X ∗ ) n → X ∗ eine n-stellige Wortfunktion.Dann<br />
sind folgende Aussagen äquivalent:<br />
1. ϕ ist von einer Ein-Band-Turingmaschine berechenbar.<br />
2. ϕ ist von einer k-Band-Turingmaschineberechenbar.<br />
3. ϕ ist partiell-rekursiv.<br />
Church-Turing-These (Church, Turing 1936)<br />
Eine Wortfunktionistgenau dann imintuitiven Sinn<br />
berechenbar, wenn sieTuring-berechenbar ist.<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 65<br />
✬<br />
✩<br />
9 Universalität und<br />
✫<br />
Unentscheidbarkeit<br />
Eine Codierung für Turing-Maschinen über dem<br />
Alphabet X ⊇ {a,b,#}<br />
Zustände : z0,z1,z2,...<br />
Buchstaben : a0 = ,a1,...,a |X|,a |X|+1,...<br />
Vereinbarungen : z0 iststetsAnfangszustand<br />
z1 iststets<br />
akzeptierender Endzustand<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 67<br />
✬<br />
✩<br />
Folgerung 9.1 DieSprache<br />
CODE := {Code(M): Mist Turing-Maschine } ist<br />
regulär.<br />
Satz 9.2 (Turing, universelle Turingmaschine) Esgibt<br />
eine universelle Turingmaschine, d.h. eineTuringmaschine<br />
U,für diegilt:<br />
FüralleTuringmaschinen M über X gilt: U akzeptiert das<br />
WortCode(M) ·w genau dann,wenn die Turing-Maschine<br />
M (alsdeterministische TM gesehen) dasWort w ∈ X ∗<br />
akzeptiert.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 66<br />
✬<br />
✩<br />
Codierung von<br />
M = (X,Z, Γ,z0, , (d1,...,d ℓ), {z1},w0) mit<br />
d i ∈ Z × Γ ×Z×Γ×{−1,0, +1}<br />
✫<br />
Code(z i) := a i+1 #<br />
Code(a i) := b i+1 #<br />
Code((z i,a j,z k,a l, β)) := a i+1 #b j+1 #a k+1 #b l+1 #a β+2 #<br />
mit β ∈ {−1,0, +1}<br />
Code(δ) := Code(d1) · · ·Code(d ℓ)##,<br />
wobei δ = (d1,...,d ℓ)<br />
Code(M) := Code(δ)##Code(w0)###<br />
mit w0 ∈ X ∗ (Initialpräfix)<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 68<br />
✬<br />
✩<br />
DeterministischeSimulationvon M durch<br />
✫<br />
die universelle Turing-Maschine U<br />
1. U zerlegtEingabe in Code(δ),Code(w0) und<br />
w ∈ X ∗ .<br />
2. U wandelt w = w1 · · ·w |w| ∈ X ∗ ,w i ∈ X,in<br />
Code(w) := Code(w1) · · ·Code(w |w|) umund<br />
schreibtCode(z0)Code(w0w) als<br />
Anfangskonfigurationauf.<br />
3. U berechnet durchVergleich mit Code(δ)<br />
sukzessivedie Nachfolgekonfigurationen,indem<br />
dererste anwendbare Befehl angewendet wird<br />
(deterministische Simulation !).<br />
✪
Automatenund Berechenbarkeit, SoS2011 69<br />
✬<br />
✩<br />
Satz 9.3 DieSprache<br />
Univ := {Code(M)w: MistDTMundakzeptiert w}<br />
ist aufzählbar,abernicht entscheidbar.<br />
Satz 9.4 DieSprache<br />
Halt := {Code(M)w : M ist DTMund hält aufEingabe w}<br />
ist aufzählbar,abernicht entscheidbar.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 71<br />
✬<br />
✩<br />
Folgerung 9.6 DasHalteproblemfürDTMaufleeremBand<br />
He := {Code(M): Mist DTM und hält aufEingabe e}<br />
ist unentscheidbar.<br />
Lemma 9.7 DasÄquivalenzproblem<br />
Äqu := {Code(M1)#Code(M2):<br />
M1 und M2 sind DTM,die dieselbe Sprache akzeptieren}<br />
fürDTM ist unentscheidbar.<br />
Satz 9.8 Dasspezielle Halteproblem Hs :=<br />
{Code(M): Mist DTMund hält aufEingabeCode(M)}<br />
fürDTM ist aufzählbar,abernicht entscheidbar.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 70<br />
✬<br />
✩<br />
Definition 9.1 Esseien L1 und L2 Sprachen über X.Dann<br />
heißt L1 auf L2 reduzierbar(Schreibweise: L1 ≤m L2),<br />
wenn eseine überall definierte, Turing-berechenbare<br />
Funktion f:X ∗ → X ∗ derart gibt, dassgilt:<br />
∀w(w ∈ X ∗ → (w ∈ L1 ↔ f(w) ∈ L2)).<br />
Lemma 9.5 Gilt L1 ≤m L2 undist L2 Turing-entscheidbar<br />
(Turing-akzeptierbar), dannist L1 Turing-entscheidbar<br />
(Turing-akzeptierbar).<br />
Umgekehrt gilt: Falls L1 ≤m L2 gilt und L1 nicht<br />
Turing-entscheidbar (Turing-akzeptierbar) ist, so ist auch L2<br />
nicht Turing-entscheidbar (Turing-akzeptierbar).<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 72<br />
✬<br />
✩<br />
10 Polynomialzeitberechnung<br />
Definition 10.1 (Rechenzeit, Anzahl der Rechenschritte)<br />
Füreine DTM T sei<br />
tT (v) := sup{i : ∃K1...∃K i(z0v |= K1 |= ... |= K i)}.<br />
Füreine NTM T , die L ⊆ X ∗ akzeptiert und die die<br />
akzeptierende Finalkonfiguration K f hat,sei<br />
⎧<br />
⎪⎨<br />
inf{i +1 : ∃K1...∃K i(z0v |= ... |= Ki |= Kf)}, tT (v) := falls v ∈ L,und<br />
⎪⎩<br />
0, anderenfalls.<br />
✫<br />
tT (n) := sup{tT (v) : |v| = n}<br />
✪
Automatenund Berechenbarkeit, SoS2011 73<br />
✬<br />
✩<br />
Definition 10.2<br />
✫<br />
P := {L : L ⊆ X ∗ ∧ esgibt eine DTM M,<br />
die L entscheidet ∧ ∃k(tM(n) ∈ O(n k ))}<br />
NP := {L : L ⊆ X ∗ ∧ esgibt eine NTM M,<br />
die L akzeptiert ∧ ∃k(tM(n) ∈ O(n k ))}<br />
Definition 10.3 L ⊆ X∗ ist polynomiell reduzierbar auf<br />
W ⊆ Y∗ <br />
: ⇐⇒ ∃g g : X∗ → Y∗ ∧gist in polynomieller Zeit berechenbar<br />
<br />
∧ ∀w (w ∈ L ↔ g(w) ∈ W) .<br />
Schreibweise: L ≤ P m W<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 75<br />
✬<br />
✩<br />
Definition 10.4<br />
L heißt NP-schwierig(NP-hard) : ⇐⇒<br />
∀W (W ∈ NP → W ≤ P m L)<br />
L heißt NP-vollständig (NP-complete) : ⇐⇒<br />
L ∈ NP ∧List NP-schwierig<br />
Folgerung 10.2 Ist L NP-schwierig und L ≤ P m W,so ist<br />
auchW NP-schwierig.<br />
Lemma 10.3 Ist L ⊆ X ∗ NP-schwierig und L ∈ P,so gilt<br />
P = NP.<br />
Lemma 10.4 Ist L ⊆ X ∗ NP-schwierig und<br />
L ∈ co-NP := {X ∗ W : W ∈ NP},sogilt NP = co-NP.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 74<br />
✬<br />
✩<br />
Lemma 10.1<br />
✫<br />
1. A ≤ P m A<br />
2. A ≤ P m B ∧B ≤ P m C → A ≤ P m C<br />
3. A ≤ P m B ↔ A ≤P m B<br />
4. A ∈ P ∧B /∈ {∅,X ∗ } → A ≤ P m B<br />
5. A ≤ P m B ∧B ∈ P → A ∈ P<br />
6. A ≤ P m B ∧B ∈ NP → A ∈ NP<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 76<br />
✬<br />
✩<br />
✫<br />
Einige NP-vollständige Probleme<br />
Erfüllbarkeitsproblem (SAT):<br />
input AussagenlogischeFormel ϕ(x1,...,xm)<br />
mit den Variablen x i<br />
output true, falls eseine Belegung<br />
false, sonst.<br />
β : {x i : i ∈ IN} → {0,1}<br />
derVariablen x i gibt,<br />
die β(ϕ(x1,...,xm)) = 1 ergibt.<br />
✪
Automatenund Berechenbarkeit, SoS2011 77<br />
✬<br />
✩<br />
Traveling Salesman Problem (TSP):<br />
input Liste von Städten (a1,...,am), a i ∈ IN,<br />
✫<br />
die Abstände d(a i,a j) ∈ IN, b ∈ IN<br />
output true, falls eseine Toureiner Länge ≤ b gibt,<br />
false, sonst.<br />
Hamilton Kreis(HK):<br />
die jede Stadt einmal durchläuft<br />
input ungerichteter Graph (E,K)<br />
output true, falls eseinen Kreisin (E,K)gibt,<br />
false, sonst.<br />
derjeden Knoten genau einmal berührt<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 79<br />
✬<br />
✩<br />
ZumBeweis des Satzes vonCook<br />
NTM M= (X, Γ, Z, δ, z0, , Z f), p-zeitbeschränktfür<br />
ein Polynom p mit o.B.d.A.der folgenden Eigenschaft:<br />
(z,a,z ′ ,b,d), (z,a,z ′ ,b ′ ,d ′ ) ∈ δ → b = b ′ ∧d = d ′<br />
Aussagenvariablen<br />
• Z[t,z]:zumZeitpunkt t Zustand z<br />
• K[t,j]:zumZeitpunkt t Kopf an Position j<br />
• S[t,j, γ]:zumZeitpunkt t an Position j Symbol γ<br />
Bereiche:0 ≤ t ≤ p(n), −p(n) ≤ j ≤ p(n),z ∈ Z, γ ∈ Γ<br />
Zahl der Variablen:O([p(n)]<br />
✫<br />
2 ),<br />
Länge der Kodierungeiner Klausel:O([p(n)] 2 log p(n))<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 78<br />
✬<br />
✩<br />
Variablen x i<br />
Literale x i oder ¬x i<br />
Klauseln (¬)x i1 ∨...∨(¬)x im<br />
KNF<br />
✫<br />
lj=1 klausel j<br />
(¬x1 ∨...∨¬xm ∨y1 ∨...∨yn) istäquivalentzu<br />
(x1 ∧...∧xm) → y1 ∨...∨yn<br />
Satz 10.5 (Cook) SAT ist NP-vollständig.<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 80<br />
✬<br />
✩<br />
Klauselmengen<br />
C1: zujedem Zeitpunkt t genau ein Zustand<br />
{Z[t,z] : z ∈ Z},0 ≤ t ≤ p(n)<br />
Z[t,z1],Z[t,z2]},0 ≤ t ≤ p(n),z1,z2 ∈ Z,z1 = z2<br />
✫<br />
Zahl der Klauselnin C1:O(p(n))<br />
C2: zujedem Zeitpunkt t eindeutige Kopfposition j<br />
{K[t,j] : −p(n) ≤ j ≤ p(n)},0 ≤ t ≤ p(n)<br />
K[t,j1],K[t,j2] ,0 ≤ t ≤ p(n), −p(n) ≤ j1 < j2 ≤<br />
p(n)<br />
Zahl der Klauselnin C2:O([p(n)] 3 )<br />
✪
Automatenund Berechenbarkeit, SoS2011 81<br />
✬<br />
✩<br />
C3: zujedem Zeitpunkt t an jeder Stelle j genau ein<br />
Symbol γ ∈ Γ<br />
{S[t,j, γ] : γ ∈ Γ}, −p(n) ≤ j ≤ p(n),0 ≤ t ≤ p(n)<br />
S[t,j, γ1],S[t,j, γ2]},0 ≤ t ≤ p(n), −p(n) ≤ j ≤<br />
✫<br />
p(n), γ1, γ2 ∈ Γ, γ1 = γ2<br />
Zahl der Klauselnin C3 : O([p(n)] 2 )<br />
C4: zumZeitpunkt0Anfangskonfiguration mit<br />
Eingabe w = x1 · · ·xn<br />
{Z[0,z0]}, {K[0,1]}, {S[0,j,x j]},1 ≤ j ≤ n<br />
{S[0,j,]}, −p(n) ≤ j ≤ 0 oder n < j ≤ p(n)<br />
Zahl der Klauselnin C4:O(p(n))<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 83<br />
✬<br />
✩<br />
✫<br />
– falls Kopfan Position j,soVeränderung gemäß<br />
Transitionstabelle δ odernurErhöhung derZeit<br />
in einem Finalzustand z ∈ Z f<br />
{K[t,j],Z[t,z],S[t,j, γ],Z[t +1,z ′ ], S[t +1,j, γ ′ ]},<br />
{K[t,j],Z[t,z],S[t,j, γ],Z[t +1,z ′ ],<br />
K[t +1,j+d ]},<br />
(z, γ,z ′ , γ ′ ,d) ∈ δ oder<br />
z ∈ Z f,z ′ = z, γ ′ = γ,d = 0,<br />
0 ≤ t < p(n), −p(n) ≤ j ≤ p(n)<br />
Zahl der Klauselnin C6 : O([p(n)] 2 )<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 82<br />
✬<br />
✩<br />
C5: zueinem Zeitpunkt t akzeptierende Konfiguration<br />
{Z[t,z] : z ∈ Z f ∧0 ≤ t ≤ p(n)}<br />
Zahl der Klauselnin C5: 1( der Länge p(n) · |Z f |)<br />
C6: zujedem Zeitpunkt t +1 Nachfolgekonfiguration<br />
dervorherigen Konfiguration<br />
✫<br />
– falls Kopfnicht an Position j, sobleibtInhalt<br />
gleich<br />
{K[t,j],S[t,j, γ],S[t +1,j, γ]},<br />
0 ≤ t < p(n), −p(n) ≤ j ≤ p(n), γ ∈ Γ<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 84<br />
✬<br />
✩<br />
Definition 10.5 Essei (E,K)ungerichteter Graph. Eine<br />
Teilmenge Q ⊆ E heißt Clique, falls {q,q ′ } ∈ K füralle<br />
q,q ′ ∈ Q, q = q ′ ,gilt.<br />
Cliquenproblem (CLIQUE):<br />
input ungerichteter Graph (E,K)und Zahl k ∈ IN<br />
output true, falls esin (E,K)<br />
✫<br />
false, sonst.<br />
eine Clique derGröße k gibt.<br />
Satz 10.6 CLIQUEist NP-vollständig.<br />
✪
Automatenund Berechenbarkeit, SoS2011 85<br />
✬<br />
✩<br />
11 Die CHOMSKY-Hierarchie<br />
Definition 11.1 (Typ 0 Grammatik) Ein Quadrupel<br />
G = (N,X,S,P)heißt Grammatik :⇔<br />
1. N,X sind endliche nichtleere Mengen, N ∩X = ∅,<br />
2. S ∈ N<br />
3. P ⊆ (N ∪X) ∗ {e} ×(N ∪X) ∗ ,und P ist endlich.<br />
L(G) := {w : w ∈ X ∗ ∧S ⊢ ∗ G w}<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 87<br />
✬<br />
✩<br />
Definition 11.2 (Typ 1 Grammatik) Ein Quadrupel<br />
G = (N,X,S,P)heißt nichtverkürzende Grammatik :⇔<br />
1. N,X sind endliche nichtleere Mengen, N ∩X = ∅,<br />
2. S ∈ N<br />
3. P ⊆ (N ∪X) ∗ {e} ×(N ∪X) ∗ ,und P ist endlich.<br />
4. Ist (u,v) ∈ P, u = S,so gilt |u| ≤ |v|.<br />
5. Ist (S,e) ∈ P,so gilt<br />
P ∩ (N ∪X) ∗ × (N ∪X) ∗ ·S·(N ∪X) ∗ = ∅.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 86<br />
✬<br />
✩<br />
Satz 11.1 Eine Sprache L ⊆ X ∗ ist genau dann<br />
Typ 0-Sprache, wenn sie rekursiv aufzählbarist.<br />
Folgerung 11.2 Ist für (u,v) ∈ P stets |u| ≤ |v| erfüllt, so<br />
ist L(G)entscheidbar.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 88<br />
✬<br />
✩<br />
Satz 11.3 Eine Sprache L ⊆ X ∗ ist genau dann<br />
Typ 1-Sprache, wenn sie voneiner nichtdeterministischen<br />
Turing-Maschine in linearem Raumakzeptiert wird.<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 89<br />
✬<br />
✩<br />
Definition 11.3 (Typ 2 Grammatik) Ein Quadrupel<br />
G = (N,X,S,P)heißt kontextfreie Grammatik (CFG):⇔<br />
1. N,X sind endliche nichtleere Mengen.<br />
2. N ∩X = ∅<br />
3. S ∈ N<br />
4. P ist endliche Teilmenge von N × (N ∪X) ∗<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 91<br />
✬<br />
✩<br />
Satz 11.4 Eine Sprache L ⊆ X ∗ ist genau dann<br />
Typ 1-Sprache, wenn sie voneiner nichtdeterministischen<br />
Turing-Maschine in linearem Raumakzeptiert wird.<br />
Satz 11.5 Jede Typ 1-Sprache ist entscheidbar. Esgibt<br />
entscheidbare Sprachen, die nicht Typ 1-Sprache sind.<br />
Satz 11.6 Eine Sprache L ⊆ X ∗ ist genau dann<br />
Typ 2-Sprache, wenn sie voneinem nichtdeterministischen<br />
PDA akzeptiert wird. (Satz5.2)<br />
Satz 11.7 Eine Sprache L ⊆ X ∗ ist genau dann<br />
Typ 3-Sprache, wenn sie voneinem endlichen Automaten<br />
akzeptiert wird.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 90<br />
✬<br />
✩<br />
Definition 11.4 (Typ 3 Grammatik) Ein Quadrupel<br />
G = (N,X,S,P)heißt rechtslineare Grammatik :⇔<br />
1. N,X sind endliche nichtleere Mengen, N ∩X = ∅,<br />
2. S ∈ N<br />
3. P ⊆ N × (X ∗ ∪X ∗ N).<br />
Eine kontextfreie Sprache L ⊆ X ∗ mit e ∈ L ist<br />
rechtslinear genau dann, wenn sie durcheine<br />
Grammatik G = (N,X,S,P)mit Produktionender<br />
Gestalt A → aB und A → a für a ∈ X und A,B ∈ N mit<br />
A = B erzeugbar ist.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 92<br />
✬<br />
✩<br />
12 Das POSTsche<br />
Korrespondenzproblem<br />
Definition 12.1<br />
gegeben Folgevon Paaren vonnichtleeren Wörtern<br />
P = (w1,u1),...,(wn,un) mit w i,u i ∈ X ∗ {e}<br />
gesucht gibt es eineFolge vonIndices<br />
i1,...,i l (l ≥ 1, 1 ≤ i j ≤ n) mit<br />
w il · · ·w i1 = u i l · · ·u i1<br />
Satz 12.1 Es gibtkeinen Algorithmus, derentscheidet, ob<br />
ein gegebenes POSTsches Korrespondenzproblem P eine<br />
Lösung hat.<br />
✫<br />
✪
Automatenund Berechenbarkeit, SoS2011 93<br />
✬<br />
✩<br />
Lemma 12.2 Diefolgenden Probleme sind für(lineare)<br />
kontextfreie Sprachen L1,L2 ⊆ X ∗ unentscheidbar:<br />
1. Ist L1 ∩L2 = ∅?<br />
2. Ist L1 ∩L2 unendlich?<br />
3. Ist L1 ∩L2 regulär?<br />
Satz 12.3 DasHalteproblem für Zwei-Zähler-Maschinen ist<br />
unentscheidbar.<br />
✫<br />
✪<br />
Automatenund Berechenbarkeit, SoS2011 94<br />
✬<br />
✩<br />
Definition 12.2 Eine Teilmenge L ⊆ X ∗ heißt Code, falls<br />
aus w1,...,wm,v1,...,vn ∈ L und w1 · · ·wm = v1 · · ·vn<br />
stets m = n und w i = v i, für i = 1,...,m,folgen.<br />
Lemma 12.4 Esist algorithmisch unentscheidbar, obeine<br />
deterministisch kontextfreie Sprache L ⊆ X ∗ ein Codeist.<br />
✫<br />
✪