Methoden des Algorithmenentwurfs Kapitel 1: Einführung

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Christian Scheideler SS 2009
Christian Scheideler SS 2009
Christian Scheideler SS 2009
Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations-schemata
Knapsack & Bin Packing Sebastian Stober
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Verifizieren versus Berechnen
Algorithmen und Komplexität
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
1WS 06/07 Organisatorisches 1.Vorlesung am Montag, : 9-11 Uhr in Gebäude 106, Raum Podcasts: Probleme mit der Videoqualität sind behoben.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
Algorithmentheorie 7 – Bin Packing
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
Christian Schindelhauer
Minimum Spanning Tree: MST
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Chromatische Zahl.
Effiziente Algorithmen
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Geoinformation II (6. Semester)
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Überlagerungsgesetz - Uq – Uq –– uq ~m Uq –+ uq ~m V-105.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Analyse der Laufzeit von Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Gliederung der Vorlesung
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
 Präsentation transkript:

Methoden des Algorithmenentwurfs Kapitel 1: Einführung Christian Scheideler SS 2009 25.03.2017 Kapitel 1

Organisatorisches Leitung: Prof. Dr. Christian Scheideler Sprechstunde: Do, 16-17 Uhr Email: scheideler@upb.de Modulinformation: Modul II.2.1 Modelle und Algorithmen (MuA) V2+Ü1 3 ECTS Credits Zeit und Ort: Mi 16-18 Uhr, F0.530 Webseite: http://www.cs.upb.de/fachgebiete/fg-ti/lehre0/ss2009/methoden.html 25.03.2017 Kapitel 1

Organisatorisches Übungen: Übungsleitung: NN Mi 14-16 Uhr, F0.530, 14-tägig ab 29. April Übungszettel: Ausgabe: 14-tägig auf dieser Seite zum Übungstermin Abgabe: eine Woche danach in der Vorlesung Rückgabe: eine Woche danach in der Übung Schein: Einen Schein erhält, wer die Klausur am Ende des Semesters besteht. Bei Vorrechnen einer Aufgabe verbessert sich die Note um 0,3 Punkte. 25.03.2017 Kapitel 1

Organisatorisches Inhalt: Teil 1: Approximationsalgorithmen 1.1 Einführung [1w] 1.2 Approximation mit absoluter Güte [2w] 1.3 Approximation mit relativer Güte [2w] 1.4 Approximationsschemata [2w] 1.5 Lineare Optimierung und Approximationsalgorithmen [2w] 25.03.2017 Kapitel 1

Organisatorisches Teil 2: Online-Algorithmen 2.1 Deterministische Online-Algorithmen (Scheduling, Paging, selbstorganisierende Datenstrukturen) [3w] 2.2 Randomisierte Online-Algorithmen (Scheduling, Paging, selbstorganisierende Datenstrukturen, Lastbalancierung) [2-3w] 25.03.2017 Kapitel 1

Literatur Approximationsalgorithmen: Online-Algorithmen: Rolf Wanka. Approximationsalgorithmen: Eine Einführung Vieweg & Teubner Verlag, 2006. Klaus Jansen und Marian Margraf. Approximative Algorithmen und Nichtapproximierbarkeit. De Gruyter Verlag, 2008. Online-Algorithmen: Susanne Albers. Online- und Approximationsalgorithmen. Universität Freiburg, SS 2004. Verfügbar über WWW. Christian Scheideler. Universal Routing Strategies for Interconnection Networks. Springer Verlag, LNCS 1390, 2007. 25.03.2017 Kapitel 1

Kapitel 1.1: Einführung Inhalt: Einführung in P vs. NP Approximationsalgorithmen Beispiele Lastbalancierung Zentrumswahl Rucksackproblem 25.03.2017 Kapitel 1

P vs. NP Algorithmus: berechnet in endlicher Zeit aus einer Eingabe eine Ausgabe. zentrales Problem: möglichst effizienter Algorithmus (Zeit und Speicher) Algorithmus Eingabe Ausgabe 25.03.2017 Kapitel 1

P vs. NP Ein Algorithmus ist „schnell“, falls seine Laufzeit polynomiell in der Eingabegröße ist. Eingabegröße: Anzahl der Elemente der Eingabe (z.B. Sortierproblem, Graph) oder Anzahl Bits / Wörter, aus denen Eingabe besteht (Multiplikation großer Zahlen) Polynomiell: Laufzeit ist O(nk) für eine Konstante k bei Eingabegröße n. 25.03.2017 Kapitel 1

