Undirected ST-Connectivity In Log Space
description
Transcript of Undirected ST-Connectivity In Log Space
![Page 1: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/1.jpg)
Undirected ST-Connectivity In Log Space
Omer ReingoldSlides by Sharon Bruckner
![Page 2: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/2.jpg)
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
![Page 3: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/3.jpg)
Some History
• What is ST-Connectivity?
• What do we know about it?
• What are we trying to accomplish?
![Page 4: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/4.jpg)
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
![Page 5: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/5.jpg)
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)– 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!
![Page 6: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/6.jpg)
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
![Page 7: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/7.jpg)
What are we adding to the mix?
![Page 8: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/8.jpg)
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.
![Page 9: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/9.jpg)
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 2nd largest eigenvalue be λ(G).• A (N,D,λ) graph is a D regular graph
over N vertices with λ(G) <= λ
![Page 10: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/10.jpg)
Connectivity in Expanders
What would happen if each connected component of our graph was an expander?
We could decide USTCON in logspace!
![Page 11: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/11.jpg)
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
Note that the adjacency matrix in this case in
normalized!
![Page 12: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/12.jpg)
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))
![Page 13: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/13.jpg)
Proof
![Page 14: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/14.jpg)
Logspace Algorithm for paths in an expander
For a (N,D, λ) expander there is a a space O(logD*logN) algorithm which decided USTCON for any s and t
Idea:From any vertex s there are Dl=O(logN) different paths. Simply enumerate them all and see if any of them reach t.
![Page 15: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/15.jpg)
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(logD*logN)
![Page 16: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/16.jpg)
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?
![Page 17: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/17.jpg)
Making expanders: powering it up and cutting it down
![Page 18: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/18.jpg)
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.
![Page 19: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/19.jpg)
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
![Page 20: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/20.jpg)
• Series of powering by 8 and zig zag, one increases the spectral gap and the other one decresases it, but not by much.
![Page 21: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/21.jpg)
Rotation Maps
• This is the notation we’ll use in this algorithm
GRot : N D N D Let G be a D regular undirected graph. The rotation map
GRot v,i w, j
If the edge (v,w) exists and is the ith edge coming out of v and the jth edge coming out of w
![Page 22: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/22.jpg)
Rotation Map Example
• Here or on the board
![Page 23: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/23.jpg)
PoweringIf 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
k 0 1 k k k 1 i i G i 1 iGRot v , a ...a v , b ...b where v ,b Rot v ,a
![Page 24: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/24.jpg)
Zig Zag Product
If G is a D-regular graph with N vertices and H is a d-regular graph with D vertices and rotation map RotH, we replace each vertex v in G with a copy of H, Hv. Therefore, our new graph has [N]x[D] vertices.
H
Part of G
v is now Hv
v
![Page 25: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/25.jpg)
Zig-Zag ProductThe resulting graph is a
d2 regular graph, with edges as follows:
Hv
Hw
(v,a) (v,a’)
(w,b’) (w,b)
G
v
w
a’
b’
Rot ((v,a), (i,j)) =
zG H
zG H
H
G
H
w,b , j', i ' where
a ', i ' Rot a, i
w,b ' Rot v,a '
b, j' Rot b ', j
z
i i’
j j’
![Page 26: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/26.jpg)
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
zG H
Therefore, the zig-zag product provides an expander with ample spectral gap!
211 (G Z H ) 1 1
2 G H
![Page 27: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/27.jpg)
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.
We will see how to construct such a graph later
![Page 28: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/28.jpg)
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, 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(logN).
•G0 = G,
l2
2
1 11
DN 2
8i i 1G G H z
![Page 29: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/29.jpg)
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.
H 1/ 2
G,H 1/ 2
Non bipartite means that G cannot be split into two sets of
vertices where all the edges of G are between those two sets
![Page 30: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/30.jpg)
Proof
Recall G0=G, connected and non-bipartite. Therefore, (known fact) Since l = O(logN) 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
20G 1 1/ DN
l2 N2 21 1/ DN 1 1/ DN 1/ 2
2
i i 1i 0 G max G ,1/ 2
H 1/ 2
i 1 i 1 i 1G H 1 3/8 1 G 1 1/ 3 1 G
![Page 31: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/31.jpg)
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,
8i i 1G G H
8
i 11 1/ 3 1 G
8
i 1 i
1 5 1G G
2 6 2
42
i i 1 i 1 i 1G G because it 's the square of 1 1/ 3 1 G G
![Page 32: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/32.jpg)
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
![Page 33: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/33.jpg)
Connected Components
G and H as before, if Is a connected component of G then
S N
l16SS D
G | ,H G,H |
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.
![Page 34: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/34.jpg)
Proof
• Ask Oded
![Page 35: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/35.jpg)
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.
![Page 36: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/36.jpg)
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(logN) space.
The input tape will contain G,H and the output tape will contain
Gv, a , Rot v, a
l16 16v N D , a D
![Page 37: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/37.jpg)
Proof
Idea:Evaluating RotGi+1 takes just a constant additional amount of memory over evaluating RotGi. And all recursions use the same space!
![Page 38: Undirected ST-Connectivity In Log Space](https://reader035.fdocuments.in/reader035/viewer/2022070407/5681439e550346895db01e19/html5/thumbnails/38.jpg)
Proof - Continued
A will allocate the variables:v in [N] (from the original G)a0, …, al in [D16] (vertex names in H)