Hallo Welt für Fortgeschrittene

Größe: px
Ab Seite anzeigen:

Download "Hallo Welt für Fortgeschrittene"

Transkript

1 Hallo Welt für Fortgeschrittene Gierige Algorithmen Michael Baer Informatik 2 Programmiersysteme Martensstraße Erlangen

2 Gliederung Einführung Definition Verwendung und Grenzen Abgrenzung zur DP Lösungsprinzip Beispiele Fractional Knapsack Scheduling-Probleme Huffman-Codierung Münzwechsel-Problem Zusammenfassung Quellen Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 2

3 Einführung - Definition Gieriger Algorithmus: Algorithmus, der die momentane Teillösung schrittweise um den Teil erweitert, der das beste Ergebnis erwarten lässt. Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 3

4 Einführung Verwendung und Grenzen Gierige Algorithmen werden bei Optimierungsproblemen verwendet. Gegeben: Menge von Daten mit Wertigkeiten; Funktion zur Wertberechnung der Lösung Gesucht: Anordnung der Daten für max./min. Wertigkeit der Lösung Findet lokales Maximum, aber nicht immer ein globales Maximum. Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 4

5 Einführung Wann darf man sie verwenden? Greedy-choice property: Durch fortlaufende Wahl des momentan besten Weges kann man ein globales Optimum erreichen Optimal Substructure Eine optimale Gesamtlösung besteht aus den optimalen Lösungen von Teilproblemen speziell für gierige Algorithmen: Eine optimale Gesamtlösung entsteht durch die Kombination einer optimalen Teillösung mit einer gierigen Wahl der restlichen Elemente Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 5

6 Einführung Abgrenzung zur DP DP Teilprobleme lösen und zusammenführen Nachdenken Häufig rekursiv Aufwand unbestimmt Findet optimale Lösung - Speicherplatz Gierig Lösung schrittweise aufbauen Intuitiv Häufig iterativ Aufwand meist O(n log n) Findet nicht zwingend optimale Lösung - Zeit Korrektheit muss bewiesen werden Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 6

7 Einführung - Lösungsprinzip Allgemeiner Lösungsweg: 1. Sortieren nach Wertigkeit 2. Schleife, solange Ziel nicht erreicht: a) Nimm Maximum und füge es in Lösung ein b) Reduzieren Ziel um Fortschritt durch Maximum c) Entferne Maximum aus Liste 3. Fertig Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 7

8 Beispiele Einführung Definition Verwendung und Grenzen Abgrenzung zur DP Lösungsprinzip Fragen? Beispiele Fractional Knapsack Scheduling-Problem Huffman-Codierung Münzwechsel-Problem Zusammenfassung Quellen Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 8

9 Beispiele Fractional Knapsack Frage: Was nehme ich am besten in meinem Rucksack mit? Gegeben: Menge von Objekten mit ihrem Gewicht und Wert Rucksack mit bekannter Traglast Gesucht: Maximaler Wert im Rucksack Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 9

10 Beispiele Fractional Knapsack 0-1-knapsack: Prämissen: - Gegenstände sind unteilbar - Jeder Gegenstand darf nur entweder eingepackt werden, oder nicht eingepackt werden Dynamische Programmierung Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 10

11 Beispiele Fractional Knapsack Fractional knapsack: Prämissen: - Gegenstände sind teilbar - Jeder Gegenstand darf maximal einmal eingepackt werden - Es dürfen Gegenstände auch nur zum Teil einpackt werden - Wert is gleichmäßig auf Gegenstand verteilt effizienter Gieriger Algorithmus Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 11

12 Beispiele Fractional Knapsack Rucksack: Traglast T, momentane Füllung t, noch frei f Gegenstand: Gewicht g, Wert w, Verhältnis v = w/g Wertigkeit W der Lösung: Summe aller Werte im Rucksack gesuchte Wertigkeit: maximal Ziel: t = T bzw. f = 0 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 12

