23.07.2013 Aufrufe

kleine Folien (.pdf)

kleine Folien (.pdf)

kleine Folien (.pdf)

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!