The Best Algorithms are Randomized Algorithms

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
C&O 355 Mathematical Programming Fall 2010 Lecture 22 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
C&O 355 Lecture 20 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
CSL758 Instructors: Naveen Garg Kavitha Telikepalli Scribe: Manish Singh Vaibhav Rastogi February 7 & 11, 2008.
Great Theoretical Ideas in Computer Science.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Graph Sparsifiers by Edge-Connectivity and Random Spanning Trees Nick Harvey U. Waterloo Department of Combinatorics and Optimization Joint work with Isaac.
Graph Sparsifiers by Edge-Connectivity and Random Spanning Trees Nick Harvey University of Waterloo Department of Combinatorics and Optimization Joint.
Graph Sparsifiers by Edge-Connectivity and Random Spanning Trees Nick Harvey U. Waterloo C&O Joint work with Isaac Fung TexPoint fonts used in EMF. Read.
Karger’s Min-Cut Algorithm Amihood Amir Bar-Ilan University, 2009.
Randomized Algorithms and Randomized Rounding Lecture 21: April 13 G n 2 leaves
Sublinear time algorithms Ronitt Rubinfeld Blavatnik School of Computer Science Tel Aviv University TexPoint fonts used in EMF. Read the TexPoint manual.
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
Approximation Algorithms: Bristol Summer School 2008 Seffi Naor Computer Science Dept. Technion Haifa, Israel TexPoint fonts used in EMF. Read the TexPoint.
Introduction to Graph Theory
C&O 355 Lecture 2 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Graph Sparsifiers Nick Harvey University of British Columbia Based on joint work with Isaac Fung, and independent work of Ramesh Hariharan & Debmalya Panigrahi.
1 Min-cut for Undirected Graphs Given an undirected graph, a global min-cut is a cut (S,V-S) minimizing the number of crossing edges, where a crossing.
The Best Algorithms are Randomized Algorithms N. Harvey C&O Dept TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A AAAA.
C&O 355 Mathematical Programming Fall 2010 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Graph Sparsifiers Nick Harvey Joint work with Isaac Fung TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
C&O 355 Mathematical Programming Fall 2010 Lecture 18 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
C&O 355 Mathematical Programming Fall 2010 Lecture 16 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
C&O 355 Lecture 24 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A A A A A A.
Chapter 7 May 3 Ford-Fulkerson algorithm Step-by-step walk through of an example Worst-case number of augmentations Edmunds-Karp modification Time complexity.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Generating Random Spanning Trees via Fast Matrix Multiplication Keyulu Xu University of British Columbia Joint work with Nick Harvey TexPoint fonts used.
Theory of Computational Complexity Probability and Computing Ryosuke Sasanuma Iwama and Ito lab M1.
Introduction to Approximation Algorithms
Randomized Min-Cut Algorithm
Introduction to Algorithms
Randomized Algorithm (Lecture 2: Randomized Min_Cut)
Lecture 22: Linearity Testing Sparse Fourier Transform
Minimum Spanning Tree 8/7/2018 4:26 AM
Randomized Algorithms
December 1st – Graph Madness
Great Theoretical Ideas in Computer Science
Lecture 18: Uniformity Testing Monotonicity Testing
CS 3343: Analysis of Algorithms
CS 154, Lecture 6: Communication Complexity
Planarity Testing.
Discrete Mathematics for Computer Science
CSE 421: Introduction to Algorithms
Divide and Conquer / Closest Pair of Points Yin Tat Lee
Randomized Algorithms CS648
Randomized Algorithms
Graph Partitioning Problems
CSE 373 Data Structures and Algorithms
Min Cut and Karger’s Algorithm
CS 583 Analysis of Algorithms
Problem Solving 4.
CSE 421: Introduction to Algorithms
CPS 173 Computational problems, algorithms, runtime, hardness
NP-Completeness Yin Tat Lee
Algorithms (2IL15) – Lecture 7
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
EE5900 Advanced Embedded System For Smart Infrastructure
Applied Combinatorics, 4th Ed. Alan Tucker
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Instructor: Aaron Roth
Lecture 9 Randomized Algorithms
Treewidth meets Planarity
Presentation transcript:

The Best Algorithms are Randomized Algorithms N. Harvey C&O Dept TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAA

Why do we randomize?

Reasons for Randomness Fooling Adversaries Symmetry Breaking Searching a Haystack Sampling huge sets ...

Picking Passwords Encryption keys are randomly chosen

The Hallway Dance Randomly go left or right After a few twists you won’t collide (usually!)

QuickSort 17 5 23 9 12 4 19 10 5 9 12 4 23 17 19 10 If I knew an approximate median, I could partition into 2 groups & recurse A random element is probably close to the median Like “searching for hay in a haystack”

Reasons for Randomness Fooling Adversaries Symmetry Breaking Searching a Haystack ...

Another Adversary Example IP Linux 2.4.20 denial-of-service attack Kernel uses a hash table to cache info about IP traffic flows Adversary sends many IP packets that all have same hash value Hash table becomes linked list; Kernel very slow Solution: Randomized hash function

Another Symmetry Breaking Example Ethernet Media Access Control Try to send packet If collision detected Wait for a random delay Retry sending packet http://picasaweb.google.com/tomatobasil

