360 likes | 448 Views
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 ,
E N D
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, We need to return “true” if s and t are connected and to return “false” if they are not connected. TRUE FALSE
ST-Connectivity Problem • Is called USTCONor MazeProblem. • The STCON problem is on a Directed Graph. Exit t Entrance s
ST-Connectivity Problem • Related problem (Cook late 70’s)- Universal TraversalProblem, where we need to also return the path, which connects s and t– Not the focus of this lecture. s t
Basic Search Algorithms • Breadth First Search (BFS) and Depth 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 USTCON 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 Spaceis 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 differentSpace 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.
Previous Related Work • STCON– J. Savitch (70), Log^2 Space & asuper polynomial Time. • USTCON– R. Aleliunas (79), RandomizedLog-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 • USTCON– 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 Traversal Sequence– Noam Nisan 92b, quasi-polynomialTime in Space Log^2.
Previous Related Work • USTCON– [NSW89] improved Savitch(70) to Space Log^1.5, and not polynomial Time. • USTCON– [ATSWZ00] improved the previous one to Space Log^1.333, but still not polynomial Time –most Space efficient until this work.
s t Approach • To solve theconnectivity problem between s & t, improvethe 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.
Approach • Since the Graph will have Logarithmic Diameter, we can build all Logarithmiclengthpaths, 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.
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 mainissue).
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 logarithmicnumber oftimes will turn G into a Logarithmic Diameter Graph. • Powering increases the Degree of the Graph and will not maintain the Graph as a Constant Degree one.
Decreasing Degrees • Replacement Product - an operation with two Graphs, a D-regularGraphG with N vertices and a d-regular Graph H on Dvertices (with d<<D). • Each vertex v of G is replaced with a “copy”Hvof H. • Each of the d vertices of Hvis connected to its neighbors in Hvand 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.
( ) ( ) È ³ + a N S S 1 S Expander Graphs • Definition. For a d-regular GraphG(V,E), |V|=N. • , , • VertexExpansionProperties give us that the Expander Graph will have Logarithmic Diameter.
Expander Graphs • We can turn a Graph into an Expander by Squaring it Logarithmic Times. • Algebraic ExpansionProperties will give us a way to measure the Graph ExpansionProperties. • 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 (notReplacement 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. • ExpansionProperties can be calculated. we will look at the Normalized Adjacency MatrixMG of a D-regular Graph G, that is the AdjacencyMatrix of G divided by D. • Formally ->
Eigenvalues and Eigenvectors • Eigenvalue - The factor by which alinear transformationmultiplies 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 Nvertices such that λ(G)< λ as an (N,D,λ)-graph.
Solving USTCON given a Constant Degree Expander. • USTCON 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: • If s & t are in the same connected component & this component is an (N’,D, λ)-Graph then A outputs ‘connected’. • If A outputs connected then s & t are indeed in the same connected component.
Solving USTCON given a Constant Degree Expander (cont.) • The algorithm A simply enumerates all D^lpaths of length l=O(logN) froms, 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.
s t logd logN Solving USTCON given a Constant Degree Expander (cont.) 0 2 1 3 1 3 2 0 0 0 2 3 1 1 1 3 2 0 2 0 2 3 1 1 3 2 0 0 1 2 0 1 0
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 Nvertexes, given by rotation map RotG. The t’th power of G is the D^t-regular GraphG^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 matrixMG^tof 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. MGtx = MGt-1MGx = MGt-1λx= λ MGt-1x = λtx
Two Graph Products • Reminder - Replacement Product • Zig-Zag Product of G & H correspond to a subset of the paths of length three in the Replacement Product 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 ProductG 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 z • 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
Universal Traversal & exploration sequence • The mentioned Algorithm also solves Universal 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 GraphLabeling” in the Zig-Zag Product. z
Issues Summary • USTCON • Log-Space & Polynomial Time • Powering • Replacement Product • Expander Graphs • Zig-Zag Product