1 / 52

Undirected ST-Connectivity In Log Space

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?.

saul
Download Presentation

Undirected ST-Connectivity In Log Space

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Undirected ST-Connectivity In Log Space Omer Reingold Slides by Sharon Bruckner

  2. 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

  3. 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

  4. 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!

  5. 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?

  6. What are we adding to the mix?

  7. Bits N’ Pieces • The adjacency matrix of a graph G • We’ll use D regular graphs and the normalizedadjancecy matrix: (1/D)M ,

  8. 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) ≤ λ

  9. 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.

  10. If there are c|S| edges out of S: Expanders – a Reminder

  11. Connectivity in Expanders What would happen if each connected component of our graph was an expander? We could decide USTCON in logspace!

  12. 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))

  13. Proof

  14. 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. t

  15. 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)

  16. 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?

  17. Making expanders: • powering it up and cutting it down

  18. 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.

  19. 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

  20. 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.

  21. 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

  22. Rotation Map Example 3 2 4 1 1 2 … 3 4 … v 28 17 … … u 54 54 55 55

  23. 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

  24. 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?

  25. 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

  26. 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

  27. 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!

  28. Question Is a connected component in G a connected component in G z H ?

  29. Technicalities

  30. 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

  31. (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)

  32. 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

  33. 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

  34. Technical Lemma For D-reg, connected, non-bipartite G on [N] Proof:

  35. 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

  36. More Details S2 S3  S1 S2 S3   S1 

  37. 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

  38. 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.

  39. Proof G0=G, connected and non-bipartite, It’s enough to show and from the lemma we get

  40. 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

  41. 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.

  42. construction in log-space

  43. Log Space Construction Prove that for any D,  can be calculated in space O(log(N)). RotG RotH Input Tape Output Tape

  44. v a The Work Tape

  45. This is the direction! A step in H Use the last vertex of H and the first instruction

  46. A step in Gl-1 • Use the same variables for the recursion!

  47. Another Step in H Use the next instruction and the new vertex to finish the zig zag The next instruction

  48. All Together Repeat 8 times to get powering 8

  49. 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)

  50. Piecing it together

More Related