Vorlesungsskript (Entwurf 23.6.2015)

Werbung
Kapitel 1
NP-Vollständigkeit
In diesem Kapitel behandeln wir das wichtigste komplexitäts-theoretische Konzept der
Theoretischen Informatik und der Algorithmen-Theorie, die Problemklassen P und
NP.
Sicher ist dem einen oder anderen Studierenden bekannt, dass das wohl größte offene
Problem in der Informatik die Frage ist, ob P = NP gilt. Darauf werden wir später
eingehen.
1.1. Turingmaschinen
Definition 1.1. Eine deterministische Turingmaschine (DTM oder TM) besteht aus folgenden Komponenten:
Ź Q, eine endliche Zustandsmenge
Ź Σ, ein endliches Alphabet
Ź Γ Ě Σ, ein endliches Bandalphabet
Ź B P ΓzΣ, das Leerzeichen
Ź q0 P Q, der Anfangszustand
Ź δ : Q ˆ Γ ÝÑ Q ˆ Γ ˆ {R, L, N }, die Zustandsüberführungsfunktion
Ź eventuell F Ď Q, die Menge der akzeptierenden Endzustände
Funktionsweise einer DTM: Wenn die Maschine im Zustand q ist und a liest, handelt sie
gemäß der Anweisung δpq, aq “ pq 1 , a1 , dq. Sie wechselt in den Zustand q 1 , ersetzt in der
gelesenen Zelle den Buchstaben a durch a1 und bewegt sich in Richtung d. Falls d “ R,
geht sie einen Schritt nach rechts, falls d “ L, einen Schritt nach links, falls d “ N ,
bewegt sie sich nicht.
1
Kapitel 1. NP-Vollständigkeit
q, a
Kopf
Zustand q
B
B
b
b
a
c
δ
Programm
a1 , d
a
¨¨¨
δpq, aq “ pq 1 , a1 , dq
B
¨¨¨
Band
Abbildung 1.1. Aufbau einer Turingmaschine
Die Ausgangssituation ist die folgende: Die Eingabe ist ein Wort w über dem Eingabealphabet Σ Ď Γ, d.h. w “ pw1 , . . . , wn q P Σ˚ . Hier, wie auch an vielen anderen
Stellen, unterscheiden wir Vektoren pw1 , . . . , wn q nicht von Strings w1 . . . wn . Dabei steht
w1 in Zelle 1 und allgemein wi in Zelle i. Alle anderen Zellen stellen wir uns als leer vor.
Formal enthalten sie das Leerzeichen B P ΓzΣ (B “blank,
ˆ
engl. für leer). Die Maschine
befindet sich zu Beginn der Rechnung in einem ausgezeichneten Anfangszustand q0 .
Zustände q, für die δpq, aq “ pq, a, N q für alle a P Γ gilt heißen Stopp- oder Endzustände. Die Maschine stoppt auch, wenn sie im Zustand q den Buchstaben a liest und
δpq, aq “ pq, a, N q nur für diesen Buchstaben gilt. Wenn die Turingmaschine stoppt, steht
das Ergebnis auf dem Band beginnend an der Kopfposition und endend in Zelle i, wenn
Zelle i`1 die erste Zelle rechts von der Kopfposition ist, die das Leerzeichen enthält. Wenn
die Antworten binär sind, also nur aus „Ja“ oder „Nein“ bzw. 0 oder 1 bestehen, sagen
wir, dass die Eingabe akzeptiert wird bzw. nicht akzeptiert wird. In diesem Fall können
wir die Ausgabe in die Zustände integrieren. Eine Eingabe wird dann akzeptiert, wenn
die Rechnung in einem akzeptierenden Zustand q P F Ď Q stoppt.
Definition 1.2. Die Rechenzeit einer DTM ist die Zahl der Zustandsübergänge, bis die
DTM stoppt.
Für eine Zahl n P N sei binpnq die Binärdarstellung von n.
Definition 1.3.
(i) Eine Funktion f : Σ˚ Ñ Σ˚ heißt total rekursiv (berechenbar), wenn es eine
Turingmaschine gibt, die aus der Eingabe x den Funktionswert f pxq berechnet.
(ii) Eine Funktion f : Nk Ñ N heißt total rekursiv (berechenbar), wenn es eine
Turingmaschine gibt, die für pi1 , . . . ik q P Nk mit Eingabe binpi1 q, . . . , binpik q
mit dem Ergebnis bin f pi1 , . . . , ik q stoppt.
2
1.1. Turingmaschinen
Definition 1.4.
(i) Eine Sprache L Ď Σ˚ heißt rekursiv (entscheidbar), wenn es eine Turingmaschine gibt, die auf allen Eingaben stoppt und die Eingabe w genau dann
akzeptiert, wenn w P L ist.
(ii) Eine Sprache L Ď Σ˚ heißt rekursiv aufzählbar, wenn es eine Turingmaschine
gibt, die genau die Eingaben w akzeptiert, die aus L sind.
Beachte: Die Turingmaschine in (i) stoppt immer, in (ii) hingegen muss sie für x R L
nicht notwendigerweise stoppen. Eine rekursive Sprache ist auch rekursiv aufzählbar.
Die Turingmaschine in der Definition des Begriffs „rekursiv aufzählbar“ muss nicht für
alle Eingaben stoppen. Für „schlechte Eingaben w R L“ muss sie nie feststellen, dass
w R L ist. Sie darf nur nie entscheiden, dass w akzeptiert wird.
Definition 1.5.
(i) Eine Konfiguration einer Turingmaschine ist ein String αqβ mit α P Γ˚ , q P Q
und β P Γ˚ . Dies bedeutet: auf dem Band steht die Inschrift αβ eingerahmt
von lauter Blankbuchstaben, die Maschine ist im Zustand q und der Kopf
zeigt auf die Zelle, die den ersten Buchstaben von β enthält.
(ii) α1 q 1 β 1 ist eine direkte Nachfolgekonfiguration von αqβ wenn α1 q 1 β 1 in einem
Rechenschritt aus αqβ entsteht, Notation αqβ $ α1 q 1 β 1 .
(iii) α2 q 2 β 2 ist Nachfolgekonfiguration von αqβ, wenn α2 q 2 β 2 in endlich vielen
Rechenschritten aus αqβ entsteht, Notation αqβ $˚ α2 q 2 β 2 . Es ist stets
αqβ $˚ αqβ nach Definition.
Beispiel 1.6. Wir konstruieren eine Turingmaschine für die Sprache L “ {0n 1n ; n ě 1}
über Σ “ {0, 1}. Wir entwerfen einen einfachen Algorithmus, der Eingaben aus L erkennt
und übersetzen diesen in eine Turingmaschine.
Algorithmus L-Test
Schritt1: Ist x P Σ˚ , so teste, ob x “ 0i 1j für i, j P N. Falls „Nein“, so verwerfe die
Eingabe. Falls „Ja“, gehe zu Schritt2.
Schritt2: Teste i “ j. Falls „Ja“, akzeptiere x, sonst verwerfe x.
Im Folgenden geben wir eine Turingmaschine an, die den Algorithmus L-Test simuliert.
Die Zustände der Turingmaschine sind:
q0 : Lesen der Eingabe, solange nur Nullen gefunden werden; beim Finden einer 1 Wechsel
in q1 . Wird keine Eins gefunden, Fehler.
3
Kapitel 1. NP-Vollständigkeit
q1 : Weiteres Lesen der Einsen, solange Einsen gefunden werden. Wird noch eine 0 gefunden,
Fehler. Wird ein Leerzeichen gefunden, ist Phase 1 erfolgreich durchlaufen. Wechsel
nach q2 und zurück zum letzten Buchstaben.
q2 : Falls letzter Buchstabe eine Null oder ein B ist, Fehler. Sonst Eliminieren der letzten
1, Schritt nach links, Wechsel nach q3 .
q3 : Überlaufen des Wortes nach links bis zum ersten Leerzeichen, dort nach rechts, Wechsel
in q4 .
q4 : Wenn der linkeste Buchstabe eine 1 ist, gibt es mehr Einsen als Nullen, Fehlermeldung.
Ebenso, wenn ein Leerzeichen gefunden wurde, d.h. es gibt keinen linkesten Buchstaben.
Wird eine Null gefunden, wird diese gelöscht, Wechsel nach q5 . Wir haben nun die
linkeste 0 und die rechteste 1 gelöscht.
q5 : Teste, ob das Restwort leer ist. In diesem Fall Wechsel in den akzeptierenden Zustand
q7 , sonst zu q6 .
q6 : Überlaufen des Restwortes nach Rechts, bis das erste Leerzeichen gefunden wird, dann
wieder nach links und in den Zustand q2 .
q7 : Akzeptierender Endzustand.
Tabelle 1.1. Funktionstafel für δ: ´ steht für Stopp. Stopp in einem nicht akzeptierenden Zustand
ist ein Fehler.
δ
q0
q1
q2
q3
q4
q5
q6
q7
0
pq0 , 0, Rq
pq3 , 0, Lq
pq5 , B, Rq
pq6 , 0, Rq
pq6 , 0, Rq
-
1
B
pq1 , 1, Rq
pq1 , 1, Rq pq2 , B, Lq
pq3 , B, Lq
pq3 , 1, Lq pq4 , B, Rq
pq6 , 1, Rq pq7 , B, Rq
pq6 , 1, Rq pq2 , B, Lq
-
In der Konfigurationsschreibweise ist für die Eingabe 0011 die Rechnung wie folgt:
εq0 0011 $ 0q0 011 $ 00q0 11
$ 001q1 1 $ 0011q1 B $ 001q2 1
4
1.2. Die Klasse P
$ 00q3 1 $ 0q3 01 $ εq3 001
$ εq3 B001 $ εq4 001 $ εq5 01
$ 0q6 1 $ 01q6 B $ 0q2 1
$ εq3 0 $ εq3 B0 $ εq4 0
$ εq5 B $ εq7 B
Also wird 0011 akzeptiert. Somit
εq0 0011 $˚ εq7 B.
Bemerkung: Diese Turingmaschine erkennt L, und für n P N ist die Laufzeit Θpn2 q.
1.2. Die Klasse P
Sei Σ ein (endliches) Alphabet. Ein Entscheidungsproblem besteht aus einem Paar pΠ, Lq,
Π, L Ď Σ˚ zusammen mit der Frage: Gegeben x P Π, ist x P L? Wenn klar ist, welches L
zu dem Π gehört, identifizieren wir zur Vereinfachung der Notation lediglich Π mit dem
Entscheidungsproblem.
In der konkreten Anwendung treten Probleme in verschiedenen Teilen der Informatik und
Mathematik auf, für die man nicht nur entscheiden möchte, ob Sie lösbar sind, sondern
die Lösung soll auch mit wenig Zeit- und Speicheraufwand berechnet werden. Als die
zu dem gegebenen Entscheidungsproblem gehörige Sprache wählt man die Menge der
Lösungen des Problems. Wir geben einige Beispiele, die veranschaulichen sollen, wie man
zu einem Entscheidungsproblem die zugehörige Lösungsmenge als eine geeignete Sprache
wählt.
Graphen-theoretische Probleme. Sei G “ pV, Eq ein Graph mit |V | “ n, |E| “ m. Wir
identifizieren die Knoten von G mit den Zahlen 1, 2, . . . , n, und schreiben daher V “ rns.
Die Adjazenzmatrix A “ paij qi,jPrns von G ist definiert durch
aij “


1
: {i, j} P E,

0 : {i, j} R E,
i, j P rns. Somit kann man A als einen Vektor x P Σ˚ mit Eingabelänge |x| “ n ` m
auffassen. Alternativ kann man auch als Eingabelänge |x|8 “ maxpn, mq definieren.
Offensichtlich ist |x| “ Θp|x|8 q, daher sind beide Eingabelängen bis auf eine Konstante
gleich. Sind Zahlen gegeben, beispielsweise Knotengewichte c : E ÝÑ Q˚0 , so kodieren wir
5
Kapitel 1. NP-Vollständigkeit
c durch |c| “ maxePE binpcpeqq und die Eingabelänge des Problems wäre |c| ` |x|. Auch
hier kann man alternativ maxp|c|, |x|q als Eingabelänge wählen.
Hamiltonkreis Problem: Sei G “ pV, Eq ein Graph. Ein Pfad P in G ist eine Knotenfolge
P “ v1 v2 . . . vl , so dass vi ‰ vj für i ‰ j und {vi , vi`1 } P E für i “ 1, . . . , l ´ 1. Ein Kreis
in G ist eine Knotenfolge C “ v1 v2 . . . vl v1 , so dass v1 v2 . . . vl ein Pfad und {vl , v1 } P E
ist. Ein Hamiltonkreis in G ist ein Kreis, der alle Knoten von G enthält. Einen Graphen,
der einen Hamiltonkreis enthält, nennt man Hamilton’sch.
Problem Hamiltonkreis: Gegeben sei ein Graph G “ pV, Eq. Gibt es einen Hamiltonreis
in G?
Eulerkreis Problem: Sei G “ pV, Eq ein Graph. Ein Weg W ist eine Knotenfolge W “
x1 . . . xl , so dass {xi , xi`1 } P E für 1 ď i ď l ´ 1. Der Weg heißt geschlossen, wenn
xl “ x1 . Es ist nicht notwendigerweise xi ‰ xj für i ‰ j gefordert. Ein Eulerkreis in G
ist ein geschlossener Weg, der alle Kanten von G enthält.
Problem Eulerkreis: Gegeben sei ein Graph G “ pV, Eq. Besitzt G einen Eulerkreis?
Färbungsproblem: Sei G “ pV, Eq ein Graph. Eine k-(Knoten-) Färbung von G ist eine
Funktion f : V ÝÑ rks, so dass für {u, v} P E gilt f puq ‰ f pvq. Man nennt G dann
k-färbbar. Die Zahl
χpGq :“ min{k; G ist k-färbbar}
heißt chromatische Zahl von G.
Problem Graphfärbbarkeit: Gegeben sei ein Grpah G “ pV, Eq und k P N. Ist G
k-färbbar? Mit anderen Worten, ist χpGq ď k?
Cliquenproblem: Sei G “ pV, Eq ein Graph. Eine Clique C in G ist ein Subgraph C “
pV 1 , E 1 q, V 1 Ď V, E 1 Ď E von G, so dass für alle u, v P V 1 gilt {u, v} P E 1 . C ist somit
ein vollständiger Subgraph auf |V 1 | Knoten. Man nennt |C| “ |V 1 | auch die Größe der
Clique. Eine k-Clique ist eine Clique auf k Knoten.
Die Zahl
wpGq :“ max{|V 1 |; H “ pV 1 , E 1 q ist Clique in G}
heißt Cliquenzahl von G.
Problem Clique: Gegeben sei ein Graph G “ pV, Eq und k P N. Besitzt G eine Clique
der Größe k? Mit anderen Worten, ist ωpGq ě k?
Probleme aus der Linearen Algebra: Sei A P Qmˆn eine Matrix und b P Qm ein Vektor.
Frage: Ist das lineare Gleichungssystem Ax “ b in Q lösbar?
6
1.2. Die Klasse P
Hier ist die Eingabelänge des Problems über die Kodierungen der Einträge von A und b
zu berechnen, beispielsweise
|pA, bq| :“ max{n, m, max{binpaij q, binpbi q}}.
i,j
Wir wissen aus der Linearen Algebra, wie man die Lösbarkeit eines linearen Gleichungssystems effizient prüft, und sogar Lösungen berechnet, wenn es sie gibt. Das ist das bekannte
Gauß-Eliminationsverfahren mit Worst-Case-Laufzeit Opnmq.
Wir kommen nun zur angekündigten Definition der Klasse P. Sei pΠ, Lq ein Entscheidungsproblem über dem Alphabet Σ, also Π, L Ď Σ˚ . Wir sagen, eine Turingmaschine A
entscheidet oder löst dieses Problem, wenn A für jedes x P Π entscheidet, ob x P L oder
x R L. D.h. auf der Eingabe x hält A und sagt „Accept“ oder „Ja“, wenn x P L und
„Reject“ oder „Nein“, wenn x R L.
Sei t̃A pxq die Rechenzeit von A für die Eingabe x P Π. Die Laufzeit von A wird durch
eine Funktion tA : N ÝÑ N beschrieben: Für x P Π, |x| “ n, n P N sei
tA pnq :“ max{t̃A pxq; x P Σ˚ ; |x| “ n}.
tA pnq ist die Worst-Case Laufzeit von A für Instanzen der Größe n. Ist tA pnq durch ein
Polynom P pnq in n nach oben beschränkt, d.h. tA pnq “ O (P pnq), und ist P ein Polynom
vom Grad k, so gilt P pnq “ Θpnk q, und man kann daher auch schreiben tA pnq “ Opnk q
für ein festes k P N. Wir sprechen dann von einem polynomiellen Algorithmus. Wir
sagen auch, dass das Entscheidungsproblem in polynomieller Zeit gelöst werden kann.
Besonders effiziente Algorithmen sind Linearzeit-Algorithmen, d.h. k “ 1 und somit
tA pnq “ Opnq.
Definition 1.7. Die Klasse P besteht aus allen Entscheidungsproblemen, die durch einen
polynomiellen Algorithmus gelöst werden können.
Es gilt die folgende Umformulierung der Definition 1.7:
Proposition 1.8. Die Klasse P besteht aus allen Entscheidungsproblemen pΠ, Lq für die es
einen polynomiellen Algorithmus A gibt, der folgende Entscheidungen trifft:
Ź (i) Ist x P L, so ist Apxq “ Accept, d.h. x wird als Lösung erkannt.
Ź (ii) Ist x R L, so ist Apxq “ Reject, d.h. x wird als Lösung verworfen.
Wie beweist man, dass ein Problem in P liegt? Der einfachste Weg ist der, für das Problem
einen Algorithmus anzugeben, der polynomielle Laufzeit besitzt. Wir geben auch hier
einige Beispiele.
7
Kapitel 1. NP-Vollständigkeit
Satz 1.9. Für konstantes k gilt Clique P P.
Beweis. Wir schauen
uns alle k-elementigen Knotenmengen aus V an. Ist |V | “ n, so
sind dies genau nk “ Θpnk q. Für jede dieser Mengen testen wir in konstanter Zeit, ob
sie eine Clique ist. Wenn eine Clique gefunden wird, ist die Antwort „Ja“ . Falls keine
Clique gefunden wird, ist die Antwort „Nein“ . Die Laufzeit ist offenbar Θpnk q und diese
ist polynomiell, wenn k eine Konstante ist.
Man beachte, dass für k “ Opnq
O(nk ) “ O(nOpnq ) “ O(2Opn logpnqq )
exponentiell in n ist. Daher gilt Satz 1.9 nicht für nicht-konstante k. In der Tat werden wir
später zeigen, dass das Problem k-Clique NP-vollständig ist, wenn k P N eine beliebige,
nicht konstante Eingabe ist.
Satz 1.10. 2-Färbbarkeit P P.
Beweis: Übung.
1.3. Die Klasse NP
Wir erweitern den Begriff der Turingmaschine, indem wir wie bei Automaten den
Nicht-Determinismus einführen und damit die Mächtigkeit der Turingmaschine verstärken.
Definition 1.11. (Nichtdeterministische Turingmaschine (NTM))
Eine nichtdeterministische Turingmaschine M ist definiert wie eine DTM mit dem
einzigen Unterschied, dass die Zustandsüberführungsfunktion δ durch eine Relation ∆
auf pQ ˆ Γq ˆ pQ ˆ Γ ˆ {R, L, N }q ersetzt wird.
Die Arbeitsweise einer NTM ist wie folgt:
Für jedes pq, a, q 1 , a1 , dq P ∆ führt eine DTM mit Zustandsüberführungsfunktion δ die
Berechnung δpq, aq “ pq 1 , a1 , dq durch. Diesen Übergang pq, aq ÝÑ pq 1 , a1 , dq bezeichnen
wir als Rechenweg.
Den Relationscharakter von ∆ interpretieren wir so, dass die Wahl des spezifischen
Rechenwegs pq, aq ÝÑ pq 1 , a1 , dq mit pq, a, q 1 , a1 , dq P ∆ vollständig der „Willkür“ der NTM
überlassen ist. Man kann sich das auch so vorstellen, dass die NTM zur Auswahl des Rechenschrittes ein Orakel befragt, das ein pq, a, q 1 , a1 , dq P ∆ vorschlägt.
8
1.3. Die Klasse NP
q, x
Schreib-Lese-Kopf
π
Programm
Zustand q δpq, xBπq “ pq 1 , a1 , dq
δ
π
x
x1 x2 x3
¨¨¨
Ratemodul
1
a ,d
B
Eingabe x “ x1 x2 x3
¨¨¨
π1 π2 π3 π 4
¨ ¨ ¨ Band
Zertifikat (Beweis) π “ π1 π2 π3 π4
Abbildung 1.2. NTM M mit Ratemodul (Orakel)
Die Eingabe x wird gelesen, das Ratemodul liefert ein Zertifikat π, das Programm
berechnet δpq, xBπq, M wechselt in Zustand q 1 und schreibt das Ergebnis auf das Band.
Also: Die NTM hat eine Ratephase und eine Berechnungsphase. In der Berechnungsphase
simuliert die NTM eine DTM.
Definition 1.12. Eine NTM M akzeptiert eine Eingabe x P Σ˚ , falls es mindestens einen
Rechenweg von M auf der Eingabe x gibt, der in einen Endzustand führt. Die von M
erkannte Sprache L besteht aus allen Wörtern w P Σ˚ , die M akzeptiert. Die Rechenzeit
tM pxq von M ist die Anzahl der Zustandsübergänge für eine Eingabe x aus L auf einem
kürzesten Rechenweg, und ist 0 für Eingaben x nicht aus L.
Definition 1.13. (Worst-Case Rechenzeit) Sei Σ ein Alphabet und sei pΠ, Lq ein Entscheidungsproblem über Σ. Sei M eine NTM für pΠ, Lq. Die Worst-Case Laufzeit von M ist

tM : N ÝÑ N, mit

max{t pxq : x P L, |x| “ n}
M
:“
tM pnq

0 :
x R L.
Beachte: Für x R L braucht eine NTM M nicht zu halten!
Definition 1.14. (Die Klasse NP) NP ist die Klasse aller Entscheidungsprobleme, für die es
eine NTM gibt, deren Worst-Case-Rechenzeit in der Eingabelänge polynomiell beschränkt
ist.
Es gilt unmittelbar:
Proposition 1.15. P Ď NP.
Beweis. Man fasse eine DTM als eine spezielle NTM auf, die die von einer DTM berechnete Lösung „rät“.
9
Kapitel 1. NP-Vollständigkeit
Wie beweist man, dass ein Problem aus NP ist?
Es gilt folgende Proposition.
Proposition 1.16. Die Klasse NP besteht aus allen Entscheidungsproblemen pΠ, Lq mit
Lösungsmenge, für die es einen polynomiellen Algorithmus (eine Turingmaschine) A gibt,
der folgende Entscheidungen trifft:
(i) Für x P L gibt es π P Σ˚ , |π| polynomiell in |x|, so dass Apx, πq “ Accept, d.h. x
wird als Lösung erkannt.
(ii) Für alle x P ΠzL und alle π P Σ˚ , |π| polynomiell in |x|, gilt Apx, πq “ Reject, d.h.
x wird als Lösung verworfen.
Man nennt π das Zertifikat oder einen Beweis für x.
In der Formulierung von Proposition 1.16 besteht der Nicht-Determinismus darin, dass
das Zertifikat π für ein x P L in existenzieller Form postuliert wird. Man kann es auch
so interpretieren, dass ein von uns unbeeinflussbares Orakel für x P L einen Beweis π
vorschlägt, mit dessen Hilfe die Eingabe x als Lösung in polynomieller Zeit verifiziert
werden kann. In der englischsprachigen Literatur wird A auch polynomieller Verifizierer
(„polynomial verifyer“) genannt.
Beweis. (Proposition 1.16) Sei K die Menge der Entscheidungsprobleme, die durch (i)
und (ii) in Proposition 1.16 charakterisiert sind.
Behauptung: K “ NP.
Beweis: K Ď NP: Sei Π P K und A ein Algorithmus für pΠ, Lq, der (i) und (ii) erfüllt. Sei
M eine NTM, die wie folgt arbeitet. M simuliert den Algorithmus A und entscheidet
sich bei Eingabe x P L für den Rechenweg, der durch den Beweis π bestimmt ist. Ist
x P L, so ist Apx, πq “ Accept und x wird durch M akzeptiert. Ist x R L, so ist Apx, πq
für jedes π in (ii) gleich Reject und x wird durch M verworfen. In beiden Fällen ist die
Laufzeit von M polynomiell, da A ein polynomieller Verifizier ist.
NP Ď K: Sei Π P NP mit zugehöriger Lösungsmenge L. Sei M eine NTM für Π. Wir
betrachten eine Eingabe x P Π. Ist x P L, so gibt es nach Voraussetzung einen Rechenweg,
der in einem Endzustand endet und die Rechenzeit ist polynomiell in |x|. Ist x R L, so
endet die Berechnung für keinen Berechnungsweg in einem Endzustand. Wir entwerfen
den Algorithmus A folgendermaßen: A führt die Berechnung aus, die M durchführt. Für
ein x P L identifiziert man als Beweis π für x den kürzesten Rechenweg, den M einschlägt.
Für diesen Rechenweg endet die Berechnung in polynomieller Zeit und x wird von M
akzeptiert. A sagt dann Apx, πq “ Accept und (i) in Proposition 1.16 ist gezeigt. Sei
nun x P ΠzL und π ein Zertifikat in (ii). Wir kennen das Polynom q, dass die Rechenzeit
10
1.4. Die Klasse NPC
von M beschränkt. Wir lassen M auf der Eingabe px, πq laufen, d.h. M wählt bei
Eingabe x den durch π bestimmten Rechenweg. Falls nach Zeit q (|px, πq|) “ qp|x| ` |π|q
kein Endzustand erreicht wird, sagt der Algorithmus A, Apx, πq “ Reject und (ii) ist
gezeigt.
Satz 1.17. Clique P NP.
Beweis. Die Eingabe ist ein beliebiger, aber fester Graph G “ pV, Eq, sowie ein k P N.
Wir können uns auf Beweise π mit π “ C Ď V einschränken. Denn wird für eine Eingabe
ein „Beweis“ π P Σ˚ vom Orakel geliefert, wobei |π| ‰ k gilt oder π keine Clique ist,
verwerfen wir die Eingabe.
a) Ratephase: Das Orakel gibt einen Kandidaten C Ď V für eine Clique. Der
Beweis π ist somit C.
b) Wir müssen nun in polynomieller Zeit testen:
•
|C| “ k?
•
Ist C eine Clique?
Der Algorithmus A besteht aus den folgenden zwei Tests: Test |C| “ k geht in Op|C|q “
Opnq Zeit. Test „C Clique?“ geht in Op|C|2 q “ Opn2 q Zeit, indem wir überprüfen, ob
{i, j} P E. Falls beide Tests positiv sind, akzeptiert A die Eingabe x. Andernfalls verwirft
A die Eingabe x. Also ist Clique P NP nach Proposition 1.16.
1.4. Die Klasse NPC
Oft beobachtet man, dass die Lösbarkeit eines Entscheidungsproblems die Lösbarkeit
eines anderen, dazu verwandten Entscheidungsproblems, impliziert. Der konzeptionelle
Begriff hierfür ist der der Reduzierbarkeit.
Definition 1.18. (Reduzierbarkeit) Es seien pΠ1 , L1 q und pΠ2 , L2 q Entscheidungsprobleme
über Σ1 und Σ2 . Dann heißt Π1 polynomiell auf Π2 reduzierbar, Notation Π1 ďp Π2 ,
wenn es eine von einer DTM in polynomieller Zeit q “ qpnq berechenbare Funktion
f : Σ˚1 Ñ Σ˚2 gibt, so dass
@wPΣ˚1 : w P L1 ô f pwq P L2
11
Kapitel 1. NP-Vollständigkeit
Sei p “ ppnq ein Polynom mit |f pωq| ď ppnq, falls |w| “ n. Ist Π2 in Zeit t “ tpnq
entscheidbar, so ist Π1 für jedes w P Σ˚1 , |w| “ n in Zeit qpnq ` tp|f pwq|q ď qpnq ` tpppnqq
entscheidbar und dies ist ein Polynom q ` t ˝ p. Mit anderen Worten, Π1 ist nicht
„schwieriger“ als Π2 .
Satz 1.19.
(i) L1 ďp L2 , L2 P P ñ L1 P P.
(ii) „ďp “ ist transitiv, d.h. L1 ďp L2 , L2 ďp L3 ñ L1 ďp L3 .
Beweis.
(i) Nach Voraussetzung gibt es eine DTM M mit worst case Rechenzeit ppnq
(p Polynom, o.E. ppnq ě n), die f : Σ˚1 Ñ Σ˚2 berechnet, und es gilt für alle
w P Σ˚1
w P L1 ô f pwq P L2 .
Ferner gibt es eine DTM M2 , die für y P Σ˚2 in polynomieller Zeit p2 p|y|q,
y P L2 entscheidet:
•
Für w P Σ˚1 berechne mit M den Wert f pwq.
•
Mit M2 entscheide, ob f pwq P L2 (Nach Voraussetzung ist dies genau dann
der Fall, wenn w P L1 ).
Somit entscheiden wir x P L1 in Zeit höchstens
pp|w|q ` p2 p|f pwq|q ď pp|w|q ` p2 ppp|w|qq “ pp ` p2 ˝ pqp|w|q “ polynomp|w|q .
(ii) Analog (Übung).
Definition 1.20.
(i) Ein Entscheidungsproblem Π Ď Σ˚ heißt NP-vollständig, wenn
•
Π P NP
•
Π1 ďp Π für alle Π1 P NP
(ii) Ein Entscheidungsproblem heißt NP-hart, falls Π1 ďp Π für alle Π1 P NP.
(iii) NPC ist die Klasse aller NP-vollständigen Entscheidungsprobleme.
Es gilt
Satz 1.21.
12
1.4. Die Klasse NPC
(i) NPC X P ‰ H ñ P “ NP.
(ii) Falls ein Problem Π existiert mit Π P NPC, aber Π R P, dann ist NPCXP “ H.
(iii) Ist Π P NPC und Π1 P NP, so dass Π ďp Π1 , dann ist Π1 P NPC.
Beweis. Leichte Übung mit Anwendung von Satz 1.19.
P
NP
NPC
NP-hart
Abbildung 1.3. Komplexitätsklassen P, NP und NPC unter der Vermutung, dass P ‰ NP.
Wir haben die Klasse NPC abstrakt definiert. Bisher ist nicht klar, ob überhaupt ein
Problem in NPC ist. Dies ist aber der Fall, wie wir im Folgenden zeigen. Gegeben seinen
n Boolsche Variablen x1 , . . . , xn , also xi P {0, 1} für alle i. Dabei wird 0 als falsch und 1
als wahr interpretiert. Für xi sei xi :“ 1 ´ xi die Negation von xi . Sei X :“ {x1 , . . . , xn }
und X :“ {x1 , . . . , xn }. Elemente aus der Menge L “ X Y X “ {x1 , . . . , xn , x1 , . . . , xn }
heißen Literale. Eine Klausel C ist eine Disjunktion von Literalen, z.B.
C “ x1 _ x3 _ x4 .
Somit ist C eine Funktion C : X ÝÑ {0, 1}. Ein Vektor a P {0, 1} n heißt Belegung der
Variablen x1 , . . . , xn . Wir zeigen, a erfüllt C, falls Cpaq “ 1. a heißt dann auch erfüllende
Belegung von C. Ist hingegen Cpaq “ 0, so erfüllt a die Klausel C nicht.
Problem Satisfiability (SAT):
Eingabe: n Variablen x1 , . . . , xn , m Klauseln C1 , . . . , Cm .
Frage: Gibt es eine Belegung pa1 , . . . , an q P {0, 1} n der Variablen, so dass diese Belegung
alle Klauseln erfüllt?
Satz 1.22 (Cook, 1971). Sat P NPC
Die Frage ist, ob P “ NP gilt? Dieses sogenannte „P = NP “-Problem gilt als das
wichtigste ungelöste Problem der Informatik. Es ist eines der 7 vom Clay Mathematics
Institute, Cambridge, in 2000 als millenium problems bezeichneten ungelösten Probleme
der Mathematik. Es sind dies inzwischen „nur“ noch 6, denn im Jahr 2002 hat Grigori
13
Kapitel 1. NP-Vollständigkeit
Jakowlewitsch Perelman die Poincaré-Vermutung, eines dieser 7 Probleme, bewiesen.
Die Poincaré-Vermutung besagt, dass die einzige, einfach zusammenhängende Fläche
im 4-dimensionalen Raum die Oberfläche einer 4-dimensionalen Kugel ist. Für 3 Dimensionen war dies eine bekannte Tatsache: die Kugeloberfläche ist die einzige, einfach
zusammenhängede Fläche im 3-dimensionalen Raum.
Es wird vermutet, dass P ‰ NP gilt, also mit Satz 1.21: NPC X P “ H. Somit wäre kein
NP-vollständiges Problem in Polynomialzeit lösbar. Der Satz von Cook (Satz 1.22) ist
das fundamentale Resultat der NP-Theorie. Der Beweis ist recht komplex und soll an
dieser Stelle ausbleiben.
Mit dem Satz von Cook wissen wir, dass Sat NP-vollständig ist. Sat kann daher als Anker
für NP-Vollständigkeitsbeweise dienen, die nach dem folgenden Schema durchgeführt
werden:
Sei Π P NP ein Problem. Um zu zeigen, dass Π P NPC ist, zeigt man, dass Sat ďp Π.
Dann gilt Π P NPC mit Satz 1.21 (iii). Die Reduktion Sat ďp Π kann man in der
Beweispraxis allerdings nur dann erfolgreich durchführen, wenn Π zu SAT verwandt ist.
Sonst sucht man sich irgendein anderes zu Π verwandtes Problem Π1 aus NPC und zeigt
Π1 ďp Π, woraus Π P NPC folgt. Die Suche eines geeigneten Problems Π1 P NPC, so dass
die Reduktion Π1 ďp Π erbracht werden kann, ist aber oftmals ein schwieriges oder gar
offenes Problem.
1.5. NP-Vollständigkeitsbeweise
Problem 3-Sat:
Eingabe: Wie bei SAT, allerdings |Ci | “ 3 für alle i “ 1, . . . , m.
Frage: Gibt es eine erfüllende Belegung für alle Klauseln?
Satz 1.23. 3-Sat P NPC.
Beweis. Es ist 3-Sat P NP, weil Sat P NP. Wir zeigen: Sat ďp 3-Sat. Gegeben sei eine
beliebige Instanz des SAT-Problems mit Variablenmenge X “ {x1 , . . . , xn } und Klauselmenge C “ {C1 , . . . , Cm }. Wir definieren X :“ {x1 , . . . , xn } und sei F px1 , . . . , xn q :“
C1 ^ . . . ^ Cm . Es gilt
F erfüllbar ô DaP{0,1} n : F paq “ 1
p ô alle Klauseln sind erfüllbar q
Wähle i P rms mit |Ci | ě 4. Es sei Ci “ z1 _ z2 _ . . . _ zk , wobei zj P X Y X. Wir
erzeugen eine Instanz des 3-Sat-Problems durch Splitten der Klausel Ci : Sei y eine neue
14
1.5. NP-Vollständigkeitsbeweise
Variable und sei Di :“ z1 _ z2 _ y und Ei :“ y _ z3 _ . . . _ zk , sowie Ci˚ :“ Di ^ Ei und
F ˚ :“ C1 ^ . . . ^ Ci´1 ^ Ci˚ ^ Ci`1 ^ . . . ^ Cm . Wir zeigen, dass F genau dann erfüllbar
ist, wenn F ˚ erfüllbar ist. Sei zunächst pa1 , . . . , an q eine erfüllende Belegung für F . Wir

setzen

0 : z _ z wahr
1
2
y :“

1 : sonst.
Falls z1 _z2 und z3 _. . ._zk wahr sind, setzen wir y “ 0. Auch y “ 1 ist möglich, aber wir
entscheiden uns für y “ 0. y ist wohldefiniert, denn z1 _ z2 und z3 _ . . . _ zk können nicht
gleichzeitig falsch sein, da Ci durch pa1 , . . . , an q erfüllt wird. Also F ˚ pa1 , . . . , an , yq “ 1.
Sei nun pa1 , . . . , an , yq eine erfüllende Belegung für F ˚ .
Fall 1: y “ 0: Da Di wahr ist, muss folglich z1 _ z2 wahr sein. Also ist Ci erfüllt und
damit ist auch F erfüllt.
Fall 2: y “ 1: Da Ei wahr ist, muss z3 _ . . . _ zk sein. Also ist Ci erfüllt und damit ist
auch F erfüllt.
In dieser Weise spaltet man die Klauseln mit Größe mindestens 4 auf, bis alle Klauseln
in F ˚ die Größe höchstens 3 haben. Nun gibt es Klauseln der Größe 1, 2 oder 3. Klauseln
der Größe kleiner als 3 erweitert man zu Klauseln der Größe 3 durch Hinzunehmen von
Variablen. Eine Klausel der Form z wird durch z _ z _ z und eine Klausel der Form
z _ z 1 wird durch z _ z _ z 1 ersetzt. Diese neuen Klauseln sind erfüllbar genau dann,
wenn es die alten sind. In dieser Weise erhalten wir eine Instanz des 3-Sat Problems,
die genau dann erfüllbar ist, wenn die Ausgangsinstanz des SAT-Problems erfüllbar ist.
Das Verfahren terminiert in polynomieller Zeit. Wir haben gezeigt: Sat ďp 3-Sat, also
3-Sat P NPC nach Satz 1.21 (iii).
Satz 1.24. Clique P NPC.
Beweis. Wir zeigen 3-Sat ďp Clique. Es sei X “ {x1 , . . . , xn } und C “ {C1 , . . . , Cm }
p1q
p2q
p3q
pjq
eine Instanz des 3-Sat Problems mit Ci “ zi _ zi _ zi , zi P X Y X für alle
i “ 1, . . . , m. Wir konstruieren eine Instanz des Clique-Problems: G “ pV, Eq sei der
pjq
Graph mit Knotenmenge V :“ {zi ; i “ 1, . . . , m, j “ 1, 2, 3} und Kantenmenge E,
pjq plq
pjq
pjq
wobei {zi , zk } P E genau dann, wenn i ‰ k und zi ‰ zk plq (d.h. beide Literale zi
plq
und zk können gleichzeitig erfüllt sein).
15
Kapitel 1. NP-Vollständigkeit
Abbildung 1.4. Erzeugen der Clique-Instanz.
G ist offensichtlich in polynomieller Zeit konstruierbar. Sei F ein Subgraph von G. Ein
Literal, das einen Knoten von F entspricht, nennen wir F -Literal.
Behauptung: G enthält eine Clique der Größe m genau dann, wenn es eine erfüllende
Belegung für 3-Sat gibt.
Beweis: ñ: Sei H eine Clique der Größe m. Die Knoten von H repräsentieren Literale aus
verschiedenen Klauseln. Da |H| “ m, werden alle Klauseln durch H-Literale repräsentiert.
Per Konstruktion ist es möglich, alle diese Literale gleichzeitig zu erfüllen. Denn ist z ein
H-Literal, so ist nach Konstruktion von G, {z, z} R E, also ist z kein H-Literal und wir
können konfliktfrei z “ 1 setzen.
ð: Sei a P {0, 1} n eine erfüllende Belegung. Dann enthält jede Klausel mindestens ein
erfülltes Literal. Diese Literale (aus jeder Klausel eines) induzieren in G einen Subgraphen
H der Größe m. Per Konstruktion ist H eine Clique.
Damit ist gezeigt: 3-Sat ďp Clique. Also ist, mit Satz 1.21 (iii), Clique P NPC, weil
3-Sat P NPC.
Satz 1.25. Graphfärbbarkeit P NPC.
Beweis. Wir zeigen: 3-Sat ďp Graphfärbbarkeit.
Wir betrachten eine beliebige Instanz des 3-Sat-Problems mit Variablenmenge X “
{x1 , . . . , xn } und Klauselmenge C “ {C1 , . . . , Cm }, wobei n ě 4. Als Instanz des Graphfärbungsproblems konstruieren wir einen Graphen G “ pV, Eq wie folgt:
V :“ {v1 , . . . , vn , x1 , . . . , xn , x1 , . . . , xn , C1 , . . . , Cm }
E :“ {pvi , vj q ; i ‰ j} Y {pvi , xj q, pvi , xj q ; i ‰ j}
Y {pxi , xi q ; i “ 1, . . . , n}
Y {pxi , Cj q ; xi R Cj } Y {pxi , Cj q ; xi R Cj }
16
1.5. NP-Vollständigkeitsbeweise
G sieht folgendermaßen aus:
Abbildung 1.5. Konstruktion des Graphen G
G ist offenbar in polynomieller Zeit konstruierbar.
Behauptung: χpGq ď n ` 1 ðñ 3-Sat erfüllbar.
Beweis: ñ: Sei f : V ÝÑ {1, . . . , n ` 1} eine zulässige Knotenfärbung von G.
O.B.d.A. gelte f pvi q “ i für alle i P {1, . . . , n}. Wir konstruieren eine erfüllende Belegung
für 3-Sat:
Da xi und xi zu allen vj pj ‰ iq benachbart sind, bleiben für xi und xi nur die Farben
i und n ` 1. Entweder gilt f pxi q “ n ` 1 und f pxi q “ i oder es gilt f pxi q “ n ` 1 und
f pxi q “ i, denn Cj enthält genau 3 Literale. Wegen n ě 4 sind mindestens 8 Literale
vorhanden, sonst sind mindestens 5 Literale nicht in pCj q und mindestens 2 sind n ` 1
gefärbt. Da die Literale mit Cj benachbart sind, ist f pCj q ‰ n ` 1 für alle j “ 1, . . . , m.
Wir definieren eine Belegung der Variablen:
xi :“


1

0
: f pxi q “ i
: f pxi q “ i.
Da entweder xi “ n ` 1 und xi “ i oder umgekehrt, ist diese Belegung wohldefiniert. Dies
ist eine erfüllende Belegung: Sei j P {1, . . . , m} beliebig und f pCj q “ ij für ein gewisses
ij P {1, . . . , n}.
Fall 1: f pxij q “ ij . Dann gilt xij “ 1 und pxij , Cj q R E, also xij P Cj und Cj ist erfüllt.
Fall 2: f pxij q “ ij . Dann gilt xij “ 0, xij “ 1 und pxij , Cj q R E, also xij P Cj und Cj ist
erfüllt.
17
Kapitel 1. NP-Vollständigkeit
Damit ist die Instanz von 3-Sat erfüllt.
ð: Sei a P {0, 1} n eine erfüllende Belegung für die gegebene 3-Sat-Instanz. Wir definieren
eine Färbung f von G mit höchstens n ` 1 Farben.
a)
f pxi q :“
b)


