Undirected STConnectivity In Log Space Omer Reingold Slides

  • Slides: 38
Download presentation
Undirected ST-Connectivity In Log Space Omer Reingold Slides by Sharon Bruckner

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

Today • Some history • What are we adding to the mix? – Connectivity

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

Some History • What is ST-Connectivity? • What do we know about it? •

Some History • What is ST-Connectivity? • What do we know about it? • What are we trying to accomplish?

What is ST-Connectivity? • Given a graph G and two vertices s and t:

What is ST-Connectivity? • Given a graph G and two vertices s and t: – Answer YES if there is a path from s to t in G. – Answer NO if there is no such path • Two flavors to the problem: – STCON where G is a directed graph – USTCON where G is undirected. • Today we’ll talk about USTCON

What do we know about it? • Solved easily with BFS – But –

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(log 2 n) (Savitch) – If there’s a path from s to t, then exists z such that there is a path from s to z and from z to t… • USTCON is in RL – Random walk – Randomness is a resource!

What are we trying to accomplish? We would like an algorithm for USTCON which

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

What are we adding to the mix?

What are we adding to the mix?

Useful Notations • The adjacency matrix of a graph G is a matrix with

Useful Notations • The adjacency matrix of a graph G is a matrix with 1 in the (i, j) element if vertices i and j are connected, 0 otherwise. • If the graph is D-regular, the sum of each row is equal. • We will use the normalized adjancecy matrix, where we divide each value by D.

Useful Notations • The normalized adjacency matrix M is a stochastic matrix, and serves

Useful Notations • The normalized adjacency matrix M is a stochastic matrix, and serves as the “random walk” matrix. • The largest eigenvalue of M is 1, with the vector (1, 1, 1…, 1)єRn • Let G’s 2 nd largest eigenvalue be λ(G). • A (N, D, λ) graph is a D regular graph over N vertices with λ(G) <= λ

Connectivity in Expanders What would happen if each connected component of our graph was

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

Note that the adjacency matrix in this case in normalized! Expanders – a Reminder

Note that the adjacency matrix in this case in normalized! Expanders – a Reminder Two equivalent definitions of expander • G = (N, D, λ) is an expander iff the spectral gap 1 - λ > 0 • G = (N, D, λ) is an expander if there exists ε>0 such that for any set S of at most half the vertices in G, at least (1+ ε)|S| vertices of G are connected to some vertex in S

Every expander has a O(log(N)) diameter Theorem: For any s and t in an

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

Proof

Proof

Logspace Algorithm for paths in an expander For a (N, D, λ) expander there

Logspace Algorithm for paths in an expander For a (N, D, λ) expander there is a a space O(log. D*log. N) algorithm which decided USTCON for any s and t Idea: From any vertex s there are Dl=O(log. N) different paths. Simply enumerate them all and see if any of them reach t.

How much does it cost? • At each vertex we have a choice of

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. • we need log(D) at each stage of a log(N) path, altogether O(log. D*log. N)

So far We now know that if our graph G was an expander graph,

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?

Making expanders: powering it up and cutting it down

Making expanders: powering it up and cutting it down

What do we want from the expander graph G’? 1. There is a path

What do we want from the expander graph G’? 1. There is a path from s to t in G if and only if there is a path from s’ to t’ in G’. 2. Each connected component is an expander, with constant expansion 3. Construction in Log-Space.

The Plan • New tools for our toolbox – Rotation Maps – Powering –

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

 • Series of powering by 8 and zig zag, one increases the spectral

• Series of powering by 8 and zig zag, one increases the spectral gap and the other one decresases it, but not by much.

Rotation Maps • This is the notation we’ll use in this algorithm Let G

Rotation Maps • This is the notation we’ll use in this algorithm Let G be a D regular undirected graph. 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 • Here or on the board

Rotation Map Example • Here or on the board

Powering If we had no limitations on the degree of the graph, we could

Powering If we had no limitations on the degree of the graph, we could make it into an expander graph by powering: The k-th power of the D-regular graph G is the graph Gk where there is an edge (u, v) iff there is a path of length ≤ k between u and v in G. In rotation map notation, this means that

