Presentation is loading. Please wait.

Presentation is loading. Please wait.

Undirected ST-Connectivity In Log Space

Similar presentations


Presentation on theme: "Undirected ST-Connectivity In Log Space"— 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? In conclusion
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 Less text

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! Too busy? Remove explanations?

5 What are we trying to accomplish?
We would like an algorithm for USTCON which is deterministic and works in space logarithmic in the size of the graph

6 Bits N’ Pieces The adjacency matrix of a graph G
We’ll use D regular graphs and the normalized adjancecy matrix: (1/D)M ,

7 Bits N’ Pieces M is a stochastic matrix, 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) ≤ λ

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

9 Expanders – a Reminder If there are c|S| edges out of S:
Check with Oded

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

11 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))

12 Proof

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

14 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)

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

16 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. 1. Say its’ a reduction.

17 The Plan New tools for our toolbox The actual construction
Rotation Maps Powering Zig Zag products The actual construction Why we got what we wanted Why we got it in Log-Space הרכבה של Logspace אפשרק לעשות ב Logspace

18 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. 8 Zig Zag Powering Say that it can all be done in logspace. Fix animation O(Log(N))

19 Rotation Maps G is D regular, undirected. The rotation map
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

20 Rotation Map Example … … v … … u 28 17 3 2 4 1 1 2 3 4 54 54 55 55
Draw this on the board, too?

21 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. I get a clique if I raise by N. Mention it’s a multigraph. (make sure I get this really down) (add self loops) Not sure about my explanation of the definition with the Rot. Probably need example here, too. Talk about why it’s an expander and why the degree is not constant. Powering improves the 2nd eigenvalue (makes it smaller) =k

22 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? How do I work with multi-graphs? This is not enough because the degree is not constant?

23 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. v is now Hv Part of G v H

24 Zig-Zag Product The resulting graph is a d2 regular graph, with edges as follows: v a’ Hv a a’ i i’ b’ b’ G w Hw b j j’ G Z H a b i j Change direction of diagonals in squares.

25 The zig-zag product doesn’t hurt the spectral gap too badly!
Lemma: If G is an (N,D,λ) graph and H is a (D,d,) graph: Look it up in Reingold’s other article The zig-zag product doesn’t hurt the spectral gap too badly!

26 Question Is a connected component in G a connected component in G z H ?

27 Rotation Map for Powering
u w v G 3 12 5 8 u w G2 3,5 8,12 u w a1 a2 ak b1 b(k-1) bk G u w a1,..,ak bk,..,b1 Gk 3,5 8, 12

28 Rotation Map for ig ag G Rot ((v,a), (i,j)) = Hv (v,a) (v,a’) i i’ v G
z G H a’ b’ G w Hw j j’ (w,b’) (w,b) On the board.

29 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 Add drawing (?)

30 Gi is a D16 regular graph, with N*(D16)i vertices
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 Say that all this happens in logspace Gi is a D16 regular graph, with N*(D16)i vertices

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

32 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 Need to introduce lemma before first bullet

33  More Details    S2 S3 S1 S2 S3 S1
Make sure I can explain this well S1

34 Why ? Show that this is true for a single iteration.
Both powering and zig zag maintain the block structure Powering: block matrix remains the same Zig Zag: for reasons I explained before Adjacency matrix sorted by connected components

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

36 Proof G0=G, connected and non-bipartite, It’s enough to show
and from the lemma we get Do I need to prove the “known fact”? Have it in Eli’s lecture (the first inequality) Add the z between.

37 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 Need to show that property of powering? Need to show “elementary calculation”

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

39 Log Space Construction
Prove that for any D,  can be calculated in space O(log(N)). RotG RotH Input Tape Rewrite what we’re going to prove Output Tape

40 The Work Tape v a Build this on the board

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

42 A step in Gl-1 Use the same variables for the recursion!

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

44 All Together Repeat 8 times to get powering 8

45 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) Is this constant?

46 Vertex v cycle length N. Add self loops as needed
O(logN) Convert G into a D16 regular graph Transform into an expander graph with  Enumerate all Dl paths Check for path between (s,1…1) and (t,1…1)

47 To Conclude Composition of a Constant number of logspace
machines is in logspace, We decide USTCON in logspace!


Download ppt "Undirected ST-Connectivity In Log Space"

Similar presentations


Ads by Google