Randomisierte Algorithmen

Ähnliche Dokumente
Randomisierte Algorithmen

7 Random Walks. 7.1 Ein randomisierter Algorithmus für 2-SAT. Wir beginnen mit einem motivierenden Beispiel.

Randomisierte Algorithmen 2. Erste Beispiele

Kochrezept für NP-Vollständigkeitsbeweise

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmische Graphentheorie

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Grundbegriffe der Informatik

Die Klasse NP und die polynomielle Reduktion

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Weitere NP-vollständige Probleme

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

Relationen und DAGs, starker Zusammenhang

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

15. Elementare Graphalgorithmen

Random Walks. Dumbiri Gbenoba Zusammenfassung

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl.

Dieser Graph hat 3 Zusammenhangskomponenten

Übung Theoretische Grundlagen

Algorithmen und Datenstrukturen

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Algorithmen & Komplexität

Probleme aus NP und die polynomielle Reduktion

Grundlagen Theoretischer Informatik 3 SoSe 2010 in Trier. Henning Fernau Universität Trier

Algorithmen II Vorlesung am

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Grundbegriffe der Informatik

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Übungsblatt Nr. 5. Lösungsvorschlag

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Algorithmen II Vorlesung am

Grundbegriffe der Informatik

Algorithmen und Datenstrukturen 2

Quicksort ist ein Divide-and-Conquer-Verfahren.

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin

Grundlagen und Diskrete Strukturen Aufgaben zur Vorbereitung der Klausur

Algorithmen für Planare Graphen

Kapitel IV Minimale Spannbäume

10. Übungsblatt zu Algorithmen I im SS 2010

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

ADS: Algorithmen und Datenstrukturen 2

Algorithmen & Komplexität

Vorlesung 2 KÜRZESTE WEGE

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

Rucksackproblem und Verifizierbarkeit

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Nachbarschaft, Grad, regulär, Inzidenz

Algorithmen und Datenstrukturen

Informatik III. 4.3 Weitere NP-Vollständige Probleme und Approximation. Christian Schindelhauer

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

Netzwerkverbindungsspiele

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Freie Bäume und Wälder

abgeschlossen unter,,,, R,

10 Kürzeste Pfade SSSP-Problem

Theoretische Grundlagen der Informatik

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

6.3 NP-Vollständigkeit. alle anderen Probleme in NP darauf polynomiell reduzierbar. 1 Polynomielle Reduzierbarkeit p

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Transkript:

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 Algorithmus für 2-SAT Random Walks Randomisierte Algorithmen für Zusammenhangstests 2 / 43

Ein randomisierter Algorithmus für 2-SAT Überblick Ein randomisierter Algorithmus für 2-SAT Random Walks Randomisierte Algorithmen für Zusammenhangstests 3 / 43

Ein randomisierter Algorithmus für 2-SAT Problem 2SAT aussagenlogische Formeln n Variablen (nicht: Vorkommen von Literalen) in konjunktiver Normalform, wobei jede Klausel zwei Literale enthält Probleminstanz: eine solche Formel F Frage: Ist F erfüllbar? Dieses Problem ist in P. a b ist äquivalent zu (ā = b) ( b = a) reflexiv transitive Hülle F nicht erfüllbar gdw. ( x = x) (x = x) für eine Variable x 4 / 43

Ein randomisierter Algorithmus für 2-SAT 7.1 Randomisierter Algorithmus (für 2SAT) Sei zunächst F eine erfüllbare 2SAT-Formel 5 / 43

Ein randomisierter Algorithmus für 2-SAT 7.1 Randomisierter Algorithmus (für 2SAT) Sei zunächst F eine erfüllbare 2SAT-Formel B zufällige Belegung aller x 1,..., x n mit Werten while F(B) = false do k von B nicht erfüllte Klausel in F x i zufällig gewählte Variable in k B(x i ) not B(x i ) od 5 / 43

