Jan 12, WSAC 2010 Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab 1 Randomness in Algorithms A Probabilistic Turing Machine is a TM given with a (binary) random “coin”. In the computation process of the PTM, PTM can toss a coin to decide its decision. Ex) Computer games, random screen savor… Note: in computer programming, the random number generating function (ex, rand() in C) takes an initial random seed, and generates a “deterministic” sequence of numbers. Hence they are not “truly” random. 2 Why randomness can be helpful? A Simple example Suppose we want to check whether an integer set A {a1, a2 , a3...,an} has an even number or not. Even when A has n/2 many even numbers, if we run a Deterministic Algorithm, it may check n/2+1 many elements in the worst case. A Randomized Algorithm: At each time, choose an elements (to check) at random. Smooths the “worst case input distribution” into “randomness of the algorithm” 3 Property of “independent” random trials Law of Large Number If we repeat independent random samplings many times according to a fixed distribution D, the “the average becomes close to the expectation” (ex: dice rolling) Ex) Erdos-Renyi Random Graph G(n,p). Voting poll … 4 Chernoff Bound • Suppose we have a coin with probability of heads is p. • Let X be a random variable where X=1 if the coin flip gives heads and X=0 otherwise. E[X] = 1*p + 0*(1-p) = p • After flipping a coin w times we can estimate the heads prob by average of xi. • The Chernoff Bound tells us that this estimate converges exponentially fast to the true mean p. w 1 Pr p w xi exp 2 w i 1 5 Las Vegas vs Monte Carlo A Las Vegas algorithm is a randomized algorithm that always gives correct results Ex: randomized quick sort A Monte Carlo algorithm is one whose running time is deterministic, but whose output may be correct only with a certain probability. Class BPP (Bounded-error, Probabilistic, Polynomial time) problem which has a Monte Carlo algorithm to solve it 6 Randomized complexity classes Model: probabilistic Turing Machine BPP L BPP if there is a p.p.t. TM M: x L Pry[M(x,y) accepts] ≥ 2/3 x L Pry[M(x,y) rejects] ≥ 2/3 “p.p.t” = probabilistic polynomial time y : (a sequence of) random coin tosses 7 Randomized complexity classes RP (Random Polynomial-time) L RP if there is a p.p.t. TM M: x L Pry[M(x,y) accepts] ≥ ½ x L Pry[M(x,y) rejects] = 1 coRP (complement of Random Polynomial-time) L coRP if there is a p.p.t. TM M: x L Pry[M(x,y) accepts] = 1 x L Pry[M(x,y) rejects] ≥ ½ 8 Error reduction for BPP given L, and p.p.t. TM M: x L Pry[M(x,y) accepts] ≥ ½ + ε x L Pry[M(x,y) rejects] ≥ ½ + ε new p.p.t. TM M’: simulate M k/ε2 times, each time with independent coin flips accept if majority of simulations accept otherwise reject 9 Error reduction for BPP Xi random variable indicating “correct” outcome in i-th simulation (out of m = k/ε2 ) Pr[Xi = 1] ≥ ½ + ε Pr[Xi = 0] ≤ ½ - ε E[Xi] ≥ ½+ε X = ΣiXi μ = E[X] ≥ (½ + ε)m By Chernoff Bound: Pr[X ≤ m/2] ≤ 2-(ε 2 m) 10 Derandomization Question: is BPP=P? Goal: try to simulate BPP in polynomial time use Pseudo-Random Generator (PRG): seed G t bits Good if t=O(log m) Blum-Micali-Yao PRG seed length t = mδ output string m bits 11 Example of randomized algorithm : Minimum Cut Problem C A B D Note: Size of the min cut must is no larger than the smallest node degree in graph 12 Application: Internet Minimum Cut 13 Randomized Algorithm (by David Karger) While |V| > 2: a random edge (x, y) from E Contract the edge: Pick Keep multi-edges, remove self-loops Combine nodes The two remaining nodes represent reasonable choices for the minimum cut sets 14 Analysis Suppose C is a minimum cut (set of edges that disconnects G) When we contract edge e: Unlikely that e C So, C is likely to be preserved What is the probability a randomly chosen edge is in C? 15 Random Edge in C? |C| must be degree of every node in G How many edges in G: |E| = sum of all node degrees / 2 n |C| / 2 Probability a random edge is in C 2/n 16 Iteration How many iterations? n - 2 Probability for first iteration: Prob(e1 C) 1 – 2/n Probability for second iteration: Prob(e2 C | e1 C) 1 – 2/(n-1) ... Probability for last iteration: Prob(en-2 C |…) 1 – 2/(n-(n-2-1)) 1 – 2/3 17 Probability of finding C? 1 n2 1 n21 1 n22 ...1 23 n2 n ... n3 n1 n4 n2 3 5 2 4 1 3 2 n ( n1) Probability of not finding C = 1 – 2/(n(n-1)) 18 Probability of finding C? Probability of not finding C on one trial: 1 – 2/(n(n-1)) 1 – 2/n2 Probability of not finding C on k trials: [1 – 2/n2]k If k = cn2, Prob failure (1/e)c Recall: lim (1 – 1/x)x = 1/e x 19 Example of randomized algorithm : Random Sampling What is a random sampling? a probability distribution , pick a point according to . e.g. Monte Carlo method for integration Given Choose numbers uniformly at random from the integration domain, and sum up the value of f at those points 20 How to use Random Sampling? Volume computation in Euclidean space. 21 Hit and Run Hit and Run algorithm is used to sample from a convex set in an n-dimensional Eucliden space. Assume that we can evaluate its ratios at given points It converges in O(n3 ) time. 22 Example of randomized algorithm : Markov Chain Monte Carlo Let (1 ,..., n ) be a probability density function on S={1,2,..n}. f(‧) is any function on S and we want to estimate n I E ( f ) f (i ) i. i 1 Construct P={Pij}, the transition matrix of an irreducible Markov chain with states S, where Pij Pr{X t 1 j | X t i}, X t S and π is its unique stationary distribution. 23 Markov Chain Monte Carlo Run this Markov chain for times t=1,…,N and calculate the Monte Carlo sum ˆI 1 N N f {X }, t t 1 then Iˆ I as N . 24 Applied Algorithm Lab (http://aa.kaist.ac.kr/) Research Projects Markov Random Field and Image segmentation Network consensus algorithm design Community detection in complex networks Routing/scheduling algorithm analysis in wireless networks Motion surveillance in video images Character recognition in images SAT solver design based on formula structures Decentralized control algorithms for multi-agent robot system Financial data mining Members Professor Kyomin Jung Graduate Students Yongsub Lim Boyoung Kim Nam-ju Kwak