180 likes | 335 Views
Undirected ST-Connectivity in Log-Space. Author: Omer Reingold Presented by: Yang Liu. Outline. Introduction Part 1: basic ideas Part 2: transforming a graph G to an (N,D, λ )-graph G’ Questions. Introduction.
E N D
Undirected ST-Connectivity in Log-Space Author: Omer Reingold Presented by: Yang Liu
Outline • Introduction • Part 1: basic ideas • Part 2: transforming a graph G to an (N,D, λ)-graph G’ • Questions
Introduction • Undirected ST-Connectivity: decide whether s and t are connected in space O(logN). • Can be done in linear time and linear space • This paper gives an algorithm to solve this problem, thus solves an outstanding open problem and concludes that SL=L.
Part 1: Basic Idea • An (N,D, λ)-graph G has diameter O(logN), thus ST-Connectivity can be solved in O(logN) space.
Original Input Graph • Graph G adjacency matrix M • Undirected graph M is symmetric • D-regular the sum of entries in each row (and column) of M is D.
Rotation Map • For D-regular undirected graph G, RotG: [N]x[D][N]x[D] RotG(v1,2)=(v3,1) RotG(v2,1)=(v3,2)
Normalized Adjacency Matrix Mn • G: D-regular undirected graph Mn(vi,vj)=M(vi,vj)/D M (D=3) Mn
(N,D, λ)-graph • 1N=(1,…,1) is an eigenvector of Mn with eigenvalue 1 since Mn *1N =1* 1N • |λ|<=1 for any other eigenvalue λ of Mn --λ(G): the second largest eigenvalue of Mn --(N,D, λ)-graph: a D-regular graph G on N vertices such that λ(G)<= λ .
Vertex Expansion • For an (N,D, λ)-graph G For every λ<1, there exists ε >0 such that for any set S such that |S|<=|G|/2, at least (1+ε)|S| vertices of G are connected to some vertex in S.
Diameter of a (N,D, λ)-graph • Diameter is bounded by O(logN) • Pick any vertex s, let l=O(logN). Then at least (1+ε)l>=N/2 vertices are at distance at most l to s. • Pick any two vertices s and t, then at least one vertex is of distance at most l from both s and t a path of length at most 2l between any two vertices.
ST-Connectivity for (N,D, λ)-graph • Can be determined in space O(LogD*logN) • Enumerate all paths from s of length O(logN) • Memory: logD for remembering an edge in the path, and at most O(logN) edges for a path.
Part 2: Transforming G to an (N,D, λ)-graph • Idea: increase the connectivity of G by powering G • Challenge: keeping degree be constant by using zig-zag expander.
Powering • G: an (N,D, λ)-graph G by rotation map RotG. The t’th power Gtof G is: RotG(v0,(a1,…,at))=(vt,(b1,…bt)). i.e., there is path v0-a1-b1-v1-a2…vt-1-at-bt-vt. G: an (N,D, λ)-graph Gt:an (N,Dt, λt)-graph
Zig-zag Graph Product H: an (D, d, α)-graph a (ND, d2, λ’)-graph G: an (N,D, λ)-graph h2 h2 h1 h1 v1 h3 h4 h3 h4 h2 h1 2 4 v2 v1 v2 h3 h4
Main Transformation • Input: H: a (D16,D,1/2)-graph and G: a (N,D16,λ)-graph where λ≤1-1/(DN2) • Processing: for i=1 to l=O(logN) do Gi=(Gi-1 z H)8 • Output: Gl=: a (Npoly, D16, 1/2)-graph
Transforming G to a regular Graph • Input: a ((De)16,De,1/2)-graph H and a graph G. • Output: a (N2,(De)16)-graph Greg from G. (v2,v2) (v1,v2) 3 1 (v2,v1) (v1,v1) v1 v2 4 (v1,v3) (v2,v3) 2 … (De)16 G Greg
Algorithm • Transform G to a Greg (a regular graph) • Transform Greg to Gexp (an (N,D,)-graph) • Solve the s’t’-Connectivity on Gexp
Questions Thank You!