470 likes | 819 Vues
Undirected ST-Connectivity In Log Space. Omer Reingold Slides by Sharon Bruckner. Today. Some history What are we adding to the mix? Connectivity in expanders Making expanders: powering it up and cutting it down Putting it together in Log-Space In conclusion. What is ST-Connectivity?.
E N D
Undirected ST-Connectivity In Log Space Omer Reingold Slides by Sharon Bruckner
Today • Some history • What are we adding to the mix? • Connectivity in expanders • Making expanders: powering it up and cutting it down • Putting it together in Log-Space • In conclusion
What is ST-Connectivity? • For an instance (G,s,t) • YES if there is a s-t path in graph G • NO otherwise • Two flavors : • STCON: G is directed • USTCON G is undirected. • Today we’ll talk about USTCON
What do we know about it? • Solved easily with BFS • But – polynomial space! • USTCON is in NL (=NSPACE(log)) • Just guess the path • USTCON is in DSPACE(log2n) (Savitch) • Guess a vertex on the path, recurse • USTCON is complete for SL • USTCON is in RL • Random walk • Randomness is a resource!
We would like an algorithm for USTCON which is deterministic and works in space logarithmic in the size of the graph What are we trying to accomplish?
Bits N’ Pieces • The adjacency matrix of a graph G • We’ll use D regular graphs and the normalizedadjancecy matrix: (1/D)M ,
Bits N’ Pieces • M is a stochasticmatrix, the “random walk” matrix. • Largest eigenvalue of M is 1, with eigenvector (1,1,…,1)єRn ,2nd largest eigenvalue is λ(G). • Define (N,D,λ) : a D regular graph over N vertices with λ(G) ≤ λ
Expanders – a Reminder Two equivalent definitions of expander • (N,D, λ) is an expander iff the spectral gap, 1- λ > 0 • (N,D, λ) is an expander if ε>0 s.t. for , at least (1+ ε)|S| vertices of G are connected to some vertex in S.
If there are c|S| edges out of S: Expanders – a Reminder
Connectivity in Expanders What would happen if each connected component of our graph was an expander? We could decide USTCON in logspace!
Every expander has a O(log(N)) diameter Theorem: For any s and t in an expander, there’s a path from s to t of length O(log(N))
Logspace Algorithm for paths in an expander For (N,D, λ) there is a a space O(logD·logN) algorithm which decides USTCON. Idea: • From any vertex s there are Dl=O(logN) different paths. • enumerate and check if any of them reach t.
How much does it cost? • At each vertex we have a choice of D vertices, log(D) to represent 1…D. • Each path is log(N) long. • Need log(D) at each stage of a log(N) path, altogether O(logD·logN)
So far We now know that if our graph G was an expander graph, USTCON can be solved in Log-Space. How can we turn G into a graph of expanders?
What do we want from the expander graph G’? • There is an s-t path in G iff there is an s’-t’ path in G’. • Each connected component is an expander, with constant expansion • Construction in Log-Space.
The Plan • New tools for our toolbox • Rotation Maps • Powering • Zig Zag products • The actual construction • Why we got what we wanted • Why we got it in Log-Space
8 Zig Zag Powering O(Log(N)) Overview • Series of powering by 8 and zig zag products, one increases the spectral gap and the other one decreases it, but not by much.
Rotation Maps • Graph representation we’ll use G is D regular, undirected. The rotation map If the edge (v,w) exists and is the ith edge coming out of v and the jth edge coming out of w
Rotation Map Example 3 2 4 1 1 2 … 3 4 … v 28 17 … … u 54 54 55 55
Powering No limitations on the degree → can expenderize with powering: The k-th power of the D-regular graph G is Gk where there is an edge (u,v) iff there is a path of length k between u and v in G. =k
Powering What is it good for? • GN is an N-clique an expander • If G = (N,D, λ) then Gk is a (N,Dk, λk) λ(G) The spectral gap • Why is this not enough?
v is now Hv Zig Zag Product If G is a D-regular graph with N vertices and H is a d-regular graph with D vertices, replace each v in G with a copy of H, Hv. Our new graph has [N]x[D] vertices. Part of G v H
a’ i i’ j b a j’ i b’ j G Z H b Zig-Zag Product The resulting graph is a d2 regular graph, with edges as follows: v a’ Hv a b’ G w Hw
Zig-Zag Product Lemma: If G is an (N,D,λ) graph and H is a (D,d,) graph: The zig-zag product doesn’t hurt the spectral gap too badly!
Question Is a connected component in G a connected component in G z H ?
G G2 12 v 5 3,5 3 8 u u w w u u w 8,12 G Gk a1 a2 ak … a1,..,ak bk b1 w b(k-1) bk,..,b1 Rotation Map for Powering
(v,a) (v,a’) i i’ Hv z G H Rotation Map for ig ag Rot ((v,a), (i,j)) = v a’ b’ G w Hw j’ j (w,b’) (w,b)
The Actual Construction Show a transformation that turns every connected component of a graph into an expander. But! Not any graph, but a D16 regular graph. How to construct such a graph - later
Main Transformation On input G and H, where G is a D16 regular graph on N vertices, and H is a D-regular graph on D16 vertices Gi is a D16 regular graph, with N*(D16)i vertices
Technical Lemma For D-reg, connected, non-bipartite G on [N] Proof:
Details • Set l to be the smallest integer s.t. If D is constant, then this number is O(logN). • Transforming the entire graph is equivalent to transforming each connected component separately
More Details S2 S3 S1 S2 S3 S1
Why ? Show that this is true for a single iteration. Both powering and zig zag maintain the block structure Adjacency matrix sorted by connected components
Why is this an expander? G and H are inputs of above. If and G is connected and non-bipartite then Which means that the output of is indeed an expander.
Proof G0=G, connected and non-bipartite, It’s enough to show and from the lemma we get
Proof Continued Recall: if G = (N,D,λ) then Gt = (N,Dt,λt) = We can bound λ(Gi) by For each i, one of two cases occurs: Otherwise, it’s always true that
What do we want from the expander graph G’? • There is an s-t path in G iff there is an s’-t’ path in G’. • Each connected component is an expander. • Construction in Log-Space.
Log Space Construction Prove that for any D, can be calculated in space O(log(N)). RotG RotH Input Tape Output Tape
v a The Work Tape
This is the direction! A step in H Use the last vertex of H and the first instruction
A step in Gl-1 • Use the same variables for the recursion!
Another Step in H Use the next instruction and the new vertex to finish the zig zag The next instruction
All Together Repeat 8 times to get powering 8
Why is this LogSpace? Idea: All evaluations are done in place. We use the same l+1 variables. v O(logN) ai O(log(D16)) = const counters O(logN)
Vertex v cycle length N. Add self loops as needed O(logN) O(logN) Transform into an expander graph with O(logN) Convert G into a D16 regular graph Enumerate all Dl paths Check for path between (s,1…1) and (t,1…1)
To Conclude Composition of a Constant number of logspace machines is in logspace, We decide USTCON in logspace!