Zig Zag Product If G is a D-regular graph with N vertices and H

Zig Zag Product If G is a D-regular graph with N vertices and H is a dregular graph with D vertices and rotation map Rot. H, we replace each vertex v in G with a copy of H, Hv. Therefore, our new graph has [N]x[D] vertices. v is now Hv Part of G H v

Zig-Zag Product The resulting graph is a d 2 regular graph, with edges as

Zig-Zag Product The resulting graph is a d 2 regular graph, with edges as follows: Rot G (v, a) i j (w, b’) (v, a’) i’ H v a’ b’ w Hw j’ (w, b) G z H v G z z H ((v, a), (i, j)) =

Zig-Zag Product Take my word for it (no proof): If G is an (N,

Zig-Zag Product Take my word for it (no proof): If G is an (N, D, λ) graph and H is a (D, d, ) graph, then G z. H G H Therefore, the zig-zag product provides an expander with ample spectral gap!

The Actual Construction Show a transformation that turns every connected component of a graph

The Actual Construction Show a transformation that turns every connected component of a graph into an expander. But! Not any graph, but a D 16 regular graph. We will see how to construct such a graph later

Main Transformation On input G and H, where G is a D 16 regular

Main Transformation On input G and H, where G is a D 16 regular graph on N vertices, and H is a D-regular graph on D 16 vertices, the transformation outputs a graph Gl as follows: • Set l to be the smallest integer s. t. If D is constant, then this number is O(log. N). • G 0 = G, z

Why is this an expander? Let G and H be inputs of above. If

Why is this an expander? Let G and H be inputs of above. If and G is connected and non-bipartite then Which means that the output of is indeed an expander. Non bipartite means that G cannot be split into two sets of vertices where all the edges of G are between those two sets

Proof Recall G 0=G, connected and non-bipartite. Therefore, (known fact) Since l = O(log.

Proof Recall G 0=G, connected and non-bipartite. Therefore, (known fact) Since l = O(log. N) is the smallest integer such that it’s enough to see that We know that and because of the lemma from before we get that

Proof Continued Recall. Also, it’s a property of powering that if G is a

Proof Continued Recall. Also, it’s a property of powering that if G is a (N, D, λ) graph then Gt is a (N, Dt, λt) graph. Therefore, we can bound λ(Gi) by For each i, one of two cases occurs: Otherwise,

Connected Components • We’ve seen a construction which takes a connected graph G and

Connected Components • We’ve seen a construction which takes a connected graph G and transforms it, using an appropriate H, to an expander. • However, we still need to show that is well defined and can operate on graphs that are not connected – composed of connected components

Connected Components G and H as before, if Is a connected component of G

Connected Components G and H as before, if Is a connected component of G then In plain English: The output of on a single connected component S of G is the same as taking on G and looking at the sub-graph induced by the transformation of S. In plainer English: S is a connected component in G ↔ The transformation of S is a connected component in Gl.

Proof • Ask Oded

Proof • Ask Oded

What do we want from the expander graph G’? 1. There is a path

What do we want from the expander graph G’? 1. There is a path from s to t in G if and only if there is a path from s’ to t’ in G’. 2. Each connected component is an expander. 3. Construction in Log-Space.

Log Space Construction Prove that for any D, can be calculated in space O(log(N)).

Log Space Construction Prove that for any D, can be calculated in space O(log(N)). We describe an algorithm A which constructs the rotation map of (G, H) O(log. N) space. The input tape will contain G, H and the output tape will contain

Proof Idea: Evaluating Rot. Gi+1 takes just a constant additional amount of memory over

Proof Idea: Evaluating Rot. Gi+1 takes just a constant additional amount of memory over evaluating Rot. Gi. And all recursions use the same space!

Proof - Continued A will allocate the variables: v in [N] (from the original

Proof - Continued A will allocate the variables: v in [N] (from the original G) a 0, …, al in [D 16] (vertex names in H)