i
:

n ` 1
xi “ 1
: xi “ 0


i
xi “ 1
n ` 1
xi “ 0
f pxi q :“ 
c) f pCj q “ ij , wobei ij ein Index ist, so dass xij “ 1 und xij P Cj oder xij “ 1
und xij P Cj für alle j. Da a eine erfüllende Belegung ist, existiert ein solches
ij , denn irgendein Literal von Cj muss ja durch diese Belegung erfüllt sein.
d) f pvi q :“ i für alle i.
Man prüft leicht nach, dass f eine zulässige Knotenfärbung ist.
Bemerkung:
a) 3-Färbbarkeit P NPC.
b) 2-Färbbarkeit P P. (Test auf Bipartitheit)
Einige weitere NP-vollständige Probleme:
Hamiltonkreis P NPC.
Definition 1.26. Ein Kreis ist ein zusammenhängender, geschlossener Weg, der knotendisjunkt ist. Ein Zyklus oder geschlossener Kantenzug ist ein geschlossener Weg, der
kantendisjunkt ist. Ein Eulerkreis ist ein Kantenzug, der alle Kanten genau einmal
durchläuft.
Problem Eulerkreis:
Eingabe: Graph G “ pV, Eq
Frage: Hat G einen Eulerkreis?
Eulerkreis P P.
18
Kapitel 2
Dualitätssatz der Linearen Programmierung
2.1. Farkas Lemma
Polyeder sind fundamentale geometrische Objekte, deren Studium eine reiche und lebendige mathematische Theorie hervorgebracht hat. Eine Möglichkeit, Polyeder im Rn einzuführen besteht darin, sie als Durchschnitt von endlich vielen Halbräumen zu definieren. Daher
beschreiben Polyeder nichts anderes als Systeme von Ungleichungen.
Ein grundlegendes Problem der Kombinatorischen Optimierung ist die Maximierung oder
Minimierung von linearen oder nicht-linearen Zielfunktionen über einem Polyeder. Wir
beschränken uns in dieser Vorlesung auf lineare Zielfunktionen.
Dies wirft unmittelbar die Frage auf, ob es etwa ausgezeichnete Bereiche von Polyedern
gibt, auf denen die Optima angenommen werden, in Analogie zu dem in der Analysis bekannten Maximierungsprinzip, nach dem eine stetige lineare Funktion über einer kompakten Menge ihr Maximum auf dem Rand des Kompaktums annimmt.
In diesem Kapitel werden wir extremale Bereiche von Polyedern untersuchen, die für die
Optimierung von Bedeutung sind.
Eine Menge K Ď Rn heißt konvex, wenn für alle x, y P K und λ P r0, 1s gilt: λx`p1´λqy P
K. Dies bedeutet, dass die Strecke
L “ {λx ` p1 ´ λqy ; λ P r0, 1s}
ganz in K liegt.
Ein Vektor x P Rn ist konvexe Kombination der Vektoren y1 , . . . , yr , falls Zahlen
P
P
λ1 , . . . , λr P r0, 1s existieren mit ri“1 λi “ 1 und ri“1 λi yi “ x. Der Vektor x heißt
strikte konvexe Kombination, falls zusätzlich yi ‰ x für alle i P 1, . . . , r gilt. Die konvexe Hülle copKq einer Menge K Ď Rn besteht aus allen Vektoren, die eine konvexe
Kombination von Vektoren aus K sind.
Für konvexe Mengen sind die Extremalpunkte oder Ecken definiert:
19
Kapitel 2. Dualitätssatz der Linearen Programmierung
Definition 2.1. Sei K Ď Rm konvex. x P K heißt Extremalpunkt oder Ecke von K, falls
aus der Darstellung x “ λy ` p1 ´ λqz mit y, z P K, λ P p0, 1q folgt x “ y “ z. expKq
bezeichnet die Menge der Extremalpunkte von K.
Sei a P Rn \{0} und c P R. Eine Hyperebene in Rn ist eine Menge der Form H “
P
{x P Rn ; ni“1 ai xi “ c} .
Ein Halbraum ist eine Menge der Form {x P Rn ;
Pn
i“1
ai xi ě c} .
Definition 2.2. Ein Polyeder in Rn ist der Durchschnitt endlich vieler Halbräume in Rn .
Ein Polytop ist ein beschränktes Polyeder.
Ein allgemeines Polyeder P in Rn ist daher eine Menge der Form P “ {x P Rn ; Ax ď b}
wobei A P Rmˆn und b P Rm .
Halbräume sind konvex, daher sind auch Polyeder als endliche Durchschnitte von Halbräumen konvex.
Im folgenden sei A P Rmˆn und b P Rm z{0}. Für i P rms und j P rns bezeichne ai den i-ten
Zeilenvektor, aj den j-ten Spaltenvektor und rpAq den Rang von A.
Satz 2.3. Genau eine der beiden Möglichkeiten trifft zu:
(i) Ax “ b, x P Rn ist lösbar
(ii) AT y “ 0, bT y “ ´1, y P Rm ist lösbar.
Beweis: Wären piq und piiq gleichzeitig wahr mit Lösungen x P Rn und y P Rm , so hätten
wir einen Widerspruch:
0 “ xT AT y “ pAxqT y “ bT y “ ´1.
Wir zeigen, dass piiq gilt, falls piq nicht zutrifft.
Sei A1 “ pA|bq die erweiterte Matrix, c “ p0, ¨ ¨ ¨ , 0, ´1qT P Rm`1 , U “ ha1 , . . . , an i und
1
1
U 1 “ ha1 , . . . , am`1 i. c P U 1 ist äquivalent zu piiq. Ist Ax “ b nicht lösbar, dann ist b R U,
also rpA1 q ­“ rpAq, daher rpA1 q “ rpAq ` 1.


