Randomisierte Algorithmen
|
|
|
- Stanislaus Feld
- vor 9 Jahren
- Abrufe
Transkript
1 Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/ / 36
2 Überblick Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 2 / 36
3 Und-Oder-Bäume und ihre deterministische Auswertung Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 3 / 36
4 Und-Oder-Bäume und ihre deterministische Auswertung 5.1 Definition (Und-Oder-Baum) T k vollständiger binärer Baum der Höhe 2k innere Knoten abwechselnd mit und markiert Wurzel von T 1 ist -Knoten mit zwei -Knoten als Nachfolger Jeder dieser Knoten hat zwei Blätter als Nachfolger. T k entsteht aus T 1, indem die Blätter durch Kopien von T k 1 ersetzt werden T k hat n = 4 k Blätter im folgenden x 1,..., x 4 k genannt 4 / 36
5 Und-Oder-Bäume und ihre deterministische Auswertung Und-Oder-Bäume Festlegung boolescher Werte an allen Blättern eines UOB impliziert für alle inneren Knoten einschließlich Wurzel einen Wert Berechnung des Wurzelwertes bottom up durch Besuch aller n = 4 k Blätter und Berechnung der Werte aller inneren Knoten möglich Frage: Geht es besser? 5 / 36
6 Und-Oder-Bäume und ihre deterministische Auswertung 5.4 Satz Für jedes k 1 und jeden deterministischen Algorithmus A gilt: Es gibt eine Folge x 1,..., x 4 k von Bits so, dass A bei der Auswertung von T k mit den x i als Blattwerten alle n = 4 k Blätter besucht. 6 / 36
7 Und-Oder-Bäume und ihre deterministische Auswertung 5.4 Satz Für jedes k 1 und jeden deterministischen Algorithmus A gilt: Es gibt eine Folge x 1,..., x 4 k von Bits so, dass A bei der Auswertung von T k mit den x i als Blattwerten alle n = 4 k Blätter besucht. Wert der Wurzel = Wert des zuletzt besuchten Blattes sowohl Wurzelwert = 0 als auch Wurzelwert = 1 kann erzwungen werden 6 / 36
8 Und-Oder-Bäume und ihre deterministische Auswertung 5.5 Beweis Induktion über k Induktionsanfang k = 1: A muss mindestens ein Blatt besuchen, o. B. d. A. x 1. Setze x 1 = 0. Damit ist kein innerer Wert festgelegt. A muss ein weiteres Blatt besuchen. O. B. d. A. zwei Möglichkeiten: 1. Zweites besuchtes Blatt ist x 2. Setze x 2 = 1. Damit nur Wert des -Knotens klar, Wurzelwert nicht. A muss weiteres Blatt besuchen, o. B. d. A. x 3. Setze x 3 = 0. A muss x 4 besuchen Wurzelwert. 2. Zweites besuchtes Blatt ist x 3. Setze x 3 = 0. Kein innerer Wert festgelegt A muss weiteres Blatt besuchen, o. B. d. A. x 2. Setze x 2 = 1. A muss x 4 besuchen Wurzelwert 7 / 36
9 Und-Oder-Bäume und ihre deterministische Auswertung 5.5 Beweis (2) Induktionsschritt k 1 k: Fasse T k als T 1 -Baum auf, dessen Blätter durch T k 1 -Bäume ersetzt sind. Bezeichne die Blätter von T 1 mit y 1,...,y 4. Analog Induktionsanfang kann durch geeignete Wahl der y i erzwungen werden, dass A alle 4 Werte ermitteln muss. Induktionsvoraussetzung: für jeden T k 1 -Baum gibt es Blattwerte, die gewünschtes y i liefern und erzwingen, dass A alle darunter liegenden Blätter besuchen muss. Also muss A in diesem Fall alle Blätter überhaupt besuchen. 8 / 36
10 Analyse eines randomisierten Algorithmus für die Auswertung von UOB Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 9 / 36
11 Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.6 Algorithmus: randomisierte UOB-Auswertung 10 / 36
12 Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.6 Algorithmus: randomisierte UOB-Auswertung proc AndNodeEval(T ) if IsLeaf (T ) then return value(t ) fi andernfalls: T zufälliger T -U.baum r OrNodeEval(T ) if r = 0 then return 0 else T and. T -U.baum return OrNodeEval(T ) fi proc OrNodeEval(T ) T zufälliger T -U.baum r AndNodeEval(T ) if r = 1 then return 1 else T and. T -U.baum return AndNodeEval(T ) fi AndNodeEval(root) 10 / 36
13 Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.7 Satz Der Erwartungswert für die Anzahl der von Algorithmus 5.6 besuchten Blätter ist für jede Folge x 1,..., x 4 k höchstens 3 k = n log 4 3 n / 36
14 Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis Induktion E: ein Erwartungswert für die Anzahl besuchter Blätter Induktionsanfang k = 1: Überprüfen aller 16 möglichen Kombinationen x 1,..., x 4. Z. B (Rest analog): 1. Falls erst linker Teilbaum: gleich wahrscheinlich wird erst und nur die 1 oder erst die 0 und dann die 1 besucht, anschließend im rechten Teilbaum beide Blätter. E = 1/ / = 7/2. 2. Falls erst rechter Teilbaum; nach Besuch beider Blätter klar: der T 1 -Baum den liefert Wert 0. E = 2. Beide Fälle gleich wahrscheinlich, also insgesamt E = 1/2 7/2 + 1/2 2 = 11/4 < 3 (= 3 1 = 3 k ). 12 / 36
15 Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (2) Induktionsschritt k 1 k: Betrachte zunächst -Knoten mit zwei T k 1 -Bäumen darunter. Zwei Fälle: O1. -Knoten wird 1 liefern: Dann muss mindestens ein T k 1 -Baum dies auch tun. Mit Wahrscheinlichkeit p 1/2 wird ein Unterbaum untersucht, der 1 liefert. Mit Wahrscheinlichkeit 1 p 1/2 werden beide Unterbäume untersucht. E p 3 k 1 + (1 p) 2 3 k 1 = (2 p) 3 k 1 3/2 3 k 1. O2. Der -Knoten wird 0 liefern: Dann müssen beide T k 1 -Bäume dies auch tun. Nach Induktionsvoraussetzung E 2 3 k 1 ist. 13 / 36
16 Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (3) Induktionsschritt k 1 k: Teil 2a Betrachte Wurzel des T k -Baumes mit zwei eben untersuchten Bäumen darunter. Zwei Fälle: U1. Der -Knoten wird 0 liefern: Dann muss mindestens ein U.baum dies auch tun. Mit Wahrscheinlichkeit p 1/2 wird ein Unterbaum untersucht, der 0 liefert. Mit Wahrscheinlichkeit 1 p 1/2 werden beide Unterbäume untersucht. Gemäß O1 und O2 ist folglich E p 2 3 k 1 + (1 p) (3/2 3 k k 1 ) = 7/2 3 k 1 p 3/2 3 k 1 11/4 3 k 1 3 k 14 / 36
17 Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (3) Induktionsschritt k 1 k: Teil 2b Betrachte Wurzel des T k -Baumes mit zwei eben untersuchten Bäumen darunter. Fall: U2. Der -Knoten wird 1 liefern: Dann müssen beide Unterbäume dies auch tun. Gemäß O1 ist daher E 2 3/2 3 k 1 3 k. 15 / 36
18 Zwei-Personen-Nullsummen-Spiele Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 16 / 36
19 Zwei-Personen-Nullsummen-Spiele 5.9 Spiele n 2 Spieler Spieler i hat (endliche) Menge S i reiner Strategien s i j zur Auswahl u i : S 1 S n R gibt für jede Kombination von Strategien den Nutzen oder Gewinn von Spieler i an. 17 / 36
20 Zwei-Personen-Nullsummen-Spiele 5.10 Zwei-Personen-Nullsummen-Spiele n = 2 Spieler für die Nutzenfunktionen gilt: u 1 = u 2. Es genügt Matrix M mit S 1 Zeilen S 2 Spalten M ij = u 1 (si 1, s2 j ) Zeilenspieler und Spaltenspieler Einheitsvektor e i (passender Länge) entspricht reiner Strategie i u 1 (s 1 i, s2 j ) = et i Me j 18 / 36
21 Zwei-Personen-Nullsummen-Spiele 5.11 Gemischte Strategien gemischte Strategie: Wahrscheinlichkeitsverteilung p auf der Menge der reinen Strategien eines Spielers. Sind p und q gemischte Strategien für Zeilen- und Spaltenspieler, dann ist p T Mq der zu erwartende Gewinn für den Zeilenspieler. 19 / 36
22 Zwei-Personen-Nullsummen-Spiele 5.12 Satz (von Neumann, 1928) Für Zwei-Personen-Nullsummen-Spiele mit Matrix M gilt: max p min q p T Mq = min q max p p T Mq und es gibt Verteilungen p und q, für die p T Mq dieser Wert ist. 20 / 36
23 Zwei-Personen-Nullsummen-Spiele 5.13 Korollar (Loomis, 1946) Für Zwei-Personen-Nullsummen-Spiele mit Matrix M gilt: max p min j p T Me j = min q max i e T i Mq 21 / 36
24 Zwei-Personen-Nullsummen-Spiele 5.14 Beweis genügt zu zeigen: für jedes p gilt: min q p T Mq = min j p T Me j analog für die rechten Seiten der beiden Gleichungen aus Satz 5.12 und Korollar Für beliebiges p ist p T M ein Zeilenvektor v T. Sei j eine Stelle in v, an der der kleinste aller in v vorkommenden Werte steht. Also: v T e j ist der kleinste überhaupt mögliche Wert, der für ein v T q auftreten kann. 22 / 36
25 Zwei-Personen-Nullsummen-Spiele 5.15 Korollar Loomis: max p min j p T Me j = min q max i e T i Mq 23 / 36
26 Zwei-Personen-Nullsummen-Spiele 5.15 Korollar Loomis: max p min j p T Me j = min q max i e T i Mq Für alle Verteilungen p und q gilt: min j p T Me j max e T i Mq i 23 / 36
27 Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 24 / 36
28 5.16 Algorithmenentwurf als Spiel (1) 2 Spieler Zeilenspieler: ein böser Widersacher Spaltenspieler: ein Algorithmenentwerfer reine Strategien Widersacher: gemeine Eingaben Algorithmenentwerfer: deterministische Algorithmen Einträge von M: Gewinn C(I, A) des Widersachers z.b. C(I, A) = Laufzeit von Algorithmus A für Eingabe I oder der Verbrauch irgendeiner anderen Ressource Ziele Widersacher: C(I, A) maximieren Algorithmenentwerfer: C(I, A) minimieren 25 / 36
29 5.16 Algorithmenentwurf als Spiel (2) reine Strategien Widersacher: gemeine Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien 26 / 36
30 5.16 Algorithmenentwurf als Spiel (2) reine Strategien Widersacher: gemeine Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien Widersacher: Wahrscheinlichkeitsverteilung auf einer Menge der Eingaben Algorithmenentwerfer: Wahrscheinlichkeitsverteilung auf einer Menge deterministischer Algorithmen 26 / 36
31 5.16 Algorithmenentwurf als Spiel (2) reine Strategien Widersacher: gemeine Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien Widersacher: Wahrscheinlichkeitsverteilung auf einer Menge der Eingaben Algorithmenentwerfer: randomisierter Algorithmus 26 / 36
32 5.17 Satz (Minimax-Methode von Yao) Es sei P ein Problem für eine endliche Menge I von Eingaben gleicher Größe n und A eine endliche Menge von Algorithmen für dieses Problem. C(I, A) Laufzeit von A A für I I. p und q: Wahrscheinlichkeitsverteilungen auf I bzw. A. Mit I p bzw. A q werde ein gemäß der Verteilung p bzw. q aus I bzw. A gewählte Eingabe bzw. Algorithmus bezeichnet. Dann gilt für alle p und q: min E [ C(I p, A) ] max E [ C(I, A q ) ] A A I I 27 / 36
33 5.18 Erläuterungen min E [ C(I p, A) ] max E [ C(I, A q ) ] A A I I Erwartungswert E [ C(I p, A) ] für gegebenes A die erwartete Laufzeit bei zufälliger Wahl von I p gemäß Verteilung p. Minimum der Erwartungswerte, also für den besten Algorithmus, von Bedeutung Erwartungswert E [ C(I, A q ) ] für gegebenes I die erwartete Laufzeit eines randomisierten Algorithmus. Maximum der Erwartungswerte, also für schlimmste Eingabe, von Bedeutung min A A E [ C(I p, A) ] ist eine untere Schranke für Laufzeit 28 / 36
34 5.19 Bemerkung Einen Satz analog zu 5.17 kann man auch für Monte-Carlo-Algorithmen beweisen. Hierauf gehen wir nicht weiter ein. 29 / 36
35 Funktion: x y x y Und-Oder-Baum kann auch als Baum mit lauter inneren -Knoten aufgefaßt werden: (x 1 x 2 ) (x 3 x 4 ) = (x 1 x 2 ) (x 3 x 4 ) = (x 1 x 2 ) (x 3 x 4 ) Für p = gilt: (1 p) 2 = p. Wenn an jedem Eingang eines -Gatters unabhängig mit Wahrscheinlichkeit p eine 1 vorliegt, ist daher mit gleicher Wahrscheinlichkeit p auch die Ausgabe eine / 36
36 5.22 Satz T : vollständiger balancierter Baum aus -Knoten, Blätter haben unabhängig voneinander mit Wahrscheinlichkeit p = (3 5)/2 den Wert 1 W (T ) sei das Minimum (über alle deterministischen Algorithmen) der erwarteten Anzahl von Schritten zur Auswertung von T. Dann gibt es auch einen Algorithmus A, der eine erwartete Anzahl von nur W (T ) Schritten macht und außerdem die folgende Eigenschaft hat: Besucht A ein Blatt v, das zu einem Teilbaum T gehört und später ein Blatt u, das nicht zu T gehört, dann gilt für alle Blätter a von T, die A überhaupt besucht: A besucht a vor u. 31 / 36
37 5.23 Satz Die erwartete Anzahl der Blätter, die ein randomisierter Algorithmus zur Auswertung von UOB mit n Blättern besucht, ist mindestens n log 2 ((1+ 5)/2) = n / 36
38 5.24 Beweis Betrachte einen Algorithmus wie in Satz 5.22 Auswertung von -Bäumen, deren Blätter unabhängig voneinander mit Wahrscheinlichkeit p = auf 1 gesetzt sind. In Abhängigkeit von der Höhe h sei W (h) die erwartete Anzahl besuchter Blätter. Es ist W (h) = W (h 1) + (1 p)w (h 1) = (2 p)w (h 1) also W (h) = (2 p) h 1 W (1) = (2 p) h Einsetzen von h = log 2 n und p ergibt W (T ) = (2 p) log 2 n = 2 (log 2 (2 p))(log 2 n) = n log 2 (2 p) = n / 36
39 5.25 Genauere (und schwierigere) Analyse liefert sogar untere Schranke von n log 4 3 n Die durch unseren randomisierten Algorithmus gegebene obere Schranke ist also optimal. 34 / 36
40 5.26 Da Erwartungswert für Anzahl besuchter Blätter n gibt es eine Berechnung, die max. so viele Blätter besucht. 35 / 36
41 5.26 Da Erwartungswert für Anzahl besuchter Blätter n gibt es eine Berechnung, die max. so viele Blätter besucht. also: mit Wahrscheinlichkeit echt größer 0 findet randomisierter Algorithmus Teilmenge von n Blättern, aus denen schon der Wurzelwert folgt. Also existiert für jede Verteilung von Bits auf alle Blätter solch kleine Teilmenge von Blättern, deren Kenntnis für die Bestimmung des Wurzelwertes ausreicht. Hausaufgabe: es reichen sogar immer n / 36
42 5.26 Da Erwartungswert für Anzahl besuchter Blätter n gibt es eine Berechnung, die max. so viele Blätter besucht. also: mit Wahrscheinlichkeit echt größer 0 findet randomisierter Algorithmus Teilmenge von n Blättern, aus denen schon der Wurzelwert folgt. Also existiert für jede Verteilung von Bits auf alle Blätter solch kleine Teilmenge von Blättern, deren Kenntnis für die Bestimmung des Wurzelwertes ausreicht. Hausaufgabe: es reichen sogar immer n 0.5 Aber: Jeder deterministische Algorithmus muss für manche Eingaben alle Blätter besuchen. Es ist also manchmal sehr schwierig, deterministisch eine solche kleine Teilmenge von Blättern zu finden. 35 / 36
43 Zusammenfassung Bei der Auswertung von Und-Oder-Bäumen kann man randomisiert weniger Blattbesuche erwarten, als jeder deterministische Algorithmus für manche Bäume durchführen muss. Die Minimax-Methode von Yao liefert eine Möglichkeit, untere Schranken für die erwartete Laufzeit randomisierter Algorithmen herzuleiten. 36 / 36
Seminar: 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
Randomisierte 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
Nash-Gleichgewichte in 2-Spieler Systemen. Katharina Klost Freie Universität Berlin
Nash-Gleichgewichte in 2-Spieler Systemen Katharina Klost Freie Universität Berlin Seminar über Algorithmen, 29.10.2013 Grundlegende Definitionen A Gewinnmatrix für Spieler 1, B Gewinnmatrix für Spieler
Kapitel 1: Motivation / Grundlagen Gliederung
Gliederung 1. Motivation / Grundlagen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Umgang mit algorithmisch schwierigen
Fortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)
Beim Logarithmischen Kostenmaß wird, im Gegensatz zum EKM, die Stelligkeit der Werte berücksichtigt und mit in die Laufzeit eingerechnet. Beispiel: R1 := R2 (R3), wobei R2 den Wert 5, R3 den Wert 10 und
11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Das 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
Das 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.
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Rot-schwarz Bäume Eigenschaften Rotationen Einfügen (Löschen) 2 Einführung Binäre Suchbäume Höhe h O(h) für Operationen
2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
Balancierte Bäume. Minimale Knotenanzahl von AVL-Bäumen. AVL-Bäume. Definition für "balanciert":
Balancierte Bäume Aufwand, ein Element zu finden, entspricht der Tiefe des gefundenen Knotens im worst case = Tiefe des Baumes liegt zwischen log N und N Definition für "balanciert": es gibt verschiedene
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit
Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15
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 18. März
21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3
581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv
Algorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Induktive Definitionen
Priv.-Doz. Dr.rer.nat.habil. Karl-Heinz Niggl Technische Universität Ilmenau Fakultät IA, Institut für Theoretische Informatik Fachgebiet Komplexitätstheorie und Effiziente Algorithmen J Induktive Definitionen
Das 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
Das 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
Wiederholung. 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
Effizienz von Algorithmen
Effizienz von Algorithmen Letzte Bearbeitung: Jan 211 Ein wichtiger Aspekt bei Algorithmen sind seine "Kosten". Wir wollen uns hier ausschließlich mit der Laufzeit des gewählten Algorithmus beschäftigen.
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN
KPITEL 6 GNZZHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULRE MTRIZEN F. VLLENTIN,. GUNDERT. Ganzzahlige lineare Programme Viele Optimierungsprobleme des Operations Research lassen sich als ganzzahlige lineare
8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
Übersicht: 6.1 Einleitung 6.2 Klassische Theorie nichtkooperativer Spiele 6.3 Egoistisches Routing 6.4 Mechanismen-Entwurf 6.
6. Algorithmische Spieltheorie Übersicht: 6.1 Einleitung 6.2 Klassische Theorie nichtkooperativer Spiele 6.3 Egoistisches Routing 6.4 Mechanismen-Entwurf 6.5 Auktionen 561 6.1 Einleitung Übliche Modelle:
Abgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 7 Prof. Dr. Helmut Seidl, S. Pott,
3.3 Optimale binäre Suchbäume
3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum
Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13
Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Sven Grothklags University of Paderborn 10. Juli 2006 Sven Grothklags (University of Paderborn) DuA Übungsblatt 13 10. Juli 2006 1
Algorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Induktive Beweise und rekursive Definitionen
Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1
Kryptographische Protokolle
Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit
3. 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
Berechnung von Abständen
3. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 3.4. Es sei G = (V, E) ein Graph. Der Abstand d(v, w) zweier Knoten v, w V ist die minimale Länge eines Weges von v nach w.
Übersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4)
Datenstrukturen und Algorithmen Vorlesung 3: (K4) 1 e für rekursive Algorithmen Prof. Dr. Erika Ábrahám 2 Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/
Induktive Definitionen
Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive
9.2 Die Klassen QP und BQP
Definition (r-universell): sei R eine Menge von reversieblen booleschen Funktionen, die auf einer konstanten Anzahl von Bits operieren. R heißt r-universell, falls jede reversible Funktion als Verknüpfung
2. Übungstest. Motivation Überblick. Motivation für B-Bäume. B-Bäume. Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis
Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 2. Übungstest Termin: Di 16. Juni 2009 im AudiMax, Beginn:
Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)
WS 2015/16 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke
Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Algorithmen zur Visualisierung von Graphen
Algorithmen zur Visualisierung von Graphen Teile & Herrsche-Algorithmen: Bäume und serien-parallele Graphen Vorlesung im Wintersemester 20/202..202 Algorithmen zum Zeichnen von Bäumen Anwendbarkeit Gut
Lösungen von Übungsblatt 12
Lösungen von Übungsblatt 12 Algorithmen (WS 2018, Ulrike von Luxburg) Lösungen zu Aufgabe 1 Eine (kanonische) Möglichkeit, die Branch-Schritte auszuführen ergibt sich wie folgt: Das ursprüngliche Problem
Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8
ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1
2 Spiele. 2.1 Spiele und Strategien
2 Spiele 2.1 Spiele und Strategien Wir betrachten bestimmte Formen von Zwei-Personen Null-Summenspielen mit perfekter Information, bei denen jede Partie von einem der beiden Spieler gewonnen wird. Die
Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung
Huffman-Codierung, arithmetische Codierung Theoretische Informatik RWTH-Aachen 4. April 2012 Übersicht 1 Einführung 2 3 4 5 6 Einführung Datenkompression Disziplin,die Kompressionsalgorithmen entwirft
Programmierung 1 - Repetitorium
WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage: http://info1.marcwagner.info Donnerstag, den 10.04.03 Kapitel 7 Korrektheit 7.1 Abstrakte Prozeduren Abstrakte Prozedur
Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5
Kamil Swierkot Paderborn, den 01.06.2007 Aufgabe 17 Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5 Bei der Optimierungsvariante des SubSetSum Problems wird bei der Eingabe
2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung
2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0
Definition 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
Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20
Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:
Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
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 2. April
Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Binomialverteilung und Bernoulli- Experiment
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Binomialverteilung und Bernoulli- Experiment Das komplette Material finden Sie hier: Download bei School-Scout.de TOSSNET Der persönliche
Ein 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
Einführung in die Informatik 2
Einführung in die Informatik Strukturelle Induktion Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 0 [email protected] Sprechstunde: Freitag, 1:30-14:00 Uhr, o.n.v.
Algorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 01/13 6. Vorlesung Prioritäten setzen Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Guten Morgen! Tipps für unseren ersten Test am 0. November: Lesen
Greedy Algorithms - Gierige Algorithmen
Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2
Lösungen zum Aufgabenblatt Nr. 1: Konstruktion der reellen Zahlen
Lösungen zum Aufgabenblatt Nr. 1: Konstruktion der reellen Zahlen Aufgabe 1: Es sei D die Menge aller rationalen Dedekind-Mengen, also D := { M 2 Q M is Dedekind-Menge }. Auf der Menge D definieren wir
Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule
Berufsfeldbezogenes Fachseminar - Zahlentheorie Lisa Laudan Prof. Dr. Jürg Kramer Wintersemester 2014/2015 Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule 1.1
Suchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 156, Seite 56 im Skript) Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die letzte Ebene vollständig besetzt ist,
Kombinatorik: Abzählverfahren (Teschl/Teschl 7) Summenregel. Allgemeiner
Kombinatorik: Abzählverfahren (Teschl/Teschl 7) Fragestellung: Wie viele verschiedene Möglichkeiten gibt es, Elemente auszuwählen, z. B. Anzahl verschiedener möglicher Passwörter, IPAdressen, Zahlenkombinationen
12.4 Traveling Salesman Problem
96 KOMBINATORISCHE SUCHE.4 Traveling Salesman Problem Definition.3(TSP, Problem des Handlungsreisenden): Wir betrachten einen gerichteten, gewichteten Graphen G = (V,E) mit K : V R. K({u,v}) sind die Kosten
Schleifeninvarianten. Dezimal zu Binär
Schleifeninvarianten Mit vollstandiger Induktion lasst sich auch die Korrektheit von Algorithmen nachweisen. Will man die Werte verfolgen, die die Variablen beim Ablauf eines Algorithmus annehmen, dann
Indexmengen. Definition. n n n. i=1 A i := A 1... A n
Indexmengen Definition Es sei n N. Für Zahlen a 1,..., a n, Mengen M 1,..., M n und Aussagen A 1,..., A n definieren wir: n i=1 a i := a 1 +... + a n n i=1 a i := a 1... a n n i=1 M i := M 1... M n n i=1
Randomisierte Algorithmen
Randomisierte Algorithmen Kapitel 2 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
Definition der Entropie unter Verwendung von supp(p XY )
Definition der Entropie unter Verwendung von supp(p XY ) Wir fassen die Ergebnisse des letzten Abschnitts nochmals kurz zusammen, wobei wir von der zweidimensionalen Zufallsgröße XY mit der Wahrscheinlichkeitsfunktion
Randomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 7. Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2018/2019 1 / 43 Überblick Überblick Ein randomisierter Algorithmus
Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion
Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Saskia Klaus 07.10.016 1 Motivation In den ersten beiden Vorträgen des Vorkurses haben wir gesehen, wie man aus schon bekannten Wahrheiten
Grundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
Lernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
Theoretische Informatik SS 03 Übung 3
Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige
Algorithmen und Datenstrukturen Heapsort
Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das
Analysis I: Übungsblatt 1 Lösungen
Analysis I: Übungsblatt 1 Lösungen Verständnisfragen 1. Was ist Mathematik? Mathematik ist eine Wissenschaft, die selbstgeschaffene, abstrakte Strukturen auf ihre Eigenschaften und Muster hin untersucht.
Randomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 7. Random Walks Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 43 Überblick Überblick Ein randomisierter
Sicherer MAC für Nachrichten beliebiger Länge
Sicherer MAC für Nachrichten beliebiger Länge Korollar Sicherer MAC für Nachrichten beliebiger Länge Sei F eine Pseudozufallsfunktion. Dann ist Π MAC2 für Π = Π MAC sicher. Nachteile: Für m ({0, 1} n 4
