Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende."—  Präsentation transkript:

1 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, 20.10.08

2 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.

3 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.

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

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

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

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

8 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 !!

9 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

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

11 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.

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

13 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 )

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

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

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

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

18 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.

19 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

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

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

22 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?

23 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!

24 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.

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

26 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 11 33102 Paderborn, Germany Tel.: +49 (0) 52 51/60 64 80 Fax: +49 (0) 52 51/62 64 82 E-Mail: fmadh@upb.de http://www.upb.de/cs/ag-madh Thank you for your attention!


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

Ähnliche Präsentationen


Google-Anzeigen