Als pdf oder txt herunterladen
Als pdf oder txt herunterladen
Sie sind auf Seite 1von 5

Grundbegriffe der Theoretischen Informatik

Übungsblatt 5

Name: Jason Ball


Matrikelnummer: 232915

Inhaltsverzeichnis
5.1 [NP-Vollständigkeit]..........................................................................................................2
a)........................................................................................................................................2
b)........................................................................................................................................2
c)........................................................................................................................................3
d)........................................................................................................................................3
5.2 [Der Satz von Cook].........................................................................................................4
a)........................................................................................................................................4
b)........................................................................................................................................4
c)........................................................................................................................................4
d)........................................................................................................................................4
e)........................................................................................................................................4
f).........................................................................................................................................4
5.3 [Reduktionskonzepte]......................................................................................................5
a)........................................................................................................................................5
b)........................................................................................................................................5
c)........................................................................................................................................5
5.1 [NP-Vollständigkeit]

a)
Nichtdeterministischer Polynomialzeitalgorithmus:
1) Orakel: Wähle mögliche Tischverteilung der Mengen T1, T2, T3
2) Für alle {a,b}:
1. Sitzen a und b an unterschiedlichen Tischen?
1. 2.1.1) Falls Ja: Zähler++
2. Zähler >= k?
1. Falls Ja: Akzeptiere
3) Verwerfe

Algorithmus hat polynomielle Laufzeit, da die Anzahl der zu Überprüfenden paare maximal
|F| entspricht. Die Überprüfungen werden außerdem in konstanter Zeit ausgeführt.

Daher gilt Tischverteilung3 ∈ NP.

b)
Reduzierung von 3-GC auf Tischverteilung3:
Menge der Gäste G = Knoten aus G von 3-GC.
Menge der Freundschaften F = Kanten aus G von 3-GC.
k = Anzahl der Kanten aus G von 3-GC.

Zu zeigen: 3-GC akzeptiert, wenn Tischverteilung3 akzeptiert.

Beim Akzeptieren von Tischverteilung3 bedeutet dies, dass benachbarte Gäste nicht
befreundet sind. Dies wiederum bedeutet, dass benachbarte Knoten verschiedene Farben
haben. Da es in G genau k Kanten gibt, werden also mindestens k Freundschaften
getrennt. Da k gleich der Anzahl der Kanten aus G von 3-GC ist, gibt es keine Kanten
zwischen Knoten gleicher Farbe. Dementsprechend gibt es eine legale 3-Färbung.

Daher gilt: 3-GC <= Tischverteilung3.


c)
Zu zeigen: Tischverteilung3 ist NP-vollständig.

Dazu:
1) Tischverteilung3 ∈ NP → Schon gezeigt in 5.1 a)
2) Tischverteilung3 ist NP-schwer.
1. Da 3-GC NP-vollständig ist, können wir Tischverteilung3 auf 3-GC reduzieren

Reduzierung von Tischverteilung3 auf 3-GC:


Menge der Knoten G = Gäste aus G von Tischverteilung3.
Kanten in G = Freundschaften aus F von Tischverteilung3.
Anzahl der Kanten in G = k von Tischverteilung3.

Zu zeigen: Tischverteilung3 akzeptiert, wenn 3-GC akzeptiert.

Wenn es eine 3-Färbung gibt, kann man die Knoten nach ihren Farben, also in 3 Gruppen
T1, T2, T3 einordnen. Benachbarte Knoten haben unterschiedliche Farben, das heißt es
gibt keine Kanten zwischen Knoten derselben Farbe in einer der 3 Mengen. Somit sind
mindestens k Freundschaften getrennt.

Daher Gilt Tischverteilung3 <= 3-GC.

d)
Zu zeigen: Tischverteilung4 ist NP-schwierig.

Reduzierung von 3-GC auf Tischverteilung4:

Wir konstruieren zunächst (G', F') für Tischverteilung4


G' = Menge der Knoten G aus 3-GC, wobei jeder Knoten in 3 Knoten aufgeteilt wird.
F' = Anzahl der Kanten aus G von 3-GC.

Zu zeigen: 3-GC akzeptiert, wenn Tischverteilung4 akzeptiert.

Zunächst teilen wir die Knoten auf die 4 Tische T1, T2, T3, T4 auf. Hier hat jeder Tisch
maximal einen Knoten einer der zusammengehörenden Dreiergruppen. Trotzdem sind
keine Knoten die eine Freundschaft haben an einem Tisch. Nun sind die Knoten auf 4
Tische verteilt, ohne dass es an einem Tisch eine Freundschaft gibt. Jetzt können wir die 3
Knoten einer Gruppe in 3 Farben färben. Somit haben wir zugleich eine 3-Färbung
während Tischverteilung4 erfüllt ist.

