Informatik II Greedy-Algorithmen

Größe: px
Ab Seite anzeigen:

Download "Informatik II Greedy-Algorithmen"

Transkript

1 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany 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 reedy-algorithmen Activity-Selection-Problem greedy gierig Beispiel: in einem Vergnügungspark das "Meiste mitnehmen" rundidee: Eine Karte ermöglicht das Benutzen aller Attraktionen konstruiere Lösung schrittweise (iterativ) Attraktionen starten und enden zu unterschiedlichen Zeiten 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 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. Zachmann Informatik - SS 06 reedy-algorithmen 4

2 7/7/06 Beispiel Optimale Unterstruktur Sei A eine optimale Lösung Wieviel Aktivitäten können ausgeführt werden? 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 Wie lässt sich Korrektheit beweisen? B {k} > A A war nicht maximale Lösung. Zachmann Informatik - SS 06 reedy-algorithmen 5. Zachmann Informatik - SS 06 reedy-algorithmen 6 Wiederkehrende Unterprobleme reedy-hoice-eigenschaft Betrachte rekursiven Algorithmus, der alle verträglichen Untermengen untersucht, um die maximale Menge zu finden Actitity-Selection-Problem zeigt auch die reedy-hoice- Eigenschaft: Beachte die sich wiederholenden Unterprobleme: lokal optimale Auswahl global optimale Lösung S A? 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 S A? S - {} 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 S S - {} S S - {,} gleiche Anzahl an Aktivitäten, also optimal Dynamische Programmierung? Memoisierung? Ja, aber. Zachmann Informatik - SS 06 reedy-algorithmen 7. Zachmann Informatik - SS 06 reedy-algorithmen 8

3 7/7/06 reedy-algorithmus für das ASP Erinnerung: Knapsack-Problem 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 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 9. Zachmann Informatik - SS 06 reedy-algorithmen 0 Fraktionales Rucksack-Problem Korrektheit egeben: n egenstände, i-ter egenstand hat ewicht w i und Wert v i, ewichtsschranke W esucht: Hier nur Beweisidee reedy-algorithmus erzeugt Lösungen der Form (,,, q *, 0,, 0) # 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 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. Zachmann Informatik - SS 06 reedy-algorithmen

4 7/7/06 Elemente der reedy-strategie Achtung: Der reedy-algorithmus funktioniert nicht für das 0--Rucksack-Problem egenbeispiel: W = 50 egenstand ewicht Wert v i / w i 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' reedy: + optimal: +. Zachmann Informatik - SS 06 reedy-algorithmen. Zachmann Informatik - SS 06 reedy-algorithmen 4 Abstrakte Formulierung des Algos 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 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 4

5 7/7/06 Scheduling in (Betriebs-) Systemen Beispiel 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 Es gibt Kunden mit t = 5, t = 0, t = Reihenfolge T 5 + (5 + 0) + ( ) 5 + (5 + ) + ( ) 0 + (0 + 5) + ( ) = 8 = = (0 + ) + ( ) = 4 + ( + 5) + ( ) = 9 optimal + ( + 0) + ( ) = 4. Zachmann Informatik - SS 06 reedy-algorithmen 7. Zachmann Informatik - SS 06 reedy-algorithmen 8 Algorithmenentwurf Optimalitätsbeweis 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 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 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. Zachmann Informatik - SS 06 reedy-algorithmen 0 5

6 7/7/06 Jetzt wird angenommen, daß in I zwei Zahlen a, b gefunden werden können, mit a < b und t ia > t ib Bedienreihenfolge a b n Durch Vertauschung dieser beiden Kunden ergibt sich eine neue Bedienungsreigenfolge I', die besser ist, weil bedienter Kunde Bedienzeit i t i i a t ia i b t ib i n 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. Zachmann Informatik - SS 06 reedy-algorithmen 6

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

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

Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei

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

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

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

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

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Ü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

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Gierige Algorithmen Sarah Nuißl Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Einführung Gierige Algorithmen vs. Dynamisches Programmieren Beispiele

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

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

Mehr

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

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,

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Schulinternes Curriculum für Informatik (Q2) Stand April 2015

Schulinternes Curriculum für Informatik (Q2) Stand April 2015 Schulinternes Curriculum für Informatik (Q2) Stand April 2015 Unterrichtsvorhaben Q2-I Thema: Modellierung und Implementierung von Anwendungen mit dynamischen, nichtlinearen Datenstrukturen Modellieren

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Approximation in Batch and Multiprocessor Scheduling

Approximation in Batch and Multiprocessor Scheduling Approximation in Batch and Multiprocessor Scheduling Tim Nonner IBM Research Albert-Ludwigs-Universität Freiburg 3. Dezember 2010 Scheduling Zeit als Ressource und Beschränkung Formaler Gegeben sind Jobs

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Das Lastverteilungsproblem

Das Lastverteilungsproblem Das Lastverteilungsproblem Approximationsalgorithmen Referent Franz Brauße Veranstaltung Proseminar Theoretische Informatik Universität Trier, FB IV Dozent Prof. Dr. Henning Fernau 23.02.2012 Übersicht

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

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

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest

Mehr

Dynamisches Programmieren - Problemstruktur

Dynamisches Programmieren - Problemstruktur Dynamisches Programmieren - Problemstruktur Optimale Substruktur: Optimale Lösung enthält optimale Lösungen von Teilproblemen. Bsp.: Kürzester Weg im Graphen, LCS (s. etwa Folie 42 der letzten Vorlesung)

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Punktbeschriftung in Dynamischen Karten

Punktbeschriftung in Dynamischen Karten Vorlesung Algorithmische Kartografie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 28.05.2015 1 Übungen Nachtrag 1) Überlegen Sie sich, wie man den

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-Verfahren zum Vergleich biologischer Sequenzen zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen

