MATHEMATISCHE ANALYSE VON ALGORITHMEN



Ähnliche Dokumente
Programmieren I. Kapitel 7. Sortieren und Suchen

Kapitel 5: Dynamisches Programmieren Gliederung

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Über das Hüten von Geheimnissen

Abschnitt: Algorithmendesign und Laufzeitanalyse

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Primzahlen und RSA-Verschlüsselung

Numerische Verfahren und Grundlagen der Analysis

Codierungstheorie Rudolf Scharlau, SoSe

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Mathematischer Vorbereitungskurs für Ökonomen

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Vorkurs Informatik WiSe 15/16

Computeralgebra in der Lehre am Beispiel Kryptografie

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Teile und Herrsche Teil 2

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Melanie Kaspar, Prof. Dr. B. Grabowski 1

Grundlagen: Algorithmen und Datenstrukturen

DLP. Adolphe Kankeu Tamghe ALZAGK SEMINAR. Bremen, den 18. Januar Fachbereich Mathematik und Informatik 1 / 27

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Konzepte der Informatik

Beispiel Zusammengesetzte Zufallsvariablen

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Lenstras Algorithmus für Faktorisierung

Modul Diskrete Mathematik WiSe 2011/12

11. Das RSA Verfahren und andere Verfahren

Simplex-Umformung für Dummies

Einführung in die Informatik I

Fotios Filis. Monte-Carlo-Simulation

Lineare Gleichungssysteme

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Aufgaben zum Datenmanagement

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

Zahlensysteme. von Christian Bartl

Die Pareto Verteilung wird benutzt, um Einkommensverteilungen zu modellieren. Die Verteilungsfunktion ist

Algorithmen & Datenstrukturen 1. Klausur

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Anmerkungen zur Übergangsprüfung

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

1 topologisches Sortieren

Data Mining: Einige Grundlagen aus der Stochastik

Informationsblatt Induktionsbeweis

i x k k=1 i u i x i v i 1 0, ,08 2 0, ,18 3 0, ,36 4 0, ,60 5 1, ,00 2,22 G = n 2 n i=1

Box-and-Whisker Plot -0,2 0,8 1,8 2,8 3,8 4,8

Teilbarkeit von natürlichen Zahlen

Einführung in die Informatik I

In konstanten Modellen wird davon ausgegangen, dass die zu prognostizierende Größe sich über die Zeit hinweg nicht verändert.

Füllmenge. Füllmenge. Füllmenge. Füllmenge. Mean = 500,0029 Std. Dev. = 3,96016 N = ,00 490,00 495,00 500,00 505,00 510,00 515,00 Füllmenge

7 Rechnen mit Polynomen

16. All Pairs Shortest Path (ASPS)

R ist freie Software und kann von der Website.

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Mikro-Controller-Pass 1

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

Klausur zur Vorlesung Multivariate Verfahren, SS Kreditpunkte, 90 min

Darstellungsformen einer Funktion

Statistik II für Betriebswirte Vorlesung 2

1.3 Die Beurteilung von Testleistungen

Zeichen bei Zahlen entschlüsseln

WS 2009/10. Diskrete Strukturen

Kostenmaße. F3 03/04 p.188/395

Approximation durch Taylorpolynome

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

Algorithmen und Datenstrukturen

BONUS MALUS SYSTEME UND MARKOV KETTEN

Kapitel 3. Zufallsvariable. Wahrscheinlichkeitsfunktion, Dichte und Verteilungsfunktion. Erwartungswert, Varianz und Standardabweichung

q = 1 p = k k k = 0, 1,..., = [ ] = 0.678

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Mechanismus Design Auktionen

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

Quantilsschätzung als Werkzeug zur VaR-Berechnung

Algorithmen II Vorlesung am

Ablauf bei der Synchronisation und Sortierung von Dateien aus mehreren Kameras

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Sortierverfahren für Felder (Listen)

Statistik II für Betriebswirte Vorlesung 3

Musterlösungen zur Linearen Algebra II Blatt 5

Datensicherung und Wiederherstellung

Universität Bonn 28. Juli 2010 Fachbereich Rechts- und Wirtschaftswissenschaften Statistische Abteilung Prof. Dr. A. Kneip. KLAUSUR Statistik B

Kapitel 6: Graphalgorithmen Gliederung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

erster Hauptsatz der Thermodynamik,

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

15 Optimales Kodieren

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Lineare Gleichungssysteme


SOZIALVORSCHRIFTEN IM STRAßENVERKEHR Verordnung (EG) Nr. 561/2006, Richtlinie 2006/22/EG, Verordnung (EU) Nr. 165/2014

2 Darstellung von Zahlen und Zeichen

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Statistik I für Wirtschaftswissenschaftler Klausur am ,

Transkript:

MATHEMATISCHE ANALYSE VON ALGORITHMEN Michael Drmota Institut für Diskrete Mathematik und Geometrie, TU Wien michael.drmota@tuwien.ac.at www.dmg.tuwien.ac.at/drmota/ Ringvorlesung SS 2008, TU Wien