P vs. NP Laufzeitvergleiche: n 20 60 100 300 1000 5n n log n n2 n3 2n 500 1500 5000 n log n 86 354 665 2469 9966 n2 400 3 600 10 000 90 000 1 000 000 n3 8000 216 000 27 000 000 1 000 000 000 2n 1 048 576 19 Stellen 31 Stellen 91 Stellen 302 Stellen n! 82 Stellen 161 Stellen 623 Stellen unvorstellbar nn 27 Stellen 107 Stellen 201 Stellen 744 Stellen Unvorstellbar 25.03.2017 Kapitel 1

P vs. NP P: Klasse aller Entscheidungsprobleme (Anworten sind aus {Ja, Nein}), die in polynomieller Zeit entschieden werden können. Beispiele: Sortiertheit einer Folge, Auswer-tung eines Schaltkreises, Wortproblem für kontextfreie Sprachen, Lineare Optimierung,… 25.03.2017 Kapitel 1

P vs. NP NP: Klasse aller Entscheidungsprobleme (Anworten sind aus {Ja, Nein}), für die es für Eingaben mit Antwort Ja ein Zertifikat gibt, so dass die Antwort in polynomieller Zeit (in der Eingabegröße) verifiziert werden kann. Beispiele: Erfüllbarkeit einer Booleschen Formel, 3-Färbung von Graphen, Rucksackproblem,… 25.03.2017 Kapitel 1

P vs. NP 1.1 Beispiele für Probleme in NP: Clique = {(G,k) | G=(V,E) ist ein Graph, der einen vollständigen Teilgraphen aus mindestens k Knoten besitzt} IS = {(G,k) | G=(V,E) ist ein Graph, in dem es eine Knotenmenge U aus k Knoten gibt, so dass keine zwei Knoten in U durch eine Kante in G verbunden sind} Hamilton = {G | G=(V,E) ist ein Graph, der einen Hamilton-Kreis besitzt} (Ein Hamilton-Kreis ist ein Kreis in G, in dem jeder Knoten genau einmal besucht wird.) 25.03.2017 Kapitel 1

P vs. NP Offensichtlich ist P eine Teilmenge von NP. Die 1-Million-Dollar-Frage: Ist P=NP oder nicht? Antwort auf diese Frage scheint sehr schwer zu sein. Bisher nur Ergebnisse des Typs: “Das kann nicht in polynomieller Zeit gelöst werden, es sei denn, P=NP.” Klasse der NP-harten Probleme: sind nicht in P, es sei denn, P=NP. 25.03.2017 Kapitel 1

P vs. NP Zu Entscheidungsproblemen gibt es häufig entsprechende Optimierungsprobleme. Beispiele: Optimierungsvariante zu Clique: finde vollständigen Teilgraphen maximaler Größe. Optimierungsvariante zu IS: finde Knotenmenge maximaler Größe, in der kein Knotenpaar verbunden ist. Einsicht: Ist das Entscheidungsproblem nicht in P, dann ist auch die Optimierungsvariante nicht in polynomieller Zeit lösbar (und umgekehrt). 25.03.2017 Kapitel 1

P vs. NP 1.2 Definition: Ein kombinatorisches Optimierungs-problem P ist charakterisiert durch vier Komponenten: D: Menge der Eingaben S(I) für ein ID: Menge der zur Eingabe I zulässigen Lösungen Die Bewertungsfunktion f:S(I) IN ziel{min, max} 25.03.2017 Kapitel 1

P vs. NP Gesucht: eine zu ID zulässige Lösung sopt  S(I), so dass f(sopt) = ziel{ f(s) | s S(I)} f(s) ist der Wert der zulässigen Lösung s. Wir schreiben OPT(I) = f(sopt). Für viele komb. Optimierungsprobleme ist es schwer, OPT(I) exakt zu bestimmen. 25.03.2017 Kapitel 1

P vs. NP 1.3 Beispiel: Das Traveling Salesperson Problem (TSP) ist charakterisiert durch: D={(Kn,c) | Kn ist der vollständige Graph auf n Knoten, c:E IN sind die Kantengewichte} S((Kn,c)) = { C | C=(vi1,vi2,...,vin,vi1) ist ein Hamilton-Kreis} f(C) = c(vin, vi1) + Sj=1n-1 c(vij, vij+1) min 25.03.2017 Kapitel 1

