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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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 Hartmann, David Korzeniewski, Björn Tauer Webseite: SS 2017, RWTH Nächste Vorlesung: Dienstag, Juli 18, Aula 1, zur gewohnten Zeit DSAL/SS 2017 VL-21: Greedy Algorithmen 1/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 2/9 Greedy Algorithmen Grundlegendes optimal versus gut versus schlecht Grundlegendes Sequentielle Speicherung Stundenplanung Huffman Codes DSAL/SS 2017 VL-21: Greedy Algorithmen /9 DSAL/SS 2017 VL-21: Greedy Algorithmen 4/9

2 Greedy Algorithmen Greedy Algorithmen (greedy = gierig) Trifft in jedem Schritt eine Entscheidung, die bezüglich eines kurzsichtigen Kriteriums optimal ist. Dieses Kriterium ist einfach und schnell auszuwerten. Wenn eine Wahl getroffen wurde, kann sie nicht mehr rückgängig gemacht werden. Greedy Algorithmen finden nicht immer die beste Lösung: Wiederholte Wahl eines lokalen Optimums führt nicht automatisch zum globalen Optimum Greedy kann optimal sein (Beispiel folgt) Greedy kann gut sein (Beispiel folgt) Greedy kann beliebig schlecht sein (Beispiel folgt) Greedy: kann optimal sein Wiederholung aus VL-16: Minimale Spannbäume Eingabe: ein gewichteter zusammenhängender Graph G mit n Knoten Ausgabe: ein minimaler Spannbaum von G Kruskal s Algorithmus So lange weniger als n 1 Kanten markiert sind: 1. Wähle eine billigste unmarkierte Kante 2. Markiere sie, falls sie keinen Kreis mit anderen markierten Kanten schliesst Bei Terminierung bilden die markierten Kanten einen MST n 1 kurzsichtige, lokale Entscheidungen ergeben globales Optimum DSAL/SS 2017 VL-21: Greedy Algorithmen 5/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 6/9 Greedy: kann gut sein Greedy: kann beliebig schlecht sein (1) Wiederholung aus VL-18: Matchings Eingabe: ein ungerichteter Graph G = (V, E) Ausgabe: ein Matching mit maximaler Kardinalität Greedy Algorithmus Wiederhole so lange es geht: Markiere neue Kante, die mit keiner markierten Kante kollidiert Bei Terminierung bilden die markierten Kanten ein Matching M Kardinalität von Greedy Matching M ist mindestens 50% der Kardinalität des optimalen Matchings (Beweis: Jede Greedy Kante blockiert 2 optimale Kanten) Knotenfärbungsproblem für Graphen Gegeben: ein ungerichteter Graph G = (V, E) Ziel: Färbe die Knoten in V mit möglichst wenigen Farben, sodass benachbarte Knoten immer verschiedene Farben erhalten Offizielle Definition Eine Färbung ist eine Funktion f : V {1,..., k} sodass f (x) f (y) für alle {x, y} E gilt. Die chromatische Zahl χ(g) ist die kleinste Zahl k, für die eine derartige Färbung der Knoten existiert. χ(k n ) = n Für jeden Baum T mit mindestens zwei Knoten gilt χ(t ) = 2 Für n 1 gilt χ(c 2n+1 ) = DSAL/SS 2017 VL-21: Greedy Algorithmen 7/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 8/9

