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

2 Friedhelm Meyer auf der Heide 2 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Organisatorisches 1 Diese Vorlesung bietet die Möglichkeit, das MuA-Modul im 2. Studienabschnitt des BA-Studiengangs Informatik in zusammenhängender Form zu hören. Es ist ebenso möglich, die Veranstaltungen "Grundlegende Algorithmen" und "Komplexitätstheorie" einzeln in der ersten bzw. zweiten Vorlesungshälfte zu hören. Prüfungsmodalitäten: -Mündlich Prüfung über das gesamte Modul (Bestanden/Noten können falls notwendig für einzelne Teile gegeben werden.) -Falls sie nur in einem der beiden Teile geprüft werden wollen: mündlich Prüfung nach Abschluss des Teils.

3 Friedhelm Meyer auf der Heide 3 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Organisatorisches 2 Vorlesung (F1 110) Grundlegende Algorithmen (Friedhelm Meyer auf der Heide, bis ) Komplexitätstheorie (Johannes Blömer, ab ) Mo., Di., 9: :45, Raum F1.110 Übungen (F 2 211, Ralf Petring)) Mo (bei Bedarf) Di Di 14-16

4 Friedhelm Meyer auf der Heide 4 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Organisatorisches 3 Übungen Es wird wöchentlich freitags ein Übungsblatt auf der Webseite zur Vorlesung herausgegeben. Die Lösung wird jeweils bis Freitag 10:00 Uhr in Raum F1.316 abgegeben (oder in den dort hängenden Umschlag gesteckt oder direkt bei Ralf Petring abgeben). Es ist Gruppenabgabe (bis zu 3 Personen) erlaubt.

5 Friedhelm Meyer auf der Heide 5 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Organisatorisches 4 Modul: II. 2.1 Modelle und Algorithmen Im Bachelor-Studiengang Informatik Begleitmaterial und alle Informationen auf der Web- Seite zur Vorlesung

6 Friedhelm Meyer auf der Heide 6 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Organisatorisches 5 Im Anschluss an die Vorlesung erfolgt eine mündliche Prüfung über den Stoff dieser Veranstaltung. Wenn Sie aktiv in den Übungen mitarbeiten, können Sie Ihre Note wie folgt verbessern (Bonus): Erreichen Sie mindestens 50% der Punkte der Hausaufgaben, so verbessert sich die Note um 1/3 Notenpunkt. Erreichen Sie mindestens 75% der Punkte der Hausaufgaben, so verbessert sich die Note um 2/3 Notenpunkt. Eine Verbesserung der Note 5 (nicht bestanden) ist nicht möglich. Als Bonusleistung zählen die Hausaufgaben von dieser Veranstaltung. Bonuspunkte aus früheren Vorlesungen können nicht angerechnet werden.

7 Friedhelm Meyer auf der Heide 7 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Inhalt Komplexitätstheorie Im Teil "Komplexitätstheorie" stehen die Frage nach den Grenzen der Berechenbarkeit und die Klassifizierung von Problemen bezüglich ihrer algorithmischen Komplexität im Mittelpunkt. Es werden in diesem Teil die folgenden Themen behandelt 1. Komplexitätsklassen, P vs. NP 2. Reduktionen und Vollständigkeit 3. Platzkomplexität 4. Hierarchiesätze 5. Relativierung 6. Polynomialzeit-Hierarchie 7. Probalistische Komplexitätsklassen 8. Approximationsalgoritmen

8 Friedhelm Meyer auf der Heide 8 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.

9 Friedhelm Meyer auf der Heide 9 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Asymptotic Runtime Analysis

10 Friedhelm Meyer auf der Heide 10 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity The O-Notation

11 Friedhelm Meyer auf der Heide 11 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity The O-Notation

12 Friedhelm Meyer auf der Heide 12 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity The O-Notation

13 Friedhelm Meyer auf der Heide 13 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Programming paradigms: divide & conquer Example: Integer Multiplication The school method needs (n 2 ) operations.

14 Friedhelm Meyer auf der Heide 14 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity A divide&conquer algorithm for integer multiplication

15 Friedhelm Meyer auf der Heide 15 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity The Karazuba-Offman algorithm for integer multiplication We need 3 multiplications of numbers with at most n/2 + 2 bits, and 8 additions/subtractions/shifts of numbers with O(n) bits. Each such addition/subtraction/shift needs time O(n).

16 Friedhelm Meyer auf der Heide 16 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Runtime log(3) ~

17 Friedhelm Meyer auf der Heide 17 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity A master theorem a) Let a ¸ 0, b,c > 0 be constants. Let T: N N be recursively defined by T(1) = c, and for n > 1: T(n) = a T(n/b) + cn Then, for -a < b: T(n) = cb/(b-a) n = O(n) -a = b: T(n) = cn (log b (n) + 1) = O(n log(n)) -a > b: T(n) = ca/(a-b) n log b (a) = O(n log b (a) )

18 Friedhelm Meyer auf der Heide 18 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Dynamic programming You probably know dynamic programming algorithms for optimal evaluation of the product of many matrices, and for the word problem for context-free languages (CYK-algorithm)

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

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

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

22 Friedhelm Meyer auf der Heide 22 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Recursive definition of an optimal solution

23 Friedhelm Meyer auf der Heide 23 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!


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