5.4 Das Rucksackproblem
|
|
- Kristin Rothbauer
- vor 7 Jahren
- Abrufe
Transkript
1 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 b, so dass der Gesamtnutzen maximiert wird. (Wird gleich noch formalisiert.) Wir betrachten zwei Problemvarianten: 1 Rucksackproblem mit Wiederholungen. (Von jedem Objekt sind beliebig viele Kopien vorhanden.) Rucksackproblem. (Jedes Objekt ist genau einmal vorhanden.) Im Gegensatz zum fraktionalen Rucksackproblem (Kap. 3.1) ist es hier nicht erlaubt, Objekte zu teilen. Der Lösungsvektor (x 1,..., x n ) muss also ganzzahlig sein. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
2 Mit Wiederholungen Das Rucksackproblem mit Wiederholungen Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Wähle x 1,..., x n N mit x i a i b, 1 i n 1 i n x i c i möglichst groß. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
3 Mit Wiederholungen Ansatz: Dynamische Programmierung. Identifizierung von nützlichen Teilproblemen: Für d = 0,..., b sei w(d) := maximaler erreichbarer Nutzenwert für Volumen a 1,..., a n, Nutzenwerte c 1,..., c n, und Rucksackgröße d. Klar: w(0) = 0. Bellman sche Optimalitätsgleichungen: w(d) = { 0, d = 0 max ({c i + w(d a i ) 1 i n, a i d} {0}), sonst. Laufzeit: O(n b). (Für jedes d, 1 d b, muss ein Maximum über n + 1 Werte gebildet werden.) FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
4 Mit Wiederholungen Interessant: Wie berechnet man den Lösungsvektor x 1,..., x n? Dafür legen wir ein Array I [0..b] an. I [d] gibt ein i {1,..., n} an, welches c i + w(d a i ) maximiert. (Wenn kein solches Objekt existiert, setzen wir I [d] 0.) Wir nutzen den folgenden Algorithmus zur Berechnung des Lösungsvektors: 1 Initialisiere ein Array X [1..n] mit 0 en 2 d := b 3 while d > 0 do 4 X [I [d]]++ 5 d := d a I [d] Ausgabe: X [1..n]. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
5 Mit Wiederholungen Beispiel: b = 10: i a i c i d w(d) I [d] Rekonstruierte Bepackung: x 1 = 1, x 2 = 0, x 3 = 0, x 4 = 2. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
6 Mit Wiederholungen Resultat Satz Das Rucksackproblem mit Wiederholungen (mit Ausgabe einer optimalen Lösung) ist in Zeit O(n b) und Platz O(b) lösbar. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
7 0-1-Variante Das 0-1-Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Ausgabe: I {1,..., n} derart, dass i I a i b und i I c i möglichst groß. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
8 0-1-Variante Ansatz: Dynamische Programmierung. Identifizierung von nützlichen Teilproblemen: Für 1 k n und 0 v b definieren wir { m(k, v) := max c i I {1,..., k} i I i I a i v }. Das Teilproblem P(k, v) besteht darin, ein I {1,..., k} mit i I a i v zu finden, das i I c i maximiert. Wir suchen also nach einer Auswahl, die nur Objekte Nummer 1,..., k benutzt, eine modifizierte Gewichtsschranke v einhält, und den Nutzen maximiert. Trivial: m(0, v) = 0 für alle v. P(n, b) ist das Gesamtproblem. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
9 0-1-Variante Eigenschaft Optimale Substruktur : Sei I optimale Lösung für P(k, v), d. h.: m(k, v) = i I c i, I {1,..., k}, i I a i v. Dann tritt einer der folgenden Fälle ein. 1. Fall: k I. Dann ist I {k} optimale Lösung für P(k 1, v a k ), d. h.: m(k, v) c k = i I {k} c i = m(k 1, v a k ). 2. Fall: k I. Dann ist I optimale Lösung für P(k 1, v), d. h.: m(k, v) = m(k 1, v). FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
10 0-1-Variante Beweis: Indirekt. 1. Fall: k I. Annahme: I {k} nicht optimal für P(k 1, v a k ). Dann gäbe es eine bessere Teilmenge J {1,..., k 1} mit i J a i v a k und i J c i > i I {k} c i. Dann wäre aber J {k} eine bessere Lösung für P(k, v) als I, Widerspruch. 2. Fall: k I. Annahme: I nicht optimal für P(k 1, v). Dann gäbe es eine bessere Teilmenge J {1,..., k 1}. Dann wäre aber J auch besser als I für P(k, v), Widerspruch. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
11 0-1-Variante Die optimale Lösung für P(k, v) enthält also eine optimale Lösung für P(k 1, v ) für ein v v. Eigenschaft Optimale Substruktur! Bellman sche Optimalitätsgleichungen: m(k 1, v a k ) + c k, falls v a k und diese Summe m(k, v) = größer als m(k 1, v) ist; m(k 1, v), sonst. für 1 k n, 0 v b; m(0, v) = 0, für 0 v b. In diesem Fall ist k Element jeder optimalen Lösung von P(k, v). Wir berechnen alle m(k, v) mittels einer iterativen Prozedur. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
12 0-1-Variante Algorithmus DP-Zero-One-Knapsack(a 1,..., a n, c 1,..., c n, b) Eingabe: a 1,..., a n : Volumina; c 1,..., c n : Nutzenwerte; b: Schranke Ausgabe: I {1,..., n}: Optimale legale Auswahl. Datenstrukturen: m[0..n,0..b]: integer; (1) for v from 0 to b do m[0,v] 0; (2) for k from 1 to n do (3) for v from 0 to b do (4) if v a k 0 (5) then s m[k 1,v a k ] + c k else s 0; (6) if s > m[k 1,v] (7) then m[k,v] s; (8) else m[k,v] m[k 1,v]; ( Konstruktion der optimalen Menge: ) (9) I ; r m[n,b]; (10) for k from n downto 1 do (11) if m[k 1,r a k ] + c k > m[k 1,r] (12) then r r a k ; I I {k}; (13) return I. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
13 0-1-Variante Korrektheit des ermittelten Wertes m[n,b] ergibt sich aus den Bellman schen Optimalitätsgleichungen durch Induktion über k. Korrektheit der ausgegebenen Menge I folgt aus der obigen Überlegung, dass die Bedingung m(k 1, v a k ) + c k > m(k 1, v) entscheidend ist für die Frage, ob k in der optimalen Lösung von P(k, v) enthalten ist oder nicht, und mit Induktion. Laufzeit des Algorithmus: O(n b). FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
14 0-1-Variante Beispiel: b = 6: i a i c i m[k, v]: v: k = FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
15 0-1-Variante Ablesen von I aus dem Array m[0..n,0..b]: Benutze m(k 1, v a k ) + c k > m[k 1, v] als Kriterium. (Eingerahmte Einträge der Tabelle.) m[4, 6] = 11 > 8 = m[3, 6], also I := {4}, v := 6-1 = 5 m[3, 5] = 6 6 = m[2, 5], m[2, 5] = 6 > 4 = m[1, 5], also I := I {2}, v := 5-4 = 1 m[1, 1] = 0 0 = m[0, 1]. Resultat: Optimale Menge ist I = {2, 4}. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
16 0-1-Variante Man kann auf die Speicherung des gesamten Arrays m verzichten. Man hält immer nur die letzte Zeile, und aktualisiert die Einträge von rechts nach links. (Rechts vom Arbeitspunkt v: Einträge m(k, v ), links davon: Einträge m(k 1, v ).) Eine Bitmatrix b[1..n,0..b] führt mit, ob Objekt k für eine optimale Bepackung notwendig ist oder nicht. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
17 0-1-Variante Algorithmus DP-Zero-One-Knapsack(a 1,..., a n, c 1,..., c n, b) Eingabe: a 1,..., a n : Volumina; c 1,..., c n : Nutzenwerte; b: Schranke Ausgabe: I {1,..., n}: Optimale legale Auswahl. Datenstrukturen: m[0..b]: integer; b[1..n,0..b]: Boolean; (1) for v from 0 to b do m[v] 0; (2) for k from 1 to n do (3) for v from b downto 0 do (4) if v a k 0 then s m[v a k ] + c k else s 0; (5) if s > m[v] (6) then m[v] s; b[k,v] 1; (7) else b[k,v] 0; ( Konstruktion der optimalen Menge: ) (8) I ; r m[b]; (9) for k from n downto 1 do (10) if b[k,r] = 1 then (11) r r a k ; I I {k}; (12) return I. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
18 0-1-Variante Resultat Satz Das 0-1-Rucksackproblem (mit Ausgabe der optimalen Lösung) ist in Zeit O(nb) lösbar. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
19 0-1-Variante Wie gut sind diese beiden Algorithmen? Die Größe, nicht die Bitlänge der Gewichtsschranke b geht in die Laufzeit ein. Wir nennen Algorithmen mit einer Laufzeit O(p(n, B)), wo n die (strukturelle) Größe der Eingabe und B eine obere Schranke für einige oder alle Zahlenkomponenten der Eingabe, und p ein Polynom in zwei Variablen ist, pseudopolynomiell. Die Existenz eines pseudopolynomiellen Algorithmus für das Rucksackproblem widerspricht nicht der Tatsache, dass das 0-1-Rucksackproblem wahrscheinlich keinen Polynomialzeitalgorithmus hat (nächstes Semester: NP-Vollständigkeit!): Die natürliche Eingabegröße berücksichtigt log b und nicht b. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
20 TSP 5.5. Traveling Salesperson 1 Eingabe: Vollständiger, gerichteter Graph mit Kantengewichten a i,j 0. (Also eine Matrix ((a i,j )) 1 i,j n.) Gesucht: Eine günstigste Rundreise, bei der jede Stadt (also jeder Knoten) genau einmal besucht wird und zum Startpunkt zurückgekehrt wird. Formal: Gesucht ist eine Permutation π von {1,..., n}, so dass c(π) = 2 i n a π(i 1),π(i) + a π(n),π(1) minimal unter allen möglichen Permutationen. 1 Das Problem, was ihr beim Sommerfest 2012 lösen solltet! FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
21 TSP Ein Beispiel A B E C 2 2 D 4 Kürzeste Tour: (A, B, E, C, D, A) mit Länge 10. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
22 TSP Klar: Wir können den Anfangspunkt fest wählen. (Hier: Tour startet im Knoten 1.) Naiver Ansatz: Probiere alle (n 1)! mögliche Rundtouren aus. Wir entwickeln einen sehr viel besseren Algorithmus, basierend auf Dynamischer Programmierung. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
23 TSP Zentrale Frage: Wie sehen sinnvolle Teilprobleme aus? Wir betrachten P(S, l) mit S {1,..., n}, 1 l n, wobei 1, l S. P(S, l) fragt nach dem kürzesten, einfachen Weg von 1 durch alle Knoten in S mit Ende l. Basisfälle: P({1}, 1) = 0, P(S, 1) = für S > 1. Am Ende: Länge einer kürzesten Rundtour: min(p({1,..., n}, l) + a l,1 1 l n). FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
24 TSP Für S > 1 gilt: P(S, j) = min(p(s {j}, i) + a i,j i S {j}). Iterativ programmiert sieht der Algorithmus wie folgt aus: 1 P({1}, 1) 0 2 for s 2 to n do 3 foreach S {1, 2,..., n} with S = s and 1 S do 4 P(S, 1) 5 foreach j S, j 1 do 6 P(S, j) min(p(s {j}, i) + a i,j i S {j}). 7 return min(p({1,..., n}, l) + a l,1 1 l n) FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
25 TSP Resultat Satz Das Problem Traveling Salesperson kann mittels dynamischer Programmierung in Zeit O(2 n n 2 ) gelöst werden. (Dies ist eine wesentliche Verbesserung gegenüber dem naiven Ansatz mit Laufzeit O(n!).) Beweis Die Anzahl aller Teilmengen von {1,..., n} ist 2 n. Zu jeder solcher Teilmenge gibt es maximal n Teilprobleme. Jedes Teilproblem kann in Zeit O(n) gelöst werden. Für Zuhause: Wie konstruiert man eine optimale Rundtour (also die Knotenfolge)? FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
26 Matrixkettenmultiplikation Das folgende Problem wurde in der Vorlesung nicht besprochen und ist deswegen nicht prüfungsrelevant. Es stellt jedoch ein weiteres schönes Beispiel für einen auf dem Paradigma Dynamische Programmierung basierenden Algorithmus dar. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
27 Matrixkettenmultiplikation 5.6 Optimale Matrizenmultiplikation Sei A 1 = (α ij ) 1 i r0,1 j r 1 eine r 0 r 1 -Matrix, A 2 = (β jk ) 1 j r1,1 k r 2 eine r 1 r 2 -Matrix. Berechne Produkt A 1 A 2 =: C = (γ ik ) 1 i r0,1 k r 2. Standardmethode (nicht Strassen-Methode o.ä.): γ ik = 1 j r 1 α ij β jk, für 1 i r 0, 1 k r 2. r 0 r 1 r 2 Multiplikationen. Kosten : c(r 0, r 1, r 2 ) := r 0 r 1 r 2 Gesamtzeit = Θ(r 0 r 1 r 2 ). FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
28 Matrixkettenmultiplikation Gegeben: A 1, A 2,..., A k, wobei A i eine r i 1 r i -Matrix ist. Aufgabe Berechne A 1 A 2... A k, möglichst kostengünstig. Die Matrizenmultiplikation ist assoziativ. Bei der Berechnung von A 1 A 2 A 3 entstehen Kosten von Kosten r 0 r 1 r 2 + r 0 r 2 r 3 bei der Reihenfolge (A 1 A 2 )A 3 und Kosten r 0 r 1 r 3 + r 1 r 2 r 3 bei der Reihenfolge A 1 (A 2 A 3 ). Beispiel: (r 0, r 1, r 2, r 3 ) = (5, 10, 3, 10): Kosten 300 bei der ersten Reihenfolge, 800 bei der zweiten. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
29 Matrixkettenmultiplikation Problem: Eingabe: Dimensionen r 0 r 1, r 1 r 2,..., r k 1 r k von Matrizen A 1,..., A k. Ausgabe: Eine ( optimale ) Klammerung, die bei der Berechnung von A 1 A k die Gesamtkosten (Anzahl aller Multiplikationen von Zahlen) minimiert. Seien c(r 0,..., r k ) die Kosten bei optimaler Klammerung, wobei k 2 und r 0, r 1,..., r k 1 beliebige ganze Zahlen sind. Für k = 1 setzen wir c(r 0, r 1 ) := 0 für alle r 0, r 1. Klar: c(r 0, r 1, r 2 ) = r 0 r 1 r 2. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
30 Matrixkettenmultiplikation Die optimale Lösung des Klammerungsproblems hat die Form (A 1 A l ) }{{} irgendwie geklammert (A l+1 A k ) }{{} irgendwie geklammert für ein 1 l < k (das wir nicht kennen!). Zentrale Beobachtung ( Optimale Substruktur ): Die Klammerungen in den Teilen A 1 A l bzw. A l+1 A k müssen optimale Kosten für die Teilprobleme liefern. Wäre z. B. die Teilklammerung von A 1 A l nicht optimal, dann könnte man durch Verbesserung dieses Teils die Gesamtkosten senken. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
31 Matrixkettenmultiplikation Aus dieser Beobachtung ergibt sich: Es gibt ein l, 1 l < k mit c(r 0,..., r k ) = c(r 0,..., r l ) + c(r l,..., r k ) + r 0 r l r k }{{} äußerste Matrizenmult.. Das l, das die Summe auf der rechten Seite minimiert, ist das richtige. Müssen: Optimale Klammerungen bzw. ihre Kosten für die Teilprobleme A 1 A l und A l+1 A k berechnen. Ansatz: Betrachte die Teilprobleme TP(i, j), das Teilprodukt A i A j, 1 i j n, mit minimalen Kosten zu berechnen. Parameter zu TP(i, j): r i 1,..., r j. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
32 Matrixkettenmultiplikation Beobachtung ( Optimale Substruktur ), angewendet auf das Teilproblem, liefert: Rekursionsformel Basisfall: c(r i 1, r i ) = 0, für 1 i k. Schrittfall: c(r i 1,..., r j ) = min i l<j {c(r i 1,..., r l ) + c(r l,..., r j ) + r i 1 r l r j }, für 1 i < j k. Bellman sche Optimalitätsgleichungen. (Checke diese Gleichung für j = i + 1!) Iterative Auflösung der Rekursionsformel! FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
33 Matrixkettenmultiplikation MatrixOptimal((r 0,..., r k )) Eingabe: Dimensionsvektor (r 0,..., r k ) Ausgabe: Kosten c(r 0,..., r k ) bei der optimalen Klammerung l[1..k,1..k]: Plan zur Ermittlung der optimalen Unterteilung; Datenstruktur: Matrizen C[1..k,1..k], l[1..k,1..k] (1) for i from 1 to k do (2) C[i,i] 0; (3) for i from 1 to k 1 do (4) C[i,i+1] r i 1 r i r i+1 ; (5) for d from 2 to k 1 do (6) for i from 1 to k d do (7) bestimme das l, i l < i+d, (8) das C = C[i,l] + C[l + 1,i+d] + r i 1 r l r i+d minimiert; (9) l[i,i+d] dieses l; (10) C[i,i+d] das minimale C; (11) Ausgabe: C[1..k,1..k] und l[1..k,1..k]. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
34 Matrixkettenmultiplikation Korrektheit: Man beweist durch Induktion über d = 0, 1,..., k 1 mit Hilfe der Bellman schen Optimalitätsgleichung, dass C[i,i + d] die Zahl c(r i 1,..., r i+d ) enthält. Übung: Man zeige, dass mit Hilfe der l[i,j]-werte die optimale Klammerung in Linearzeit ermittelt werden kann. Laufzeit: Die Minimumssuche in Zeile (8) kostet Zeit O(k); (6) (10) und (5) (10) ergibt sich eine Laufzeit von Θ(k 3 ). FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
35 Matrixkettenmultiplikation Beispiel: (r 0,..., r 4 ) = (3, 2, 2, 5, 6) C: l: i * * * * * * * Optimale Klammerung: (M 1 M 2 )(M 3 M 4 ). Kosten: 108 Multiplikationen. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung
SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung Martin Dietzfelbinger Juni/Juli 2011 FG KTuEA, TU Ilmenau Effiziente Algorithmen SS11 Kapitel 5 Kapitel 5: Dynamische Programmierung Typische
Mehr6.1. Ein Approximationsalgorithmus für das Rucksackproblem
6.1. Ein Approximationsalgorithmus für das Rucksackproblem Wir erinnern uns an das 0-1-Rucksackproblem: Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke
MehrWiederholung. Divide & Conquer Strategie
Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in
MehrDynamische Programmierung II
Vorlesungstermin 10: Dynamische Programmierung II Markus Püschel David Steurer talks2.dsteurer.org/dp2.pdf Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich Plan für heute Dynamische Programmierung
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
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
MehrEffiziente Algorithmen
Effiziente Algorithmen Greedy-Algorithmen Vorlesender: Martin Aumüller (nah Folien von Prof. Martin Dietzfelbinger) Mai 2012 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 2012 1 Kapitel 3:
MehrDie Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 26 Optimierungsprobleme und ihre Entscheidungsvariante Beim Rucksackproblem
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil XI Peter F Stadler & Konstantin Klemm Bioinformatics Group, Dept of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 16
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Dynamisches Programmieren Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester.. Einleitung Diese Lerneinheit widmet sich einer
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
MehrAlgorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016
Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithms and Complexity Group 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS 2016 5. Oktober 2016 Machen Sie
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrRückblick: divide and conquer
Rückblick: divide and conquer pi = (xi,yi) } p å } ' }d(p,p) p ''=min(, ') F 0/0 p./95 weitere Algorithmentechniken Greedy-Algorithmen dynamische Programmierung Backtracking branch and bound Heuristiken
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
Mehr21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3
581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv
MehrAlgorithmen und Datenstrukturen 1 Kapitel 3
Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann
MehrADS: Algorithmen und Datenstrukturen 2
.. ADS: Algorithmen und Datenstrukturen 2 8. Vorlesung Uwe Quasthoff Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität Leipzig 6. Juni 2012 1 / 25 Editier-Distanz Beobachtungen:
MehrWS18 Algorithmen und Datenstrukturen 11. Kapitel Dynamische Programmierung
WS18 Algorithmen und Datenstrukturen 11. Kapitel Dynamische Programmierung Martin Dietzfelbinger Januar 2019 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen 1 WS 2018/19 Kapitel 11 Kapitel 11: Dynamische
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 9 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 06. Juni 2018 [Letzte Aktualisierung: 06/07/2018,
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
MehrOptimierung. Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen. Vorgehen: Dynamische Programmierung
Optimierung Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen Optimierung I Dynamisches Programmieren Günther Greiner Lehrstuhl für Graphische Datenverarbeitung Sommersemester
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 16.12.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
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
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrLösungen von Übungsblatt 12
Lösungen von Übungsblatt 12 Algorithmen (WS 2018, Ulrike von Luxburg) Lösungen zu Aufgabe 1 Eine (kanonische) Möglichkeit, die Branch-Schritte auszuführen ergibt sich wie folgt: Das ursprüngliche Problem
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
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 8 Gerhard Heyer, Florian Holz unter Verwendung der Materialien der letzten Jahre Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrApproximationsalgorithmen. 19. Dezember / 28
Approximationsalgorithmen 19. Dezember 2017 1 / 28 Optimierungsprobleme Das Ziel: Bearbeite schwierige Optimierungsprobleme der Form opt y f (x, y) so dass L(x, y). Die Zielfunktion f (x, y) ist zu minimieren
Mehr2.4 Starke Zusammenhangskomponenten in Digraphen
Starke Zusammenhangskomponenten Einleitung 2.4 Starke Zusammenhangskomponenten in Digraphen Definition 2.4.1 Zwei Knoten v und w in einem Digraphen G heißen äquivalent, wenn v w und w v gilt. Notation:
MehrDynamisches Programmieren - Problemstruktur
Dynamisches Programmieren - Problemstruktur Optimale Substruktur: Optimale Lösung enthält optimale Lösungen von Teilproblemen. Bsp.: Kürzester Weg im Graphen, LCS (s. etwa Folie 42 der letzten Vorlesung)
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
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
MehrÜbersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Übersicht Greedy Algorithmen Einführung Aktivitäten-Auswahl-Problem Huffman Codierung Matthias Zwicker Universität Bern Frühling 2009 2 Greedy Algorithmen Entwurfsstrategie
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 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung
Mehr3.3 Optimale binäre Suchbäume
3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum
MehrAlgorithmentheorie. 10 Greedy Verfahren
Algorithmentheorie 0 Greedy Verfahren Prof. Dr. S. Albers Greedy Verfahren. Allgemeine Vorbemerkungen 2. Einfache Beispiele Münzwechselproblem Handlungsreisenden-Problem 3. Das Aktivitäten Auswahlproblem
MehrAlgorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
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
Mehr19. Dynamic Programming I
502 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 05 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen Grundlagen
MehrDas Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger
Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung Gerold Jäger Martin-Luther-Universität Halle-Wittenberg Zusammenarbeit mit Frank Fischer, Anja Lau, Paul Molitor DFG-Projekt: Toleranzbasierte
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
MehrKlausur Algorithmentheorie
Prof. Dr. G. Schnitger Frankfurt, den 06.04.2009 Klausur Algorithmentheorie WS 2008/2009 Name: Vorname: Geburtsdatum: Studiengang: BITTE GENAU LESEN Die Klausur besteht aus 4 Aufgaben, in denen maximal
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen
Mehr1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Einführung Grundlagen von Algorithmen Grundlagen
MehrÜbungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5
Kamil Swierkot Paderborn, den 01.06.2007 Aufgabe 17 Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5 Bei der Optimierungsvariante des SubSetSum Problems wird bei der Eingabe
MehrTheoretische Informatik 1
Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 02.07.2015 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP
MehrGraphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke
Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
MehrAlgorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8
ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1
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
MehrAlgorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen Übung Stefan Florian Palkovits, BSc 09 e09@student.tuwien.ac.at 9. Juni 0 Aufgabe 9: Anwenden der Spanning Tree Heuristik auf symmetrisches TSP 9 8 7 8 8 7 Bilden eines
MehrAlgorithmische Graphentheorie
1 Algorithmische Graphentheorie Sommersemester 2014 5. Vorlesung Matchings / Paarungen II Kombinatorischer Algorithmus, Anwendung für Handlungsreisende, LP-Runden Dr. Joachim Spoerhase Prof. Dr. Alexander
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
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,
Mehr20. Dynamic Programming II
536 20. Dynamic Programming II Subset Sum Problem, Rucksackproblem, Greedy Algorithmus, Lösungen mit dynamischer Programmierung, FPTAS, Optimaler Suchbaum [Ottman/Widmayer, Kap. 7.2, 7.3, 5.7, Cormen et
MehrAlgorithmen I - Tutorium 28 Nr. 12
Algorithmen I - Tutorium 28 Nr. 12 20.07.2017: Spaß mit Dynamischer und Linearer Programmierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN
Mehr2. Das single-source-shortest-path-problem
. Das single-source-shortest-path-problem Zunächst nehmen wir an, dass d 0 ist. Alle kürzesten Pfade von a nach b sind o.b.d.a. einfache Pfade.. Dijkstra s Algorithmus Gegeben: G = (V, A), (A = V V ),
Mehr19. Dynamic Programming I
Fibonacci Zahlen 9. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixettenmultipliation, Matrixmultipliation nach Strassen [Ottman/Widmayer,
MehrErinnerung VL
Erinnerung VL 04.07.2016 Union-Find-Datenstruktur (für Kruskals Algorithmus) Ackermann-Funktion (in der Analyse) Optimierungsprobleme (Beispiel: Rucksackproblem) Im Allgemeinen (NP-)schwer Z.B. für unteilbare
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
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
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Sommersemester 2016 2. Vorlesung Rundreiseprobleme Teil II Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Übersicht I) Eulerkreise III) Handlungsreisende II) Hamiltonkreise
MehrDas Rucksackproblem: schwache NP-Härte und Approximation
Das Rucksackproblem: schwache NP-Härte und Approximation Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1. Februar 2010 Berthold Vöcking, Informatik 1 () Vorlesung
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!
MehrTheoretische Informatik III (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. Noch einmal TSP
Noch einmal TSP Wir hatten das TSP-Problem (Problem der Handlungsreisenden) schon als Beispiel für die Branch-and-Bound Methode kennengelernt. Nun wollen wir noch einen zweiten Algorithmus angeben, der
Mehr20. Dynamic Programming II
Aufgabe 20. Dynamic Programming II Subset Sum Problem, Rucksackproblem, Greedy Algorithmus, Lösungen mit dynamischer Programmierung, FPTAS, Optimaler Suchbaum [Ottman/Widmayer, Kap. 7.2, 7.3, 5.7, Cormen
Mehr21. Dynamic Programming III
Approximation 21. Dynamic Programming III FPTAS [Ottman/Widmayer, Kap. 7.2, 7.3, Cormen et al, Kap. 15,35.5] Sei ein ε (, 1) gegeben. Sei I eine bestmögliche Auswahl. Suchen eine gültige Auswahl I mit
MehrDatenstrukturen und Algorithmen 2. Klausur SS 2001
UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................
MehrTechnische Universität München Zentrum Mathematik. Optimierung 2, WS 2008/09 Übungsblatt 12
Technische Universität München Zentrum Mathematik Prof. Dr. P. Gritzmann, Dipl.-Inf. Dipl.-Math. S. Borgwardt, Dr. M. Ritter Optimierung 2, WS 2008/09 Übungsblatt 12 Aufgabe 12.1 Betrachten Sie die folgenden
Mehr11. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrKap. 7.3 Enumerationsverfahren Kap. 7.4 Branch-and-Bound Kap. 7.5 Dynamische Programmierung
Kap. 7.3 Enumerationsverfahren Kap. 7.4 Branch-and-Bound Kap. 7.5 Dynamische Programmierung Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund ACHTUNG: Die VO
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrFormulierung mittels Dynamischer Programmierung
Formulierung mittels Dynamischer Programmierung Beobachtung: die Anzahl der Teilprobleme A i j n mit i j n ist nur Folgerung: der naïve rekursive Algo berechnet viele Teilprobleme mehrfach! Idee: Bottom-up-Berechnung
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 9 Programm: Übungsblatt
Mehr1.3 Erinnerung: Mergesort
Mergesort 1.3 Erinnerung: Mergesort Um n Zahlen/Objekte a 1,..., a n zu sortieren, geht der Mergesort-Algorithmus so vor: Falls n n 0 : Sortiere mit einem naiven Algorithmus (z. B. Insertion Sort). Sonst:
MehrDynamische Programmierung
Dynamische Programmierung Claudia Gerhold 9.5.6 Claudia Gerhold Dynamische Programmierung 9.5.6 / 4 Agenda Einführung Dynamische Programmierung Top-Down Ansatz mit Memoization Bottom-Up Ansatz 3 Anwendungsbeispiele
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrGreedy Algorithms - Gierige Algorithmen
Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2
MehrDatenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Klausur Wichtige Hinweise: 2.7.07, Beginn 9 Uhr Bitte spätestens 8:4 Uhr vor Ort sein Sporthalle + Audimax Informationen
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 14. Mai
MehrVorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.04.2014 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,
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. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37
2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Amortisierte Analyse Suche in sortierten Arrays Heaps Vorstellen des fünften Übungsblatts
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 26. Vorlesung Greedy- und Approximationsalgorithmen Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Operations Research Optimierung für Wirtschaftsabläufe:
Mehr