Algorithmus Kochrezept Rechenoperationen Datenstrukturen Graphen Aufwand =?

Inhalt Mergesort Karatsuba-Multiplikation Master-Theorem Euklidischer Algorithmus Quicksort Binäre Suchbäume Travelling Salesman-Problem

Mergesort Sortieren von Daten Datensatz: 4, 7, 2, 6, 1, 3, 10, 8, 5, 9 1. Aufteilen in 2 gleich große Teil-Datensätze 4, 7, 2, 6, 1 und 3, 10, 8, 5, 9 2. Sortieren der Teil-Datensätze 1, 2, 4, 6, 7 und 3, 5, 8, 9, 10 3. Mergen der Teil-Datensätze 1 2 4 6 7 3 5 8 9 10 1 2 3 4 5 6 7 8 9 10

Mergesort T (n)... Aufwand des Sortierens von n Datensätzen T (n) = 2 T (n/2) + O(n) = T (n) = O(n log n) Das ist deutlich schneller als das naive Sortieren, dessen Aufwand O(n 2 ) ist.

Karatsuba-Multiplikation Binärsystem 13 = 2 3 + 2 2 + 2 0 = (1101) 2 Aufwand beim üblichen Multiplizieren zweier n-stelliger Zahlen x, y: O(n 2 )

Karatsuba-Multiplikation x, y... n-stellige Zahlen (im Binärsystem) 1. Aufteilen in zwei gleich große Blöcke x 1, x 2 bzw. y 1, y 2 (mit m = n/2 Stellen): x = 2 m x 1 + x 2, y = 2 m y 1 + y 2. 2. Bestimmen von X = x 1 y 1, Y = x 2 y 2, Z = x 1 y 2 + x 2 y 1 = (x 1 + x 2 )(y 1 + y 2 ) X Y 3. Zusammenfassen xy = (2 m x 1 + x 2 )(2 m y 1 + y 2 ) = 2 2m x 1 y 1 + 2 m (x 1 y 2 + x 2 y 1 ) + x 2 y 2 = 2 2m X + 2 m Z + Y.

Karatsuba-Multiplikation T (n)... Aufwand des Multiplizierens von zwei n-stelligen Zahlen T (n) = 3 T (n/2) + O(n) = T (n) = O(n α ), α = log 3 log 2 = 1.585... Das ist deutlich schneller als das gewöhnliche Multiplizieren.

Karatsuba-Multiplikation Die Idee zu dieser Vereinfachung stammt von A. Karatsuba aus dem Jahr 1960. In der Zwischenzeit gibt es noch viel effizientere Algorithmen, ewta den Schönhage-Strassen-Algorithmus, dessen Aufwand die Größenordnung O(n log n) hat.

Master-Theorem Divide and Conquer-Algorithmen T (n) = at (n/b) + O(n c ) α := log a log b = T (n) = O(n α ) für α > c, O(n α log n) für α = c, und O(n c ) für α < c.

Euklidischer Algorithmus a, b... ganze Zahlen d = ggt(a, b)... größter gemeinsamer Teiler (ggt) ggt(a, b) = ggt(a b, b) Anwendung: ggt(59, 11) = ggt(48, 11) = = ggt(15, 11) = ggt(4, 11), ggt(4, 11) = ggt(4, 7) = ggt(4, 3) = ggt(1, 3) = 1, = ggt(59, 11) = 1.

Euklidischer Algorithmus Fortgesetzte Division mit Rest: 59 = 5 11 + 4, 11 = 2 4 + 3, 4 = 1 3 + 1.

Euklidischer Algorithmus Fortgesetzte Division mit Rest: 59 = 5 11 + 4, 11 = 2 4 + 3, 4 = 1 3 + 1, 3 = 3 1 + 0.

Euklidischer Algorithmus Fortgesetzte Division mit Rest: 59 = 5 11 + 4, 11 = 2 4 + 3, 4 = 1 3 + 1, 3 = 3 1 + 0. a = q 1 b + r 1, b = q 2 r 1 + r 2, r 1 = q 3 r 2 + r 3. r k = q k+2 r k+1 + r k+2 r k+1 = q k+3 r k+2 + 0

Euklidischer Algorithmus Fortgesetzte Division mit Rest: 59 = 5 11 + 4, 11 = 2 4 + 3, 4 = 1 3 + 1, 3 = 3 1 + 0. a = q 1 b + r 1, b = q 2 r 1 + r 2, r 1 = q 3 r 2 + r 3. r k = q k+2 r k+1 + r k+2 r k+1 = q k+3 r k+2 + 0

Euklidischer Algorithmus Aufwand Die Anzahl k + 2 der Divisionen gibt den Aufwand an: und r k+2 = ggt(a, b). b > r 1 > r 2 > > r k > r k+1 > r k+2 > 0 r j = q j+2 r j+1 + r j+2 r j+1 + r j+2 > 2r j+2 = r j+2 1 2 r j = Aufwand = O(log b).