P vs. NP 1.3 Beispiel: (b) Das Rucksackproblem ist charakterisiert durch: D={ (W,vol,p,B) | W={1,...,n}, vol:W IN, B  IN, p:W IN und für alle w  W gilt vol(w) ≤ B} W ist das Warenangebot, vol die Zuordnung von Volumina zu den Waren, p die Zuordnung von Werten und B die Kapazität des Rucksacks S((W,vol,p,B)) = {A  W | SwA vol(w) ≤ B} f(A) = SwA pw max 25.03.2017 Kapitel 1

Übersicht P vs. NP Approximationsalgorithmen Lastbalancierung Zentrumswahl Rucksackproblem 25.03.2017 Kapitel 1

Approximationsalgorithmen Die NP-Härte eines Entscheidungsproblems legt nahe, dass die Optimierungsvariante keinen effizienten Algorithmus besitzt. Man muss sich also mit Näherungslösungen zufrieden geben. 1.4 Definition: Sei P ein kombinatorisches Optimierungsproblem. Ein t(n)-Zeit-Approxi-mationsalgorithmus A berechnet zu Eingabe ID in Zeit t(|I|) eine Ausgabe sIA  S(I). Wir schreiben A(I) = f(sIA). 25.03.2017 Kapitel 1

Approximationsalgorithmen Wir wollen natürlich nach t(n)-Zeit-Approxi-mationsalgorithmen suchen, für die t(n) polynomiell in n ist und f(sIA) möglichst nah an OPT(I) ist. Ziele: Bestimme untere und obere Schranken für Approximationsgüte des Algorithmus Bestimme untere Schranken für die erreichbare Approximationsgüte des Problems Bestimme Heuristiken, die in der Praxis gut funktionieren ( Benchmarks) 25.03.2017 Kapitel 1

Übersicht P vs. NP Approximationsalgorithmen Lastbalancierung Zentrumswahl Rucksackproblem 25.03.2017 Kapitel 1

Lastbalancierung Eingabe: m identische Maschinen, n Jobs. Job i hat Laufzeit ti. Einschränkungen: Ein einmal ausgeführter Job muss bis zum Ende auf derselben Maschine ausgeführt werden. Jede Maschine kann höchstens einen Job gleichzeitig bearbeiten. 1.5 Definition: Sei J(i) die Teilmenge der Jobs, die Maschine i zugewiesen werden. Dann ist Li = jJ(i) tj die Last der Maschine i. 1.6 Definition: Der Makespan L ist die maximale Last einer Maschine, d.h. L = maxi Li Lastbalancierung: finde Zuweisung, die Makespan minimiert 25.03.2017 Kapitel 1

Lastbalancierung: List Scheduling List-Scheduling Algorithmus: Betrachte n Jobs in einer festen Reihenfolge Weise Job j der Maschine mit z.Zt. geringster Last zu List-Scheduling(m, n, (t1,…,tn)): for i:=1 to m do Li := 0; J(i):=; for j:=1 to n do i:=argmink Lk // wähle Maschine mit kleinster Last J(i):=J(i)  {j} // weise dieser Job i zu Li:=Li + tj return (J(1),…,J(m)) Laufzeit: O(n log m) mit Priority Queue 25.03.2017 Kapitel 1

Lastbalancierung: List Scheduling 1.7 Satz (Graham): List Scheduling ist 2-approximativ (d.h. für alle Eingaben I ist List-Scheduling(I)  2OPT(I) ).  vergleiche Güte des Algorithmus mit optimalem Makespan L* 1.8 Lemma: L* ≥ maxj tj Beweis: Eine Maschine muss den zeitintensivsten Job bearbeiten. 1.9 Lemma: L* ≥ (1/m) j tj Beweis: Die Gesamtlast ist j tj Eine der m Maschinen muss mindestens 1/m der Gesamtlast bekommen. 25.03.2017 Kapitel 1

Lastbalancierung: List Scheduling 1.10 Satz: List Scheduling ist 2-approximativ. Beweis: Betrache Maschine i mit höchster Last Li. Sei j der letzte Job in Maschine i. Da Job j Maschine i zugeordnet wurde, hatte i vorher die kleinste Last. Es gilt also Li – tj ≤ Lk für alle k. vor j nach j j Li - tj Li 25.03.2017 Kapitel 1

Lastbalancierung: List Scheduling Beweis (Forsetzung): Es gilt: Li-tj ≤ Lk für alle k{1,…,m} Daraus folgt: Li – tj ≤ (1/m) 1km Lk = (1/m) 1kn tk ≤ L* (Lemma 1.9) Also gilt wegen Lemma 1.8: Li = (Li-tj) + tj ≤ 2L* 25.03.2017 Kapitel 1