13 Beispiele Fractional Knapsack Allgemeiner Lösungsweg: 1. Sortieren nach Wertigkeit 2. Schleife, solange Ziel nicht erreicht: a) Nimm Maximum und füge es in Lösung ein b) Reduzieren Ziel um Fortschritt durch Maximum c) Entferne Maximum aus Liste 3. Fertig Lösungsweg: 1. Sortiere Gegenstände absteigend nach v 2. Solange f > 0: a) Nimm wertvollsten Gegenstand G und packe davon soviel wie möglich ein b) Reduzieren f um g(g) c) Entferne G aus Liste 3. Fertig Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 13

14 Beispiele Fractional Knapsack Lager: G1 (5kg, 5, 1 /kg) G2 (3kg, 6, 2 /kg) G3 (1kg, 5, 5 /kg) G4 (10kg, 1, 0.1 /kg) G5 (2kg, 6, 3 /kg) Rucksack: 0 kg / 10 kg 0 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 14

15 Beispiele Fractional Knapsack Lager: G3 (1kg, 5, 5 /kg) G5 (2kg, 6, 3 /kg) G2 (3kg, 6, 2 /kg) G1 (5kg, 5, 1 /kg) G4 (10kg, 1, 0.1 /kg) Rucksack: 0 kg / 10 kg 0 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 15

16 Beispiele Fractional Knapsack Lager: G3 (1kg, 5, 5 /kg) G5 (2kg, 6, 3 /kg) G2 (3kg, 6, 2 /kg) G1 (5kg, 5, 1 /kg) G4 (10kg, 1, 0.1 /kg) Rucksack: G3 (1kg, 5, 5 /kg) : 1kg 1 kg / 10 kg 5 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 16

17 Beispiele Fractional Knapsack Lager: G3 (1kg, 5, 5 /kg) G5 (2kg, 6, 3 /kg) G2 (3kg, 6, 2 /kg) G1 (5kg, 5, 1 /kg) G4 (10kg, 1, 0.1 /kg) Rucksack: G3 (1kg, 5, 5 /kg) : 1kg G5 (2kg, 6, 3 /kg) : 2kg 3 kg / 10 kg 11 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 17

18 Beispiele Fractional Knapsack Lager: G3 (1kg, 5, 5 /kg) G5 (2kg, 6, 3 /kg) G2 (3kg, 6, 2 /kg) G1 (5kg, 5, 1 /kg) G4 (10kg, 1, 0.1 /kg) Rucksack: G3 (1kg, 5, 5 /kg) : 1kg G5 (2kg, 6, 3 /kg) : 2kg G2 (3kg, 6, 2 /kg) : 3kg 6 kg / 10 kg 17 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 18

19 Beispiele Fractional Knapsack Lager: G3 (1kg, 5, 5 /kg) G5 (2kg, 6, 3 /kg) G2 (3kg, 6, 2 /kg) G1 (5kg, 5, 1 /kg) G4 (10kg, 1, 0.1 /kg) Rucksack: G3 (1kg, 5, 5 /kg) G5 (2kg, 6, 3 /kg) G2 (3kg, 6, 2 /kg) G1 (5kg, 5, 1 /kg) : 1kg : 2kg : 3kg : 4kg 10 kg / 10 kg 21 Man packt die Gegenstände G2, G3 und G5 vollständig ein und 4/5 vom Gegenstand G1, um einen maximalen Wert im Rucksack zu erhalten. Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 19

20 Beispiele Scheduling Frage: Wann mache ich was? Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 20

21 Beispiele Scheduling (1) In welchem Semester belege ich welche Vorlesung um in möglichst wenigen Semestern alle nötigen Vorlesungen besucht zu haben? (Überschneidungen sind natürlich verboten) Gegeben: Liste der Vorlesungen mit Beginn und Endzeiten (in jedem Semester gleich) Gesucht: minimale Semesterzahl Analog: Verteilung von Vorlesungen auf wenige Räume Verteilung von Aufträgen an wenige Mitarbeiter... Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 21

22 Beispiele Scheduling (1) Lösung: 1. Sortiere Vorlesungen aufsteigend nach Startzeitpunkt 2. Solange noch Vorlesungen vorhanden sind: a) Nimm Vorlesung mit niedrigstem Anfangszeitpunkt b) Finde Semester bei dem Endzeit < Startzeit der Vorlesung Falls gefunden: Füge Vorlesung in dieses Semester ein Falls nicht gefunden: Erstelle neues Semester d) Setzte Endzeit dieses Semesters auf Endzeit der Vorlesung e) Entferne Vorlesung aus Liste 3. Fertig Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 22

