Randomisierte Algorithmen und probabilistische Analyse
|
|
- Arwed Lehmann
- vor 5 Jahren
- Abrufe
Transkript
1 Randomisierte Algorithmen und probabilistische Analyse S.Seidl, M.Nening, T.Niederleuthner S.Seidl, M.Nening, T.Niederleuthner 1 / 29
2 Inhalt 1 Randomisierte Algorithmen 2 Probabilistische Analyse S.Seidl, M.Nening, T.Niederleuthner 2 / 29
3 Inhalt Randomisierte Algorithmen Quicksort 1 Randomisierte Algorithmen Quicksort Allgemeines Randomized-Quicksort Weitere Anwendungen 2 Probabilistische Analyse S.Seidl, M.Nening, T.Niederleuthner 3 / 29
4 Randomisierte Algorithmen Quicksort Quicksort - kurze Wiederholung Ausgangssituation: Wähle als Pivotelement p das letzte Element: Pivot S.Seidl, M.Nening, T.Niederleuthner 4 / 29
5 Randomisierte Algorithmen Quicksort Quicksort - kurze Wiederholung Tausche alle Elemente < p nach links, alle p nach rechts: Pivot Rufe Quicksort rekursiv für die Teilarrays links und rechts von p auf: Pivot Pivot S.Seidl, M.Nening, T.Niederleuthner 5 / 29
6 Eigenschaften Randomisierte Algorithmen Quicksort Average-Case Laufzeit: Θ(n log(n)) Worst-Case Laufzeit: Θ(n 2 ), beispielsweise bei bereits sortiertem Input. Problem: Die Laufzeit von Quicksort ist abhängig von der Form des Inputs. Wie kann man das vermeiden? Lösung: Randomisierte Algorithmen! S.Seidl, M.Nening, T.Niederleuthner 6 / 29
7 Inhalt Randomisierte Algorithmen Allgemeines 1 Randomisierte Algorithmen Quicksort Allgemeines Randomized-Quicksort Weitere Anwendungen 2 Probabilistische Analyse S.Seidl, M.Nening, T.Niederleuthner 7 / 29
8 Randomisierte Algorithmen Allgemeines Randomisierte Algorithmen Was sind randomisierte Algorithmen? zufällige Auswahl des nächsten Schrittes bei gleicher Eingabe unterschiedliche Laufzeit Laufzeit und Korrektheit nur mit gewisser Wahrscheinlichkeit bestimmbar S.Seidl, M.Nening, T.Niederleuthner 8 / 29
9 Randomisierte Algorithmen Allgemeines Motivation für randomisierte Algorithmen Einfacher Effizienter leichter zu Implementieren Praktische Sicht S.Seidl, M.Nening, T.Niederleuthner 9 / 29
10 Randomisierte Algorithmen Algorithmustypen Allgemeines Las-Vegas-Algorithmen immer korrekt können auch versagen Monte-Carlo-Algorithmen nicht immer korrekt Fehlerarten: Zweiseitige Fehler Einseitige Fehler S.Seidl, M.Nening, T.Niederleuthner 10 / 29
11 Techniken Randomisierte Algorithmen Allgemeines Überfluss an Zeugen (abundance of witnesses) Vereitelung gegnerischer Angriffe Fingerabdruck und Hashing Zufallsstichproben (random sampling) S.Seidl, M.Nening, T.Niederleuthner 11 / 29
12 Inhalt Randomisierte Algorithmen Randomized-Quicksort 1 Randomisierte Algorithmen Quicksort Allgemeines Randomized-Quicksort Weitere Anwendungen 2 Probabilistische Analyse S.Seidl, M.Nening, T.Niederleuthner 12 / 29
13 Eigenschaften Randomisierte Algorithmen Randomized-Quicksort Las-Vegas-Algorithmus wählt Pivotelement zufällig macht gegnerische Angriffe unmöglich! Wiederum gilt: Average-Case Laufzeit: Θ(n log(n)) Worst-Case Laufzeit: Θ(n 2 ) S.Seidl, M.Nening, T.Niederleuthner 13 / 29
14 Randomisierte Algorithmen Der große Unterschied Randomized-Quicksort Laufzeit hängt vom Zufall ab und nicht vom Input! Wahrscheinlichkeit für Worst-Case im Randomized Quicksort: 2 n 1 n! S.Seidl, M.Nening, T.Niederleuthner 14 / 29
15 Inhalt Randomisierte Algorithmen Weitere Anwendungen 1 Randomisierte Algorithmen Quicksort Allgemeines Randomized-Quicksort Weitere Anwendungen 2 Probabilistische Analyse S.Seidl, M.Nening, T.Niederleuthner 15 / 29
16 Randomisierte Algorithmen Miller-Rabin-Test Weitere Anwendungen Monte-Carlo-Algorithmus Eingabe: Ungerade natürliche Zahl p Ausgabe: p ist Prim oder p ist Zusammengesetzt Wahrscheinlichkeit für ein falsches Ergebnis ist 1 4, in den allermeisten Fällen deutlich geringer. S.Seidl, M.Nening, T.Niederleuthner 16 / 29
17 Randomisierte Algorithmen Weitere Anwendungen Miller-Rabin-Test - Pseudocode 1 f i n d e u ungerade und k 1, s o d a s s p 1 = u 2 k ; 2 wä h l e a z u f ä l l i g aus {2,..., p 2} ; 3 s e t z e b = a u mod p ; 4 5 wenn b == 1 oder b == p 1 6 r e t u r n " Prim " ; 7 8 r e p e a t k 1 mal 9 b = b 2 mod p 10 wenn b == p 1 11 r e t u r n " Prim " ; 12 wenn b == 1 13 r e t u r n " Zusammengesetzt " ; r e t u r n " Zusammengesetzt " ; S.Seidl, M.Nening, T.Niederleuthner 17 / 29
18 Einsatzbereiche Randomisierte Algorithmen Weitere Anwendungen Sortieren & Suchen in Datenstrukturen Randomisierte Graphalgorithmen: Minimum-Cut, Shortest Path, minimale Spannbäume Pattern-Matching und viele mehr. S.Seidl, M.Nening, T.Niederleuthner 18 / 29
19 Inhalt Probabilistische Analyse Limits worst-case Analyse 1 Randomisierte Algorithmen 2 Probabilistische Analyse Limits worst-case Analyse Einführung Wahrscheinlichkeitstheorie Analyse Quicksort - Idee S.Seidl, M.Nening, T.Niederleuthner 19 / 29
20 Probabilistische Analyse Limit: Theorie vs. Realität Limits worst-case Analyse worst-case Komplexität schlecht Performance in Realität durchaus gut z.b Rucksackproblem worst-case Input äußerst selten Verhalten bei "typischem" Input interessant "typischer Input" anwendungsabhängig Lösung: Wahrscheinlichkeitstheorie um das Verhalten zu analysieren S.Seidl, M.Nening, T.Niederleuthner 20 / 29
21 Inhalt Probabilistische Analyse Einführung 1 Randomisierte Algorithmen 2 Probabilistische Analyse Limits worst-case Analyse Einführung Wahrscheinlichkeitstheorie Analyse Quicksort - Idee S.Seidl, M.Nening, T.Niederleuthner 21 / 29
22 Probabilistische Analyse Probabilistische Analyse Einführung Wahrscheinlichkeitsverteilung über Inputmenge Erwartungswerte werden gebildet Voraussetzung: Kenntnisse/Annahmen über Verteilung S.Seidl, M.Nening, T.Niederleuthner 22 / 29
23 Probabilistische Analyse Wahrscheinlichkeitstheorie Grundbegriffe Wahrscheinlichkeitstheorie Wahrscheinlichkeitsraum S Menge von Elementarereignissen Ereignis A Teilmenge eines Wahrscheinlichkeitsraumes Zufallsvariable X Funktion X : S R Indikatorvariable (nur 0 oder 1) Wahrscheinlichkeitsverteilung Pr[ ] ordnet jedem Ereignis eine Wahrscheinlichkeit zu S.Seidl, M.Nening, T.Niederleuthner 23 / 29
24 Probabilistische Analyse Wahrscheinlichkeitstheorie Wahrscheinlichkeitsverteilung beschreiben Erwartungswert E[ ] für Zufallsvariable Gewichtete Durchschnittswert von X Allgemein: E[X ] = x S x Pr[X = x] Indikator: E[X ] = Pr[X = 1] S.Seidl, M.Nening, T.Niederleuthner 24 / 29
25 Probabilistische Analyse Wahrscheinlichkeitstheorie Wahrscheinlichkeitsverteilung beschreiben Tail Distribution Wahrscheinlichkeit, dass X einen Wert weit ab vom Erwartungswert annimmt loose und tight Bounds Markov s Ungleichung (X nicht negativ) a > 0. Pr[X a] E[X ] a S.Seidl, M.Nening, T.Niederleuthner 25 / 29
26 Inhalt Probabilistische Analyse Analyse Quicksort - Idee 1 Randomisierte Algorithmen 2 Probabilistische Analyse Limits worst-case Analyse Einführung Wahrscheinlichkeitstheorie Analyse Quicksort - Idee S.Seidl, M.Nening, T.Niederleuthner 26 / 29
27 Probabilistische Analyse Quicksort Analyse - Idee Analyse Quicksort - Idee Input-Elemente aus uniformer Verteilung Erwartete Anzahl der Vergleiche X : 2n ln n X als Summe von X ij (Indikator) X ij = 1, wenn zwei Elemente verglichen werden Pr[X ij = 1] = 2 i j + 1 Betrachte E[X ] als Summe E[X ij ] Harmonische Reihe S.Seidl, M.Nening, T.Niederleuthner 27 / 29
28 Quellen Probabilistische Analyse Analyse Quicksort - Idee T. Ottmann, P. Widmayer: Algorithmen und Datenstrukturen, 2011, Springer-Verlag P. Gamper, Randomisierte Primzahlentests, 2007, rwth Aachen T. Worsch, Skript der VO Randomisierte Algorithmen 2015/16, Universität Karlsruhe Carnegie Mellon School of Computer Science, Lecture 3 - Probabilistic Analysis and Randomized Quicksort Dr. H. Röglin, Skript der VO Probabilistic Analysis of Algorithms, Universität Bonn, 2016 S.Seidl, M.Nening, T.Niederleuthner 28 / 29
29 Probabilistische Analyse Analyse Quicksort - Idee Vielen Dank für die Aufmerksamkeit! S.Seidl, M.Nening, T.Niederleuthner 29 / 29
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 11, 18.11.08 Friedhelm Meyer auf der Heide 1 Randomisierte Algorithmen Friedhelm Meyer auf
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
MehrWahrscheinlichkeitsrechnung und Statistik
Babeş-Bolyai Universität Fakultät für Mathematik und Informatik Oktober 2018 Im Alltag... Laut den meteorologischen Vorhersagen wird es morgen regnen. Ob ich riskiere und die Wette verlieren werde? Ich
MehrRandomisierte Algorithmen am Beispiel Quicksort
Randomisierte Algorithmen am Beispiel Quicksort Mathias Katzer Universität 28. Juli 2003 Mathias Katzer 0 Überblick Motivation: Begriff Randomisierung Quicksort Stochastik-Ausflug Effizienzanalyse Allgemeineres
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 1. Einleitung Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2018/2019 1 / 21 Organisatorisches Überblick Organisatorisches
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Kapitel 1 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 013/14 7. Vorlesung Zufall! Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Ein Experiment Ein Franke und ein Münchner gehen (unabhängig voneinander)
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 7. Vorlesung Zufall! Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Inhaltsverzeichnis Ein Zufallsexperiment InsertionSort: erwartete bzw.
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 1. Einleitung Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 20 Organisatorisches Überblick Organisatorisches
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am..03 Randomisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Mehr1.3 Erinnerung: Mergesort
Mergesort 1.3 Erinnerung: Mergesort Um n Zahlen/Objekte a 1,..., a n zu sortieren, geht der Mergesort-Algorithmus so vor: Falls n n 0 : Sortiere mit einem naiven Algorithmus (z. B. Insertion Sort). Sonst:
MehrAlgorithmentheorie Randomisierung
Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
Mehr4 Probabilistische Analyse und randomisierte Algorithmen
Algorithmen und Datenstrukturen 96 4 Probabilistische Analyse und randomisierte Algorithmen Bei der Algorithmenanalyse ist es sehr hilfreich, Aspekte berücksichtigen zu können, die vom Zufall abhängen.
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
MehrKapitel III Selektieren und Sortieren
Kapitel III Selektieren und Sortieren 1. Einleitung Gegeben: Menge S von n Elementen aus einem total geordneten Universum U, i N, 1 i n. Gesucht: i-kleinstes Element in S. Die Fälle i = 1 bzw. i = n entsprechen
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 017/18 8. Vorlesung Sortieren mit dem Würfel! Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I - 5 Guten Morgen! Tipps für unseren ersten Test am Do,
Mehr3: Zahlentheorie / Primzahlen
Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,
Mehr2 Erste Beispiele. 2.1 Ein randomisierter Identitätstest
Erste Beispiele.1 Ein randomisierter Identitätstest Im folgenden geht es um die Aufgabe, die Gleichheit zweier großer Objekte zu überprüfen. Dabei werden die Objekte nicht in ihrer gesamten Struktur verglichen,
Mehr6 Quicksort. die mittlere Laufzeit Θ(n log n) beträgt und. die in der asymptotischen Notation verborgenen Konstanten sehr klein sind.
Algorithmen und Datenstrukturen 132 6 Quicksort In diesem Abschnitt wird Quicksort, ein weiterer Sortieralgorithmus, vorgestellt. Trotz einer eher langsamen Worst-Case Laufzeit von Θ(n 2 ) ist Quicksort
MehrAlgorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrAlgorithmen und Datenstrukturen
Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik VI Algorithmen und Datenstrukturen Vorlesungsmitschrift zur Vorlesung im SS 2004 Prof. Dr.-Ing. H. Ney Letzte Überarbeitung:
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element
MehrA7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7.
Algorithmen und Datenstrukturen 14. März 2018 A7. III Algorithmen und Datenstrukturen A7. III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 A7.1 Untere Schranke A7.2 Quicksort A7.3 Heapsort
MehrFormaler. Gegeben: Elementfolge s = e 1,...,e n. s ist Permutation von s e 1 e n für eine lineare Ordnung ` '
Sortieren & Co 164 165 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e 1 e n für eine lineare Ordnung ` ' 166 Anwendungsbeispiele Allgemein: Vorverarbeitung
MehrTypischerweise sind randomisierte Algorithmen einfacher zu beschreiben und zu implementieren als deterministische Algorithmen.
Kapitel Randomisierte Algorithmen Einleitung Definition: Ein Algorithmus, der im Laufe seiner Ausführung gewisse Entscheidungen zufällig trifft, heisst randomisierter Algorithmus. Beispiel: Bei der randomisierten
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 5, Donnerstag, 21.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 5, Donnerstag, 21. November 2013 (Wie baut man eine Hash Map, Universelles Hashing)
MehrKap. 3: Sortieren (3)
Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort
MehrAlgorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012
Algorithmen und Datenstrukturen Tafelübung 14 Jens Wetzl 8. Februar 2012 Folien Keine Garantie für Vollständigkeit und/oder Richtigkeit Keine offizielle Informationsquelle LS2-Webseite Abrufbar unter:
MehrDie Probabilistische Methode
Die Probabilistische Methode Wladimir Fridman 233827 Hauptseminar im Sommersemester 2004 Extremal Combinatorics Zusammenfassung Die Probabilistische Methode ist ein mächtiges Werkzeug zum Führen von Existenzbeweisen.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen A7. Sortieren III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 Untere Schranke Sortierverfahren Sortieren Vergleichsbasierte Verfahren Nicht vergleichsbasierte
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Weitere Grundlagen Maike Buchin 20.4.2017 Wiederholung wir interessieren uns für effizienten Algorithmen und Datenstrukturen Laufzeiten messen wir asymptotisch in der Oh-Notation
MehrSeminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener
Seminar: Randomisierte Algorithmen Auswerten von Sielbäumen Nele Küsener In diesem Vortrag wird die Laufzeit von Las-Vegas-Algorithmen analysiert. Das Ergebnis ist eine obere und eine untere Schranke für
MehrÜbersicht. Datenstrukturen und Algorithmen. Divide-and-Conquer. Übersicht. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Algorithmus Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-5/dsal/ 2 7.
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.
MehrKapitel 2: Sortier- und Selektionsverfahren Gliederung
Gliederung 1. Laufzeit von Algorithmen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Randomisierte Algorithmen
Mehr4 Diskrete Wahrscheinlichkeitsverteilungen
4 Diskrete Wahrscheinlichkeitsverteilungen 4.1 Wahrscheinlichkeitsräume, Ereignisse und Unabhängigkeit Definition: Ein diskreter Wahrscheinlichkeitsraum ist ein Paar (Ω, Pr), wobei Ω eine endliche oder
MehrFerien-Übungsblatt 8 Lösungsvorschläge
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Ferien-Übungsblatt 8 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Probabilistische Komplexitätsklassen [vgl.
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 4 (7.5.2014) Asymptotische Analyse, Sortieren IV Algorithmen und Komplexität Erfahrungen 1. Übung C++ / Java sind komplett ungewohnt Struktur
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Untere Schranken für Sortieren Sortieren mit linearem Aufwand Mediane und Ranggrössen 2 Wie schnell können wir sortieren?
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
MehrÜbung Algorithmen I
Übung Algorithmen I 20.5.15 Christoph Striecks Christoph.Striecks@kit.edu (Mit Folien von Julian Arz, Timo Bingmann und Sebastian Schlag.) Roadmap Organisation Mergesort, Quicksort Dual Pivot Quicksort
Mehr3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen
3: Primzahlen 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen Definition 40 (Teiler, Vielfache, Primzahlen, zusammengesetzte Zahlen) Seien a, b N. a ist ein Teiler von b ( a b ), falls es ein k N gibt
MehrMonte-Carlo-Algorithmen für innermathematische Fragestellungen
Monte-Carlo-Algorithmen für innermathematische Fragestellungen Katharina Klembalski Humboldt-Universität Berlin 30. August 2012 Warum Monte-Carlo-Algorithmen im Mathematikunterricht? schriftl. Addieren
MehrDefinition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =.
2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen 11. Übung Verkettete Listen, Sortieren Insertionsort, Mergesort, Radixsort, Quicksort Clemens Lang Übungen zu AuD 19. Januar 2010 Clemens Lang (Übungen zu AuD) Algorithmen
MehrWiederholung. Divide & Conquer Strategie
Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in
MehrEin sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.
2.5 Suchen Eine Menge S will nach einem Element durchsucht werden. Die Menge S ist statisch und S = n. S ist Teilmenge eines Universums auf dem eine lineare Ordnung definiert ist und soll so gespeichert
MehrProbabilistische Pfadsuche
Probabilistische Pfadsuche Frage: Existiert ein Pfad in G von s nach t? Deterministisch mit Breitensuche lösbar in Zeit O( V + E ). Erfordert allerdings auch Speicher Ω( V ). Algorithmus PATH EINGABE:
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrHeapsort. 1. Erstelle aus dem gegebenen Array einen Max-Heap (DownHeap) 2. Tausche erstes und letztes Element des Arrays
Heapsort Beispiel für einen eleganten Algorithmus, der auf einer effizienten Datenstruktur (dem Heap) beruht [Williams, 1964] Daten liegen in einem Array der Länge n vor 1. Erstelle aus dem gegebenen Array
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrBeweis: Färbe jede Kante zufällig und unabhängig mit Ws 1 2. Ereignis A i : i-te Clique K (i), i = 1,..., ( n K (i)
Die Probabilistische Methode Beobachtung: Besitzt ein Ereignis Ws > 0, so muss es existieren! Notation: Sei K n der komplette Graph mit n Knoten und ( n 2) Kanten. Satz Falls 2 (k 2) 1 > ( n k), existiert
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrLineare Kongruenzgeneratoren und Quicksort
Seminar Perlen der theoretischen Informatik Dozenten: Prof. Johannes Köbler und Olaf Beyersdorff Lineare Kongruenzgeneratoren und Quicksort Ausarbeitung zum Vortrag Mia Viktoria Meyer 12. November 2002
Mehr9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion
Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen
MehrDie mittlere Höhe eines Binärbaumes. h(t) = 1 e(t) mit E(t) = Menge der Blätter von t, h(b, t) = Höhe des Blattes b in t
Höhe von Binärbäumen Die mittlere Höhe eines Binärbaumes h(t) = 1 e(t) b E(t) mit E(t) = Menge der Blätter von t, h(b, t) = Höhe des Blattes b in t h(b, t), Höhe von Binärbäumen Die mittlere Höhe eines
MehrÜbung: Algorithmen und Datenstrukturen SS 2007
Übung: Algorithmen und Datenstrukturen SS 2007 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 5 Votierung in der Woche vom 04.06.0708.06.07 Aufgabe 12 Manuelle Sortierung
MehrWillkommen zur Vorlesung Komplexitätstheorie
Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V11, 16.1.2012 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 4 (30.4.2018) Sortieren IV Algorithmen und Komplexität Analyse Merge Sort Laufzeit T(n) setzt sich zusammen aus: Divide und Merge: O n
MehrUwe Schöning. Algorithmik. Spektrum Akademischer Verlag Heidelberg Berlin
Uwe Schöning Algorithmik Spektrum Akademischer Verlag Heidelberg Berlin Inhaltsverzeichnis Überblick 11 1 Grundlegende Konzepte 17 1.1 Elementare Programm-und Datenstrukturen 17 1.2 Einiges zur Algorithmentheorie
MehrÜbung 1 Algorithmen II
Yaroslav Akhremtsev, Demia Hespe yaroslav.akhremtsev@kit.edu, hespe@kit.edu Mit Folie vo Michael Axtma (teilweise) http://algo2.iti.kit.edu/algorithmeii_ws17.php - 0 Akhremtsev, Hespe: KIT Uiversität des
MehrHeapsort. Dr. Michael Brinkmeier (TU Ilmenau) Algorithmen und Datenstrukturen / 50
Heapsort Dr. Michael Brinkmeier (TU Ilmenau) Algorithmen und Datenstrukturen 27.6.2007 / 50 Heapsort - Wiederholung Definition Array A[..n] mit Einträgen aus (U,
Mehr14. Sortieren II Heapsort. Heapsort. [Max-]Heap 7. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften
Heapsort, Quicksort, Mergesort 14. Sortieren II 14.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 397 398 Heapsort [Max-]Heap 7 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrAlgorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web:
Algorithmen I Prof. Jörn Müller-Quade 24.05.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik
MehrAlgorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
MehrHeapsort, Quicksort, Mergesort. 8. Sortieren II
209 Heapsort, Quicksort, Mergesort 8. Sortieren II 210 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] Heapsort 211 Inspiration von Selectsort: Schnelles Einfügen Inspiration von Insertionsort:
MehrDatenstrukturen und Algorithmen D-INFK
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer
MehrProgrammieren und Problemlösen
Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Sortieralgorithmen Einleitung Heapsort Quicksort 2 Motivation Sortieren ist Voraussetzung für viele Anwendungen Nach
MehrProbabilistische Algorithmen
Probabilistische Algorithmen Michal Švancar Gerardo Balderas Hochschule Zittau/Görlitz 21. Dezember 2014 Michal Švancar, Gerardo Balderas (HSZG) Probabilistische Algorithmen 21. Dezember 2014 1 / 40 Inhaltsverzeichnis
Mehr4. Sortieren 4.1 Vorbemerkungen
. Seite 1/21 4. Sortieren 4.1 Vorbemerkungen allgemeines Sortierproblem spezielle Sortierprobleme Ordne a 1,..., a n so um, dass Elemente in aufsteigender Reihenfolge stehen. Die a i stammen aus vollständig
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 5, Donnerstag, 20.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 5, Donnerstag, 20. November 2014 (Wie baut man eine Hash Map, Universelles Hashing)
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Fibonacci Zahlen Fibonacci Folge Die Fibonacci
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrRandomisierte und Approximative Algorithmen
Skript zur Vorlesung Randomisierte und Approximative Algorithmen Prof. Dr. Heiko Röglin Institut für Informatik I Wintersemester 0/ 9. Januar 0 Vorwort Das vorliegende Skript ist als Begleitmaterial für
MehrWahrscheinlichkeitstheorie und Statistik
Wahrscheinlichkeitstheorie und Statistik Definitionen und Sätze Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2018 2.5.2018 Diskrete Wahrscheinlichkeitsräume Diskreter
Mehr8. Formelsammlung. Pr[ ] = 0. 0 Pr[A] 1. Pr[Ā] = 1 Pr[A] A B = Pr[A] Pr[B] DWT 8.1 Gesetze zum Rechnen mit Ereignissen 203/467 Ernst W.
8. Formelsammlung 8.1 Gesetze zum Rechnen mit Ereignissen Im Folgenden seien A und B, sowie A 1,..., A n Ereignisse. Die Notation A B steht für A B und zugleich A B = (disjunkte Vereinigung). A 1... A
MehrQuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert
4.3.6 QuickSort QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert QuickSort teilt das gegebene Array anhand
MehrEffiziente Algorithmen. Sommersemester Welcome, Herzlich willkommen!
Effiziente Algorithmen Sommersemester 2012 Welcome, Herzlich willkommen! 1 / 38 Worum gehts? Der Entwurf und die Analyse randomisierter Algorithmen: Was können würfelnde Algorithmen? Der Entwurf und die
MehrAlgorithmentheorie Randomisierung
Algorithmetheorie 03 - Radomisierug Prof. Dr. S. Albers Prof. Dr. Th. Ottma Radomisierug Klasse vo radomisierte Algorithme Radomisierter Quicksort Radomisierter Primzahltest Kryptographie 2 1. Klasse vo
Mehr3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen.
Das Suchproblem Gegeben Menge von Datensätzen. 3. Suchen Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle Jeder Datensatz hat einen Schlüssel k. Schlüssel sind vergleichbar: eindeutige Antwort auf
MehrDatenstrukturen und Algorithmen
Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/
MehrH. Meyerhenke: Kombinatorische Optimierung. Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik
VORLESUNG 13 Smoothed Analysis des Simplex-Algorithmus Nach Heiko Röglin, Universität Bonn, Vorlesungsskript Introduction to Smoothed Analysis vom 9. Januar 2012 78 Wiederholung Simplex-Algorithmus! Korrektheit:!
MehrKapitel 3: Sortierverfahren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrQuicksort ist ein Divide-and-Conquer-Verfahren.
. Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.
MehrStichwortverzeichnis. Chi-Quadrat-Verteilung 183, 186, 189, 202 ff., 207 ff., 211 Testen von Zufallszahlen 294 Cărtărescu, Mircea 319
Stichwortverzeichnis A Ableitung partielle 230 absolute Häufigkeit 47 Abweichungen systematische 38, 216, 219 zufällige 216, 218, 220, 222 Algorithmus average case 303 Las Vegas 300 Monte Carlo 300 randomisierter
MehrSortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2
Jan Pöschko 18. Januar 2007 Inhaltsverzeichnis 1 Problemstellung 2 1.1 Definition................................... 2 1.2 Warum Sortieren?.............................. 2 2 Einfache Sortieralgorithmen
MehrRandomisierte Algorithmen Algorithmen, die Zufallsbits benutzen können. Fehlerfreie Algorithmen (Las-Vegas-Alg)
Wiederholung Randomisierte Algorithmen Algorithmen, die Zufallsbits benutzen können. Fehlerfreie Algorithmen (Las-Vegas-Alg) Komplexitätsklassen: EP=ZPP Algorithmen mit Fehlern (Monte-Carlo-Alg) Zweiseitiger
MehrCarlos Camino Grundlagen: Algorithmen und Datenstrukturen SS 2015
Themenüberblick Dieses Dokument stellt eine Art Checkliste für eure Klausurvorbereitung dar. Zu jedem Thema im Skript sind hier ein paar Leitfragen aufgelistet. Ab Seite 4 findet ihr alle Zusammenfassungen,
Mehr6: Diskrete Wahrscheinlichkeit
Stefan Lucks Diskrete Strukturen (WS 2009/10) 219 6: Diskrete Wahrscheinlichkeit 6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 220 Wahrscheinlichkeitsrechnung Eines der wichtigsten
Mehr8. Sortieren II. 8.1 Heapsort. Heapsort. [Max-]Heap 6. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften
Heapsort, Quicksort, Mergesort 8. Sortieren II 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 9 210 Heapsort [Max-]Heap 6 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum mit
MehrHeapsort, Quicksort, Mergesort. 8. Sortieren II
209 Heapsort, Quicksort, Mergesort 8. Sortieren II 210 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 211 Heapsort Inspiration von Selectsort: Schnelles Einfügen Inspiration von Insertionsort:
MehrKomplexitätsklasse P. Manchmal wird mit P auch nur die Menge der Entscheidungsprobleme mit Polynomialzeitalgorithmen bezeichnet.
Komplexitätsklasse P Definition K3.1.1: Ein Problem L gehört zur Komplexitätsklasse P, wenn es einen deterministischen Algorithmus mit polynomieller Rechenzeit für L gibt. Manchmal wird mit P auch nur
MehrAlgorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4
Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS 2015 http://www.fmi.informatik.uni-stuttgart.de/alg Institut für Formale Methoden der Informatik Universität Stuttgart Übungsblatt 4 Punkte: 50 Problem
Mehr