Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Daniel Ziegler Daniel Ziegler Gierige Algorithmen
|
|
- Tomas Schulz
- vor 6 Jahren
- Abrufe
Transkript
1 Gierige Algorithmen Seminar Hallo Welt! für Fortgeschrittene Daniel Ziegler Daniel Ziegler Gierige Algorithmen / 48
2 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
3 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
4 Allgemeines Anwendung Zur Lösung von Optimierungsproblemen Ein Algorithmus dafür durchläuft meist eine Abfolge von Schritten, in denen jeweils Entscheidungen zu treffen sind. Definition Ein gieriger Algorithmus wählt in jedem Schritt die lokal optimale Lösung. Daniel Ziegler Gierige Algorithmen / 48
5 Wichtige Eigenschaften - I Optimale-Teilstruktur-Eigenschaft Jede optimale Lösung des Problems beinhaltet optimale Lösungen von Teilproblemen Wesentlich für die Anwendbarkeit von gierigen Algorithmen und dynamischer Programmierung Daniel Ziegler Gierige Algorithmen / 48
6 Wichtige Eigenschaften - II Greedy-Choice-Property Global optimale Lösung wird durch schrittweise Wahl des lokalen Optimums erreicht Zu lösendes Teilproblem wird in jedem Schritt kleiner Entscheidungen werden nicht rückgängig gemacht Unterschied zur dynamischen Programmierung Vorverarbeitung der Daten für eine effiziente Auswahl meist sinnvoll (z.b. Sortieren) Daniel Ziegler Gierige Algorithmen / 48
7 Gierige-Strategie vs. DP DP Auswahl hängt in jedem Schritt von der Lösung der Teilprobleme ab bottom-up oft rekursiv aufwändigere Vorgehen Überlegung zum benötigt zusätzlichen Speicherplatz (Memoization) Gierige-Strategie Wahl der lokale optimale Lösung in jedem Schritt top-down meist iterativ eher intuitiver Ansatz kaum zusätzlicher Speicherplatz Daniel Ziegler Gierige Algorithmen / 48
8 Vor- und Nachteile Vorteile Intuitives Verfahren und Vorgehen Schnelle Laufzeit (oft O(n log(n))) Nachteile Nicht alle Optimierungsprobleme sind gierig lösbar Anwendbarkeit und Korrektheit muss bewiesen werden! Daniel Ziegler Gierige Algorithmen / 48
9 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
10 Münzwechselproblem Aufgabenstellung Ein gegebener Geldbetrag soll durch möglichst wenige Münzen ausgezahlt werden. Als Währung verwenden wir Euro: Daniel Ziegler Gierige Algorithmen / 48
11 Münzwechselproblem Lösung 1: Restbetrag := Betrag 2: sortiere Münzen absteigend nach Wert w i 3: gehe Münzen der Reihe nach durch: 4: Anzahl i := Restbetrag w i 5: Restbetrag := Restbetrag (Anzahl i w i ) Anzahl i : wie oft Münze mit Wert w i in optimaler Lösung vorkommt Laufzeit: O(m log(m)), wobei m = Anzahl der Münzen Daniel Ziegler Gierige Algorithmen / 48
12 Münzwechselproblem - Beispiel Beispiel Auszahlen des Betrags von 3,45 e Daniel Ziegler Gierige Algorithmen / 48
13 Münzwechselproblem - Beispiel Beispiel Auszahlen des Betrags von 3,45 e Restbetrag: 3,45 e Daniel Ziegler Gierige Algorithmen / 48
14 Münzwechselproblem - Beispiel Beispiel Auszahlen des Betrags von 3,45 e Restbetrag: 1,45 e Daniel Ziegler Gierige Algorithmen / 48
15 Mu nzwechselproblem - Beispiel Beispiel Auszahlen des Betrags von 3,45 e Restbetrag: 0,45 e Daniel Ziegler Gierige Algorithmen / 48
16 Mu nzwechselproblem - Beispiel Beispiel Auszahlen des Betrags von 3,45 e Restbetrag: 0,05 e Daniel Ziegler Gierige Algorithmen / 48
17 Mu nzwechselproblem - Beispiel Beispiel Auszahlen des Betrags von 3,45 e Restbetrag: 0,00 e Daniel Ziegler Gierige Algorithmen / 48
18 Münzwechselproblem II Was passiert wenn wir eine andere Währung wählen? Daniel Ziegler Gierige Algorithmen / 48
19 Münzwechselproblem II Was passiert wenn wir eine andere Währung wählen? Deutsche Goldmark Daniel Ziegler Gierige Algorithmen / 48
20 Münzwechselproblem II Auszahlen des Betrags von 1,42 Mark Daniel Ziegler Gierige Algorithmen / 48
21 Münzwechselproblem II Auszahlen des Betrags von 1,42 Mark Gierige Lösung Restbetrag: 1,42 Mark Daniel Ziegler Gierige Algorithmen / 48
22 Münzwechselproblem II Auszahlen des Betrags von 1,42 Mark Gierige Lösung Restbetrag: 0,42 Mark Daniel Ziegler Gierige Algorithmen / 48
23 Münzwechselproblem II Auszahlen des Betrags von 1,42 Mark Gierige Lösung Restbetrag: 0,17 Mark Daniel Ziegler Gierige Algorithmen / 48
24 Münzwechselproblem II Auszahlen des Betrags von 1,42 Mark Gierige Lösung Restbetrag: 0,07 Mark Daniel Ziegler Gierige Algorithmen / 48
25 Münzwechselproblem II Auszahlen des Betrags von 1,42 Mark Gierige Lösung Restbetrag: 0,02 Mark Daniel Ziegler Gierige Algorithmen / 48
26 Münzwechselproblem II Auszahlen des Betrags von 1,42 Mark Gierige Lösung Restbetrag: 0,00 Mark Daniel Ziegler Gierige Algorithmen / 48
27 Münzwechselproblem II Gierige Lösung (1,42 Mark) Optimale Lösung (1,42 Mark) Daniel Ziegler Gierige Algorithmen / 48
28 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
29 Fractional Knapsack Aufgabenstellung Gegeben: Menge M von n Gegenständen mit Gewichten g i und Wert w i (w i, g i N) Rucksack mit Fassungsvermögen g R Gesucht: Faktoren α i [0, 1] sodass n k=1 α k g k g R und n k=1 α k w k maximal (Man kann also Teilmengen von den Gegenständen einpacken) Daniel Ziegler Gierige Algorithmen / 48
30 Fractional Knapsack Lösung 1: berechne Verhältnisse c i := w i g i 2: sortiere Gegenstände absteigend nach c i 3: g rest := g R 4: gehe Gegenstände durch, solange g rest > 0 5: k sei der aktuelle Gegenstand 6: α k := min(g k, g rest ) g k 7: g rest := g rest α k g k Laufzeit: O(n log(n)) Daniel Ziegler Gierige Algorithmen / 48
31 Fractional Knapsack Rucksack 30kg 10kg 15kg 20kg 20kg 100e 120e 100e 140e 0e e kg Daniel Ziegler Gierige Algorithmen / 48
32 Fractional Knapsack Rucksack 30kg 10kg 15kg 20kg 20kg 100e 120e 100e 140e 0e 10 e kg 8 e kg 5 e kg 7 e kg Daniel Ziegler Gierige Algorithmen / 48
33 Fractional Knapsack Rucksack 30kg 10kg 15kg 20kg 20kg 100e 120e 140e 100e 0e 10 e kg 8 e kg 7 e kg 5 e kg Daniel Ziegler Gierige Algorithmen / 48
34 Fractional Knapsack Rucksack 20kg 15kg 20kg 20kg 10kg 10 e kg 120e 140e 100e 100e 8 e kg 7 e kg 5 e kg Daniel Ziegler Gierige Algorithmen / 48
35 Fractional Knapsack Rucksack 5kg 20kg 20kg 15kg 10kg 10 e kg 140e 100e 220e 7 e kg 5 e kg Daniel Ziegler Gierige Algorithmen / 48
36 Fractional Knapsack Rucksack 5kg 15kg 20kg 15kg 10kg 10 e kg 105e 100e 255e 7 e kg 5 e kg Daniel Ziegler Gierige Algorithmen / 48
37 0-1 Knapsack Was passiert wenn die Gegenstände nicht mehr teilbar sind? Faktoren α i nun also aus {0, 1} Daniel Ziegler Gierige Algorithmen / 48
38 0-1 Knapsack Rucksack 30kg 10kg 15kg 20kg 20kg 100e 120e 100e 140e 0e 10 e kg 8 e kg 5 e kg 7 e kg Daniel Ziegler Gierige Algorithmen / 48
39 0-1 Knapsack Rucksack 30kg 10kg 15kg 20kg 20kg 100e 120e 140e 100e 0e 10 e kg 8 e kg 7 e kg 5 e kg Daniel Ziegler Gierige Algorithmen / 48
40 0-1 Knapsack Rucksack 20kg 15kg 20kg 20kg 10kg 10 e kg 120e 140e 100e 100e 8 e kg 7 e kg 5 e kg Daniel Ziegler Gierige Algorithmen / 48
41 0-1 Knapsack Rucksack 5kg 20kg 20kg 15kg 10kg 10 e kg 140e 100e 220e 7 e kg 5 e kg Daniel Ziegler Gierige Algorithmen / 48
42 0-1 Knapsack gierige Lösung optimale Lösung 15kg 20kg 10kg 220e 10kg 240e Daniel Ziegler Gierige Algorithmen / 48
43 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
44 Scheduling Probleme Allgemeines Gegeben: Menge an Aktivitäten oder Tasks Gesucht: Ein hinsichtlich bestimmter Eigenschaften optimaler Ablaufplan Betrachtete Scheduling Probleme Aktivitäten-Auswahl-Problem Mittlere Fertigstellungszeit Unit-Time-Tasks Daniel Ziegler Gierige Algorithmen / 48
45 Aktivitäten-Auswahl-Problem Aufgabenstellung Gegeben: Menge an Aktivitäten (z.b. Vorlesungen), jeweils mit einem Start- und Endzeitpunkt Aktivitäten konkurrieren um die exklusive Nutzung einer gemeinsamen Ressource (z.b. Hörsaal) Gesucht: Maximale Menge S max von sich zeitlich nicht überschneidenden Aktivitäten Daniel Ziegler Gierige Algorithmen / 48
46 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Daniel Ziegler Gierige Algorithmen / 48
47 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Startzeitpunkt? Daniel Ziegler Gierige Algorithmen / 48
48 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Startzeitpunkt? t Daniel Ziegler Gierige Algorithmen / 48
49 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Startzeitpunkt - nein Dauer? Daniel Ziegler Gierige Algorithmen / 48
50 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Startzeitpunkt - nein Dauer? t Daniel Ziegler Gierige Algorithmen / 48
51 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Startzeitpunkt - nein Dauer - nein Anzahl Konflikte? Daniel Ziegler Gierige Algorithmen / 48
52 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Startzeitpunkt - nein Dauer - nein Anzahl Konflikte? t Daniel Ziegler Gierige Algorithmen / 48
53 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Startzeitpunkt - nein Dauer - nein Anzahl Konflikte - nein Endzeitpunkt? Daniel Ziegler Gierige Algorithmen / 48
54 Aktivitäten-Auswahl-Problem Nach welchem Kriterium soll man die Aktivitäten sortieren? Startzeitpunkt - nein Dauer - nein Anzahl Konflikte - nein Endzeitpunkt - ja Daniel Ziegler Gierige Algorithmen / 48
55 Aktivitäten-Auswahl-Problem Lösung 1: Aktivitäten aufsteigend nach Endzeitpunkt sortieren 2: S max := {A 0 } 3: A lastinsert := A 0 4: gehe Aktivitäten A i, i 1 der Reihe nach durch: 5: falls sich A i nicht mit A lastinsert überschneidet: 6: S max := S max {A i } 7: A lastinsert := A i 8: sonst: ignoriere A i 9: return S max Laufzeit: O(n log(n)) Daniel Ziegler Gierige Algorithmen / 48
56 Aktivitäten-Auswahl-Problem a b c d e f g Daniel Ziegler Gierige Algorithmen / 48
57 Aktivitäten-Auswahl-Problem b d c e a g f Daniel Ziegler Gierige Algorithmen / 48
58 Aktivitäten-Auswahl-Problem b d c e a g f Daniel Ziegler Gierige Algorithmen / 48
59 Aktivitäten-Auswahl-Problem b d c e a g f Daniel Ziegler Gierige Algorithmen / 48
60 Aktivitäten-Auswahl-Problem b d c e a g f Daniel Ziegler Gierige Algorithmen / 48
61 Aktivitäten-Auswahl-Problem b d c e a g f Daniel Ziegler Gierige Algorithmen / 48
62 Aktivitäten-Auswahl-Problem b d c e a g f Daniel Ziegler Gierige Algorithmen / 48
63 Aktivitäten-Auswahl-Problem b d c e a g f Daniel Ziegler Gierige Algorithmen / 48
64 Aktivitäten-Auswahl-Problem b d c e a g f Daniel Ziegler Gierige Algorithmen / 48
65 Mittlere Fertigstellungszeit Aufgabestellung Gegeben: Menge M von n Tasks Jeder Task benötigt d i Zeiteinheiten zur Ausführung Zu jedem Zeitpunkt kann nur ein Task ausgeführt werden Gesucht: Ein Ablaufplan mit minimaler mittlere Fertigstellungszeit der Tasks Daniel Ziegler Gierige Algorithmen / 48
66 Mittlere Fertigstellungszeit Lösung 1: sortiere Tasks aufsteigend nach Dauer d i 2: gib dies als Ablaufplan aus Laufzeit: O(n log(n)) Daniel Ziegler Gierige Algorithmen / 48
67 Mittlere Fertigstellungszeit Tasks Task a b c d e f g Dauer Sortierte Task Task b a f d e g c Dauer Ende mittlere Fertigstellungszeit: = 11 Daniel Ziegler Gierige Algorithmen / 48
68 Unit-Time-Task Aufgabenstellung Gegeben: Menge M von n Tasks jeweils mit einem Termin und einer Strafe (zu zahlen, wenn Termin nicht eingehalten wird) Alle Tasks benötigen zur Ausführung eine Zeiteinheit Gesucht: Ablaufplan für die Tasks, sodass die zu zahlende Strafe minimal ist Daniel Ziegler Gierige Algorithmen / 48
69 Unit-Time-Task Lösung 1: sortiere Tasks absteigend nach Strafe 2: S toolate := 3: gehe Tasks t i der Sortierung nach durch: 4: falls es freien Slot vor Frist von Task t i gibt: 5: wähle davon den spätest möglichen 6: sonst: S toolate := S toolate {t i } 7: verteile alle Tasks aus S toolate beliebig auf die noch freien Slots Laufzeit O(n log(n)) Daniel Ziegler Gierige Algorithmen / 48
70 Unit-Time-Task Tasks Task a b c d e f g Frist Strafe Sortierte Tasks Task d a e b g f c Frist Strafe Daniel Ziegler Gierige Algorithmen / 48
71 Unit-Time-Task Vollständiger Ablaufplan Slot Task a d g b c e f Frist Strafe Daniel Ziegler Gierige Algorithmen / 48
72 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
73 Offline Caching Aufgabenstellung Gegeben: Vollassoziativer Cache der Größe n Vorbestimmte Abfolge von Speicherzugriffen Gesucht: Cache-Strategie, sodass Anzahl der Cache-Misses minimal ist Daniel Ziegler Gierige Algorithmen / 48
74 Offline Caching Lösung Wenn ein Cache-Miss auftritt: Falls Cache nicht voll belegt: lade Datum in den Cache Sonst: verdränge Datum, auf das am längsten nicht mehr zugegriffen wird (am besten nie mehr) Sonst: nichts zu tun, da Datum schon im Cache Daniel Ziegler Gierige Algorithmen / 48
75 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD Cache Daniel Ziegler Gierige Algorithmen / 48
76 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD Cache Daniel Ziegler Gierige Algorithmen / 48
77 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xA Cache Daniel Ziegler Gierige Algorithmen / 48
78 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xB 0xA Cache Daniel Ziegler Gierige Algorithmen / 48
79 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xB 0xA 0xD Cache Daniel Ziegler Gierige Algorithmen / 48
80 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xB 0xF 0xA 0xD Cache Daniel Ziegler Gierige Algorithmen / 48
81 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xB 0xF 0xA 0xE Cache Daniel Ziegler Gierige Algorithmen / 48
82 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xB 0xF 0xA 0xE Cache Daniel Ziegler Gierige Algorithmen / 48
83 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xB 0xF 0xA 0xE Cache Daniel Ziegler Gierige Algorithmen / 48
84 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xB 0xF 0xA 0xE Cache Daniel Ziegler Gierige Algorithmen / 48
85 Offline Caching Referenzfolge 0xA, 0xB, 0xD, 0xF, 0xE, 0xF, 0xB, 0xA, 0xD 0xB 0xF 0xD 0xE Cache Daniel Ziegler Gierige Algorithmen / 48
86 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
87 Tankstellenproblem Aufgabenstellung Gegeben: Mit einem Auto zurückzulegende Wegstrecke der Länge l Reichweite r mit vollem Tank Positionen p i der Tankstellen entlang des Weges Gesucht: Minimale Auswahl an Tankstellen um die Strecke zurücklegen zu können Daniel Ziegler Gierige Algorithmen / 48
88 Tankstellenproblem Lösung Wähle als nächste Tankstelle immer die am weitesten entfernte und mit der Reichweite noch erreichbare. Beispiel Länge der Strecke: l = 1000 km Reichweite: r = 300 km Positionen der Tankstellen: {200,400,500,700,800,900} (jeweils in km) Daniel Ziegler Gierige Algorithmen / 48
89 Tankstellenproblem km Daniel Ziegler Gierige Algorithmen / 48
90 Tankstellenproblem km Daniel Ziegler Gierige Algorithmen / 48
91 Tankstellenproblem km Daniel Ziegler Gierige Algorithmen / 48
92 Tankstellenproblem km Daniel Ziegler Gierige Algorithmen / 48
93 Tankstellenproblem km Daniel Ziegler Gierige Algorithmen / 48
94 Tankstellenproblem - Java 1 void compute ( int [] stations, List < Integer > sol, int range, int end ){ 2 Arrays. sort ( stations ); 3 int currange = range ; 4 int laststation = -1; 5 6 while ( currange < end ){ 7 int farestposstation = -1; 8 for ( int i= laststation +1; i< stations. length && stations [i] <= currange ; i ++) { 9 farestposstation = i; 10 } 11 sol. add ( stations [ farestposstation ]); 12 currange = stations [ farestposstation ] + range ; 13 laststation = farestposstation ; 14 } 15 } Daniel Ziegler Gierige Algorithmen / 48
95 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
96 Weitere Algorithmen Huffman Codierung (Datenkompression) Graphenalgorithmen: Dijkstra-Algorithmus (kürzester Pfad) Algoritmus von Prim (minimaler Spannbaum) Algoritmus von Kruskal (minimaler Spannbaum) Daniel Ziegler Gierige Algorithmen / 48
97 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie vs. dynamische Programmierung Vor- und Nachteile 2 Beispiel Probleme Münzwechselproblem Fractional Knapsack Scheduling Probleme Offline Caching Tankstellenproblem Weitere Algorithmen 3 Quellen Daniel Ziegler Gierige Algorithmen / 48
98 Quellen Algorithmen - Eine Einführung, Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, Clifford Stein; Oldenbourg Verlag, 2013 Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson, 2007 Hallo Welt! Vortragsfolien von früheren Semestern threadid=698567&start=0&mc=2 Bilder: coins of the German Empire station.svg Daniel Ziegler Gierige Algorithmen / 48
Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Daniel Danner. 11. Juni Daniel Danner Gierige Algorithmen
Gierige Algorithmen Seminar Hallo Welt! für Fortgeschrittene Daniel Danner 11. Juni 2010 Daniel Danner Gierige Algorithmen 11.06.2010 1 / 33 Überblick 1 Einführung Definition und Anwendung Abgrenzung zu
MehrGierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Jennifer Naumann. 11.Juni 2013
Gierige Algorithmen Seminar Hallo Welt! für Fortgeschrittene Jennifer Naumann 11.Juni 2013 Jennifer Naumann Gierige Algorithmen 11.Juni 2013 1 / 44 Übersicht 1 Einführung Definition Wann darf man gierige
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Gierige Algorithmen Alexander Dietsch Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Grundlagen Definition und Anwendung Gierige Algorithmen vs. Dynamische
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Gierige Algorithmen Michael Baer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Einführung Definition Verwendung und Grenzen Abgrenzung zur DP
MehrGierige Algorithmen Marcel Henninger. Hallo Welt -Seminar - LS 2 Gierige Algorithmen
Gierige Algorithmen Hallo Hallo Welt! Welt! für für Fortgeschrittene Fortgeschrittene 31.05.2017 Marcel Henninger 1 Inhalt Einführung Allgemeines Greedy-Choice-Property Greedy vs Dynamic Vor- und Nachteile
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
MehrGierige Algorithmen. Tilman Adler Tilman Adler Gierige Algorithmen / 46
Gierige Algorithmen Tilman Adler 13.06.2012 Tilman Adler Gierige Algorithmen 13.06.2012 1 / 46 Ziel Nach diesem Vortrag solltet ihr verstanden haben: Was gierige Algorithmen von stupider DP abgrenzt Wie
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
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Gierige Algorithmen Christoph Merdes Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Einführung - Ein simples Beispiel - Definition - Abgrenzung
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
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
MehrInformatik II Greedy-Algorithmen
lausthal Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Erinnerung: Dynamische Programmierung Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:
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,
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
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
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,
MehrEffiziente Algorithmen (SS2015)
Effiziente Algorithmen (SS205) Kapitel 5 Approximation II Walter Unger Lehrstuhl für Informatik 2.06.205 07:59 5 Inhaltsverzeichnis < > Walter Unger 5.7.205 :3 SS205 Z Inhalt I Set Cover Einleitung Approximation
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
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 robert.legenstein@igi.tugraz.at 1 Kapitel 2 Algorithmische robert.legenstein@igi.tugraz.at 2 2. Algorithmische 1) Iterative Algorithmen 2) Rekursive Algorithmen
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 15 P Hinweise: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
MehrADS 2: Algorithmen und Datenstrukturen
ADS 2: Algorithmen und Datenstrukturen Teil I Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 9. April
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
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
MehrGraphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47
Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford
MehrÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz
Matrikelnummer: Fakultät Studiengang: Jahrgang / Kurs : Technik Angewandte Informatik 01 B/C/K ÜBUNGSKLAUSUR Studienhalbjahr:. Semester Datum: 0. Juli 01 Bearbeitungszeit: 90 Minuten Modul: TINF100.1 Dozent:
MehrAlgorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315
Algorithmen und Datenstrukturen Christian Komusiewicz Ernst-Abbe-Platz 2, R3315 christian.komusiewicz@uni-jena.de Friedrich-Schiller-Universität Jena Institut für Informatik http://users.fmi.uni-jena.de/
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
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe
MehrOptimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen
Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem
MehrTop-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy
2.2 Entwurfsparadigmen Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy 1 Top-Down Zerlege das gegebene Problem in Teilschritte Zerlege Teilschritte
MehrDatenstrukturen und Algorithmen
Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/
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
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit
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:
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
MehrMethoden für den Entwurf von Algorithmen
Methoden für den Entwurf von Algorithmen Greedy Algorithmen: - Löse ein einfaches Optimierungsproblem durch eine Folge vernünftiger Entscheidungen. - Eine getroffene Entscheidung wird nie zurückgenommen.
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
Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen
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
MehrInstitut für Programmierung und Reaktive Systeme 31. Mai Programmieren II. 12. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 1. Mai 01 Programmieren II 1. Übungsblatt Hinweis: Dieses Übungsblatt enthält die dritte Pflichtaufgabe.
MehrÜbersicht. Datenstrukturen und Algorithmen. Divide-and-Conquer. Übersicht. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Algorithmus Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-5/dsal/ 2 7.
MehrAlgorithmen I - Tutorium 28 Nr. 11
Algorithmen I - Tutorium 28 Nr. 11 13.07.2017: Spaß mit Schnitten, Kreisen und minimalen Spannbäumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR.
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Gierige Algorithmen Sarah Nuißl Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Einführung Gierige Algorithmen vs. Dynamisches Programmieren Beispiele
MehrInformatik II, SS 2016
Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,
MehrInstitut für Programmierung und Reaktive Systeme 27. Mai Programmieren II. 12. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 27. Mai 206 Programmieren II 2. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrKlausur Algorithmen und Datenstrukturen II 01. Agust 2016
Technische Universität Braunschweig Sommersemester 2016 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen und Datenstrukturen
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei
MehrQuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert
4.3.6 QuickSort QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert QuickSort teilt das gegebene Array anhand
MehrÜbersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
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
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Jakob Vogel Computer-Aided Medical Procedures Technische Universität München Komplexität von Programmen Laufzeit kann näherungsweise
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 +
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
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
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
MehrAlgorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor
Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 9:45 11:15 Raum 1200 (Vorlesung) Do 8:00
MehrAufgaben zur Klausurvorbereitung
Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014
MehrAlgorithmen I. Tutorium Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-12. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-07-04 Überblick 1 Dynamische Programmierung Idee Längste gemeinsame Teilfolge
MehrRückblick: Starke Zusammenhangskomponenten
Rückblick: Starke Zusammenhangskomponenten Der Algorithmus von Kosaraju bestimmt die starken Zusammenhangskomponenten eines gerichteten Graphen wie folgt: Schritt 1: Bestimme den transponierten Graphen
MehrKlausur Algorithmen und Datenstrukturen II
Technische Universität Braunschweig Sommersemester 2017 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Arne Schmidt Klausur Algorithmen und Datenstrukturen
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
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
MehrDatenstrukturen und Algorithmen
Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/54 Datenstrukturen und Algorithmen Vorlesung 1: Algorithmische Komplexität Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification
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
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.
MehrAlgorithmen und Datenstrukturen
Martin Dietzfelbinger Kurt Mehlhorn Peter Sanders Algorithmen und Datenstrukturen Die Grundwerkzeuge Springer Vieweg 1 Vorspeise: Arithmetik für ganze Zahlen 1 1.1 Addition 2 1.2 Multiplikation: Die Schulmethode
Mehr5.5 Prioritätswarteschlangen
5.5 Prioritätswarteschlangen LIFO- und FIFO-Warteschlangen entfernen Werte aus der Warteschlange in Abhängigkeit davon, wann sie in diese eingefügt wurden Prioritätswartschlangen interpretieren die Werte
MehrGrundlagen der Algorithmen und Datenstrukturen Kapitel 12
Grundlagen der Algorithmen und Datenstrukturen Kapitel 12 Christian Scheideler + Helmut Seidl SS 2009 28.06.09 Kapitel 12 1 Generische Optimierungsverfahren Techniken: Systematische Suche lass nichts aus
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt
MehrAlgorithmen und Datenstrukturen
Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik VI Algorithmen und Datenstrukturen Vorlesungsmitschrift zur Vorlesung im SS 2004 Prof. Dr.-Ing. H. Ney Letzte Überarbeitung:
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
MehrSortieren II / HeapSort Heaps
Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: dsal-i1@algo.rwth-aachen.de Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php
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
MehrEinführung in die Objektorientierte Programmierung Vorlesung 17: Dynamische Programmierung. Sebastian Küpper
Einführung in die Objektorientierte Programmierung Vorlesung 17: Dynamische Programmierung Sebastian Küpper Redundanz Rekursiver Lösungen Rekursion kann elegante Bescheibungen zur Problemlösung ergeben
MehrInformatik 1 (WS 2018/2019)
Informatik 1 (WS 2018/2019) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrKlausur Algorithmentheorie
Prof. Dr. G. Schnitger Frankfurt, den 07.04.2011 M. Poloczek Klausur Algorithmentheorie WS 2010/2011 Name: Vorname: Geburtsdatum: Studiengang: BITTE GENAU LESEN Die Klausur besteht aus 4 Aufgaben, in denen
MehrAnwendungsbeispiel MinHeap
Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n
MehrDatenstrukturen und Algorithmen D-INFK
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 Peter Widmayer
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
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
MehrKlausur Algorithmen und Datenstrukturen II 10. August 2015
Technische Universität Braunschweig Sommersemester 2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen und Datenstrukturen
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
MehrInformatikgrundlagen (WS 2016/2017)
Informatikgrundlagen (WS 2016/2017) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
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.
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
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
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
MehrAlgorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
MehrGroße Lösungsräume. Leon Schmidtchen Hallo Welt Seminar - LS Leon Schmidtchen Große Lösungsräume Hallo Welt Seminar - LS2
Große Lösungsräume Leon Schmidtchen 1.06.201 Hallo Welt Seminar - LS 2!1 Gliederung Motivation Brute Force Backtracking Pruning Leon Schmidtchen Branch & Bound 1.06.201 Hallo Welt Seminar - LS 2 Wann soll
MehrGeometrie I. Laura Lawniczak Hallo Welt -Seminar - LS 2
Geometrie I Laura Lawniczak 12.07.2017 Hallo Welt -Seminar - LS 2 Inhalt Grundlagen Abstandsberechnung Punkt-Gerade Punkt-Segment CCW Polygone Punkt in Polygon Pick s Theorem Konvexe Hülle 12.07.2017 Laura
MehrAlgorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2/212 2.9. - 3.9.2 17.1. - 21.1.2 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 3 aus "Abenteuer Informatik" von Jens Gallenbacher
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
Mehr