A1 
Sei A2 “ 
, also ist rpA2 q “ rpA1 q und somit c P U 1 .
c
Satz 2.3 hat eine unmittelbar einleuchtende geometrische Interpretation. Liegt b nicht in
U, so gibt es einen Vektor y, der auf U senkrecht steht und mit b einen stumpfen Winkel
bildet. Die Verallgemeinerung des Satzes 2.3 auf Ungleichungssysteme ist das Lemma
von Farkas
Satz 2.4. (Farkas-Lemma I) Genau eine der beiden Möglichkeiten trifft zu:
20
2.1. Farkas Lemma
(i) Ax “ b, x ě 0, x P Rn ist lösbar,
(ii) AT y ě 0, bT y ă 0, y P Rm ist lösbar.
Beweis: Zunächst einmal sind piq und piiq Alternativen: Die Annahme, dass x P Rn Lösung
von piq und y P Rm Lösung von piiq ist, führt zum Widerspruch:
0 ď xT AT y “ pAxqT y “ bT y ă 0.
Wir zeigen nun, dass aus
lösbar.
piq die Aussage piiq folgt. Sei also Ax “ b, x ě 0, x P Rn nicht
Fall a: Ax “ b ist nicht lösbar. Mit Satz 2.3 trifft dann piiq zu.
Fall b: Ax “ b ist lösbar, aber x 0.
Durch Induktion nach n weisen wir nach, dass piiq gilt.
Induktionsanfang n “ 1: Sei x P R eine Lösung von Ax “ b, x 0. Dann gilt x ă 0. Mit
y :“ ´b erhalten wir
1
AT y “ ´ bT b ą 0 und bT y “ ´bT b ă 0,
x
und y löst piiq.
Induktionsschluss: Sei n P N, n ě 2. Die Behauptung sei für alle k ď n ´ 1 richtig.
Sei A1 :“ pa1 , . . . , an´1 q. Nach Voraussetzung ist A1 x “ b, x ě 0 in Rn´1 nicht lösbar.
Damit ist entweder schon A1 x “ b nicht lösbar oder A1 x “ b ist lösbar, aber besitzt
keine nichtnegative Lösung. Im ersten Fall garantiert uns Satz 2.3, im zweiten Fall die
Induktionsannahme die Lösbarkeit von A1T y ě 0, bT y ă 0. Sei v P Rm eine solche Lösung,
also
A1T v ě 0 und bT v ă 0.
Es gilt
(2.1)
!
A1T v
A v“
ě 0,
pan qT v
T
falls pan qT v ě 0. In diesem Fall sind wir fertig.
Wir nehmen pan qT v ă 0 an und definieren Vektoren ā1 , . . . , ān´1 , b̄ durch
āi :“ αi an ´ αn ai
b̄ :“ βan ´ αn b
i “ 1, . . . , n ´ 1
wobei αi “ pai qT v für i “ 1, . . . , n und β :“ bT v. Sei Ā “ pā1 , . . . , ān´1 q. Betrachte das
System
Āx “ b̄, x ě 0, x P Rn´1 .
(2.2)
21
Kapitel 2. Dualitätssatz der Linearen Programmierung
Fall 1: (2.2) ist lösbar. Dann gilt für eine Lösung x ě 0 von (2.2)
βan ´ αn b “ b̄ “ Āx “
n´1
X
xi āi “
i“1
also

b“
n´1
X
xi pαi an ´ αn ai q,
i“1

n´1
X
X
1 n´1
β
´
x i α i  an `
xi ai “ Ax˚
αn αn i“1
i“1
mit x˚i “ xi für i “ 1, . . . , n ´ 1 und x˚n “
β
αn
´
1
αn
Pn´1
i“1
xi α i .
Nach Wahl von x ist xi ě 0 für alle i “ 1, . . . , n ´ 1. Wegen (2.1) ist αi ě 0 für alle
i “ 1, ¨ ¨ ¨ , n ´ 1, also xi αi ě 0 für alle i “ 1, . . . , n ´ 1. Ferner gilt β ă 0 und αn ă 0,
also auch xn ě 0. Damit ist x˚ aber eine nicht-negative Lösung von piq im Widerspruch
zur Voraussetzung, dass Ax “ b keine nichtnegative Lösung besitzt.
Fall 2: (2.2) ist nicht lösbar.
Mit Induktion ist ĀT y ě 0, b̄T y ă 0 lösbar. Sei w P Rm eine solche Lösung. Setze
y “ ppan qT wqv ´ ppan qT vqw.
Dann gilt

AT y “







1T

a y 

..

.
 ě 0,

T
n´1
a
y 

pan qT y
denn
pan qT y “ pan qT wppan qT vq ´ pan qT vppan qT wq “ 0
und
pai qT y “ ppan qT wqppai qT vq ´ ppan qT vqppai qT wq “ āi w ě 0.
Ferner
T
bT y “ ppan qT wqpbT vq ´ ppan qT vqpbT wq “ b̄T w ă 0,
also ist y eine Lösung von piiq und wir sind fertig.
Nun lässt sich die folgende Alternative für Ungleichungssysteme aufstellen.
Satz 2.5. (Farkas-Lemma II) Genau eine der folgenden Möglichkeiten trifft zu:
(i) Ax ď b, x ě 0, x P Rn ist lösbar,
(ii) AT y ě 0, y ě 0, bT y ă 0, y P Rm ist lösbar.
Beweis: Gleichzeitig sind piq und piiq nicht lösbar, denn andernfalls ergibt sich der
Widerspruch
0 ď xT AT y “ pAxqT y “ bT y ă 0.
22
2.1. Farkas Lemma
Angenommen, piq besitzt keine Lösung. Dann hat auch das System
Ax ` z “ b, x ě 0, z ě 0
(2.3)
keine Lösung und umgekehrt. Sei Em die Einheitsmatrix in Rm und B “ pA|Em q.
(2.3) ist genau dann nicht lösbar, wenn Bw “ b, w ě 0 nicht lösbar ist. Mit dem
Lemma von Farkas (Satz 2.4) existiert y P Rm mit AT y ě 0, Em y “ y ě 0 und
bT y ă 0.
Für gemischte Gleichungs- und Ungleichungssysteme haben wir:
Satz 2.6. (Farkas-Lemma III) Es sei A P Rmˆn und b P Rm . Genau eine der Alternativen
trifft zu:
(i) Ax ď b, x P Rn ist lösbar.
(ii) AT y “ 0, bJ y ă 0, y ě 0, y P Rm ist lösbar.
Beweis: Sei A1 :“ rEm |A| ´ As. Dann gilt A1 x1 “ b, x1 P Rn , x1 ě 0 genau dann, wenn
Ax ď b, x P Rn . Aus dem Farkas-Lemma I folgt die Behauptung.
Satz 2.7. (Farkas-Lemma IV) Sei Ax ď b, x P Rn lösbar und seien δ P R, c P Rn . Jede
Lösung x von Ax ď b erfüllt cT x ď δ genau dann, wenn es einen Vektor y P Rm , y ě 0
gibt mit y T A “ cT und y T b ď δ.
Beweis: ð: cT x “ py T Aqx ď y T b ď δ.
ñ: Annahme: y T A “ c, y T b ď δ, y ě 0 ist nicht lösbar. Dies ist äquivalent dazu, dass
!
das System
A b
T
py λq
“ pcT δq, py T λq ě p0 0q
0 1
keine Lösung hat. Mit dem Farkas-Lemma
! !
dass
A b z
ě
0 1 µ
I existiert ein Vektor
!
z
µ
, z P Rm , µ P R , so
!
0
z
, pcT δq
ă 0.
0
µ
Fall 1: µ “ 0. Dann gilt Az ě 0 und cT z ă 0.
Sei x˚ eine Lösung von Ax ď b. Ist γ ą 0 groß genug, so gilt
Apx˚ ´ γzq ď b und cT px˚ ´ γzq ą δ.
Im Widerspruch zur Voraussetzung Ax ď b impliziert cT x ď δ.
Fall 2: µ ą 0. Mit x “ ´ µz haben wir
Ax ď b und cT x ą δ,
23
Kapitel 2. Dualitätssatz der Linearen Programmierung
wiederum im Widerspruch zur Voraussetzung.
2.2. Lineare Programme
Jeden Tag werden heutzutage in der Industrie Optimierungsprobleme gelöst, die sich als
ein lineares Programm darstellen lassen. Inzwischen ist die Erstellung von Algorithmen zur
Lösung von linearen Programmen soweit fortgeschritten, dass selbst Programme mit tausenden von Variablen in nur wenigen Minuten gelöst werden können.
Das breitgefächerte Spektrum der Anwendungen der linearen Programmierung entspricht
ihrer Bedeutung in der Praxis. Aber auch in der mathematischen Theoriebildung fällt der
linearen Programmierung eine wichtige Rolle zu. So gehört der Hauptsatz der linearen
Programmierung zu den klassischen, fundamentalen Sätzen der Mathematik, während
der algorithmische Aspekt der linearen Programmierung ganz wesentlich zur Entwicklung
und Spannung der modernen Algorithmentheorie beigetragen hat:
Auf der einen Seite der im Worst-Case exponentielle aber in der Praxis unschlagbare
Simplexalgorithmus von Dantzig und auf der anderen Seite die theoretisch polynomielle
Ellipsoidmethode , die allerdings in der Praxis zu langsam ist.
Gegeben sei eine Matrix A P Rmˆn mit Zeilenvektoren a1 , . . . , am und Spaltenvektoren
ap1q , . . . , apnq , Vektoren b P Rm und c P Rn . Sei pI, I C q eine Partition der Zeilenindizes
{1, . . . , m} und pJ, J C q eine Partition der Spaltenindizes {1, . . . , n}. Die Variablen xj ,
j P J C , heißen unbeschränkte Variablen.
24
2.2. Lineare Programme
Definition 2.8. (Lineares Programm) Die drei Versionen eines linearen Programms sind:
Maximierungsproblem Minimierungsproblem
(i) Allgemeinform
max cT x
aTi x “ bi ,
aTi x ď bi ,
xj ě 0,
xj P R,
x P Rn
i
i
j
j
P
P
P
P
I
IC
J
JC
min cT x
aTi x “ bi ,
aTi x ě bi ,
xj ě 0,
xj P R,
x P Rn
(ii) Standardform
max cT x
Ax ď b
xě0
min cT x
Ax ě b
xě0
(iii) Kanonische Form
max cT x
Ax “ b
xě0
min cT x
Ax “ b
xě0
i
i
j
j
P
P
P
P
I
IC
J
JC
Die verschiedenen Formen der linearen Programmierung sind äquivalent, d.h. die eine Form kann in die andere transformiert werden, so dass die Lösungen die gleichen
bleiben.
Satz 2.9. Allgemeine- Standard- und kanonische Form der linearen Programmierung sind
äquivalent.
Beweis: Wir führen den Beweis für das Minimierungsproblem; das Maximierungsproblem
wird analog behandelt.
Wir zeigen zunächst: Allgemeine Form ðñ Standardform.
Da die Standardform eine spezielle Instanz der allgemeinen Form ist, müssen wir nur
zeigen, dass die allgemeine Form sich in die Standardform überführen lässt. Dazu führen
wir die folgende Transformation aus.
aq Für jede Variable xj , j P J C , in der allgemeinen Form führen wir zwei Variable
´
`
´
x`
j , xj ě 0 ein und ersetzen xj durch xj ´ xj “ 0.
bq Jede Gleichheitsbedingung aTi x “ bi in der allgemeinen Form wird durch zwei Ungleichungen aTi x ě bi und p´aTi qx ě ´bi ersetzt.
Allgemeine Form ðñ kanonische Form.
cq Unbeschränkte Variablen in der allgemeinen Form werden wie in aq durch nichtnegative Variablen ersetzt.
25
Kapitel 2. Dualitätssatz der Linearen Programmierung
dq Ungleichungen in der allgemeinen Form werden mit Hilfe sogenannter Schlupfvariablen
in Gleichungen überführt: Eine Ungleichung aTi x ě bi wird durch
aTi x ´ si “ bi , si ě 0
ersetzt si heißt Schlupfvariable.
Beispiele:
1. Job-Zuordnungsproblem (Fraktionale Version)
Gegeben sind n Jobs und n Prozessoren. Jeder Prozessor bearbeitet einen Job, jeder Job
muss bearbeitet werden. Die Bearbeitungszeit für Job i auf Prozessor j ist wij ě 0.
min
n
X
xij wij
i,j“1
n
X
i“1
n
X
j“1
xij “ 1 @j“1,...,n
xij “ 1 @i“1,...,n
0 ď xij ď 1.
2. Matching/Überdeckungs-Problem
.
Gegeben sei ein bipartiter Graph G “ pV, S Y T, Eq. Sei A “ paij q 1ďiďn die Inzidenzma1ďjďm
trix von G.
Maximum Matching Problem
max
Pm
i“1
xi
Ax ď 1
xi “ 0, 1 @i“1,...,m
Minimum Vertex-Cover Problem
min
Pn
j“1
yj
AT y ě 1
yj “ 0, 1 @j“1,...,n
Die zugehörigen linearen Programme entstehen aus der Relaxierung xi P r0, 1s bzw.
yj P r0, 1s für alle i bzw. j.
Sei νpGq die Kardinalität eines maximalen Matching und τ pGq die Kardinalität einer minimalen Knotenüberdeckung. νpGq heißt Matchingzahl und τ pGq ist die Überdeckungszahl.
Mit ν ˚ pGq bzw. τ ˚ pGq bezeichnet man die Optima der LP-Relaxierung des Matching
bzw des Vertex-Cover Problems. ν ˚ pGq heißt die fraktionale Matchingzahl und τ ˚ pGq ist
die fraktionale Überdeckungszahl.
Definition 2.10. (Duales Programm) Sei pP q die Maximierungsversion des allgemeinen
linearen Programms, das wir als primales Programm bezeichnen. Die duale Form pP ˚ q
26
2.3. Der Dualitätssatz
von pP q, kurz Dual von pP q, ist wie folgt definiert:
PrimalpP q :
max cT x
aTi x “ bi , i P I
aTi x ď bi , i P I C
xj ě 0, j P J
xj P R, j P J C
DualpP ˚ q :
min y T b
yi P R, i P I
yi ě 0, i P I C
y T apjq ě cj , j P J
y T apjq “ cj , j P J C
mit x, c P Rn und y, b P Rm .
Die Dualität ist reflexiv:
Satz 2.11. pP ˚˚ q “ pP q. Das Dual eines Duals ist das primale Programm.
Beweis: Übungsaufgabe.
2.3. Der Dualitätssatz
Die duale Zielfunktion ist eine obere Schranke für die primale Zielfunktion auf zulässigen
Punkten.
Satz 2.12. (Schwacher Dualitätssatz) Sei x P Rn bzw. y P Rm zulässig für pP q bzw. pP ˚ q.
Dann gilt cT x ď bT y.
Beweis: Übungsaufgabe.
Korollar 2.13. Seien x, y primal/dual zulässig mit cT x “ y T b. Dann sind x und y jeweils
optimale Lösungen.
Beweis: Seien x˚ , y ˚ optimale primale/duale Lösungen. Dann gilt:
cT x ˚ ě cT x “ y T b ě y ˚ T b ě cT x ˚ ,
wobei die letzte Ungleichung aus dem schwachen Dualitätssatz (Satz 2.12) folgt. Also
cT x˚ “ cT x “ y T b “ y ˚ T b.
Aus dem schwachen Dualitätssatz folgt unmittelbar
Korollar 2.14. Sei G “ pV, Eq ein Graph. Es gilt νpGq ď τ pGq.
Beweis: Der Einfachheit halber betrachten wir in diesem Kapitel lineare Programme in
Standardform:
27
Kapitel 2. Dualitätssatz der Linearen Programmierung
DualpP ˚ q :
min y T b
AT y ě c
y ě 0, y P Rm
PrimalpP q :
max cT x
Ax ď b
x ě 0, x P Rn
Es sei OPTpP q bzw. OPTpP ˚ q der Wert einer optimalen Lösung von pP q bzw. pP ˚ q.
Wir nehmen an, dass b und c keine Nullvektoren sind. Der Dualitätssatz der linearen
Programmierung besagt, dass OPTpP q “ OPTpP ˚ q gilt, wenn eines der Optima endlich
ist. Dieses Resultat kann man auch als Min-Max-Theorem auffassen. Man spricht auch
von starker Dualität. Kombinatorische Beispiele für starke Dualitäten sind die Identitäten νpGq “ τ pGq für bipartite Graphen, das Max-Flow-Min-Cut-Theorem oder die
Mengerischen Sätze .
Satz 2.15. (Dualitätssatz der linearen Programmierung) Es sei pP q das primale und pP ˚ q
das duale Standardprogramm:
(i) Haben pP q und pP ˚ q zulässige Lösungen, so haben sie auch optimale Lösungen und
es gilt
OPTpP q “ OPTpP ˚ q.
(ii) Ist pP q oder pP ˚ q nicht lösbar, so besitzt weder pP q noch pP ˚ q eine optimale Lösung
mit endlichem Wert.
Beweis: piq pP q und pP ˚ q seien zulässig lösbar. Nach dem schwachen Dualitätssatz reicht es
aus zu zeigen, dass es zulässige Lösungen x und y gibt mit cT x ě bT y. Dies ist äquivalent
dazu, dass das System