Euklidischer Algorithmus Mittlerer Aufwand Man betrachtet alle ganze Zahlen (a, b) mit 1 b < a n. Dann ist die durchschnittliche Anzahl der Divisionsschritte 12 log 2 π 2 log n und die mittlere Abweichung von diesem Wert O( log n). Weiters gilt ein zentraler Grenzwertsatz. (Die Verteilung um den Mittelwert wird asymptotisch durch die Gaußsche Normalverteilung beschrieben).

Quicksort Datensatz: 4, 6, 3, 5, 1, 8, 2, 7 1. Bestimmen eines Pivotelements (z.b. 4) und Aufteilen in 2 Teil- Datensätze, in die Elemente, die kleiner als das Pivotelement sind und jene, die größer sind: 3, 1, 2 4 6, 5, 8, 7 2. Sortieren der Teil-Datensätze: 1, 2, 3 und 5, 6, 7, 8 3. Zusammensetzen der Teil-Datensätze und des Pivotelments: 1, 2, 3, 4, 5, 6, 7, 8

Quicksort Sortieren von Daten 4, 6, 3, 5, 1, 8, 2, 7

Quicksort Sortieren von Daten 6, 3, 5, 1, 8, 2, 7 4 3, 12, 6, 5, 8, 7

Quicksort Sortieren von Daten 4 3 6 1 2, 5 8, 7

Quicksort Sortieren von Daten 4 3 6 1 5 8 2 7

Quicksort Sortieren von Daten 4 3 6 1 5 8 2 7

Binäre Suchbäume Speichern von Daten 4, 6, 3, 5, 1, 8, 2, 7

Binäre Suchbäume Speichern von Daten 6, 3, 5, 1, 8, 2, 7 4

Binäre Suchbäume Speichern von Daten 3, 5, 1, 8, 2, 7 4 6

Binäre Suchbäume Speichern von Daten 5, 1, 8, 2, 7 4 3 6

Binäre Suchbäume Speichern von Daten 1, 8, 2, 7 4 3 6 5

Binäre Suchbäume Speichern von Daten 8, 2, 7 4 3 6 1 5

Binäre Suchbäume Speichern von Daten 2, 7 4 3 6 1 5 8

Binäre Suchbäume Speichern von Daten 7 4 3 6 1 5 8 2

Binäre Suchbäume Speichern von Daten 4 3 6 1 5 8 2 7

Quicksort Wahrscheinlichkeisttheoretisches Modell Jede Permutation der Daten {1, 2,., n} ist gleichwahrscheinlich. Zahl der Vergleichsopertationen L n... Anzahl der Vergleichsopertatonen, um eine zufällige Permutation von {1, 2,., n} mit Quicksort zu sortieren. L n = L Zn 1 + L n Zn + n 1, n 2, L 0 = L 1 = 0, L 2 = 1, Z n ist gleichverteilt auf {1, 2,., n}, L j ist eine unabhängige Kopie von L j und Z n, L j, L j (1 j n) sind unabhängig.

Quicksort Erwartete Anzahl von Vergleichen E L n = n 1 + 1 n n j=1 ( E Lj 1 + E L n j ) = E L n = 2(n + 1) n+1 h=1 1 h 4(n + 1) + 2 = 2n log n + n(2γ 4) + 2 log n + 2γ + 1 + O ((log n)/n), γ = 0.57721... Eulerkonstante.

Quicksort Theorem. [Régnier, Rösler] Die normalisierte Zahl der Vergleiche Y n = L n E L n n konvergiert zu einer Zufallsvariablen Y : Y n Y, die die stochastische Fixpunktgleichung Y = UY + (1 U)Y + c(u) erfüllt, U ist gleichverteilt auf [0, 1], Y ist eine unabhängige Kopier von Y, U, Y, Y sind unabhängig und (Y ist nicht normalverteilt.) c(x) = 2x log x + 2(1 x) log(1 x) + 1.

Travelling Salesman Problem

Travelling Salesman Problem

Travelling Salesman Problem X = (X 1, X 2,., X n )... n-tupel von zufällig gewählten Punkten im Einheitsquadrat [0, 1] 2 (gleichverteilt und unabhängig). Länge der minimalen Travelling Salesman-Tour: TSP(X) = min π S n n j=1 X π(j) X π(j+1) Theorem (Beardwood, Halton and Hammersley 1959) TSP(X) n β 2 in prob. für ein β 2 > 0. Bemerkung: Bis jetzt ist der exakte Wert von β 2 unbekannt.

Travelling Salesman Problem Notation: M(Y )... Median einer Zufallsvariablen Y Theorem (Rhee and Talagrand) Pr { TSP(X) M(TSP(X)) t} < 4e t2 /c. mit einer Konstanten c > 0. Folgerung. Alle zentralen Momente von TSP(X) sind beschränkt.