Randomness in Algorithm Design
May 14, 2013 Shuji Kijima
- Dept. Informatics,
- Grad. School of Info. Sci. and Elect. Eng.
Kyushu Univ., Fukuoka Japan
Randomness in Algorithm Design Shuji Kijima Fukuoka ( ) Dept. - - PowerPoint PPT Presentation
May 14, 2013 Randomness in Algorithm Design Shuji Kijima Fukuoka ( ) Dept. Informatics, Grad. School of Info. Sci. and Elect. Eng. Kyushu Univ., Fukuoka Japan 2 My research field algorithm design Randomized Algorithms Perfect
Kyushu Univ., Fukuoka Japan
2
(w/ Makino, Koga, Kajino, Shiraga, Yamauchi, Yamashita)
(w/ Ogata, Yamauchi, Yamashita)
(w/ Hatano, Takimoto, Yaustake, Suehiro, Takeda, Nagano)
(w/ Saitoh, Otachi, Uno)
(w/ Okamoto, Uno)
into two edge-disjoint Hamiltonian paths? (w/ Tanigawa)
3
[ISAAC 2011]
5
Remark We do not know N (or approx. log N) in advance. : finite set of items : param. of “freq.” would like to find items appearing w/ frequency more than =1% of N.
6
7
Remark we do not know N (or, approx. log N) in advance.
8
Remark we do not know N (or, approx. log N) in advance.
9
Remark we do not know N (or, approx. log N) in advance.
10
Remark we do not know N (or, approx. log N) in advance.
“exponent” using O(loglog N) bits
11
Remark we do not know N (or, approx. log N) in advance.
“exponent” using O(loglog N) bits So, our question for simplified issue is, “Can we compute exponent (=log N) using o(log N) bits?” We have a representation with O(log log N) bits.
12
Remark we do not know N (or, approx. log N) in advance.
13
Remark we do not know N (or, approx. log N) in advance.
14
Remark we do not know N (or, approx. log N) in advance.
15
Remark we do not know N (or, approx. log N) in advance.
16
Remark we do not know N (or, approx. log N) in advance.
17
Remark we do not know N (or, approx. log N) in advance.
finding frequent items in a similar way.
18
Remark We do not know N (or approx. log N) in advance.
Advanced technique
20
21
22
transition rule is defined as follows
23
x x x
x x
24
with the following ex. of a pair (x,y)
transition prob. from X to Y transition prob. from Y to X
25
choose a consecutive pair of indices u.a.r. (w.p. 1/(6-1))
26
3 2 0 5 2 3 1 4 1 4 2 3 0 5 3 2
there are common 4 possible states, since values in other columns are same.
27
x x x x x
28
29
1. Set T = –1; set : empty; 2. Generate [T] ,... , [T/2 – 1]: random number; Put := ( [T],... , [T/2 – 1], [T/2],…,[–1] ); 3. Start a chain from every element in at period T, run MC with to period 0. a. if coalesce (y, x, y = T
0(x, )) return y;
b.
CFTP Algorithm When CFTP Algorithm terminates, the returned value realizes the random variable from stationary distribution, exactly. CFTP Theorem Markov chain MC: : finite state space s
t(x, ): transition rule
ergodic what is the idea of CFTP?
30
Suppose an ergodic chain from infinite past, imaginarily.
What is the present state?
31
1/2 1/3 1/6 1/3 1/6 1/2 1/2 1/3 1/6
This table shows an update function
This is an illustration of a transition.
We consider to determine the next state with
32
Suppose a Markov chain starting at infinite past Thus the present state is according to the stationary distribution, exactly. => ¡We’d ¡like ¡to ¡know ¡the ¡state ¡at ¡time ¡0. ¡
33
Recent random numbers Suppose we know ¡some ¡“recent” ¡transitions. ¡ We ¡may ¡obtain ¡a ¡unique ¡state ¡at ¡time ¡0. ¡we ¡call ¡this ¡situation ¡‘coalescence’ ¡ ¡ Obtain a state (state at time 0) after infinite transitions!!
34
States ¡in ¡ancient ¡times ¡(more ¡than ¡coalescence ¡time) ¡don’t ¡matter ¡at ¡time ¡0.
Even if we start the simulation before -4, the result of a simulation must be s2, since we tested all possibility at time -4.
35
1. Set T = –1; set : empty; 2. Generate [T] ,... , [T/2 – 1]: random number; Put := ( [T],... , [T/2 – 1], [T/2],…,[–1] ); 3. Start a chain from every element in at period T, run MC with to period 0. a. if coalesce (y, x, y = T
0(x, )) return y;
b.
CFTP Algorithm When CFTP Algorithm terminates, the returned value realizes the random variable from stationary distribution, exactly. CFTP Theorem Markov chain MC: : finite state space s
t(x, ): transition rule
ergodic what is the idea of CFTP?
36
[K, T. Mastui: RSA06] [K,T. Mastui SICOMP08] [T. Mastui, K. 07] [Propp Wilson 96] [Wilson 00] [Fill 98] [Propp Wilson 98] [Propp 97] [Yamamoto, K, Y.Mastui JCO11]
37
[Dyer, Frieze, & Kannan 91], [Lovasz & Vempala 07] [Jerrum, Sinclair, & Vigoda 04], [Stefankovic, Vempala, & Vigoda 09] [Jerrum & Sinclair 93], [Propp &Wilson 96]
[K 09+]
“What is the property that a randomized algorithm really requires for randomness?” joint with Kentaro Koga, Kazuhisa Makino (2010+, ANALCO 2012) Hiroshi Kajino, Kazuhisa Makino (2012+) Takeharu Shiraga, Yukiko Yamauchi, Masafumi Yamashita (2012+)
For the goal of derandomizing MCMC (in progress yet)
40
41
multiple RW approximates t
42
(When N is large,) tokens move to a,b,c,d with ratios approx. .3,.1,.4,.2
multiple RW approximates t
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
(): #tokens @ wV, @ time T > 0 in det. RW
(): E[#tokens ] @ wV , @ time T > 0 in RW
67
68
69
70
71
72
73
74
75
76
77
78
79
(): #tokens @ wV, @ time T > 0 in det. RW
(): E[#tokens ] @ wV , @ time T > 0 in RW
𝜓
(): #tokens @ w V , @ time T > 0 in detRW
𝜈
(): E[#tokens] @ w V , @ time T > 0 in RW
80
()
→ 0
() ≃ 𝜌(): distr. at time T
81
𝜓
(): #tokens @ w V , @ time T > 0 in detRW
𝜈
(): E[#tokens] @ w V , @ time T > 0 in RW
Johnson graph J(d,c) =(VJ,EJ) VJ={S {1,…,d} | |S|=c}, EJ={ {S,T} VJ
2 | |ST|=2 }
83
2006 Cooper, Spencer Rotor-router on Zd
2007 Cooper, Doerr, Spencer, Tardos Rotor-router on Z1
2008 Cooper, Doerr, Friedrich, Spencer Rotor-router on infinite k-reg. tree
2009 Doerr, Friedrich Rotor-router on Z2
2010+ K, Koga, Makino (this work) Rotor-router on finite multidigraph
Rotor-router on {0,1}d
2011+ Kajino, K., Makino Next page 2012+ Shiraga et al. Next page
84
2012 (2010) Kijima, Koga, Makino Rotor-router on multidigraph
(P: rational + ergodic + reversible + lazy) Rotor-router on {0,1}d
2012+ Kajino, Kijima, Makino Rotor-router on multidigraph
∗
Rotor-router on {0,1}d
2012+ Shiraga, Yamauchi, Kijima, Yamashita Functional-router on (simple)digraph
(P: real + ergodic + reversible)
86
87
88
𝑗 (𝑗)2 (𝝎(𝑗))2 𝝎(𝑗) 1 1 0.1 1/2 2 10 0.01 1/4 3 11 0.11 3/4 4 100 0.001 1/8 5 101 0.101 5/8 6 110 0.011 3/8 … … … …
¡
¡
89
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
90
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
91
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
92
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
93
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
94
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
95
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
96
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
97
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
98
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
99
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
100
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
101
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
102
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
103
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
104
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
105
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
106
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
107
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
108
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
109
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
110
a b c d .3 .4 .8 1
using Van der Corput seq., independently.
a c d 1/3 2/3 1 a b c 1/e 1-1/e 1 a b d e .2 .2+
c d e 1/3 2/3 1
2 47
𝐽, 0, 𝑨 : #tokens reaching at v
in total.
− 𝜈
113
− 𝜈
()
→ 0
() ≃ 𝜌(): distr. at time T
114
− 𝜈 =
− 𝜓 𝑄 𝑤, 𝑣
∈() ∈ ¡
= 𝜓()𝑄 − 𝜓()𝑄
understanding [Cooper, Spencer2006] by transition matrix P
𝜓
(): #tokens @ w V , @ time T > 0 in detRW
𝜈
(): E[#tokens] @ w V , @ time T > 0 in RW
(t): #tokens vu (v,uV) during [t,t+1)
𝑎,
= 𝜓
()
115
ΛΠ
𝑐 𝑓
𝑐 𝑤 𝑐 (𝑣)
116
− 𝜓 𝑄 𝑤, 𝑣
∈()
=
117
𝜓
− 𝜈
− 𝜓 𝑄 𝑤, 𝑣
𝑄 𝑣, 𝑥
∈ ∈ ¡
− 𝜓 𝑄 𝑤, 𝑣
𝜌 𝑥 𝜌 𝑤 𝜇
𝑐 𝑤 𝑐 𝑣
∈ ¡
𝜌 𝑥 𝜌 𝜇 𝑎,
− 𝜓 𝑄 𝑤, 𝑣
¡ ¡ |𝑐 𝑤 𝑐
𝑣
∈ ¡
|
≤ 𝜌 𝑥 𝜌 ⋅ 1 1 − 𝜇
− 𝜓 𝑄 𝑤, 𝑣
¡ ¡
∈ ¡
≤ 𝜌 𝑥 𝜌 ⋅ 𝑛 𝑜 − 1 1 − 𝜇 ⋅ 2(lg 𝑁 + 1)
118
− 𝜈
119
121
single walk ver. det RW. Ft
v := #visits (of token) between time 0 to t.
for any finite graph, |Ft
v/t - *v| O(mn/t)
where * = the stat. ditr. of RW.
|t
v/N - t v| O(mn/N)
122
An FPTAS for #Knapsack and Related Counting Problems, (FOCS 2011)
124
125
[Nonaka, Ono, K, Yamashita: CATS11]
[Yasutake, Hatano, K., Takimoto, Takeda: ISAAC11]
[Hirahara, K, M. Yamashita: 2011] Roomba iRobot