Clique Clique 3. Beispiel: Bin Packing BP BP Fazit

Werbung
Cliqueopt T Cliquedec
3. Beispiel: Bin Packing
1. Bestimme die Größe einer max. Clique:
Rufe Orakel mit B=1,...,|V| auf, die Größe ist
der letzte Wert mit Antwort „Ja“.
Sei K die Größe einer max. Clique.
2. Berechnung einer max. Clique:
BPopt:
Eingabe: n Objekte mit Größen a1,...,an,
Kistengröße b.
Aufgabe: Verpacke die Objekte in möglichst
wenige Kisten.
Entferne jeden Knoten probeweise aus dem
Graphen und teste mit dem Orakel, ob es
noch eine Clique der Größe K gibt.
BPeval: Berechne die minimale Anzahl von
Kisten.
BPdec: Genügen k Kisten?
Insgesamt O(|V|) Orakelaufrufe.
BPdec T BPeval T BPopt T BPdec.
141
BPopt BPdec
142
Fazit
T
1. Bestimme die minimale Kistenanzahl kmin
durch Aufruf d. BPdec-Orakels mit k = 1,...,n.
2. Erzwinge, dass Objekte 1 u. 2 in dieselbe
Kiste gepackt werden und teste, ob kmin
Kisten immer noch reichen.
Dazu: Objekte 1 u. 2 durch ein Objekt mit
Größe a1+a2 ersetzen.
Analog weiter mit den übrigen Paaren von
Objekten.
143
Ähnliche Turingreduktionen gibt es für fast alle
anderen Probleme X in der Vorlesung.
Xdec T Xeval T Xopt meist einfach.
Xopt T Xdec meistens:
1. Schritt: (binäre oder lineare) Suche zur
Bestimmung des Werts einer opt. Lösung.
2. Schritt: Bestimmung der Lösung durch
probeweises Verändern der Eingabe.
Es genügt in der Regel, nur die
Entscheidungsvarianten zu untersuchen.
144
Vergleich von verwandten Problemen
[K4.3]
Hamiltonkreis (HC, Hamiltonian circuit)
Eingabe: Ungerichteter Graph G=(V,E).
Frage: Gibt es einen Kreis, der jeden Knoten
genau einmal enthält?
Variante für gerichtete
Graphen: DHC
(directed Hamiltonian
circuit)
Zu zeigen:
1. G´ hat DHC ⇒ G hat HC.
2. G hat HC ⇒ G´ hat DHC.
145
lokale Ersetzung
• DHC T HC.
Geg: Gerichteter Graph G=(V,E).
- Ersetze jeden Knoten v durch Knoten
v1,v2,v3 und Kanten {v1,v2} u. {v2,v3}.
- Ersetze jede Kante (u,v) durch (u3,v1).
- Teste mit dem HC-Orakel, ob G´ HC hat.
u
w
v
Satz K4.3.1: DHC =T HC T TSP.
Beweis:
Restriktion
• HC T DHC.
Geg: ungerichteter Graph G=(V,E).
Ersetze jede Kante {u,v} durch (u,v) u. (v,u).
Resultat: Gerichteter Graph G´.
Teste mit DHC-Orakel, ob G´ DHC hat.
u
v1
v2
1. G hat DHC ⇒ G´ hat HC.
2. G´ hat HC ⇒ G hat DHC.
v3
146
Restriktion
• HC T TSPdec:
Geg: ungerichteter Graph G=(V,E).
- Erzeuge TSP-Problem mit |V| Städten und
Entfernungsmatrix
1. G hat HC ⇒ TSP-Lösung mit Kosten |V|.
2. TSP-Lösung mit Kosten |V| ⇒ G hat HC.
w1
Beobachtung: Konstruiertes TSP ist symm.,
erfüllt die Dreiecksungleichung u. hat nur die
Entfernungen 1 und 2. Name: TSPsymm,∆,2
147
148
Erfüllbarkeitsprobleme
Begriffe
SAT (satisfiability problem)
Eingabe: Formel F in konjunktiver Form.
Frage: Gibt es eine Belegung x der Variablen
in F mit F(x)=1?
• erfüllbar – satisfiable:
Eigenschaft der Formel, nämlich für eine
geeignete Eingabe den Wert 1 anzunehmen.
Beispiel:
• erfüllend – satisfying:
Eigenschaft einer Variablenbelegung,
nämlich der Formel den Wert 1 zu geben.
Literal
149
Varianten von SAT
Spezialfall k-SAT:
Jede Klausel hat genau k Literale.
Optimierungsvar. MAXSAT u. MAX-k-SAT:
Eingabe: Formel F in konjunktiver Form
(mit Klauseln aus genau k Literalen)
Aufgabe: Finde eine Variablenbelegung, die
möglichst viele Klauseln erfüllt.
151
150
Satz: SAT T MAXSAT und
k-SAT T MAX-k-SAT
Beweis:
Restriktion
Geg: Formel F, die auf Erfüllbarkeit getestet
werden soll.
Berechne mit dem MAXSAT-Orakel eine
maximale erfüllende Belegung.
Teste, ob diese alle Klauseln erfüllt.
152
Satz K4.3.2: SAT =T 3-SAT.
Beweis:
• 3-SAT T SAT: Trivial.
Restriktion
• SAT T 3-SAT:
lokale Ersetzung
Geg.: Formel F in konjunktiver Form.
Ersetze jede Klausel C = xi1∨…∨ xil durch
Ersetze zu kurze Klauseln xi1 bzw. xi1∨ xi2
durch xi1∨ xi1∨ xi1 bzw. xi1∨ xi2∨ xi2.
153
154
Korrektheit
Partition und BP
Zeige:
Partition
Eingabe: Natürliche Zahlen a1,...,an.
Frage: Gibt es I⊆{1,...,n} mit
1.Jede erfüllende Belegung x für F kann zu
erfüllenden Belegung für F ´ ergänzt werden
2.Jede erfüll. Belegung für F ´ ist eingeschränkt
auf die x-Variablen erfüllend für F.
155
BP
Eingabe: n Objekte mit Größen a1,...,an,
Kistengröße b, Zahl k.
Aufgabe: Genügen k Kisten der Größe b, um
alle Objekte zu verpacken?
156
Partition und BP
Clique, Indep. Set, Vertex Cover
Satz K4.3.3: Partition T BP
Restriktion
Beweis:
Geg: Eingabe (a1,...,an) für Partition.
Falls B=∑i ai ungerade: Eingabe nicht lösbar.
Sonst: Wende BP-Orakel auf die Eingabe
a1,...,an und B/2 an.
Independent Set (ISdec)
Eingabe: Unger. Graph G=(V,E), nat. Zahl k.
Frage: Gibt es k Knoten, die paarweise nicht
verbunden sind?
Bsp.
Partition ist genau dann lösbar, wenn 2 Kisten
reichen.
157
Satz K4.3.4: Cliquedec =T ISdec.
Beweis: Cliquedec T ISdec
Geg: Graph G=(V,E), Zahl k.
Erzeuge G´=(V,E´) mit {u,v} ∈ E´ ⇔ {u,v} ∉ E
Klar: G enthält k paarweise verb. Knoten
⇔ G´ enthält k paarweise nicht verb. Knoten.
158
Vertex Cover (VCdec)
Eingabe: Unger. Graph G=(V,E), nat. Zahl k.
Frage: Gibt es V´⊆V mit |V´|k, so dass jede
Kante mindestens einen Knoten aus V´
enthält?
„V´ überdeckt E.“
Bsp.
ISdec T Cliquedec: analog.
Independent Set heißt auch Anti-Clique.
159
160
Satz K4.3.4: ISdec =T VCdec.
Beweis: ISdec T VCdec
Geg: Graph G=(V,E), Schranke k für IS.
Rufe das VC-Orakel für G und |V|-k auf.
V´ unabhängige Menge mit k Knoten
⇔ Jede Kante enthält einen Knoten, der nicht
in V´ ist.
⇔ V-V´ ist Vertex Cover.
VCdec T ISdec analog.
161
Herunterladen