23 Beispiele Scheduling (1) Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 23

24 Beispiele Scheduling (1) Neues Semester Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 24

25 Beispiele Scheduling (1) Neues Semester S1 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 25

26 Beispiele Scheduling (1) Neues Semester S1 S2 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 26

27 Beispiele Scheduling (1) S1 S1 S2 S3 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 27

28 Beispiele Scheduling (1) S2 S1 S3 S1 S2 S3 S2 S3 S2 S1 S2 S3 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 28

29 Beispiele Scheduling (1) Ein mögliche Lösung S1 S2 S3 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 29

30 Beispiele Scheduling (2) Wann führt man auf einem Prozessor welchen Prozess aus? Jeder Prozess hat eine Frist, vor der er erledigt sein muss. Ansonsten fallen Strafen an. Gegeben: Liste der Prozesse mit Frist und Strafe Gesucht: Verteilung der Prozesse für minimale Strafe Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 30

31 Beispiele Scheduling (2) Lösung: 1. Sortiere Prozesse absteigend nach Strafe 2. Solange noch Prozesse vorhanden sind: a) Nimm teuersten Prozess b) Kann man ihn noch straffrei ausführen? Falls ja: Füge ihn an letzte noch straffreie Position ein Falls nein: Füge ihn an letzte mögliche Position ein d) Entferne Prozess aus Liste 3. Fertig Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 31

32 Beispiele Scheduling (2) Prozess P1 P2 P3 P4 P5 Bis spätestens Strafe Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 32

33 Beispiele Scheduling (2) Prozess P3 P1 P2 P4 P5 Bis spätestens Strafe Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 33

34 Beispiele Scheduling (2) Prozess P3 P1 P2 P4 P5 0 P2 P2 P2 Bis spätestens P3 P1 P3 P1 P3 P1 P3 P1 P3 Strafe P5 Strafe: = 2 Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 34 4 P4 P4

35 Beispiele Scheduling (3) Wann führe ich welche zeitlich festgelegte Aufgabe durch, um möglichst viele Aufgaben zu lösen? Gegeben: Menge aller Aufgaben xi mit Startzeit si und Endzeit fi Gesucht: Die größte Menge von Aufgaben, die sich nicht überschneiden Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 35

36 Beispiele Scheduling (3) 1. Lösungsansatz: Wähle immer die Aufgabe, die möglichst kurz ist(um möglichst viel Zeit davor und danach zu haben). Ansatz funktioniert normalerweise ganz gut, allerdings nicht hier: Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 36

37 Beispiele Scheduling (3) 2. Lösungsansatz: Wähle immer die Aufgabe, die möglichst wenige Überschneidungen mit anderen (noch nicht verwendeten) Aufgaben hat. Ansatz funktioniert häufig; Auch bei vorherigem Beispiel. Allerdings auch nicht immer: Lösung nach Ansatz Optimale Lösung Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 37

38 Beispiele Scheduling (3) 3. Lösungsansatz: Wähle immer die Aufgabe, die möglichst früh zu ende ist. Liefert immer die beste Lösung Optimale Lösung Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 38

39 Beispiele Huffman-Codierung Wie kann man eine Datei maximal komprimieren? Gegeben: Eine Zeichenkette (z.b. Eine Datei) Gesucht: Eine Codierung der einzelnen Zeichen, sodass die entstehende Bitfolge minimal ist. Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 39

40 Beispiele Huffman-Codierung Bedingungen an Code: Häufige Zeichen mit weniger Bits kodieren (ähnlich UTF-8) Kein Codewort darf Präfix eines anderen sein Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 40

41 Beispiele Huffman-Codierung Codierbeispiel: Helloworld ( 7 versch. Zeichen) Huffman Fixed-length encoding h e l l o w o r l d Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 41

