Vorlesung
Kombinatorische Optimierung (Wintersemester 2018/19)
Kapitel 5: NP-schwierige Probleme
Volker Kaibel
Otto-von-Guericke Universit¨at Magdeburg
(Version vom 17. Januar 2019)
Rucksack Problem
Problem 5.1 (0/1-Knapsack Problem)
Instanz: Gewichte g ∈Qn+, Gewichtsschranke G ∈Q+, Werte w ∈Qn+
Aufgabe: Finde I? ⊆[n]mit g(I?)≤G , so dass
w(I?) = max{w(I)|I ⊆[n],g(I)≤G} ist.
Problem des Handlungsreisenden
Problem 5.2 (Traveling Salesman Problem (TSP))
Instanz: Kantenl¨angen c ∈QEn des vollst¨andigen Graphen Kn= (Vn,En) auf n Knoten
Aufgabe: Finde Hamilton-Kreis H?⊆En mit
c(H?) = min{c(H)|H ⊆En Hamilton-Kreis}.
Maximale Schnitte
Problem 5.3 (Maximum Cut Problem)
Instanz: Graph G = (V,E) mit Kantengewichten c ∈QE Aufgabe: Finde S? ⊆V mit
c(δ(S?)) = max{c(δ(S))|S ⊆V}.
Quadratische 0/1-Optimierung
Problem 5.4 (Quadratische 0/1-Optimierung) Instanz: Kostenmatrix(cij)∈Qn×n
Aufgabe: Finde 0/1-Vektor x? ∈ {0,1}n mit
n
X
i,j=1
cijxi?xj? = min{
n
X
i,j=1
cijxixj|x∈ {0,1}n}.
Quadratisches Zuordnungsproblem
Problem 5.5 (Quadratic Assignment Problem (QAP)) Instanz: Zielfunktionskoeffizienten dijkl ∈Q(i,j,k,l ∈[n]) Aufgabe: Finde n×n Permutationsmatrix(xij?)∈ {0,1}n×n mit
n
X
i,j,k,l=1
dijklxij?xkl?
= min
n
X
i,j,k,l=1
dijklxijxkl
(xij)n×n Permut.-Matrix .
Cliquen und stabile Mengen
Definition 5.6
SeiG = (V,E) ein Graph. EineCliquein G ist eine KnotenteilmengeK ⊆V mit K2
⊆E. Eine stabile Mengein G ist eine KnotenmengeS ⊆V mit S2
∩E =∅.
Problem 5.7 (Maximum Clique Problem) Instanz: Graph G = (V,E)
Aufgabe: Finde Clique K ⊆V in G maximaler Kardinalit¨at.
Problem 5.8 (Maximum Stable Set Problem) Instanz: Graph G = (V,E)
Aufgabe: Finde stabile Menge S ⊆V maximaler Kardinalit¨at.
Bin Packing
Problem 5.9 (Bin-Packing Problem) Instanz: Zahlen a1, . . . ,an∈Q+
Aufgabe: Finde eine Abbildung f : [n]→[k]mit X
i:f(i)=j
ai ≤1 f¨ur alle j ∈[k],
so dass k minimal ist.
F¨ arbung von Graphen
Problem 5.10 (Graphenf¨arbungsproblem) Instanz: Graph G = (V,E)
Aufgabe: Finde eine Abbildung f :V →[k]mit f(v)6=f(w) f¨ur alle {v,w} ∈E, so dass k minimal ist.
Ausfallsichere Netzwerke
Problem 5.11 (Survivable Network Design Problem) Instanz: Graph G = (V,E), Kantenkosten c ∈QE+,
Zusammenhangsforderungen rs,t ∈Nf¨ur alle s,t ∈V Aufgabe: Finde eine Kantenteilmenge F? ⊆E , f¨ur die in G[F]
f¨ur jedes Paar s,t ∈V wenigstens rs,t paarweise kantendisjunkte s-t-Wege existieren, so dass c(F?) minimal ist.
Standortplanung
Problem 5.12 (Facility Location Problem)
Instanz: Endliche Mengen{1, . . . ,K} von Kunden und {1, . . . ,S} von m¨oglichen Standorten mit Fixkosten fi ∈Q+ f¨ur das ¨Offnen von Standort i und
Service-Kosten cij ∈Q+ f¨ur das Bedienen von Kunde j vom er¨offneten Standort i aus.
Aufgabe: Teilmenge X? ⊆[S]von zu ¨offnenden Standorten und Zuordnungσ: [K]→X?, so das
X
i∈X?
fi+ X
j∈[K]
cσ(j)j
minimal ist.
Maschinenbelegung
Problem 5.13 (Paralleles Maschinen-Scheduling:
Makespan-Minimierung)
Instanz: Dauern p∈Qn+ von n Jobs, Anzahl m∈N gleichartiger Maschinen
Aufgabe: Aufteilung f : [n]→[m]der Jobs auf die Maschinen, so dass
max{ X
i:f(i)=j
pi|j ∈[m]}
m¨oglichst klein ist.
Effiziente Algorithmen?
I F¨ur diese Optimierungsprobleme gilt: Entweder es gibt f¨ur jedes von ihnen oder f¨ur keines von ihnen einen Algorithmus mit polynomial beschr¨ankter Laufzeit.
I ”Polynomial beschr¨ankt” / ”polynomial”: Es gibt ein Polynom p, so dass die Laufzeit bei Eingabel¨ange n h¨ochstens p(n) ist.
I ”Eingabel¨ange” bezieht sich auf die L¨ange einer ¨ublichen Kodierung der Probleminstanzen ¨uber einem endlichen Alphabet (z. B. {0,1}oder {0,1,#}); Zahlen werden z.B.
bin¨ar kodiert.
I Derzeit ist unbekannt, ob es polynomiale Algorithmen f¨ur diese Probleme gibt; es wird f¨ur sehr unwahrscheinlich gehalten.
I F¨ur (fast) genauso unwahrscheinlich wird gehalten, dass es f¨ur eines dieser Probleme ein starkes Dualit¨atstheorem
(MinMax-Theorem) gibt.
=⇒Andere Methoden
Optimierungs- und Entscheidungsprobleme
I Entscheidungsproblem: Frage mit JA/NEIN Antwort
I Zu jedem Maximierungs- bzw. Minimierungsproblem geh¨ort ein Entscheidungsproblem:
”Gibt es eine L¨osung mit Zielfunktionswert mindestens bzw. h¨ochstensα?”
(α ist Teil der Eingabe).
I Beispiel: Gegeben c ∈QEn, α∈Q; hat Kn= (Vn,En) einen Hamilton-KreisH ⊆En mitc(H)≤α?
I Kann man ein (kombinatorisches) Optimierungsproblem mit einem AlgorithmusA (in polynomialer Zeit) l¨osen, so kann man auch das zugeh¨orige Entscheidungsproblem mit A(in polynomialer Zeit) l¨osen.
I Die Umkehrung gilt in der Regel auch (Bin¨arsuche nach Optimalwert).
Entscheidungsprobleme I
Problem 5.14 (Perfektes Matching Problem) Instanz: Graph G = (V,E)
Frage: Gibt es ein perfektes Matching in G ?
Problem 5.15 (Hamilton-Kreis Problem) Instanz: Graph G = (V,E)
Frage: Gibt es einen Hamilton-Kreis in G ?
Problem 5.16 (Graphenzusammenhangsproblem) Instanz: Graph G = (V,E)
Frage: Ist G zusammenh¨angend?
Entscheidungsprobleme II
Problem 5.17 (Primzahlproblem) Instanz: Zahl m∈N
Frage: Ist m eine Primzahl?
Problem 5.18 (Erf¨ullbarkeitsproblem (SAT))
Instanz: Boolesche Formel in konjunktiver Normalform Frage: Gibt es eine Belegung der Variablen mit Werten
”wahr” und ”falsch”, so dass die Formel den Wert
”wahr” ergibt?
(Beispiel: (x1∨x7∨x4)∧(x2∨x3)∧(x1∨x8))
Entscheidungsprobleme III
Problem 5.19 (LP-Zul¨assigkeit) Instanz: A∈Qm×n,b ∈Qm
Frage: Gibt es x ∈Qn mit Ax ≤b?
Problem 5.20 (IP-Zul¨assigkeit) Instanz: A∈Qm×n,b ∈Qm
Frage: Gibt es x ∈Zn mit Ax ≤b?
Die Komplexit¨ atsklassen EXP und NP
I Die Entscheidungsprobleme 5.14 bis 5.20 sowie die zu den Optimierungsproblemen 5.1 bis 5.13 geh¨orenden
Entscheidungsprobleme sind in der Klasse EXP aller
Entscheidungsprobleme, f¨ur die es eine Konstantek ∈Ngibt, so dass man sie in Zeit 2nk (bei Eingabel¨angen) l¨osen kann.
I Alle hier aufgelisteten Entscheidungsprobleme haben aber eine Besonderheit: Man kann, falls die Antwort ”JA” ist, dies in polynomialer Zeit mit Hilfe eines geeigneten Zertifikats beweisen. Solche Entscheidungsprobleme bilden die Klasse NP (”nondeterministic polynomial time”).
I Beispiele:
I Mit Hilfe eines Hamilton-KreisesH⊆E inG = (V,E) (als Zertifikat) kann man in polynomialer Zeit nachweisen, dassG einen Hamilton-Kreis hat.
I Mit Hilfe eines Hamilton-KreisesH⊆EninKn= (Vn,En) vom Gewichtw(H)≤α(als Zertifikat) kann man in polynomialer Zeit nachweisen, dassKn einen Hamilton-Kreis vom
w-Gewicht h¨ochstensαhat.
Die Komplexit¨ atsklasse coNP
I Die Klasse coNP enth¨alt alle Entscheidungsprobleme, f¨ur die man, falls die Antwort ”NEIN” ist, diese in polynomialer Zeit mit Hilfe eines geeigneten Zertifikats beweisen kann.
I Das Primzahlproblem ist offensichtlich in coNP: Ist m=pq (mit p,q ∈N), so kann man mit Hilfe des Zertifikats (p,q) in polynomialer Zeit (in log(m)) nachweisen, dass m keine Primzahl ist. (Dass das Primzahlproblem auch in NP und sogar in P ist, ist nicht so offensichtlich.)
Die Komplexit¨ atsklasse NP ∩ coNP
I NP∩coNP ist die Klasse der Probleme, die ”gute Charakterisierungen” im Sinne von Edmonds haben.
I Z. B. ist das Entscheidungsproblem
”Hat ein gegebener bipartiter Graph
G = (V ]W,E)mit |V|=|W|ein perfektes Matching?”
in NP∩coNP (es ist sogar in P):
I Ist die Antwort ”JA”, so kann man das mit Hilfe eines
perfekten MatchingsM⊆E als Zertifikat in polynomialer Zeit nachweisen.
I Ist die Antwort ”NEIN”, so kann man das mit Hilfe einer MengeX ⊆V mit|N(X)|<|X|als Zertifikat in polynomialer Zeit nachweisen.
Die Komplexit¨ atsklasse P
I Die Klasse P enth¨alt alle Entscheidungsprobleme, die in polynomialer Zeit gel¨ost werden k¨onnen.
I Es gilt: P⊆NP∩coNP (Wenn man die Antwort in
polynomialer Zeit finden kann, braucht man nicht einmal ein Zertifikat.)
I Die Entscheidungsprobleme ”Perfektes Matching”,
”Graphenzusammenhang”, ”Primalzahltest”,
”LP-Zul¨assigkeit” sind in P.
NP-Vollst¨ andigkeit
I Seien π1 undπ2 zwei Entscheidungsprobleme. π1 ist Karp-reduzierbar auf π2, wenn es einen polynomialen Algorithmus gibt, der aus jeder Instanz I1 f¨urπ1 eine Instanz I2 f¨ur π2 berechnet, so dass die Antwort aufI1 gleich der Antwort aufI2 ist.
I Ein Entscheidungsproblem π ist NP-vollst¨andig, wenn π ∈NP ist und jedes Entscheidungsproblem aus NP aufπ Karp-reduzierbar ist. Die Klasse der NP-vollst¨andigen Entscheidungsprobleme sei NPC.
I Es gilt:
NPC∩P6=∅ ⇒ P = NP
NPC∩coNP6=∅ ⇒ NP = coNP (Beides wird f¨ur sehr unwahrscheinlich gehalten.)
Optimierungsprobleme und NP/coNP
I Die Entscheidungsprobleme zu den Optimierungsproblemen 5.1 bis 5.13 sowie die Entscheidungsprobleme 5.15, 5.18 und 5.20 sind in NPC (Satz von Cook (1971): SAT ist in NPC)
I Insbesondere w¨urde ein polynomialer Algorithmus f¨ur eines von ihnen P = NP und die polynomiale L¨osbarkeit aller in diesem Kapitel angesprochenen Probleme implizieren.
I Außerdem: Gibt es f¨ur eins der Optimierungsprobleme 5.1 bis 5.13 f¨ur jede Instanz ein polynomial ¨uberpr¨ufbares Optimalit¨atszertifikat (z.B. auf Grund eines
MinMax-Theorems), so ist NP = coNP.
Verh¨ altnis von Komplexit¨ atsklassen
I Falls P6= NP ist, dann gilt NP\NPC6=∅.
I Es gilt
P⊆NP⊆PSPACE⊆EXPTIME⊆NEXPTIME⊆NEXPSPACE mit
P $ EXPTIME
NP $ NEXPTIME
PSPACE $ NEXPSPACE
Insbesondere gibt es Entscheidungsprobleme, die man in exponenzieller Zeit, aber nicht in polynomialer Zeit l¨osen kann; aber kein solches Problem in NP ist bekannt.
Die Welt ohne Komplexit¨ atstheorie
Aus: Garey, Johnson:Computers and Intractibility, Wiley 1979.
Die Welt im Fall P 6= NP
Aus: Garey, Johnson:Computers and Intractibility, Wiley 1979.
Die heutige Welt
Aus: Garey, Johnson:Computers and Intractibility, Wiley 1979.
Jack Edmonds
Exponenziell versus polynomial
(aus : J. Edmonds, ´Paths, trees, and flowers´, Canad. J. Mathematics 17 (1965),
(aus : J. Edmonds, ´A Glimpse of Heaven´)
Effiziente Algorithmen als mathematisches Problem
(aus : J. Edmonds, ´A Glimpse of Heaven´)
Zertifikate / Gute Charakterisierungen
(aus : J. Edmonds, ´A Glimpse of Heaven´)
Mathematischer Aufbau der Komplexit¨ atstheorie
I F¨ur Σ ={0,1}sei Σ? die Menge aller endlichen Folgen (W¨orter) x= (x1, . . . ,x`) (`∈N) von Elementen aus Σ. Die L¨ange des Wortes x = (x1, . . . ,x`) ist|x|:=`.
I Ein Entscheidungsproblem(Sprache) ist eine Teilmenge Π⊆Σ?.
I Beispiel Hamilton-Kreis Problem:
I Bilde die Menge aller Graphen mit einer Abbildung (Kodierung)κinjektiv in Σ? ab (z.B.: Beschr¨ankung auf GraphenG = ([n],E), Kodierung mittels Bin¨ardarstellung von Adjazenzlisten).
I Das Hamilton-Kreis Problem ist dann modelliert durch
ΠHamilton:={κ(G)|G = ([n],E) f¨ur einn,G hat Hamilton-Kreis}.
Algorithmen I
I Klassisches Modell: Turing-Maschine; hier etwas anderes Modell (f¨ur Komplexit¨atstheorie in unserem Sinne ¨aquivalent zur Turing-Maschine).
I Ein Algorithmus ist eine endliche Menge
A={(u1,u10), . . . ,(ur,ur0)} ⊆Σ?×Σ? von (geordneten) Paaren von W¨ortern.
I F¨urw ∈Σ? sei
i(w) := min({i ∈[r]|ui Teilwort von w} ∪ {0}).
I Falls i(w)6= 0, sei w0 das Wort, das aus w entsteht, wenn man das erste Teilwort ui(w) in w durch ui(w)0 ersetzt.
I F¨ur gegebenesw0 sei w0,w1, . . . die Folge mitwk+1 =wk0, die bei wk abbricht, wenn i(wk) = 0 ist. Der Algorithmus akzeptiert w0, wenn w0,w1, . . . endlich ist (also irgendwann abbricht).
Algorithmen II
I Die vom Algorithmus Aakzeptierte Sprache ist LA={w ∈Σ?|Aakzeptiert w}.
I Der Algorithmus A l¨ostdas Entscheidungsproblem Π⊆Σ? in polynomialer Zeit, wenn LA = Π ist und Konstanten
C,k ∈ {1,2, . . .} existieren, so dass f¨ur jedes w ∈Π die von A mitw0 =w erzeugte Folge h¨ochstens C · |w|k Glieder hat.
I Man kann argumentieren, dass dieses Algorithmenmodell (bis auf polynomiale Laufzeitfaktoren) genau so m¨achtig ist wie
”reale Computer” (mit beliebig großem Speicher).
Komplexit¨ atsklassen
I Die Klasse P ist die Menge alle Π⊆Σ?, f¨ur die ein Algorithmus Aexistiert, der Π in polynomialer Zeit l¨ost.
I Die Klasse NP ist die Menge aller Π⊆Σ?, f¨ur die ein Π0 ∈P und Konstanten C,k ∈ {1,2, . . .}existieren, so dass f¨ur jedes w ∈Σ? gilt:
w ∈Π⇐⇒ ∃z ∈Σ?:|z|=C · |w|k,wz ∈Π0.
I Die Klasse coNP ist die Menge aller Π⊆Σ?, f¨ur die ein Π0 ∈P und KonstantenC,k ∈ {1,2, . . .} existieren, so dass f¨ur jedes w ∈Σ? gilt:
w 6∈Π⇐⇒ ∃z ∈Σ? :|z|=C · |w|k,wz ∈Π0 (d.h. Σ?\Π∈NP).