• Keine Ergebnisse gefunden

Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)

N/A
N/A
Protected

Academic year: 2022

Aktie "Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)"

Copied!
35
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung

Kombinatorische Optimierung (Wintersemester 2018/19)

Kapitel 5: NP-schwierige Probleme

Volker Kaibel

Otto-von-Guericke Universit¨at Magdeburg

(Version vom 17. Januar 2019)

(2)

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.

(3)

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}.

(4)

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}.

(5)

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}.

(6)

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 .

(7)

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.

(8)

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.

(9)

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.

(10)

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.

(11)

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.

(12)

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.

(13)

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

(14)

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).

(15)

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?

(16)

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))

(17)

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?

(18)

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-KreisesHE inG = (V,E) (als Zertifikat) kann man in polynomialer Zeit nachweisen, dassG einen Hamilton-Kreis hat.

I Mit Hilfe eines Hamilton-KreisesHEninKn= (Vn,En) vom Gewichtw(H)α(als Zertifikat) kann man in polynomialer Zeit nachweisen, dassKn einen Hamilton-Kreis vom

w-Gewicht h¨ochstensαhat.

(19)

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.)

(20)

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 MatchingsME 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.

(21)

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.

(22)

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.)

(23)

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.

(24)

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.

(25)

Die Welt ohne Komplexit¨ atstheorie

Aus: Garey, Johnson:Computers and Intractibility, Wiley 1979.

(26)

Die Welt im Fall P 6= NP

Aus: Garey, Johnson:Computers and Intractibility, Wiley 1979.

(27)

Die heutige Welt

Aus: Garey, Johnson:Computers and Intractibility, Wiley 1979.

(28)

Jack Edmonds

(29)

Exponenziell versus polynomial

(aus : J. Edmonds, ´Paths, trees, and flowers´, Canad. J. Mathematics 17 (1965),

(aus : J. Edmonds, ´A Glimpse of Heaven´)

(30)

Effiziente Algorithmen als mathematisches Problem

(aus : J. Edmonds, ´A Glimpse of Heaven´)

(31)

Zertifikate / Gute Charakterisierungen

(aus : J. Edmonds, ´A Glimpse of Heaven´)

(32)

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}.

(33)

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).

(34)

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).

(35)

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).

Referenzen

ÄHNLICHE DOKUMENTE

Es gibt einen Algorithmus, der f¨ ur mittels Adjazenzliste gegebenes D in O(|V | + |A|) Zeit eine topologische Sortierung von D berechnet oder feststellt, dass D einen Kreis hat...

November 2018, 11:00 Uhr, in die gekennzeichneten Briefk¨ asten hinter Raum PK 4.3. Sie ben¨ otigen mindestens 50% der Hausaufgabenpunkte f¨ ur

Arbeiten Sie daher direkt mit der Definition von Θ(g(n)) und verwenden Sie keine der unbewiesenen Bemerkungen.).. Abgabe der Hausaufgaben bis Donnerstag,

Daher beschließt er diesen jeden Tag mindestens einmal zu ¨ uben, jedoch h¨ ochstens 12 Mal in einer Woche, um seine Kr¨ afte einzuteilen. Zeigen Sie, dass es einen

• Die Anzahl der Elemente, welche in genau einer der Mengen enthalten sind, ist doppelt so groß wie die Anzahl der Elemente, die im Durchschnitt von genau zwei der Mengen

Dezember 2018, 11:00 Uhr, in die gekennzeichneten Briefk¨ asten hinter Raum PK 4.3. Sie ben¨ otigen mindestens 50% der Hausaufgabenpunkte f¨ ur

Januar 2019, 11:00 Uhr, in die gekennzeichneten Briefk¨ asten hinter Raum PK 4.3. Sie ben¨ otigen mindestens 50% der Hausaufgabenpunkte f¨ ur

Teilen Sie das Integral in sinnvolle Abschnitte um die Nullstellen von