A
0
b




x
T 
 0


ď  ´c 
´A 

,
y
T
T
´c
b
0


 x ě0
y
(2.4)
eine Lösung besitzt.
Falls (2.4) nicht lösbar ist, gibt es mit dem Farkas-Lemma II (Satz 2.5) Vektoren z P Rm ,
w P Rn , sowie α P R mit z ě 0, w ě 0, α ě 0, so dass
AT z ě αc, Aw ď αb, bT z ă cT w.
(2.5)
Es gilt α ą 0, denn α “ 0 führt zu einem Widerspruch: Seien x0 , y0 zulässige Lösungen
von pP q und pP ˚ q, die nach Voraussetzung existieren. Aus (2.5) folgt:
0 ď xT0 AT z “ pAx0 qT z ď bT z ă cT w ď pAT y0 qT w “ y0T Aw ď 0,
28
2.3. Der Dualitätssatz
d.h. 0 ă 0, Widerspruch. Sei x “ α´1 w und y “ α´1 z. Dann gilt
Ax ď b, AT y ě c, x ě 0, y ě 0,
d.h. x, y sind zulässig für pP q bzw. pP ˚ q. Mit dem schwachen Dualitätssatz (Satz 2.12)
erhält man
cT w “ αpcT xq ď αpbT yq “ bT z
im Widerspruch zu (2.5). Also ist (2.4) lösbar und piq ist bewiesen.
piiq Wenn pP q keine zulässige Lösung besitzt, dann existiert mit dem Farkas-Lemma II
(Satz 2.5) ein w P Rm mit AT w ě 0, w ě 0, bT w ă 0. Falls pP ˚ q eine zulässige Lösung
y0 besitzt, so ist auch y0 ` λw zulässig für pP ˚ q für jedes λ ě 0. Für die Zielfunktion
gilt
bT py0 ` λwq “ bT y0 ` λpbT wq,
also limλÑ8 bT py0 ` λwq “ ´8, da bT w ă 0. Daher besitzt pP ˚ q keine optimale Lösung
mit endlichem Wert.
Analog zeigt man, dass pP q nicht optimal lösbar ist, falls pP ˚ q keine zulässige Lösung
besitzt.
Ein starkes Kriterium um die Optimalität von Lösungen zu verifizieren ist der Satz vom
komplementären Schlupf.
Satz 2.16. Seien pP q und pP ˚ q wie in Definition 2.10 und sei x˚ P Rn , y ˚ P Rm ein
primal/dual zulässiges Paar. x˚ und y ˚ sind optimale Lösungen genau dann, wenn die
folgenden Bedingungen erfüllt sind:
(i) x˚j py ˚T aj ´ cj q “ 0 für alle j “ 1, . . . , n,
(ii) yi˚ pbi ´ aTi x˚ q “ 0 für alle i “ 1, . . . , m.
Bemerkung: Beachte, dass si :“ bi ´ aTi x˚ die primale und tj :“ y ˚T aj ´ cj die duale
Schlupfvariable ist. Dies motiviert den Namen des Satzes.
Beweis: O.B.d.A. sei I “ {1, . . . , k}, J “ {1, . . . , l}. Nach Definition gilt
x˚j py ˚ T aj ´ cj q ě 0 und yi˚ pbi ´ aTi x˚ q ě 0
für alle i, j. Sei
t :“
n
X
j“1
x˚j py ˚ T aj ´ cj q `
m
X
yi˚ pbi ´ aTi x˚ q.
i“1
Da alle Summanden nicht-negativ sind, ist t “ 0 genau dann, wenn piq und piiq gelten.
Wir zeigen nun, dass t “ 0 genau dann gilt, wenn x˚ und y ˚ optimale primale/duale
Lösungen sind.
29
Kapitel 2. Dualitätssatz der Linearen Programmierung
Umformen ergibt
t“´
n
X
j“1
x˚j cj
`
m
X
i“1
yi˚ bi
`
n
X
x˚j y ˚ T aj
´
j“1
|
m
X
yi˚ aTi x˚ ,
i“1
{z
“hx˚ ,Ay ˚ i´hy ˚ ,AT x˚ i“0.
}
also t “ y ˚ T b ´ cT x˚ . Nach Korollar 2.13 impliziert t “ 0, dass x˚ und y ˚ optimal sind,
während der Dualitätssatz die Umkehrung zeigt.
30
Kapitel 3
Das Travelling-Salesman Problem
Das Travelling-Salesman Problem, kurz Tsp, besitzt als Eingabe eine Menge von Städten {1, . . . , n} und eine reelle, nicht-negative n ˆ n Matrix C “ pcij q1ďi,jďn , wobei cij
beispielsweise die Distanz zwischen den Städten i und j angibt. Die Eingabe können wir
auch als vollständigen Graphen Kn mit den n Städten als Knoten und Kantengewichten
P
pcij q auffassen. Eine Tsp-Tour T ist ein Hamiltonkreis in Kn und cpT q “ pi,jqPT cij sind
die Kosten (oder Länge) von T .
Problem Tsp:
Eingabe: „Städte“ {1, . . . , n} und Kostenmatrix C “ pcij q1ďi,jďn , Zahl r ą 0.
Frage: Gibt es eine Tsp-Tour für die Städte {1, . . . , n} mit Kosten cpT q ď r?
Für rationale Matrizen und r P Q ist das Problem in NP. Das Tsp heißt symmetrisch,
falls die Matrix C symmetrisch ist. Erfüllen die Einträge von C die Dreiecksungleichung
cij ď cik ` ckj für alle i, j, k P V ,
dann liegt ein Tsp mit Dreiecksungleichung vor.
Ein wichtiger Spezialfall eines Symmetrischen Tsp mit Dreiecksungleichung ist das
Problem mit Städten in Rd und einer p-Norm || ¨ ||p als Distanzmap (1 ď p ď 8).
Für p “ 2 liegt gerade das euklidische Tsp in Rd und für p “ 8 das Tsp in der
L8 -Norm, die in der Optimierung auch als Manhattannorm bezeichnet wird, vor. Im
allgemeinen muss ein Tsp weder symmetrisch sein, noch muss es einer Dreiecksungleichung
gehorchen.
3.1. Lineare Programmierung
Sei G “ pV, Eq, |V | “ n, |E| “ w ein Graph mit Kantenkosten c : E Ñ Q`
0 . Für X ď V
ist δpXq die Menge der Kanten mit einem Eckpunkt in X und dem anderen Eckpunkt in
V \X.
31
Kapitel 3. Das Travelling-Salesman Problem
Dantzig, Fulkenson und Johnson gaben die folgende LP-Relaxierung des TSP Problems, die in der Literatur unter dem Namen Subtourrelaxierung des TSP bekannt
ist.
pLP q
min
P
ePE
ce x e
(3.1)
xpδpvqq “ 2 f ür alle v P V
(3.2)
xpδpSqq ě 2 f ür alle H ‰ S ( V
(3.3)
0 ď xe ď 1 f ür alle e P E.
(3.4)
Der charakteristische Vektor X P {0, 1}m einer TSP-Tour erfüllt die obigen Nebenbedingungen: Xpδpvqq “ 2 für jedes v P V , da es sich um eine Tour handelt. Ohne
die Nebenbedingung (3.3) sind auch 2-Faktoren, das sind disjunkte Vereinigungen von
Kreisen, die alle Kanten überdecken, zulässige Lösungen: Durch Hinzunahme dieser Nebenbedingung werden 2-Faktoren ausgeschlossen, während eine TSP-Tour (3.3) natürlich
erfüllt.
Der Wert einer optimalen Lösung von (LP) ist eine untere Schranke für den Wert einer
optimalen TSP-Tour und wird Subtourschranke genannt.
Das obige LP kann nicht effizient gelöst werden, da (3.3) 2n Nebenbedingungen beschreibt.
Die grundlegende Idee von Dantzig, Fulkerson und Johnson besteht in der Anwendung des
Schnittebenenverfahrens: Man löst das LP ohne die Bedingung (3.3). Falls die optimale
Lösung der charakteristische Vektor einer TSP-Tour ist, sind wir fertig. Andernfalls findet
man eine Subtour-Nebenbedingung, xpδpSqq ě 2 für ein geeignetes H ‰ S ( V , durch die
die optimale Lösung verletzt wird. Diese Ungleichung wird zum LP hinzugenommen und
die Iteration beginnt von neuem. Spätestens nach 2n Iterationen liefert dieses Verfahren
eine optimale Lösung des LP. Für eine effiziente Implementation dieses Verfahrens müssen
zwei Probleme gelöst werden:
(a) Das Finden einer verletzten Subtour-Ungleichung.
(b) Das Lösen großer LPs.
Zu (b)
Variablen einfügen Legen wir einen vollständigen Graphen zu Grunde, so ist
n
m “ 2 “ δpn2 q. Für wenige tausend Knoten erhalten wir hundertausende von Variablen
xe , e P E. Selbst sehr leistungsstarke LP-Löser stoßen hier sehr bald an ihre Grenzen.
Die in der Praxis erfolgreich demonstrierte Idee besteht darin, das LP mit nur einer
Teilmenge der Variablen, sagen wir xe , e P F, F Ď E, zu lösen und die verbleibenden
Variablen aus E\F in das LP einzufügen, wenn sie gebraucht werden.
32
3.1. Lineare Programmierung
Algorithmus Optimalitätstest
1. Wähle F Ď E.
2. (Reduziertes LP) Sei LP(F ) das LP mit F anstatt E:
LP(F ) ist das Problem
P
max ePF ce xe
xpδpvqq “ 2 für alle v P V
xpδpSqq ě 2 für alle H ‰ S ( V
0 ď xe ď 1 für alle e P F
(a) Löse LP(F ) mit einer optimalen Lösung x1 P r0, 1s.
(b) Sei x˚ :“


x1e : e P F
 0 : e P E\F
3. (Optimalitätstest)
(a) Bestimme eine optimale Lösung des Duals LP˚ (F ) von LP. Sei 2V ´2 :“ {S Ď
V, H ‰ S ‰ V }. Das duale Program LP(F ) ist
Yu ` Yv `
P
vPV
2Yv `
P
2YS
{SP2V ´2 ; pu,vqPδpSq} ď cpu,vq für alle pu, vq P F
YS ě 0 für alle S P 2V ´2 .
max
H‰S(V
P
Ist diese duale Lösung auch eine zulässige Lösung des duals LP˚ von LP, dann
Stop. (x˚ ist dann optimale Lösung von LP).
(b) Andernfalls F :“ F Y {e1 , ..., el }, wobei ei P E\F eine Kante ist, so dass die
korrespondierende Ungleichung im Dual LP˚ von LP durch die optimale Lösung
von LP˚ (F ) verletzt wird.
(c) Gehe zu 2.)
Proposition 3.1. Ist die optimale Lösung von LP˚ (F ) zulässig für LP˚ , dann ist x˚ optimale
Lösung von LP.
Beweis: Da die opti,ale Lösung für LP˚ (F ) für LP˚ zulässig ist, folgt
OPTpLP ˚ q ě OPTpLP ˚ pF qq “
X
ce x1e “
ePF
also
OPT (LP˚ ) ě
X
X
ce x˚e ,
ePE
ce x˚e .
ePE
Mit dem Dualitätssatz erhalten wir OPTpLP ˚ q “
Lösung von LP˚ .
P
ePE
ce x˚e , d.h. x˚ ist eine optimale
33
Kapitel 3. Das Travelling-Salesman Problem
Zu a) Subtour-Ungleichungen:
Sei LP0 das LP ohne die Subtour-Ungleichungen (3.3) und sei x˚ eine zulässige Lösung
von LP0 .
Wir möchten feststellen, ob x˚ alle Subtour-Ungleichungen erfüllt, und falls nicht, mindestens eine verletzte Ungleichung angeben.
3.2. Approximationsalgorithmen und Heuristiken
Wir beginnen mit der Christofides Heuristik. In dieser Heuristik wird zunächst eine
Eulertour berechnet und dann daraus eine Tsp-Tour mit Hilfe der sogenannten ShortCut Technik erzeugt.
Short-Cut Technik
~ eine Eulertour. Wähle einen Startknoten v0 P V und setze T “ {v0 }.
Sei G “ pV, Aq
Iteriere die folgende Prozedur, bis T alle Knoten von V enthält:
Sei T “ {v0 , . . . , vi } berechnet und sei w der erste in der Eulertour G auf vi folgende
Knoten, der nicht aus T ist. Dann nehme vi`1 :“ w zu T hinzu.
Der Name des Verfahrens rührt daher, dass man „Abkürzungen“ wählt, falls man einen
schon in T hineingenommenen Knoten während des Durchlaufens der Eulertour wieder
erreicht.
Man sieht, dass die von T gewählte „Short-Cut“ Kante {a, c} dann eine Abkürzung
ist, wenn der Umweg {a, b, c} über die Eulertour länger ist als der direkte Weg {a, c}.
Für die Analyse der Short-Cut Technik müssen wir daher die Dreiecksungleichung
voraussetzen.
Algorithmus (Christofides):
Eingabe: Tsp mit Städten {1, . . . , n}, Matrix C “ pcij q mit Dreiecksungleichung.
Ausgabe: Eine Tsp-Tour T .
1. Berechne einen minimal spannenden Baum T ˚ für die Knoten {1, . . . , n}.
2. Bestimme zwischen den Knoten ungeraden Grads in T ˚ ein perfektes Matching M
mit minimalen Kosten cpM q.
3. Finde in dem (Euler-) Graph G “ T ˚ Y M eine gerichtete Eulertour R.
34
3.2. Approximationsalgorithmen und Heuristiken
4. Erzeuge aus R eine Tsp-Tour T mit Hilfe der Short-Cut Technik.
Satz 3.2. Sei OPT der Wert einer optimalen Tsp-Tour für ein Tsp mit Dreiecksungleichung. Dann gilt für die Christofides Tour T , cpT q ď 3{2 OPT. T kann in Opn3 q Zeit
berechnet werden.
Beweis. Die Komplexität der Berechnung eines minimal spannenden Baumes ist Opn2 q.
Die Berechnung einer Eulertour und die Bestimmung der Tsp-Tour aus der Eulertour
können in Opnq Schritten bewältigt werden. Die Opn3 q Komplexität der Berechnung
eines minimalen Matching ist daher der dominierende Term für die Gesamtlaufzeit.
Die Gütegarantie beruht auf einer trickreichen Abschätzung der Kosten des Matchings
M gegen OPT {2: Die Anzahl der Knoten ungeraden Grades in T ˚ ist gerade, daher ist
ein perfektes Matching unter diesen Knoten möglich, insbesondere ist das Matching M
wohldefiniert und existiert. Eine optimale Tour T 1 induziert zwei perfekte Matchings M 1 ,
M 2 zwischen den Knoten ungeraden Grads mit Wert
CpM 1 q ` CpM 2 q ď CpT 1 q “ OPT .
(3.5)
(Der Wert cpeq einer Kante e “ pu, vq P M 1 Y M 2 ist höchstens gleich den Kosten der
Subtour Tu,v von T , die u und v verbindet.) Das Matching M hat minimales Gewicht, also
cpM q ď cpM 1 q und cpM q ď cpM 2 q. Mit der Darstellung (3.5) folgt hieraus cpM q ď 1{2 OPT.
T entsteht aus R durch Short-Cuts. Mit der Dreiecksungleichung gilt daher cpT q ď cpRq
und wir haben schließlich
cpT q ď cpRq “ cpT ˚ q ` cpM q
ď OPT `1{2 OPT “ 3{2 OPT .
Der größte Nachteil der Christofides-Heuristik ist ihre kubische Laufzeit. Heuristiken mit
linearer Laufzeit sind die Einfügeverfahren Nearest,- Cheapest- und Farthest-Insert. In der
Praxis ist Farthest-Insert die beste Heuristik, doch leider konnte bisher eine Gütegarantie
nicht bewiesen werden. Für Nearest- und Cheapest-Insert hingegen lässt sich für das
Tsp-Problem mit Dreiecksungleichung eine Gütegarantie von 2 zeigen. (Rosenkrantz,
Stearns, Lewis)
Allen Insert-Heuristiken ist gemeinsam, dass in eine schon berechnete Tour ein neuer
Knoten nach verschiedenen Optimierungskriterien eingefügt wird.
Für eine Subtour T und einen Knoten v R T sei TOURpT, vq die Tour, die durch
Aufnahme des Knotens v zu T entstanden sei. Wir definieren die Differenzkosten ∆c
als
∆cpT, vq :“ cpTOURpT, vqq ´ cpT q .
35
Kapitel 3. Das Travelling-Salesman Problem
Die Distanz von v zu T ist
dpT, vq “ min {cpu, vq ; u P T } .
Das Einfügen eines Knotens v in eine Subtour T geschieht wie folgt.
Algorithmus Insert:
Eingabe: Ein symmetrisches Tsp-Problem pKn , cq und eine Folge von einzufügenden
Knoten a0 , . . . , an´1 .
Ausgabe: Eine Folge von Subtouren T1 , . . . , Tn , wobei T “ Tn eine Tsp-Tour für pKn , cq
ist und T0 “ H, T1 :“ TOURpT0 , a0 q.
Sei Ti “ TOURpTi´1 , ai´1 q, 1 ď i ď n konstruiert. Finde eine Kante px, yq P Ti , die die
Funktion ∆px, y, ai q “ cpx, ai q ` cpai , yq ´ cpx, yq minimiert. Ti`1 “ TOURpTi , ai q ist die
Tour, die aus Ti durch Entfernung der Kante px, yq und Aufrücken der Kanten px, ai q
und pai , yq entsteht.
y
T
y
T1
ai
x
x
Abbildung 3.1. Einfügen von ai in Subtour T .
Die verschiedenen Insertvarianten qualifizieren das jeweilige Kriterium, nach dem der einzufügende Knoten gewählt wird. Im folgenden seien Ti`1 “ TOURpTi , ai q, i “ 0, . . . , n ´ 1
die durch Einfügen der Kanten a0 , . . . , an´1 entstandenen Touren. Das Kriterium nach
dem die ai gewählt werden, gibt dem Verfahren den Namen.
Nearest-Insert
dpTi , ai q “ min {dpTi , vq ; v R Ti } für alle i “ 1, . . . , n.
Farthest-Insert
cpTi , ai q “ max {dpTi , vq ; v R Ti } für alle i “ 1, . . . , n.
Cheapest-Insert
∆cpTi , ai q “ min {∆cpTi , vq ; v R Ti } für alle i “ 1, . . . , n.
36
3.2. Approximationsalgorithmen und Heuristiken
Für den Beweis der Güte von Nearest- und Cheapest-Insert ist die Abschätzung der
Differenzkosten ∆cpTi , ai q wesentlich.
Lemma 3.3. Sei I “ pKn , cq eine Tsp-Instanz. Es seien Ti`1 “ TOURpTi , ai q, i “
0, . . . , n ´ 1, durch den Algorithmus Insert konstruierte Subtouren. Sei T “ Tn und
sei T ˚ ein minimal spannender Baum für pKn , cq. Für jede Teiltour Ti`1 “ TOURpTi , ai q,
i “ 1, . . . , n ´ 1, gelte
∆cpTi , ai q ď 2cpp, qq
für alle p P Ti und q R Ti . Dann gilt cpT q ď 2cpT ˚ q.
Beweis. Wir zeigen, dass zu jedem ai genau eine Kante ei “ ppi , qi q des Baumes T ˚
korrespondiert mit pi P Ti und qi R Ti . Hieraus folgt die Behauptung, denn
cpT q “
ď
n´1
X
i“0
n´1
X
∆cpTi , ai q
Definition der Insertmethode
2 ¨ cppi , qi q
Nach Voraussetzung
i“1
“ 2cpT ˚ q .
Die Korrespondenz ai Ñ ei “ ppi , qi q sieht man so ein:
Ein Knoten aj , j ă i, heißt ai -kompatibel, falls alle Knoten al ‰ ai in dem eindeutig
bestimmten ai -aj -Pfad in T ˚ einen Index l ą i haben. Für jedes ai , i ě 1 sei bi der
ai -kompatible Knoten ak mit größtem Index k und sei Pi der ai -bi -Pfad in T ˚ :
ei
ai
bi
Index ą i
Abbildung 3.2. Der Pfad Pi .
Es sei ei die Kante in Pi mit Endpunkt bi . Wir zeigen nun, dass zu zwei Knoten ai und aj
(j ą i) nicht dieselbe Kante e P T ˚ korrepondiert. Seien ei “ pai , bi q und ej “ paj , bj q die
zu ai und aj korrespondierenden Kanten sowie Pi und Pj die ai -bi - (bzw. aj -bj -) Pfade in
T ˚.
Wir unterscheiden zwei Fälle. Im ersten Fall werde ei “ ej auf beiden Pfaden Pi und Pj ,
ausgehend von ai bzw. aj , in der selben Richtung durchlaufen. Es ist dann bi “ bj .
Sei Pi 1 der Teilpfad von Pi beginnend bei ai und endend vor dem ersten gemeinsamen
Knoten von Pi und Pj (Abb. 3.3). Wegen i ă j ist einer der Knoten auf Pi 1 aj –kompatibel.
37
Kapitel 3. Das Travelling-Salesman Problem
Dieser habe Index m. Es gilt i ď m, denn am liegt auf Pi . Also gilt k ă i ď m. Damit ist
ak nicht der aj -kompatible Knoten mit dem größten Index, Widerspruch.
Im zweiten Fall wird ei “ ej auf Pi und Pj in verschiedener Richtung durchlaufen,
ausgehend von ai bzw. aj (Abb. 3.4). Diesmal wählen wir k so, dass bi “ ak . Da ak im
Inneren von Pj liegt, gilt k ą j, also auch k ą i. Damit kann ak aber nicht ai –kompatibel
sein, Widerspruch.
Index ą i
ai
Pi 1
ei “ ej
bi “ bj “ ak
aj
Abbildung 3.3. Pi und Pj laufen zusammen.
ai
ei “ ej
bj
bi
aj
Abbildung 3.4. Pi und Pj laufen aus ’entgegengesetzten Richtungen’ zusammen.
Mit dem Lemma 3.3 folgt
Satz 3.4. Für Tsp mit Dreiecksungleichung haben Nearest- und Cheapest-Insert eine
Gütegarantie von 2.
Beweis: Übungsaufgabe.
Die bisher genannten Heuristiken berechnen eine Tsp-Tour, die als Startlösung dienen
kann. Die in der Praxis erfolgreichsten Verfahren zur Verbesserung einer gegebenen
Tour sind die k-Opt und die Lia-Kerninghan Heuristiken (k P {2, 3, . . . , n}). Für k-Opt
betrachten wir den einfachsten Fall k “ 2.
38
3.2. Approximationsalgorithmen und Heuristiken
2-Opt-Heuristik
Bei der 2-Opt Heuristik wird für jedes nicht adjazente Kantenpaar e, e1 in der Tsp-Tour
T eine neue Tour T 1 wie folgt gebildet. Aus T wurden e und e1 entfernt. Es entstehen
zwei Pfade T1 und T2 . Aus T1 und T2 erhält man in eindeutiger Weise eine neue Tour
T1 ‰ T.
Falls irgendein T 1 , cpT 1 q ă cpT q erfüllt, so ersetzen wir T durch T 1 mit minimalem cpT 1 q.
Dieses ist die bezüglich 2-Opt optimale Tour, die aus T entsteht. Der Zeitaufwand ist
offensichtlich Opn2 q.
e
T1
T2
e1
Abbildung 3.5. So werden T1 und T2 wieder zusammengesetzt. Die ehemaligen Tourkanten e und
e1 sind gepunktet gezeichnet.
Die 2-Opt Heuristik kann auf dem Austausch von k P {2, . . . , n} Kanten in naheliegender
Weise verallgemeinert werden. Man entfernt aus T eine Teilmenge von k oder weniger
Kanten und setzt die entstehenden Pfade zu einer Tour T 1 zusammen. Es gibt in k
exponentiell viele Möglichkeiten, die Kantenmengen zu wählen. Daher werden in der
Praxis fast immer 2- und 3-Opt angewandt.
39
Kapitel 4
Steinerbäume
Zur Motivation betrachten wir folgendes Beispiel: Gegeben ist ein Graph G “ pV, Eq und
eine Teilmenge T Ď V , die Menge der Terminale (in Abb. 4.1 als Quadrate gezeichnet).
Diese sollen in einem Teilgraphen über Kanten verbunden werden. Minimiert werden soll
die gesamte Länge der Verbindungen. Ein anschauliches Beispiel ist das Asphaltieren
von Schotterwegen in einer ländlichen Region. Das Projekt soll möglichst kostengünstig,
aber wichtige Orte sollen über asphaltierte Straßen verbunden sein.
Abbildung 4.1. Ein möglicher Steinerbaum ist gestrichelt eingezeichnet.
Definition 4.1. Sei G “ pV, Eq ein Graph mit sogenannter Terminalmenge T Ď V . Ein
Subgraph B “ pV pBq, EpBqq von G heißt Steinerbaum für T , falls gilt:
(i) B ist ein Baum in G mit T Ď V pBq, und
(ii) jedes Blatt von B ist ein Terminal, d.h. ein Knoten aus T .
Die Elemente von S “ V pBqzT heißen Steinerknoten (oder Steinerpunkte).
Sei c : E ÝÑ Qě0 eine Kosten- oder Längenfunktion. Dann ist cpBq “ ePEpBq cpeq die
Länge des Steinerbaumes B. Einen Steinerbaum für T mit minimaler Länge nennen wir
steinerminimalen Baum für T .
P
Problem 4.2 (Steinerproblem in Graphen).
Eingabe: Ein Graph G “ pV, Eq mit Terminalmenge T Ď V und einer Längenfunktion c.
41
Kapitel 4. Steinerbäume
Gesucht: Ein steinerminimaler Baum für T in G.
Das Steinerproblem ist NP-vollständig. Folgende Spezialfälle jedoch lassen sich in polynomieller Zeit lösen:
Ź Ist |T | “ 2, dann ist der steinerminimale Baum für T in G ein kürzester Weg zwischen
den beiden Knoten aus T .
Ź Ist T “ V , dann ist der steinerminimale Baum für T in G ein minimal spannender
Baum in G.
4.1. Exakter Algorithmus von Dreyfuß/Wagner (Dynamische Programmierung)
Sei G “ pV, E, c, T q eine Instanz des Steinerproblems im Graphen. Für eine Teilmenge
K Ď T und v P V \K sei spK Y {v}q die Länge eines steinerminimalen Baumes für
K Y {v} und sei sv pK Y {v}q die Länge eines steinerminimalen Baumes für K Y {v}, in
dem der Grad von v mindestens 2 ist. Trivialerweise gilt spK Y {v}q ď sv pK Y {v}q. Für
zwei Punkte a, b P G sei ppa, bq die Länge eines kürzesten Weges in G.
Lemma 4.3. Sei H ‰ K Ď T und v P V \K. Dann gilt:
n
(i) sv pK Y {v}q “ minH‰K 1 ĎK spK 1 Y {v}q ` sppK\K 1 q Y {v}q
n
o
o
n
(ii) spK Y {v}q “ min minwPK ppv, wq ` spKq , minwRK ppv, wq ` sw pK Y {w}q
o
Beweis. Es seien s˚ pK, vq bzw. s˚˚ pK, vq die rechten Seiten in (i) bzw. (ii).
Zu (i): Sei B ein Steinerbaum der Länge sv pK Y {v}q für K Y {v} mit degB pvq ě 2.
B\{v} induziert eine Partition der Menge K in eine echte Teilmenge K01 von K, so
dass der Teilbaum für K01 bzw. pK\K01 q Y {v} ein steinerminimaler Baum für K01 bzw.
pK\K01 q Y {v} ist. Daher gilt
sv pK Y {v}q “ spK01 Y {v}q ` spK\K01 Y {v}q ě s˚ pK, vq.
Umgekehrt gilt sv pK Y {v}q ď s˚ pK, vq, denn zwei steinerminimale Bäume für K 1 Y {v}
bzw. pK\K 1 qY{v} ergeben zusammen einen Steinerbaum B 1 für K Y{v} mit degB 1 pvq ě 2.
Hieraus folgt sv pK Y {v}q “ s˚ pK, vq.
Zu (ii): Es sei P ein v ´ w´Weg und Q ein Steinerbaum für K mit cpP Y Qq “
minwPK {ppv, wq ` spKq}, sowie P 1 ein v ´ w´Weg und Q1 ein Steinerbaum für K Y {w}
42
4.1. Exakter Algorithmus von Dreyfuß/Wagner (Dynamische Programmierung)
mit degq1 pwq ě 2 und cpP 1 , Q1 q “ minwRK {ppv, wq`sw pK Y{w}q}. Wir können annehmen,
dass alle inneren Knoten von P bzw. von P 1 nicht aus K sind. Mit dieser Annahme sind
P Y Q bzw. P 1 Y Q1 Steinerbäume für K Y {v}, also spK Y {v}q ď s˚˚ pK, vq. Wir zeigen
nun s˚˚ pK, vq ď spK Y {v}q. Sei B ein steinerminimaler Baum für K Y {v}. Ist x P B
ein Blatt, so sei Ax der längste Pfad in B mit x als einem Endpunkt.
Fall 1: degB pvq ě 2. Dann folgt
spK Y {v}q “ sv pK Y {v}q “ ppv, vq `sv pK Y {v}q ě s˚˚ pK, vq.
| {z }
“0
Fall 2: degB pvq “ 1 und Av enthält einen Knoten w P K, oder endet in einem Knoten
w P K. Sei w0 der von v aus gesehen erste Knoten aus K auf Av , und sei Pv,w0 der
v ´ w0 ´Teilpfad von Av . B ist die Vereinigung von Pv,w0 und einem steinerminimalen
Baum für K, also ppv, w0 q “ cpPv,w0 q. Damit ist
spK Y {v}q “ cpPv,w0 q ` spKq “ ppv, w0 q ` spKq ě s˚˚ pK, vq.
Fall 3: degB pvq “ 1 und Av enthält keinen Knoten aus K und endet in einem Knoten
w R K. w ist kein Terminal und w ist kein Blatt, also degB pwq ě 2. Damit gilt:
spK Y {v}q ě cpPvw q ` sw pK Y {w}q ě ppv, wq ` sw pK Y {w}q |{z}
ě s˚˚ pK, vq.
pwRKq
˚˚
Aus Fall 1-3 erhalten wir spK Y {v}q ě s pK, vq.
Algorithmus von Dreyfuß-Wagner:
Eingabe: Ein Graph G “ pV, Eq mit Längenfunktion c : E Ñ Q`
0 , Terminalmenge T Ď V ,
(t “ |T |).
Ausgabe: Länge spT q.
1. Initialisierung: Bestimme ppv, wq für alle v, w P V .
2. Rekursion:
(a) Für alle k, 2 ď k ď t ´ 1 führe aus: Für alle K Ď T , |K| “ k und alle v P V \K
n
o
berechne
1
1
sv pK Y {v}q “ min
spK
Y
{v}q
`
spK\K
Y
{v}q
.
1
H‰K ĎK
(b) Für alle K Ď T , für alle 1 ď k ď t ´ 1 mit |K| “ k und für alle v P V \K berechne
spK Y {v}q “ min{min{ppv, wq ` spKq}, min{ppv, wq ` sw pK Y {v}q}}.
wPK
wRK
3. Ausgabe spT q.
43
Kapitel 4. Steinerbäume
Satz 4.4. spT q wird in Op4t ¨ n2 q Zeit berechnet und ist die Länge eines steinerminimalen
Baumes für T in G.
Beweis. Die Korrektheit des Verfahrens folgt aus Lemma 4.3.
4.2. KMB-Algorithmus
Wir stellen den Approximationsalgorithmus von Kou, Markowsky und Berman für das
Steinerbaumproblem vor.
Definition 4.5. Sei G “ pV, Eq ein Graph mit einer Terminalmenge T Ď V und Längenfunktion c : E ÝÑ Qě0 . Der Distanzgraph von G über T , bezeichnet mit GT , ist der
vollständige Graph über |T | Knoten ausgestattet mit einer Längenfunktion cT , für die
gilt:
cT ps, tq ist der kürzeste Weg in G (bezüglich c) von s nach t.
(4.1)
1
2
1
1
2
3
2
2
3
3
4
2
4
3
Abbildung 4.2. Beispiel eines Distanzgraphen (rechts). Links der ursprüngliche Graph mit Kantenkosten 1.
Idee des KMB-Algorithmus: Berechne einen minimal spannenden Baum in GT und
transformiere diesen Baum zurück nach G, indem die Kanten ps, tq aus GT durch kürzeste
s-t-Wege ersetzt werden. Aus diesem Subgraphen von G konstruiere einen Steinerbaum
für T in G.
Beispiel: Ein Graph G (Abbildung 4.3) mit Längenfunktion c : E ÝÑ {1}.
Lemma 4.6. Sei G “ pV, Eq ein Graph mit einer Terminalmenge T Ď V und Längenfunktion c : E ÝÑ Qě0 .
44
4.2. KMB-Algorithmus
1
1
3
4
2
4
2
3
2
3
3
4
4
4
Abbildung 4.3. Graph G mit kürzesten Wegen (gestrichelt) und zugehörigem Distanzgraphen
GT .
1
1
3
2
2
3
2
3
4
3
4
Abbildung 4.4. Minimal spannender Baum in GT und zugehöriger Subgraph in G.
Sei BOPT ein steinerminimaler Baum für T in G und BT ein minimal spannender Baum
in GT , b die Anzahl der Blätter in BT . Dann gilt
!
1
cpBT q ď 2 1 ´
cpBOPT q.
b
Beweis. Sei R eine BOPT umschließende Tour; siehe Abbildung 4.5.
Es gilt cpRq “ 2cpBOPT q. Es gehe R˚ aus R durch Entfernen des längsten Tourstückes,
welches zwei Terminale verbindet, hervor; siehe Abbildung 4.6.
Da es insgesamt b Tourstücke gibt, die zwei Terminale verbinden, gilt
cpRq ´ cpR˚ q ě
Es folgt
!
cpRq
.
b
!
cpRq
1
1
cpR q ď cpRq ´
“ 1´
cpRq “ 2 1 ´
cpBOPT q.
b
b
b
˚
(4.2)
45
Kapitel 4. Steinerbäume
Abbildung 4.5. BOPT mit umschließender Tour R (gestrichelt gezeichnet).
Abbildung 4.6. BOPT mit reduzierter Tour R˚ .
In GT wird durch R˚ ein spannender Baum B ˚ induziert; siehe Abbildung 4.7.
Wegen (4.1) gilt cpB ˚ q ď cpR˚ q. Es folgt
!
1
cpBT q ď cpB q ď cpR q ď 2 1 ´
cpBOPT q.
b
(4.2)
˚
˚
Algorithmus 4.7 (KMB — Kou, Markowsky, Berman).
Eingabe: Ein Graph G “ pV, Eq mit Terminalmenge T Ď V und einer Längenfunktion c.
Ausgabe: Steinerbaum BKMB .
1. Berechne GT und cT (Distanzgraph mit Längenfunktion für T ).
46
4.2. KMB-Algorithmus
Abbildung 4.7. Der durch R˚ induzierte spannende Baum B ˚ .
2. Bestimme einen minimal spannenden Baum BT in GT .
3. Transformiere BT in einen Subgraphen GS von G durch Ersetzen der Kanten von BT
durch einen entsprechenden kürzesten Weg in G.
4. Bestimme einen minimal spannenden Baum BS für GS .
5. Erzeuge aus BS einen Steinerbaum BKMB für T , indem sukzessive Kanten gelöscht
werden, die zu den Blättern gehören, die keine Terminale sind.
6. Ausgabe: BKMB
Satz 4.8. Der KMB-Algorithmus berechnet in Op|T |n2 q Schritten einen Steinerbaum
!
BKMB mit
1
cpBOPT q.
cpBKMB q ď 2 1 ´
b
Dabei ist b wieder die Anzahl der Blätter in BT .
Beweis. Die Korrektheit folgt aus cpBKMB q ď cpBT q und Lemma 4.6.
Zur Laufzeit:
Schritt 1: Op|T |n2 q für alle kürzesten Wege.
Schritt 2: Op|T | 2 q für minimal spannenden Baum in GT .
Schritt 3: Opnq.
Schritt 4: Opn2 q für minimal spannender Baum in GS .
Schritt 5: Opnq.
Die Gesamtlaufzeit ist also Op|T |n2 q.
47
Kapitel 5
Mehrgüterflüsse
In diesem Kapitel verallgemeinern wir das Flussproblem auf mehrere Paaren von Quellen
und Senken. Jedes solche Paar bezeichnet man auch als Gut. Die erste Idee, die Flüsse
zwischen den einzelnen Quellen und ihren zugehörigen Senken nacheinander mit dem
bekannten Algorithmus zu maximieren, führt auf kein Verfahren, welches das Problem
optimal löst.
In dem folgenden Beispiel sind drei Güter vorhanden. Die Kanten haben alle die Kapazität
1. Die Kanten dürfen in beide Richtungen durchflossen werden, und die Summe der
beiden Flusswerte darf die Kapazität nicht überschreiten.
Maximieren wir zuerst Gut 1, bringen wir also den Fluss zwischen s1 und t1 auf den
Wert 1, so sind die beiden mittleren Kanten saturiert. Die Güter 2 und 3 gehen somit
leer aus, und der Gesamtfluss ist 1. Betrachtet man aber zuerst Gut 2 und dann Gut
3, so bringt man den Fluss dieser Güter beide auf 1, erhält also einen Gesamtfluss von
2.
s1
s2
t1
t 2 , s3
t3
Wir formalisieren nun das Problem in seiner Allgemeinheit.
Definition 5.1. Sei G “ pV, Eq ein ungerichteter Graph mit Kapazitätsfunktion c : E ÝÑ
Qě0 . Sei D :“ {psi , ti q ; i P rks} Ď V ˆ V eine Menge von k Quelle-Senke-Paaren.
(i) Für jedes i P rks bezeichne Pi pGq (oder kurz Pi ) die Menge aller si -ti -Pfade in G. Sei
P :“ ⋃iPrks Pi die Menge aller Pfade für alle möglichen Güter.
(ii) Ein Multiflow (oder auch Mehrgüterfluss) ist eine Abbildung f : P ÝÑ Qě0 .
(iii) Ist ein Multiflow f gegeben, so ist die Congestion einer Kante e P E
fe :“
X
f pP q.
P PP
mit ePP
49
Kapitel 5. Mehrgüterflüsse
(iv) Ein Multiflow f heißt zulässiger Multiflow, wenn fe ď cpeq für alle e P E gilt.
(v) Für jedes i P rks bezeichnet |fi | den Wert des Flusses für das i-te Gut, also
X
|fi | :“
f pP q.
P PPi
(vi) |f | bezeichnet den Gesamtfluss, also
|f| :“
X
|fi |.
iPrks
Manchmal ist es nützlich, die Güter in einem eigenen Graphen zusammenzufassen.
Definition 5.2. Seien G, c und D “ {d1 , . . . , dk } wie in Theorem 5.1. Sei T Ď V die Menge
aller Quellen und Senken. Sei r : D ÝÑ Qě0 .
(i) Den Graph H :“ pT, Dq mit der Funktion r bezeichnet man als den Demandgraph. r
heißt auch Demandfunktion.
(ii) Ein zulässiger Multiflow f heißt zulässiger Multiflow bezüglich des Demandgraphen H,
wenn für alle i P rks gilt
|fi | ě rpdi q.
Oft notieren wir den Graphen G zusammen mit der Kapazitätsfunktion pV, E, cq und
den Demandgraph zusammen mit der Demandfunktion pT, D, rq.
Problem 5.3 (Multiflow — Demandversion).
Eingabe: G “ pV, E, cq und Demandgraph H “ pT, D, rq.
Gesucht: Ein zulässiger Multiflow, der auch bezüglich der Demands zulässig ist.
Problem 5.4 (Multiflow — Maximierungsversion).
Eingabe: G “ pV, E, cq und Demandgraph H “ pT, Dq (ohne Demandfunktion).
Gesucht: Ein zulässiger Multiflow f mit maximalem Wert |f |.
Diese Probleme können als lineare Programme formuliert werden und somit mit einem
polynomiellen Algorithmus für die Lineare Programmierung gelöst werden. Die dabei
entstehenden Lösungen können fraktional sein. Oft interessiert man sich aber nur für
integrale (ganzzahlige) Lösungen, d.h. man fordert f pP q P Z` für alle P P P. Die ganzzahlige Demandversion des Multiflowproblems ist schon für k “ 2 NP-vollständig .
Die ganzzahlige Maximierungsversion ist NP-hart.
50
5.1. Der Approximationsalgorithmus von Garg, Yannakakis und Vazirani
Wie auch schon beim Algorithmus von Ford und Fulkerson spielen Schnitte, auch Cuts
genannt, eine wichtige Rolle bei den Multiflows.
Definition 5.5. Eine Kantenmenge M Ď E heißt Multicut, falls durch die Herausnahme
von M jede Quelle von ihrer Senke getrennt wird.
cpM q :“
X
cpeq
ePM
ist die Kapazität des Multicuts M . Einen Multicut minimaler Kapazitäten nennt man auch
Minimum-Multicut.
5.1. Der Approximationsalgorithmus von Garg, Yannakakis und
Vazirani
5.1.1. Primal-Dual-Methode
Wir betrachten in diesem Abschnitt den Spezialfall eines Baumes. Der hier vorgestellte
Approximationsalgorithmus wird ferner voraussetzen, dass die Kapazitäten ganzzahlig
sind. Dies spielt zunächst aber keine Rolle.
Sei also G “ pV, Eq ein Baum mit k Gütern, I :“ rks. Bekanntermaßen gibt es für
zwei Knoten v, w P V genau einen Pfad in G, der v und w verbindet. Damit gibt es
zu jedem Gut psi , ti q, i P I einen Pfad Pi , dessen Kanten als einzige für den Fluss
dieses Gutes in Frage kommen. Sei qi : E ÝÑ {0, 1} die charakteristische Funktion
von Pi . Unsere Notation eine Multiflows vereinfacht sich zu einem k-Tupel pfi qi“1,...,k ,
wobei fi angibt, wieviele Einheiten des Gutes i von si nach ti über den Pfad Pi fließen.
Das lineare Programm zum Finden eines maximalen Multiflows vereinfacht sich damit
zu:
maximiere
k
X
fi
i“1
k
X
fi qi peq ď cpeq
@e P E
(P)
i“1
fi ě 0
@i “ 1, . . . , k
Man macht sich leicht klar, dass die Kirchhoffregel implizit erfüllt wird.
51
Kapitel 5. Mehrgüterflüsse
Das zu (P) duale lineare Programm mit den Variablen pde qePE ist:
minimiere
X
cpeqde
ePE
X
qi peqde ě 1
@i “ 1, . . . , k
(D)
ePE
de ě 0
@e P E
Bezeichne (IP) das Programm (P) erweitert um die Forderung, dass fi P N0 gilt. Analog sei (ID) definiert. (IP) und (ID) sind die Programme, an denen wir eigentlich
interessiert sind. Man sagt auch, (P) und (D) sind die LP-Relaxierungen von (IP) bzw.
(ID).
(IP) berechnet einen maximalen ganzzahligen Multiflow. Die Bedeutung von (ID) kann
wie folgt interpretiert werden: Da eine optimale Lösung von (ID) nur die Werte 0 und 1
enthält, kann man sie als Wahl einer Teilmenge M von E deuten. Es wird e dieser Menge
zugefügt genau dann, wenn de “ 1 gilt. Die Bedingung von (ID) führt dazu, dass auf
jedem Pi wenigstens eine Kante aus M liegt. Somit ist M ein Multicut und in Anbetracht
der Zielfunktion sogar ein Multicut minimaler Kapazität.
F ˚ und M ˚ seien die Werte optimaler Lösungen von (P) bzw. (D). FOPT und MOPT seien
Werte optimaler Lösung von (IP) bzw. (ID). Im allgemeinen ist nicht zu erwarten, dass
F ˚ “ FOPT oder M ˚ “ MOPT gilt. Betrachte dazu das Beispiel eines Baumes mit drei
Blättern und drei Gütern. Jeweils zwei Blätter seien Quellen-Senken-Paare. Die Kanten
haben alle Kapazität 1. Dann ist der Wert eines maximalen integralen Multiflows 1, ein
maximaler fraktionaler Multiflow jedoch hat Wert 32 , für jedes Gut 12 .
1
2
`
1
2
s1
s2
1
2
1
2
t1
s3
1
2
`
1
2
t2
t3
Der Dualitätsatz der linearen Programmierung liefert uns aber immerhin
FOPT ď F ˚ “ M ˚ ď MOPT .
52
5.1. Der Approximationsalgorithmus von Garg, Yannakakis und Vazirani
Wir werden einen Algorithmus vorstellen, der (IP) und (ID) näherungsweise löst. Dabei
spielt der Satz vom komplementären Schlupf eine wichtige Rolle. Auf unsere Situation
angewandt besagt er folgendes: Sind pfi qi“1,...,k und pde qePE zulässige Lösungen für (IP)
bzw. (ID), so sind es optimale Lösungen genau dann, wenn gelten:
P
(a) fi p
ePE
qi peqde ´ 1q “ 0 für alle i P rks.
(b) de pcpeq ´
Pk
i“1
fi qi peqq “ 0 für alle e P E.
Wir formulieren diese Bedingungen ein wenig um und interpretieren.
P
(a) fi ą 0 ùñ ePE qi peqde “ 1 für alle i P rks. Haben wir also einen positiven Fluss für
das Gut i, so wählen wir aus Pi genau eine Kante für den Multicut aus.
(b) de ą 0 ùñ cpeq “ ki“1 fi qi peq für alle e P E. Diese Bedigung besagt offenbar, dass
wir nur saturierte Kanten für den Multicut wählen.
P
Es ist im allgemeinen nicht zu erwarten, dass diese beiden Bedigungen gleichzeitig zu
erfüllen sind. Unser Algorithmus wird auf der Primal-Dual-Methode basieren, deren Idee
ist, eine der Bedingunen exakt zu erfüllen, die andere aber nur im approximativen Sinne.
In unserem Falle werden wir (b) versuchen exakt zu erfüllen, während (a) relaxiert wird
zu:
(a’) fi ą 0 ùñ 1 ď
P
ePE
qi peqde ď 2 für alle i P rks.
Wir erlauben also, auf dem Pfad Pi eines positiven Flusses zwei Kanten für den Multicut
zu wählen, anstatt nur einer.
Proposition 5.6. Es seien pfi qi“1,...,k und pde qePE zulässige Lösungen für (IP) bzw. (ID)
derart, dass (a’) und (b) erfüllt sind. Dann gilt für den Wert F˚ von pfi qi“1,...,k und den
Wert M˚ von pde qePE
1
F˚ ě FOPT und M˚ ď 2MOPT .
2
Beweis. Mit folgender Abschätzung folgt der erste Teil der Behauptung.
(Dualitätsatz)
FOPT ď MOPT
(Eigenschaft des Optimums)
ď M˚
“
X
de cpeq
ePE
“
X
ePE
k
X
de p
fi qi peqq
(b)
i“1
53
Kapitel 5. Mehrgüterflüsse
“
k
X
fi p
X
i“1
ePE
k
X
ď2
fi
de qi peqq
(a’)
i“1
“ 2F˚ .
An obigem liest man auch M˚ ď 2F˚ ab, was zusammen mit F˚ ď FOPT ď MOPT den
zweiten Teil der Behauptung ergibt.
5.1.2. Der Algorithmus
Wir wählen ein r P V als Wurzel und weisen den Knoten von G Ebenen zu. Die Ebene
eines Knotens v ist die Länge des Pfades, der v und r verbindet. r hat also Ebene 0, seine
Nachbarn Ebene 1, usw. lmax sei die Ebene mit größter Nummer.
Sind v, w P V , so sagen wir, v sei ein Vorgängerknoten oder kurz ein Vorgänger von w,
wenn v auf dem kürzesten Pfad von w zu r liegt. Analog definiert man den Begriff
der Vorgängerkante. In naheliegender Weise werden wir die Sprechweisen, ein Knoten sei
Vorgänger einer Kante oder umgekehrt interpretieren.
Unter dem größten gemeinsamen Vorgänger zweier Knoten u und v verstehen wir denjenigen Knoten, der unter allen gemeinsamen Vorgängern von u und v auf der Ebene mit
höchstem Index liegt. Offenbar ist solch ein Knoten eindeutig bestimmt.
Der Algorithmus besteht aus zwei Phasen, von denen jede einmal alle Knoten abläuft.
Phase 1. Wir gehen die Knoten ebenenweise ab, angefangen bei den Blättern, also der
Ebene mit Nummer lmax . Für jeden Knoten v mache dabei folgendes:
(1) Sei Iv die Menge der Güter, deren verbindende Wege Pi , i P Iv ganz im Subbaum Tv
verlaufen und noch keine saturierte Kante enthalten. In beliebiger Reihenfolge schicke
entlang dieser Pi jeweils so viel an Fluss, wie möglich ist.
(2) Sei Qv die Menge an Kanten, die im Schritt (1) saturiert wurden. Unter der Menge
Limpvq fasse alle diejenigen Kanten aus Qv zusammen, die keine Vorgängerkante in
Qv besitzen. Wir nennen die Kanten in Limpvq die Grenzkanten (im Original „frontier“)
von v.
Wir notieren:
54
5.1. Der Approximationsalgorithmus von Garg, Yannakakis und Vazirani
Ź Für v ‰ u gilt LimpvqXLimpuq “ H, da Qv stets aus den in dieser Iteration saturierten
Kanten besteht. Eine Kante wird insgesamt höchstens einmal saturiert.
Ź Da nach dem zweiten Schritt jedes Pi , i P Iv eine saturierte Kante enthält – sonst
wäre der Fluss für das betrachtete Gut nicht so groß wie möglich gewählt worden –,
handelt es sich bei Qv um einen Multicut bezüglich Tv und Iv .
Ź Jedes Pi , i P Iv enthält den Knoten v. Denn sonst läge der Weg dieses Gutes ganz
in einem echten Unterbaum von Tv und wäre bereits in einemr früheren Iteration
betrachtet und dabei maximal gemacht worden. Daraus folgt nun, dass es sich bei
Limpvq ebenso um einen Multicut in Tv bezüglich Iv handelt.
Im allgemeinen braucht zwar nicht I “ ⋃vPV Iv zu gelten. Dennoch ist
M 1 :“ ⋃ Limpvq
(5.1)
vPV
ein Multicut von G. Denn ein Gut i, welches zu keinem Iv , v P V gehört, bekam eine
seiner Kanten saturiert, noch bevor es in Phase 1 betrachtet wurde. Liege eine dieser
saturierten Kanten etwa in Qv . Dann gilt v P Pi , und damit trennt eine Kante von Limpvq
die Quelle si von der Senke ti . Das ist das selbe Argument wie oben, als wir zeigten,
dass die Reduktion von Qv auf Limpvq die Multicuteigenschaft für Iv nicht zerstört. Wir
erhalten auch die folgende Beobachtung:
Lemma 5.7. Für jedes i P I gibt es eine Kante aus ⋃wPPi Limpwq, die si von ti trennt.
Nach Konstruktion, siehe (2), besteht der Multicut M 1 aus (5.1) nur aus saturierten
Kanten. Somit erfüllt er die duale Schlupfbedingung (b). Die relaxierte primale Schlupfbedingung (a’) braucht allerdings noch nicht erfüllt zu sein – M 1 könnte noch zu viele
Kanten enthalten. Daher reduzieren wir M 1 in Phase 2.
Phase 2. Initialisiere M :“ H. Diesmal werden die Knoten von der Wurzel zu den Blättern
abgelaufen. Ist Knoten v an der Reihe, so füge e P Limpvq zu M genau dann, wenn sich
zwischen e und v noch keine Kante aus M befindet.
Nach vollständigem Durchlauf von Phase 2 gelten die folgenden Lemmata.
Lemma 5.8. Es ist M ein Multicut von G.
Beweis. Sei i P I, dann gibt es nach Theorem 5.7 ein w P Pi so, dass ein e P Limpwq die
Quelle si von ti trennt. Gibt es zum Zeitpunkt, als w in Phase 2 betrachtet wird, schon
eine Kante in M zwischen e und w, so ist diese Kante offenbar trennend für i, denn sie
55
Kapitel 5. Mehrgüterflüsse
liegt (wie e und w) auf Pi . Gibt es eine solche noch nicht, so wird die für i trennende
Kante e zu M hinzugefügt.
Lemma 5.9. Der Multicut M erfüllt die relaxierte primale Schlupfbedingung, (a’).
Beweis. Es sei i P I so, dass fi ą 0 ist. Wir wählen v P V so, dass v unter allen
gemeinsamen Vorgängern von si und ti auf der Ebene mit dem größten Index liegt. Wir
werden beweisen:
(i) Sind e P E und u P V so, dass e P Limpuq und e auf Pi liegt, so ist u ein Vorgänger
von v.
(ii) Ist u ein Vorgänger von w, so ist keine Kante aus Limpwq eine Vorgängerkante von
Limpuq.
Daraus folgt dann, dass M höchstens eine Kante aus dem Weg zwischen si und v und
ebenso höchstens eine Kante aus dem Weg zwischen v und ti enthält, also insgesamt
höchstens zwei Kanten aus Pi .
Man sieht das so: Angenommen, es gibt e1 , e2 P M auf dem Weg von si nach v, wobei
etwa e1 ein Vorgänger von e2 sei. Seien v1 , v2 P V so gewählt, dass ei P Limpvi q gilt für
i “ 1, 2. Nach (i) sind dann v1 sowie v2 Vorgängerknoten von v. Wir untersuchen das
Verhältnis von v1 und v2 . Eine Anwendung von (ii) auf v2 anstelle von u und v1 anstelle
von w führt zu einem Widerspruch. Somit ist v1 Vorgängerknoten von v2 . Wir haben
folgendes Bild:
v1
v2
v
ti
e1
e2
si
56
5.1. Der Approximationsalgorithmus von Garg, Yannakakis und Vazirani
Somit wurde v1 in Phase 2 vor v2 betrachtet. Wegen e1 P M und der Disjunktheit der
Mengen der Grenzkanten wurde e1 in diesem Schritt zu M gefügt. Als Phase 2 bei
später bei v2 ankam, wurde e2 nicht gewählt, weil es bereits die Kante e1 auf dem Weg
von e2 nach v2 in M vorhanden war. Ebenfalls wegen der Disjunktheit der Mengen der
Grenzkanten, wurde e2 auch in keinem anderen Schritt des Algorithmus hinzugefügt.
Wir erhalten also einen Widerspruch.
Es müssen noch (i) und (ii) gezeigt werden. Sei zuerst e P Limpuq und auf Widerspruch
abzielend angenommen, dass v ein Vorgänger von u ist. Dann wurde u in Phase 1 vor v
untersucht, und da e P Limpuq ist, wurde e in diesem Schritt saturiert. Damit enthielt
von da an Pi eine saturierte Kante, das Gut i wurde also nie betrachtet. Das widerspricht
der Voraussetzung, dass fi ą 0 gilt. Es folgt (i).
Seien jetzt noch zwei Knoten u und w so gewählt, dass u ein Vorgänger von w ist.
Angenommen, es gibt e P Limpwq und e1 P Limpuq so, dass e ein Vorgänger von e1 ist.
In Phase 1 wurde w aufgrund seiner Lage zu u vor u betrachtet. Die Kante e wurde
damit vor e1 saturiert. e1 jedoch wurde saturiert, als ein Fluss j P I betrachtet wurde, der
über u verläuft, also auch über e, weil nach Definition der Grenzkanten w ein Vorgänger
von e ist (und nach Annahme u ein Vorgänger von w). Damit enthielt Pj aber schon
eine saturierte Kante, als der Fluss j hätte betrachtet werden können. Er wurde also nie
betrachtet, was einen Widerspruch erzeugt.
Zusammenfassend erhält man den Hauptsatz dieses Abschnittes.
Satz 5.10. Der Algorithmus von Garg, Yannakakis und Vazirani terminiert in Opn2 q Zeit
und liefert einen ganzzahligen Multiflow und einen Multicut, für dessen Wert F˚ bzw.
Kapazität M˚ gilt
1
F˚ ě FOPT und M˚ ď 2MOPT .
2
Beweis. Die Korrektheit folgt aus Theorem 5.6 und Abschnitt 5.1.2.
Zur Laufzeit: Das Aktualisieren eines Flusswertes fi entlang aller betroffener Kanten in
Phase 1, Schritt (1) kostet Opnq. Dies wird maximal n ´ 1 mal ausgeführt, da jedes Mal
eine der n ´ 1 Kanten des Baumes saturiert wird. Wir haben hier also Opn2 q.
In Opn2 q können wir am Anfang des Algorithmus einen Graphen konstruieren, der
die Relation „ist Vorgängerknoten von“ ausdrückt. Damit kann später ein Test auf
Vorgängerschaft für Knoten und auch Kanten in konstanter Zeit durchgeführt werden. In
Phase 1, Schritt (2) und Phase 2 gibt es jeweils Opn2 q solcher Tests.
57
Kapitel 6
Large Deviation Ungleichungen - Große
Abweichungen
6.1. Die Ungleichungen von Markov und Chebyshev
Sei X eine Zufallsvariable über einem endlichen Wahrscheinlichkeitsraum pΩ, Σ, Prq mit
EpXq “ µ. Wir sind an den Begriffen PrpX ď µ ´ tq und PrpX ě µ ` tq interessiert,
die großen Abweichungen (large deviation) von X vom Erwartungswert µ. Oft ist es
nicht möglich, PrpX ě µ ` tq, PrpX ď µ ´ tq numerisch zu berechnen. Dennoch möchten
wir etwas über die Verteilung erfahren, z.B. ob sie sich um den Erwartungswert µ
konzentriert.
Lösung: Wir berechnen gute obere Schranken für die Abweichungen als eine Funktion
von t. Was ist dabei mit ’gut’ gemeint? Fällt die Wahrscheinlichkeit exponentiell, z.B.
PrpX ě µ ` tq ď egpµq¨t , so geht die Funktion für t Ñ 8 schnell gegen 0 und ist damit
besonders gut. Es ist hinreichend, dass
Pr(X ě µ ` t) ď gpµqhptq
mit h “ op1q, also hptq Ñ 0 für t Ñ 8.
Theorem 6.1 (Markov-Ungleichung). Sei X eine Zufallsvariable über einem endlichen Wahrscheinlichkeitsraum pΩ, Σ, Prq.
(i) Falls X ě 0, so gilt für alle t ą 0:
Pr(X ě t) ď
EpXq
.
t
(ii) Ist ϕ : R Ñ R` eine monoton steigende funktion, dann gilt für alle t ą 0,
Pr(X ě t) ď
EpϕpXqq
.
ϕptq
59
Kapitel 6. Large Deviation Ungleichungen - Große Abweichungen
Beweis.
(i) Mit At :“ {X ě t} haben wir
t ¨ 1At ď X ¨ 1At ď X ,
also
t ¨ Pr(At ) “ E(t ¨ 1At ) ď E(X ¨ 1At ) ď E(X) .
(ii) Wir wenden (i) auf ϕpXq an:
(i) EpϕpXqq
.
Pr(X ě t) ď Pr(ϕpXq ě ϕptq) ď
ϕptq
Als unmittelbare Folgerung ergibt sich:
Theorem 6.2 (Chebyshev-Ungleichung). Sei X eine Zufallsvariable über einem endlichen
Wahrscheinlichkeitsraum. Dann gilt für alle t ą 0:
Pr(|X ´ E(X)| ě t) ď
Bemerkung. Es gilt
|a| ě b
ô
VarpXq
.
t2
a ě b _ a ď ´b ,
also
|X ´ E(X)| ě t ô
X ´ EpXq ě t _ X ´ EpXq ď ´t
ô
X ě EpXq ` t _ X ď EpXq ´ t .
Beweis. Sei t ą 0. Setze Y :“ pX ´ EpXqq2 . Mit der Definition der Varianz haben wir
EpY q “ VarpXq. Durch die Markov-Ungleichung erhält man
Pr(|X ´ E(X)| ě t) “ Pr(Y ě t2 ) ď
VarpXq
EpY q
“
.
2
t
t2
6.2. Chernoff-Hoeffding-Ungleichungen
Wir folgen den Büchern von McDiarmid und Alon, Spencer und Erdös. Das erste Lemma
ist eine nützliche Abschätzung des Moments EpetX q für beschränkte Zufallsvariablen X
mit Erwartungswert 0.
Lemma 6.3. Sei X eine Zufallsvariable mit EpXq “ 0 und a ď X ď b, a, b P R. Dann gilt
1 2
2
für t ą 0: EpetX q ď e 8 t pb´aq .
60
6.2. Chernoff-Hoeffding-Ungleichungen
Beweis. Idee: Schätze t Ñ etx nach oben durch eine lineare Funktion ab. Sei gt pxq :“
x´ta tb
tb´x ta
e ` tpb´aq
e , x P rta, tbs. Da x Ñ ex konvex ist, gilt ex ď gt pxq für alle x P rta, tbs.
tpb´aq
Zudem ist gt ptaq “ eta , gt ptbq “ etb . Also gilt:
EpetX q ď EpgptXqq “ Ep
tX ´ ta tb tb ´ tX ta
a tb
b ta
e `
e q“´
e `
e .
tpb ´ aq
tpb ´ aq
b´a
b´a
a tb
Schreibe 6.1 als ehptq “ ´ b´a
e `
b
eta .
b´a
Sei f pyq :“ py ` lnp1 ` p ´ p ¨ ey q, p “
(6.1)
hptq ist zu bestimmen.
a
.
b´a
Sei t̃ :“ tpb ´ aq. Dann gilt:
f pt̃q “ p ¨ t̃ ` lnp1 ` p ´ p ¨ et̃ q
a
¨ tpb ´ aq ` lnp1 ` p ´ p ¨ etpb´aq q
“
b´a
“ ta ` lnp1 ` p ´ p ¨ etpb´aq q.
Daraus folgt:
ef pt̃q “ eta`lnp1`p´p¨e
tpb´aq q
“ eta p1 ` p ´ etpb´aq
a ta
a ta`tb´ta
“ eta `
e ´
e
b´a
b´a
a
a tb
“ eta p1 `
´
e
b´a b´a
a
b
q ´ etb p
q.
“ eta p
b´a
b´a
Wähle nun hptq :“ f pt̃q. Nach 6.1 ist dann EpetX q ď ef pt̃q . Schätze f pt̃q nach oben ab.
Die Taylorentwicklung ergibt:
f pt̃q “ f p0q ` f 1 p0qt̃ `
´pet̃
,
1´p´pet̃
t̃
:“
Es gilt: f p0q “ 0, f 1 pt̃q “ p `
f 2 pyq 2
y mit y P r0, t̃s geeignet.
2
also f 1 p0q “ p `
´p
1`p´p
“ 0, und f 2 pt̃q “
(6.2)
´pp1`pqet̃
.
p1`p´pet̃ q2
Setze α :“ 1 ` p und β q ´pe . Nach der Ungleichung vom arithmetischen und
|αβ|
1
geometrischen Mittel gilt: |αβ| ď α`β
ô |αβ| ď 14 pα ` βq2 ô pα`βq
2 ď 4 . Einsetzen in
2
6.2 ergibt: f pt̃q ď 0 ` 0 ` 18 t̃2 “ 18 t2 pb ´ aq2 .
Die stärkste Ungleichung für unabhängige Zufallsvariablen ist im allgemeinen Fall die
Hoeffding-Ungleichung.
Theorem 6.4 (Hoeffding 1963). Es seien X1 , . . . , Xn unabhängige Zufallsvariablen mit
P
ak ď Xk ď bk bei Konstanten ak , bk , k “ 1, . . . , n. Sei X “ ni“1 Xi , dann gilt für alle
61
Kapitel 6. Large Deviation Ungleichungen - Große Abweichungen
λ ą 0:
piq
piiq
2λ2
pb ´ak q2
k“1 k
,
2λ2
pb ´ak q2
k“1 k
,
´ Pn
PrpX ´ EpXq ą λq
ď e
´ Pn
PrpX ´ EpXq ă ´λq ď e
piiiq Prp|X ´ EpXq| ą λq
ď 2¨e
2λ2
n
pb ´ak q2
k“1 k
´P
.
Beweis. (iii) folgt aus (i) und (ii). Man erhält (ii) aus (i) durch die Betrachtung von
´X. Wir zeigen nun (i). Für jedes t ą 0, verwenden wir die Unabhängigkeit der Xk und
Lemma 6.3 zur Abschätzung
E(e
tpX´EpXqq
)“E
n
Y
!
exp (tpXk ´ E(Xk )q)
k“1
“
n
Y
E(exp (tpXk ´ E(Xk )q))
k“1
n
1 X
ď exp t2 pbk ´ ak q2
8 k“1
!
.
Mit der Markov-Ungleichung folgt nun
Pr(X ´ E(X) ą λ) “ Pr(etpX´EpXqq ą etλ )
ď e´tλ E(etpX´EpXqq )
Markov
n
1 X
ď exp ´tλ ` t2 pbk ´ ak q2
8 k“1
2λ2
ď exp ´ Pn
2
k“1 pbk ´ ak q
!
!
,
wobei die letzte Ungleichung gilt, da die linke Seite ihr Minimum im Punkt t “
Pn 4λ
hat.
pb ´a q2
k“1
k
k
Für Bernoulli-Versuche erhalten wir aus Theorem 6.4 die bekannte Chernoff-Ungleichung
(hier in einer allgemeinen Version).
Korollar 6.5 (Chernoff 1952). Seien X1 , . . . , Xn unabhängige Zufallsvariablen mit PrpXk “ 1q “
P
pk und PrpXk “ 0q “ 1 ´ pk , 0 ď pk ď 1 für alle k “ 1, . . . , n. Setze X :“ nk“1 Xk . Mit
P
p “ n1 nk“1 pk haben wir für alle λ ą 0
piq
PrpX ´ np ą λq
ď e´
piiq PrpX ´ np ă ´λq ď e´
2λ2
n
2λ2
n
.
Für Bernoulli-Versuche mit Werten `1, ´1 erhalten wir die Version:
62
6.2. Chernoff-Hoeffding-Ungleichungen
Korollar 6.6 (Chernoff 1952). Seien X1 , . . . , Xn unabhängige Zufallsvariablen mit PrpXk “ 1q “
P
1
“ PrpXk “ ´1q für alle k. Mit X “ nk“1 Xk erhalten wir für alle λ ą 0
2
piq
λ2
ď e´ 2n
PrpX ą λq
λ2
piiq PrpX ă ´λq ď e´ 2n .
Beachte, dass der Ausdruck np in 6.5 der Erwartungswert von X ist. Für kleine
Erwartungswerte, etwa EpXq ď n6 , gibt folgende Ungleichung eine schärfere Schranke:
Theorem 6.7 (Angluin/Valiant 1979). Es seien X1 , . . . , Xn unabhängige Zufallsvariablen
P
mit 0 ď Xk ď 1 für alle k. Setze X :“ nk“1 Xk . Dann gilt für alle 0 ă β ď 1
(i) PrpX ě p1 ` βqEpXqq ď e´
(ii) PrpX ď p1 ´ βqEpXqq ď e´
β 2 EpXq
3
β 2 EpXq
2
.
Wir brauchen folgendes technische Lemma:
Lemma 6.8. Für alle x ě 0 ist
px ` 1q lnpx ` 1q ´ x ě
3x2
.
2x ` 6
Beweis. Die Ungleichung ist äquivalent zu
f pxq :“ lnpx ` 1qp2x2 ` 8x ` 6q ´ 5x2 ´ 6x ě 0 .
Die ersten drei Ableitungen von f sind
2x2 ` 8x ` 6
f pxq “
`p4x ` 8q lnpx ` 1q ´ 10x ´ 6
x {z
`1 }
|
1
“2x`6
“ 2x ` 6 ` p4x ` 8q lnpx ` 1q ´ 10x ´ 6
“ p4x ` 8q lnpx ` 1q ´ 8x ,
4x ` 8
f 2 pxq “
` 4 lnpx ` 1q ´ 8 ,
x`1
4x ` 4 ´ 4x ´ 8
4
4x
f 3 pxq “
`
“
.
2
px ` 1q
x`1
px ` 1q2
Wir haben f p0q “ 0, f 1 p0q “ 0, f 2 p0q “ 0 und f 3 pxq ě 0 für alle x ě 0. Damit gilt für
alle x ě 0, dass f 2 pxq ě 0, f 1 pxq ě 0 und f pxq ě 0 sind.
Beweis des Theorems 6.7. Wir verwenden für den Beweis das Verfahren von McDiarmid..
Seien β P p0, 1s, t ą 0, p :“ n1 EpXq und q :“ 1 ´ p. Die Funktion x ÝÑ etx ist
konvex in r0, 1s, also ist etx ď 1 ´ x ` xet für x P r0, 1s. Es folgt für 1 ď k ď n, dass
63
Kapitel 6. Large Deviation Ungleichungen - Große Abweichungen
EpetXk q ď 1 ´ EpXk q ` EpXk qet ist. Aus der unabhängigkeit der Xk erhalten wir für
2 ď k ď n:
E exp t
k
X
!!
Xj
“ E exp t
j“1
k´1
X
!!
E(etXk )
Xj
j“1
“ E exp t
k´1
X
!!
Xj
p1 ´ E(Xk ) ` E(Xk )et q ,
j“1
und iterativ:
E(etX ) ď
n
Y
p1 ´ E(Xk ) ` E(Xk )et q .
k“1
Die Ungleichung des arithmetischen und geometrischen Mittels ergibt:
E(etX ) ď p
n
1X
p1 ´ E(Xk ) ` E(Xk )et qqn “ pq ` pet qn ,
n k“1
und für α P R und λ :“ EpXq ` αn folgt aus der Markov-Ungleichung:
Pr(X ě λ) “ Pr(etX ě etλ ) ď e´tλ E(etX ) ď e´tλ pq ` pet qn ,
also
n
Pr(X ´ E(X) ě αn) ď (e´pp`αqt pq ` pet q) .
(6.3)
(i) Mit α :“ βp und t :“ lnp1 ` βq wird aus Ungleichung (6.3)
n
Pr(X ě p1 ` βqE(X)) ď (p1 ` βq´p1`βqp p1 ` βpq)
ď (p1 ` βq´p1`βq eβ )
np
1 ` x ď ex
“ e´pp1`βq lnp1`βq´βqnp
xy “ ey ln x
3β 2
ď e´ 6`2β np
ď e´
β2
3
np
Lemma 6.8
β 2 EpXq
´
3
“e
.
(ii) Wir betrachten die Zufallsvariable Yk “ 1 ´ Xk und setzen Y “ nk“1 Yk . Da
q
die Yk die gleichen Voraussetzungen wie die Xk erfüllen, und q “ EpY
gilt, kann
n
Ungleichung(6.3) auch auf Y angewendet werden, wobei die Rollen von p und q
vertauscht sind:
P
n
Pr(Y ´ E(Y ) ě αn) ď (e´pq`αqt pp ` qet q) .
(6.4)
pq`αqp
q. Ungleichung (6.4) wird dann zu
Für α P p´q, pq setzen wir t “ ln p qpp´αq
Pr(Y ´ E(Y ) ě αn) ď
qpp ´ αq
pq ` αqp
q`α
qpq ` αqp
¨ p`
qpp ´ αq
|
{z
!n
}
ppp´αq
ppq`αq
p
“ p´α ` p´α “ p´α
64
6.2. Chernoff-Hoeffding-Ungleichungen
p
q q`α p ´q´α
¨
¨
“
q`α
p´α
p´α
q q`α p p´α n
“
¨
q`α
p´α
f pαqn
“e
,
n
wobei f : p´q, pq ÝÑ R gegeben ist durch
q q`α p p´α
f pαq :“ ln
¨
q`α
p´α
q p “ pq ` αq ln
` pp ´ αq ln
q`α
p´α
Das Setzen von α :“ βp ergibt
Pr(X ď p1 ´ βqE(X)) “ Pr(X ´ E(X) ď ´αn) “ Pr(Y ´ E(Y ) ě αn) .
2
Damit genügt es wegen (6.4), die Ungleichung f pβpqn ď ´ β EpXq
zu zeigen. Die
2
Ableitungen von f sind
q p ´1
1
f 1 pαq “ pq ` αq
` ln
` pp ´ αq
´ ln
q`α
q`α
p´α
p´α
q p “ ln
´ ln
,
q`α
p´α
1
1
1
f 2 pαq “ ´
´
“´
.
q`α p´α
pq ` αqpp ´ αq
Wir betrachten g : r0, 1q ÝÑ R, definiert durch gpxq :“ f pxpq, und erhalten
g 1 pxq “ pf 1 pxpq ,
p2
pq ` xpqpp ´ xpq
p
p
“´
ď´
pq ` xpqp1 ´ xq
q`p
“ ´p .
g 2 pxq “ p2 f 2 pxpq “ ´
0ďxď1
Da gp0q “ 0 und g 1 p0q “ 0 ist, ergibt die Analyse durch Taylor
gpβq ď gp0q ´ g 1 p0qβ ´ p
Somit ist f pβpqn “ gpβqn ď ´ β
2 EpXq
2
β2
pβ 2
“´
.
2
2
, was zu zeigen war.
65
Kapitel 7
Randomisierte Algorithmen für
Packungsprobleme
7.1. Randomisiertes Runden für Packungsprobleme
Viele kombinatorische Optimierungsprobleme lassen sich als ganzzahliges lineares Programm formulieren. Wie betrachten hier zunächst nur solche Probleme, bei denen nach
einem Lösungsvektor x P {0, 1} n gesucht wird.
7.1.1. Idee des randomisierten Rundens
1. Formuliere das Problem als ganzzahliges, lineares Programm.
2. Löse die LP-Relaxierung in polynomiellere Zeit und erhalte so einen Lösungsvektor
y “ py1 , ..., yn q P r0, 1sn .
3. “Runde“ yi auf 1 mit Wahrscheinlichkeit yi und auf 0 mit Wahrscheinlichkeit p1 ´ yi q
unabhängig für alle i “ 1, ..., n. D.h. für jedes i werfe eine gefälschte Münze mit Kopf
“1,
ˆ Zahl “0;
ˆ Kopf erscheint mit Wahrscheinlichkeit yi und Zahl mit Wahrscheinlichkeit
p1 ´ yi q.
Mit anderen Worten, der gerundete Vektor x “ pxi , ..., xn q ist Ergebnis eines Zufallsexperimentes mit n unabhängigen Zufallsvariablen X1 , ..., Xn mit PrpXi “ 1q “ yi und
PrpXi “ 0q “ 1 ´ yi .
4. (Analyse) Zeige mit Large-Deviation-Ungleichungen, dass mit einer gewissen Wahrscheinlichkeit ungleich Null der Vektor x eine zulässige Lösung des Problems ist und
der Zielfunktionswert an der Stelle x eine gewisse Appproximation des optimalen
Wertes darstellt.
67
Kapitel 7. Randomisierte Algorithmen für Packungsprobleme
7.1.2. Zulässigkeit des gerundeten Vektors
Gegeben sei das Maximierungsproblem
max cT x
Ax ď b
x P {0, 1} n .
(IP)
Sei P das Polyeder P “ {z P r0, 1sn ; Az ď b}. Die Lösung LP-Relaxierung von (IP)
ergibt einen Lösungsvektor y P P . Aber ist der durch randomisiertes Runden entstehende
Vektor x P {0, 1} n auch im Polyeder? Mit anderen Worten: Ist der gerundete Vektor
noch zulässig?
Wir betrachten zunächst den Fall Epxi q “ yi für alle i “ 1, ..., n; dies ist so im Falle des
einfachen randomisieren Rundens aus 7.1.1. Dann gilt
E(pAxqi ) “ E
n
X
j“1
!
aij xj
“
n
X
aij E(xi ) “
j“1
n
X
aij yj “ pAyqi ď bi .
j“1
Liegt die Lösung nahe am Erwartungswert, so wird x nicht zu weit aus P herausfallen,
es ist aber durchaus möglich, dass x tatsächlich nicht im Polyeder liegt. Allerdings
ist der Bereich, in dem x mit “hoher“ Wahrscheinlichkeit liegt, durch Large-Deviation
abschätzbar.
Wie können wir nun erzwingen, dass x mit “hoher“ Wahrscheinlichkeit in P liegt? Dazu
gibt es zwei Möglichkeiten. Für ein geeignetes Ź löse die LP-Relaxierung in verkleinertem Polyeder
P :“ {z P Rn ; Az ď p1 ´ qb} ,
oder
Ź verkleinere die Wahrscheinlichkeit, yi auf 1 zu runden, d.h. wähle Prpxi “ 1q “ p1´qyi
und Prpxi “ 0q “ 1 ´ p1 ´ qyi . Dies erscheint sinnvoll zumindest dann, wenn A nur
nicht-negative Einträge hat.
7.2. k-Matching in Hypergraphen
Definition 7.1. Ein Hypergraph ist ein Tupel H “ pV, Eq bestehend aus einer Menge V
und E Ă PpV q. Die Elemente aus E heißen Hyperkanten, oder auch kurz nur Kanten.
68
7.2. k-Matching in Hypergraphen
Im Falle |E| “ 2 für alle E P E haben wir es also mit einem Graphen im bekannten Sinne
zu tun.
Im folgenden sei stets V eine endliche Menge. Ist ein Hypergraph H “ pV, Eq gegeben,
so setzen wir ferner stets die Setzung n :“ |V | und m :“ |E| voraus.
Definition 7.2. Sei H “ pV, Eq ein Hypergraph. Sei k P N. Ein k-Matching in H ist eine
Teilmenge E0 Ď E mit der Eigenschaft, dass in jedem Knoten v P V höchstens k Kanten
aus E0 inzidieren. Ein Maximum-k-Matching ist eines mit maximaler Kardinalität |E0 |.
In der Literatur wird ein Maximum-k-Matching auch maximales k-Matching genannt.
Problem 7.3 (Maximum-k-Matching).
Eingabe: Ein Hypergraph H “ pV, Eq und k P N.
Gesucht: Ein Maximum-k-Matching von H.
Das Problem ist schon für k “ 3 NP-hart. Wir werden einen Approximationsalgorithmus
entwickeln, der auf dem randomisieren Runden beruht. Sei A “ paij q P {0, 1} nˆm die
Knoten-Kanten-Inzidenzmatrix von H, d.h. aij “ 1 genau dann, wenn der Knoten i ein
Element der Kante j ist. Dann beschreibt folgendes ganzzahliges lineares Programm das
Problem Theorem 7.3.
max
Pm
j“1 xj
a
j“1 ij xj ď k für alle i “ 1, ..., n
xj P {0, 1} für alle j “ 1, ..., m
Pm
(k-IP)
Algorithmus 7.4.
Eingabe: Ein Hypergraph H “ pV, Eq, k P N und P p0, 1q.
Ausgabe: Eine Teilmenge von E.
1. Löse die LP-Relaxierung von (k-IP). Sei y P r0, 1sn die optimale Lösung mit Wert
OPT˚ .
2. Erhalte Vektor x aus y durch Runden: Prpxi “ 1q “ p1´ 2 qyi , Prpxi “ 0q “ 1´p1´ 2 qyi
unabhängig für alle i “ 1, ..., m.
3. Ausgabe: Vektor x “ px1 , ..., xm q.
Satz 7.5. Sei P p0, 1q und cpq “ 6p2´q
. Ist dann k ě cpq lnp4nq, so gilt nach einem
2
Durchlauf von Theorem 7.4 mit Wahrscheinlichkeit mindestens 1{2 :
(i) Ax ď k (d.h. x ist zulässig).
69
Kapitel 7. Randomisierte Algorithmen für Packungsprobleme
(ii)
Pm
i“1
xi ě p1 ´ q OPT.
Beweis. (i ). Für jedes i P rms setze die Zufallsvariable Xi :“ pAxqi . Fixiere vorläufig
P
i P rms. Dann gilt, da y eine zulässige LP-Lösung und damit m
j“1 aij yj ď k ist,
E(Xi ) “ E(pAxqi ) “ E
m
X
!
aij xj
“
j“1
m
X
aij E(xj ) “
j“1
m
X
aij p1 ´ qyj
2
j“1
m
X
“ p1 ´ q
aij yj ď p1 ´ qk.
2 j“1
2
Sei δ :“ p1 ´{2 qk ´ EpXi q, dann ist δ ě 0. Definiere Zi :“ Xi ` δ. Dann gilt
E(Zi ) “ E(Xi ) ` δ “ p1 ´ qk.
2
Setze β :“
.
2´
(3)
Es folgt
Pr(pAxqi ą k) “ Pr(Xi ą k) ď Pr(Xi ` δ ą k) “ Pr(Zi ą k)
“ Pr Zi ą p1 ` βqp1 ´ qk “ Pr(Zi ą p1 ` βqE(Zi ))
2
!
β 2 EpZi q
,
ď exp ´
3
|
{z
α:“
}
letzteres nach Angluin-Valiant, Theorem ??, angewandt auf Zi anstelle von X, aij anstelle
von wj und yj anstelle von Xj , j “ 1, . . . , m. Die Konstante δ realisieren wir durch
eine geeignete Anzahl von konstanten Zufallsvariablen Y1 , . . . , Ydδe , PrpYj “ 1q “ 1,
j “ 1, . . . , dδe; die letzte davon hat δ ´ bδc als Gewicht, die anderen 1.
Es gilt nach (3)
β 2 EpZi q
1 2
“
p1 ´ qk
2
3
3 p2 ´ q
2
2
2
1 1 “
p2
´
qk
“
k.
6 p2 ´ q2
62´
Es folgt
!
β 2 EpZi q
1
1
ď
αď
ô exp ´
4n
3
4n
2
2
β EpZi q
β EpZi q
ô´
ď ´ lnp4nq ô
ě lnp4nq
3
3
70
(4)
7.2. k-Matching in Hypergraphen
1 2
6p2 ´ q lnp4nq
k ě lnp4nq ô k ě
.
2
(4) 6 2 ´ ô
Da die letzte Aussage laut Voraussetzung gilt, folgt also α ď
Pr(Di ; pAxqi ą k) ď
n
X
1
.
4n
Wir erhalten insgesamt
Pr(pAxqi ą k) ď {14 .
(5)
i“1
(ii ). Übungsaufgabe .
Konjunktion von (i ) und (ii ). Aus (5) und (ii) folgt
Pr(x nicht zulässig oder Zielfunktion ist kleiner als p1 ´ q OPT)
ď Pr(x nicht zulässig ) ` Pr(Zielfunktion ist kleiner als p1 ´ q OPT)
ď {14 `{14 “ 1{2 .
Also gilt mit Wahrscheinlichkeit größer als 1{2 , dass x zulässig ist (also (i)) und dass die
Zielfunktion an der Stelle x nicht kleiner als p1 ´ q OPT ist (also (ii)).
71
Kapitel 8
Das Set Cover Problem
8.1. Der Greedy Algorithmus
Es sei H “ pV, Eq ein Hypergraph mit |V | “ n und |E| “ m. Für v P V ist dpvq :“
| {E : v P E P E} | der Grad des Knotens v und ∆ :“ maxvPV dpvq ist der maximale
Knotengrad von H.
Ferner ist H `-uniform, falls |E| “ ` für alle E P E.
Eine Menge F Ď E heißt Set Cover, falls für jedes v P V ein F P F mit v P F
P
existiert. Sei c : E ÝÑ Q`
F PF sind die Kosten von
0 eine Gewichtsfunktion cpFq :“
F.
Problem 8.1 (Set Cover).
Eingabe: Hypergraph H “ pV, Eq, c : E ÝÑ Q`
0
Gesucht: Ein Set Cover F mit minimalen Kosten
Satz 8.2. Set Cover ist NP-schwer.
Grundlage für eine Approximationstheorie für das Set Cover ist eine Approximation durch
das Greedy-Verfahren. Wir führen die Kosteneffektivität einer Menge E P E bezüglich
einer Menge X Ď V ein:
effpE, Xq :“


 cpEq
:E´X ‰H

8
:E´X “H
|E´X|
(1)
Die Extremfälle sind
X “ H. Dann ist effpE, Hq “
cpEq
|E|
X “ V . Dann ist effpE, Hq “ 8
73
Kapitel 8. Das Set Cover Problem
Je größer |E ´ X| ist, desto kleiner ist effpE, Xq. effpE, Xq kann man auffassen als die
relativen Kosten von E bezüglich einer Menge X Ď V .
Nehmen wir an, dass X eine Menge ist, die bisher durch bereits gewählte Hyperkanten
überdeckt wird. Dann ist |E ´ X| die Anzahl der Knoten aus E, die noch nicht überdeckt
werden. Man wäre bestrebt, in das Set Cover ein E aufzunehmen, für das |E ´ X|
möglichst groß ist, um viele neue Knoten durch E zu überdecken. Um hier auch die
Kosten von E zu berücksichtigen, würde man für die Auswahl dasjenige E mit minimaler
Kosteneffektivität effpE, Xq wählen.
Ferner definieren wir den Preis noch nicht überdeckter Knoten, gegeben E P E und
X Ď V , E ´ X ‰ H durch
ppvq :“ effpE, Xq für v P E ´ X
(2)
Algorithmus 8.3. Greedy-Set-Cover
Eingabe: Hypergraph H “ pV, Eq, Kostenfunktion c : E ÝÑ Q`
0.
Ausgabe: Set Cover F.
1. X :“ H, F :“ H
2. While X ‰ V do
(a) Wähle F P E mit effpF, Xqminimal
(b) ppvq :“ effpF, Xq für alle v P E ´ X
(c) X Ð X Y F
(d) F Ð F Y {F }
3. Ausgabe F
Sei V “ {v1 , . . . , vn } die Ordnung, die durch das erstmalige Überdecken der Knoten
von V durch den Algorithmus Greedy-Set-Cover entsteht. Ist v1 , . . . , vj die bisherige
Ordnung, j ě 1, und werden durch den Algorithmus im nächsten
Schritt die
n
o Knoten
aus F ´ X überdeckt, so setze in beliebiger Weise F ´ X “ vj`1 , . . . , vj`k mit k “
|F ´ X|, d.h. die Knoten aus F ´ X erhalten in beliebiger Reihenfolge die Nummern
j ` 1, . . . , j ` k.
Lemma 8.4. Für jedes j P {1, . . . , n} gilt p vj ď
74
OPT
n´j`1
8.1. Der Greedy Algorithmus
Beweis. Sei S :“ {S1 , . . . , Sr } ein optimales Set Cover, r P rms und sei OPT :“
Pr
i“1 c (Si ). In der t-ten Iteration des Algorithmus Greedy-Set-Cover sind die Knoten aus
X { nicht überdeckt. X { kann durch die Mengen aus SzF sicher überdeckt werden und
die Kosten sind c (SzF) ď cpSq ď OPT
Behauptung 1. Es gibt ein S0 P SzF mit eff (S0 , X) ď
OPT
|X { |
Beweis. Annahme: eff (S, X) ą
OPT
.
|X { |
für alle S P SzF.
Wie bereits angemerkt, gilt ⋃SPSzF “ X { . Nun folgt aus der Annahme
OPT
|S ´ X| für alle S P SzF
|X { |
cpSq ą
also
X
OPT ě
cpSq ą
SPSzF
OP T X
|S ´ X|
|X { | SPSzF
|
{z
}
ě|X { |
ě OPT
also OPT ą OPT, Widerspruch!
Wird Ft P E durch den Algorithmus in der t-ten Iteration zum Set Cover gewählt, so ist
effpFt , Xq ď effpS0 , Xq ď OPT
mit der Behauptung 1. Somit ist für alle v P Ft ´ X,
|X { |
ppvq “ effpFt , Xq ď
OPT
|X { |
(3)
In der Iteration des Algorithmus, in der das Element vj überdeckt wurde, gilt |X { | ě
n ´ pj ´ 1q “ n ´ j ` 1. Somit mit 3:
p vj ď
OPT
n´j`1
Wir erinnern uns an die n-te harmonische Zahl Hpnq :“
Hpnq ď lnpnq ` 1.
Pn
1
i“1 n
und die Abschätzung
Satz 8.5. Der Algorithmus Greedy-Set-Cover (8.3) findet ein Set Cover mit Kosten
höchstens Hpnq OPT ď plnpnq ` 1q OPT
Beweis. Sei F das vom Algorithmus Greedy-Set-Cover gefundene Set Cover. Für jedes
F P F gilt per Definition
cpF q “ effpF, Xq ¨ |F ´ X|
75
Kapitel 8. Das Set Cover Problem
Also
X
X
ppvq “
vPF ´X
effpF, Xq
vPF ´X
“ effpF, Xq ¨ |F ´ X| “ cpF q
(4)
Ist F “ {F1 , . . . , Fs } die Reihenfolge, in der die Hyperkanten zum Set Cover F hinzugenommen werden, so bilden diese eine Partition von {v1 , . . . , vn }. Für t P rss sei
Ft “ {vt , . . . , vt`it }. Somit
t`i
Xt
4
c (Ft ) “
p (vi ) ď
i“t
Also
c (F) “
s
X
c (Ft ) ď OPT
t“1
t`i
Xt
i“t
s t`i
X
Xt
t“1 i“t
OPT
n´i`1
1
“ OPT ¨Hpnq
n´i`1
8.2. Das deterministische Runden
Mit sehr einfachem deterministischen Runden erhalten wir eine ∆-Approximation.
Algorithmus 8.6 (LP-Set-Cover).
Eingabe: Hypergraph H “ pV, Eq, Maximalgrad ∆.
Ausgabe: Set Cover F
1. (LP-Lösung) Löse die LP-Relaxierung des Set Cover Problems
min
X
cpF qXF
F PE
X
XF ě 1
@v P V
XF P r0, 1s
@F P E.
vPF,F PE
Sei OPT˚ “
P
F PE
cpF qXF .
2. (Deterministisches Runden) Ist XF ě
1
,
∆
so nehme F zu F hinzu, andernfalls nicht.
3. Ausgabe F.
Satz 8.7. Der Algorithmus LP-Set-Cover (8.6) findet ein Set Cover F mit c (F) ď ∆ ¨
OPT˚ ď ∆ ¨ OPT.
76
8.3. Random Set Cover
Beweis. F ist ein Set Cover, andernfalls gäbe es ein v P V , das nicht durch F überdeckt
würde. Somit wäre kein F P F mit v P F gewählt worden, also XF ă ∆1 für all diese F .
X
Dies führt zu
1
XF ă
¨ ∆ “ 1,
∆
vPF,F PE
ein Widerspruch zur Zulässigkeit der LP-Lösung. Wir zeigen nun die Approximationsgüte.
n
Sei T :“ F P E : XF ě
1
∆
o
dann gilt
X cpF q
X
cpFq
“
ď
cpF qXF
∆
F PT ∆
F PT
X
ď
cpF qXF `
F PT
X
cpF qXF
F PT {
“ OPT˚
also cpFq ď ∆ ¨ OPT˚ ď ∆ ¨ OPT.
8.3. Random Set Cover
Wir schreiben das Set-Cover-Problem wiederum als ein ganzzahliges Programm für den
Hypergraphen H “ pV, Eq mit |V | “ n, |E| “ m:
min
X
xE
(ILP)
EPE
X
xE ě 1 für alle v P V
vPE,EPE
x P {0, 1} n .
Die LP-Relaxierung, wobei XE P r0, 1s für alle E P E, notieren wir mit (LP). Sei OPTLP
das LP-Optimum und OPT das ILP-Optimum.
Algorithmus 8.8 (Random-Set-Cover).
1. F :“ H
2. Löse (LP). Sei y P r0, 1sm eine solche, optimale Lösung.
3. Wähle E P E mit Wahrscheinlichkeit yE zum Set-Cover F, unabhängig für alle E P E.
4. Ausgabe F.
77
Kapitel 8. Das Set Cover Problem
Satz 8.9. Mit Wahrscheinlichkeit mindestens
1
2
gilt
cpFq ď 4 lnp4nq OPTLP ď 4 lnp4nq OPT
Beweis. Zunächst einmal gilt E c (F) “ OPTLP . Wir schätzen die Wahrscheinlichkeit
für
eines Elementes v P V durch F ab. Es kann gezeigt werden, dass
die Überdeckung
1
1
k
,
.
.
.
,
P
r0,
1s
sogar
das Maximum von (Max-LP) ist. Also gilt
k
k
1
1ď 1´
k
!k
ď
1
e
(5)
somit
Pr Av
{
1
ě1´ 1´
k
!k
ě1´
1
e
(6)
für jedes v P V .
Wir iterieren das randomisierte Runden lnp4nq mal und erhalten F1 , . . . , Flnp4nq als
lnp4nq
Ausgaben. Sei F ˚ :“ ⋃i“1 Fi . Sei v P V und sei Bv das Ereignis, dass v nicht durch F ˚
überdeckt wird. Dann ist für alle v P V ,
Pr (Bv ) ď
1
e
!lnp4nq
“
1
4n
also
Pr (DvPV : Bv ) ď n ¨
1
1
“
4n
4
(7)
Ferner gilt für die Kosten
E c (F ˚ ) “
 

lnp4nq

E
c  ⋃ Fj 
j“1
lnp4nq
ď
X
E c Fj
j“1
ď OPTLP ¨ lnp4nq
Mit der Markov-Ungleichung
E c (F ˚ )
lnp4nq ď
4 lnp4nq
1
ď
4
˚
Pr c (F ) ą 4 ¨ OPTLP
78
(8)
8.3. Random Set Cover
Mit (7) und (8) folgt:
Pr F ˚ ist ein Set-Cover mit c (F ˚ ) ď 4 lnp4nq ¨ OPTLP q ě
1
2
79
Kapitel 9
Die Random-Hyperplane-Methode und das
Max-Cut-Problem
Eingabe: Ein Graph G “ pV, Eq, |V | “ n.
Gesucht: Eine Partition der Knotenmenge in zwei Mengen V1 , V2 ,
.
V “ V1 Y V2 , so dass die Kardinalität des Schnittes
δpV1 , V2 q “ | {pi, jq P E ; i P V1 , j P V2 } |
maximal ist.
Wir betrachten folgende Formulierung des MaxCut Problems als ganzzahliges quadratisches Programm (IP):
1 ´ yi yj
“: IPopt ,
2
pi,jqPE
yi P {´1, 1} für alle Knoten i P V.
maximiere
X
Die Mengen V1 :“ {i ; yi “ 1} und V2 :“ {i ; yi “ ´1} bilden die beiden Seiten des
Schnittes δpV1 , V2 q, und eine Kante e “ pi, jq gehört genau dann zum Schnitt, wenn
yi ‰ yj ist.
Wir erhalten eine Vektorrelaxierung (VR) des Problems, wenn wir statt der yi P {´1, 1}
Vektoren ~vi auf der Einheitssphäre Bn des Rn zulassen. Dabei ersetzen wir das Produkt
yi yj durch das Skalarprodukt der entsprechenden Vektoren h~vi |~vj i.
1 ´ h~vi |~vj i
“: VRopt ,
2
pi,jqPE
~v1 , . . . , ~vn P {~v P Rn ; |~v |2 “ 1} “ Bn .
maximiere
X
Man beachte, das die ursprünglichen Lösungen y1 , . . . , yn des IP als Lösungen der Vektorrelaxierung aufgefasst werden können, indem man ~vi “ pyi , 0, . . . , 0q setzt.
81
Kapitel 9. Die Random-Hyperplane-Methode und das Max-Cut-Problem
Dadurch wird gewährleistet, das (VR) tatsächlich eine Relaxierung des MaxCut Problems ist, und es gilt
VRopt ě IPopt .
Dahinter steckt die Idee, das man solche Vektorrelaxierungen effizient (d.h. in polynomieller Laufzeit bezogen auf die Kodierungslänge der Eingabe) lösen kann. Dazu später
mehr.
Angenommen, die Vektoren ~v1 , . . . , ~vn einer Optimallösung von (VR) seien bereits bekannt.
Wir „runden“ die Vektoren zurück auf yi P {´1, 1} wie folgt:
Wähle eine zufällige Ursprungshyperebene E~r im Rn .
V1 :“ {i ; ~vi „liegt rechts von“E~r } ,
V2 :“ {i ; ~vi „liegt links von“E~r } ,
Formal: Sei ~r P Bn ein zufälliger Vektor (rotationssymmetrisch verteilt). E~r sei die
Hyperebene mit Normalenvektor ~r und
V1 :“ i ; h~vi |~r i ě 0 ,
V2 :“ i ; h~vi |~r i ă 0 .
Lemma 9.1. Nach dem Runden beträgt der Erwartungswert für die Kardinalität des
Schnittes
X arccosph~
vi |~vj iq
ErδpV1 , V2 qs “
.
π
pi,jqPE
Beweis. Sei P die zweidimensionale Ebene, die von den Vektoren ~vi und ~vj aufgespannt
wird. P X Bn ist ein Kreis. Mit Wahrscheinlichkeit 1 schneidet die zufällige Hyperebene
P in einer Geraden S und den Kreis in zwei einander gegenüberliegenden Punkten s, t.
Die Vektoren werden durch die Hyperebene (HE) getrennt, wenn entweder s oder t in
den kleineren Winkel von ~vi und ~vj fallen. Das heißt:
Pr rsgnh~vi |~r i ‰ sgnh~vj |~r is “
ErδpV1 , V2 qs “
X
r
1
2r
“ “ ¨ arccosph~vi |~vj iq,
2π
π
π
Pr rsgnh~vi |~r i ‰ sgnh~vj |~r is
pi,jqPE
“
X
pi,jqPE
82
arccosph~vi |~vj iq
.
π
Lemma 9.2. Für ´1 ď x ď 1 gilt:
arccos x
1´x
ěα¨
π
2
mit einer Konstanten α ě 0, 87856.
2 arccos x
´1ďxď1 πp1 ´ xq
2 arccosp´0, 689 . . .q
ě
“ 0, 87856.
πp1 ´ p´0, 689 . . .qq
α
“
min
Algorithmus MaxCut (M. Goemans / D. Williamson, 1994):
1. Löse die Vektorrelaxierung (VR) und erhalte eine Menge von Vektoren {~v1 , . . . , ~vn }.
2. Wähle (gleichverteilt) einen zufälligen Vektor ~r P Bn .
3. Setze V1 “ i ; h~vi |~r i ě 0 , V1 “ i ; h~vi |~r i ă 0 .
Satz 9.3. Der Algorithmus bestimmt einen Schnitt mit erwarteter Güte α:
ErδpV 1, V 2qs ě α ¨ VRopt ě α ¨ IPopt .
Beweis. Dies ergibt sich aus Lemma 9.1 und Lemma 9.2.
Man kann zeigen, das die Analyse nahezu scharf ist: Es gibt Eingabegraphen G, für die
IPopt
das Verhältnis VR
nahezu α ist, etwa der Petersengraph oder der 5-Kreis. (Für den
opt
5-Kreis:
IPopt
VRopt
“ 0, 88445.q
Einige Bemerkungen zur Lösung der Vektorrelaxierung
Aus der linearen Algebra weiß man:
Satz 9.4. Sei A eine symmetrische Matrix, A P Mnˆn pRq. Dann sind äquivalent:
(i) A ist positiv semidefinit pA 0q, d.h. für alle ~x P Rn gilt ~x T A~x ě 0.
(ii) Alle Eigenwerte von A sind reell und nicht negativ.
(iii) Es gibt eine pn ˆ nq-Matrix B so, dass A “ B T B ist. (Die Cholesky-Zerlegung von
A. Diese ist im allgemeinen. nicht eindeutig, weil das Skalarprodukt rotationsinvariant
ist.)
83
Kapitel 9. Die Random-Hyperplane-Methode und das Max-Cut-Problem
(VR): maximiere
1 ´ h~vi |~vj i
2
X
pi,jqPE
|~vi |2 “ 1, ~vi P Rn für alle i P V .
Definiere Y “ pyij q mit yij :“ h~vi |~vj i “ ~vi T ~vj . Dann hat man |~vi |2 “ 1, also yii “ 1 für alle
i. Aus yij “ ~vi T ~vj folgt: Y ist positiv semidefinit, denn für alle ~x gilt:
~x T Y ~x “
XX
i
“
xi xj p~vi T ~vj q
j
X
2
xi~vi ě 0.
i
Andererseits gilt aber auch Y 0 und yii “ 1, also gibt es eine Menge von Vektoren ~vi ,
so dass yij “ ~vi T ~vj ist (Cholesky-Zerlegung).
Deshalb ist (VR) äquivalent zu
(SDP): maximiere
X
1
{2 p1 ´ yij q
pi,jqPE
unter den Nebenbedingungen Y “ pyij q 0, Y symmetrisch, yii “ 1 für i “ 1, . . . , n.
Jetzt kann man sich überlegen, dass
Q :“ {Y ; Y 0, yii “ 1, Y symmetrisch}
eine konvexe Menge ist.
(Zu zeigen: Für alle λ P r0, 1s, A, B P Q gilt λA ` p1 ´ λqB P Q.)
Mit Hilfe der Ellipsoidmethode kann man aber in Polynomialzeit eine konkave Funktion
(die Zielfunktion ist linear, also erst recht konkav) über einer konvexen Menge maximieren
(bis auf einen beliebig kleinen Fehler, das Optimum kann ja wegen der Quadratwurzel
irrational sein).
Auch die Cholesky-Zerlegung von Y lässt sich in Polynomialzeit Opn3 q berechnen.
Bemerkung: Das Verfahren und dir Analyse funktionieren genauso für das gewichtete
MaxCut Problem, wenn die Kanten mit Gewichten wij P R` bewertet sind. Man
kann den Algorithmus derandomisieren, dabei bleibt der Approximationsfaktor erhalten.
84
Herunterladen