3 Greedy: kann beliebig schlecht sein (2) Greedy Algorithmus für Knotenfärbung So lange es einen ungefärbten Knoten gibt: 1. Wähle einen beliebigen Knoten v 2. Färbe Knoten v mit der kleinstmöglichen legalen Farbe Beispiel Wir betrachten bipartiten Graphen mit Knoten x 1,... x n und y 1,... y n Kanten {x i, y j } E genau dann wenn i j Sequentielle Speicherung Falls Greedy die Reihenfolge x 1, y 1, x 2, y 2, x, y,... x n, y n verwendet, so braucht Greedy n verschiedene Farben Aber: χ(g) = 2!! DSAL/SS 2017 VL-21: Greedy Algorithmen 9/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 10/9 Sequentielle Speicherung Sequentielle Speicherung: Analyse Problem: Dateien am Magnetband Eingabe: 1. Dateien D 1,..., D n mit Längen L[1],..., L[n] 2. Ein Magnetband Ausgabe: Eine Anordnung der Dateien auf dem Magnetband, die die durchschnittliche Lesezeit minimiert. Problem Eingabe: Zahlen L[1],..., L[n] Ausgabe: Permutation π, die 1 n (n k + 1) L[π(k)] minimiert k=1 Angenommen, die Dateien sind in Reihenfolge D 1,..., D n abgespeichert Bei jedem Lesezugriff wird das Band vom Anfang an gelesen, bis korrekte Datei gefunden Lesezeit für D k ist dann k L[i] Durchschnittliche Lesezeit beträgt dann 1 n k=1 k L[i] = 1 n (n k + 1) L[k] k=1 Angenommen, an Stelle k liegt Datei mit Länge x und an Stelle k + 1 liegt Datei mit Länge y < x Beitrag zur Zielfunktion ist (n k + 1)x + (n k)y Vertauschen der Dateien liefert neuen Beitrag (n k + 1)y + (n k)x Neuer Beitrag ist besser/kleiner DSAL/SS 2017 VL-21: Greedy Algorithmen 11/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 12/9

4 Sequentielle Speicherung: Lösung Satz / Folgerung / Zusammenfassung Um die durchschnittliche Lesezeit zu minimieren, müssen Dateien nach monoton steigender Länge abgespeichert werden. Greedy Algorithmus für Sequentielle Speicherung So lange noch (ungespeicherte) Dateien vorhanden sind: 1. Wähle eine kürzeste Datei 2. Speichere die Datei an der nächsten Stelle am Band ab Resultierende Laufzeit ist O(n log n) Variante mit Wahrscheinlichkeiten Problem Eingabe: 1. Dateien D 1,..., D n 2. Längen L[1],..., L[n] der Dateien. Zugriffswahrscheinlichkeiten p[1],..., p[n] der Dateien (wobei Summe der p[i] gleich 1) Ausgabe: Eine Anordnung der Dateien auf dem Magnetband, die die erwartete Lesezeit minimiert. Angenommen, die Dateien sind in Reihenfolge D 1,..., D n abgespeichert Lesezeit für D k ist dann k L[i] Durchschnittliche Lesezeit beträgt dann p[k] k=1 k L[i] = L[i] p[k] k=i DSAL/SS 2017 VL-21: Greedy Algorithmen 1/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 14/9 Variante mit Wahrscheinlichkeiten: Analyse Angenommen, an Stelle k liegt Datei mit Länge x und Wahrscheinlichkeit p an Stelle k + 1 liegt Datei mit Länge y und Wahrscheinlichkeit q k 1 Beitrag = (p + q) L[i] + (x + y) j=k+2 p[j] + px + qy + qx Beitrag nach Vertauschen der beiden Dateien k 1 = (p + q) L[i] + (x + y) p[j] + px + qy + py j=k+2 Genaues Hingucken liefert: alter Beitrag < neuer Beitrag genau dann wenn qx < py Variante mit Wahrscheinlichkeiten: Lösung Angenommen, an Stelle k liegt Datei mit Länge x und Wahrscheinlichkeit p an Stelle k + 1 liegt Datei mit Länge y und Wahrscheinlichkeit q alter Beitrag < neuer Beitrag genau dann wenn qx < py alter Beitrag < neuer Beitrag genau dann wenn x/p < y/q Satz / Folgerung / Zusammenfassung Um die erwartete Lesezeit zu minimieren, müssen die Dateien nach monoton steigendem Quotienten L[i]/p[i] abgespeichert werden. Wir erhalten einfachen Greedy Algorithmus Kurze und populäre Dateien am Anfang des Bandes Lange und unpopuläre Dateien am Ende des Bandes Resultierende Laufzeit ist O(n log n) DSAL/SS 2017 VL-21: Greedy Algorithmen 15/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 16/9

