Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Slides:



Advertisements
Ähnliche Präsentationen
Christian Schindelhauer
Advertisements

Christian Schindelhauer
Kontextfreie Grammatiken
Kapitel 6: Klassifizierung von Sortiertechniken
3. Kapitel: Komplexität und Komplexitätsklassen
5. Sortier-Algorithmen Vorbemerkungen:
© 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
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
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
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX 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.
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
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
WS 03/04 Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
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
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Materialien zu Übung 9 Bälle in Körbe Ranged.
Effiziente Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Algorithmen Gruppe 4.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Wintersemester 2005 / Vorlesung
Suchen und Sortieren.
 Präsentation transkript:

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 11, 18.11.08

Randomisierte Algorithmen

Hängt von Schritt 1 (Wahl des Splitelements) ab. Beispiel: Quicksort Eingabe: S={s1,…,sn} ½ N. Algo: Falls n=0, gebe leere Folge aus; falls n=1, gebe s1 aus. Sonst: - erzeuge Splitelement si, i 2 {1,…,n} - vergleiche jedes sj, ji, mit si, erzeuge dadurch S1 ={sj, sj < si} und S2 ={sj, sj > si} - sortiere S1 und S2 rekursiv - gebe “sortiertes S1”, si , “sortiertes S2” 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(n2) Average case: Splitelement ist s1 , Eingabe ist zufällige Permutation ! Durchschnittliche Laufzeit O(n logn)

Ist “durchschnittliche Laufzeit” ein interessantes Kostenmaß? Beispiel: Quicksort mit s1 als Split-Element. Absteigend sortierte Folge ist ein schlechtester Fall. Ist sie eine typische Eingabe?

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.

Randomisierte Algorithmen Beispiel: Quicksort mit zufälligem si 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.

Beispiel: Randomisierter Quicksort Eingabe: S={s1,…,sn} ½ N. Algo: Falls n=0, gebe leere Folge aus; falls n=1, gebe s1 aus. Sonst: - erzeuge zufälliges Splitelement si, i 2 {1,…,n} - vergleiche jedes sj, ji, mit si, erzeuge dadurch S1 ={sj, sj < si} und S2 ={sj, sj > si} - sortiere S1 und S2 rekursiv - gebe “sortiertes S1”, si , “sortiertes S2” 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

Erwartete Laufzeit des randomisierten Quicksort Wir müssen E(Xi,j) berechnen. Wir müssen pi,j berechnen.

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:

Erwartete Laufzeit des randomisierten Quicksort

Erwartete Laufzeit des randomisierten Quicksort

Ein elementares Beispiel Best case: 1, worst case: n-k+1 Best case: 1 worst case 1, (tritt mit W’keit 0 ein) erwartete Zahl von Versuchen: (n-k)/k +1

Ein elementares Beispiel

Thank you for your attention! 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