600 likes | 784 Views
Testing K-Edge-Connectivity in Bounded Degree Graphs Lecture by: Aviad Lipiner. Property Testing in Bounded Degree Graphs written by: Oded Goldreich , Dana Ron. Given a predetermined property and a graph we want to distinguish between the 2 cases: 1)The graph has the property
E N D
Testing K-Edge-Connectivity in Bounded Degree GraphsLecture by: AviadLipiner
Property Testing in Bounded Degree Graphswritten by: OdedGoldreich, Dana Ron Given a predetermined property and a graph we want to distinguish between the 2 cases: 1)The graph has the property 2) The graph is “far” from having the property
Correctness Complexity • Our algorithms work in time polynomial in Accuracy • Algorithm always accepts the graph when it has the tested property. • Rejects with high probability ( ) if the graph is - far from having the property
Model • We will view bounded-degree graphs as functions defined over pairs (v,i), where “v” is a vertex and “i” is a positive integer ,. • Meaning the value of (v,i) is the neighbourof v (with a special symbol indicating non-existance of such a neighbour).
Definitions • Graphs – In this specific case we are discussing undirected graphs of bounded degree “d”. • G=(V,E) • V={1,…,|V|} , and that for every vertex the edges incident to v have distinct labels in {1,…,d}. This labeling may be arbitrary and need not be consistent among neighboring vertices. • We associate a function f to the Graph. That is f(v,i)=u if (u,v) is the edge to v. f(v,i)=0if there is no such edge.
Distance • Our measure of distance between graphs depends on their degree bound (“d”). • Meaning the distance between 2 graphs G1 and G2 with degree bound d, Where V(G1) = V(G2) = [N], is:
So that for every 2 graphs . This notation of distance can naturally be extended to a set C, of N-vertex graphs with degree bound d. • We let represent the class of graphs with N vertices and degree bound d which have property . In case is empty we define dist(G, ) to be 1 for every G.
K-Edge-Connectivity • Let be an integer. A graph is said to be k-edge-connected if there are k edge-disjoined paths between every pair of vertices in the graph. • Equivalent definition – The sub-graph resulting by omitting any k-1 edges from the graph , is connected. • Assume that
Testing connectivity (k=1) • Here we will assume ( since otherwise except for the graph cannot be connected). • Lemma 2 – Let - If a graph G is from the class of N-vertex connected graphs with maximum degree d, then it has more than connected components.
Proof – • Assume contrary to the claim that G has no more than connected components. • Let be the connected components of G. • We will differ between the following 2 cases: 1) sum of degrees in each is as most . 2)For some connected component , , the sum of degrees is greater than .
Case 1– Each contains at least 2 vertices of degree d-1 or at least one vertex of degree d-2 at most. • If both have a degree of d-1 (or and their degree is d-2). • We connect to • Here we made the graph connected by adding edges. This contradicts that G is from the class of connected graphs with degree d.
Case 2- We cannot add edges without violating the degree bound • . • Let Ti be an arbitrary spanning tree of Ci. Ti contains at least 2 vertices so it has at least 2 leaves. • At most one of Ci’s vertices has a degree less than d. • Thus the tree Ti has a leaf which has degree in G. • This leaf has an edge in Ci which is not in Ti. • We can remove this edge from G without disconnecting Ci, now we have 2 vertices with degree less than d. • Do the same as in Case 1. • We have removed/added at most edges. We again reached a contradictions and the claim follows.
Corrollary 3 – If a graph from the class of N-vertex connected graphs of degree bound , then G has at least connected components each containing less than vertices. Proof: According to lemma 2, G has at least connected components. The number of connected componenst with at least vertices is at most . So the remaining ones are at least in number.
From Lemma 2 – for every , every graph is - close to the class of connected graphs with degree bound d. • So we may assume that . • Since every connected component contains at least one vertex we conclude that if G is -far from the class of connected graphs that the probability that a uniformly selected vertex belongs to a connected component with less than vertices is at least . • If we uniformly select vertices, the probability that no selected vertex belongs to a component of size less than is bounded above by
Algorithm 4 (input: d, ) Here we assume that (otherwise step 2 will reject). 1) Uniformly and independently select vertices in the graph 2) For each vertex s selected perform a BFS starting from s until vertices have been reached or no more new vertices can be reached (a small component has been found) 3) If any of the above searches finds a small connected component then output REJECT, otherwise output ACCEPT
The algorithm never rejects a connected graph – since a connected graph consists of a single component. • By corollary 3 , if a graph is from connected then it is rejected with probability at least . • The query complexity and running time of the algorithm are . • Note that the choice to perform a BFS is quite arbitrary, any other linear-time searching method will do.
Testing Connectivity for K>1 Combinatorics • A subset is said to be k-edge-connected if there are k-disjoint paths between each pair of vertices in S. If , these paths may go through vertices not in S. • A subset containing a singe vertex is defined as k-edge-connected. • k-edge connected classes - of graph G are maximal subsets of V which are k-edge connected and each vertex in V resides in exactly one such class.
We will show tests according to the following • Assuming that the graphs we test for are (k-1)-connected. • Without any prior assumptions
An auxiliary tree of a (k-1) connected graph In Y.Dinitz and J. Westbrooks article “Maintaining the classes of 4-edge-connecticity in a graph on-line” they state the following Fact that we will use without proving Fact A.1 – Let k>1 be an integer and G be a (k-1)-connected graph. Then there exists an auxiliary graph , TG, which is a tree that: • Each k-connected class in G corresponds to a unique node in TG. • In addition to nodes corresponding to k-connected classes, there are two types of nodes: empty nodes, and cycle nodes. • All leaves of the auxiliary tree TG correspond to k-connected classes of G. Furthermore, there are exactly k-1 edges (in G) going out from each of these classes.
TG Auxiliary graph • If G is a (k-1) connected graph. Then we can define an auxiliary graph TG , which is a tree, such that for every k-class in G there is a corresponding node in TG. • TG might have addition auxiliary nodes but they are not leaves and will not interest us here. • If G is k-connected TG has a singe node. • Otherwise TG has at least 2 leaves (leaves play a key role in our algorithm) • Each leaf corresponds to a k-class C of G which is separated from the rest of the graph by a cut of size k-1. • We will later show that for every leaf class C, given a vertex we can efficiently identify that v belongs to a leaf class.
Lemma A.4 In Y.Dinitz and J. Westbrooks article “Maintaining the classes of 4-edge-connecticity in a graph on-line” they lay the foundations for the following lemma which we will not prove: • Let G be a (k-1)-connected graph, whose auxiliary graph, TG, has L leaves. Then by removing and adding at most 4L edges to G we can transform it into a k-connected graph G’ • If the maximum degree of G is d then the maximum degree of G’ is upper bounded by max{d,k}.
Lemma 7 – Let G be a (k-1) connected graph that is from the class of k-connected graphs with maximum degree . Then TG has at least leaves. Proof: • Assume towards contradiction that TG has leaves. Then by Lemma A.4 G can be transformed into a k-connected graph G’ by removing and adding at most edges. • The maximum degree of G’ is max(k,d)=d. • This contradicts that G is from the class of k-connected graphs with maximum degree d.
Corollary 8 – Let G be a (k-1) connected graph that is from the class of k-connected graphs with maximum degree . Then TG has at least leaves each containing at most vertices.
Algorithm 9 (input: d, ) We will assume that the number of vertices N in G is greater than . 1) Uniformly and independently select vertices. 2) For each vertex s selected , check whether s belongs to a k-class leaf which has at most vertices. 3) If any leaf class is discovered then output REJECT, otherwise output ACCEPT.
The procedure for checking whether a given vertex belongs to a small k-class leaf always return the correct answer if the • vertex does not belong to such a leaf. • If the vertex belongs to such a leaf a correct answer is returned with probability at least
If a graph is -far from being k-connected there are 2 sources for probability of being wrongly accepted: 1) By corrollary 8 – The probability that no vertex - s belonging to a small k-class leaf is selected in step 1 is at most 2) The probability that the procedure for identifying a k-class leaf fails given such a vertex Total at most error probability
Identifying a k-class leaf The following algorithm indentifies k-class leaves
Algorithm 15 (input: s, n) • Given a vertex s and size bound n • 1) Do times or until a cut of size less than k is found: - Random search process: Starting with {s}, maintain the set (S) of vertices visited. In each step as long as |S|<n and the cut has at least k edges, we select an edge at random going from S to and add a new vertex reached to S. - In case the cut has size less than k, we declare S to be a k-class leaf. • If |S|=n we complete the current search failing. • Otherwise we proceed to the next step. 2) In case all invocations don’t detect a k-class leaf. We anounce failure to detect such a k-class.
Problem - • Let C be the k-class leaf that s belongs to (where ) Then we are interested in a random process for which the probability that an edge in is selected before all edges within C are selected is as small as possible. • Solution - • We will uniformly and independently assign each edge in the graph with a cost in [0,1]. In each step of the algorithm , we select the edge with the lowest cost in current
Lemma 16 – Let G be a (k-1) connected graph, C a k-class leaf of TG with at most n vertices and s an arbitrary vertex in C. Then with probability , the random search process succeeds in finding the cut .
Proof • A spanning tree, T, of the sub-graph induced by C is said to be cheaper than the cut: if the cost of every edge in T is smaller than the cost of any of the cut edges between C and . • Claim 16.1: If C contains a spanning tree that is cheaper than the cut then the search process succeeds in finding . • Proof of Claim 16.1: By induction on the size of the current S , that . At each step there is a tree edge in the current cut . Since this edge has lower cost than any edge in , in this step the search cannot pass an edge of .Because , the search terminates with S=C.
Claim 16.2: Suppose that each edge is assigned a uniformly distributed cost in [0,1]. Then with probability at least , C contains a spanning tree which is cheaper than the cut.
Proof of Claim 16.2: • Take an auxiliary graph G’, in which all of is represented by an auxiliary vertex (x). • V(G’)=CU{x} • E(G’) = {all edges internal in C} U {(u,x)|(u,v) (G),u C,v } • Because C is a k-connected class in G, G’ has a single minimum cut of size k-1 ( (C,{x}).
Contraction • Contraction is an operation performed on a pair of vertices • If we contract u and v we merge them into a single vertex w. • Contraction Algorithm: (Input: a graph G) • 1) Assign all edges uniformly chosen costs in [0,1] • 2) Perform until 2 vertices remain • - Select the cheapest edge in the current graph and contract its endpoints
D. Karger (in his article Global min-cuts in RNC and other ramifications of a simple mincut algorithm) shows that the probability that the contractions algorithm never contracts a min-cut edge is at least . That means that with probability at least , the algorithm does not contract an edge incident to x, which implies that C has a spanning tree cheaper than the cut (C,{x})
How do we obtain ?? • In our situation we consider an (n+1) vertex graph with min-cut of size c=k-1. • Except for x, the degree of every vertex in the residual graph at any step of the Contraction Algorithm is at least . . • The degree of x remains k-1, provided none of its edges were contracted. • Therefore for the step of the algorithm the probability of choosing to contract a cut edge is at most : • The probability no cut edge is contracted in any step of the algorithm is at least • This is due to the fact that all cuts in G’ other than the minimum cut (C,{x}) have size at least k. • C=k+1 , D=k
Testing k-connectivity of Graphs that are not (k-1) connected. A slight modification of Algorithm 9 with distance parameter set to rejects with probability at least 2/3 any graph that is -far from being k-connected. 1) Uniformly and independently select vertices in the graph 2) For each vertex “s” selected perform a BFS starting from “s” until vertices have been reached or no more new vertices can be reached (a small component has been found) 3) If any of the above searches finds a small connected component then output REJECT, otherwise output ACCEPT
Running on a Graph for which exists an i so that the graph is (i-1) connected and is -far from being i connected • In this case , by Corollary 8 the auxiliary graph TG has at least i-class leaves each containing at most vertices. • With probability at least a vertex belonging to such a class is selected.
The identification procedure for k-class leaves is such that when invoked inside a small i-class leaf it detects a cut of size i-1<k with probability at least
Although the situation may be more complex: • Even though the graph may be -far from being k-connected , it may be the case that there exists no i so that the graph is an (i-1) connected graph and -far from being i connected. • We need to reject such graphs with probability at least .
The Solution • Let G0=G be a graph that is -far from being k-connected and for i=1,…,k let be an i connected graph that is closest to . • By definition of the ’s there exists an i such that (which is (i-1) connected) is far from being i-connected. • Now if the algorithm were to run on this (with distance ) then it would reject with probability at least .
G vsGi. Case 1: If can be obtained from G only by adding edges. It is easily shown that if the algorithm rejects a graph it will also reject any sub-graph of it. We will do this at the end of the lecture
Case 2: may not be obtained from G by just adding edges We can consider the distance of the graph to the class of i-connected graphs rather than to the class of i-connected graphs with degree bound d. This can be obtained by only adding edges.
Excess of a graph Excess of Gk is :
Lemma 17: Let G be a graph that is -far from the class of k-connected graphs with maximum degree d. Then the minimum number of edges which must be added to G in order to make it a k-connected graph is at least
Proof: Assume , contrary to the claim – that in order to transform G into a k-connected graph it’s enough to augment it with edges We next show that by adding and removing at most 13m edges we can transform G into a k-connected graph which has maximum degree d in contradiction to G being -far.
G has maximum degree d • Gk was obtained by augmenting G with m edges • Excess of Gk is at most 2m • Now we will see how performing at most 12m edge modifications to Gk , we can obtain a k-connected graph with excess 0.
While the excess of the graph is non-zero, Categorize our graph as one of 2 cases: There is an edge (u,v) such that deg(u)>d and deg(v)>k. 2) For every vertex u such that deg(u)>d, all of u’sneighbours have degree k.
Lemma A.2 Let G be a (k-1)-connected graph, and TG be its auxiliary tree. If we augment G by an edge with endpoints in the k-connected classes C1 and C2. Then the classes on the simple path between C1 and C2 in TG form a k-connected class.
Lemma A.3 Let G be a (k-1)-connected graph, and TG be its auxiliary tree. C1 and C2 two k-connected classes. If we omit a single edge from each Ci and add 2 edges. If (u1,v1) and (u2,v2) were omitted from C1 and C2 we add (u1,u2) and (v1,v2) Then the classes on the simple path between C1 and C2 in TG form a k-connected class.