Lösungsvorschlag Übungsblatt Nr. 9

Werbung
Institut für Kryptographie und Sicherheit
Prof. Dr. Jörn Müller-Quade
Nico Döttling
Daniel Kraschewski
Vorlesung Theoretische Grundlagen
Lösungsvorschlag Übungsblatt Nr.
9
Abgabetermin: 20.01.2010
Name
Tutorium Nr.
Matrikelnummer
Mit (K) markierte Aufgaben können zur Korrektur abgegeben werden. Korrigierte Übungsblätter erhalten
Sie eine Woche nach Abgabe von ihrem Tutor. Bei Erreichen von mehr als 50% der erreichbaren Punkte
aller Übungsblätter erhalten Sie einen Übungsschein. Abgabefrist für dieses Übungsblatt ist Mittwoch, der
20.01.2010, 12:00 Uhr. Die Einwurfkästen befinden sich im Kellergeschoss des Informatik-Neubaus (Geb.
50.34).
1
2
Σ
Aufgabe 1 (K) (4 Punkte)
Sei G = (V, E) ein gerichteter Graph. Ein Kern von G ist eine Teilmenge K ⊆ V sodass
• Für je zwei u 6= v in K ist weder (u, v) ∈ E noch (v, u) ∈ E.
• Für jedes u ∈
/ K gibt es ein v ∈ K sodass (v, u) ∈ E.
Wir erhalten das folgende Problem:
KERNEL
Gegeben: Ein gerichteter Graph G = (V, E)
Frage: Hat G einen Kern?
Zeigen Sie: KERNEL ist NP-vollständig. Verwenden Sie dazu die NP-Vollständigkeit von
3SAT. Hinweis: Verwenden Sie in ihrer Reduktion für die in der 3SAT-Instanz auftauchenden Variablen Teilgraphen wie in Abbildung 2. Dieser Teilgraph hat genau 2 SZustände"(oder
i
Abbildung 1: Beispiel: Die Menge der rot eingekreisten Knoten ist ein Kern
Abbildung 2: Das Gadget für 3SAT Variablen
Belegungen), da immer nur einer der beiden Knoten in einem Kern enthalten sein kann. Verwenden Sie weiter dass sich für einen Knoten v die Mitgliedschaft im Kern erzwingen läßt,
indem man ihn mit einem wie in Abbildung 3 dargestellten Gadget ausstattet.
Lösung:
Wir stellen zunächst fest dass KERNEL ∈ N P . Eine NP-Maschine M könnte so vorgehen:
Eingabe: Ein gerichteter Graph G = (V, E)
Ausgabe: G besitzt einen Kern JA/NEIN
• Rate nichtdeterministisch eine Knotenmenge K ⊆ V .
• Prüfe für alle u ∈ K ob es ein v ∈ K gibt mit (u, v) ∈ E, falls ja dann gibt NEIN aus
• Prüfe für alle u ∈ V ob es ein v ∈ K gibt mit (u, v) ∈ E, falls nein dann gib NEIN aus
• Gib JA aus
Die Maschine M hat maximal Laufzeit O(|V | · |E|), ist also nichtdeterministisch polynomiell.
Damit gilt KERNEL ∈ N P . Wir zeigen nun durch Reduktion von 3SAT auf KERNEL dass
KERNEL NP-hart ist. Sei φ dazu eine 3SAT Instanz. φ habe die Variablen X1 , . . . , Xn und
die Klauseln K1 , . . . , Km . Wir konstruieren nun folgenden Graphen G = (V, E). Es sei V =
{x1 , . . . , xn , x̄1 , . . . , x̄n , k1 , . . . , km , s, t1 , t2 , t3 }. Wir definieren E durch
• (xi , x̄i ) ∈ E und (x̄i , xi ) ∈ E für i = 1, . . . , n
ii
v
Abbildung 3: ein Gadget welches erzwingt dass v im Kern enthalten ist
• Für alle j = 1, . . . , m und i = 1, . . . , n: Falls in Klausel Kj das Literal Xi enthält, dann
sei (xi , kj ) ∈ E. Falls Kj das Literal X̄i enthält, dann sei (x̄i , kj ) ∈ E.
• Für alle j = 1, . . . , m sei (kj , s) ∈ E.
• Es sei (s, t1 ), (s, t2 ), (s, t3 ), (t1 , t2 ), (t2 , t3 ), (t3 , t1 ) ∈ E.
Der so konstruierte Graph hat 2n + m + 4 Knoten und ≤ 2n + n · m + m + 6 Kanten. Die
Reduktion hat also Aufwand O((2n + m + 4)(2n + (n + 1)m + 6)), ist also eine Polynomialzeitreduktion. Wir zeigen nun: φ besitzt genau dann eine erfüllende Belegung wenn G einen Kern
besitzt. Sei dazu (ξ1 , . . . , ξn ) ∈ {0, 1}n eine erfüllende Belegung von φ. Wir setzen dann für
alle i = 1, . . . , n: xi ∈ K falls ξi = 1 und x̄i ∈ K falls ξi = 0. Weiterhin sei s ∈ K. K ist nun
ein Kern von G, denn für die Knoten xi , x̄i mit i = 1, . . . , n ist immer einer von beiden in K
und der andere ist mit diesem durch eine Kante verbunden. Weiterhin gibt es, da (ξ1 , . . . , ξm )
eine erfüllende Belegung ist, für jedes Kj mit j = 1, . . . , m ein Literal Xi mit Belegung ξi = 1
oder ein Literal X̄i mit Belegung ξi = 0. Im ersten Fall gibt es eine Kante (xi , kj ) ∈ E mit
xi ∈ K, im zweiten Fall gibt es eine Kante (x̄i , kj ) ∈ E mit x̄i ∈ E. Da s ∈ K und (s, tl ) ∈ E
(l = 1, 2, 3) gibt es auch für tl ein v ∈ K mit (v, tl ) ∈ K. Damit ist K ein Kern von G.
Sei nun umgekehrt K ein Kern von G. Wir konstruieren aus K eine erfüllende Belegung
ξ1 , . . . , ξn von φ. Für alle i = 1, . . . , n ist die einzige eingehende Kante von xi (x̄i , xi ). Genauso
ist die einzige eingehende Kante von x̄i (xi , x̄i ). Es muss also für alle i = 1, . . . , n entweder
xi ∈ K oder x̄i ∈ K gelten, da K Kern ist. Weiterhin gilt zwingend dass s ∈ K. Denn wäre
s∈
/ K, dann müsste eines von t1 , t2 , t3 in K sein. Sagen wir o.B.d.A. t1 ∈ K, dann gilt aber
t3 ∈
/ K, da (t3 , t1 ) ∈ E. Dann muss aber t2 ∈ K gelten, da es ansonsten keine Kante von K
nach t3 gibt. Da aber (t1 , t2 ) ∈ E kann t1 nicht in K liegen, das ist aber ein Widerspruch.
Deshalb liegt s ∈ K. Da s ∈ K kann kein kj für j = 1, . . . , m in K liegen. Es gibt also für
jedes kj ein xi ∈ K mit (xi , kj ) ∈ E oder ein x̄i ∈ K mit (x̄i , kj ) ∈ E. Für i = 1, . . . , n setzen
wir dann ξi = 0 falls x̄i ∈ K und ξi = 1 falls xi ∈ K. Damit ist ξ1 , . . . , xin eine erfüllende
Belegung für φ.
Aufgabe 2 (K) (4 Punkte)
Gegeben ist das folgende Problem:
iii
CLIQUE
Gegeben: Ein ungerichteter Graph G = (V, E) und eine Zahl k.
Frage: Besitzt G einen vollständigen Subgraphen mindestens der Größe k (also einen Subgraph G′ = (V ′ , E ′ ) mit |V ′ | ≥ k, V ′ ⊆ V, E ′ ⊆ E und ∀vi , vj ∈ V ′ : (vi , vj ) ∈ E ′ )?
Zeigen Sie, dass CLIQUE NP-vollständig ist. Lösung: Als erstes sieht man, dass CLIQUE in
NP liegt. Hat man für eine Instanz G = (V, E), k eine Clique C ⊆ V geraten, so läßt sich in
O(k 2 ) Schritten überprüfen ob C tatsächlich eine Clique ist indem man überprüft ob für alle
u, v ∈ C gilt (u, v) ∈ E. Damit ist CLIQUE ∈ N P .
Reduktion von Vertex Cover auf CLIQUE: Sei ein Graph G = (V, E) gegeben. Dann bilde
einen Graphen G′ = (V ′ , E ′ ) mit V ′ = V und E ′ = V × V \ E (also (v, w) ∈ E ′ ⇔ (v, w) ∈
/ E).
′
′
Anschaulich wird ein Komplementärgraph G zum Graphen G gebildet, so dass bei G genau
die Kanten vorhanden sind, die bei G′ nicht vorhanden sind. Der Graph G hat genau dann
ein Vertex Cover höchstens der Größe k wenn es einen vollständigen Subgraphen von G′
mindestens der Größe n = |V | − k gibt.
Aufgabe 3 (*)
Gegeben sei folgendes Problem PLANAR 3COLOR
Gegeben: Ein ungerichteter planarer Graph G = (V, E).
Frage: Gibt es eine Färbung der Knoten mit 3 Farben sodass je zwei adjazente Knoten
verschiedene Farben haben?
Zeigen Sie: PLANAR 3COLOR ist NP-vollständig. Verwenden Sie dazu dass 3COLOR NPvollständig ist.
Lösung PLANAR 3COLOR ist offensichtlich in NP mit dem selben Argument wie für 3COLOR: Man rät sich eine Färbung des Graphen und prüft für alle |E| Kanten nach dass die
beiden Endknoten unterschiedlich gefärbt sind. Damit ist der Aufwand O(|E|). Wir geben
nun eine Polynomialzeitreduktion von 3COLOR auf. Sei G = (V, E) eine Instanz von 3CO-
LOR. Im ersten Schritt betten wir G beliebig in die Ebene ein. Dabei entstehen maximal |E|
2
Kantenkreuzungen. Wir schreiben für die drei zur Verfügung stehenden Farben im weiteren
0,1 und 2. Wir geben nun ein Gadget an mit welchem wir Kantenkreuzungen auflösen und
den Resultierenden Graphen planar macht, eine 3-Färbung aber erhält. Zunächst sieht man
in Abbildung 4 dass 2 Knoten v1 und v2 die durch ein solches Gadged miteinander verbunden
sind notwendigerweise die selbe Farbe haben müssen. Haben v1 und v2 die Farbe 0, so besteht
noch ein Freiheitsgrad in welcher Farbe man v3 und v4 färbt. Es stehen die Färbungen v3 7→ 1,
v4 7→ 2 sowie v3 7→ 2, v4 7→ 1 zur Verfügung. Wir geben nun das Gadget zur Auflösung einer
Kantenkreuzung an. Dafür brauchen wir ein Gadget das Färbung über Kreuzungen hinwegtransportiert. Wir suchen also ein planares Gadget W (Abbildung 5) welches sicherstellt dass
jeweils v1 und v1′ als auch v2 und v2′ gleich gefärbt sind. Ein solches Gadget läßt sich dazu verwenden eine Zwangsbedingung über Kantenkreuzungen hinwegzutransportieren (Abbildung
6). Es ist nun klar dass falls W die oben genannte Bedingung erfüllt, der planare Graph G′ in
welchem alle Kantenkreuzungen durch Transportgadgets ersetzt und schließlich die ’transportierten’ Knoten mit den ursprünglichen Nachbarn verbunden wurden genau dann 3-färbbar ist
wenn G 3-färbbar ist. Wir geben nun eine planare Implementierung von W an (Abbildung 7).
Wir zeigen nun dass in W sowohl v1 und v1′ alsauc v2 und v2′ die mit der selben Farbe gefärbt
sein müssen. Dazu sei o.B.d.A v1 mit der Farbe 0 gefärbt. Durch die obige Bemerkung zum
einfachen Gadget (durch welches v1 und v2 in vierfacher Reihenschaltung miteinander verbunden sind) muss dann auch v1′ die Farbe 0 annehmen. Es gibt nun zwei Fälle zu unterscheiden.
Im ersten ist v2 auch mit 0 gefärbt. Wir finden nun eine bis auf zwei Vertauschungen von 1
iv
v3
v1
v2
v4
Abbildung 4: ein einfaches Gadget
v2′
v1
v1′
W
v2
Abbildung 5: Das Transportgadget
W
Abbildung 6: Verwendung des Gadgets
v
W
v2′
v1′
v1
v2
Abbildung 7: Implementierung des Transportgadgets W
und 2 eindeutige Färbung für W (siehe Abbildung 8). Im zweiten Fall ist v2 mit einer anderen
Farbe als 0 gefärbt, o.B.d.A mit 1. Die Färbung ist nun bis auf zwei Vertauschungen von 0
und 2 eindeutig (Abbildung 9). Damit leistet das Gadget W das gewünschte. Es läßt sich nun
einfach eine 3-Färbung von G′ in eine 3-Färbung von G übersetzen und umgekehrt.
vi
v2′
0
1
2
2
0
1
0
1
0
2
0
0
v1′
v1
1
2
2
1
1
2
0
v2
Abbildung 8: v2 mit 0 gefärbt
v2′
1
2
0
1
0
1
0
2
0
2
0
0
v1′
v1
2
2
1
1
2
0
1
v2
Abbildung 9: v2 mit 1 gefärbt
vii
Herunterladen