undirected st-connectivity in log-space
DESCRIPTION
Undirected ST-Connectivity in Log-Space. By Omer Reingold (Weizmann Institute) Year 2004 Presented by Maor Mishkin. s. t. ST-Connectivity Problem. Given an Undirected Graph and given two Vertices in the Graph, s and t , - PowerPoint PPT PresentationTRANSCRIPT
Undirected ST-Connectivity in Log-Space
By Omer Reingold (Weizmann Institute)Year 2004Presented by Maor Mishkin
ST-Connectivity Problem
Given an Undirected Graph and given two Vertices in the Graph, s and t, We need to return “true” if s and t are
connected and to return “false” if they are not connected.
sstt
TRUEFALSE
ST-Connectivity Problem
Is called USTCONUSTCON or MazeMaze Problem.
The STCONSTCON problem is on a Directed Graph.
EntranceExit t
s
ST-Connectivity Problem Related problem (Cook late 70’s)-
Universal Traversal Problem, where we need to also return the path, which connects s and t – Not the focus of this lecture.
sstt
Basic Search Algorithms
Breadth First Search (BFS) andDepth First Search (DFS)solve the problem in directed graphs (denoted STCON), therefore will solve in Undirected also.
Let N be the input Graph size. Time O(N) -> this is also the lower
Time bound for USTCONUSTCON problem. Space O(N).
Space vs. Time
Algorithms have central resources of computation, Space & Time.
Space is the work memory – not including Input memory.
Trade-Off example: Given a bit array, calculate the parity bit (XOR over all the bits) in Time O(1).
Algorithm: Pre-Calculation - Create an array in the size of 2^N and put in place j the parity bit of the bit array representation of j.
Input:101101
Output:0
Input:100101
Output:1
Log-Space Algorithms
Definition of a Log-Space algorithm: Given an input of size N, algorithm’s Space is O(logN).
Claim. If the algorithm is Log-Space & Deterministic => Time is polynomial.
Proof. Lets assume that it is not polynomial Time and is Log-Space, therefore will have different Space states. By looking on Space at time i (Si), we know that we will have Si & Sj that Si = Sj and i^=j (since #Time is bigger than #Space states)-> a contradiction to algorithm finishing the calculation.
That is, class LOG-SPACE is contained in P.
cNC Nlog2
Previous Related Work
STCONSTCON – J. Savitch (70), Log^2 Space & a super polynomial Time.
USTCONUSTCON – R. Aleliunas (79), Randomized Log-Space. Use a pointer to current vertex and a counter. Randomly start finding a path from s to t, stop when counter hits a limit.
* the Random walk has a one side error.
Previous Related Work
USTCONUSTCON – Massive work to solve the problem without Randomization, but still pseudo-randomized algorithms [AKS87, BNS89, Nis92b, INW94] – We will fully remove the Randomization factor.
Universal TraversalUniversal Traversal Sequence – Noam Nisan 92b, quasi-polynomial Time in Space Log^2.
Previous Related Work
USTCONUSTCON – [NSW89] improved Savitch (70) to Space Log^1.5, and not polynomial Time.
USTCONUSTCON – [ATSWZ00] improved the previous one to Space Log^1.333, but still not polynomial Time – most Space efficient until this work.
Approach
To solve the connectivity problem between s & t, improve the connectivity of every connected component in the Graph, that is:Transform the input Graph into a Graph, which has Logarithmic Diameter (with the same connected components). We also make it a Constant Degree one.
ss tt
Approach
Since the Graph will have Logarithmic Diameter, we can build all Logarithmic length paths, starting from s, and to see if one visits t .
Since the Degree is Constant and does not depend on N, the number of such paths is (polynomial). We later explain how to execute this in Log-Space.
2log1log CNCNO Ndd
Open issues
How can we enumerate paths on a Graph that is Constant Degree & Logarithmic Diameter Graph in Log-Space (relatively easy).
How can we Transform the input Graph into a Constant Degree & Logarithmic Diameter Graph (the main issue).
Powering
Definition. the k’th Power of G contains an edge between two vertices v & w, iff there exists a path of length k from v to w in G.
Repeatedly squaring the graph logarithmic number of times will turn G into a Logarithmic Diameter Graph.
Powering increases the Degree of the Graph and will notnot maintain the Graph as a Constant Degree one.
Decreasing Degrees
Replacement Product - an operation with two Graphs, a D-regular Graph G with N vertices and a d-regular Graph H on D vertices (with d<<D).
Each vertex v of G is replaced with a “copy” Hv of H.
Each of the d vertices of Hv is connected to its neighbors in Hv and also to one vertex in Hw, where (v,w) is one of the D edges going out of v in G.
The Degree of the Product Graph is d+1.
Expander Graphs
Definition. For a d-regular Graph G(V,E), |V|=N.
, ,
Vertex Expansion Properties give us that the Expander Graph will have Logarithmic Diameter.
SSSNSSNSN 22 11
2
10
NSSN XX i
2
log 1N
X
VS 2
NS 0
SSSN 1
Expander Graphs
We can turn a Graph into an Expander by Squaring it Logarithmic Times.
Algebraic Expansion Properties will give us a way to measure the Graph Expansion Properties.
Introduced in the 1970’s. Widely used for De-Randomization,
Error Correction, CS theory.
Not Damaging Logarithmic Diameter
It turns out that if H is a “good enough” Expander, the expansion properties of the Replacement Product are not worse by much than those of the original Graph.
Formal statements to this effect were proved by Reingold, Vadhan & Wigderson [RVW01] for the Replacement Product and for the Zig-Zag Product (to be described later).
Informal USTCON algorithm
1. First turn the input Graph into a constant-degree, regular Graph with each connected component being non-bipartite (not Replacement Product).
2. The main transformation turns each connected component of the Graph, in a logarithmic number of phases, into an Expander (a logarithmic diameter)2.1. Each phase starts by raising the current graph
to some constant power and then reducing the degree back via a Replacement or Zig-Zag product, using a constant size Expander.
Informal USTCON algorithm
3. Now solve USTCON on the resulting Graph that has Logarithmic Diameter & Constant Degree.
Graph Representation
Adjacency Matrix - A way to represent a Graph G(V,E) – not the input graph – will be used for theoretic discussion only.
At entry (v,u) will have a non-negative integer that equals to the number of edges that go from vertex v to vertex u.
A Graph is undirected iff it’s adjacency matrix is symmetric.
A Graph is D-regular if the sum of entries in a row (and column) is D.
Graph Representation
Given a D-regular Graph, we can assume that for vertex v, the edges are labeled 1…D, and we can talk about the i’th neighbor of v.
When taking a step from v to w, it may be useful to keep track of the edges traversed to get to w (rather then just remembering that we are now at w).
Graph Representation
For a D-regular undirected graph G, let us define Rotation Map:RotG : [N]*[D] --> [N]*[D] is defined as RotG(v,i) = (w,j) if the i’th edge incident to v leads to w, and this is the j’th edge incident to w.
Rotation map will be the input Graph representation at this work.
Measure of Graph Expansion
We would like to make sure that our iterations will give us a “good” Expander, therefore we would like to measure our Graph Expansion.
Expansion Properties can be calculated. we will look at the Normalized Adjacency Matrix MG of a D-regular Graph G, that is the Adjacency Matrix of G divided by D.
Formally ->
jviuRotDjiD
M Gvu ,,:,1 2
,
Eigenvalues and Eigenvectors Eigenvalue - The factor by which
a linear transformation multiplies one of its Eigenvectors.
Eigenvector – For matrix M, vector x is an Eigenvector with Eigenvalue λ iff Mx= λ*x.
All one Eignvalue
Graph Expansion Measurement
It turns out that the Eigenvalues of MG are at most 1.
We denote by λ(G) the second largest Eigenvalue of MG (in the absolute value)
It is known that λ(G) is a good measure of the Expansion property of G.[alpha vs. lambda]
We refer to a D-regular undirected Graph G with N vertices such that λ(G)< λ as an (N,D,λ)-graph.
Solving USTCONUSTCON given a Constant Degree Expander.
USTCONUSTCON in Constant Degree Expanders can be solved in Log-Space:
Let λ <1 be some constant, then there exists an O(logD*logN) Space algorithm A, such that when a D-regular undirected Graph G with N vertices is given to A as an input the following holds:
1. If s & t are in the same connected component & this component is an (N’,D, λ)-Graph then A outputs ‘connected’.
2. If A outputs connected then s & t are indeed in the same connected component.
Solving USTCONUSTCON given a Constant Degree Expander (cont.)
The algorithm A simply enumerates all D^l paths of length l=O(logN) from s, where the leading constant in the big-O notation depends on λ. The algorithm A outputs ‘connected’ iff at least one of these paths encounter t.
Following any path from s with length l requires O(logN) Space.
Enumerating all D^l paths requires O(logD*logN) Space. When D is a constant we get O(logN) Space.
Solving USTCONUSTCON given a Constant Degree Expander (cont.)
tt
00
11
22
00
00
00
00
00
00
33
33
33
33
33
33
11
11
11
11
11
11
22
22
22
22
22
22
logd
logN
00 0000112211
ss
Powering & Expansion Measure
Our main transformation will take a graph and transform each one of its connected components into a Constant Degree Expander. If we ignore the constant degree requirement, a simple way of amplifying the Graph is by Powering.
Let G be a D-regular multi-graph with N vertexes, given by rotation map RotG. The t’th power of G is the D^t-regular Graph G^t whose rotation map is given by
Where these values are computed via the rule:
Powering & Expansion Measure
Lemma - If G is an (N,D,λ)-graph then G^t is an (N,D^t, λ^t)-graph.
Proof – The normalized adjacency matrix MG^t of G^t is the t’th power of the Normalized Matrix MG of G, so all the Eigenvalues also get raised to the t’th power.MG
tx = MGt-1MGx = MG
t-1λx=
λ MGt-1 x = λtx
Two Graph Products
Reminder - Replacement ProductReplacement Product Zig-Zag ProductZig-Zag Product of G & H
correspond to a subset of the paths of length three in the Replacement Replacement ProductProduct of these Graphs.
The degree of the output graph is d^2 (d^2<<D)
Zig-Zag Product
Definition. If G is a D-regular Graph with N vertexes with rotation map RotG & H is a d-regular Graph with D vertexes with rotation map RotH, then their Zig-Zag ProductZig-Zag Product G H is defined to be the d^2-regular graph with N*D vertexes whose rotation map RotG H is as follows:
RotG H((v,a),(i,j)):1. Let(a’,i’)=RotH (a,i)2. Let(w,b’)=RotG(v,a’)3. Let(b,j’)=RotH(b’,j)4. Output((w,b),(j’,i’))
z
z
z
Expansion Properties of G H
Theorem. ([RVW01]) If G is an (N,D,λG)-graph & H is a (D,d, λH)-graph, then G H is a (N*D,d^2,f(λG, λH))-graph, where:
We get, that if is a “good” Expander (λH ->0) then f(λG, λH)-> λG
z
z
22222 412
11
2
1, HGHGHHGf
Universal TraversalUniversal Traversal & exploration sequence
The mentioned Algorithm also solves Universal TraversalUniversal Traversal(i.e. finding the path from s to t if such a path exist).
Every edge in the logarithmic long path of the final G H Graph is a sequence in G (original input) & can be followed by the “Rotation Graph Labeling” in the Zig-Zag Product.
z
Issues Summary
USTCONUSTCON Log-Space & Polynomial Time Powering Replacement Product Expander Graphs Zig-Zag Product