Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.

Slides:



Advertisements
Ähnliche Präsentationen
Finding the Pattern You Need: The Design Pattern Intent Ontology
Advertisements

Christian Schindelhauer
Christian Schindelhauer
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Kapitel 9: Graphdurchlauf
Kontextfreie Grammatiken
Einführung in die Informatik: Programmierung und Software-Entwicklung
© Prof. Dr.-Ing. habil. W. Dangelmaier, Heinz Nixdorf Institut, Universität Paderborn, Bild: © iStock, Ricardo Azoury 1 Veranstaltung / Datum Titel: Arial,
Titel: Arial, 40pt, fett, kursiv, mit Schatten, blau
Einführung in Berechenbarkeit und Formale Sprachen
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Universelle Turingmaschinen Eine universelle Turingmaschine.
Programmiertechniken: Zustand fungiert als „endlicher Speicher“
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Verifizieren versus Berechnen
Algorithmen und Komplexität
Design by Contract with JML - Teil 2
Christian Schindelhauer
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Einführung in Algorithmen und Komplexität
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
1WS 06/07 Organisatorisches 1.Vorlesung am Montag, : 9-11 Uhr in Gebäude 106, Raum Podcasts: Probleme mit der Videoqualität sind behoben.
Dynamische Programmierung (2) Matrixkettenprodukt
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Algorithmentheorie 7 – Bin Packing
Wozu die Autokorrelationsfunktion?
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Christian Schindelhauer
Numerical Methods in Electromagnetic Field Theory I (NFT I) / Numerische Methoden in der Elektromagnetischen Feldtheorie I (NFT I) 2nd Lecture / 2.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Haben – to have ich habe du hast er/sie hat es hat man hat wir haben
20:00.
Ready for English 1 Unit 2 DICTATION Mache dich zum Diktat bereit. Beim Klicken auf das Bild hörst du einen Satz. Schreibe ihn ins Heft. Ein Klick auf.
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
Alp-Water-Scarce Water Management Strategies against Water Scarcity in the Alps 4 th General Meeting Cambery, 21 st September 2010 Water Scarcity Warning.
Auslegung eines Vorschubantriebes
Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Verben Wiederholung Deutsch III Notizen.
Wir sind das Landesbildungszentrum für Hörgeschädigte … We are called Education Centre for the hearing impaired … in Osnabrück.
2014 Januar 2014 So Mo Di Mi Do Fr Sa So
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken III Christian Schindelhauer
Installation einer kompletten Werkstatt für die US-Streitkräfte Installation of a complete workshop for the U.S.Forces.
Travel with NASA from the biggest to the smallest distance of the universe.
Analyse der Laufzeit von Algorithmen
Wintersemester 2005 / Vorlesung
Wiederholung TexPoint fonts used in EMF.
 Präsentation transkript:

Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 3,

Friedhelm Meyer auf der Heide 2 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Organisatorisches Neue Übungsgruppe, Di 16-18, F2 211 Zusätzlicher Übungsgruppenleiter: Ralf Petring wird durch Adrian Ogiermann unterstützt 30% der Punkte der Ü-Blätter sind Voraussetzung zur Zulassung zur mündlichen Prüfung.

Friedhelm Meyer auf der Heide 3 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Inhalt Grundlegende Algorithmen Es werden Algorithmen vorgestellt und bezüglich ihrer Korrektheit und Laufzeit analysiert, die für viele Anwendungen und weiterführende Algorithmen von besonderer Wichtigkeit sind. Dazu gehören u.a. Algorithmen für -kürzeste Wege in Graphen -Netzwerkfluß-Probleme -Randomisierte Algorithmen, u.a. : Universelles und perfektes Hashing Wir beginnen mit einer Wiederholung von Konzepten aus DuA: -O-Notation -Programmier-Paradigmen -Divide & Conquer -Dynamische Programmierung -Greedy-Algorithmen Ansonsten setze ich Inhalte aus DuA als bekannt voraus.