Ein randomisierter Algorithmus für 2-SAT 7.2 Analyse des Algorithmus Es sei A eine Variablenbelegung, die F erfüllt. Es bezeichne j die Anzahl Variablen x mit B(x) = A(x). Betrachte linearen Pfad P n+1 mit möglichen Werten 0, 1,..., n für j als Knoten. = Belegung B entspricht einem Knoten. Bei jedem Schleifendurchlauf: j wird um 1 erhöht oder erniedrigt. Veränderung von B entspricht dem Schritt zu einem der beiden Nachbarknoten. Algorithmus beginnt schlimmstenfalls bei j = 0 und endet spätestens dann, wenn zum ersten Mal j = n erreicht wird. 6 / 43

Ein randomisierter Algorithmus für 2-SAT 7.3 Fortsetzung der Analyse Eine Erhöhung der Knotennummer findet mit Wahrscheinlichkeit 1/2 statt. Laufzeit des Algorithmus: Anzahl Schritte vom Startknoten bis zum Finden einer erfüllenden Belegung. Abschätzung nach oben: Anzahl Schritte von Knoten 0 zu Knoten n. Typische Fragestellung bei Random Walks: Was ist der Erwartungswert für die Anzahl Schritte, um von einem bestimmten Startknoten zu einem bestimmten Zielknoten zu gelangen? 7 / 43

Ein randomisierter Algorithmus für 2-SAT 7.4 Modifizierter Algorithmus Wir werden zeigen: Der Erwartungswert für Anzahl Schritte von Knoten 0 nach Knoten n entlang eines einzelnen Pfades ist n 2. Markov-Ungleichung: Wahrscheinlichkeit, dass Random Walk der Länge 2n 2 nicht zum Ziel führt, ist 1/2. Deswegen... 8 / 43

Ein randomisierter Algorithmus für 2-SAT 7.4 Modifizierter Algorithmus (2) B zufällige Belegung aller x 1,..., x n mit Werten m 0 Zähler für die Anzahl Versuche while F(B) = false and m < 2n 2 do k von B nicht erfüllte Klausel in F x i zufällig gewählte Variable in k B(x i ) not B(x i ) m m + 1 od if F(B) = true then return F erfüllbar durch B else return F nicht erfüllbar fi 9 / 43

Random Walks Überblick Ein randomisierter Algorithmus für 2-SAT Random Walks Randomisierte Algorithmen für Zusammenhangstests 10 / 43

Random Walks 7.5 Einfache Random Walks G = (V, E) endlicher, ungerichteter, zusammenhängender Graph mit V = n 2 Knoten und E = m Kanten Für u V bezeichne Γ(u) = {v (u,v) E} die Menge der Nachbarn, so dass d(u) = Γ(u) der Grad von u ist. Vorstellung: ein Teilchen, Objekt,... läuft auf dem Graphen herum: zu jedem Zeitpunkt an einem Knoten des Graphen ein Schritt: Bewegung über zufällig gewählte Kante zu einem Nachbarknoten einfacher Random Walk: jede Kante mit gleicher Wahrscheinlichkeit 1/d(u) gewählt 11 / 43

Random Walks 7.6 Definition m uv : Erwartungswert für die Anzahl Schritte, um bei einem in u startenden Random Walk erstmals zu Knoten v zu gelangen. Wechselzeit C uv = m uv + m vu 12 / 43

Random Walks 7.7 Beispiel Lollipop-Graph L n = ({1,..., n}, E): Clique der Größe n/2 mit angeklebtem Stiel der Länge n/2 L 16 : u v 13 / 43

Random Walks 7.7 Beispiel Lollipop-Graph L n = ({1,..., n}, E): Clique der Größe n/2 mit angeklebtem Stiel der Länge n/2 L 16 : u v Wir werden sehen, dass für diese Beispielgraphen gilt: m uv Θ(n 3 ) aber m vu Θ(n 2 ) 13 / 43