Lastbalancierung: List Scheduling Ist die Analyse scharf? Ja! Beispiel: m Maschinen, m(m-1) Jobs der Länge 1, ein Job der Länge m m=10 Makespan = 19 25.03.2017 Kapitel 1

Lastbalancierung: List Scheduling Ist die Analyse scharf? Ja! Beispiel: m Maschinen, m(m-1) Jobs der Länge 1, ein Job der Länge m m=10 Optimaler Makespan = 10 25.03.2017 Kapitel 1

Lastbalancierung: LPT Regel Longest Processing Time (LPT): Sortiere die n Jobs in absteigender Reihenfolge und führe dann den List Scheduling Algorithmus aus. LPT-List-Scheduling(m, n, (t1,…,tn)): sortiere Jobs, so dass t1≥t2≥…≥tn for i:=1 to m do Li := 0; J(i):=; for j:=1 to n do i:=argmink Lk J(i):=J(i)  {j} Li:=Li + tj return (J(1),…,J(m)) 25.03.2017 Kapitel 1

Lastbalancierung: LPT Regel Beobachtung: Wenn es höchstens m Jobs gibt, dann ist List Scheduling optimal. Beweis: Weise jedem Job eigene Maschine zu. 1.11 Lemma: Falls es mehr als m Jobs gibt, dann ist L*≥2tm+1. Beweis: Betrachte die ersten m+1 Jobs t1,…,tm+1 Da die ti’s absteigend sortiert sind, benötigt jeder dieser Jobs mindestens tm+1 Zeit. Bei m+1 Jobs muss eine Maschine mindestens zwei Jobs erhalten. 25.03.2017 Kapitel 1

Lastbalancierung: LPT Regel 1.12 Satz: Die LPT Regel liefert eine 3/2-Approximation. Beweis: Falls die Maschine i mit größter Last nur einen Job hat, ist LPT offensichtlich optimal. Sonst gilt für den letzten Job j auf Maschine i, dass j  m+1 und damit nach Lemma 1.11: Li = (Li – tj) + tj  L* + (1/2)L*  (3/2)L* Ist 3/2 scharf? Nein! 25.03.2017 Kapitel 1

Lastbalancierung: LPT Regel 1.13 Satz: (Graham): Die LPT Regel ist eine 4/3-Approximation. Beweis: aufwändig Satz 1.13 ist im Wesentlichen scharf. Beispiel: m Maschinen, n=2m+1 Jobs: jeweils 2 Jobs der Länge m+1,m+2,…,2m und ein Job der Länge m Vergleich zu OPT: Übung. 25.03.2017 Kapitel 1

Übersicht P vs. NP Approximationsalgorithmen Lastbalancierung Zentrumswahl Rucksackproblem 25.03.2017 Kapitel 1

Zentrumswahl-Problem Eingabe: Menge von n Orten s1,…,sn und eine Zahl kIN. Zentrumswahl-Problem: Wähle k Zentren C, so dass die maximale Distanz eines Ortes zum nächsten Zentrum minimal ist. k=4 : Zentrum 25.03.2017 Kapitel 1

Zentrumswahl-Problem Eingabe: Menge von n Orten s1,…,sn und eine Zahl kIN. Zentrumswahl-Problem: Wähle k Zentren C, so dass die maximale Distanz eines Ortes zum nächsten Zentrum minimal ist. Notation: dist(x,y) = Distanz zwischen x und y dist(si, C) = mincC dist(si,c) = Distanz von si zum nächsten Zentrum r(C) = maxi dist(si, C) = kleinster Überdeckungsradius Wir nehmen an, dist ist eine Metrik, d.h. dist(x,x) = 0 (Identität) dist(x,y) = dist(y,x) (Symmetrie) dist(x,y)  dist(x,z) + dist(z,y) (Dreiecksungleichung) 25.03.2017 Kapitel 1

Zentrumswahl-Problem Beispiel: jeder Ort ist ein Punkt im 2-dimensiona-len Euklidischen Raum, dist(x,y) = Euklidische Distanz k=4 : Zentrum 25.03.2017 Kapitel 1

Zentrumswahl: Greedy Algorithmus Greedy Algorithmus: Setze das erste Zentrum an der bestmöglichen Stelle für ein einzelnes Zentrum, füge dann Zentren hinzu, um den Überdeckungsradius möglichst stark zu verkleinern. Kann beliebig schlecht werden!! Beispiel: k=2 erstes Zentrum 25.03.2017 Kapitel 1

