210 likes | 384 Views
Parallel random walks. Brian Moffat. Outline. What are random walks What are Markov chains What are cover/hitting/mixing times Speed ups for different graphs Implementation. What is a random walk. An agent which traverses a graph randomly
E N D
Parallel random walks Brian Moffat
Outline • What are random walks • What are Markov chains • What are cover/hitting/mixing times • Speed ups for different graphs • Implementation
What is a random walk • An agent which traverses a graph randomly • Each step randomly goes from node A to a random neighbour A’
Advantages of Random walk • Easy to implement • No knowledge of underlying graph required • Little memory footprint
Disadvantages of random walk • Unpredictable cover and hitting time • Worst case of infinite
Uses of random walks • Sampling massive graphs • Social networks • Estimating the size of an unknown graph • Simplified model of brownian motion
What is a markov chain • A probability model involving states • Each state has probabilities that determine the transitions to neighbouring state • Can be represented as a matrix • Similar to a random walk
The Times • Cover time • Expected time for a random walk to visit every node in a graph • Hitting time • Expected time for a random walk to visit a specific vertex starting from a specific vertex • Mixing time • time before a markov chain hits the steady state
Mixing time • Time for a markov chain to converge to a steady state • Steady state is when time i and time i+1 are less then ε apart
Mixing times of graphs • Fast mixing times • Complete graphs • Slow mixing times • Barbell graph
Markov chains and graphs • a random walk on a graph can be easily represented as a Markov chain • Expected Cover time can be calculated using the Markov time
Speed ups • Three kinds of speed ups • Logarithmic • cycles • Linear • cliques • Exponential • Barbell graph
Linear speed up • Cliques have a linear speed up of k for k ≤ n random walks
Exponential speed up • Barbell graphs have an exponential speed up when the random walks are started on the center node.
Barbell • The barbell graph is 2 cliques connected by 1 path with a node in between known as vc • Once a random walk is in a given node there is 1 exit with 1/(n/2) probability of leaving the clique and ((n/2)-1/(n/2)) probability of staying in the clique • This bottleneck causes a massive slow down in the cover time
Barbell graph parallel • For k=20 lnn the expected cover time starting from vcis O(n) • Proof: with high probability the following will not happen • In one of the cliques there are less than 4 ln n walks after the first step • During the first 10n steps at least 2ln n vertices return to the center • One of the cliques is not covered within the first 10n steps
Barbell graph parallel • Starting node effects speed up of parallel walks • Best nodes are spread out • Best single node is the center node • Worst is in a clique
Implementation • Intel cilk plus • Graphs represented as arrays of booleans • Random walk stores array index for which vertex its at • Randomly steps to another index based on graph type
Questions • What property of a barbell graph that allows exponential speed up? • What other kinds of graphs could have an exponential speed up?