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