25
Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Embed Size (px)

Citation preview

Page 1: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Randomized Algorithms

Kyomin JungKAIST

Applied Algorithm Lab

Jan 12, WSAC 2010

1

Page 2: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 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

Page 3: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Why randomness can be helpful?

A Simple example Suppose we want to check whether an integer

set has an even number or not.

Even when A has n/2 many even numbers, if werun 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”

}...,,,{ 321 naaaaA

3

Page 4: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Page 5: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

• 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. wxp

w

iiw

2

1

1 expPr

Chernoff Bound

5

Page 6: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Page 7: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Page 8: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Page 9: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Page 10: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Page 11: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Derandomization

Question: is BPP=P? Goal: try to simulate BPP in polynomial time use Pseudo-Random Generator (PRG):

Good if t=O(log m)

Blum-Micali-Yao PRGseed length t = mδ

seed output stringGt bits m

bits

11

Page 12: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Example of randomized algorithm : Minimum Cut Problem

A

B

C

D

Note: Size of the min cut must is no largerthan the smallest node degree in graph

12

Page 13: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Application: Internet Minimum Cut

13

Page 14: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Randomized Algorithm (by David Karger)

While |V| > 2:Pick a random edge (x, y) from EContract the edge:

Keep multi-edges, remove self-loops Combine nodes

The two remaining nodes represent reasonable choices for the minimum cut sets

14

Page 15: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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 randomlychosen edge is in C?

15

Page 16: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Page 17: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Iteration

How many iterations? 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

n - 2

17

Page 18: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Probability of finding C?

Probability of not finding C = 1 – 2/(n(n-1))

32

22

122 1...111 nnn

31

42

53

24

132 ...

n

nnn

nn

)1(2 nn

18

Page 19: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Page 20: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Example of randomized algorithm :Random Sampling

What is a random sampling?Given a probability distribution , pick a

point according to .e.g. Monte Carlo method for integration

Choose numbers uniformly at random from the integration domain, and sum up the value of f at those points

20

Page 21: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

How to use Random Sampling?

Volume computation in Euclidean space.

21

Page 22: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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 time.)( 3nO

22

Page 23: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Example of randomized algorithm :Markov Chain Monte Carlo Let be a probability density

function on S={1,2,..n}. f(‧ ) is any function on S and we want to

estimate

Construct P={Pij}, the transition matrix of an

irreducible Markov chain with states S, where

and π is its unique stationary distribution.

1( ,..., )n

.

1

( ) ( )n

i

i

I E f f i

SXiXjXP tttij },|Pr{ 1

23

Page 24: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

Markov Chain Monte Carlo

Run this Markov chain for times t=1,…,N and calculate the Monte Carlo sum

then

1

1ˆ { },N

t

t

I f XN

ˆ as .I I N

24

Page 25: Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC 2010 1

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

Yongsub Lim Boyoung Kim

Professor Graduate Students

Kyomin Jung Nam-ju Kwak

Members