5 Stundenplanung: Beispiel Stundenplanung DSAL/SS 2017 VL-21: Greedy Algorithmen 17/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 18/9 Stundenplanung: Beispiel Stundenplanung: Problemstellung Problem: Stundenplanung Eingabe: 1. Vorträge V 1,..., V n 2. Startzeiten L[1],..., L[n] der Vorträge. Endzeiten R[1],..., R[n] der Vorträge Ausgabe: Eine möglichst grosse Teilmenge von Vorträgen, die zeitlich nicht überlappen DSAL/SS 2017 VL-21: Greedy Algorithmen 19/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 20/9

6 Stundenplanung: Beispiel, umgeordnet Greedy Algorithmus 1 Sortiere Vortraege nach ansteigendem Endpunkt R[ i] 2 // R [1] <= R [2] <=... <= R[n] 4 count = 1; 5 Loesung [ count ] = 1; 6 7 for (i =2; i <=n; i ++) { 8 if (L[i] > R[ count ]) 9 { Loesung [++ count ] = i; } 10 } return Loesung [1.. count ]; DSAL/SS 2017 VL-21: Greedy Algorithmen 21/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 22/9 Korrektheit (1) Korrektheit (2) Wir nehmen R[1] R[2] R[] R[n] an Satz Es gibt eine optimale Lösung des Stundenplanung-Problems, die Vortrag V 1 (mit kleinstem rechten Endpunkt R[1]) verwendet. Beweis: Betrachte beliebige optimale Lösung X, die V 1 nicht verwendet Betrachte Vortrag V k in X mit kleinstem rechten Endpunkt R[k] Dann gilt R[k] R[1] Wir können problemlos in X den Vortrag V k durch V 1 ersetzen Neue zulässige Lösung mit gleich vielen Vorträgen wie X Ergo: neue Lösung ebenfalls optimal Wir nehmen R[1] R[2] R[] R[n] an Satz Der Greedy Algorithmus berechnet eine optimale Lösung. Beweis: Wir betrachten optimale Lösung X, die V 1 enthält Dann enthält X keinen Vortrag, der mit V 1 überlappt Wir löschen V 1 und alle überlappenden Vorträge Wir argumentieren induktiv für die weiteren Vorträge DSAL/SS 2017 VL-21: Greedy Algorithmen 2/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 24/9

7 Anmerkung zu Greedy Algorithmen Die Korrektheitsargumente für den Greedy Algorithmus zur sequentiellen Speicherung und für den Greedy Algorithmus zur Stundenplanung sind ganz ähnlich strukturiert. Intermezzo: Anmerkung zu Greedy Algorithmen Angenommen, es gibt eine optimale Lösung, die sich von der Greedy Lösung unterscheidet Finde den ersten Unterschied zwischen den beiden Lösungen Argumentiere, dass man die optimale Entscheidung durch die Greedy Entscheidung ersetzen kann, ohne die Qualität zu verschlechtern Sequentielle Speicherung: kleinster Index mit L[π(k)] > L[π(k + 1)] Stundenplanung: frühester Vortrag mit (lokal) nicht-kleinstem rechten Endpunkt DSAL/SS 2017 VL-21: Greedy Algorithmen 25/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 26/9 Definitionen (1) Huffman Codes Ein Binär-Code kodiert jeden Buchstaben eines Alphabets Σ durch einen String von 0en und 1en Ein Binär-Code ist präfix-frei, wenn kein Codewort der Präfix eines anderen Codeworts ist. Beispiel 7-Bit ASCII kodiert jeden Buchstaben durch einen String mit 7 Bits. 7-Bit ASCII ist ein präfix-freier Binär-Code. Der Morse-Code ist ein Binär-Code. Der Morse-Code ist nicht präfix-frei: Codewort für A ( ) ist Präfix des Codeworts für J ( ) DSAL/SS 2017 VL-21: Greedy Algorithmen 27/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 28/9

