Separator Theorems for Planar Graphs Presented by Shira
Separator Theorems for Planar Graphs Presented by Shira Zucker 1
? What is a Separator Theorem l l l 2 S – a class of graphs. An f(n)-separator theorem for S is a theorem of the following form: There exist constants α<1, β>0, such that, if G is any n-vertex graph in S, the vertices of G can be partitioned into three sets A, B, C, such that no edge joins a vertex in A with a vertex in B, neither A nor B contains more than αn vertices, and C contains no more than βf(n) vertices.
Theorem 1 (Lipton & Tarjan) Let G be any n-vertex planar graph. The vertices of G can be partitioned into three sets A, B, C such that: 1. No edge joins a vertex in A with a vertex in B. 2. Neither A nor B contains more than 2 n/3 vertices. 3. C contains no more than vertices. 3
Facts l l l 4 Any n-vertex binary tree can be separated into two subtrees, each with no more than 2 n/3 vertices, by removing a single edge. Any n-vertex tree can be divided into two parts, each with no more than 2 n/3 vertices, by removing a single vertex. A -separator theorem holds for the class of grid graphs.
Most Graphs do not have a good Separator Theorem 5 l Theorem: for every ε>0, there exists a positive constant c=c(ε) such that almost all graphs G with n=(2+ε)k vertices and ck edges have the property that, after the omission of any k vertices, a connected component of at least k vertices remains. l Sparsity is not enough, but planarity is!!
Some facts about planarity 1. 2. 3. 6 4. Let C be any simple closed curve in the plane. Removal of C divides the plane into exactly two connected regions, the “inside” and the “outside” of C. Any n-vertex planar graph with n≥ 3 contains no more than 3 n -6 edges. A graph is planar iff it contains neither a complete graph on 5 vertices nor a complete bipartite graph on two sets of 3 vertices as a generalized subgraph. Any planar graph can be triangulated.
Lemma 1 l l 7 Let G be any planar graph. Shrinking any edge of G to a single vertex, we preserve planarity. Proof:
Corollary 1 8 l Let G be any planar graph. Shrinking any connected subgraph of G to a single vertex preserves planarity. l Proof: Immediate from Lemma 1 by induction on the number of vertices in the subgraph to be shrunk.
Lemma 2 1. 2. 3. 9 Let G be any planar graph with: Nonnegative vertex costs summing to at most 1. A spanning tree of radius r. Then the vertices of G can be partitioned into three sets A, B, C, such that: No edge joins a vertex in A with a vertex in B. Neither A nor B has total cost exceeding 2/3. C contains no more than 2 r+1 vertices, one the root of the tree.
Lemma 2 – Proof Assume no vertex has cost exceeding 1/3. Otherwise, this vertex is C and the rest of the graph is B. Make each face a triangle by adding additional edges. Any nontree edge forms a simple cycle with some of the tree edges. 10 This cycle is of length at most 2 r+1 or 2 r-1. The cycle divides the plane (and the graph) into two parts.
. Lemma 2 – Proof – Cont l l 11 Claim: at least one cycle separates the graph so that neither the inside nor the outside contains vertices whose total cost exceeds 2/3. Proof: Let (x, z) be the nontree edge whose cycle minimizes the maximum cost either inside or outside the cycle. Break ties by choosing the nontree edge whose cycle has the smallest number of faces on the same side as the maximum cost.
. Lemma 2 – Proof – Cont l l 12 Suppose without l. o. g that the graph is embedded so that the cost inside the (x, z) cycle is ≥ the cost outside the cycle. If the vertices inside the cycle have total cost ≤ 2/3, the claim is true. Suppose the vertices inside the cycle have total cost > 2/3. We show by case analysis that this contradicts the choice of (x, z).
Consider the face which has (x, z) as a boundary edge and lies inside the cycle. 13
Lemma 3 - Definitions l l l 14 Let G be any n-vertex connected planar graph having nonnegative vertex costs summing to no more than 1. The vertices of G are partitioned into levels according to their distance from some vertex v. L(l) denotes the number of vertices at level l. r - the maximum distance of any vertex from v. Let r+1 be an additional level containing no vertices.
Lemma 3 15 Given any two levels l 1 and l 2 such that: 1. Levels 0 through l 1 -1 have total cost not exceeding 2/3 2. Levels l 2+1 through r+1 have total cost not exceeding 2/3. It is possible to find a partition A, B, C of the vertices of G such that: 1. No edge joins a vertex in A with a vertex in B. 2. Neither A nor B has total cost exceeding 2/3. 3. C contains no more than L(l 1)+L(l 2)+max{0, 2(l 2 -l 1 -1)} vertices.
Lemma 3 - Proof If l 1≥l 2, let A be all vertices on levels 0 through l 1 -1, B all vertices on levels l 1+1 through r, and C all vertices on level l 1. Then the Lemma is true. 16 0 l 2 A l 1 -1 l 1 C l 1+1 B r
. Proof – Cont l 17 Suppose l 1<l 2. Delete the vertices at levels l 1 and l 2 from G. This separates the remaining vertices of G into three parts: vertices at levels 0 – (l 1 -1), vertices at levels (l 1+1) – (l 2 -1) and vertices at levels l 2+1 and above. The only part which may have a cost exceeding 2/3 is the middle part. <2/3 l 1 -1 l 1+1 l 2 -1 l 2+1 <2/3
. Proof – cont l 18 If the middle part does not have cost exceeding 2/3, let A be the most costly part of the three, let B be consist of the remaining two parts, and let C be the set of vertices at levels l 1 and l 2. Then the lemma is true. l 1 -1 l 1+1 C l 2 -1 l 2+1
. Proof – cont l 19 Suppose the middle part has cost exceeding 2/3. Delete all vertices at levels l 2 and above, and shrink all vertices at levels l 1 and below to a single vertex of cost zero. These operations preserve planarity by Cor. 1. The new graph has a spanning tree of radius l 2 -l 1 -1 whose root corresponds to vertices at levels l 1 and below in the original graph. l 1 -1 l 1 0 l 1+1 l 2 -1 l 2+1
. Proof – Cont Apply Lemma 2 to the new graph. Let A*, B*, C* be the resulting vertex partition. Let A be the set among A* and B* having greater cost. Let C consist of the vertices at levels l 1 and l 2 in the original graph and the vertices in C*, excluding the root of the tree, and let B contain the remaining vertices in G. l By Lemma 2, A has total cost not exceeding 2/3. But AUC* has total cost at least 1/3, so B also has total cost at most 2/3. Furthermore, C contains no more than L(l 1)+L(l 2)+2(l 2 -l 1 -1) vertices. ■ l 20
Theorem 4 Let G be any n-vertex planar graph having nonnegative vertex costs summing to no more than 1. Then the vertices of G can be partitioned into three sets A, B, C such that: 1. No edge joins a vertex in A with a vertex in B, 2. Neither A nor B has total cost exceeding 2/3, 3. C contains no more than vertices. 21
Theorem 4 – Proof For a connected G l l l 22 Partition the vertices into levels according to their distance from some vertex v. Let L(l) be the number of vertices on level l. If r is the maximum distance of any vertex from v, define additional levels -1 and r+1 containing no vertices. Let l 1 be the level such that the sum of costs in levels 0 through l 1 -1 is less than ½, but the sum of costs in levels 0 through l 1 is at least ½. (If no such l 1 exists, then B=C=ø satisfies theorem. ) 0 l 0 k l 1 -1 l 1 <½ >½ l 2
. Proof – Cont l l 23 Let k be the number of vertices at levels 0 through l 1. Find a level l 0 such that l 0≤l 1 and |L(l 0)|+2(l 1 -l 0)≤ 2√k. Find a level l 2 such that l 1+1≤l 2 and |L(l 2)|+2(l 2 -l 11)≤ 2√(n-k). If two such levels exist, then by Lemma 3 the vertices of G can be partitioned into three sets A, B, C such that no edge joins a vertex in A with a vertex in B, neither A nor B has cost exceeding 2/3, and C contains no more than 2(√k+√(n-k)) vertices. 0 l 0 k l 1 -1 l 1 <½ >½ l 2
. Proof – Cont But, l Thus, theorem holds if suitable levels l 0 and l 2 exist. l Suppose a suitable level l 0 does not exist. Then, for i≤l 1, . Since L(0)=1, this means , and. Thus, and l 24 which is a contradiction.
Proof For a disconnected G l 1. 25 Let G 1, G 2, …Gk be the connected components of G, with vertex sets V 1, V 2, …, Vk. If some connected component Gi has total vertex cost between 1/3 and 2/3, let A=Vi, B=GVi and C=ø.
Proof For a disconnected G 2. If no connected component has cost >1/3, let i be the minimum index such that the total cost of V 1 UV 2 U…UVi exceeds 1/3. l Let A= V 1 UV 2 U…UVi, let B= Vi+1 UVi+2 U…UVk, and let C=ø. l Since i is minimal and the cost of vi ≤ 1/3, the cost of A ≤ 2/3. 26
Proof For a not connected G l If some connected component (say Gi) has total cost > 2/3, apply theorem on Gi. Let A*, B*, C* be the resulting partition. l Let A be the set among A* and B* with greater cost. l C=C*. l Let B be the remaining vertices of G. l 27
An Algorithm for finding a good partition l 28 A representation of a planar embedding of a graph: A list structure – for the edges of the graph, its endpoints and 4 pointers, designating the edges immediately clockwise and counterclockwise around each of the endpoints of the edge. Stored with each vertex is some incident edge.
Example of a representation 29
The algorithm 1. 2. 30 Find a planar embedding of G and construct a representation as described before. Find the connected components of G and determine the cost of each one. If none has cost >2/3, construct the partition as described in the proof of theorem. Find a BFS tree of the most costly component. Compute the level of each vertex and compute L(l) in each level l.
. The algorithm – Cont 4. 5. 31 Back to slides 22 -23. Construct a new vertex x to represent all vertices on levels 0 through l 0. Construct a Boolean table with one entry per vertex. Initialize to true the entry for each vertex on levels 0 -l 0 and initialize to false the entry for each vertex on levels l 0+1 through l 2 -1.
. The algorithm – Cont 32 The vertices on levels 0 -l 0 correspond to a subtree of the BFS generated before. Scan the edges incident to this tree clockwise around the tree. When scanning an edge (v, w) with v in the tree, check the table entry for w. If it is true – delete edge (v, w). If it is false – change it to true, create (x, w) and delete (v, w). We get a planar representation of the shrunken graph, to which Lemma 2 is to be applied.
Planar representation for the shrunken graph - Example 33
. The algorithm – Cont Construct a BFS for the shrunken graph. 7. Find an appropriate cycle, with cost ≤ 2/3 in the inside of the cycle. 8. Use the found cycle and levels l 0 and l 2 (found in step 4) to construct a satisfactory vertex partition as described in the proof of Lemma 3. Extend this partition from the connected component chosen in step 2, to the entire graph as described in the proof of Theorem 4. → All steps require O(n) time. 6. 34
Finding an appropriate cycle 35
Application of theorem 36 l Divide-and-conquer in combination with theorem can be used to rapidly find good approximate solutions to certain NP-complete problems on planar graph. l The maximum independent set problem.
The maximum independent set problem. l l 37 Theorem 5: Let G be an n-vertex planar graph with nonnegative vertex costs summing to no more than 1, and let 0 ≤ ε ≤ 1. Then there is some set C of O(√(n/ε)) vertices whose removal leaves G with no connected component of cost exceeding ε. C can be found in O(n log n) time.
Proof for theorem 5 l l If ε ≤ 1/√n, let C contain all the vertices of G. Otherwise, apply the following algorithm: Init: Let C=ø. 38 Step: Find some connected component K in GC with cost > ε. Apply Theorem 4 to K, producing a partition A 1, B 1, C 1 of its vertices. Let C=CUC 1.
. Proof – Cont l l Repeat the step until GC has no component with cost > ε. Consider all components arising during the course of the algorithm. Assign a level to each component. Level 0 Level 1 Level 2 Level 3 39
Complexity l l l 40 l Any two components at the same level are vertex-disjoint. Each level 1 component has cost > ε. For i≥ 1, each level i component has cost ≥. The total cost of G is ≤ 1. Therefore, the total number of components of level i is at most. The maximum level k satisfy
. Complexity – Cont l l The time to split a component is linear in its number of vertices. Any two components at the same level are vertex-disjoint. → The total running time of the algorithm is O(n log n). 41
The size of the set C l l l 42 Let K 1, K 2, …, Kl, of sizes n 1, n 2, …, nl, respectively, be the components of some level i≥ 1. The number of vertices added to C by splitting K 1, …, Kl is at most. and .
. The size of C – Cont l We have which leads to 43
Algorithm for IS 1. 2. 44 Apply Theorem 5 to G with ε=k(n)/n and each vertex having cost 1/n. Thus we find a set of vertices C of size O(n/√k(n)) whose removal leaves no connected component with more than k(n) vertices. In each connected component of GC, find a max IS by checking every subset of vertices. Form I as a union of max ISs, one from each component.
Correctness l l Let I* be a maximum IS of G. I*I cannot have vertices from GC. (all possibilities were checked. ) → I*I can have vertices only from C. → |I*|-|I|=O(n/√k(n)). l G is planar → G is 4 -colorable → |I*| ≥ n/4. → 45
. Correctness – Cont l 46 Thus, the relative error in the size of I → 0 as n → ∞ if K(n) → ∞ as n → ∞.
Complexity l l l 47 Step 1 of the algorithm requires O(n log n) by Theorem 5. Step 2 requires time on a connected component of ni vertices. The total time required by step 2:
. Complexity – Cont l l l 48 Hence the entire algorithm requires time. If we choose k(n)=log n, we get an O(n²)-time algorithm with O(1/√(log n)) relative error. If we choose k(n)=log n, we get an O(n log n)-time algorithm with O(1/√(log n)) relative error.
Better Results l l 49 Alon, Seymour and Thomas gave a shorter proof to theorem of Lipton & Tarjan. They also proved a better theorem, with a smaller constant.
The new Separator Theorem Let G be any n-vertex planar graph. The vertices of G can be partitioned into three sets A, B, C such that: 1. No edge joins a vertex in A with a vertex in B. 2. Neither A nor B contains more than 2 n/3 vertices. 3. C contains no more than vertices. This theorem also holds for weighted graphs. 50
- Slides: 50