• Keine Ergebnisse gefunden

Einf¨uhrung in die Informatik IV

N/A
N/A
Protected

Academic year: 2021

Aktie "Einf¨uhrung in die Informatik IV"

Copied!
91
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

SS 2005

Einf¨ uhrung in die Informatik IV

Ernst W. Mayr

Fakult¨at f¨ur Informatik TU M¨unchen

http://www14.in.tum.de/lehre/2005SS/info4/index.html.de 15. Juli 2005

(2)

Lemma 219 (blaue Regel)

SeiG= (V, E),(W, V \W) einSchnittvon G(d.h. ∅ 6=W 6=V).

Sei fernereeine leichteste Kante ∈W ×(V \W)∩E. Dann gibt es einen minimalen Spannbaum vonG, dereenth¨alt. Istedie einzige leichteste Kante in dem Schnitt, dann istein jedem minimalen Spannbaum vonGenthalten.

(3)

Beweis:

Sei (W, V \W) ein Schnitt inG und eleichteste Kante in diesem Schnitt. Sei fernerM ein minimaler Spannbaum vonG, der e nicht enth¨alt. Durch Hinzuf¨ugen von ezuM entsteht (genau) ein Kreis, der, daM ein Spannbaum ist, mindestens eine weitere Kantef aus dem Schnitt (W, V \W) enth¨alt. Entfernt man nun f, so entsteht wieder ein Spannbaum M0, mit dem Gewicht

w(M0) =w(M)−w(f) +w(e). Fallseeinzige leichteste Kante im Schnitt ist, w¨are

w(M0)< w(M) im Widerspruch zur Tatsache, dassM minimaler Spannbaum vonGist.

(4)

Beweis:

Sei (W, V \W) ein Schnitt inG und eleichteste Kante in diesem Schnitt. Sei fernerM ein minimaler Spannbaum vonG, der e nicht enth¨alt. Durch Hinzuf¨ugen von ezuM entsteht (genau) ein Kreis, der, daM ein Spannbaum ist, mindestens eine weitere Kantef aus dem Schnitt (W, V \W) enth¨alt. Entfernt man nun f, so entsteht wieder ein Spannbaum M0, mit dem Gewicht

w(M0) =w(M)−w(f) +w(e). Fallseeinzige leichteste Kante im Schnitt ist, w¨are

w(M0)< w(M) im Widerspruch zur Tatsache, dassM minimaler Spannbaum vonGist.

(5)

Der AlgorithmusPrim(V, E, w):

W :={s} f¨ur ein beliebigess∈V;T :=∅

initialisiere Priority-Queue-Struktur R f¨ur V, Schl¨ussel ρ(v) von v gleich

ρ(v) :=





0 falls v=s d(s, v) falls v∈Γ(s)

∞ sonst

pred[v] :=