Zentrumswahl: Greedy Algorithmus Greedy Algorithmus: wähle wiederholt als näch-stes Zentrum den Ort si mit maximaler Distanz zu allen bisherigen Zentren Greedy-Center-Selection(k, n, (s1,s2,…,sn)): C:=; wiederhole k-mal wähle Ort si mit maximalem dist(si,C) C:=C  {si} return C Bemerkung: erstes Zentrum ist beliebiger Ort si 25.03.2017 Kapitel 1

Zentrumswahl: Greedy Algorithmus Bemerkung: Zentren in C sind mindestens r(C) entfernt voneinander Beweis: r(C) sinkt monoton, jeweils minimale paarweise Entfernung 1.14 Satz: Sei C* die optimale Wahl der Zentren. Dann ist r(C) ≤ 2r(C*). Beweis (durch Widerspruch): Angenommen, r(C*) < r(C)/2. Betrachte die Kreise mit Radius r(C)/2 um jedes ci C. Es muss genau ein cC* im Kreis von jedem ci geben (siehe Bemerkung und Annahme); wir nennen dieses Zentrum c*i Betrachte einen beliebigen Ort s und sei c*i sein nächstes Zentrum in C*. Es gilt: dist(s,C)  dist(s,ci)  dist(s,c*i) + dist(c*i,ci)  2r(C*) Also ist r(C)  2r(C*), ein Widerspruch zur Annahme 25.03.2017 Kapitel 1

Zentrumswahl Wir wissen: Der Greedy Algorithmus ergibt eine 2-Approximation. Gibt es auch Polynomialzeitalgorithmen mit Approximationsgüte 3/2? Oder 4/3? 1.15 Satz: Sofern nicht P=NP ist, gibt es keinen Polynomialzeitalgorithmus mit Approximationsgüte < 2 für die Zentrums-wahl (für k>2). 25.03.2017 Kapitel 1

Übersicht P vs. NP Approximationsalgorithmen Lastbalancierung Zentrumswahl Rucksackproblem 25.03.2017 Kapitel 1

Rucksack-Problem Rucksack-Problem: Gegeben sind n Objekte und ein Rucksack Objekt i hat Wert pi>0 und wiegt voli>0 Der Rucksack kann max. Gesamtgewicht B tragen. Ziel: fülle Rucksack mit Objekten mit max. Gesamtwert Beispiel: B=11 {3,4} hat Wert 40 Objekt Wert Gewicht 1 2 6 3 18 5 4 22 28 7 25.03.2017 Kapitel 1

RP: Greedy Verfahren Greedy Strategie: Berechne Profitdichten d1=p1/vol1,.., dn=pn/voln Sortiere Objekte nach Profitdichten Angefangen von dem Objekt mit höchster Profitdichte, füge Objekte zu Rucksack hinzu, bis kein Platz mehr da Problem: Greedy Strategie kann weit vom Optimum entfernt liegen 25.03.2017 Kapitel 1

RP: Greedy Verfahren Beispiel: zwei Objekte mit p1=1 und p2=B-1 und vol1=1 und vol2=B, Rucksackkapazität ist B Greedy-Methode: berechnet d1=1 und d2 = 1-1/B und wird nur Objekt 1 in Rucksack packen, da Objekt 2 nicht mehr passt Optimale Lösung: packe Objekt 2 in Ruck-sack (viel besser da Wert B-1 statt 1) 25.03.2017 Kapitel 1

RP: Greedy Verfahren Verbesserte Greedy-Methode: Seien die Objekte 1 bis n absteigend nach Profitdichte sortiert Bestimme maximale Objektmenge {1,…,i} wie bisher mit ji volj  B Gib entweder {1,…,i} oder {i+1} aus, je nachdem, welche Menge den maximalen Wert hat 25.03.2017 Kapitel 1

RP: Greedy Verfahren 1.16 Satz: Die Lösung der verbesserten Greedy-Methode ist höchstens einen Faktor 2 von der optimalen Lösung entfernt. Beweis: Wenn beliebige Bruchteile der Objekte gewählt werden könnten, wäre die optimale Lösung {1,…,i+1}, wobei von Objekt i+1 nur der Bruchteil genommen wird, der noch in den Rucksack passt. Für den optimalen Wert OPT gilt demnach: OPT  ji+1 volj. Also ist max{ji volj, voli+1}  OPT/2 25.03.2017 Kapitel 1

Fragen? 25.03.2017 Kapitel 1