8 Definitionen (2) Jeder präfix-freie Binär-Code kann durch Binär-Baum dargestellt werden: Die Buchstaben des Alphabets Σ sind in den Blättern Das Codewort für Buchstaben entspricht Pfad von Wurzel zu Blatt Entlang des Pfades gilt: Links=0 und Rechts=1 Länge des Codeworts = Tiefe des Blattes im Baum Definitionen () Optimierungsziel: Kodierte Botschaften sollen so kurz wie möglich sein Problem: Optimaler präfix-freier Binär-Code Eingabe: 1. Ein Alphabet Σ mit n Buchstaben 2. Die Texthäufigkeiten h 1, h 2,..., h n der Buchstaben Ausgabe: Ein präfix-freier Binär-Code, der die Gesamtlänge der kodierten Botschaft minimiert: k Gesamtlänge = h i Tiefe[i] DSAL/SS 2017 VL-21: Greedy Algorithmen 29/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 0/9 Beispiel (1) Beispiel (2) A C D E F G H I L N O R S T U V W X Y Z S 27 H 8 16 W N T I 1 E 26 8 O 9 F 5 V 5 Y 5 R X 4 4 A C G L 2 U 2 D 2 Z 1 DSAL/SS 2017 VL-21: Greedy Algorithmen 1/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 2/9

9 Huffman Algorithmus David Albert Huffman ( ): Amerikanischer Computer Scientist; MIT; UC Santa Cruz Greedy Algorithmus (Huffman, 1951) So lange zwei oder mehr Buchstaben vorhanden sind: 1. Verschmilz die beiden Buchstaben mit kleinster Häufigkeit h und h 2. Das verschmolzene Resultat erhält Häufigkeit h + h Implementierung: mit MinHeap (ExtractMin; Insert) Huffman Algorithmus Build-Huffman-Tree 1 void HuffmanTree ( int & frequency [2n], 2 &L[2n], &R[2n], & parent [2n]) { 4 for (i =1; i <=n; i ++) { 5 L[i ]=0; R[i ]=0; 6 insert (i, frequency [ i]) 7 } 8 9 for (i=n +1; i <=2n -1; i ++) { 10 x= ExtractMin (); 11 y= ExtractMin (); 12 frequency [ i] = frequency [ x]+ frequency [ y] 1 L[ i]= x; R[ i]=y; 14 parent [ x]=i; parent [ y]=i; 15 Insert (i, frequency [ i]) 16 } parent [2n -1]= 0; 19 } DSAL/SS 2017 VL-21: Greedy Algorithmen /9 DSAL/SS 2017 VL-21: Greedy Algorithmen 4/9 Korrektheit (1) Korrektheit (2) Unser Ziel: Wir wollen nun zeigen, dass der Huffman Algorithmus für jede Folge h 1,..., h n von Häufigkeiten einen optimalen präfix-freien Binär-Code berechnet. Die Fälle n 2 sind trivial. Wir nehmen von jetzt an n an. Beobachtung Wir betrachten einen optimalen präfix-freien Binär-Code. Es sei b ein Blatt mit maximaler Tiefe im entsprechenden Binär-Baum. Dann gibt es ein anderes Blatt b, das die selbe Tiefe und den selben Vater wie b hat. Beobachtung Es seien a mit Häufigkeit h a und b mit Häufigkeit h b zwei Buchstaben mit geringster Häufigkeit. Dann existiert ein optimaler präfix-freier Binär-Code, in dessen Baum die beiden Buchstaben a und b 1. Geschwister sind, und 2. zwei Blätter mit maximaler Tiefe sind. Beweis: Andernfalls vertauschen wir Blatt a mit Blatt x mit maximaler Tiefe Tiefe[a] = alte Tiefe von a; Tiefe[x] = alte Tiefe von x Man rechnet leicht nach: h a Tiefe[a] + h x Tiefe[x] h a Tiefe[x] + h x Tiefe[a] DSAL/SS 2017 VL-21: Greedy Algorithmen 5/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 6/9