Überblick Ein randomisierter Algorithmus für 2-SAT Random Walks Randomisierte Algorithmen für Zusammenhangstests 14 / 43

7.8 ungerichteter zshg. Graph G ohne Schlingen Widerstands-Netzwerk N (G): ersetze jede Kante von G durch einen Widerstand von 1 Ω Zwischen Knoten u v ergibt sich ein effektiver Widerstand R uv. R uv ist der Quotient U uv /I uv aus einer zwischen u und v angelegten Spannung und dem dann fließenden Strom. einfache Fälle: Reihenschaltung von Widerständen R k : Gesamtwiderstand R = k R k Parallelschaltung von Widerständen R k : Gesamtwiderstand R = 1/( k 1/R k ) 15 / 43

7.9 Satz Es sei G ein ungerichteter Graph mit m Kanten. Dann gilt für alle Knoten u und v in G: C uv = 2m R uv Beweis: über elektrische Charakterisierung von m uv 16 / 43

7.10 Lemma Sei φ uv die Spannung bei u relativ zu v, wenn jedem Knoten x Strom d(x) Ampere injiziert wird und der Gesamtstrom von 2m Ampere bei v abgeführt wird. v ϕ uv u 17 / 43

7.10 Lemma Sei φ uv die Spannung bei u relativ zu v, wenn jedem Knoten x Strom d(x) Ampere injiziert wird und der Gesamtstrom von 2m Ampere bei v abgeführt wird. v ϕ uv Dann ist m uv = φ uv. u 17 / 43

7.11 Beweis von u v zu w Γ(u) fließender Strom ist φ uv φ wv Kirchhoffsche Regel: an jedem Knoten u ist zufließender Strom = abfließender Strom d(u) = (φ uv φ wv ) bzw. d(u) + w Γ(u) w Γ(u) φ wv = d(u)φ uv. 18 / 43

7.11 Beweis von u v zu w Γ(u) fließender Strom ist φ uv φ wv Kirchhoffsche Regel: an jedem Knoten u ist zufließender Strom = abfließender Strom d(u) = (φ uv φ wv ) bzw. d(u) + w Γ(u) w Γ(u) φ wv = d(u)φ uv. Linearität der Erwartungswerte liefert für u V {v}: m uv = 1 (1 + m wv ) d(u) w Γ(u) bzw. d(u) + m wv = d(u)m uv. w Γ(u) 18 / 43

7.11 Beweis von u v zu w Γ(u) fließender Strom ist φ uv φ wv Kirchhoffsche Regel: an jedem Knoten u ist zufließender Strom = abfließender Strom d(u) = (φ uv φ wv ) bzw. d(u) + w Γ(u) w Γ(u) φ wv = d(u)φ uv. Linearität der Erwartungswerte liefert für u V {v}: m uv = 1 (1 + m wv ) d(u) w Γ(u) bzw. d(u) + m wv = d(u)m uv. w Γ(u) 18 / 43

7.11 Beweis (2) Zweimal das gleiche lineare Gleichungssystem, das offensichtlich lösbar ist gleich: Lösung eindeutig Also ist φ uv = m uv. 19 / 43

7.11 Beweis (3) Eindeutigkeit der Lösung Es seien φ uv und ψ uv zwei Lösungen, also v u v : d(u)φ uv = d(u) + v u v : d(u)ψ uv = d(u) + also für jedes Paar (u,v) φ uv ψ uv = 1 Γ(u) w Γ(u) w Γ(u) w Γ(u) φ wv und ψ wv (φ wv ψ wv ) 20 / 43

7.11 Beweis (4) Eindeutigkeit der Lösung, Fortsetzung φ uv ψ uv = 1 Γ(u) w Γ(u) (φ wv ψ wv ) fixiere beliebiges v und wähle u so, dass φ uv ψ uv minimal wird also gilt für alle w Γ(u): φ uv ψ uv = φ wv ψ wv die Minimalität von φ xv ψ xv vererbt sich von jedem Knoten x zu seinen Nachbarn also ist für jedes x die Differenz φ xv ψ xv gleich (minimal) 21 / 43

