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

2 Friedhelm Meyer auf der Heide 2 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Randomisierte Algorithmen

3 Friedhelm Meyer auf der Heide 3 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Beispiel: Quicksort Eingabe: S={s 1,…,s n } ½ N. Algo: Falls n=0, gebe leere Folge aus; falls n=1, gebe s 1 aus. Sonst: - erzeuge Splitelement s i, i 2 {1,…,n} - vergleiche jedes s j, j i, mit s i, erzeuge dadurch S 1 ={s j, s j s i } - sortiere S 1 und S 2 rekursiv - gebe sortiertes S 1, s i, sortiertes S 2 aus. Laufzeit: Hängt von Schritt 1 (Wahl des Splitelements) ab. Best case: Splitelement ist immer der Median ! Laufzeit O(n logn) Worst case: Splitelement ist immer das Minimum ! Laufzeit O(n 2 ) Average case: Splitelement ist s 1, Eingabe ist zufällige Permutation ! Durchschnittliche Laufzeit O(n logn)

4 Friedhelm Meyer auf der Heide 4 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Ist durchschnittliche Laufzeit ein interessantes Kostenmaß? Beispiel: Quicksort mit s 1 als Split-Element. Absteigend sortierte Folge ist ein schlechtester Fall. Ist sie eine typische Eingabe?

5 Friedhelm Meyer auf der Heide 5 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Ist durchschnittliche Laufzeit ein interessantes Kostenmaß? Bester Fall · Durchschnitt · schlechtester Fall Wo liegt der typische Fall? Hängt von Problem und Algorithmus ab, ist meist nicht formal beschreibbar.

6 Friedhelm Meyer auf der Heide 6 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Randomisierte Algorithmen Beispiel: Quicksort mit zufälligem s i als Split-Element. Es gibt keine guten oder schlechten Eingaben mehr!!! Es gibt nur noch gute oder schlechte Ergebnisse der Zufallsexperimente im Algorithmus! Wir betrachten Algorithmen, die Zufallszahlen benutzen, und davon den Verlauf der Rechnung abhängig machen, sog. probabilistische oder randomisierte Algorithmen.

7 Friedhelm Meyer auf der Heide 7 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Beispiel: Randomisierter Quicksort Eingabe: S={s 1,…,s n } ½ N. Algo: Falls n=0, gebe leere Folge aus; falls n=1, gebe s 1 aus. Sonst: - erzeuge zufälliges Splitelement s i, i 2 {1,…,n} - vergleiche jedes s j, j i, mit s i, erzeuge dadurch S 1 ={s j, s j s i } - sortiere S 1 und S 2 rekursiv - gebe sortiertes S 1, s i, sortiertes S 2 aus. Laufzeit (Wir messen die Zahl der Vergleiche): Die Laufzeit hängt von der Ergebnissen der Zufallsexperimente ab. Wir berechnen die erwartete Laufzeit bei zufälliger Wahl der Splitelemente

8 Friedhelm Meyer auf der Heide 8 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Erwartete Laufzeit des randomisierten Quicksort Wir müssen E(X i,j ) berechnen. Wir müssen p i,j berechnen.

9 Friedhelm Meyer auf der Heide 9 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Erwartete Laufzeit des randomisierten Quicksort Wann wird S (i) mit S (j) verglichen? Es gibt nur eine Chance: Betrachte die Situation, wenn Quicksort für eine Teilmenge S aufgerufen wird mit 1. S (i), S (j) 2 S (und damit {S (i), S (i+1),…, S (j-1), S (j) } µ S) 2. Als Splitelement wird ein S (r) gewählt mit i· r · j. Nur in dieser Situation kann S (i) mit S (j) verglichen werden. Wann passiert das wirklich? Genau wenn r=i oder r=j gilt! Also:

10 Friedhelm Meyer auf der Heide 10 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Erwartete Laufzeit des randomisierten Quicksort

11 Friedhelm Meyer auf der Heide 11 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Erwartete Laufzeit des randomisierten Quicksort

12 Friedhelm Meyer auf der Heide 12 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Ein elementares Beispiel Best case: 1, worst case: n-k+1 Best case: 1 worst case 1, (tritt mit Wkeit 0 ein) erwartete Zahl von Versuchen: (n-k)/k +1

13 Friedhelm Meyer auf der Heide 13 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Ein elementares Beispiel

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