Informatik II Greedy-Algorithmen
|
|
|
- Reinhardt Junge
- vor 9 Jahren
- Abrufe
Transkript
1 lausthal Informatik II reedy-algorithmen. Zachmann lausthal University, ermany Erinnerung: Dynamische Programmierung Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur: optimale Lösung des Problems besteht aus optimalen Lösungen der Unterprobleme Sich überschneidende Unterprobleme: insgesamt wenige Unterprobleme, viele wiederkehrende Instanzen dieser Unterprobleme Löse bottom-up, erstelle Tabelle mit gelösten Unterproblemen, die zur Lösung größerer benötigt werden Variationen: Tabelle kann -dimensional, dreieckig, ein Baum usw. sein Bottom-Up oder Top-Down. Zachmann Informatik - SS 06 reedy-algorithmen
2 reedy-algorithmen greedy gierig rundidee: konstruiere Lösung schrittweise (iterativ) wähle in jedem Schritt die am besten erscheinende Alternative eine Entscheidung wird nie revidiert ("blicke nicht zurück") Hoffnung: eine lokal optimale Lösung führt zu einer global optimalen Lösung Dynamische Programmierung kann "Overkill" sein, reedy- Algorithmen sind oft einfacher zu implementieren reedy-algorithmen sind nicht immer korrekt/optimal/gut. Zachmann Informatik - SS 06 reedy-algorithmen Activity-Selection-Problem Beispiel: in einem Vergnügungspark das "Meiste mitnehmen" Eine Karte ermöglicht das Benutzen aller Attraktionen Attraktionen starten und enden zu unterschiedlichen Zeiten Ziel: so viele Attraktionen wie möglich besuchen (eine anderes Ziel wäre, so viel Zeit wie möglich in Attraktionen zu verbringen) Activity-Selection-Problem Formal: sei S = { (s i,f i ) i = n } eine Menge von n Aktivitäten s i / f i = Startzeit / Endzeit von Aktivität i Aufgabe: finde größte Menge A S mit kompatiblen Aktivitäten obda sei f f f n - Falls nicht: sortiere Aktivitäten in O(n log n) oder O(n) gemäß f i t. Zachmann Informatik - SS 06 reedy-algorithmen 4
3 Beispiel Wieviel Aktivitäten können ausgeführt werden? Wie lässt sich Korrektheit beweisen?. Zachmann Informatik - SS 06 reedy-algorithmen 5 Optimale Unterstruktur Sei A eine optimale Lösung Behauptung: Sei k die minimale Aktivität in A (d.h. genau die, die die früheste Endzeit hat), dann ist A \ {k} eine maximale Lösung für S'= {i S : s i f k } in Worten: wenn Aktivität a =(s k,f k ) S (richtig) gewählt ist, reduziert sich das Problem darauf, die maximale Lösung für diejenigen Aktivitäten S' S zu finden, die zu Aktivität a S "passen" Beweis: Ann.: wir finden B = maximale Lösung zu S' mit B > A \ {k} dann ist B {k} passend und eine maximale Lösung zu S B {k} > A A war nicht maximale Lösung. Zachmann Informatik - SS 06 reedy-algorithmen 6
4 Wiederkehrende Unterprobleme Betrachte rekursiven Algorithmus, der alle verträglichen Untermengen untersucht, um die maximale Menge zu finden Beachte die sich wiederholenden Unterprobleme: S A? S A? S - {} A? S S - {} S S - {,} Dynamische Programmierung? Memoisierung? Ja, aber. Zachmann Informatik - SS 06 reedy-algorithmen 7 reedy-hoice-eigenschaft Actitity-Selection-Problem zeigt auch die reedy-hoice- Eigenschaft: lokal optimale Auswahl global optimale Lösung Lemma: wenn S ein, nach der Endzeit sortiertes, Activity-Selection-Problem ist, dann ex. eine optimale Lösung A S, so daß { (s,f ) } A Beweisskizze: wenn eine optimale Lösung B existiert, die { (s,f ) } nicht enthält, kann die erste Aktivität in B ( z.b. (s,f ) ) immer durch (s,f ) ersetzt werden gleiche Anzahl an Aktivitäten, also optimal. Zachmann Informatik - SS 06 reedy-algorithmen 8 4
5 reedy-algorithmus für das ASP Eigentlicher Algorithmus ist einfach:. sortiere Aktivitäten nach Endzeit. lege die erste Aktivität fest (also (s,f ), d.h. diejenige, die am frühesten wieder endet). entferne alle Aktivitäten aus der sortierten Liste, die vor der Endzeit von f starten (also nicht kompatibel sind) wiederhole, bis keine Aktivitäten mehr übrig sind Intuition ist noch einfacher: nimm immer die Aktivität mit der geringsten Dauer, die gerade als nächstes beginnt Implementierung: sortiere s & f bzgl f[*] A = [] # solution array i = 0 # last finished a. for k in range(, n ): if s[k] >= f[i]: # "exec" this a. next A.append( (s[k],f[k]) ) i = k return A. Zachmann Informatik - SS 06 reedy-algorithmen 9 Erinnerung: Knapsack-Problem 0--Knapsack-Problem: ein Dieb muß aus n egenständen wählen, wobei der i-te egenstand den Wert v i und das ewicht w i besitzt maximiere den esamtwert bei vorgegebenem Höchstgewicht W - w i und W sind anzzahlen - "0-": jeder egenstand muß komplett genommen oder dagelassen werden Abwandlung: fraktionales KP (fractional KP) Dieb kann Teile von egenständen nehmen Z.B.: oldbarren beim 0--Problem und oldstaub beim fraktionalen Problem. Zachmann Informatik - SS 06 reedy-algorithmen 0 5
6 Fraktionales Rucksack-Problem egeben: n egenstände, i-ter egenstand hat ewicht w i und Wert v i, ewichtsschranke W esucht: # Ann.: Array enthält Instanzen der Klasse Item # Jedes Item [i] hat Instanz-Var.s [i].w und [i].v def fract_knapsack(, w_max ): sortiere absteigend nach [i].v/[i].w w = 0 # bislang "belegtes" esamtgewicht for i in range( 0, len() ): if [i].w <= w_max - w: q[i] = w += [i].w else: q[i] = (w_max w) / [i].w w = w_max return q. Zachmann Informatik - SS 06 reedy-algorithmen Korrektheit Hier nur Beweisidee reedy-algorithmus erzeugt Lösungen der Form (,,, q *, 0,, 0) Ann.: es ex. bessere Lösung (q',, q' m ); diese hat die Form (,,, q' *,, q' *, 0,, 0) Zeige, daß man aus dieser Lösung eine andere Lösung (q'',, q'' m ) konstruieren kann, die dasselbe ewicht hat, aber größeren Wert, und mehr -en oder mehr 0-en. Zachmann Informatik - SS 06 reedy-algorithmen 6
7 Achtung: Der reedy-algorithmus funktioniert nicht für das 0--Rucksack-Problem egenbeispiel: W = 50 egenstand ewicht Wert v i / w i reedy: + optimal: +. Zachmann Informatik - SS 06 reedy-algorithmen Elemente der reedy-strategie reedy-hoice-eigenschaft: global optimale Lösung kann durch lokal optimale (greedy) Auswahl erreichet werden Optimale (reedy-)unterstruktur: Eine optimale Lösung eines Problems enthält eine optimale Lösung eines Unterproblems M.a.W.: es ist möglich zu zeigen: wenn eine optimale Lösung A Element s i enthält, dann ist A' = A \ {s i } eine optimale Lösung eines kleineren Problems (ohne s i und evtl. ohne einige weitere Elemente) - Bsp. ASP: A \ {k} ist optimale Lösung für S'. Zachmann Informatik - SS 06 reedy-algorithmen 4 7
8 Optimale (reedy-)unterstruktur (Forts.): Man muß nicht alle möglichen Unterprobleme durchprobieren (wie bei Dyn.Progr.) es genügt, das "nächstbeste" Element in die Lösung aufzunehmen, wenn man nur das richtige lokale(!) Kriterium hat - Bsp. ASP: wähle "vorderstes" f i Möglicherweise ist eine Vorbehandlung der Eingabe nötig, um die lokale Auswahlfunktion effizient zu machen - Bsp. ASP: sortiere Aktivitäten nach Endzeit. Zachmann Informatik - SS 06 reedy-algorithmen 5 Abstrakte Formulierung des Algos Die Auswahl-Funktion basiert für gewöhnlich auf der Zielfunktion, sie können identisch sein, oft gibt es unterschiedliche plausible Bsp. ASP: - Zielfunktion = Anzahl Aktivitäten (Max gesucht) - Auswahl-Funktion = kleinstes f i S' # = Menge aller Kandidaten # select = Auswahlfunktion S = [] # Menge mit Lösung while not solution(s) and!= []: x = Element aus, das select(x) maximiert = \ x if feasible(s,x): # is x compatible with S? S += x if solution(s): return S else: return keine Lösung. Zachmann Informatik - SS 06 reedy-algorithmen 6 8
9 Scheduling in (Betriebs-) Systemen Ein einzelner Dienstleister (ein Prozessor, eine aspumpe, ein Kassierer in einer Bank, usw.) hat n Kunden zu bedienen Die Zeit, die für jeden Kunden benötigt wird, ist vorab bekannt: Kunde i benötigt die Zeit t i, i n Ziel: esamtverweildauer aller Kunden im System minimieren M.a.W.: Minimierung der Funktion. Zachmann Informatik - SS 06 reedy-algorithmen 7 Beispiel Es gibt Kunden mit t = 5, t = 0, t = Reihenfolge T 5 + (5 + 0) + ( ) = (5 + ) + ( ) = 0 + (0 + 5) + ( ) = (0 + ) + ( ) = 4 + ( + 5) + ( ) = 9 optimal + ( + 0) + ( ) = 4. Zachmann Informatik - SS 06 reedy-algorithmen 8 9
10 Algorithmenentwurf Betrachte einen Algorithmus, der den optimalen Schedule Schritt für Schritt erstellt Angenommen, nach der Bedienung der Kunden i,, i m ist Kunde j an der Reihe; die Zunahme von T auf dieser Stufe ist Um diese Zunahme zu minimieren, muß nur t j minimiert werden Das legt einen einfachen reedy-algorithmus nahe: füge bei jedem Schritt denjenigen Kunden, der die geringste Zeit benötigt, dem Schedule hinzu "shortest job first" Behauptung: Dieser Algorithmus ist immer optimal. Zachmann Informatik - SS 06 reedy-algorithmen 9 Optimalitätsbeweis Sei I = (i,, i n ) eine Permutation von {,,, n} Werden die Kunden in der Reigenfolge I bedient, dann ist die esamtverweildauer für alle Kunden zusammen. Zachmann Informatik - SS 06 reedy-algorithmen 0 0
11 Jetzt wird angenommen, daß in I zwei Zahlen a, b gefunden werden können, mit a < b und t ia > t ib Durch Vertauschung dieser beiden Kunden ergibt sich eine neue Bedienungsreigenfolge I', die besser ist, weil. Zachmann Informatik - SS 06 reedy-algorithmen Bedienreihenfolge a b n bedienter Kunde i i a i b i n Bedienzeit t i t ia t ib t in nach Austausch und von t ia und t ib Bedienzeit t i t ib t ia t in bedienter Kunde i i b i a i n. Zachmann Informatik - SS 06 reedy-algorithmen
Informatik II Greedy-Algorithmen
7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany [email protected] Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:
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
Ü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
G. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen:
lausthal Informatik II Divide & onquer. Zachmann lausthal University, ermany [email protected] Algorithmen-Design-Techniken Die wichtigsten Entwurfsverfahren für Algorithmen: 1. Divide and onquer
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
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
Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei
7/7/ Das Rucksack-Problem Englisch: Knapsack Problem Das Problem: "Die Qual der Wahl" Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei Im Ladens
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:
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
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
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
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
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
Informatik II Dynamische Programmierung
/9/ lausthal Informatik II Dynamische Programmierung. Zachmann lausthal University, ermany [email protected] Zweite Technik für den Algorithmenentwurf Zur Herkunft des Begriffes: " Programmierung"
Kapitel 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
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
Abschnitt 19: Sortierverfahren
Abschnitt 19: Sortierverfahren 19. Sortierverfahren 19.1 Allgemeines 19.2 Einfache Sortierverfahren 19.3 Effizientes Sortieren: Quicksort 19.4 Zusammenfassung 19 Sortierverfahren Informatik 2 (SS 07) 758
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
Clausthal C G C C G C. Informatik II Bäume. G. Zachmann Clausthal University, Germany Beispiele.
lausthal Informatik II Bäume. Zachmann lausthal University, ermany [email protected] Beispiele Stammbaum. Zachmann Informatik 2 - SS 06 Bäume 2 Stammbaum Parse tree, Rekursionsbaum Unix file hierarchy
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
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
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
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
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:
Informatik II Skip-Lists & selbstorganisierende Listen (als Bsp. für randomisierte Algos und selbstorganisierende Datenstrukturen)
lausthal Informatik II Skip-Lists & selbstorganisierende Listen (als Bsp. für randomisierte Algos und selbstorganisierende Datenstrukturen). Zachmann lausthal University, ermany [email protected]
Algorithmen I. Tutorium Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-12. Sitzung Dennis Felsing [email protected] www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-07-04 Überblick 1 Dynamische Programmierung Idee Längste gemeinsame Teilfolge
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:
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
Bucketsort. Korrektheit. Beispiel. Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt.
Bucketsort Beispiel Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt 1 2 A.78.17 0 1 B.12.17 Sonst: Skalieren ( Aufwand O(n) ) 3.39 2.21.23.26 Idee:
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
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Das Rucksack-Problem Ein Dieb, der einen Safe
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
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:...........................................................
Algorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik [email protected] Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
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
2.2 Allgemeine (vergleichsbasierte) Sortierverfahren
. Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik [email protected] Das Rucksack-Problem Ein Dieb, der einen
Softwareprojektpraktikum Maschinelle Übersetzung
Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl [email protected] Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt
19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
Algorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 01/13 6. Vorlesung Prioritäten setzen Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Guten Morgen! Tipps für unseren ersten Test am 0. November: Lesen
Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-3. Sitzung Dennis Felsing [email protected] www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-02 Überblick 1 Sortieren und Suchen 2 Mastertheorem 3 Datenstrukturen 4 Kreativaufgabe
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
Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3
Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.
Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren
Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die
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
Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren
Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die
Algorithmen 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
Algorithmen 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
Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter
Beispiellö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
f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Präsenzübung.05.0 F. Corzilius, S. Schupp, T. Ströder Aufgabe (Asymptotische Komplexität): (6 + 0 + 6 = Punkte) a) Geben Sie eine formale
Informatik I. Informatik I Iteration vs. Rekursion. Iteration vs. Rekursion Iteration vs. Rekursion. 20. Iteration vs.
Informatik I 1. Februar 2011 20. Informatik I 20. Jan-Georg Smaus 20.1 Albert-Ludwigs-Universität Freiburg 1. Februar 2011 Jan-Georg Smaus (Universität Freiburg) Informatik I 1. Februar 2011 1 / 31 Jan-Georg
2. 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
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
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
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
Humboldt-Universität zu Berlin Berlin, den Institut für Informatik
Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt
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
Einführung in die Informatik 2
Einführung in die Informatik 2 Suchen in Datenmengen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 [email protected] Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.
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.
Theoretische Informatik SS 03 Übung 3
Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige
Kürzeste-Wege-Algorithmen und Datenstrukturen
Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2
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
11. Elementare Datenstrukturen
11. Elementare Datenstrukturen Definition 11.1: Eine dynamische Menge ist gegeben durch eine oder mehrer Mengen von Objekten sowie Operationen auf diesen Mengen und den Objekten der Mengen. Dynamische
2 Sortieren durch Vergleichen Eingabefolge a 1, a 2,..., a n 2, 1, 3 Sortieralg. Für festes n ist ein vergleichsbasierter Sortieralg. charakterisiert
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 9. Vorlesung Sortieren in Linearzeit Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Sortieren durch Vergleichen Eingabefolge a 1, a 2,...,
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente
Grundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
Polygontriangulierung
Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem
1. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5
Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen
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),
19. Dynamic Programming I
Fibonacci Zahlen 9. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixettenmultipliation, Matrixmultipliation nach Strassen [Ottman/Widmayer,
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
Abschnitt: 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
Einführung - Parser. Was ist ein Parser?
Gliederung 1. Einleitung 1.1 Was ist ein Parser? 1.2 Was ist ein tabellengesteuerter TD-Parser? 1. Tabellengesteuerter TD-Parser 2.1 Funktionsweise 2.2 Darstellung als Pseudocode 2.3 Konstruktion von prädiktiven
Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
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
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
2. Hausübung Algorithmen und Datenstrukturen
Prof. Dr. Gerd Stumme, Folke Eisterlehner, Dominik Benz Fachgebiet Wissensverarbeitung 7.4.009. Hausübung Algorithmen und Datenstrukturen Sommersemester 009 Abgabetermin: Montag, 04.05.009, 10:00 Uhr 1
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7.
Algorithmen und Datenstrukturen 14. März 2018 A7. III Algorithmen und Datenstrukturen A7. III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 A7.1 Untere Schranke A7.2 Quicksort A7.3 Heapsort
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik [email protected] [email protected] Merge-Sort Anwendbar für
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
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
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
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