7.11 Beweis (5) Eindeutigkeit der Lösung, Fortsetzung: für alle w Γ(u): betrachte beliebige Kante uw: φ uv ψ uv = φ wv ψ wv φ uw ψ uw = (φ uv φ wv ) (ψ uv ψ wv ) = (φ uv ψ uv ) (φ wv ψ wv ) = 0 also stimmen φ und ψ für alle Kanten überein also stimmen sie sogar für alle Knotenpaare überein (betrachte Pfade) 22 / 43

7.12 Beweis von Satz 7.9: C uv = 2m R uv Wir wissen schon: m uv = φ uv. v m uv u 23 / 43

7.12 Beweis (2) Analog: m vu = φ vu. v u m vu 24 / 43

7.12 Beweis (3) Vorzeichen umdrehen bei m vu = φ vu : v u m vu 25 / 43

7.12 Beweis (4) addieren ( sind linear) von v v muv u u mvu 26 / 43

7.12 Beweis (5) Ergebnis: v u muv + mvu Nach dem Ohmschen Gesetz ist aber φ uv + φ vu gerade 2mR uv. 27 / 43

7.13 Beispiel Lollipop-Graph L n : L 16 : u v Bestimmung von m uv : An den n/2 Clique-Knoten werden jeweils Θ(n/2) Ampere injiziert Also: Gesamtstrom Θ(n 2 ) Ampere Er fließt über u nach v und verursacht an allen n/2 Widerständen unterwegs jeweils einen Spannungsabfall von Θ(n 2 ) Volt Also Gesamtspannungsabfall Θ(n 3 ) 28 / 43

7.13 Beispiel (2) Lollipop-Graph L n : L 16 : u v Bestimmung von m vu : An den Knoten 1 + n/2, 2 + n/2,..., n werden jeweils 2 Ampere (bzw. 1 bei n) injiziert, die zu u fließen. Also fließen durch Widerstand zwischen Knoten n i und n i 1 gerade 2(i + 1) Ampere (für 0 i n/2 + 1). Die Spannungsabfälle summieren sich zu Θ(n 2 ). 29 / 43

7.14 Korollar Für jeden Graphen mit n Knoten und beliebigen Knoten u und v gilt: C uv < n 3. 30 / 43

7.15 Beweis V = n = E = m n(n 1)/2 Maximaler effektiver Widerstand R uv nach oben beschränkt durch die Länge kürzester Wege von u nach v. Reihenschaltung ist der schlimmste Fall, d. h. R uv n 1. Also ist C uv = 2mR uv < n 3. 31 / 43

Randomisierte Algorithmen für Zusammenhangstests Überblick Ein randomisierter Algorithmus für 2-SAT Random Walks Randomisierte Algorithmen für Zusammenhangstests 32 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.16 Problem USTCON: undirected s t connectivity Gegeben: ungerichteter Graph und zwei Knoten s und t Frage: Sind s und t in der gleichen Zusammenhangskomponente, also durch einen Pfad miteinander verbunden? 33 / 43

