* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Download Document
Survey
Document related concepts
Transcript
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 n3 n4
3 2 1
n n1 n2 ... 5 4 3
2
n ( n 1)
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(n 3 ) 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