Friedhelm Meyer auf der Heide 4 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity The string distance problem

Friedhelm Meyer auf der Heide 5 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Beispiele für dynamische Programmierung

Friedhelm Meyer auf der Heide 6 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity An example

Friedhelm Meyer auf der Heide 7 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity The structure of optimal solutions

Friedhelm Meyer auf der Heide 8 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Recursive definition of an optimal solution This definition yields a recursive algorithm. Runtime = O(3 (n+m)/2 ) Note: There are only nm many different subproblems, but we have 3 (n+m)/2 recursive calls. Thus, on an average, a subproblem is called 3 (n+m)/2 /nm times !!

Friedhelm Meyer auf der Heide 9 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity A dynamic programming algorithm for string distance Runtime = O(nm) Already computed and stored

Friedhelm Meyer auf der Heide 10 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Dynamische Programmierung: Matritzenketten-Multiplikation

Friedhelm Meyer auf der Heide 11 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Die Anzahl k(n) der korrekten Klammerungen Primitiver Algorithmus: teste alle Korrekten Klammerungen.

Friedhelm Meyer auf der Heide 12 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Dynamische Programmierung für Matritzenketten-Multiplikation

Friedhelm Meyer auf der Heide 13 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Dynamische Programmierung für Matritzenketten-Multiplikation Laufzeit: Es werden ½ (n(n+1)) = O(n 2 ) Teilprobleme gelöst, jedes benötigt Zeit O(n). Also: Gesamtlaufzeit O(n 3 )

Friedhelm Meyer auf der Heide 14 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Greedy Algorithmen

Friedhelm Meyer auf der Heide 15 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Greedy Algorithmen

Friedhelm Meyer auf der Heide 16 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Greedy ist optimal für Bruchteil-Rucksack

Friedhelm Meyer auf der Heide 17 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Greedy ist schlecht für Rucksack

Friedhelm Meyer auf der Heide 18 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Weitere optimale Greedy Algorithmen Die Algorithmen von Kruskal und Prim sind optimale Algorithmen zur Berechnung minimaler Spannbäume.

Friedhelm Meyer auf der Heide 19 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Greedy ist gut aber nicht optimal für Bin Packing

Friedhelm Meyer auf der Heide 20 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Wann sind Greedy-Algorithmen optimal?

Friedhelm Meyer auf der Heide 21 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Beispiele für Teilmengensysteme

Friedhelm Meyer auf der Heide 22 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Teilmengensysteme und der kanonische Greedy-Algorithmus Der kanonische G.A. für Rucksack ist sehr schlecht (haben wir gezeigt) Der kanonische G.A. für MST ist optimal, haben sie in DuA gezeigt: Kruskals Algorithmus Kann man dem Teilmengensystem ansehen, ob der kanonische G.A. eine optimale Lösung liefert?

Friedhelm Meyer auf der Heide 23 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Greedy-Algorithmen und Matroide Bem: Alle maximalen Mengen eines Matroids sind gleich groß. Bew: Übungsaufgabe Das Teilmengensystem für Rucksackproblem ist kein Matroid. Das Teilmengensystem für MST ist ein Matroid!

Friedhelm Meyer auf der Heide 24 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Das MST-Matroid Satz: Das Teilmengensystem für MST ist ein Matroid. Beweis: (i) 2 U (klar) (ii) B 2 U, A µ B ) A 2 U (klar) Wir müssen die Austauscheigenschaft nachweisen.

Friedhelm Meyer auf der Heide 25 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Die Austauscheigenschaft des MST-Matroids Z.z : Bew:

Friedhelm Meyer auf der Heide 26 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Friedhelm Meyer auf der Heide Heinz Nixdorf Institute & Computer Science Department University of Paderborn Fürstenallee Paderborn, Germany Tel.: +49 (0) 52 51/ Fax: +49 (0) 52 51/ Thank you for your attention!