(s fallsv∈Γ(s) nil sonst

while W 6=V do x:= ExtractMin(R)

W :=W ∪ {x};T :=T ∪ {x,pred[x]}

for all v∈Γ(x)∩(V \W) do if ρ(v)> w(x, v) then

DecreaseKey(R, v, w(x, v)); pred[v] :=x

(6)

Der AlgorithmusPrim(V, E, w):

W :={s} f¨ur ein beliebigess∈V;T :=∅

initialisiere Priority-Queue-Struktur R f¨ur V, Schl¨ussel ρ(v) von v gleich

ρ(v) :=





0 falls v=s d(s, v) falls v∈Γ(s)

∞ sonst

pred[v] :=

(s fallsv∈Γ(s) nil sonst

while W 6=V do x:= ExtractMin(R)

W :=W ∪ {x};T :=T ∪ {x,pred[x]}

for all v∈Γ(x)∩(V \W) do if ρ(v)> w(x, v) then

DecreaseKey(R, v, w(x, v)); pred[v] :=x

(7)

Der AlgorithmusPrim(V, E, w):

W :={s} f¨ur ein beliebigess∈V;T :=∅

initialisiere Priority-Queue-Struktur R f¨ur V, Schl¨ussel ρ(v) von v gleich

ρ(v) :=





0 falls v=s d(s, v) falls v∈Γ(s)

∞ sonst

pred[v] :=

(s fallsv∈Γ(s) nil sonst

while W 6=V do x:= ExtractMin(R)

W :=W ∪ {x};T :=T ∪ {x,pred[x]}

for all v∈Γ(x)∩(V \W) do if ρ(v)> w(x, v) then

DecreaseKey(R, v, w(x, v)); pred[v] :=x

(8)

Der AlgorithmusPrim(V, E, w):

W :={s} f¨ur ein beliebigess∈V;T :=∅

initialisiere Priority-Queue-Struktur R f¨ur V, Schl¨ussel ρ(v) von v gleich

ρ(v) :=





0 falls v=s d(s, v) falls v∈Γ(s)

∞ sonst

pred[v] :=

(s fallsv∈Γ(s) nil sonst

while W 6=V do x:= ExtractMin(R)

W :=W ∪ {x};T :=T ∪ {x,pred[x]}

for all v∈Γ(x)∩(V \W) do if ρ(v)> w(x, v) then

DecreaseKey(R, v, w(x, v)); pred[v] :=x

(9)

Satz 220

Prim’s Algorithmus bestimmt einen minimalen Spannbaum des zusammenh¨angenden Graphen G= (V, E)in Zeit O(m+nlogn) (bei Verwendung von Fibonacci-Heaps).

Beweis:

Betrachte in jeder Iteration den Schnitt (W, V \W). Die

Korrektheit des Algorithmus folgt damit aus dem vorigen Lemma.

Der Algorithmus ben¨otigt i.W. ≤m DecreaseKey-Operationen und n−1 ExtractMin-Operationen einer Priority-Queue. Damit ergibt sich die behauptete Zeitkomplexit¨at.

(10)

Satz 220

Prim’s Algorithmus bestimmt einen minimalen Spannbaum des zusammenh¨angenden Graphen G= (V, E)in Zeit O(m+nlogn) (bei Verwendung von Fibonacci-Heaps).

Beweis:

Betrachte in jeder Iteration den Schnitt (W, V \W). Die

Korrektheit des Algorithmus folgt damit aus dem vorigen Lemma.

Der Algorithmus ben¨otigt i.W. ≤m DecreaseKey-Operationen und n−1 ExtractMin-Operationen einer Priority-Queue. Damit ergibt sich die behauptete Zeitkomplexit¨at.

(11)

Satz 220

Prim’s Algorithmus bestimmt einen minimalen Spannbaum des zusammenh¨angenden Graphen G= (V, E)in Zeit O(m+nlogn) (bei Verwendung von Fibonacci-Heaps).

Beweis:

Betrachte in jeder Iteration den Schnitt (W, V \W). Die

Korrektheit des Algorithmus folgt damit aus dem vorigen Lemma.

Der Algorithmus ben¨otigt i.W. ≤m DecreaseKey-Operationen und n−1 ExtractMin-Operationen einer Priority-Queue. Damit ergibt sich die behauptete Zeitkomplexit¨at.

(12)

Kapitel IV Komplexit¨ atstheorie

1. Definitionen Definition 221

SeiM eine deterministische Turingmaschine und Σ ={0,1}.

1 TIMEM(x) := Anzahl der Schritte, dieM bei Eingabex∈Σ durchf¨uhrt

2 DTIME(f) := Menge aller Sprachen, f¨ur die es eine deterministische Mehrband-TuringmaschineM gibt mit TIMEM(x)≤f(|x|) f¨ur allex∈Σ

3

P = [

pPolynom

DTIME(p)

P ist die Menge derpolynomiell l¨osbaren Probleme und wird allgemein mit der Klasse dereffizient l¨osbaren Probleme

(13)

Kapitel IV Komplexit¨ atstheorie

1. Definitionen Definition 221

SeiM eine deterministische Turingmaschine und Σ ={0,1}.

1 TIMEM(x) := Anzahl der Schritte, dieM bei Eingabex∈Σ durchf¨uhrt

2 DTIME(f) := Menge aller Sprachen, f¨ur die es eine deterministische Mehrband-TuringmaschineM gibt mit TIMEM(x)≤f(|x|) f¨ur allex∈Σ

3

P = [

pPolynom

DTIME(p)

P ist die Menge derpolynomiell l¨osbaren Probleme und wird allgemein mit der Klasse dereffizient l¨osbaren Probleme

(14)

Kapitel IV Komplexit¨ atstheorie

1. Definitionen Definition 221

SeiM eine deterministische Turingmaschine und Σ ={0,1}.

1 TIMEM(x) := Anzahl der Schritte, dieM bei Eingabex∈Σ durchf¨uhrt

2 DTIME(f) := Menge aller Sprachen, f¨ur die es eine deterministische Mehrband-TuringmaschineM gibt mit TIMEM(x)≤f(|x|) f¨ur allex∈Σ

3

P = [

pPolynom

DTIME(p)

P ist die Menge derpolynomiell l¨osbaren Probleme und wird allgemein mit der Klasse dereffizient l¨osbaren Probleme

(15)

Kapitel IV Komplexit¨ atstheorie

1. Definitionen Definition 221

SeiM eine deterministische Turingmaschine und Σ ={0,1}.

1 TIMEM(x) := Anzahl der Schritte, dieM bei Eingabex∈Σ durchf¨uhrt

2 DTIME(f) := Menge aller Sprachen, f¨ur die es eine deterministische Mehrband-TuringmaschineM gibt mit TIMEM(x)≤f(|x|) f¨ur allex∈Σ

3

P = [

pPolynom

DTIME(p)

P ist die Menge derpolynomiell l¨osbaren Probleme und wird allgemein mit der Klasse dereffizient l¨osbaren Probleme

(16)

Kapitel IV Komplexit¨ atstheorie

1. Definitionen Definition 221

SeiM eine deterministische Turingmaschine und Σ ={0,1}.

1 TIMEM(x) := Anzahl der Schritte, dieM bei Eingabex∈Σ durchf¨uhrt

2 DTIME(f) := Menge aller Sprachen, f¨ur die es eine deterministische Mehrband-TuringmaschineM gibt mit TIMEM(x)≤f(|x|) f¨ur allex∈Σ

3

P = [

pPolynom

DTIME(p)

P ist die Menge derpolynomiell l¨osbaren Probleme und wird allgemein mit der Klasse dereffizient l¨osbaren Probleme

(17)

Beispiel 222 (Probleme inP)

2-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤2?

2-COLORING∈ P, daχ(G)≤2 gdw Gbipartit.

Shortest-Distance: Gegeben ein gewichteter Digraph G= (V, E, d),s, t∈V und eine Zahl D, ist die Entfernung von snach tin G≤D?

Die Frage kann z.B. mit Dijkstra’s Algorithmus in polynomieller Zeit entschieden werden.

(18)

Beispiel 222 (Probleme inP)

2-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤2?

2-COLORING∈ P, daχ(G)≤2 gdw Gbipartit.

Shortest-Distance: Gegeben ein gewichteter Digraph G= (V, E, d),s, t∈V und eine Zahl D, ist die Entfernung von snach tin G≤D?

Die Frage kann z.B. mit Dijkstra’s Algorithmus in polynomieller Zeit entschieden werden.

(19)

Beispiel 222 (Probleme inP)

2-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤2?

2-COLORING∈ P, daχ(G)≤2 gdw Gbipartit.

Shortest-Distance: Gegeben ein gewichteter Digraph G= (V, E, d),s, t∈V und eine Zahl D, ist die Entfernung von snach tin G≤D?

Die Frage kann z.B. mit Dijkstra’s Algorithmus in polynomieller Zeit entschieden werden.

(20)

Beispiel 222 (Probleme inP)

2-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤2?

2-COLORING∈ P, daχ(G)≤2 gdw Gbipartit.

Shortest-Distance: Gegeben ein gewichteter Digraph G= (V, E, d),s, t∈V und eine Zahl D, ist die Entfernung von snach tin G≤D?

Die Frage kann z.B. mit Dijkstra’s Algorithmus in polynomieller Zeit entschieden werden.

(21)

Beispiel 222 (Probleme inP)

2-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤2?

2-COLORING∈ P, daχ(G)≤2 gdw Gbipartit.

Shortest-Distance: Gegeben ein gewichteter Digraph G= (V, E, d),s, t∈V und eine Zahl D, ist die Entfernung von snach tin G≤D?

Die Frage kann z.B. mit Dijkstra’s Algorithmus in polynomieller Zeit entschieden werden.

(22)

Definition 223

SeiN eine nichtdeterministische Turingmaschine. Dann

1

TIMEN(x) :=













minimale Anzahl der

Schritte, die N ben¨otigt, falls x∈L(N) um x∈Σ zu akzeptieren

0 sonst

2 NTIME(f) := Menge aller Sprachen, f¨ur die es eine

nichtdeterministische Mehrband-TuringmaschineN gibt mit TIMEN(x)≤f(|x|) f¨ur alle x∈Σ

3

N P = [

pPolynom

NTIME(p)

(23)

Definition 223

SeiN eine nichtdeterministische Turingmaschine. Dann

1

TIMEN(x) :=













minimale Anzahl der

Schritte, die N ben¨otigt, falls x∈L(N) um x∈Σ zu akzeptieren

0 sonst

2 NTIME(f) := Menge aller Sprachen, f¨ur die es eine

nichtdeterministische Mehrband-TuringmaschineN gibt mit TIMEN(x)≤f(|x|) f¨ur alle x∈Σ

3

N P = [

pPolynom

NTIME(p)

(24)

Definition 223

SeiN eine nichtdeterministische Turingmaschine. Dann

1

TIMEN(x) :=













minimale Anzahl der

Schritte, die N ben¨otigt, falls x∈L(N) um x∈Σ zu akzeptieren

0 sonst

2 NTIME(f) := Menge aller Sprachen, f¨ur die es eine

nichtdeterministische Mehrband-TuringmaschineN gibt mit TIMEN(x)≤f(|x|) f¨ur alle x∈Σ

3

N P = [

pPolynom

NTIME(p)

(25)

Definition 223

SeiN eine nichtdeterministische Turingmaschine. Dann

1

TIMEN(x) :=













minimale Anzahl der

Schritte, die N ben¨otigt, falls x∈L(N) um x∈Σ zu akzeptieren

0 sonst

2 NTIME(f) := Menge aller Sprachen, f¨ur die es eine

nichtdeterministische Mehrband-TuringmaschineN gibt mit TIMEN(x)≤f(|x|) f¨ur alle x∈Σ

3

N P = [

pPolynom

NTIME(p)

(26)

Man beachte, da wir bei nichtdeterministischen Maschinen i.W. an akzeptierendenBerechnungen interessiert sind, die etwas

ungew¨ohnliche Festlegung f¨urx6∈L(N).

Einealternative Definition f¨ur N P ist Definition 224

N P ist die Klasse der ProblemeL, f¨ur die es ein Pr¨adikatP ∈ P und ein Polynomp gibt, so dass

(∀x∈Σ) [x∈L⇔(∃y∈Σ)[|y| ≤p(|x|)∧P(x, y)]]

(27)

Man beachte, da wir bei nichtdeterministischen Maschinen i.W. an akzeptierendenBerechnungen interessiert sind, die etwas

ungew¨ohnliche Festlegung f¨urx6∈L(N).

Einealternative Definition f¨ur N P ist Definition 224

N P ist die Klasse der ProblemeL, f¨ur die es ein Pr¨adikatP ∈ P und ein Polynomp gibt, so dass

(∀x∈Σ) [x∈L⇔(∃y∈Σ)[|y| ≤p(|x|)∧P(x, y)]]

(28)

Beispiel 225 (Probleme inN P)

k-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤k?

k-COLORING ist in N P, da eine nichtdet. TM eine g¨ultige k-F¨arbung raten und dann verifizieren kann (in der

alternativen Definition w¨arey die Beschreibung einer solchen k-F¨arbung!)

COLORING: Gegeben ein Graph G= (V, E) undk∈N, ist χ(G)≤k?

Begr¨undung i.W. wie oben; hier ist jedoch kTeil der Probleminstanz, also der Eingabe!

SAT: Gegeben eine boolesche Formel F, hat F eine erf¨ullende Belegung?

Eine nichtdet. TM kann einfach eine erf¨ullende Belegung, falls eine solche existiert, raten und verifizieren.

(29)

Beispiel 225 (Probleme inN P)

k-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤k?

k-COLORING ist in N P, da eine nichtdet. TM eine g¨ultige k-F¨arbung raten und dann verifizieren kann (in der

alternativen Definition w¨arey die Beschreibung einer solchen k-F¨arbung!)

COLORING: Gegeben ein Graph G= (V, E) undk∈N, ist χ(G)≤k?

Begr¨undung i.W. wie oben; hier ist jedoch kTeil der Probleminstanz, also der Eingabe!

SAT: Gegeben eine boolesche Formel F, hat F eine erf¨ullende Belegung?

Eine nichtdet. TM kann einfach eine erf¨ullende Belegung, falls eine solche existiert, raten und verifizieren.

(30)

Beispiel 225 (Probleme inN P)

k-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤k?

k-COLORING ist in N P, da eine nichtdet. TM eine g¨ultige k-F¨arbung raten und dann verifizieren kann (in der

alternativen Definition w¨arey die Beschreibung einer solchen k-F¨arbung!)

COLORING: Gegeben ein Graph G= (V, E) undk∈N, ist χ(G)≤k?

Begr¨undung i.W. wie oben; hier ist jedoch kTeil der Probleminstanz, also der Eingabe!

SAT: Gegeben eine boolesche Formel F, hat F eine erf¨ullende Belegung?

Eine nichtdet. TM kann einfach eine erf¨ullende Belegung, falls eine solche existiert, raten und verifizieren.

(31)

Beispiel 225 (Probleme inN P)

k-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤k?

k-COLORING ist in N P, da eine nichtdet. TM eine g¨ultige k-F¨arbung raten und dann verifizieren kann (in der

alternativen Definition w¨arey die Beschreibung einer solchen k-F¨arbung!)

COLORING: Gegeben ein Graph G= (V, E) undk∈N, ist χ(G)≤k?

Begr¨undung i.W. wie oben; hier ist jedoch kTeil der Probleminstanz, also der Eingabe!

SAT: Gegeben eine boolesche Formel F, hat F eine erf¨ullende Belegung?

Eine nichtdet. TM kann einfach eine erf¨ullende Belegung, falls eine solche existiert, raten und verifizieren.

(32)

Beispiel 225 (Probleme inN P)

k-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤k?

k-COLORING ist in N P, da eine nichtdet. TM eine g¨ultige k-F¨arbung raten und dann verifizieren kann (in der

alternativen Definition w¨arey die Beschreibung einer solchen k-F¨arbung!)

COLORING: Gegeben ein Graph G= (V, E) undk∈N, ist χ(G)≤k?

Begr¨undung i.W. wie oben; hier ist jedoch kTeil der Probleminstanz, also der Eingabe!

SAT: Gegeben eine boolesche Formel F, hat F eine erf¨ullende Belegung?

Eine nichtdet. TM kann einfach eine erf¨ullende Belegung, falls eine solche existiert, raten und verifizieren.

(33)

Beispiel 225 (Probleme inN P)

k-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤k?

k-COLORING ist in N P, da eine nichtdet. TM eine g¨ultige k-F¨arbung raten und dann verifizieren kann (in der

alternativen Definition w¨arey die Beschreibung einer solchen k-F¨arbung!)

COLORING: Gegeben ein Graph G= (V, E) undk∈N, ist χ(G)≤k?

Begr¨undung i.W. wie oben; hier ist jedoch kTeil der Probleminstanz, also der Eingabe!

SAT: Gegeben eine boolesche Formel F, hat F eine erf¨ullende Belegung?

Eine nichtdet. TM kann einfach eine erf¨ullende Belegung, falls eine solche existiert, raten und verifizieren.

(34)

Beispiel 225 (Probleme inN P)

k-COLORING: Gegeben ein GraphG= (V, E), ist χ(G)≤k?

k-COLORING ist in N P, da eine nichtdet. TM eine g¨ultige k-F¨arbung raten und dann verifizieren kann (in der

alternativen Definition w¨arey die Beschreibung einer solchen k-F¨arbung!)

COLORING: Gegeben ein Graph G= (V, E) undk∈N, ist χ(G)≤k?

Begr¨undung i.W. wie oben; hier ist jedoch kTeil der Probleminstanz, also der Eingabe!

SAT: Gegeben eine boolesche Formel F, hat F eine erf¨ullende Belegung?

Eine nichtdet. TM kann einfach eine erf¨ullende Belegung, falls eine solche existiert, raten und verifizieren.

(35)

Eine der wichtigsten offenen Fragen der Informatik (und nicht nur der Theoretischen Informatik!) ist

P =?N P

Eine der wichtigsten offenen Fragen der Theoretischen Informatik ist

Wie k¨onnte manP 6=N P beweisen?

(36)

Eine der wichtigsten offenen Fragen der Informatik (und nicht nur der Theoretischen Informatik!) ist

P =?N P

Eine der wichtigsten offenen Fragen der Theoretischen Informatik ist

Wie k¨onnte manP 6=N P beweisen?

(37)

2. N P-Vollst¨andigkeit Definition 226

SeienA⊆Σ und B ⊆Γ Sprachen. Dann heißtA polynomiell reduzierbar aufB (polynomiellmany-one-reduzierbar; i.Z. Ap B oderAm-1p B oder auch A≤pB), falls es eine polynomiell berechenbare totale Funktionf : Σ→Γ gibt, so dass gilt

(∀x∈Σ)[x∈A⇔f(x)∈B]

Bemerkungen:

1 Die Relationp ist transitiv, d.h.

Ap B∧Bp C⇒ApC

2

ApB∧B∈ P ⇒A∈ P

3

ApB∧B ∈ N P ⇒A∈ N P

(38)

2. N P-Vollst¨andigkeit Definition 226

SeienA⊆Σ und B ⊆Γ Sprachen. Dann heißtA polynomiell reduzierbar aufB (polynomiellmany-one-reduzierbar; i.Z. Ap B oderAm-1p B oder auch A≤pB), falls es eine polynomiell berechenbare totale Funktionf : Σ→Γ gibt, so dass gilt

(∀x∈Σ)[x∈A⇔f(x)∈B]

Bemerkungen:

1 Die Relationp ist transitiv, d.h.

Ap B∧Bp C⇒ApC

2

ApB∧B∈ P ⇒A∈ P

3

ApB∧B ∈ N P ⇒A∈ N P

(39)

2. N P-Vollst¨andigkeit Definition 226

SeienA⊆Σ und B ⊆Γ Sprachen. Dann heißtA polynomiell reduzierbar aufB (polynomiellmany-one-reduzierbar; i.Z. Ap B oderAm-1p B oder auch A≤pB), falls es eine polynomiell berechenbare totale Funktionf : Σ→Γ gibt, so dass gilt

(∀x∈Σ)[x∈A⇔f(x)∈B]

Bemerkungen:

1 Die Relationp ist transitiv, d.h.

Ap B∧Bp C⇒ApC

2

ApB∧B∈ P ⇒A∈ P

3

ApB∧B ∈ N P ⇒A∈ N P

(40)

2. N P-Vollst¨andigkeit Definition 226

SeienA⊆Σ und B ⊆Γ Sprachen. Dann heißtA polynomiell reduzierbar aufB (polynomiellmany-one-reduzierbar; i.Z. Ap B oderAm-1p B oder auch A≤pB), falls es eine polynomiell berechenbare totale Funktionf : Σ→Γ gibt, so dass gilt

(∀x∈Σ)[x∈A⇔f(x)∈B]

Bemerkungen:

1 Die Relationp ist transitiv, d.h.

Ap B∧Bp C⇒ApC

2

ApB∧B∈ P ⇒A∈ P

3

ApB∧B ∈ N P ⇒A∈ N P

(41)

2. N P-Vollst¨andigkeit Definition 226

SeienA⊆Σ und B ⊆Γ Sprachen. Dann heißtA polynomiell reduzierbar aufB (polynomiellmany-one-reduzierbar; i.Z. Ap B oderAm-1p B oder auch A≤pB), falls es eine polynomiell berechenbare totale Funktionf : Σ→Γ gibt, so dass gilt

(∀x∈Σ)[x∈A⇔f(x)∈B]

Bemerkungen:

1 Die Relationp ist transitiv, d.h.

Ap B∧Bp C⇒ApC

2

ApB∧B∈ P ⇒A∈ P

3

ApB∧B ∈ N P ⇒A∈ N P

(42)

Definition 227

1 Eine Sprache A heißt N P-schwer (oder N P-hart, engl.

N P-hard), falls f¨ur alle SprachenB ausN P gilt:

B pA

2 Eine Sprache A heißt N P-vollst¨andig (engl.N P-complete), falls A∈ N P und AN P-schwer ist.

Intuitiv sind dieN P-vollst¨andigen Probleme die “schwersten”

Probleme inN P.

N P-harte Probleme sind “mindestens so schwer” wie alle Probleme inN P, m¨ussen aber selbst nicht in N P sein, k¨onnen also noch viel h¨ohere Komplexit¨at haben.

(43)

Definition 227

1 Eine Sprache A heißt N P-schwer (oder N P-hart, engl.

N P-hard), falls f¨ur alle SprachenB ausN P gilt:

B pA

2 Eine Sprache A heißt N P-vollst¨andig (engl.N P-complete), falls A∈ N P und AN P-schwer ist.

Intuitiv sind dieN P-vollst¨andigen Probleme die “schwersten”

Probleme inN P.

N P-harte Probleme sind “mindestens so schwer” wie alle Probleme inN P, m¨ussen aber selbst nicht in N P sein, k¨onnen also noch viel h¨ohere Komplexit¨at haben.

(44)

Definition 227

1 Eine Sprache A heißt N P-schwer (oder N P-hart, engl.

N P-hard), falls f¨ur alle SprachenB ausN P gilt:

B pA

2 Eine Sprache A heißt N P-vollst¨andig (engl.N P-complete), falls A∈ N P und AN P-schwer ist.

Intuitiv sind dieN P-vollst¨andigen Probleme die “schwersten”

Probleme inN P.

N P-harte Probleme sind “mindestens so schwer” wie alle Probleme inN P, m¨ussen aber selbst nicht in N P sein, k¨onnen also noch viel h¨ohere Komplexit¨at haben.

(45)

Definition 227

1 Eine Sprache A heißt N P-schwer (oder N P-hart, engl.

N P-hard), falls f¨ur alle SprachenB ausN P gilt:

B pA

2 Eine Sprache A heißt N P-vollst¨andig (engl.N P-complete), falls A∈ N P und AN P-schwer ist.

Intuitiv sind dieN P-vollst¨andigen Probleme die “schwersten”

Probleme inN P.

N P-harte Probleme sind “mindestens so schwer” wie alle Probleme inN P, m¨ussen aber selbst nicht in N P sein, k¨onnen also noch viel h¨ohere Komplexit¨at haben.

(46)

Definition 227

1 Eine Sprache A heißt N P-schwer (oder N P-hart, engl.

N P-hard), falls f¨ur alle SprachenB ausN P gilt:

B pA

2 Eine Sprache A heißt N P-vollst¨andig (engl.N P-complete), falls A∈ N P und AN P-schwer ist.

Intuitiv sind dieN P-vollst¨andigen Probleme die “schwersten”

Probleme inN P.

N P-harte Probleme sind “mindestens so schwer” wie alle Probleme inN P, m¨ussen aber selbst nicht in N P sein, k¨onnen also noch viel h¨ohere Komplexit¨at haben.

(47)

Satz 228

SATistN P-vollst¨andig.

(48)

Satz 228

SATistN P-vollst¨andig.

Beweis:

Offensichtlich ist SAT∈ N P.

Es bleibt zu zeigen, dass SATN P-hart ist, d.h. ∀L∈ N P Lp SAT.

Wir tun dies, indem wir die Berechnung einer nichtdet. TM so in einer Formel kodieren, dass diese genau dann erf¨ullbar ist, wenn die Maschine in polynomiell vielen Schritten akzeptiert.

(49)

Satz 228

SATistN P-vollst¨andig.

Beweis:

Offensichtlich ist SAT∈ N P.

Es bleibt zu zeigen, dass SATN P-hart ist, d.h. ∀L∈ N P Lp SAT.

Wir tun dies, indem wir die Berechnung einer nichtdet. TM so in einer Formel kodieren, dass diese genau dann erf¨ullbar ist, wenn die Maschine in polynomiell vielen Schritten akzeptiert.

(50)

Satz 228

SATistN P-vollst¨andig.

Beweis:

Offensichtlich ist SAT∈ N P.

Es bleibt zu zeigen, dass SATN P-hart ist, d.h. ∀L∈ N P Lp SAT.

Wir tun dies, indem wir die Berechnung einer nichtdet. TM so in einer Formel kodieren, dass diese genau dann erf¨ullbar ist, wenn die Maschine in polynomiell vielen Schritten akzeptiert.

(51)

Beweis:

F¨ur jedesL∈ N P gibt es eine MaschineM und ein Polynomp, so dass (∀x∈Σ) [TIMEM(x)≤p(|x|)].

F¨ur die Reduktion zeigen wir jetzt, wie man daraus eine Formel F von polynomieller Gr¨oße q konstruiert mit

x=x1· · ·xn∈L gdw F ist erf¨ullbar

Die FormelF besteht aus mehreren Teilen:

F =R∧A∧U ∧E

(52)

Beweis:

F¨ur jedesL∈ N P gibt es eine MaschineM und ein Polynomp, so dass (∀x∈Σ) [TIMEM(x)≤p(|x|)].

F¨ur die Reduktion zeigen wir jetzt, wie man daraus eine Formel F von polynomieller Gr¨oße q konstruiert mit

x=x1· · ·xn∈L gdw F ist erf¨ullbar

Die FormelF besteht aus mehreren Teilen:

F =R∧A∧U ∧E

(53)

Beweis:

F¨ur jedesL∈ N P gibt es eine MaschineM und ein Polynomp, so dass (∀x∈Σ) [TIMEM(x)≤p(|x|)].

F¨ur die Reduktion zeigen wir jetzt, wie man daraus eine Formel F von polynomieller Gr¨oße q konstruiert mit

x=x1· · ·xn∈L gdw F ist erf¨ullbar

Die FormelF besteht aus mehreren Teilen:

F =R∧A∧U ∧E

(54)

Beweis:

Wir f¨uhren folgende Variablen ein:

Bsi,t – die i-te Zelle des Bandes enth¨alt zum Zeitpunkttdas Symbols,

Ztq – die Turingmaschine befindet sich zum Zeitpunkt tin Zustand q,

Pti – der Schreib-/Lesekopf der Turingmaschine befindet sich zum Zeitpunkt tan Positioni.

F¨ur|x|=nsei ˆt=p(n). Dann ist 1≤t≤t,ˆ −ˆt≤i≤ˆt,q ∈Q unds∈Σ.

Insgesamt haben wir also nurO(ˆt2) =O(p(n)2) viele Variablen.

(55)

Beweis:

Wir f¨uhren folgende Variablen ein:

Bsi,t – die i-te Zelle des Bandes enth¨alt zum Zeitpunkttdas Symbols,

Ztq – die Turingmaschine befindet sich zum Zeitpunkt tin Zustand q,

Pti – der Schreib-/Lesekopf der Turingmaschine befindet sich zum Zeitpunkt tan Positioni.

F¨ur|x|=nsei ˆt=p(n). Dann ist 1≤t≤t,ˆ −ˆt≤i≤ˆt,q ∈Q unds∈Σ.

Insgesamt haben wir also nurO(ˆt2) =O(p(n)2) viele Variablen.

(56)

Beweis:

Wir f¨uhren folgende Variablen ein:

Bsi,t – die i-te Zelle des Bandes enth¨alt zum Zeitpunkttdas Symbols,

Ztq – die Turingmaschine befindet sich zum Zeitpunkt tin Zustand q,

Pti – der Schreib-/Lesekopf der Turingmaschine befindet sich zum Zeitpunkt tan Positioni.

F¨ur|x|=nsei ˆt=p(n). Dann ist 1≤t≤t,ˆ −ˆt≤i≤ˆt,q ∈Q unds∈Σ.

Insgesamt haben wir also nurO(ˆt2) =O(p(n)2) viele Variablen.

(57)

Beweis:

Wir f¨uhren folgende Variablen ein:

Bsi,t – die i-te Zelle des Bandes enth¨alt zum Zeitpunkttdas Symbols,

Ztq – die Turingmaschine befindet sich zum Zeitpunkt tin Zustand q,

Pti – der Schreib-/Lesekopf der Turingmaschine befindet sich zum Zeitpunkt tan Positioni.

F¨ur|x|=nsei ˆt=p(n). Dann ist 1≤t≤t,ˆ −ˆt≤i≤ˆt,q ∈Q unds∈Σ.

Insgesamt haben wir also nurO(ˆt2) =O(p(n)2) viele Variablen.

(58)

Beweis:

Wir f¨uhren folgende Variablen ein:

Bsi,t – die i-te Zelle des Bandes enth¨alt zum Zeitpunkttdas Symbols,

Ztq – die Turingmaschine befindet sich zum Zeitpunkt tin Zustand q,

Pti – der Schreib-/Lesekopf der Turingmaschine befindet sich zum Zeitpunkt tan Positioni.

F¨ur|x|=nsei ˆt=p(n). Dann ist 1≤t≤t,ˆ −ˆt≤i≤ˆt,q ∈Q unds∈Σ.

Insgesamt haben wir also nurO(ˆt2) =O(p(n)2) viele Variablen.

(59)

Beweis:

Wir f¨uhren folgende Variablen ein:

Bsi,t – die i-te Zelle des Bandes enth¨alt zum Zeitpunkttdas Symbols,

Ztq – die Turingmaschine befindet sich zum Zeitpunkt tin Zustand q,

Pti – der Schreib-/Lesekopf der Turingmaschine befindet sich zum Zeitpunkt tan Positioni.

F¨ur|x|=nsei ˆt=p(n). Dann ist 1≤t≤t,ˆ −ˆt≤i≤ˆt,q ∈Q unds∈Σ.

Insgesamt haben wir also nurO(ˆt2) =O(p(n)2) viele Variablen.

(60)

Beweis:

Die TeilformelR gibt die Randbedingungen, dass

1 die Turingmaschine zu jedem Zeitpunktt auf genau einem Feldisteht

^

1≤t≤tˆ

_

ˆt≤i≤tˆ

Pti

^

i6=j

Pti⇒ ¬Ptj

,

2 die Turingmaschine zu jedem Zeitpunktt in genau einem Zustand q ist

^

1≤t≤tˆ

_

q∈Q

Ztq

^

q6=q0

Ztq ⇒ ¬Ztq0

und

3 zu jedem Zeitpunkt tan jeder Bandpositionigenau ein Symbolssteht

^

1≤t≤ˆt

_

s∈Σ

Bi,ts

!

^

s6=s0

Bi,ts ⇒ ¬Bi,ts0

(61)

Beweis:

Die TeilformelR gibt die Randbedingungen, dass

1 die Turingmaschine zu jedem Zeitpunktt auf genau einem Feldisteht

^

1≤t≤tˆ

_

ˆt≤i≤tˆ

Pti

^

i6=j

Pti⇒ ¬Ptj

,

2 die Turingmaschine zu jedem Zeitpunktt in genau einem Zustand q ist

^

1≤t≤tˆ

_

q∈Q

Ztq

^

q6=q0

Ztq ⇒ ¬Ztq0

und

3 zu jedem Zeitpunkt tan jeder Bandpositionigenau ein Symbolssteht

^

1≤t≤ˆt

_

s∈Σ

Bi,ts

!

^

s6=s0

Bi,ts ⇒ ¬Bi,ts0

(62)

Beweis:

Die TeilformelR gibt die Randbedingungen, dass

1 die Turingmaschine zu jedem Zeitpunktt auf genau einem Feldisteht

^

1≤t≤tˆ

_

ˆt≤i≤tˆ

Pti

^

i6=j

Pti⇒ ¬Ptj

,

2 die Turingmaschine zu jedem Zeitpunktt in genau einem Zustand q ist

^

1≤t≤tˆ

_

q∈Q

Ztq

^

q6=q0

Ztq ⇒ ¬Ztq0

und

3 zu jedem Zeitpunkt tan jeder Bandpositionigenau ein Symbolssteht

^

1≤t≤ˆt

_

s∈Σ

Bi,ts

!

^

s6=s0

Bi,ts ⇒ ¬Bi,ts0

(63)

Beweis:

Die TeilformelR gibt die Randbedingungen, dass

1 die Turingmaschine zu jedem Zeitpunktt auf genau einem Feldisteht

^

1≤t≤tˆ

_

ˆt≤i≤tˆ

Pti

^

i6=j

Pti⇒ ¬Ptj

,

2 die Turingmaschine zu jedem Zeitpunktt in genau einem Zustand q ist

^

1≤t≤tˆ

_

q∈Q

Ztq

^

q6=q0

Ztq ⇒ ¬Ztq0

und

3 zu jedem Zeitpunkt tan jeder Bandpositionigenau ein Symbolssteht

^

1≤t≤ˆt

_

s∈Σ

Bi,ts

!

^

s6=s0

Bi,ts ⇒ ¬Bi,ts0

(64)

Beweis:

Die TeilformelAgibt die Anfangsbedingung, dass zum Zeitpunkt 1 die Turingmaschine im Startzustandq0 an Position 1 des Bandes ist und auf dem Band die Eingabex1· · ·xn steht:

Z1q0∧P11∧ ^

1≤i≤n

Bi,1xi ∧ ^

−ˆt≤i<1∨

n<i≤ˆt

Bi,1,

wobeidas Leerzeichen ist.

(65)

Beweis:

Die TeilformelU stellt sicher, dass die ¨Uberg¨ange zwischen zwei Zeitpunktentund t+ 1 entsprechend der ¨Ubergangsrelation δ:Q×Σ→2Q×Σ×{−1,0,1} der Turingmaschine sind. Die TeilformelU ergibt sich aus der Konjunktion von

¬Pti∧Bsi,t⇒Bsi,t+1 und

Pti∧ _

(q0,s0,d)∈δ(q,s)

Bi,ts ∧Ztq⇒Bi,t+1s0 ∧Zt+1q0 ∧Pt+1i+d

f¨ur alle 1≤t <ˆt und alle−tˆ≤i≤ˆt.

(66)

Beweis:

Die TeilformelU stellt sicher, dass die ¨Uberg¨ange zwischen zwei Zeitpunktentund t+ 1 entsprechend der ¨Ubergangsrelation δ:Q×Σ→2Q×Σ×{−1,0,1} der Turingmaschine sind. Die TeilformelU ergibt sich aus der Konjunktion von

¬Pti∧Bsi,t⇒Bsi,t+1

und

Pti∧ _

(q0,s0,d)∈δ(q,s)

Bi,ts ∧Ztq⇒Bi,t+1s0 ∧Zt+1q0 ∧Pt+1i+d

f¨ur alle 1≤t <ˆt und alle−tˆ≤i≤ˆt.

(67)

Beweis:

Die TeilformelU stellt sicher, dass die ¨Uberg¨ange zwischen zwei Zeitpunktentund t+ 1 entsprechend der ¨Ubergangsrelation δ:Q×Σ→2Q×Σ×{−1,0,1} der Turingmaschine sind. Die TeilformelU ergibt sich aus der Konjunktion von

¬Pti∧Bsi,t⇒Bsi,t+1

und

Pti∧ _

(q0,s0,d)∈δ(q,s)

Bi,ts ∧Ztq⇒Bi,t+1s0 ∧Zt+1q0 ∧Pt+1i+d

f¨ur alle 1≤t <ˆt und alle−tˆ≤i≤ˆt.

(68)

Beweis:

Die TeilformelU stellt sicher, dass die ¨Uberg¨ange zwischen zwei Zeitpunktentund t+ 1 entsprechend der ¨Ubergangsrelation δ:Q×Σ→2Q×Σ×{−1,0,1} der Turingmaschine sind. Die TeilformelU ergibt sich aus der Konjunktion von

¬Pti∧Bsi,t⇒Bsi,t+1

und

Pti∧ _

(q0,s0,d)∈δ(q,s)

Bi,ts ∧Ztq⇒Bi,t+1s0 ∧Zt+1q0 ∧Pt+1i+d

f¨ur alle 1≤t <ˆt und alle−tˆ≤i≤ˆt.

(69)

Beweis:

Die TeilformelE modelliert schließlich die Bedingung, dass die Turingmaschine einen akzeptierenden Zustand erreicht.

O.B.d.A. nehmen wir an, dassM nach Erreichen eines

Endzustandes in diesem verbleibt, d.h. f¨ur alle q∈E,s∈Σ gilt (q, s,0)∈δ(q, s). Dann istE geben durch:

_

q∈E 1≤t<ˆt

Ztq

Daher ergibt sich:

x∈L gdwF ist erf¨ullbar.

Beachte: F¨urn=|x|hatF die Gr¨oße O(p(n)3).

(70)

Beweis:

Die TeilformelE modelliert schließlich die Bedingung, dass die Turingmaschine einen akzeptierenden Zustand erreicht.

O.B.d.A. nehmen wir an, dassM nach Erreichen eines

Endzustandes in diesem verbleibt, d.h. f¨ur alle q∈E,s∈Σ gilt (q, s,0)∈δ(q, s). Dann istE geben durch:

_

q∈E 1≤t<ˆt

Ztq

Daher ergibt sich:

x∈L gdwF ist erf¨ullbar.

Beachte: F¨urn=|x|hatF die Gr¨oße O(p(n)3).

(71)

Beweis:

Die TeilformelE modelliert schließlich die Bedingung, dass die Turingmaschine einen akzeptierenden Zustand erreicht.

O.B.d.A. nehmen wir an, dassM nach Erreichen eines

Endzustandes in diesem verbleibt, d.h. f¨ur alle q∈E,s∈Σ gilt (q, s,0)∈δ(q, s). Dann istE geben durch:

_

q∈E 1≤t<ˆt

Ztq

Daher ergibt sich:

x∈L gdwF ist erf¨ullbar.

Beachte: F¨urn=|x|hatF die Gr¨oße O(p(n)3).

(72)

Definition 229

3SAT ist die Menge der booleschen Formeln in konjunktiver Normalform, die in jeder Klausel h¨ochstens drei Literale enthalten und die erf¨ullbar sind.

Satz 230

3SATistN P-vollst¨andig.

(73)

Definition 229

3SAT ist die Menge der booleschen Formeln in konjunktiver Normalform, die in jeder Klausel h¨ochstens drei Literale enthalten und die erf¨ullbar sind.

Satz 230

3SATistN P-vollst¨andig.

(74)

Beweis:

Offensichtlich ist 3SAT∈ N P.

Es bleibt zu zeigen, dass 3SATN P-schwer ist.

Wir tun dies, indem wir SAT polynomiell auf 3SAT reduzieren.

(75)

Beweis:

Offensichtlich ist 3SAT∈ N P.

Es bleibt zu zeigen, dass 3SATN P-schwer ist.

Wir tun dies, indem wir SAT polynomiell auf 3SAT reduzieren.

(76)

Beweis:

Offensichtlich ist 3SAT∈ N P.

Es bleibt zu zeigen, dass 3SATN P-schwer ist.

Wir tun dies, indem wir SAT polynomiell auf 3SAT reduzieren.

(77)

Beweis:

SeiF eine beliebige boolesche Formel in konjunktiver Normalform.

Wir ersetzen jede Klausel

(x1∨x2∨. . .∨xk) (xi bezeichnet hier ein beliebiges Literal) durch

(x1∨x2∨z2)∧(z2∨x3∨z3)∧. . .∧(zk−2∨xk−1∨xk), wobeiz2, . . . , zk−2 neue Variable sind.

(78)

Beweis:

SeiF eine beliebige boolesche Formel in konjunktiver Normalform.

Wir ersetzen jede Klausel

(x1∨x2∨. . .∨xk) (xi bezeichnet hier ein beliebiges Literal) durch

(x1∨x2∨z2)∧(z2∨x3∨z3)∧. . .∧(zk−2∨xk−1∨xk), wobeiz2, . . . , zk−2 neue Variable sind.

Es gibt eine Belegung f¨ur die zi, so dass alle Klauseln erf¨ullt sind, gdw mindestens eines der Literalexj wahr ist.

(79)

Beweis:

SeiF eine beliebige boolesche Formel in konjunktiver Normalform.

Wir ersetzen jede Klausel

(x1∨x2∨. . .∨xk) (xi bezeichnet hier ein beliebiges Literal) durch

(x1∨x2∨z2)∧(z2∨x3∨z3)∧. . .∧(zk−2∨xk−1∨xk), wobeiz2, . . . , zk−2 neue Variable sind.

Es gibt eine Belegung f¨ur die zi, so dass alle Klauseln erf¨ullt sind, gdw mindestens eines der Literalexj wahr ist.

Die Gr¨oße der konstruierten Formel ist polynomiell in der Gr¨oße der Ausgangsklausel. Daraus folgt, dass die obige Umformung eine p-Reduktion ist.

(80)

Satz 231

3-COLORINGistN P-vollst¨andig.

(81)

Beweis:

Es ist wiederum klar, dass 3-COLORING∈ N P.

(82)

Beweis:

Es ist wiederum klar, dass 3-COLORING∈ N P.

Um zu zeigen, dass 3-COLORINGN P-schwer ist, reduzieren wir 3SAT auf 3-COLORING.

(83)

Beweis:

Es ist wiederum klar, dass 3-COLORING∈ N P.

Um zu zeigen, dass 3-COLORINGN P-schwer ist, reduzieren wir 3SAT auf 3-COLORING.

Sei also eine boolesche Formel mit den Literalenx1, x1, . . . , xn, xn

und den Klauselnc1, . . . , cm gegeben.

(84)

Beweis:

Wir konstruieren dazu folgenden Graphen:

x2

x1 x1 x2 x3 x3 xr xr xn xn

c1 c2 cm

(85)

Beweis:

Wir konstruieren dazu folgenden Graphen:

x2

x1 x1 x2 x3 x3 xr xr xn xn

c1 c2 cm

Die ersten beiden Klauseln sind hier c1 =x1∨x2∨x¯3

(86)

Beweis:

Um zu erzwingen, dass alle Variablen nur mit Farben∈ {0,1}

gef¨arbt werden, verbinden wir alle “Literal”-Knoten mit einem zus¨atzlichen Knoten, der (per Vereinbarung) die Farbe 2 erh¨alt.

x2

x1 x1 x2 x3 x3 xr xr xn xn

c1 c2 cm

1 0 0 1 0 1 0 1 1 0

2

0 1

1 0 2

2 1 0

0 2 1

2

(87)

Beweis:

Wie am Beispiel der Klauselc2 ersichtlich, muss der unterste Knoten (derAusgang) der Klausel die Farbe 0 erhalten, falls alle Literale der Klausel die Farbe 0 haben.

Falls nicht alle Literale einer Klausel die Farbe 0 haben, kann der Ausgang der Klausel, wie am Beispiel vonc1 ersichtlich, mit der Farbe 2 gef¨arbt werden.

Wir f¨uhren nun noch einen weiteren Hilfsknoten ein, der (per Vereinbarung) mit der Farbe 0 gef¨arbt wird (ansonsten werden die Farben wie angegeben umbenannt). Damit ergibt sich:

(88)

Beweis:

Wie am Beispiel der Klauselc2 ersichtlich, muss der unterste Knoten (derAusgang) der Klausel die Farbe 0 erhalten, falls alle Literale der Klausel die Farbe 0 haben.

Falls nicht alle Literale einer Klausel die Farbe 0 haben, kann der Ausgang der Klausel, wie am Beispiel vonc1 ersichtlich, mit der Farbe 2 gef¨arbt werden.

Wir f¨uhren nun noch einen weiteren Hilfsknoten ein, der (per Vereinbarung) mit der Farbe 0 gef¨arbt wird (ansonsten werden die Farben wie angegeben umbenannt). Damit ergibt sich:

(89)

Beweis:

Wie am Beispiel der Klauselc2 ersichtlich, muss der unterste Knoten (derAusgang) der Klausel die Farbe 0 erhalten, falls alle Literale der Klausel die Farbe 0 haben.

Falls nicht alle Literale einer Klausel die Farbe 0 haben, kann der Ausgang der Klausel, wie am Beispiel vonc1 ersichtlich, mit der Farbe 2 gef¨arbt werden.

Wir f¨uhren nun noch einen weiteren Hilfsknoten ein, der (per Vereinbarung) mit der Farbe 0 gef¨arbt wird (ansonsten werden die Farben wie angegeben umbenannt). Damit ergibt sich:

(90)

Beweis:

x2

x1 x1 x2 x3 x3 xr xr xn xn

c1 c2 cm

1 0 0 1 0 1 0 1 1 0

2

0 1

1 0 2

2 1 0

0 2 1

2

0

(91)

Beweis:

x2

x1 x1 x2 x3 x3 xr xr xn xn

c1 c2 cm

1 0 0 1 0 1 0 1 1 0

2

0 1

1 0 2

2 1 0

0 2 1

2

0

Referenzen

ÄHNLICHE DOKUMENTE

Das Argument war dann, dass beim Erkennen von z (mindestens) ein Zustand zweimal besucht werden muss und damit der dazwischen liegende Weg im Automaten beliebig oft wiederholt

Dies ist auch nach der Transformation der Fall. W¨ ahrend vor der Transformation alle Zeichenreihen der obigen Form von rechts her aufgebaut werden, werden sie danach von links

Ernst W.. Am Anfang steht ein neues Kellersymbol auf dem Stack. Sobald bei der Simulation von A 1 dieses auf dem Stack vorgefunden wird, weiß man, dass A 1 seinen Stack leerger¨

2 Werden zwei oder ein Stacksymbol abgelegt und dabei das oberste Stacksymbol X ge¨ andert, entfernen wir zun¨ achst in einem eigenen Schritt das oberste Stacksymbol und pushen dann

Eine kontextfreie Grammatik ist eine LR(k)-Grammatik, wenn man durch Lookaheads der L¨ ange k erreichen kann, dass bei einer Reduktion von links nach rechts in jedem Schritt h¨

Die von linear beschr¨ ankten, nichtdeterministischen Turingmaschinen akzeptierten Sprachen sind genau die kontextsensitiven (also Chomsky-1)

Gibt es einen Unterschied, wenn man sich auf eine bestimmte Programmiersprache beschr¨ ankt..

Ebenso wird oft ein spezielles Ausgabeband verwendet, das nur geschrieben, aber nicht gelesen werden kann (write-only). Der Schreibkopf kann dabei nur nach rechts bewegt werden... n