42 Beispiele Huffman-Codierung Erzeugung des Codes: 1. Erstellen einer Liste aller zu codierenden Zeichen, sowie deren Häufigkeit 2. Solange Liste mehr als ein Element enthält a) Nimm die zwei unwahrscheinlichsten Zeichen b) Erzeuge einen gemeinsamen Elternknoten c) Wahrscheinlichkeit des EK ist Summe der Kinderwahrsch. d) Reihe Knoten in Liste ein 3. Das letzte verbleibende Element ist die Wurzel 4. Durchlaufe den kompletten Baum: Die Verbindung zum linken Blatt erhält das Bit 0, die zum rechten Blatt die 1 5. Das Zeichen in einem Blatt wird codiert durch die Bitfolge, die zu diesem Blatt führt. Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 42

43 Beispiele Huffman-Codierung Zeichenkette: helloworld Zeichen gesamt: 10; verschiedene Zeichen: 7 Bits/Zeichen: 3 Gesamtlänge: 30 Bits Huffman: 10 h: e: l: 10 o: w: r: d: h e l l o w o r l d h e l o w r d Bits: 27; Kompression: 10% Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 43

44 Beispiele Huffman-Codierung Vorteile: gute Kompression(häufige Elemente benötigen weniger Bits) verlustfrei Nachteile: Codiertabelle muss mitgespeichert werden Häufigkeit der Elemente muss bekannt sein Ein Übertragungsfehler(1 falsches Bit) kann den ganzen Rest zerstören Verwendung: Bilder (JPG, PNG, TIFF) Audio (MP3) Video (HDTV) Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 44

45 Beispiele Huffman-Codierung Deutscher Standarttext a: b: c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z: Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 45

46 Beispiele Münzwechsel-Problem Mit welchen Münzen zahle ich, um möglichst wenige Münzen zu verwenden. Gegeben: Münzwert, Betrag zum Zahlen Gesucht: Geringste Münzanzahl Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 46

47 Beispiele Münzwechsel-Problem Gierige Lösung: 1. Sortiere Münzwerte absteigend 2. Solange Restbetrag > 0 a) Nimm größtmögliche Münze b) Reduziere Restbetrag um den Wert dieser Münze 3. Fertig Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 47

48 Beispiele Münzwechsel-Problem Münzen: 200, 100, 50, 20, 10, 5, 2, 1 Betrag: 5,67 = 567 Betrag MünzeGesamt x x200, x200,100, x200,100,50,10 5 2x200,100,50,10,5 2 2x200,100,50,10,5,2 7 Münzen verwendet Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 48

49 Beispiele Münzwechsel-Problem There is always an easy solution to every human problem neat, plausible, and wrong. H. L. Mencken Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 49

50 Beispiele Münzwechsel-Problem Münzen: 100, 50, 25, 20, 10, 5, 1 Betrag: 90 Betrag MünzeGesamt , ,25, ,25,10,5 4 Münzen verwendet Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 50

51 Beispiele Münzwechsel-problem Münzen: 100, 50, 25, 20, 10, 5, 1 Betrag: 90 Aber wie wäre es mit: 50, 20, 20? = 90 3 Münzen verwendet Wie man sieht führt der gierige Algorithmus zwar zu einer guten Lösung, allerdings nicht zur Besten Problem ist mit DP lösbar Moderne Münzsysteme sind so aufgebaut, dass der gierige Algorithmus funktioniert Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 51

52 Beispiele weitere gierige Algorithmen Weitere gierige Algorithmen: Dijkstra (kürzeste Pfade) Kruskal (minimaler Spannbaum) Prim (minimaler Spannbaum) Topologische Sortierung Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 52

53 Zusammenfassung Gierige Algorithmen sind leicht zu implementierende Algorithmen, die meinst auf einem sehr intuitiven Ansatz basieren. Im Gegensatz zur DP benötigen sie sehr wenig Speicher, führen aber nicht immer zu optimalen Lösung Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 53

54 Quellen Thomas H. Cormen: Introduction to Algorithms Jon Kleinberg: Algorithm Design, Chapter 4 Mathijs de Weerd: Huffmancodes Jeff Erikson: Algorithms Christoph Erhardt: Gierige Algorithmen (HelloWorld: 2008) Wikipedia Hallo Welt für Fortgeschritten Gierige Algorithmen Michael Baer Folie 54

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

Mehr

Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Daniel Ziegler Daniel Ziegler Gierige Algorithmen

Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Daniel Ziegler Daniel Ziegler Gierige Algorithmen Gierige Algorithmen Seminar Hallo Welt! für Fortgeschrittene Daniel Ziegler 23.05.2016 Daniel Ziegler Gierige Algorithmen 23.05.2016 1 / 48 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie

