Effiziente Algorithmen
|
|
- Bastian Meinhardt
- vor 5 Jahren
- Abrufe
Transkript
1 Effiziente Algorithmen Greedy-Algorithmen Vorlesender: Martin Aumüller (nah Folien von Prof. Martin Dietzfelbinger) Mai 2012 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
2 Kapitel 3: Greedy-Algorithmen Greedy -Algorithmen sind anwendbar bei Konstruktionsaufgaben zum Finden einer optimalen Struktur. Sie finden eine Lösung, die sie shrittweise aufbauen, ohne zurükzusetzen. Es werden dabei niht mehr Teillösungen konstruiert als unbedingt nötig. greedy (engl.): gierig. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
3 Beispiel 1: Hörsaalbelegung 3.1 Zwei Beispiele Gegeben: Veranstaltungsort (Hörsaal), Zeitspanne [T 0, T 1 ) und eine Menge von n Aktionen (Vorlesungen oder ähnlihes), durh Start- und Endzeit spezifiziert: [s i, f i ), für 1 i n. Gesuht: Belegung des Hörsaals, die möglihst viele Ereignisse mit disjunkten Zeitspannen stattfinden lässt. Nenne eine Menge A {1,..., n} zulässig, wenn alle [s i, f i ), i A, disjunkt sind. Aufgabe, formal: Finde zulässige Menge A mit A so groß wie möglih. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
4 T 0 T 1 Eingabe: Aktionen mit Beginn und Ende FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
5 T 0 T 1 Zulässige Lösung mit 4 Aktionen. Optimal? FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
6 T 0 T 1 Zulässige Lösung mit 5 Aktionen. Optimal? FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
7 Ansätze, die niht funktionieren: Zuerst kurze Ereignisse planen T 0 T 1 Immer ein Ereignis mit möglihst früher Anfangszeit wählen T 0 T 1 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
8 Trik: Bearbeite Ereignisse nah wahsenden Shlusszeiten. O.B.d.A.: Veranstaltungen nah Shlusszeiten aufsteigend sortiert (Zeitaufwand O(n log n)), also: f 1 f 2 f n T 0 T 1 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
9 Wiederhole: Wähle die wählbare Aktion mit der kleinsten Shlusszeit und füge sie zum Belegungsplan hinzu. Eine Aktion ist wählbar, wenn ihre Startzeit mindestens so groß wie die Shlusszeit der letzten shon geplanten Veranstaltung ist. T 0 T 1 Ausgabe von GS: Zulässige Lösung. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
10 Algorithmus Greedy Sheduling (GS) Eingabe: [T 0, T 1 ), [s 1, f 1 ),..., [s n, f n ), nihtleere reelle Intervalle, [s i, f i ) [T 0, T 1 ) Ausgabe: Maximal großes A {1,..., n} mit [s i, f i ), i A disjunkt (1) Sortiere Intervalle gemäß f 1,..., f n aufsteigend; (2) A {1}; (3) f last f 1 ; (4) for i from 2 to n do (5) if s i f last then ( [s i, f i )wählbar ) (6) A A {i}; (7) f last f i ; (8) return A FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
11 Satz Der Algorithmus Greedy Sheduling (GS) hat lineare Laufzeit (bis auf die Sortierkosten von O(n log n)) und löst das Hörsaalplanungsproblem optimal. Beweis: Laufzeit: Sortieren kostet Zeit O(n log n); der restlihe Algorithmus hat offensihtlih Laufzeit O(n). Korrektheit: Wir behaupten: Algorithmus GS liefert auf Inputs mit Größe n eine optimale Lösung, und beweisen dies durh vollständige Induktion. Der Fall n = 1 ist trivial. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
12 Sei nun n > 1. I.V.: GS liefert für Inputs der Länge n < n eine optimale Lösung. Ind.-Shritt: Sei B {1,..., n} eine optimale Lösung, B = r. (Im Beispiel: r = 5.) T 0 T 1 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
13 1. Beobahtung: Es gibt eine Lösung B, die mit dem Intervall [s 1, f 1 ) (dem ersten Shritt des Greedy-Algorithmus) startet und ebenfalls r Ereignisse hat. (Also ist B auh optimal.) T 0 T 1 Setze B := (B {min(b)}) {1}. Intervalle aufsteigend sortiert f 1 f min(b). FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
14 2. Beobahtung: Die Menge B {min(b)} löst das Teilproblem ( ) [f 1, T 1 ), {[s i, f i ) s i f 1 } optimal, das heißt: in [f 1, T 1 )können maximal r 1 Ereignisse untergebraht werden. Wieso? Sonst würden wir [s 1, f 1 ) mit einer besseren Lösung für ( ) zu einer besseren Lösung für das Gesamtproblem kombinieren: Widerspruh zur Optimalität von B. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
15 3. Beobahtung: Algorithmus GS auf Eingabe {[s i, f i ) 1 i n} hat ab Iteration i =2 genau dasselbe Verhalten wie wenn man GS auf [f 1, T 1 ), {[s i, f i ) s i f 1 } starten würde. Nah I.V. liefert also dieser Teil des Algorithmus eine optimale Lösung mit r 1 Ereignissen für ( ). Also liefert Greedy Sheduling insgesamt eine optimale Lösung der Größe r. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
16 Beispiel 2: Fraktionales ( teilbares ) Ruksakproblem Veranshaulihung: Ein Dieb stiehlt Säkhen mit Edelmetallkrümeln, die beliebig teilbar sind. Der Wert pro Volumeneinheit ist untershiedlih für untershiedlihe Materialien. Was soll er in seinen Ruksak mit Volumen b paken, um den Wert zu maximieren? Gegeben: n Objekte mit positiven Volumina a 1,..., a n und positiven Nutzenwerten 1,..., n, sowie eine Volumenshranke b. Gesuht: Vektor (λ 1,..., λ n ) [0, 1] n, so dass λ 1 a λ n a n b ( zulässig ) und λ λ n n maximal. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
17 Beim 0-1-Ruksakproblem werden nur 0-1-Vektoren mit λ i {0, 1} zugelassen. Mitteilung (im Vorgriff auf BuK, 5. Sem.): Die {0, 1}-Version ist NP-vollständig, besitzt also wahrsheinlih keinen effizienten Algorithmus. Das fraktionale Ruksakproblem ist mit einem Greedy-Algorithmus in Zeit O(n log n) lösbar. Kern der Lösungsidee: Berehne Nutzendihte d i = i /a i, 1 i n, und sortiere die Objekte gemäß d i fallend. Nehme von vorne beginnend möglihst viele ganze Objekte, bis shließlih das letzte Objekt teilweise genommen wird, so dass die Gewihtsshranke vollständig ausgenutzt wird. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
18 a a 2 a a 3 n Input, sortiert nah Nutzendihte d i = i /a i. Höhe von Kasten Nummer i ist d i = i /a i. Breite ist a i. Flähe ist i. b n FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
19 Algorithmus Greedy Frational Knapsak (GFKS) (1) for i from 1 to n do (2) d i i /a i ; (3) λ i 0; (4) Sortiere Objekte gemäß d i fallend; (5) i 0; (6) r b; (* Inhalt r ist das verfügbare Rest-Volumen *) (7) while r > 0 do (8) i++; (9) if a i r (10) then λ i 1; r r a i ; (11) else λ i r/a i ; (12) r 0; FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
20 a a 2 a a 3 n b n a a 2 a a 3 n FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester Vom Greedy-Algorithmus gelieferte Lösung. b n
21 a a 2 a a 3 n b n 1 a a 2 a a 3 n b n Anshaulih: Greedy-Lösung nie shlehter als beliebige Lösung. Gleih: Vollständiger Beweis. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
22 Satz Der Algorithmus GFKS ist korrekt (liefert eine zulässige Lösung mit maximalem Gesamtnutzen) und hat Laufzeit O(n log n). Beweis: Sei x =(a 1,..., a n, 1,..., n, b) die Eingabe. O.B.d.A.: i a i > b (sonst ist (λ 1,..., λ n ) = (1,..., 1) optimal und wird von GFKS gefunden). Sei (λ 1,..., λ n ) [0, 1] n die Ausgabe des Algorithmus. Laufzeit: klar. Korrektheit: Zulässigkeit klar. Zu zeigen: Optimalität. Sei (λ 1,..., λ n) [0, 1] n eine optimale Lösung. Offensihtlih: i λ i a i = b (sonst verbesserbar). Durh Induktion über n zeigen wir: i λ i i = i λ i i. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
23 I.A.: n = 1. Dann liefert der Algorithmus offensihtlih die optimale Lösung: Pake genau den Bruhteil λ 1 = b/a 1, der in den Ruksak passt. Ind.-Shritt: n > Fall: a 1 b. GFKS wählt λ 1 = b/a 1, und das ist optimal: Weil d 1 d i für alle i, gilt: λ 1 1 = bd 1 =( i λ i a i)d 1 i λ i a id i = i λ i i. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
24 (Ind.-Shritt:) 2. Fall: a 1 < b. Behauptung: Wir können o.b.d.a. λ 1 = 1 annehmen. ( Der erste Shritt des Greedy-Algorithmus ist niht falsh. ) Denn: Wenn λ 1 < 1, kann man wegen 1 i n λ i a i = b Werte λ 1 = 1, 0 λ 2 λ 2,..., 0 λ n λ n finden, so dass (1 λ 1 )a 1 = 2 i n (λ i λ i )a i. ( ) (Verringere Gewiht bei späteren Objekten zugunsten von Objekt 1.) Dann ist (λ 1,..., λ n) zulässig und λ i i = λ i i + ((1 λ 1)a 1 d 1 i i 2 i n (λ i λ i )a i d i ). Aus ( ) und d 1 d i folgt, dass die letzte Klammer nihtnegativ ist, also i λ i i i λ i i gilt. (Sogar Gleihheit.) FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
25 Wissen nun: 1 = λ 1 = λ 1. Wir wenden die Induktionsvoraussetzung auf den modifizierten Input x =(a 2,..., a n, 2,..., n, b a 1 ) an. GFKS läuft in Shleifendurhläufen 2 bis n ebenso wie GFKS auf x, liefert also für x eine optimale Lösung: (λ 2,..., λ n ). Klar: (λ 2,..., λ n) muss für x optimal sein. (Wenn (λ 2,..., λ n ) besser wäre, dann wäre (1,λ 2,..., λ n ) eine bessere Lösung für x als (1,λ 2,..., λ n). Das kann niht sein.) Nah I.V. gilt 2 i n λ i i = 2 i n λ i i. Also haben auh die Lösungen (1,λ 2,..., λ n) und (1,λ 2,..., λ n )für x denselben Nutzenwert. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
26 An den Beispielen zu beobahtende Charakteristika der Greedy-Methode: 1 Der erste Shritt der Greedy-Lösung ist niht falsh. Es gibt eine optimale Lösung, die als Fortsetzung des ersten Shrittes konstruiert werden kann. 2 Prinzip der optimalen Substruktur : Entfernt man aus einer optimalen Lösung die erste(n) Komponente(n), so bleibt als Rest die optimale Lösung für einen Teil oder Rest des Inputs. 3 Der Korrektheitsbeweis wird mit vollständiger Induktion geführt. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester
6.1. Ein Approximationsalgorithmus für das Rucksackproblem
6.1. Ein Approximationsalgorithmus für das Rucksackproblem Wir erinnern uns an das 0-1-Rucksackproblem: Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke
Mehr4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
MehrGreedy Algorithms - Gierige Algorithmen
Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2
Mehr5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
MehrEffiziente Algorithmen
Effiziente Algorithmen Greedy-Algorithmen Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) Mai 202 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 202 Kapitel 3: Greedy-Algorithmen
Mehr21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3
581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv
Mehr2.6 Asymptotische Approximation: Min Binpacking
2.6 Asymptotische Approximation: Min Binpacking In diesem Abschnitt geht es die Erscheinung, dass manche Optimierungsprobleme Approximationsalgorithmen haben, die nur für Inputs x mit groÿem Wert m (x)
MehrÜber-/Rückblick. F3 01/02 p.269/294
Über-/Rükblik Algorithmenbegriff: Berehenbarkeit Turing-Mashine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentehniken Algorithmenanalyse (Berehnung der Komplexität) Rekursion Iteration
MehrSS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung
SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung Martin Dietzfelbinger Juni/Juli 2011 FG KTuEA, TU Ilmenau Effiziente Algorithmen SS11 Kapitel 5 Kapitel 5: Dynamische Programmierung Typische
MehrAlgorithmentheorie. 10 Greedy Verfahren
Algorithmentheorie 0 Greedy Verfahren Prof. Dr. S. Albers Greedy Verfahren. Allgemeine Vorbemerkungen 2. Einfache Beispiele Münzwechselproblem Handlungsreisenden-Problem 3. Das Aktivitäten Auswahlproblem
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrKleinster Umschließender Kreis
Proseminar Theoretishe Informatik 11.07.2017 Janis Meyer Kleinster Umshließender Kreis Prof. Wolfgang Mulzer 1 Einführung Das Problem wurde zum ersten Mal vom britishen Mathematiker James Joseph Sylvester
Mehr5. Übungsblatt zu Algorithmen I im SoSe 2016
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 5. Übungsblatt zu Algorithmen I im SoSe 2016 https://crypto.iti.kit.edu/index.php?id=algo-sose16
MehrTheoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
MehrAlgorithmen und Datenstrukturen
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:
MehrAlgorithmentheorie 1. Vorlesung
Algorithmentheorie 1. Vorlesung Martin Dietzfelbinger 6. April 2006 FG KTuEA, TU Ilmenau AT 06.04.2006 Methode, Material Vorlesung Vorlesungsskript (Netz, Copyshop) Folien (im Netz) Vorlesung nachbereiten!
Mehr2.4 Starke Zusammenhangskomponenten in Digraphen
Starke Zusammenhangskomponenten Einleitung 2.4 Starke Zusammenhangskomponenten in Digraphen Definition 2.4.1 Zwei Knoten v und w in einem Digraphen G heißen äquivalent, wenn v w und w v gilt. Notation:
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe
MehrKomplexität von Algorithmen:
Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine
MehrWann 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
MehrADS: 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
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit
MehrAlgorithmentheorie 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
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2015/16 2. Vorlesung Sortieren mit anderen Mitteln Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2-11 Teile und herrsche Idee: teile den Kartenstapel
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen
Mehr3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen.
Das Suchproblem Gegeben Menge von Datensätzen. 3. Suchen Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle Jeder Datensatz hat einen Schlüssel k. Schlüssel sind vergleichbar: eindeutige Antwort auf
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 2. Vorlesung Sortieren mit anderen Mitteln Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2-1 Teile und herrsche Idee: teile den Kartenstapel
MehrSS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen
SS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen Martin Dietzfelbinger April 2010 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS10 Kapitel 2 Datentyp
Mehr1.3 Erinnerung: Mergesort
Mergesort 1.3 Erinnerung: Mergesort Um n Zahlen/Objekte a 1,..., a n zu sortieren, geht der Mergesort-Algorithmus so vor: Falls n n 0 : Sortiere mit einem naiven Algorithmus (z. B. Insertion Sort). Sonst:
Mehr2. 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
MehrAlgorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8
ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Marc Bux, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft RUD
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrRautavistische Algorithmen + Datenstrukturen, Berechenbarkeit, Komplexitätstheorie
Rautavistische Algorithmen + Datenstrukturen, Berechenbarkeit, Komplexitätstheorie (Gastvorlesung an der TU Garching, 15.7.2004) Nils Kammenhuber Rautavistische Universität Eschweilerhof http://www.uni
MehrInformatik II Greedy-Algorithmen
lausthal Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Erinnerung: Dynamische Programmierung Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:
MehrÜ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
MehrInformatik 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:
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.
Mehr4 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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen
MehrDas 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
Mehr6. Musterlösung. Problem 1: Abgeschlossenheit der Addition *
Universität Karlsruhe Algorithmentehnik Fakultät für Informatik WS 05/06 ITI Wagner 6. Musterlösung Problem 1: Abgeshlossenheit der Addition * Zeigen oder widerlegen Sie: Die Summe 1 2 zweier Kreise ist
MehrDatenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Klausur Wichtige Hinweise: 2.7.07, Beginn 9 Uhr Bitte spätestens 8:4 Uhr vor Ort sein Sporthalle + Audimax Informationen
MehrEuklidischer Algorithmus
Euklidischer Algorithmus Ermitteln des größten gemeinsamen Teilers mit Euklid: function ggt (m, n) Hierbei ist m begin 0undn 0vorausgesetzt. if m = 0 then return n else return ggt (n mod m, m) fi end Man
MehrG. Zachmann Clausthal University, Germany
lausthal Informatik II Suchen lausthal University, ermany zach@in.tu-clausthal.de Problemstellung egeben ist eine Menge von Datensätzen {A1,...,An} esucht sind die Datensätze, deren Schlüssel (Key) = A[i].key
MehrFunktioniert der Greedy-Algorithmus auch für Briefmarken aus Manchukuo?
Briefmarkensammeln (Folie 413, Seite 80 im Skript) Funktioniert der Greedy-Algorithmus auch für Briefmarken aus Manchukuo? Welche Briefmarken für einen 20 fen Brief? Der Greedy-Algorithmus führt nicht
MehrProbleme aus NP und die polynomielle Reduktion
Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2/212 2.9. - 3.9.2 17.1. - 21.1.2 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 3 aus "Abenteuer Informatik" von Jens Gallenbacher
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrKlausur Algorithmen und Datenstrukturen II 29. Juli 2013
Technische Universität Braunschweig Sommersemester 2013 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Sortierte Listen 2. Stacks & Queues 3. Teile und Herrsche Nächste Woche: Vorrechnen (first-come-first-served)
MehrBeispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 7. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 07.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrInformatik II, SS 2016
Informatik II - SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 2 (22.4.2016) Sortieren II Algorithmen und Komplexität SelectionSort: Programm Schreiben wir doch das gleich mal als Java/C++ - Programm
Mehrdurch 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
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
MehrDatenstrukturen und Algorithmen D-INFK
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer
Mehr2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017
2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel
MehrKürzeste (billigste) Wege
Kürzeste (billigste) Wege 1. Kürzeste (billigste) Wege Gerichteter Graph G = (V, E) Kostenfunktion c : E R 1 2 1 3 3 2 4 4 2 6 6 5 3 2 Entfernung zwischen zwei Knoten Kosten eines Wegs P = v 0, v 1,...,
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrVorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.04.2014 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortieren fortgesetzt Maike Buchin 16.5.2017 5.6 Brechen der Unteren Schranke nur Vergleichen erlauben keine Algorithmen mit Laufzeit schneller als O(n log n) stattdessen: Struktur
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Institut für Innovatives Rehnen und Programmstrukturen (IPD) Übersetzerbau WS 2007/08 http://www.info.uni-karlsruhe.de/ Dozent: Prof. Dr.rer.nat. G. Goos goos@ipd.info.uni-karlsruhe.de
MehrKlausur Algorithmen und Datenstrukturen II 10. August 2015
Technische Universität Braunschweig Sommersemester 2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen und Datenstrukturen
MehrDie Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 26 Optimierungsprobleme und ihre Entscheidungsvariante Beim Rucksackproblem
MehrAlgorithmen und Datenstrukturen Tutorium Übungsaufgaben
Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben
MehrDie Klasse NP und die polynomielle Reduktion
Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrDatenstrukturen 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Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill
Konvexe Hülle Hierbei handelt es sich um ein klassisches Problem aus der Algorithmischen Geometrie, dem Teilgebiet der Informatik, in dem man für geometrische Probleme effiziente Algorithmen bestimmt.
Mehr9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion
Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen
MehrLösungen von Übungsblatt 12
Lösungen von Übungsblatt 12 Algorithmen (WS 2018, Ulrike von Luxburg) Lösungen zu Aufgabe 1 Eine (kanonische) Möglichkeit, die Branch-Schritte auszuführen ergibt sich wie folgt: Das ursprüngliche Problem
MehrDAP2 Probeklausur. Matrikelnummer Vorname Nachname. Datum: 24. Juli C. Sohler A. Krivo²ija, A. Rey, H. Sandvoÿ
SoSe 2017 C. Sohler A. Krivo²ija, A. Rey, H. Sandvoÿ DAP2 Probeklausur Datum: 2. Juli 2017 Matrikelnummer Vorname Nachname Diese Klausur besteht aus acht Aufgaben mit insgesamt 50 Punkten. Zum Bestehen
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrWS18 Algorithmen und Datenstrukturen 11. Kapitel Dynamische Programmierung
WS18 Algorithmen und Datenstrukturen 11. Kapitel Dynamische Programmierung Martin Dietzfelbinger Januar 2019 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen 1 WS 2018/19 Kapitel 11 Kapitel 11: Dynamische
MehrDefinition 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
MehrBsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).
Primzahltest Wir wollen testen, ob eine gegebene Zahl n eine Primzahl ist Effizienter Algorithmus zum Faktorisieren ist unbekannt Kontraposition des Kleinen Satzes von Fermat liefert: Falls a n 1 1 mod
MehrAuswählen nach Rang (Selektion)
Auswählen nach Rang (Selektion) Geg.: Folge X von n Schlüsseln, eine Zahl k mit k n Ges.: ein k-kleinster Schlüssel von X, also den Schlüssel x k für X sortiert als x x 2 L x n trivial lösbar in Zeit O(kn)
MehrOptimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen
Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem
MehrKlausur Algorithmen und Datenstrukturen II 01. Agust 2016
Technische Universität Braunschweig Sommersemester 2016 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen und Datenstrukturen
MehrAlgorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck
Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Sortierverfahren 1. Schreibtischtest 2. Stabilität 3. Sortierung spezieller Arrays 4. Untere
MehrFAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Effiziente Algorithmen SS 2008 Grundlagen: Algorithmen und Datenstrukturen Midterm-Klausur Prof. Dr. Christian Scheideler, Dr. Stefan
MehrDas Divide - and - Conquer Prinzip. Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt
Divide and Conquer Das Divide - and - Conquer Prinzip Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt 2 Quicksort: Sortieren durch Teilen
MehrFortgeschrittene 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
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Wiederholung TSP: Kurz:
MehrAlgorithmen und Datenstrukturen 3. Vorlesung
Algorithmen und Datenstrukturen 3. Vorlesung Martin Dietzfelbinger 18. April 2005 Stacks Queues Listen... Datentypen und Datenstrukturen FG KTuEA, TU Ilmenau AuD 18.04.2005 FG KTuEA, TU Ilmenau AuD 18.04.2005
Mehr