10 Korrektheit () Wir betrachten Häufigkeiten H = (h 1,..., h n ) mit h 1 h 2 h n Es sei T der optimale Baum für H OBdA: Die beiden Buchstaben mit Häufigkeiten h n 1 und h n sind Blätter in T, mit maximaler Tiefe und mit selbem Vater Wir konstruieren neuen Baum T : Wir verschmelzen diese beiden Blätter mit Vater, und geben Vater v die Häufigkeit h := h n 1 + h n Tiefe[v ] = Tiefe[n] 1 cost(t ) = k h i Tiefe[i] = cost(t ) + h n 1 Tiefe[n] + h n Tiefe[n] h Tiefe[v ] = cost(t ) + (h n 1 + h n h ) Tiefe[n] + h = cost(t ) + (h n 1 + h n ) Korrektheit (4) Aus der Gleichung cost(t ) = cost(t ) + (h n 1 + h n ) folgt, dass wir nur die Kosten von T minimieren müssen, falls wir die Kosten von T minimieren wollen Restproblem: Finde einen optimalen präfix-freien Binär-Code für die Häufigkeiten H = (h 1, h 2,..., h n 2, h n 1 + h n ) Induktives Argument: Huffman liefert optimalen Binär-Baum für H Ergo: Huffman liefert optimalen Binär-Baum für H Satz Der Huffman Algorithmus bestimmt für jede Häufigkeits-Verteilung einen optimalen präfix-freien Binär-Code. DSAL/SS 2017 VL-21: Greedy Algorithmen 7/9 DSAL/SS 2017 VL-21: Greedy Algorithmen 8/9 Organisatorisches Nächste Vorlesung: Dienstag, Juli 18, Aula 1, zur gewohnten Zeit Webseite: DSAL/SS 2017 VL-21: Greedy Algorithmen 9/9

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

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

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

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

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr

durch Einfügen von Knoten konstruiert werden kann.

durch Einfügen von Knoten konstruiert werden kann. Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9

Mehr

Minimale Spannbäume. Übersicht. 1 Spannbäume. 2 Minimale Spannbäume. 3 Greedy Algorithmen. 4 Die Algorithmen von Kruskal und Prim

Minimale Spannbäume. Übersicht. 1 Spannbäume. 2 Minimale Spannbäume. 3 Greedy Algorithmen. 4 Die Algorithmen von Kruskal und Prim Datenstrukturen und Algorithmen Vorlesung 16: (K23) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-1/dsal/ 12. Juni 201

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

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

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt: 3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

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

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

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

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

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

4. Welchen Zusammenhang gibt es zwischen den Eckengraden und der Anzahl der Kanten eines ungerichteten Graphen?

4. Welchen Zusammenhang gibt es zwischen den Eckengraden und der Anzahl der Kanten eines ungerichteten Graphen? Kapitel 7 Graphentheorie Verständnisfragen Sachfragen 1. Was ist ein ungerichteter Graph? 2. Erläutern Sie den Begriff Adjazenz! 3. Erläutern Sie den Eckengrad in einem Graphen! 4. Welchen Zusammenhang

Mehr

Minimale Spannbäume. Organisatorisches. VL-16: Minimale Spannbäume. (Datenstrukturen und Algorithmen, SS 2017) Walter Unger. Spannbaum Probleme

Minimale Spannbäume. Organisatorisches. VL-16: Minimale Spannbäume. (Datenstrukturen und Algorithmen, SS 2017) Walter Unger. Spannbaum Probleme Organisatorisches VL-1: Minimale Spannbäume (Datenstrukturen und Algorithmen, SS 2017) Walter Unger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann,

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

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

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

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

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

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen

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

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

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 13. Übung minimale Spannbäume, topologische Sortierung, AVL-Bäume Clemens Lang Übungen zu AuD 4. Februar 2010 Clemens Lang (Übungen zu AuD) Algorithmen und Datenstrukturen

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

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

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

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

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

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,... Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings

Mehr

Übungsblatt 2 - Lösung

Übungsblatt 2 - Lösung Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer

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

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Untere Schranken, Entscheidungsbäume, Yao s Min-Max-Lemma

Untere Schranken, Entscheidungsbäume, Yao s Min-Max-Lemma Untere Schranken, Entscheidungsbäume, Yao s Min-Max-Lemma Proseminar: Die P-ungleich-NP-Vermutung (SS 2012) Yassine Marrakchi, Yuanfan Wang 15. Juni 2012 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität

Mehr

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

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

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

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

Berechnung minimaler Spannbäume. Beispiel