Mehr

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen

Ü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

Mehr

Hallo Welt für Fortgeschrittene

Hallo 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

Mehr

Gierige Algorithmen Marcel Henninger. Hallo Welt -Seminar - LS 2 Gierige Algorithmen

Gierige 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

Gierige Algorithmen Interval Scheduling

Gierige Algorithmen Interval Scheduling Gierige Algorithmen Interval Scheduling IntervalScheduling(s,f). n length[s] 2. A {} 3. j 4. for i 2 to n do 5. if s[i] f[j] then 6. A A {i} 7. j i 8. return A Gierige Algorithmen Interval Scheduling Beweisidee:

Mehr

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. Anwendungen von Bäumen 4.3.2 Huffman Code Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. => nutzbar für Kompression Code fester

Mehr

Gierige Algorithmen. Tilman Adler Tilman Adler Gierige Algorithmen / 46

Gierige 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

Mehr

Vorlesung Datenstrukturen

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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Konzepte der Informatik

Konzepte 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

Mehr

Methoden für den Entwurf von Algorithmen

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

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Informatik II Greedy-Algorithmen

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

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 07.10.2016 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Rucksackproblem Dynamische Programmierung 07.10.2016

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 15.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Das Rucksackproblem 15.10.2015 Dr. Werner Struckmann

Mehr

Erinnerung: das Knapsack-Problem

Erinnerung: das Knapsack-Problem Erinnerung: das Knapsack-Problem Das 0-1-Knapsack-Problem: Wähle aus n egenständen, wobei der i-te egenstand den Wert v i und das ewicht w i besitzt Maximiere den esamtwert bei vorgegebenem Höchstgewicht

Mehr

Referat zum Thema Huffman-Codes

Referat zum Thema Huffman-Codes Referat zum Thema Huffman-Codes Darko Ostricki Yüksel Kahraman 05.02.2004 1 Huffman-Codes Huffman-Codes ( David A. Huffman, 1951) sind Präfix-Codes und das beste - optimale - Verfahren für die Codierung

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen 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

Mehr

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012 Algorithmen und Datenstrukturen Tafelübung 14 Jens Wetzl 8. Februar 2012 Folien Keine Garantie für Vollständigkeit und/oder Richtigkeit Keine offizielle Informationsquelle LS2-Webseite Abrufbar unter:

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Wintersemester 2012/13. Dr. Tobias Lasser. 7 Fortgeschrittene Datenstrukturen

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Wintersemester 2012/13. Dr. Tobias Lasser. 7 Fortgeschrittene Datenstrukturen Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 202/3 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen

Mehr

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

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen 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

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen 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

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

1.Aufgabe: Minimal aufspannender Baum

1.Aufgabe: Minimal aufspannender Baum 1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus

Mehr

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2 2. Juli 2 Copyright 2 Bernd

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

Konzepte der Informatik

Konzepte der Informatik Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Konzepte der Informatik Vorkurs Informatik zum WS 213/214 1.9. - 27.9.213 Dr. Werner Struckmann / Hendrik Freytag 1. April 21 Referent

Mehr

Algorithmentheorie. 10 Greedy Verfahren

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

Mehr

Übungsblatt 5 - Musterlösung

Übungsblatt 5 - Musterlösung Universität Mannheim Lehrstuhl für Praktische Informatik IV Prof. Dr. W. Effelsberg Christoph Kuhmünch, Gerald Kühne Praktische Informatik II SS 2000 Übungsblatt 5 - Musterlösung Aufgabe 1: Huffman-Codierung

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen 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/

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Greedy Algorithmen. Grundlegendes. Organisatorisches. VL-21: Greedy Algorithmen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger

