Approximationsalgorithmen

Größe: px
Ab Seite anzeigen:

Download "Approximationsalgorithmen"

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 Approximationsklassen für Optimierungsprobleme Matthias Erbar 19. September 2007 Inhaltsverzeichnis 1 Einleitung 1 2 Approximationsalgorithmen mit garantierter Güte 2 2.1 Terminologie......................................

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen 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

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische 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

Mehr

Theoretische Informatik 1

Theoretische 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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme 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

Mehr

Die Klasse NP und die polynomielle Reduktion

Die 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

Mehr

Approximationsalgorithmen

Approximationsalgorithmen 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

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische 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

Ü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

Mehr

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

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

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 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

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lö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

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen 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

Mehr

Wie komme ich von hier zum Hauptbahnhof?

Wie 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!

Mehr

Approximation im Sinne der Analysis:

Approximation 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

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. 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,

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbä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

Mehr

Einführung in die Informatik 2

Einfü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.

Mehr

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Komplexitä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

Mehr

Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08)

Vorlesung 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

Mehr

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier

Nä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

Mehr

Approximationsalgorithmen. Approximation im Sinne der Analysis:

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

Mehr

1 Einführung 2 1.1 Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT)... 2 1.2 Notationen und Definitionen... 7 1.3 Übungsaufgaben...

1 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

Mehr

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Einfü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

Mehr

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

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

Mehr

Teil III. Komplexitätstheorie

Teil 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

Mehr

Der Branching-Operator B

Der 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

Mehr

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

Mehr

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

Mehr

NP-vollständig - Was nun?

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

Mehr

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Theorie 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

Mehr

Kochrezept für NP-Vollständigkeitsbeweise

Kochrezept 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

Ü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

Mehr

3.6 Branch-and-Bound-Verfahren

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

Mehr

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

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

Mehr

Approximationsalgorithmen

Approximationsalgorithmen 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

Mehr

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

Erfü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

Mehr

Nä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 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

Mehr

Approximation mit relativer Gütegarantie Überblick und einführende Beispiele

Approximation 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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

2.6 Asymptotische Approximation: Min Binpacking

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

Mehr

Programmiertechnik II

Programmiertechnik 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

Mehr

Quicksort ist ein Divide-and-Conquer-Verfahren.

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

Mehr

5.4 Das Rucksackproblem

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

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[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

Mehr

Die Komplexitätsklassen P und NP

Die 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

Mehr

Programmiertechnik II

Programmiertechnik 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

Mehr

Weitere NP-vollständige Probleme

Weitere 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

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Ferienkurs 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

Mehr

Babeș-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 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

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

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

Ü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

Mehr

Heuristische Verfahren

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

Mehr

Approximationsschemata

Approximationsschemata Effiziente Algorithmen Aproximationsalgorithmen 312 Definition Approximationsschemata Sei A(ǫ) ein Approximationsalgorithmus mit einem Parameter ǫ. 1. A(ǫ) ist ein PTAS (polynomial time approximation scheme),

Mehr

abgeschlossen unter,,,, R,

abgeschlossen 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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: 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

Mehr

Die dynamische Programmierung 1 / 51

Die 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,

Mehr

Kapitel 9: Lineare Programmierung Gliederung

Kapitel 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

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

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

Mehr

Skript: Exakte Exponentialzeit-Algorithmen

Skript: 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

Mehr

Einführung in Algorithmen und Komplexität

Einfü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:

Mehr

2. Optimierungsprobleme 6

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

Mehr

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Graphalgorithmen 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

Mehr

Konjunktive Normalform

Konjunktive 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

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

12.4 Traveling Salesman Problem

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

Mehr

Welche 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 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?

Mehr

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Die 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

Mehr

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition 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

Mehr

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

Mehr

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Einfü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

Mehr

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

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

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Komplexitä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

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: 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

Mehr

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Graphalgorithmen 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{

Mehr

Das Problem des Handlungsreisenden

Das 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

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Diskrete 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

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale 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

Mehr

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

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

Mehr

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/ April 2007

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

Mehr

Hamiltonsche Graphen

Hamiltonsche 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,

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&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

Mehr

Das Rucksackproblem. Definition Sprache Rucksack. Satz

Das 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

Mehr

Polynomialzeit- Approximationsschema

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

Mehr

Approximationsalgorithmen: 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 Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger

Toleranzbasierte 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

Mehr

Algorithmen und Komplexität

Algorithmen 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

Mehr

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Klausur 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

Mehr

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

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

Mehr

Satz 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,... 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

Mehr

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Das 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

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 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!

Mehr

Lösungen zu Kapitel 5

Lö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

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling 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

Mehr

Lineare Programmierung

Lineare 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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene 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

Mehr

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

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

Mehr

Kap. 4.3: Das Dualitätstheorem der linearen Optimierung

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