Berechnung minimaler Spannbäume. Beispiel Minimale Spannbäume Definition Sei G pv, Eq ein ungerichteter Graph und sei w : E Ñ R eine Funktion, die jeder Kante ein Gewicht zuordnet. Ein Teilgraph T pv 1, E 1 q von G heißt Spannbaum von G genau

Mehr

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE

Mehr

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

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

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

William Rowan Hamilton,

William Rowan Hamilton, 3.2.2 Hamiltonkreise Definition 130. In einem Graph G = (V,E) nennt man einen Kreis, der alle Knoten aus V genau einmal durchläuft, einen Hamiltonkreis. Enthält ein Graph eine Hamiltonkreis, nennt man

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

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:

Mehr

Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.

Kurs 1663 Datenstrukturen Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur

Mehr

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek

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

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

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

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

Mehr

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. 8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 5. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 05.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E.

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E. Knotenfärbung Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E. Die chromatische Zahl χ(g) eines Graphen G ist die minimale

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). 8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame

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

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) WS 2011/12 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2011ws/ds/uebung/ 25. Januar 2012 ZÜ DS ZÜ XIII

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

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

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

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

OR für Wirtschaftsingenieure. Übungsserie 7: Färbungen von Graphen

OR für Wirtschaftsingenieure. Übungsserie 7: Färbungen von Graphen HTWD, Fakultät Informatik/Mathematik Prof. Dr. M. Voigt Operations Research allgemeine Optimierungsmethoden OR für Wirtschaftsingenieure Übungsserie : Färbungen von Graphen Aufgabe 1 : Wieviele Farben

Mehr

10. Übungsblatt zu Algorithmen I im SS 2010

10. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php

Mehr

Lösungen zu Kapitel 5

Lösungen zu Kapitel 5 Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

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 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

Graphen und Algorithmen

Graphen und Algorithmen Graphen und Algorithmen Vorlesung #8: Färbungsprobleme Dr. Armin Fügenschuh Technische Universität Darmstadt WS 2007/2008 Übersicht Knotenfärbung (vs. Kanten- & Kartenfärbung) Satz von Brooks Algorithmen

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

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

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem...

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem... Inhaltsverzeichnis 4 Färbungen 41 4.1 Begriffe....................... 41 4.2 Komplexität..................... 42 4.3 Greedy-Algorithmus................ 42 4.4 Knotenreihenfolgen................. 43 4.5

Mehr

Minimal spannende Bäume

Minimal spannende Bäume Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu

Mehr

3. Musterlösung. Problem 1: Heapsort

3. Musterlösung. Problem 1: Heapsort Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner 3. Musterlösung Problem : Heapsort ** 2 3 4 5 Algorithmus : Heapsort (A) Eingabe : Array A der Länge n Ausgabe : Aufsteigend

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

Textkomprimierung. Stringologie. Codes. Textkomprimierung. Alle Komprimierung beruht auf Wiederholungen im Text. Textkomprimierung

Textkomprimierung. Stringologie. Codes. Textkomprimierung. Alle Komprimierung beruht auf Wiederholungen im Text. Textkomprimierung Stringologie Peter Leupold Universität Leipzig Vorlesung SS 2014 Alle Komprimierung beruht auf Wiederholungen im Text Die Komprimierung muss rückgängig gemacht werden können Je kleiner das Alphabet, desto

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

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015 Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.

Mehr

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 13. November 2007 1 / 84 2 / 84 Gliederung stest und Schnittkanten älder und Bäume minimal aufspannende Bäume Der Satz von Menger 2-zusammenhängende

Mehr

Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4

Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4 Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS 2015 http://www.fmi.informatik.uni-stuttgart.de/alg Institut für Formale Methoden der Informatik Universität Stuttgart Übungsblatt 4 Punkte: 50 Problem

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

10. Übungsblatt zu Algorithmen I im SoSe 2016

10. Übungsblatt zu Algorithmen I im SoSe 2016 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. r. ennis ofheinz Lukas arth, Lisa Kohl 0. Übungsblatt zu lgorithmen I im SoSe 0 https://crypto.iti.kit.edu/index.php?id=algo-sose

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

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 22. Vorlesung Tiefensuche und Topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Vorlesungsumfrage Nutzen Sie die Vorlesungsbefragung

Mehr