randomness in algorithm design
play

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


  1. 20 Ex. 1. Contingency table  matrix of non-negative integers 12 18  satisfies (given) marginal sums 5 4 3 7 5 6 30 5 4 3 0 0 0 12 4 3 1 3 1 0 12 0 0 0 1 5 6 12 0 0 0 7 5 6 18 1 1 2 4 4 6 18 5 4 3 6 0 0 18 5 4 3 7 5 6 30 5 4 3 7 5 6 30 5 4 3 7 5 6 30 table A table B table C Problem Given: marginal sums Output: a contingency table u.a.r.

  2. 21 Ex. 1. Contingency table  matrix of non-negative integers 12 18  satisfies (given) marginal sums 5 4 3 7 5 6 30 counting # of tables satisfying given marginal sums  #P-complete (NP-hard), even when size of table is 2  n [Dyer, Kannan, and Mount ‘97] Problem sampling via Given: marginal sums Markov chain Output: a contingency table u.a.r.

  3. 22 Ex. 1. Markov chain for contingency tables [KM ‘06] transition rule is defined as follows 1. choose a consecutive j j +1 pair of columns ( j , j +1) 4 3 2 3 0 0 12 u.a.r. (prob. 1/( n – 1) ) 1 1 1 4 5 6 18 2. change the values of 5 4 3 7 5 6 30 cells in ( j , j +1)-th columns u.a.r. on possible states 1/4 1/4 1/4 1/4 2 3 5 + k – k + 1 4 5 – k + k 3 2 2 3 1 4 0 5 3 7 10 0 5 1 4 2 3 3 2 => preserve marginal sums 4 possible states (requirement on non-negativity)

  4. 23 Basic idea of “sampling via Markov chain” Start from arbitrary initial state Make several transitions State Space Output a sample x x x ・・・ x x The output is ‘ approximately ’“ according to the stat. dist.

  5. 24 Our Markov chain for contingency tables [KM ‘06] Them Our Markov chain is ergodic, and the unique stat. dist. of the chain is uniform dist. proof for the latter claim: detailed balance equations hold. with the following ex. of a pair (x,y) X 4 3 2 3 0 0 12 4 3 0 5 0 0 12 Y 1 1 1 4 5 6 18 1 1 3 2 5 6 18 5 4 3 7 5 6 30 5 4 3 7 5 6 30 transition prob. from X to Y transition prob. from Y to X since …

  6. 25 Our Markov chain for contingency tables [KM ‘06] Them Our Markov chain is ergodic, and the unique stat. dist. of the chain is uniform dist. proof for the latter claim: detailed balance equations hold. X 4 3 2 3 0 0 12 4 3 0 5 0 0 12 Y 1 1 1 4 5 6 18 1 1 3 2 5 6 18 5 4 3 7 5 6 30 5 4 3 7 5 6 30 choose a consecutive pair of indices u.a.r. (w.p. 1/(6-1))

  7. 26 Our Markov chain for contingency tables [KM ‘06] Them Our Markov chain is ergodic, and the unique stat. dist. of the chain is uniform dist. proof for the latter claim: detailed balance equations hold. X 4 3 2 3 0 0 12 4 3 0 5 0 0 12 Y 1 1 1 4 5 6 18 1 1 3 2 5 6 18 5 4 3 7 5 6 30 5 4 3 7 5 6 30 on the condition (3,4) columns are chosen, 3 2 2 3 1 4 0 5 there are common 4 possible states, 0 5 1 4 2 3 3 2 since values in other columns are same.

  8. 27 Basic idea of “sampling via Markov chain” 1. Design a Markov chain whose stat. dist = aiming dist. 2. Generate a sample from stat. dist. after many tran.s. How many? state space x x x ・・・ x x outputs after many transitions according to asymptotically stationary distribution

  9. 28 “How many transitions do we need?”  For approximate sampling , • estimate mixing time, and bound the discrepancy (by total variation distance)  For perfect sampling in finite time !? • meaning “sampling exactly according to the stat. distr.” [Propp & Wilson 96]  “ Coupling from The Past (CFTP )” is an ingenious simulation of MC, and realizes perfect sampling!

  10. [Propp & Wilson 96] 29 CFTP Algorithm and Theorem.  : finite state space  s t ( x ,  ): transition rule Markov chain MC : ergodic CFTP Algorithm Set T = – 1; set  : empty; 1. Generate  [ T ] ,... ,  [ T /2 – 1]: random number; 2. Put  := (  [ T ],... ,  [ T /2 – 1],  [ T /2],…,  [ – 1] ); Start a chain from every element in  at period T , run MC with  to period 0. 3. if coalesce (  y  ,  x  , y =  T 0 ( x ,  ))  return y ; a. b. otherwise, set T := T -1; go to step 2.; CFTP Theorem When CFTP Algorithm terminates, the returned value realizes the random variable from stationary distribution, exactly. what is the idea of CFTP?

  11. 30 Idea of CFTP (Coupling From the Past)  Suppose an ergodic chain from infinite past, imaginarily.  Present state (state at time 0) is EXACTLY according to the stat. dist.  What is the present state?  Guess from the recent random transitions. ⇒ Find the evidence of the present state. obtained by considering random numbers and transitions with an update function.

  12. 31 Update function -- with an example 1/3 • An ergodic Markov chain MC s 1 1/6 We consider to determine the next state with  finite state space : s 1 , s 2 , s 3 ; 1/2 1/2 - a random number   {1,…,6} ¡(u.a.r.), ¡and ¡ 1/6  Transition 1/2 1/3 - an Update function. s 2 s 3 1/6 1/3 current state e.g.,  s 1 s 2 s 3 5 1 s 3 s 1 s 2 s 1 s 1 2 s 2 s 3 s 2 s 2 s 2 3 s 2 s 1 s 3 λ 4 s 1 s 1 s 3 s 3 s 3 5 s 1 s 2 s 1 6 s 2 s 3 s 3 time t +1 t This table shows an update function This is an illustration of a transition.

  13. 32 Figure of CFTP  4 1 6 3 2 5 s 1 s 1 s 1 s 1 s 1 s 1 s 1     s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 3 s 3 s 3 s 3 s 3 s 3 s 3 time – 6 – 5 – 4 – 3 – 2 – 1 0 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. ¡

  14. 33 Figure of CFTP Recent random numbers Obtain a state (state at time 0) after infinite transitions!!  4 1 6 3 2 5 unique state at 0 s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1     s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 coalescence s 3 s 3 s 3 s 3 s 3 s 3 s 3 s 3 s 3 s 3 time – 6 – 5 – 4 – 3 – 2 – 1 0 Suppose we know ¡some ¡“recent” ¡transitions. ¡ We ¡may ¡obtain ¡a ¡unique ¡state ¡at ¡time ¡0. ¡we ¡call ¡this ¡situation ¡‘coalescence’ ¡ ¡

  15. 34 Figure of CFTP States ¡in ¡ancient ¡times ¡(more ¡than ¡coalescence ¡time) ¡don’t ¡matter ¡at ¡time ¡0.  4 1 6 3 2 5 unique state at 0 s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1     s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 coalesce s 3 s 3 s 3 s 3 s 3 s 3 s 3 s 3 s 3 s 3 s 3 s 3 time – 6 – 5 – 4 – 3 – 2 – 1 0 Even if we start the simulation before -4, the result of a simulation must be s 2 , since we tested all possibility at time -4.

  16. [Propp & Wilson 96] 35 CFTP Algorithm and Theorem.  : finite state space  s t ( x ,  ): transition rule Markov chain MC : ergodic CFTP Algorithm Set T = – 1; set  : empty; 1. Generate  [ T ] ,... ,  [ T /2 – 1]: random number; 2. Put  := (  [ T ],... ,  [ T /2 – 1],  [ T /2],…,  [ – 1] ); Start a chain from every element in  at period T , run MC with  to period 0. 3. if coalesce (  y  ,  x  , y =  T 0 ( x ,  ))  return y ; a. b. otherwise, set T := T -1; go to step 2.; CFTP Theorem When CFTP Algorithm terminates, the returned value realizes the random variable from stationary distribution, exactly. what is the idea of CFTP?

  17. 36 to design an efficient perfect sampler based on CFTP monotone Markov chain  Ising model [Propp Wilson 96]  Potts model (clutter model)  Tiling [Propp 97]  Two-rowed contingency tables [K, T. Mastui: RSA06]  Discretized Dirichlet distribution [T. Mastui, K. 07]  Queueing Networks (Jackson net, BCMP) [K,T. Mastui SICOMP08]  Q-Ising model [Yamamoto, K, Y.Mastui JCO11] Another CFTP  (Rooted) spanning trees [Propp Wilson 98] Improvement of memory space  Read once algorithm [Wilson 00]  Interruptible algorithm [Fill 98]

  18. 37 Poly-time Sampling --recent develop. & open prob. Poly-time algorithms for  uniform/log-concave on high-dim. convex body. [Dyer, Frieze, & Kannan 91], [Lovasz & Vempala 07]  perfect bip. matchings (a.k.a. permanent) [Jerrum, Sinclair, & Vigoda 04], [Stefankovic, Vempala, & Vigoda 09]  Ising model (b/w pic) [Jerrum & Sinclair 93], [Propp &Wilson 96] Open problems (poly-time algo.):  mxn contingency tables (u.a.r.)  ideals of a poset (u.a.r.)  Tutte poly.  matroid bases (u.a.r.)  Potts model [K 09+] Impossibility Unless RP=NP, No poly time sampler for gen. log-supermodula distr .

  19. “What is the property that a randomized algorithm really requires for randomness ?” For the goal of derandomizing MCMC (in progress yet) 3. Deterministic Random Walk Shuji Kijima Grad. Sch. of Info. Sci. & Elec. Eng., Kyushu Univ. joint with Kentaro Koga, Kazuhisa Makino (2010+, ANALCO 2012) Hiroshi Kajino, Kazuhisa Makino (2012+) Takeharu Shiraga, Yukiko Yamauchi, Masafumi Yamashita (2012+)

  20. 3.1. What does “ deterministic RW ” mean? Introduction of the rotor-router model (a.k.a. Propp machine [Propp ‘00]) on finite graphs --- from a viewpoint of an analogy of a random walk.

  21. 40 In Random Walk A token randomly walks on a graph.   0 : ini. distr. (token is on v at time 0, w.p. (  0 ) v )  P: trans. prob. matrix (move u-> v w.p. P uv )  distr.  t :=  0 P t at time t (token is on v at time t w.p. (  t ) v ) .3 .2 d a .4 e .1 c b

  22. 41 In multiple RW (RW of many tokens) M tokens randomly walk on a graph, independently.   0 : ini. config. (  0   0 /M)  P: trans. prob. matrix (a token moves u->v w.p. P uv )  exp. config.  t :=  0 P t at time t (  t   t /M) multiple RW approximates  t .3 .2 d a 1/3 .4 1/3 e .1 1/3 c b

  23. 42 In multiple RW (RW of many tokens) M tokens randomly walk on a graph, independently.   0 : ini. config. (  0   0 /M)  P: trans. prob. matrix (a token moves u->v w.p. P uv )  exp. config.  t :=  0 P t at time t (  t   t /M) multiple RW approximates  t .3 .2 (When N is large,) d a tokens move to a,b,c,d 1/3 with ratios approx. .3,.1,.4,.2 .4 1/3 e .1 1/3 Can we derandomize? c b

  24. 43 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t=0  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  25. 44 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  26. 45 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  27. 46 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  28. 47 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  29. 48 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  30. 49 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  31. 50 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  32. 51 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  33. 52 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  34. 53 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (0,1)  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  35. 54 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t=1  a =<d,b,c,a,a,a,d,c,c,c> .2 .3 d a 1/3 .4 1/3 e .1 1/3 c b

  36. 55 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t=1  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  37. 56 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (1,2)  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  38. 57 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (1,2)  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  39. 58 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (1,2)  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  40. 59 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (1,2)  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  41. 60 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (1,2)  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  42. 61 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (1,2)  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  43. 62 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t  (1,2)  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  44. 63 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t=2  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> 1/3 .4 1/3 e .1 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  45. 64 Deterministic RW (Propp machine; rotor-router) M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  config.  t at time t (  t   t ???) t=2  a =<d,b,c,a,a,a,d,c,c,c>  d =<e,a,c> .2 .3 d a  e =<c,d,e> Remark 1/3  every token moves exactly once in a unit time. .4 1/3 e .1  each node launches all tokens at time t by time t+1. 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  46. 65 Can a det. RW “simulate” a RW? M tokens deterministically walks on a graph, by rotor-routers.   0 : ini. config. (  0 =  0 )   u : “ rotor router ” on u (launches tokens to v w/ ratio prop. to P uv )  (ergodic) Markov chain converges to the stat. distr.  config.  t at time t (  t   t ???) t=2  tokens “mix” by RW.  a =<d,b,c,a,a,a,b,c,c,c>  Can the Propp machine simulate random walk ?  d =<e,c,a> .2  Do tokens “mix” by det RW? .3 d a  e =<c,d,e> i.e., No “lumps”? Remark 1/3  every token moves exactly once in a unit time. .4 1/3 e .1  each node launches all tokens at time t by time t+1. 1/3 c b  d =<a,a,a,c,e,e>  b =<a,b,c>

  47. about lower bound of 66 Main Results (1/3) single vertex discrepancy Thm. [K, Koga, Makino 10+] There exists a multidigraph G =(V, E ), exists ini. config, and exists rotor-router, such that ⊯ ≷ ⊯ ⊯ ⋂ ∨ ⊯ ⊸ ⊭ ≷ ⊡ ⊹ ∨ ∨ ≭ ∩ ≔ ∩ ≔ ∩ i.e., “lump” w/ a size  (m) holds, where m = | E |, (�) : #tokens @ w  V, @ time T > 0 in det. RW 𝜓 � (�) : E[#tokens ] @ w  V , @ time T > 0 in RW 𝜈 �

  48. 67 An example of “lumps” Thm. [K, Koga, Makino 10+] There exists a multidigraph G =(V, E ), exists ini. config, and exists rotor-router, such that ⊯ ≷ ⊯ ⊯ ⋂ ∨ ⊯ ⊸ ⊭ ≷ ⊡ ⊹ ∨ ∨ ≭ ∩ ≔ ∩ ≔ ∩ Rem: corresp. trans. matrix P = 1/2 1/2 1/2 1/2 t=0 <b,b,b,b,a,a,a,a> <a,a,a,a,b,b,b,b> a b

  49. 68 An example of “lumps” Thm. [K, Koga, Makino 10+] There exists a multidigraph G =(V, E ), exists ini. config, and exists rotor-router, such that ⊯ ≷ ⊯ ⊯ ⋂ ∨ ⊯ ⊸ ⊭ ≷ ⊡ ⊹ ∨ ∨ ≭ ∩ ≔ ∩ ≔ ∩ Rem: corresp. trans. matrix P = 1/2 1/2 1/2 1/2 t=1 <b,b,b,b,a,a,a,a> <a,a,a,a,b,b,b,b> a b

  50. 69 An example of “lumps” Thm. [K, Koga, Makino 10+] There exists a multidigraph G =(V, E ), exists ini. config, and exists rotor-router, such that ⊯ ≷ ⊯ ⊯ ⋂ ∨ ⊯ ⊸ ⊭ ≷ ⊡ ⊹ ∨ ∨ ≭ ∩ ≔ ∩ ≔ ∩ Rem: corresp. trans. matrix P = 1/2 1/2 1/2 1/2 t=2 <b,b,b,b,a,a,a,a> <a,a,a,a,b,b,b,b> a b

  51. 70 An example of “lumps” Thm. [K, Koga, Makino 10+] There exists a multidigraph G =(V, E ), exists ini. config, and exists rotor-router, such that ⊯ ≷ ⊯ ⊯ ⋂ ∨ ⊯ ⊸ ⊭ ≷ ⊡ ⊹ ∨ ∨ ≭ ∩ ≔ ∩ ≔ ∩ Rem: corresp. trans. matrix P = 1/2 1/2 1/2 1/2 t=3 <b,b,b,b,a,a,a,a> <a,a,a,a,b,b,b,b> a b

  52. 71 An example of “lumps” Thm. [K, Koga, Makino 10+] There exists a multidigraph G =(V, E ), exists ini. config, and exists rotor-router, such that ⊯ ≷ ⊯ ⊯ ⋂ ∨ ⊯ ⊸ ⊭ ≷ ⊡ ⊹ ∨ ∨ ≭ ∩ ≔ ∩ ≔ ∩ Rem: corresp. trans. matrix P = 1/2 1/2 1/2 1/2 t=4 <b,b,b,b,a,a,a,a> <a,a,a,a,b,b,b,b> a b

  53. 72 Another example of “lumps” t=0  a =<a,b,c,d,e,f,g,h>  h =<a,b,c,d,e,f,g,h> h a  b =<a,b,c,d,e,f,g,h>  g =<a,b,c,d,e,f,g,h> g b f c  c =<a,b,c,d,e,f,g,h>  f =<a,b,c,d,e,f,g,h> e d  e =<a,b,c,d,e,f,g,h>  d =<a,b,c,d,e,f,g,h>

  54. 73 Another example of “lumps” t=1  a =<a,b,c,d,e,f,g,h>  h =<a,b,c,d,e,f,g,h> h a  b =<a,b,c,d,e,f,g,h>  g =<a,b,c,d,e,f,g,h> g b f c  c =<a,b,c,d,e,f,g,h>  f =<a,b,c,d,e,f,g,h> e d  e =<a,b,c,d,e,f,g,h>  d =<a,b,c,d,e,f,g,h>

  55. 74 Another example of “lumps” t=2  a =<a,b,c,d,e,f,g,h>  h =<a,b,c,d,e,f,g,h> h a  b =<a,b,c,d,e,f,g,h>  g =<a,b,c,d,e,f,g,h> g b f c  c =<a,b,c,d,e,f,g,h>  f =<a,b,c,d,e,f,g,h> e d  e =<a,b,c,d,e,f,g,h>  d =<a,b,c,d,e,f,g,h>

  56. 75 Another example of “lumps” t=3  a =<a,b,c,d,e,f,g,h>  h =<a,b,c,d,e,f,g,h> h a  b =<a,b,c,d,e,f,g,h>  g =<a,b,c,d,e,f,g,h> g b f c  c =<a,b,c,d,e,f,g,h>  f =<a,b,c,d,e,f,g,h> e d  e =<a,b,c,d,e,f,g,h>  d =<a,b,c,d,e,f,g,h>

  57. 76 Another example of “lumps” t=4  a =<a,b,c,d,e,f,g,h>  h =<a,b,c,d,e,f,g,h> h a  b =<a,b,c,d,e,f,g,h>  g =<a,b,c,d,e,f,g,h> g b f c  c =<a,b,c,d,e,f,g,h>  f =<a,b,c,d,e,f,g,h> e d  e =<a,b,c,d,e,f,g,h>  d =<a,b,c,d,e,f,g,h>

  58. 77 Another example of “lumps” t=5  a =<a,b,c,d,e,f,g,h>  h =<a,b,c,d,e,f,g,h> h a  b =<a,b,c,d,e,f,g,h>  g =<a,b,c,d,e,f,g,h> g b f c  c =<a,b,c,d,e,f,g,h>  f =<a,b,c,d,e,f,g,h> e d  e =<a,b,c,d,e,f,g,h>  d =<a,b,c,d,e,f,g,h>

  59. 78 Another example of “lumps” t=6  a =<a,b,c,d,e,f,g,h>  h =<a,b,c,d,e,f,g,h> h a  b =<a,b,c,d,e,f,g,h>  g =<a,b,c,d,e,f,g,h> g b f c  c =<a,b,c,d,e,f,g,h>  f =<a,b,c,d,e,f,g,h> e d  e =<a,b,c,d,e,f,g,h>  d =<a,b,c,d,e,f,g,h>

  60. 79 Main Results (1/3) Thm. [K, Koga, Makino 10+] There exists a multidigraph G =(V, E ), exists a ini. config, and exists a rotor-router, such that ⊯ ≷ ⊯ ⊯ ⋂ ∨ ⊯ ⊸ ⊭ ≷ ⊡ ⊹ ∨ ∨ ≭ ∩ ≔ ∩ ≔ ∩ holds, where m = | E |, (�) : #tokens @ w  V, @ time T > 0 in det. RW 𝜓 � (�) : E[#tokens ] @ w  V , @ time T > 0 in RW 𝜈 �

  61. (�) : #tokens @ w  V , @ time T > 0 in detRW 𝜓 � 80 Main Results (2/3) (�) : E[#tokens] @ w  V , @ time T > 0 in RW 𝜈 � Thm. [K, Koga, Makino 10+] If all eigenvalues of P are nonnegative, then for any multidigraph, for any ini. config., for any rotor-router, ≭ ⊡ ≮ ∩ ⊵ ≭ ⊶ ⊷ ∴ for any w  V, for any time t, ⊯ ≷ ⊯ ⊯ ⋂ ∨ ⊯ ⊷ ∨ ≷ ⊡ ⊹ ∨ ∲ ∻ ∺ ∺ ∺ ∻ ⊷ ≧ ≮ ≩ ∫ ≮ ∫ ∳ ≡ ≸ ≭ ≮ ∫ ≏ ∨ ≭ ∩ ≔ ∩ ≔ ∩ ≩ ∲ ≦ ∱ holds where, n=|V|, |E|=m, n i = size of i-th Jordan cell. Remark (�) � �→� 0 𝜓 � 𝑁 − 𝜈 � = O 𝑛𝑜 The condition “all eigenvalues of P are nonnegative ” ¡ ¡ 𝑁 𝑁  is satisfied by any reversible lazy Markov chain,  which is usually used in MCMC. , remark  When P is symmetric  the cond. = “ P is pos.-semidefinite ” � (�) � ≃ 𝜌 (�) : distr. at time T

  62. (�) : #tokens @ w  V , @ time T > 0 in detRW 𝜓 � 81 Main Results (3/3) (�) : E[#tokens] @ w  V , @ time T > 0 in RW 𝜈 � Thm. [K, Koga, Makino 10+] On {0,1} d skeleton, for any ini. config., for any rortor-router, for any vertex w, for any time t, ⊯ ≷ ⊯ ⊯ ⊷ ∳ ⊯ ⋂ ∨ ≷ ⊡ ⊹ ∨ ∲ ≤ ∳ ∫ ≏ ∨ ≤ ∲ ∩ ≔ ∩ ≔ ∩ Johnson graph J(d,c) =(V J ,E J ) V J ={S  {1,…,d} | | S|=c}, Thm. [K, Koga, Makino 10+] E J ={ {S,T}  V J 2 | |S  T|=2 } On Johnson graph J(d,c), for any ini. config., for any rortor-router, ⊯ ≷ ⊯ for any vertex w, for any time t, ⊯ ⋂ ∨ ⊯ ⊷ ∲ ≷ ⊡ ⊹ ∨ ≣ ∳ ⊢ ∨ ≤ ⊡ ≣ ∩ ∲ ∫ ≏ ∨ ≣ ∳ ⊢ ∨ ≤ ⊡ ≣ ∩ ∩ ≔ ∩ ≔ ∩ poly log(#vertices) wikipedia

  63. ind. of #tokens M. 3.2. Previous works & our results Thm. [Cooper & Spencer 2006] On Z d , there exists a constant C d (depend. only d), such that for any ini. config., for any rotor-router, ⊯ ≷ ⊯ for any vertex w, for any time t, ⊯ ⋂ ∨ ⊯ ⊷ ≃ ≤ ≷ ⊡ ⊹ ∨ ≔ ∩ ≔ ∩

  64. 83 Previous works about single vertex discrepancy(1/2) 2006 Cooper, Spencer Rotor-router on Z d  v-disc.  C d 2007 Cooper, Doerr, Rotor-router on Z 1 Spencer, Tardos  C 1  2.29 2008 Cooper, Doerr, Rotor-router on infinite k-reg. tree Friedrich, Spencer  v-disc.   ( 𝑙𝑈 ) at time T 2009 Doerr, Friedrich Rotor-router on Z 2  C 2  7.83 (rotor-router=  )  C 2  7.29 (rotor-router=  ) 2010+ K, Koga, Makino Rotor-router on finite multidigraph (this work)  v-disc.  4mn+O(m) Rotor-router on {0,1} d  v-disc.  O(d 3 ) (poly log(#vertices)) 2011+ Kajino, K., Makino Next page 2012+ Shiraga et al. Next page

  65. 84 Previous works about single vertex discrepancy(2/2) 2012 Kijima, Koga, Rotor-router on multidigraph (2010) Makino  v-disc.  4m*n+O(m*) (P: rational + ergodic + reversible + lazy) Rotor-router on {0,1} d  v-disc.  O(d 3 ) (poly log of #vertices) 2012+ Kajino, Kijima, Rotor-router on multidigraph Makino � ∗ �  v-disc.  O 𝛽 ⋅ ��� (P: rational + irreducible) Rotor-router on {0,1} d  v-disc.  O(d 2 ) (poly log of #vertices) 2012+ Shiraga, Yamauchi, Functional-router on (simple)digraph Kijima, Yamashita � ��� ��  v-disc.  O ��� ⋅ log 𝑁 � ��� ⋅ (P: real + ergodic + reversible)

  66. 3.3. Functional-router model We propose a new deterministic process which imitates irrational transition probabilities, in a similar fashion to the rotor-router model.

  67. 86 In Random Walk A token randomly walks on a graph.   0 : ini. distr. (token is on v at time 0, w.p. (  0 ) v )  P: trans. prob. matrix (move u-> v w.p. P uv )  distr.  t :=  0 P t at time t (token is on v at time t w.p. (  t ) v ) .3 .2 d a .4 e .1 c b

  68. 87 In Random Walk A token randomly walks on a graph.   0 : ini. distr. (token is on v at time 0, w.p. (  0 ) v )  P: trans. prob. matrix (move u-> v w.p. P uv )  distr.  t :=  0 P t at time t (token is on v at time t w.p. (  t ) v ) A RW is implemented using random number. .3 .2 d r  [0,1) a r=.632 0 .3 .4 .8 1 .4 e .1 d a b c Func.-router model uses c b low discrepancy seq. instead of random numb.

  69. 88 Van der Corput seq. --- a low discrepancy sequences �� ¡� For an integer 𝑗 = ∑ 𝛾 � 𝑗 2 � ��� where ¡𝛾 � 𝑗 ∈ 0,1 ¡(𝑘 = 0,1, … , ⌊lg 𝑗⌋) �� ¡� 𝜔 𝑗 ≔ � 𝛾 � 𝑗 2 �(���) ��� 𝑗 (𝑗) 2 (𝝎(𝑗)) 2 𝝎(𝑗) 0 0 0 0 1 1 0.1 1/2 2 10 0.01 1/4 3 11 0.11 3/4 4 100 0.001 1/8 0 1 5 101 0.101 5/8 6 110 0.011 3/8 … … … …

  70. 89 Functional-router model --in a similar fashion to rotor-router M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t=0  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  71. 90 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  72. 91 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  73. 92 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  74. 93 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  75. 94 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  76. 95 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  77. 96 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  78. 97 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  79. 98 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t  (0,1)  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  80. 99 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t=1  config.  t at time t (  t   t ???) .3 .2 d a 0 .3 .4 .8 1 .4 d a b c e .1 c b 1/e

  81. 100 In Functional-router model M tokens deterministically walks on a graph, using low disc. seq.   0 : ini. config. (  0 =  0 )  “ func.-router ” on u launches tokens to v, prop. to P uv using Van der Corput seq., independently. t=1  config.  t at time t (  t   t ???) 0 1/3 2/3 1 .3 a d c .2 d 0 1/3 2/3 1 a 0 .3 .4 .8 1 c e d .4 d a b c 2 e .1 1/e 47 c b 0 1/e 1-1/e 1 � .2 .2+ 0 �� .8 1 1/e a c b a b e d

Recommend


More recommend