Greedy Algorithmen. Grundlegendes. Organisatorisches. VL-21: Greedy Algorithmen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Organisatorisches VL-21: Greedy Algorithmen (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Grundlagen der Algorithmen und Datenstrukturen Kapitel 12

Grundlagen 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

Mehr

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

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

Mehr

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47 Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

Hallo Welt für Fortgeschrittene

Hallo 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

Mehr

Approximationsalgorithmen. 19. Dezember / 28

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

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Graphalgorithmen Netzwerkalgorithmen. Laufzeit Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{

Mehr

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden! Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Informatik II: Algorithmen & Datenstrukturen Montag, 29. August, 2014, 14:00 17:00 Name:...........................................................

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

RLE Arithm. Shannon Fano Huffman Grenzen. Komprimierung. Ingo Blechschmidt, Michael Hartmann. 6. Dezember 2006

RLE Arithm. Shannon Fano Huffman Grenzen. Komprimierung. Ingo Blechschmidt, Michael Hartmann. 6. Dezember 2006 RLE Arithm. Shannon Fano Huffman Grenzen Ingo Blechschmidt, Michael Hartmann 6. Dezember 2006 RLE Arithm. Shannon Fano Huffman Grenzen Inhalt 1 Lauflängenkodierung 2 Arithmetische Kodierung 3 Shannon Fano-Kodierung

Mehr

Codes und Codierung. Dr. Michael Hielscher

Codes und Codierung. Dr. Michael Hielscher Codes und Codierung Dr. Michael Hielscher Aus der Eingangsbefragung von Studierenden Ich weiss, wie Codes in unserem Alltag (z.b. Barcodes auf der Milchpackung) funktionieren. Ja 10.60% Teilweise 31.80%

Mehr

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus? Huffman-Code Dieser Text ist als Hintergrundinformation ausschliesslich für die Lehrperson gedacht. Der Text ist deshalb eher technisch gehalten. Er lehnt sich an das entsprechende Kapitel in "Turing Omnibus"

Mehr

Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Simulation und Graphik Prof. Dr. Holger Theisel

Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Simulation und Graphik Prof. Dr. Holger Theisel Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Simulation und Graphik Prof. Dr. Holger Theisel Magdeburg, 26.07.2011 Klausur Algorithmen und Datenstrukturen Matrikelnummer:

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut Datenkompression Holger Rauhut 1. September 2010 Skript für die Schülerwoche 2010, 8.-11.9.2010 Hausdorff Center for Mathematics, Bonn 1 Allgemeines Datenkompression hat zum Ziel, Daten in digitaler Form,

Mehr

Effiziente Algorithmen und Komplexitätstheorie

Effiziente Algorithmen und Komplexitätstheorie Fakultät für Informatik Lehrstuhl 2 Vorlesung Effiziente Algorithmen und Komplexitätstheorie Sommersemester 2008 Ingo Wegener; Vertretung: Carsten Witt 7. Juli 2008 Vorlesung am 14.07. (nächste Woche):

Mehr

9 Minimum Spanning Trees

9 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

Mehr

Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy

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

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Algorithmen & Komplexität

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

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum

Mehr

Wie wird ein Graph dargestellt?

Wie wird ein Graph dargestellt? Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet

Mehr

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

20. Dynamic Programming II

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

Mehr

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung Huffman-Codierung, arithmetische Codierung Theoretische Informatik RWTH-Aachen 4. April 2012 Übersicht 1 Einführung 2 3 4 5 6 Einführung Datenkompression Disziplin,die Kompressionsalgorithmen entwirft

Mehr

20. Dynamic Programming II

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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

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

Mehr

Datenstrukturen und Algorithmen D-INFK

Datenstrukturen 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

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Zeichenketten. Michael Fularczyk Michael Fularczyk Zeichenketten / 41

Zeichenketten. Michael Fularczyk Michael Fularczyk Zeichenketten / 41 Zeichenketten Michael Fularczyk 17.05.2011 Michael Fularczyk Zeichenketten 17.05.2011 1 / 41 Inhalt Zeichenketten Zeichensätze Darstellung Suchverfahren naive Stringsuche Knuth-Morris-Pratt Boyer-Moore

Mehr

Sortieren II / HeapSort Heaps

Sortieren 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

Mehr

Einleitung. Kapitel 1

Einleitung. Kapitel 1 Kapitel 1 Einleitung In diesem Abschnitt geben wir einen kurzen Überblick über den Inhalt der Vorlesung. Wir werden kurz die wesentlichen Probleme erläutern, die wir ansprechen wollen. Wir werden auch

Mehr

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php? Algorithmen I Prof. Jörn Müller-Quade 05.07.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik

Mehr

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

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

Mehr

Seminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann

Seminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann Seminar über Algorithmen, SS2004 Textkompression von Christian Grümme und Robert Hartmann 1. Einleitung Textkompression wird zur Verringerung des Speicherbedarfs und der Übertragungskapazität von allgemeinen

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

Grundbegriffe der Informatik Tutorium 3

Grundbegriffe der Informatik Tutorium 3 Grundbegriffe der Informatik Tutorium 3 Tutorium Nr. 16 Philipp Oppermann 18. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen 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:...................................................

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Entwurf und Analyse von Datenstrukturen

Entwurf und Analyse von Datenstrukturen Entwurf und Analyse von Datenstrukturen Sommersemester 2013 1. Termin: 17. April 2013 Jan-Henrik Haunert ehem. Mathebau, Raum E27 jan.haunert@uni-wuerzburg.de Alexander Wolff ehem. Mathebau, Raum E29 alexander.wolff@uni-wuerzburg.de

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen und Sortieren Sortieren. Heaps Suchen und Heaps (Folie 156, Seite 56 im Skript) Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die letzte Ebene vollständig besetzt ist,

Mehr

Greedy Algorithms - Gierige Algorithmen

Greedy 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

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Graphen 9/1 Begriffsdefinitionen Ein Graph besteht aus Knoten und Kanten. Ein Knoten(Ecke) ist ein benanntes Objekt. Eine Kante verbindet zwei Knoten. Kanten haben ein Gewicht

Mehr

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Sven Grothklags University of Paderborn 10. Juli 2006 Sven Grothklags (University of Paderborn) DuA Übungsblatt 13 10. Juli 2006 1

Mehr

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

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Algorithmentheorie 1. Vorlesung

Algorithmentheorie 1. Vorlesung Algorithmentheorie. Vorlesung Martin Dietzfelbinger 6. April 2006 Methode, Material Vorlesung Vorlesungsskript (Netz, Copyshop) Folien (im Netz) Vorlesung nachbereiten! Übung Übungsblätter (im Netz) Übung

Mehr

Tutoraufgabe 1 (Starke Zusammenhangskomponenten):

Tutoraufgabe 1 (Starke Zusammenhangskomponenten): für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Allgemeine Hinweise: Datenstrukturen und Algorithmen SS1 Übungsblatt (Abgabe 4.0.01) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

12. AuD Tafelübung T-C3

12. AuD Tafelübung T-C3 12. AuD Tafelübung T-C3 Simon Ruderich 2. Februar 2011 Kollisionen (Primär)Kollision Stelle mit normal eingefügtem Element schon belegt (gleicher Hashwert) tritt bei verketteten Listen und Sondierung auf

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Zahlentheorie, Arithmetik und Algebra II Benjamin Fischer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Lineare Rekursion BigInteger Chinesischer

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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

Mehr

Algorithmen I. Tutorium Sitzung. Dennis Felsing

Algorithmen 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

Mehr

Mathematik für Information und Kommunikation

Mathematik für Information und Kommunikation Mathematik für Information und Kommunikation Am Beispiel des Huffman- Algorithmus Thomas Borys und (Christian Urff) Huffman im Alltag MPEG Telefax JPEG MP3 ZIP avid Huffman avid Huffman [95-999] www.soe.ucsc.edu/people/faculty/huffman.html

Mehr

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Fachhochschule Wedel Seminararbeit Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Sven Reinck 7. Januar 2007 Inhaltsverzeichnis Inhaltsverzeichnis Motivation 2 Wörterbuch 2.

Mehr

Eine verlustbehaftete Komprimierung ist es, wenn wir einige Kleidungsstücke zu

Eine verlustbehaftete Komprimierung ist es, wenn wir einige Kleidungsstücke zu Komprimierungen In Netzwerken müssen viele Daten transportiert werden. Dies geht natürlich schneller, wenn die Datenmengen klein sind. Um dies erreichen zu können werden die Daten komprimiert. Das heisst,

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Heaps Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 469 Prioritätswarteschlange Problem Häufig ist das Prinzip einer einfachen Warteschlangen-Datenstruktur

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

Mehr