Randomisierte Algorithmen für Zusammenhangstests Anmerkungen zu USTCON zunächst klar: USTCON liegt in NL = NSPACE(log n) Savitch (1970): also USTCON in DSPACE((logn) 2 ) Aleliunas (1979): USTCON randomisiert in poly. Zeit und log n Platz (kommt gleich) Lewis et al. (1982): USTCON ist SL-vollständig (L SL NL) Nisan et al. (1992): USTCON in DSPACE((logn) 1.5 ) Reingold (2004): USTCON in DSPACE(log n), also SL = L = DSPACE(logn) 34 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.17 Algorithmus simuliere einen Random Walk, der bei s startet 35 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.17 Algorithmus simuliere einen Random Walk, der bei s startet mache maximal 2n 3 Schritte falls man dabei auf Knoten t trifft: Antwort yes falls man nie auf Knoten t trifft: Antwort no 35 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.18 Lemma Die Wahrscheinlichkeit, dass Algorithmus 7.17 fälschlicherweise no ausgibt, ist höchstens 1/2. 36 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.19 Beweis Falsche Antwort: s und t in der gleichen Zusammenhangskomponente, aber der Random Walk findet t nicht. Korollar 7.14: Erwartungswert m st n 3. Markov-Ungleichung: Wahrscheinlichkeit, dass ein Random Walk mehr als doppelt solange benötigt, um von s nach t zu gelangen, ist höchstens 1/2. 37 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.20 Problem STCON: s t connectivity Gegeben: gerichteter Graph und zwei Knoten s und t Frage: Sind s und t in der gleichen Zusammenhangskomponente, also durch einen Pfad miteinander verbunden? STCON ist vollständig für NL 38 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.20 Problem STCON: s t connectivity Gegeben: gerichteter Graph und zwei Knoten s und t Frage: Sind s und t in der gleichen Zusammenhangskomponente, also durch einen Pfad miteinander verbunden? STCON ist vollständig für NL NB: vorangegangener Algorithmus untauglich wegen möglicher Einbahnstraßensackgassen 38 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.21 Algorithmus Abwechselnd die beiden folgenden Phasen: 1. Simuliere ausgehend von s einen Random Walk der Länge maximal n 1. Wird dabei t erreicht: Ausgabe yes. 2. 39 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.21 Algorithmus Abwechselnd die beiden folgenden Phasen: 1. Simuliere ausgehend von s einen Random Walk der Länge maximal n 1. Wird dabei t erreicht: Ausgabe yes. 2. Es werden logn n = n logn Zufallsbits gewürfelt. Wenn sie alle 0 sind: Ausgabe no. 39 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.22 Lemma a) Algorithmus 7.21 kann so implementiert werden, dass der Platzbedarf kleiner gleich O(log n) ist. b) Wenn kein Pfad von s nach t existiert: Ausgabe nie yes, also stets no, sofern Algorithmus hält. c) Wenn ein Pfad von s nach t existiert: Ausgabe yes mit Wahrscheinlichkeit größer gleich 1/2. 40 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.23 Beweis a) Platzbedarf: Phase 1: bisherige Länge des Random Walk und aktuelle Knotennummer können in O(log n) Bits gespeichert werden. Phase 2: zähle, wieviele Bits schon gewürfelt wurden und ob alle gleich 0 waren. Es genügen log(n logn) O(logn) Bits. b) Wenn kein Pfad existiert, wird kein Random Walk von s nach t führen, also wird auch nie yes ausgegeben. 41 / 43

Randomisierte Algorithmen für Zusammenhangstests 7.23 Beweis (2) c) Falls Pfad von s nach t existiert: insgesamt höchstens n n Pfade der Länge n 1 also Wahrscheinlichkeit, dass in Phase 1 ein Pfad s t gefunden wird, mindestens n n. Die Wahrscheinlichkeit, dass in Phase 2 die falsche Antwort gegeben wird, ist (1 n n )n n n n. X: Zufallsvariable, die angibt, in welchem Durchlauf die richtige Antwort gegeben wird p: Wahrscheinlichkeit, dass überhaupt die richtige Antwort gegeben wird. Dann ist p = P(X 1) = P(X = 1) + P(X 2) n n + (1 2n n )p. Auflösen nach p ergibt: p 1/2. 42 / 43

Randomisierte Algorithmen für Zusammenhangstests Zusammenfassung Es gibt Zusammenhänge zwischen Random Walks und elektrischen n. Random Walks kann man benutzen, um in Graphen zwei Knoten auf Verbundenheit zu testen. 43 / 43