Approximationsalgorithmen
|
|
- Emilia Gärtner
- vor 6 Jahren
- Abrufe
Transkript
1 Jan Johannsen Vorlesung im Sommersemester 2007
2 Einordnung Algorithmik und Analyse von Algorithmen Komplexitätstheorie Analyse der Komplexität von Problemen Einteilung in Klassen ähnlicher Komplexität Untersuchung der Struktur der Klassen
3 Analyse von Algorithmen Analyse des Verbrauchs an Ressourcen Zeit Speicher... Abhängig von der Größe des Input Komplexität im worst case Asymptotische Analyse vernachlässigt konstante Faktoren endliche Anfangsstücke
4 Komplexität von Problemen Obere Schranken durch Angabe eines Algorithmus und dessen Analyse Untere Schranken durch Analyse des Problems Beweis, dass jeder effizientere Algorithmus versagt Beispiel: Sortieren HeapSort, MergeSort brauchen O(n log n) Vergleiche untere Schranke: Ω(n log n) Vergleiche Komplexität: Θ(n log n)
5 Problemtypen Problem: Erreichbarkeit Instanz: Graph G, Ecken s, t. Lösung: Weg von s nach t. Entscheidung: Gibt es einen Weg von s nach t? Suche: Finde einen Weg von s nach t. Optimierung: Finde einen kürzesten Weg von s nach t. Zählen: Bestimme die Anzahl der Wege von s nach t.
6 Optimierungsprobleme Eigenschaften: mehrere potentielle Lösungen zu jedem Input mit Kosten- / Nutzenmaß versehen gesucht: Lösung mit minimalen Kosten / maximalem Nutzen Beispiele: kürzeste Wege Travelling Salesperson Scheduling...
7 Approximation Viele Optimierungsprobleme sind NP-schwer effizienter Algorithmus nur, wenn P = NP nur exponentielle Algorithmen zur optimalen Lösung Deshalb: effizient liefern eine nicht notwendig optimale Lösung Abweichung vom Optimum a priori abzuschätzen
8 Approximierbarkeit NP-schwere Optimierungsprobleme unterscheiden sich bzgl. ihrer Approximierbarkeit: es gibt beliebig gute es gibt einer gewissen Güte, aber keine besseren. es gibt überhaupt keine guten Ziele: zur Untersuchung dieser Unterschiede
9 Übersicht von
10 Übersicht Komplexität von Entscheidungsproblemen Optimierungsprobleme Komplexität von Optimierungsproblemen Komplexität Optimierung Komplexität von Optimierungsproblemen von
11 Komplexitätsklassen Entscheidungsproblem ist gegeben durch: Menge von Instanzen I Teilmenge der positiven Instanzen Y I Beispiel: SAT I SAT = Formeln in KNF Y SAT = erfüllbare Formeln Komplexität Optimierung Komplexität von Optimierungsproblemen Formel in KNF Klausel Literal F = C 1... C m C = a 1... a k a = x oder a = x. Komplexitätsklassen P NP PSPACE EXP
12 NP als Verifikation von Lösungen Problem P ist in NP gdw. es gibt Menge W P, Problem Q P und Polynom q() mit I Q sind Paare (x, w) mit x I P, w W P und w q( x ) Komplexität Optimierung Komplexität von Optimierungsproblemen x I P : x Y P w W P : (x, w) Y Q Beispiel: SAT W SAT = Bewertung der Variablen (F, α) Y R gdw. α erfüllt F
13 Reduktion Funktion f reduziert P auf Q, wenn f : I P I Q in polynomieller Zeit berechenbar für alle x I P ist x Y P f (x) Y Q Komplexität Optimierung Komplexität von Optimierungsproblemen P m Q falls es eine Reduktion f von P auf Q gibt. Eigenschaft: Ist Q P und P m Q, dann auch P P.
14 Vollständigkeit Definition: Problem P ist NP-schwer, falls Q m P für alle Q NP. P ist NP-vollständig, falls Q NP und NP-schwer. Q NP-vollständig Q P gdw. P = NP Komplexität Optimierung Komplexität von Optimierungsproblemen Satz (Cook) SAT ist NP-vollständig. Problem 3-SAT : Jede Klausel C = a 1 a 2 a 3 Satz (Cook) 3-SAT ist NP-vollständig.
15 Lineare Problem ILP (Integer Linear Programming) Instanz: Frage: Menge I von linearen Ungleichungen über Z in Variablen z 1,..., z n Gibt es eine Lösung von I in Z d.h., Zuweisung von Werten z 1,..., z n Z so dass Ungleichungen I gelten. Komplexität Optimierung Komplexität von Optimierungsproblemen Satz ILP ist NP-vollständig. Problem LP: Wie ILP, aber gesucht sind Lösungen in Q. Im Gegensatz zum obigen Satz ist LP in P.
16 Graphenprobleme in NP Problem VC Instanz: Graph G = (V, E), k N Frage: Gibt es vertex cover U mit U k? Vertex cover: U V mit e U für alle e E. Komplexität Optimierung Komplexität von Optimierungsproblemen Problem Clique Instanz: Graph G = (V, E), k N Frage: Gibt es Clique U mit U k? Clique: U V mit {x, y} E für alle x, y U. Problem HC Instanz: Graph G = (V, E) Frage: Gibt es einen Hamilton-Kreis in G? Hamilton-Kreis: Kreis, der jedes v V genau einmal besucht.
17 NP-vollständige Graphenprobleme Offensichtlich: VC, Clique, HC sind in NP. Komplexität Optimierung Komplexität von Optimierungsproblemen Reduktionen (Karp) 3-SAT m VC VC m Clique VC m HC Also: VC, Clique, HC sind NP-vollständig.
18 Optimierungsprobleme Ein Optimierungsproblem ist gegeben durch: Menge I von Instanzen. Für jedes x I eine Menge S(x) von potentiellen Lösungen. Funktion m, die jedem (x, y) mit x I und y S(x) ein Maß m(x, y) zuordnet. Ziel goal {min, max}. Komplexität Optimierung Komplexität von Optimierungsproblemen Eine Lösung y S(x) heißt optimal, wenn m(x, y ) = m (x) := goal { m(x, y) ; y S(x) } S (x) := { y S(x) ; m(x, y ) = m (x) }
19 Beispiele Minimum Path Instanz: ungerichteter Graph G = (V, E), Ecken s, t Lösung: Weg von s nach t Maß: Länge des Weges Komplexität Optimierung Komplexität von Optimierungsproblemen Minimum Vertex Cover Instanz: ungerichteter Graph G = (V, E) Lösung: vertex cover U V Maß: U Maximum Clique Instanz: ungerichteter Graph G = (V, E) Lösung: Clique U V Maß: U
20 Problemvarianten Zu einem Optimierungsproblem P sind definiert: konstruktives Problem P C : Gegeben x I, finde y S (x). Auswertungsproblem P E : Gegeben x I, berechne m (x). Komplexität Optimierung Komplexität von Optimierungsproblemen Entscheidungsproblem P D : Gegeben x I und k N, ist goal(m (x), k) = m (x)? Beispiele: P = Minimum Vertex Cover P = Maximum Clique P D = VC. P D = Clique
21 Die Klassen NPO und PO Ein Optimierungsproblem ist in der Klasse NPO, falls 1. I ist in P. 2. für x I und y S(x) ist y q( x ) 3. für x, y mit y q( x ) ist die Frage y S(x)? in P 4. m ist in polynomieller Zeit berechenbar. Komplexität Optimierung Komplexität von Optimierungsproblemen Eigenschaft: P in NPO = P D in NP P NPO ist in der Klasse PO, falls das konstruktive Problem P C in polynomieller Zeit lösbar ist. Analog: P in PO = P D in P
22 Turing-Reduktion Eine Turing-Reduktion von P auf Q ist Algorithmus, der P löst benutzt Subroutine zur Lösung von Q Laufzeit des Algorithmus ohne Subroutine ist polynomiell Komplexität Optimierung Komplexität von Optimierungsproblemen P T Q falls eine Turing-Reduktion von P auf Q gibt. Eigenschaft: Ist Q P und P T Q, dann auch P P.
23 Relationen zwischen Problemvarianten Offensichtlich: P D T P E T P C Komplexität Optimierung Komplexität von Optimierungsproblemen Fakt Für alle Optimierungsprobleme P NPO ist P E T P D. Beweis: Da m(x, y) p( x ) für alle y S(x), ist m (x) < 2 p( x ) binäre Suche findet m (x) in Zeit O(p( x ).
24 Relationen zwischen Problemvarianten Beispiel Für P = Maximum Clique ist P C T P E. Für G = (V, E) definiere N(v) := { u V ; {u, v} E } G(v): induzierter Teilgraph auf {v} N(v) G (v): induzierter Teilgraph auf N(v) Komplexität Optimierung Komplexität von Optimierungsproblemen Algorithmus: MaxClique(G) k := Maximum Clique E (G) if k = 1 then return any v V finde v V mit Maximum Clique E (G(v)) = k return {v} MaxClique(G (v))
25 Relationen zwischen Problemvarianten Ob P C T P D allgemein gilt, ist unbekannt. Komplexität Optimierung Komplexität von Optimierungsproblemen Satz P C T P D gilt, falls P D NP-vollständig ist.
26 NP-schwere Optimierungsprobleme Definition Problem P in NPO ist NP-schwer, falls Q T P C für alle Q NP. Komplexität Optimierung Komplexität von Optimierungsproblemen Eigenschaft: P D NP-vollständig = P ist NP-schwer. P NP = PO NPO
27 Ein NP-schweres Problem Minimum Traveling Salesperson Instanz: n Städte c 1,..., c n, Distanzmatrix D N n n Lösung: Tour: Permutation c i1,..., c in der Städte Maß: n 1 Kosten D(i k, i k+1 ) + D(i n, i 1 ) k=1 Komplexität Optimierung Komplexität von Optimierungsproblemen Satz: Minimum Traveling Salesperson ist NP-schwer.
28 Übersicht von Greedy-Algorithmen Sequentielle Algorithmen Lokale Suche Lineare Dynamische Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische
29 Greedy-Algorithmen Geeignet, wenn Lösung Menge von Objekten Lösung wird schrittweise aufgebaut in jedem Schritt wird ein Element aufgenommen Greedy-Strategie: wähle in jedem Schritt so, dass Profit maximiert wird. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Liefert optimale Lösung, wenn Matroid-struktur In anderen Fällen: approximative Lösung.
30 Das Spannbaum-Problem Für G = (V, E) ist T E ein Spannbaum, wenn (V, T ) zusammenhängend und azyklisch ist. Minimum Spanning Tree Instanz: zusammenhängender Graph G = (V, E), Kantengewichte w : E N Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Lösung: Spannbaum T E Maß: Gesamtgewicht e T w(e)
31 Ein klassischer Greedy-Algorithmus Satz Minimum Spanning Tree ist in PO. Dies zeigt beispielsweise der Greedy-Algorithmus von Kruskal: Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische sortiere E = {e 1,..., e m } so dass w(e 1 ) w(e 2 )... w(e n ) T := for i = 1 to n do let e i = {x i, y i } if x i in T nicht mit y i verbunden then T := T {e i }
32 Das Rucksackproblem Maximum Knapsack Instanz: Menge X = {x 1,..., x n }, für jedes x i X : Gewicht a i N Wert p i N Kapazität b N Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Lösung: Teilmenge Y X mit x i Y a i b Maß: Gesamtwert x i Y p i
33 Greedy Algorithmus für Maximum Knapsack Algorithmus Greedy Knapsack: input X, p, a, b sortiere X so dass p 1 Y := for i := 1 to n do if a i b then Y := Y {x i } b := b a i return Y p 2 p n a 1 a 2 a n Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische
34 Analyse von Greedy Knapsack Satz Für jedes k N gibt es Instanzen von Maximum Knapsack mit: ist m Greedy der Wert der Lösung, die Greedy Knapsack findet, und m der optimale Wert, so gilt: m k m Greedy. Beweis: Betrachte die Instanz mit X = {x 1,..., x n+1 } p i = a i = 1 für i n a n+1 = b = kn + 1 p n+1 = b 1 Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Dann ist m = b 1 = kn, aber m Greedy = n.
35 Verbesserter Algorithmus für Maximum Knapsack Sei µ dasjenige i mit p i = max{p j, j n}. Algorithmus: Berechne Lösung Y mit Greedy Knapsack if m(y ) < p µ then Y := {x µ } return Y Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Sei m A (x) der Wert der vom Algorithmus berechneten Lösung. Dann gilt: m (x) < 2m A (x).
36 Greedy Algorithmus für Handlungsreisende Algorithmus Nearest Neighbor: Wähle c i1 beliebig Für 1 k n 1: wähle als c ik+1 ein c j / {c i1,..., c ik } mit D(c ik, c j ) minimal. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Minimum Metric Traveling Salesperson: Spezialfall von Minimum Traveling Salesperson, wo gilt: Symmetrie: D(i, j) = D(j, i) Dreiecksungleichung: D(i, j) D(i, k) + D(k, j)
37 Performance von Nearest Neighbor Lemma: Sei x eine Instanz von Minimum Metric Traveling Salesperson, und l : {c 1,..., c n } Q mit Dann gilt: D(i, j) min(l(c i ), l(c j )) l(c i ) 1 2 m (x) n l(c i ) 1 2 ( log n + 1)m (x). i=1 für alle c i c j für alle c i Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Sei m NN (x) die Länge der vom Algorithmus Nearest Neighbor gefundenen Tour. Dann gilt: m NN (x) 1 2 ( log n + 1) m (x).
38 Sequentielle Algorithmen Geeignet für Partitionierungsprobleme: Lösung ist Partition einer gegebenen Menge. Sequentieller Algorithmus: sortiert Menge X = {x 1,..., x n } baut Partition P sequentiell auf: P := { {x 1 } } for i := 2 to n falls x i zu einem p P zugefügt werden kann P := P \ { p } { p {x i } } sonst P := P { {x i } } Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische
39 Ein Scheduling-Problem Minimum Scheduling on Identical Machines Instanz: Menge T = {t 1,..., t n } von Aufträgen, für jedes t i T : Dauer l i N Anzahl p N von Prozessoren Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Lösung: schedule: Funktion f : T {1,..., p} Maß: makespan: max 1 i p f (t j )=i l j
40 List Scheduling Finish time: A i (j) := k j f (t k )=i Algorithmus List Scheduling: l k for j := 1 to n do assign t j to processor i with A i (j 1) minimal Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Für jede Instanz x findet List Scheduling eine Lösung mit makespan m LS (x), so dass m LS (x) (2 1 p ) m (x).
41 Verbesserter Algorithmus Regel LPT (largest processing time): Satz Sortiere T so dass l 1 l 2... l n, dann List Scheduling. Für jede Instanz x liefert LPT eine Lösung mit makespan m LPT (x) so dass Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische m LPT (x) ( p ) m (x).
42 Ein Packungsproblem Minimum Bin Packing Instanz: Multimenge {a 1,..., a n } Q mit 0 < a i 1. Lösung: Partition B 1,..., B k von A mit a i B j a i 1 für alle j. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Maß: Anzahl der Blöcke k
43 Einfacher sequentieller Algorithmus für Bin Packing Algorithmus Next Fit k := 1 ; B 1 := for i := 1 to n do if ΣB k + a i 1 then B k := B k {a i } else k := k + 1 ; B k := {a i } Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Für alle Instanzen x ist m Next Fit (x) 2m (x)
44 Etwas besserer Algorithmus Algorithmus First Fit k := 1 ; B 1 := for i := 1 to n do flag := true for j := 1 to k do if ΣB j + a i 1 and flag then B j := B j {a i } ; flag := false if flag then k := k + 1 ; B k := {a i } Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Für alle Instanzen x ist m First Fit (x) 1.7m (x) + 2
45 Verbesserung durch Sortieren Algorithmus First Fit Decreasing Satz Sortiere A so dass a 1 a 2... a n, dann wende First Fit an. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Für alle Instanzen x ist m FFD (x) 3 2 m (x) + 1. Optimale Schranke: m FFD (x) 11 9 m (x) + 4. Nachteil: Algorithmus ist offline, d.h. arbeitet erst, wenn gesamter Input gelesen.
46 Färbungen von Graphen Definition: Eine Färbung eines Graphen G = (V, E) ist χ : V {1,..., k} mit {u, v} E χ(u) χ(v). Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Minimum Coloring Instanz: ungerichteter Graph G = (V, E) Lösung: Färbung χ : V {1,..., k} Maß: k
47 Sequentielles Färben von Graphen for i := 1 to n χ(v i ) := min k / { χ(u) ; u N(v i ) {v 1,..., v i 1 } } Satz Sei k die Anzahl der Farben, die der sequentielle Algorithmus bei Reihenfolge v 1, v 2,..., v n verwendet. Dann ist Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische k max 1 i n min(deg v i, i 1). Reihenfolge, die dies minimiert: Decreasing Degree: deg v 1 deg v 2... deg v n.
48 Bessere Reihenfolge Smallest Last: v i hat minimalen Grad im induzierten Subgraphen auf {v 1... v i }. Satz Smallest Last färbt jeden planaren Graphen mit 6 Farben. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Beweis benutzt den Satz von Euler: In planaren Graphen G = (V, E) ist E 3 V 6.
49 Lokale Suche Anfangslösung Für jedes x I : y 0 (x) S(x) Nachbarschaftsstruktur Für jedes y S(x) N(x, y) S(x) Algorithmus Local Search y := y 0 (x) solange es y N(x, y) mit m(x, y ) besser als m(x, y) gibt setze y := y Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Probleme: Wie findet man bessere Nachbarlösungen effizient? Wie gut ist ein lokales Optimum?
50 Beispiel für Lokale Suche Problem Maximum Cut Instanz: Graph G = (V, E) Lösung: Partition V = V 0 V 1 mit V 0 V 1 = Maß: Anzahl der Kanten {x, y} mit x V 0 und y V 1. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Anfangslösung: (, V ) Nachbarn von (V 0, V 1 ): (V 0, V 1 ) mit V0 V 0 = 1 Satz Für ein lokales Maximum (V 0, V 1 ) in dieser Nachbarschaftsstruktur mit Maß m N gilt m N 1 2 m.
51 Lineare Ein lineares Programm ist Instanz des Optimierungsproblems: Linear Programming Instanz: A R m n, b R m, c R n Lösung: x R n mit Ax b und x 0 Maß: c T x Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Notation: minimize subject to c T x Ax b x 0
52 LP-Algorithmen Satz Linear Programming ist in PO. Algorithmen: Simplex (Dantzig, 1947) in der Praxis gut, aber im worst case exponentiell Ellipsoid-Methoide (Khachiyan, 1979) polynomiell, aber nicht praktisch anwendbar Interior-Point-Methode (Karmarkar, 1984) polynomiell, auch praktisch effizient Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische
53 Äquivalente Varianten des Problems Gleichungen und unbeschränkte Variablen minimize subject to nur Gleichungen minimize subject to c T x Ax b Ax = b x 1 0,..., x r 0 c T x Ax = b x 0 Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Maximierung maximize subject to c T x Ax b x 0
54 Runden der Lösung eines linearen Programms Integer Linear Programming ist NP-schwer viele Probleme in NPO darauf reduzierbar. Idee: Lockern der Anforderung ganzzahlig Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische lineares Programm effizient lösbar optimale rationale Lösung Runden liefert ganzzahlige Lösung nicht otwendig optimal, aber oft gute Approximation
55 Vertex Cover mittels LP Minimum Weighted Vertex Cover Instanz: Lösung: Maß: Lineares Programm P VC : ungerichteter Graph G = (V, E), Gewicht c i für v i V. vertex cover U V v i U c i Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische minimize subject to n i=1 c ix i x i + x j 1 für alle {v i, v j } E x i 0 Optimale Lösung x 1,..., x n vertex cover U := {v i ; x i 1 2 }. Satz Für das Maß m LP dieses vertex cover U gilt m LP 2m.
56 Dualität m t wird durch Lösung x mit c T x t bezeugt. Frage: Wie kann m t bezeugt werden? Beispiel: minimize 7x 1 + x 2 + 5x 3 subject to x 1 x 2 + 3x x 1 + 2x 2 x 3 6 x 1, x 2, x 3 0 Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Koeffizientenvergleich zeigt: m 10 7x 1 + x 2 + 5x 3 x 1 x 2 + 3x 3 10 Besser: m 16 7x 1 + x 2 + 5x 3 x 1 x 2 + 3x 3 + 5x 1 + 2x 2 x 3 16 duales Programm
57 Duales Programm Programm P Duales Pogramm D Ungleichung j a i,jx j b i Variable y i mit y i 0 Gleichung j a i,jx j = b i Variable y i Variable x j mit x j 0 Ungleichung i a i,jy i c j Variable x j Gleichung i a i,jy i c j minimize c T x maximize b T y Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Dualitätstheorem Für Programm P und duales D gilt P hat optimale Lösung gdw. D hat optimale Lösung. Ist x optimal für P und y für D, so ist c T x = b T y.
58 Complementary Slackness Condition Schwaches Dualitätstheorem Für Lösungen x für P und y für D gilt: c T x b T y Lösungen x für P und y für D sind optimal gdw. die folgenden Bedingungen gelten: Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Primary complementary slackness condition (CSC) x j = 0 oder a i,j y i = c j für alle j Dual complementary slackness condition (CSC): y i = 0 oder a i,j x j = b i für alle i i j
59 Primal-Dual-Schema Gegeben I ganzzahliges LP, sei D das duale Programm. Halte zwei Vektoren: x y potentielle Lösung für I Lösung für D, nicht notwendig optimal. x, y werden iterativ verbessert, bis x Lösung von I ist. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Dabei gilt stets die Primal CSC x j = 0 oder i a i,jy i = c j und eine abgeschwächte Dual CSC y i = 0 oder j a i,jx j α b i für alle j für alle i Algorithmus terminiert, wen x Lösung von I ist. Dann gilt: j c jx j = ( j i a ) i,jy i xj = i ( j a ) i,jx j yi α i b iy i αm
60 Primal-Dual Algorithmus für Vertex Cover Duales Programm D VC : maximize subject to {v i,v j } E j:{v i,v j } E y i,j 0 y i,j y i,j c i (C i ) Algorithmus: y := 0; U := while U not a vertex cover find {v i, v j } not covered increase y i,j until (C i ) or (C j ) tight if (C i ) is tight then U := U {v i } else U := U {v j } Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Der obige Algorithmus findet ein vertex cover mit Maß m PD derart dass m PD 2m.
61 Das Multicut-Problem Minimum Multicut Instanz: Lösung: Maß: ungerichteter Graph G = (V, E), Kapazität c e für e E, Menge {(s 1, t 1 ),..., (s k, t k )} V V mit s i t i. Schnitt C E mit: s i und t i in (V, E \ C) nicht verbunden e C c e Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Minimum Multicut ist NP-schwer. für Bäume der Höhe 1. Beweis: Reduktion von Vertex Cover.
62 Multicut in Bäumen Sei p i der eindeutige Pfad von s i nach t i in G Lineares Programm: minimize e E c ex e subject to e p i x e 1 für i = 1... k x e 0 Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Bemerke: Es gibt Lösungen, die besser sind als jeder Multicut.
63 Primal-Dual Algorithmus für Minimum Multicut Duales Programm: maximize i k y i subject to i:p i e y i c i für e E y i 0 Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Interpretation: y i ist Fluss von s i nach t i. Fall k = 1: Dualitätstheorem ^= Max Flow - Min Cut
64 Complementary slackness conditions Primäre CSC: x e 0 y i = c e für alle e E i:p i e d.h. nur Kanten ausgewählt, durch die maximaler Fluss geht. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Abgeschwächte duale CSC: y i 0 e p i x e 2 d.h. auf Pfad mit Fluss > 0 höchstens zwei Kanten ausgewählt.
65 Der Algorithmus Wähle ein v V als Wurzel sortiere V = {v 1,..., v n } absteigend nach Tiefe y := 0 C := für i := 1,..., n: für jedes j mit lca(s j, t j ) = v i finde e p j mit c e l y l minimal y j := c e l<i y l füge alle Kanten e zu C hinzu, für die jetzt l y l = c e Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische sei C = {e 1,..., e m } geordnet wie zugefügt für i := m,..., 1 falls C \ {e j } Multicut ist C := C \ {e j }
66 Analyse des Algorithmus Lemma: Sei (s i, t i ) mit y i > 0, und sei lca(s j, t j ) = v. Dann ist auf jedem der Pfade von s i zu v von v zu t i höchstens eine Kante in C. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Für den Wert m PD des gefundenen Multicut gilt m PD 2m.
67 Dynamische Zerlegung des Problems in kleinere, gleichartige Teilprobleme. Lösung ist zusammengesetzt aus den Lösungen der Teilprobleme. Aber: Teilprobleme sind nicht unabhängig, sondern haben ihrerseits gemeinsame Teilprobleme. rekursives Divide-and-Conquer-Verfahren löst dieselben Teilprobleme immer wieder. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Lösung: Rekursion mit Memoisierung, oder besser: Dynamische : Bottom-Up-Berechnung der Lösungen größerer Probleme aus denen kleinerer, die dabei in einer Tabelle gespeichert werden.
68 Beispiel: Matrizen-Kettenmultiplikation Problem: n Matrizen M 1,..., M n sollen multipliziert werden, wobei M i R n i n i+1 Aufwand hängt von der Klammerung ab. Bezeichne M i..j das Produkt M i M i+1... M j, und m[i, j] die minimale Zahl von Multiplikationen für M i..j. Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Optimale Klammerung von M 1..n ist M 1..k M k+1..n, für optimale Klammerungen von M 1..k und M k+1..n. Deshalb gilt: 0 falls i = j m[i, j] = min m[i, k] + m[k + 1, j] + n in k+1 n j+1 sonst. i k<j
69 Teilproblemstruktur von Knapsack Sei P := n i=1 p i und A := n i=1 a i Teilproblem Π(k, p) für k n und p P: Lösung: Ziel: M {x 1,... x k } mit x i M a i b und x i M p i = p minimiere x i M a i Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Definition M(k, p) optimale Löusung von Π(k, p) S(k, p) := x i M(k,p) a i
70 Dynamisches Programm für Knapsack for p := 0 to P S(1, p) := A + 1 M(1, 0) := ; S(1, 0) := 0; M(1, p 1 ) := {x 1 } ; S(1, p 1 ) := a 1 for k := 1 to n for p := 1 to P if p k p and M(k 1, p p k ) defined and S(k 1, p p k ) + a k b and S(k 1, p p k ) + a k S(k 1, p) then M(k, p) := M(k 1, p p k ) {x k } S(k, p) := S(k 1, p p k ) + a k else M(k, p) := M(k 1, p) S(k, p) := S(k 1, p) p := max{ p ; M(n, p) defined } return M(n, p ) Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische
71 Approximations-Schema für Knapsack Satz Das Dynamische Programm für Maximum Knapsack findet eine optimale Lösung in Zeit O(n P). Approximations-Schema: p max := max i p i t := log( r 1 r p max n ) Ersetze p i := p i 2 t für i = 1,..., n Wende das Dynamische Programm an Greedy Sequentielle Algorithmen Lokale Suche Lineare Dynamische Satz Das obige Schema findet bei Eingabe 1 < r Q in Zeit O(rn 3 /(r 1)) eine Lösung mit Maß m AS (r) so dass m AS (r) m /r.
72 Übersicht Absolute und relative Approximation Die Klasse APX Approximationsschemata von Absolute und relative Approximation Die Klasse APX Approximationsschemata
73 Absolute Approximation Sei P ein Optimierungsproblem, x I P und y S P (x). Definition: Absoluter Fehler D(x, y) := m (x) m(x, y) Ein Approximationsalgorithmus A heißt absolut, wenn D(x, A(x) k ist, für alle x und eine Konstante k. Absolute und relative Approximation Die Klasse APX Approximationsschemata Beispiel: Minimum Planar Graph Coloring Satz Falls P NP, gibt es keinen absoluten Approximationsalgorithmus für Maximum Knapsack.
74 Relative Approximation Definition: Performanz: ( m(x, y) R(x, y) := max m (x), m (x) ) m(x, y) Relativer Fehler: Absolute und relative Approximation Die Klasse APX Approximationsschemata E(x, y) := m (x) m(x, y) max(m (x), m(x, y)) = 1 1 R(x, y) Für r 1 ist ein r-approximationsalgorithmus ein Algorithmus A, der für jedes x I P ein A(x) S P (x) mit R(x, A(x)) r liefert. P heißt r-approximierbar, falls es einen r-approximationsalgorithmus für P gibt.
75 Die Klasse APX APX ist die Klasse aller Optimierungsprobleme P NPO, die r-approximierbar für ein r 1 sind. PO APX NPO APX enthält NP-schwere Probleme, z.b. Maximum Knapsack, also P NP = PO APX Absolute und relative Approximation Die Klasse APX Approximationsschemata Maximum SAT Instanz: CNF D 1... D m in Variablen x 1,..., x n Lösung: Bewertung α : {x 1,..., x n } {0, 1} Maß: Anzahl der erfüllten Klauseln #{i; α = D i } Maximum SAT APX.
76 Traveling Salespersons revisited Satz Minimum Traveling Salesperson / APX, außer wenn P = NP. Absolute und relative Approximation Die Klasse APX Approximationsschemata Also gilt: P NP = PO APX NPO
77 Euler-Tour Multigraph: Euler-Tour: kann parallele Kanten haben. geschlossener Weg, der jede Kante genau einmal durchläuft. Absolute und relative Approximation Die Klasse APX Approximationsschemata Satz (Euler) Es gibt eine Euler Tour gdw. für alle Knoten v deg v gerade ist. Euler-Tour kann in polynomieller Zeit berechnet werden.
78 TSP-Tour aus Euler-Tour Sei V = {c 1,..., c n } mit D R n n Instanz von Metric TSP Sei G = (V, E) Euler scher Graph auf V. Absolute und relative Approximation Die Klasse APX Approximationsschemata Lemma Aus Euler-Tour in G extrahiert man TSP-Tour π mit m(π) d(i, j) {c i,c j } E
79 Minimale Spannbäume Minimum Spanning Tree Instanz: Lösung: zusammenhängender Graph G = (V, E), Kantengewichte w : E N Spannbaum T E Absolute und relative Approximation Die Klasse APX Approximationsschemata Maß: Gesamtgewicht e T w(e) Satz Minimum Spanning Tree ist in PO.
80 Ein 2-Approximationsalgorithmus Berechne minimalen Spannbaum T verdoppele jede Kante in T berechne eine Euler-Tour in diesem Graphen extrahiere daraus eine TSP-Tour Absolute und relative Approximation Die Klasse APX Approximationsschemata Satz Für den Wert m A (x) der so gefundenen Tour gilt: m A (x) 2m (x) Korollar: Minimum Metric Traveling Salesperson APX
81 Matchings in gewichteten Graphen Matching in G = (V, E): Teilmenge M E mit e 1 e2 = für alle e 1, e 2 E Matching M ist perfekt, wenn M = V /2. Minimum Weight Perfect Matching Absolute und relative Approximation Die Klasse APX Approximationsschemata Instanz: Lösung: Graph G = (V, E), der ein perfektes Matching hat Kantengewichte w : E N Perfektes Matching M E Maß: Gesamtgewicht e M w(e) Satz Minimum Weight Perfect Matching ist in PO.
82 Christofides Algorithmus Berechne minimalen Spannbaum T sei U die Menge der Knoten mit ungeradem Grad in T berechne perfektes Matching M minimalen Gewichts auf U berechne eine Euler-Tour in T M extrahiere daraus eine TSP-Tour Absolute und relative Approximation Die Klasse APX Approximationsschemata Satz Für den Wert m C (x) der von Christofides Algorithmus gefundenen Tour gilt: m A (x) 3 2 m (x)
83 Approximationsschemata Ein Approximationsschema für P ist ein Algorithmus A mit Eingabe: x I P und 1 < r Q Ausgabe: A(x, r) S P (x) Performanz: R(x, A(x, r)) r Laufzeit: x O(1) Absolute und relative Approximation Die Klasse APX Approximationsschemata PTAS ist die Klasse aller Optimierungsprobleme in NPO, für die es ein Approximationsschema gibt. PO PTAS APX NPO PTAS enthält NP-schwere Probleme (z.b. Maximum Knapsack): P NP = PO PTAS
84 Beispiel: ein Approximationsschema Minimum Partition Instanz: Menge X = {x 1,..., x n } für x i X Gewicht a i N Lösung: Partition X = Y 1 Y 2 Maß: max( a i, a i ) x i Y 1 x i Y 2 Absolute und relative Approximation Die Klasse APX Approximationsschemata Approximationsschema: sortiere X so dass a 1 a 2... a n k := (2 r)/(r 1) finde eine optimale Partition Y 1 Y 2 = {x 1,..., x k } for j := k + 1 to n if Y 1 Y 2 then Y 1 := Y 1 {x j } else Y 2 := Y 2 {x j }
85 Ein Problem in PTAS Maximum Integer Knapsack Instanz: Menge X = {x 1,..., x n }, für jedes x i X : Gewicht a i N Wert p i N Kapazität b N Absolute und relative Approximation Die Klasse APX Approximationsschemata Lösung: Funktion c : X N mit x i Y c(x i )a i b Maß: Gesamtwert x i Y c(x i )p i
86 Approximationsschema für Integer Knapsack sortiere X so dass p 1 p 2... p n c := 0 δ := 1 (r 1) for all f with f (x i ) δ and f (x i )a i b k := max i f (x i ) > 0 Absolute und relative Approximation Die Klasse APX Approximationsschemata b k := b f (x i )a i sei x m {x k,..., x n } mit pm a m maximal f (x m ) := f (x m ) + b k a m if f (x i )p i c(x i )p i then c := f
87 APX versus PTAS Lückentechnik: Sei Q NP-vollständig und P NPO. Wenn es Funktionen f : I Q I P und c : I Q N in FP gibt mit m (f (x)) c(x) m (f (x)) c(x)(1 + G) für x Y Q für x N Q Absolute und relative Approximation Die Klasse APX Approximationsschemata für ein G > 0, dann ist P nicht r-approximierbar für r < 1 + G. Satz Falls P NP, dann ist Minimum Bin Packing nicht in PTAS. P NP = PO PTAS APX NPO
88 Volle Approximationsschemata Definition: Ein volles Approximationsschema für P ist ein Algorithmus A mit Eingabe: Ausgabe: Performanz: x I P und 1 < r Q A(x, r) S P (x) R(x, A(x, r)) r Laufzeit polynomiell in x und 1 r 1 Absolute und relative Approximation Die Klasse APX Approximationsschemata FPTAS ist die Klasse aller Optimierungsprobleme in NPO, für die es ein volles Approximationsschema gibt. PO FPTAS PTAS APX NPO FPTAS enthält NP-schwere Probleme (z.b. Maximum Knapsack): P NP = PO FPTAS
89 FPTAS vs. PTAS Definition: Ein Problem P NPO ist beschränkt, falls es ein Polynom p gibt mit: für alle x I P und y S P (x) ist m(x, y) p( x ). Satz Falls P NP, ist kein beschränktes NP-schweres Optimierungsproblem in FPTAS. Absolute und relative Approximation Die Klasse APX Approximationsschemata Es gibt NP-schwere, beschränkte Probleme in PTAS, z.b. Maximum Planar Independent Set: P NP = PO FPTAS PTAS APX NPO
90 Pseudopolynomielle Probleme Sei P NPO mit Zahlen als Bestandteil der Instanzen, für x I P sei max(x) das Maximum der Zahlen in x. P heißt pseudopolynomiell, wenn es einen Algorithmus A gibt, der P C in Zeit p( x, max(x)) löst. Absolute und relative Approximation Die Klasse APX Approximationsschemata Beispiel: Maximum Knapsack ist pseudopolynomiell. Proposition Sei P FPTAS, so daß für alle x I P und y S P (x) gilt: m(x, y) p( x, max(x)). Dann ist P pseudopolynomiell.
91 Stark NP-schwere Probleme Für P NPO und p Polynom ist Problem P p definiert durch: I P p := {x I P, max(x) p( x )} S P p (x) := S P (x) für x I P p m P p (x, y) := m P (x, y) für x I P p und y S P p (x) Absolute und relative Approximation Die Klasse APX Approximationsschemata P heißt stark NP-schwer, wenn P p NP-schwer ist. Proposition P NP = kein stark NP-schweres Problem ist pseudopolynomiell.
Approximationsklassen für Optimierungsprobleme
Approximationsklassen für Optimierungsprobleme Matthias Erbar 19. September 2007 Inhaltsverzeichnis 1 Einleitung 1 2 Approximationsalgorithmen mit garantierter Güte 2 2.1 Terminologie......................................
MehrApproximationsalgorithmen für NP-harte Optimierungsprobleme
Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante
MehrTheoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
MehrTheoretische Informatik 1
Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 7. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 07.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrProbleme aus NP und die polynomielle Reduktion
Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrDie Klasse NP und die polynomielle Reduktion
Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrApproximationsalgorithmen
Approximationsalgorithmen 1. Vorlesung Joachim Spoerhase Alexander Wolff Lehrstuhl für Informatik I Wintersemester 2017/18 Bücher zur Vorlesung Vijay V. Vazirani Approximation Algorithms Springer-Verlag
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrÜberblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP
Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick
MehrKap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien
Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009
Mehr3 Klassifikation wichtiger Optimierungsprobleme
3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i
MehrLösungen zur Vorlesung Berechenbarkeit und Komplexität
Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin
MehrGrundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann
Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch
MehrWie komme ich von hier zum Hauptbahnhof?
NP-Vollständigkeit Wie komme ich von hier zum Hauptbahnhof? P Wie komme ich von hier zum Hauptbahnhof? kann ich verwende für reduzieren auf Finde jemand, der den Weg kennt! Alternativ: Finde eine Stadtkarte!
MehrApproximation im Sinne der Analysis:
1 Approximation im Sinne der Analysis: Satz von Weierstrass: (1815-1897) Sei f eine stetige Funktion auf [a, b]. Dann gibt es zu jedem ε > 0 ein Polynom P ε mit: max x [a,b] f(x) P ε(x) < ε Numerische
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 NP-Vollständigkeit Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.
MehrKomplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekte mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrVorlesung Kombinatorische Optimierung (Wintersemester 2007/08)
1 Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08) Kapitel 5: NP-schwierige Probleme Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 21. Dezember 2007) Rucksack Problem
MehrNäherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier
Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 29. Januar 2013 Näherungsalgorithmen, Fernau, Universität Trier, WiSe 2012/13
MehrApproximationsalgorithmen. Approximation im Sinne der Analysis:
Approximationsalgorithmen Ulrich Pferschy 1 Approximationsalgorithmen Approximation im Sinne der Analysis: Satz von Weierstrass: (1815-1897) Sei f eine stetige Funktion auf [a, b]. Dann gibt es zu jedem
Mehr1 Einführung 2 1.1 Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT)... 2 1.2 Notationen und Definitionen... 7 1.3 Übungsaufgaben...
Vorwort v I Approximative Algorithmen 1 1 Einführung 2 1.1 Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT).... 2 1.2 Notationen und Definitionen... 7 1.3 Übungsaufgaben..... 18 2 DieKomplexitätsklassen
MehrEinführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.
Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit
MehrOptimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis
Optimierungsprobleme Instanz eines Optimierungsproblems zulässiger Bereich (meist implizit definiert) Zielfunktion Optimierungsrichtung opt {max, min} Optimierungsproblem Menge von Instanzen meist implizit
MehrTeil III. Komplexitätstheorie
Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein
MehrDer Branching-Operator B
Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte
MehrBerechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin
Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 11. Januar 2008 Wiederholung
MehrRandomisierte und Approximative Algorithmen. Prof. Dr. Heiko Röglin Institut für Informatik Universität Bonn
Randomisierte und Approximative Algorithmen Prof. Dr. Heiko Röglin Institut für Informatik Universität Bonn 22. Januar 2018 Inhaltsverzeichnis 1 Einleitung 4 2 Greedy-Algorithmen 6 2.1 Vertex Cover................................
MehrNP-vollständig - Was nun?
Kapitel 4 NP-vollständig - Was nun? Wurde von einem Problem gezeigt, dass es NP-vollständig ist, ist das Problem damit nicht gelöst oder aus der Welt geschafft. In der Praxis muss es trotzdem gelöst werden.
MehrTheorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.
Theorie der Informatik 19. Mai 2014 21. einige NP-vollständige Probleme Theorie der Informatik 21. einige NP-vollständige Probleme 21.1 Übersicht 21.2 Malte Helmert Gabriele Röger 21.3 Graphenprobleme
MehrKochrezept für NP-Vollständigkeitsbeweise
Kochrezept für NP-Vollständigkeitsbeweise Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 11. Januar 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrÜberblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching
Kap. 1.4: Minimum Weight Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 4. VO 6. November 2006 Überblick kurze Wiederholung: 1.2 Blüten-Schrumpf-Algorithmus für Perfektes Matching
Mehr3.6 Branch-and-Bound-Verfahren
36 Branch-and-Bound-Verfahren Die Branch-and-Bound -Methode beruht darauf, auf eine intelligente Weise alle zulässigen Lösungen eines kombinatorischen Optimierungsproblems aufzulisten und mit Hilfe von
MehrOptimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn
Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1 Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau
MehrApproximationsalgorithmen
Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert
MehrErfüllbarkeitsprobleme. Begriffe. Varianten von SAT
Erfüllbarkeitsprobleme SAT (satisfiability problem) Eingabe: Formel F in konjunktiver Form. Frage: Gibt es eine Belegung x der Variablen in F mit F(x)=1? Beispiel: Begriffe erfüllbar satisfiable: Eigenschaft
MehrNäherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier. Henning Fernau Universität Trier
Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Näherungsalgorithmen Gesamtübersicht Organisatorisches Einführung
MehrApproximation mit relativer Gütegarantie Überblick und einführende Beispiele
Approximation mit relativer Gütegarantie Überblick und einführende Beispiele Marvin Schiller 4. Oktober 2007. Einführung In diesem Essay geben wir einen Überblick über eine Auswahl von algorithmischen
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
Mehr2.6 Asymptotische Approximation: Min Binpacking
2.6 Asymptotische Approximation: Min Binpacking In diesem Abschnitt geht es die Erscheinung, dass manche Optimierungsprobleme Approximationsalgorithmen haben, die nur für Inputs x mit groÿem Wert m (x)
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrQuicksort ist ein Divide-and-Conquer-Verfahren.
. Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.
Mehr5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrWeitere NP-vollständige Probleme
Weitere NP-vollständige Probleme Wir betrachten nun folgende Reduktionskette und weisen dadurch nach, daß alle diese Probleme NP-hart sind (sie sind auch in NP und damit NP-vollständig). SAT p 3-SAT p
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
Mehr2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
MehrÜbungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr
MehrHeuristische Verfahren
Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.
MehrApproximationsschemata
Effiziente Algorithmen Aproximationsalgorithmen 312 Definition Approximationsschemata Sei A(ǫ) ein Approximationsalgorithmus mit einem Parameter ǫ. 1. A(ǫ) ist ein PTAS (polynomial time approximation scheme),
Mehrabgeschlossen unter,,,, R,
Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrDie dynamische Programmierung 1 / 51
Die dynamische Programmierung 1 / 51 Dynamische Programmierung - Das Ausgangsproblem P 0 wird in Teilprobleme P 1,..., P t aufgebrochen. - Die Teilprobleme werden dann, einer Schwierigkeitshierarchie entsprechend,
MehrKapitel 9: Lineare Programmierung Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrDank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrSkript: Exakte Exponentialzeit-Algorithmen
Departement Informatik Algorithmik für schwere Probleme Prof. Dr. Juraj Hromkovič Dr. Hans-Joachim Böckenhauer Dr. Richard Královič http://www.ita.inf.ethz.ch/alscpr17 Skript: Exakte Exponentialzeit-Algorithmen
MehrEinführung in Algorithmen und Komplexität
Einführung in Algorithmen und Komplexität SS2004 w u v High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 Was haben wir bisher gemacht? - Rechenmodell:
Mehr2. Optimierungsprobleme 6
6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen
MehrGraphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47
Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford
MehrKonjunktive Normalform
Konjunktive Normalform Eine Formel α in konjunktiver Normalform hat die Form α k 1 k 2... k r. Die Klauseln k 1,..., k r sind Disjunktionen von Literalen, also Disjunktionen von Variablen oder negierten
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen
Mehr12.4 Traveling Salesman Problem
96 KOMBINATORISCHE SUCHE.4 Traveling Salesman Problem Definition.3(TSP, Problem des Handlungsreisenden): Wir betrachten einen gerichteten, gewichteten Graphen G = (V,E) mit K : V R. K({u,v}) sind die Kosten
MehrWelche Probleme können Rechner (effizient) lösen? Die P = NP Frage. Ideen der Informatik Kurt Mehlhorn
Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage Ideen der Informatik Kurt Mehlhorn Gliederung Ziele von Theorie Gibt es Probleme, die man prinzipiell nicht mit einem Rechner lösen kann?
MehrDie Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P
Die Klassen Formale Grundlagen der Informatik 1 Kapitel 11 Frank Heitmann heitmann@informatik.uni-hamburg.de P := {L es gibt ein Polynom p und eine p(n)-zeitbeschränkte DTM A mit L(A) = L} = i 1 DTIME(n
MehrDefinition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.
3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls
MehrAlgorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke
Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Steve Göring 13.07.2012 1/18 Gliederung Einleitung Grundlagen Vertex-Cover-Problem Set-Cover-Problem Lösungsalgorithmen
MehrEinführung in Approximative Algorithmen und Parametrisierte Komplexität
Einführung in Approximative Algorithmen und Parametrisierte Komplexität Tobias Lieber 10. Dezember 2010 1 / 16 Grundlegendes Approximationsalgorithmen Parametrisierte Komplexität 2 / 16 Grundlegendes Definition
Mehr1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009
. Klausur zur Vorlesung Algorithmentechnik Wintersemester 8/9 Lösung! Beachten Sie: Bringen Sie den Aufkleber mit Ihrem Namen und Matrikelnummer auf diesem Deckblatt an und beschriften Sie jedes Aufgabenblatt
MehrKomplexitätstheorie Einführung und Überblick (Wiederholung)
Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00
MehrGraphalgorithmen Netzwerkalgorithmen. Laufzeit
Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{
MehrDas Problem des Handlungsreisenden
Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Mehr2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009
2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009 Lösung! Beachten Sie: Bringen Sie den Aufkleber mit Ihrem Namen und Matrikelnummer auf diesem Deckblatt an und beschriften Sie jedes
Mehr2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/ April 2007
2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/2007 12. April 2007 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber
MehrHamiltonsche Graphen
Hamiltonsche Graphen Definition 3.2. Es sei G = (V, E) ein Graph. Ein Weg, der jeden Knoten von G genau einmal enthält, heißt hamiltonscher Weg. Ein Kreis, der jeden Knoten von G genau einmal enthält,
MehrAlgo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
MehrDas Rucksackproblem. Definition Sprache Rucksack. Satz
Das Rucksackproblem Definition Sprache Rucksack Gegeben sind n Gegenstände mit Gewichten W = {w 1,...,w n } N und Profiten P = {p 1,...,p n } N. Seien ferner b, k N. RUCKSACK:= {(W, P, b, k) I [n] : i
MehrPolynomialzeit- Approximationsschema
Polynomialzeit- Approximationsschema 27.01.2012 Elisabeth Sommerauer, Nicholas Höllermeier Inhalt 1.NP-Vollständigkeit Was ist NP-Vollständigkeit? Die Klassen P und NP Entscheidungsproblem vs. Optimierungsproblem
MehrApproximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling
Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani
MehrToleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger
Toleranzbasierte Algorithmen für das Travelling Salesman Problem Gerold Jäger (Zusammenarbeit mit Jop Sibeyn, Boris Goldengorin) Institut für Informatik Martin-Luther-Universität Halle-Wittenberg gerold.jaeger@informatik.uni-halle.de
MehrAlgorithmen und Komplexität
Algorithmen und Komplexität Dynamische Programmierung Markus Ullrich Norbert Baum Fachbereich Informatik - IIb07 Hochschule Zittau/Görlitz 28. Mai 2009 1 / 29 Wie sieht es mit langen Ketten aus? A 1 A
MehrKlausur Algorithmen und Datenstrukturen II 29. Juli 2013
Technische Universität Braunschweig Sommersemester 2013 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen
Mehr4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
MehrDas Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering
Das Linear Ordering Problem Exakte Lösungsverfahren VO Algorithm Engineering für NP-schwierige Professor Dr. Petra Mutzel kombinatorische Lehrstuhl für Algorithm Engineering, LS11 Optimierungsprobleme
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!
MehrLösungen zu Kapitel 5
Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V
MehrScheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.
Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung
MehrLineare Programmierung
Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
Mehr11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME
Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE
MehrKap. 4.3: Das Dualitätstheorem der linearen Optimierung
Kap. 4.3: Das Dualitätstheorem der linearen Optimierung Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 18. VO A&D WS 08/09 18.12.2008 1 Literatur
Mehr