Generating Random Spanning Trees Sourav Chatterji Sumit Gulwani EECS Department University of California, Berkeley.

Slides:



Advertisements
Similar presentations
You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advertisements

Path-Sensitive Analysis for Linear Arithmetic and Uninterpreted Functions SAS 2004 Sumit Gulwani George Necula EECS Department University of California,
Mathematical Preliminaries
Advanced Piloting Cruise Plot.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Analysis of Algorithms
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Energy-Efficient Distributed Algorithms for Ad hoc Wireless Networks Gopal Pandurangan Department of Computer Science Purdue University.
and 6.855J Cycle Canceling Algorithm. 2 A minimum cost flow problem , $4 20, $1 20, $2 25, $2 25, $5 20, $6 30, $
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULTIPLYING MONOMIALS TIMES POLYNOMIALS (DISTRIBUTIVE PROPERTY)
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
FACTORING Think Distributive property backwards Work down, Show all steps ax + ay = a(x + y)
Addition Facts
ZMQS ZMQS
Reductions Complexity ©D.Moshkovitz.
Correctness of Gossip-Based Membership under Message Loss Maxim GurevichIdit Keidar Technion.
CS16: Introduction to Data Structures & Algorithms
Graph Algorithms Algorithm Design and Analysis Victor AdamchikCS Spring 2014 Lecture 11Feb 07, 2014Carnegie Mellon University.
BT Wholesale October Creating your own telephone network WHOLESALE CALLS LINE ASSOCIATED.
Discrete time Markov Chain
The Cover Time of Random Walks Uriel Feige Weizmann Institute.
Chapter 4: Informed Heuristic Search
1 The tiling algorithm Learning in feedforward layered networks: the tiling algorithm writed by Marc M é zard and Jean-Pierre Nadal.
Randomized Algorithms Randomized Algorithms CS648 1.
ABC Technology Project
Shadow Prices vs. Vickrey Prices in Multipath Routing Parthasarathy Ramanujam, Zongpeng Li and Lisa Higham University of Calgary Presented by Ajay Gopinathan.
5-1 Chapter 5 Theory & Problems of Probability & Statistics Murray R. Spiegel Sampling Theory.
COMP 482: Design and Analysis of Algorithms
KNURE, Software department, Ph , N.V. Bilous Faculty of computer sciences Software department, KNURE Transportation.
Comp 122, Spring 2004 Graph Algorithms – 2. graphs Lin / Devi Comp 122, Fall 2004 Identification of Edges Edge type for edge (u, v) can be identified.
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
演 算 法 實 驗 室演 算 法 實 驗 室 On the Minimum Node and Edge Searching Spanning Tree Problems Sheng-Lung Peng Department of Computer Science and Information Engineering.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
Squares and Square Root WALK. Solve each problem REVIEW:
Linear Time Methods for Propagating Beliefs Min Convolution, Distance Transforms and Box Sums Daniel Huttenlocher Computer Science Department December,
Routing and Congestion Problems in General Networks Presented by Jun Zou CAS 744.
CS1022 Computer Programming & Principles
Chapter 5 Test Review Sections 5-1 through 5-4.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
2 4 Theorem:Proof: What shall we do for an undirected graph?
Week 1.
We will resume in: 25 Minutes.
CS203 Lecture 15.
© 2008 Pearson Addison-Wesley. All rights reserved Chapter 13 Mathematics and Business.
How Cells Obtain Energy from Food
Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
Epp, section 10.? CS 202 Aaron Bloomfield
all-pairs shortest paths in undirected graphs
1 A Graph-Theoretic Network Security Game M. Mavronicolas , V. Papadopoulou , A. Philippou  and P. Spirakis § University of Cyprus, Cyprus  University.
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
Entropy Rate of a Markov Chain
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Expanders via Random Spanning Trees R 許榮財 R 黃佳婷 R 黃怡嘉.
Markov Chains and Random Walks. Def: A stochastic process X={X(t),t ∈ T} is a collection of random variables. If T is a countable set, say T={0,1,2, …
Date: 2005/4/25 Advisor: Sy-Yen Kuo Speaker: Szu-Chi Wang.
Generating Random Spanning Trees via Fast Matrix Multiplication Keyulu Xu University of British Columbia Joint work with Nick Harvey TexPoint fonts used.
CS120 Graphs.
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Generating Random Spanning Trees Sourav Chatterji Sumit Gulwani EECS Department University of California, Berkeley

2 Outline Applications Determinant based algorithms (unweighted) Random walk based algorithms (weighted) –Broders algorithm (undirected) –CFTP based algorithm (strongly connected) –Wilsons algorithm (directed) Comparison Relation to generating perfect random state Future work

3 Applications Perfect random sampling Statistical physics –generating random domino tilings Computer networks –accessing network reliability Computational biology –generating random permutations of genomes Electrical networks Recreation

4 Random maze Enter Berkeley Get Ph.D.

5 Random maze: demystified Get Ph.D. Enter Berkeley

6 Determinant Based Algorithm Matrix tree theorem: The number of spanning trees of G is N(G) = Det(A), –where A ij = degree(v i ), if (i = j) = -1 if (i,j) 2 G = 0 otherwise RST(G): –Let G = contract e in G –With probability N(G)/N(G), put e in RST(G) –If yes, then compute RST(G) else compute RST(G – { e }) Extensions: –Can it be adapted to work for weighted graphs? –Can we approximate the ratio faster?

7 Terminology (for r.w. based algorithms) Arborescence: directed spanning tree Random walk on G –w.l.o.g. G is stochastic –A random walk on G defines a MC on G Forward Tree Backward Tree

8 Random Walk

9 Forward Tree A random walk for t steps defines a forward tree F t First entrances in reversed orientation

10 Backward Tree A random walk for t steps defines a backward tree B t Last exits

11 Markov Chain on Trees A random walk defines a MC {B t } on the set of trees

12 Aldous/Broders Algorithm Undirected weighted graphs Works in cover time C Algorithm: –Perform a random walk until the cover time –Output the forward tree F C Proof: –Pr(F C = T) = (T), where is the stationary distribution for the backward tree chain – (T) / w(T) Markov Tree chain theorem:

13 CFTP Strongly connected directed weighted graphs Works in O(C) time Reduces generating random arborescence to generating random arborescence with root r: –Uses CFTP to generate random root r Generating random arborescence with root r –Uses CFTP again! –Markov Chain M r : = arborescence with root r Transitions: Simulate M = {B t } until reach a state in M r –Random Map

14 Random Map Definition: excursion (path from r to r) Application: change the parent of v to be the vertex after the last occurrence of v in the excursion

15 Random Map Definition: excursion (path from r to r) Application: change the parent of v to be the vertex after the last occurrence of v in the excursion Collapsing test: cover time

16 Loop Erasure of a Random Walk Erase cycles in order

17 Wilsons Algorithm Directed weighted graphs Fastest r.w. based algorithm: runs in O( ) – = mean hitting time = Reduces generating random arborescence to generating arborescence with root –Add a sink v* and edges of weight from each vertex to v* –Generate a random arborescence T with root v* –If T – { v* } is a tree, output it –Else repeat for a smaller value of

18 Wilsons Algorithm Generating random arborescence with root r –Current_Tree = { r } –While some vertex v not in Current_Tree Perform random walk from v till it reaches Current_Tree Add its loop erasure to Current_Tree Proof: –Algorithm finishes with a tree T and a collection of cycles { C 1, C 2, …, C s } –Pr[T, {C 1, C 2, …, C s }] = –Pr[T] /

19 Extensions Wilsons algorithm removes loops Alternative: remove an edge which breaks the loop

20 A birds eye view Determinant vs. random walk approach Broders algorithm vs. CFTP based algorithm Broders algorithm vs. Wilsons algorithm –Wilsons algorithm starts from a vertex not in the Current tree and that makes all the difference Clique

21 Relationship with generating a perfectly random state Random state to generate a random spanning tree –via generation of random root (e.g. CFTP) Random spanning tree to generate a random state –Seen few techniques for generation of random states Strong Stationary Time, CFTP –Random spanning trees is another technique! Use Wilsons algorithm to generate a random spanning tree, and output its root

22 Future Directions Can there be a better algorithm than Wilsons ? –Hybrid Algorithms –Allowing for bias Lower bounds Generating a random spanning tree with some property like bounded degree, diameter Is there an interesting pre-metric that makes the analysis amenable to path coupling ? –Several natural pre-metrics do not work!

23 Motivation: Hybrid Algorithm Clique

24 Extra Slide: Running Time of Wilsons Algorithm Running Time for specified root r: –add the number of visits to each vertex u –Standard result: number of times a random walk starting at u visits u before reaching r is (u)[E u T r + E r T u ] –Total expected time = –When r is -random, then Total Running Time: –Remains O( ) –When large, hit v* twice soon; restart –When 1/ = O( ), probability of failure is small