Daher gilt 3-GC <= Tischverteilung4.


5.2 [Der Satz von Cook]

a)
q0ccdB → cq1cdB → ccq0dB → ccdq1B → ccdq3B

b)
q0ccdB → Q(i,0) = 1, für i = 0
cq1cdB → Q(i,1) = 1, für i = 1
→ S(j,1) = 1, für j = 1
ccq0dB → Q(i,2) = 1, für i = 0
→ S(j,2) = 1, für j = 1
ccdq1B → Q(i,3) = 1, für i = 1
→ S(j,3) = 1, für j = 2
ccdq3B → Q(i,4) = 1, für i = 3
→ S(j,4) = 1, für j = 3

c)
(Q(0,0) ∧ ¬Q(1,0) ∧ ¬Q(2,0) ∧ ¬Q(3,0)) ∧
(¬Q(0,1) ∧Q(1,1) ∧ ¬Q(2,1) ∧ ¬Q(3,1) ∧S(1,1) ∧ ¬S(2,1) ∧ ¬S(3,1)) ∧
(Q(0,2) ∧ ¬Q(1,2) ∧ ¬Q(2,2) ∧ ¬Q(3,2) ∧S(1,2) ∧ ¬S(2,2) ∧ ¬S(3,2)) ∧
(¬Q(0,3) ∧Q(1,3) ∧ ¬Q(2,3) ∧ ¬Q(3,3) ∧ ¬S(1,3) ∧S(2,3) ∧ ¬S(3,3)) ∧
(¬Q(0,4) ∧ ¬Q(1,4) ∧ ¬Q(2,4) ∧Q(3,4) ∧ ¬S(1,4) ∧ ¬S(2,4) ∧S(3,4))

d)
Damit bei einer Eingabelänge von 3 akzeptiert wird, müssen wir als dritte Eingabe a3 = B
haben. Außerdem dürfen wir als die ersten beiden Eingaben kein a3 = B haben.
Wenn wir von (Q(0,0) ∧ ¬Q(1,0) ∧ ¬Q(2,0) ∧ ¬Q(3,0)) ausgehen, da es sich hierbei um den
Startzustand handelt:

((Q(0,1) ∨Q(1,1)) ∧ ¬Q(2,1) ∧ ¬Q(3,1) ∧ (S(1,1) ∨S(2,1)) ∧ ¬S(3,1)) ∧


((Q(0,2) ∨Q(1,2)) ∧ ¬Q(2,2) ∧ ¬Q(3,2) ∧ (S(1,2) ∨S(2,2)) ∧ ¬S(3,2)) ∧
(¬Q(0,3) ∨ ¬Q(1,3) ∧Q(2,3) ∧ ¬Q(3,3) ∧ ¬S(1,3) ∧ ¬S(2,3) ∧S(3,3))

e)
(Q(0,1) ∧ ¬Q(1,1)) ∨ (¬Q(0,1) ∧Q(1,1)) ∧ ¬Q(2,1) ∧ ¬Q(3,1) ∧ (S(1,2) ∨S(2,2) ∨S(3,2))

f)
(¬Q(0,2) ∧Q(1,2) ∧ ¬Q(2,2) ∧ ¬Q(3,2)) ∧
(Q(0,3) ∧ ¬Q(1,3) ∧ ¬Q(2,3) ∧ ¬Q(3,3) ∧ ¬S(1,3) ∧S(2,3) ∧ ¬S(3,3))
5.3 [Reduktionskonzepte]

a)
Ja, er kann mindestens 6 Gäste einladen, da in der Menge
{P3EF, C3PKP, MS, AF, PL, JS}
jeder Gast nur mit maximal einem anderen Gast einen Konflikt hat.

b)
Reduzierung von ISdec auf Gästeauswahl:
V = Gäste aus G von Gästeauswahl
E = Konflikte aus C von Gästeauswahl
k = k von Gästeauswahl

Zu zeigen: ISdec akzeptiert, wenn Gästeauswahl akzeptiert.

Wenn Gästeauswahl akzeptiert, gibt es mindestens k Gäste die keinen Konflikt haben.
Das heißt diese Knoten sind paarweise nicht verbunden. Damit entspricht es einem
Independent Set der Größe mindestens k. Damit wiederum gibt es auch ein Independent
Set der Größe k.

Polynomiell, da die Anzahl der Gäste |V| und Konflikte |E| endlich ist. Außerdem werden
die adjazenten Gäste der Gäste überprüft, was aber auch einer endlichen Anzahl
Überprüfungen entspricht.

Daher gilt ISdec <= Gästeauswahl.

c)
Da wir ISdec auf Gästeauswahl reduziert haben, ist Gästeauswahl mindestens so schwer
wie ISdec. Es könnte also gleich schwer oder schwerer als ISdec sein.

Das könnte Ihnen auch gefallen