Mehr

Heuristiken im Kontext von Scheduling

Heuristiken im Kontext von Scheduling Heuristiken im Kontext von Scheduling Expertenvortrag CoMa SS 09 CoMa SS 09 1/35 Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 2/35

Mehr

Dynamische Programmierung

Dynamische Programmierung Dynamische Programmierung Manuel Grandeit Hallo Welt -Seminar 28.06.2011 Manuel Grandeit 1 / 40 Inhaltsübersicht Einführung Münzwechsel Was ist ein Zustand? Konstruktion einer DP-Lösung Top-Down-DP Bottom-Up-DP

Mehr

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen und Sortieren Sortieren. Heaps Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Datenorganisation und Datenstrukturen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri Informatik II PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri KAUM JAVA Kaum Java Viel Zeit wird für Java-spezifisches Wissen benützt Wenig wichtig für Prüfung Letztjähriger Assistent

Mehr

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls

Mehr

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

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 1 für die Übung

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung)

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung) Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May Mathias Herrmann, Alexander Meurer Lösungsblatt zur Vorlesung Kryptanalyse WS 2009/2010 Blatt 6 / 23. Dezember

Mehr

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15 Übersicht Schleifen Schleifeninvarianten Referenztypen, Wrapperklassen und API CoMa I WS 08/09 1/15 CoMa I Programmierziele Linux bedienen Code umschreiben strukturierte Datentypen Anweisungen und Kontrollstrukturen

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

EndTermTest PROGALGO WS1516 A

EndTermTest PROGALGO WS1516 A EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von

Mehr

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen:

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen: 6 Partiell geordnete binäre Bäume: Heap (Haufen) Motivation für manchen Anwendungen nur partielle Ordnung der Elemente statt vollständiger nötig, z.b. - Prioritätsschlange: nur das minimale (oder maximale)

Mehr

Ein Algorithmus für die

Ein Algorithmus für die VGG 1 Ein Algorithmus für die Visualisierung gerichteter Graphen in der Ebene (2D) Seminar Graph Drawing SS 2004 bei Prof. Bischof (Lehrstuhl für Hochleistungsrechnen) Gliederung VGG 2 Einleitung Motivation

Mehr

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Sortieren durch Einfügen Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Schon wieder aufräumen Schon wieder Aufräumen, dabei habe ich doch erst neulich man findet alles schneller wieder Bücher auf Regal

Mehr

Sortierverfahren. Sortierverfahren für eindimensionale Arrays

Sortierverfahren. Sortierverfahren für eindimensionale Arrays Sortierverfahren Sortierverfahren Sortieren durch Einfügen Sortieren durch Auswählen Sortieren durch Vertauschen (Bubblesort) Quicksort Sortierverfahren für eindimensionale Arrays 1 Gegeben ist eine beliebige

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag)

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag) Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll Lösungsvorschläge der Klausur zu Einführung in die Informatik II Aufgabe 1 Transferfragen (Lösungsvorschlag)

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9

BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 BTree.dll Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 INHALT 1. Allgemein... 3 2. Class BTree1 (balanciert)... 3 3. Class BTree2 (balanciert und verkettet)... 4 4. Beschreibung BTree1 und BTree2...

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Codierung Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Ein bisschen Informationstheorie Betrachten wir das folgende Problem: Wie lautet eine sinnvolle Definition für das quantitative

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet 22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

Mehr

11.1 Grundlagen - Denitionen

11.1 Grundlagen - Denitionen 11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

Mehr

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in

Mehr

Assertions (Zusicherungen)

Assertions (Zusicherungen) April 10, 2005 Oberseminar Software-Entwicklung Inhalt 1. Einführung (Motivation, Tony Hoare, Programmverifikation) 2. Design by Contract (Idee, Eiffel) 3. Praxis: Programming by Contract for Python 4.

Mehr

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

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

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Beispiel zu Datenstrukturen

Beispiel zu Datenstrukturen zu Datenstrukturen Passend zum Kurs 01661 Version Juni 2008 Dieter Hoffmann Dipl.-Inform. Diese Kurshilfe zum Kurs Datenstrukuren I (Kursnummer 01661) bei Prof. Dr. Güting (Lehrgebiet Praktische Informatik

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

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 Vorlesungen 5 und 6 Programm

Mehr

Alles zu seiner Zeit Projektplanung heute

Alles zu seiner Zeit Projektplanung heute Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?

Mehr

Proseminar: Primzahlen 1. Vortrag Der erweiterte euklidische Algorithmus

Proseminar: Primzahlen 1. Vortrag Der erweiterte euklidische Algorithmus Proseminar: Primzahlen 1. Vortrag Der erweiterte euklidische Algorithmus Max Zoller 14. April 8 1 Der klassische euklidische Algorithmus Beispiel: ggt 15, 56? 15 = 1 56 + 49 56 = 1 49 + 7 49 = 7 7 + =

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

Mehr

Taylorentwicklung der k ten Dimension

Taylorentwicklung der k ten Dimension Taylorentwicklung der k ten Dimension 1.) Taylorentwicklung... 2 1.1.) Vorgehenesweise... 2 1.2.) Beispiel: f ((x, y)) = e x2 +y 2 8x 2 4y 4... 3 2.) Realisierung des Algorithmus im CAS Sage Math... 5

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 4.2: Binäre Suchbäume Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:

Mehr

Ressourceneinsatzplanung in der Fertigung

Ressourceneinsatzplanung in der Fertigung Fakultät Informatik, Institut für Angewandte Informatik, Professur Modellierung und Simulation Ressourceneinsatzplanung in der Fertigung Dr. Christoph Laroque Sommersemester 2012 Dresden, Ausblick: Ab

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

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr