parallel random walks
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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
Calculating cover Time
Speed ups
• Three kinds of speed ups• Logarithmic– cycles
• Linear– cliques
• Exponential– Barbell graph
Logarithmic
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 ln n the expected cover time starting from vc is 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?