Another Haystack Example Consider the polynomial f(x,y)=(x-y2)(x2+2y+1) Problem: Find a point (x,y) that is not a zero of f If f0 then, for randomly chosen (x,y), Pr[ f(x,y)=0 ] = 0 Even over finite fields, Pr[ f(x,y)=0 ] is small

Reasons for Randomness Fooling Adversaries Symmetry Breaking Searching a Haystack ... Beauty: randomization often gives really cool algorithms!

Graph Basics A graph is a collection of vertices and edges Every edge joins two vertices The degree of a vertex is # edges attached to it

Graph Connectivity A connected graph A disconnected graph Problem: How many edges do you need to remove to make a graph disconnected?

Graph Connectivity Problem: How many edges do you need to remove to make a graph disconnected? Connectivity is minimum # edges whose removal disconnects the graph Observation: for every vertex v, degree(v)  connectivity Because removing all edges attached to vertex v disconnects the graph

Graph Connectivity Problem: How many edges do you need to remove to make a graph disconnected? Connectivity is minimum # edges whose removal disconnects the graph Useful in many applications: How many MFCF network cables must be cut to disrupt MC’s internet connectivity? How many bombs can my oil pipelines withstand?

Graph Connectivity Example S Removing red edges disconnects graph Definition: A cut is a set of edges of the form { all edges with exactly one endpoint in S } where S is some set of vertices. Fact: min set of edges that disconnects graph is always a cut

Algorithms for Graph Connectivity Given a graph, how to compute connectivity? Standard Approach: Network Flow Theory Ford-Fulkerson Algorithm computes an st min cut (minimum # edges to disconnect vertices s & t) Compute this value for all vertices s and t, then take the minimum Get min # edges to disconnect any two vertices CO 355 Approach: Compute st min cuts by ellipsoid method instead Next: An amazing randomized approach

Algorithm Overview Input: A haystack Output: A needle (maybe) While haystack not too small Pick a random handful Throw it away End While Output whatever is left

Edge Contraction u w v Key operation: contracting an edge uv Delete the edge uv Combine u & v into a single vertex w Any edge with endpoint u or v now ends at w

Edge Contraction v u w Key operation: contracting an edge uv Delete the edge uv Combine u & v into a single vertex w Any edge with endpoint u or v now ends at w This can create “parallel” edges

Randomized Algorithm for Connectivity Input: A graph Output: Minimum cut (maybe) While graph has  2 vertices “Not too small” Pick an edge uv at random “Random Handful” Contract it “Throw it away” End While Output remaining edges

Graph Connectivity Example We were lucky: Remaining edges are the min cut How lucky must we be to find the min cut? Theorem (Karger ‘93): The probability that this algorithm finds a min cut is  1/(# vertices)2.

But does the algorithm work? How lucky must we be to find the min cut? Theorem (Karger ‘93): The probability that this algorithm finds a min cut is  1/n2. (n = # vertices) Fairly low success probability. Is this useful? Yes! Run the algorithm n2 times. Pr[ fails to find min cut ]  (1-1/n2)n2  1/e So algorithm succeeds with probability > 1/2

Proof of Main Theorem Fix some min cut. Say it has k edges. While graph has  2 vertices “Not too small” Pick an edge uv at random “Random Handful” Contract it “Throw it away” End While Output remaining edges Fix some min cut. Say it has k edges. If algorithm doesn’t contract any edge in this cut, then the algorithm outputs this cut When contracting edge uv, both u & v are on same side of cut So what is probability that this happens?

Initially there are n vertices. Claim 1: # edges in min cut=k  every vertex has degree  k  total # edges  nk/2 Pr[random edge is in min cut] = # edges in min cut / total # edges  k / (nk/2) = 2/n

Now there are n-1 vertices. Claim 2: min cut in remaining graph is  k Why? Every cut in remaining graph is also a cut in original graph. So, Pr[ random edge is in min cut ]  2/(n-1)

In general, when there are i vertices left Pr[ random edge is in min cut ]  2/i So Pr[ alg never contracts an edge in min cut ]

Final Algorithm Running time:  O(m¢n2) (m = # edges, n = # vertices) Input: Graph G Output: min cut, with probability  1/2 For i=1,..,n2 Start from G While graph has  2 vertices Pick an edge uv at random Contract it End While Let Ei = { remaining edges } End For Output smallest Ei Running time:  O(m¢n2) (m = # edges, n = # vertices) With more beautiful ideas, improves to  O(n2)

How Many Min Cuts? Our analysis: for any particular min cut, Pr[ algorithm finds that min cut ]  1/n2 So suppose C1, C2, ..., Ct are all the min cuts 1/n2 fraction of the time the algorithm finds C1 1/n2 fraction of the time the algorithm finds C2 ... 1/n2 fraction of the time the algorithm finds Ct This is only possible if t · n2 Corollary: Any connected graph on n vertices has · n2 min cuts. (Actually, min cuts)

How Many Min Cuts? An n-cycle has exactly min cuts! Corollary: Any connected graph on n vertices has min cuts. Is this optimal? An n-cycle has exactly min cuts!

How Many Approximate Min Cuts? A similar analysis gives a nice generalization: Theorem (Karger-Stein ‘96): Let G be a graph with min cut size k. Then # { cuts with k edges }  n2. No other proof of this theorem is known!

Resources http://www.cs.ubc.ca/~nickhar/W15 Books Mitzenmacher-Upfal Motwani-Raghavan Alon-Spencer