Title: Separator Theorems for Planar Graphs
1Separator Theoremsfor Planar Graphs
- Presented by
- Shira Zucker
2What is a Separator Theorem?
- S a class of graphs.
- An f(n)-separator theorem for S is a theorem of
the following form - There exist constants alt1, ßgt0, 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 an vertices,
and C contains no more than ßf(n) vertices.
3Theorem 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 - No edge joins a vertex in A with a vertex in B.
- Neither A nor B contains more than 2n/3 vertices.
- C contains no more than vertices.
4Facts
- Any n-vertex binary tree can be separated into
two subtrees, each with no more than 2n/3
vertices, by removing a single edge. - Any n-vertex tree can be divided into two parts,
each with no more than 2n/3 vertices, by removing
a single vertex. - A -separator theorem holds for the class of
grid graphs.
5Most Graphs do not have a good Separator Theorem
- Theorem for every egt0, there exists a positive
constant cc(e) such that almost all graphs G
with n(2e)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. - Sparsity is not enough, but planarity is!!
6Some facts about planarity
- 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 n3 contains no
more than 3n-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. - 4. Any planar graph can be triangulated.
7Lemma 1
- Let G be any planar graph. Shrinking any edge of
G to a single vertex, we preserve planarity. - Proof
8Corollary 1
- Let G be any planar graph. Shrinking any
connected subgraph of G to a single vertex
preserves planarity. - Proof Immediate from Lemma 1 by induction on the
number of vertices in the subgraph to be shrunk.
9Lemma 2
- 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 2r1 vertices, one the
root of the tree.
10Lemma 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. This cycle is
of length at most 2r1 or 2r-1. The cycle divides
the plane (and the graph) into two parts.
11Lemma 2 Proof Cont.
- 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.
12Lemma 2 Proof Cont.
- 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 gt 2/3. - We show by case analysis that this contradicts
the choice of (x,z).
13Consider the face which has (x,z) as a boundary
edge and lies inside the cycle.
14Lemma 3 - Definitions
- 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 r1 be an additional level containing no
vertices.
15Lemma 3
- Given any two levels l1 and l2 such that
- Levels 0 through l1-1 have total cost not
exceeding 2/3 - Levels l21 through r1 have total cost not
exceeding 2/3. - It is possible to find a partition A, B, C of
the vertices of G 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 L(l1)L(l2)max0,2(l2-l1-
1) vertices.
16Lemma 3 - Proof
- If l1l2,
- let A be all vertices on levels 0 through
l1-1, - B all vertices on levels l11 through r,
- and C all vertices on level l1.
- Then the Lemma is true.
0
l2
A
l1-1
l1
C
l11
B
r
17Proof Cont.
lt2/3
- Suppose l1ltl2. Delete the vertices at levels l1
and l2 from G. This separates the remaining
vertices of G into three parts vertices at
levels 0 (l1-1), vertices at levels - (l11) (l2-1) and vertices at levels l21
and above. - The only part which may have a cost exceeding
2/3 is the middle part.
l1-1
l1
l11
l2-1
l2
l21
lt2/3
18Proof cont.
- 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 l1
and l2. - Then the lemma is true.
l1-1
l1
l11
C
l2-1
l2
l21
19Proof cont.
- Suppose the middle part has cost exceeding 2/3.
- Delete all vertices at levels l2 and above,
and shrink all vertices at levels l1 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
l2-l1-1 whose root corresponds to vertices at
levels l1 and below in the original graph.
l1-1
0
l1
l11
l2-1
l2
l21
20Proof 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 l1 and
l2 in the original graph and the vertices in C,
excluding the root of the tree, and let B contain
the remaining vertices in G. - 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(l1)L(l2)2(l2-l1-1)
vertices.
21Theorem 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 - 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 vertices.
22Theorem 4 Proof For a connected G
0
- 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 r1 containing no
vertices. - Let l1 be the level such that the sum of costs in
levels 0 through l1-1 is less than ½, but the sum
of costs in levels 0 through l1 is at least ½. - (If no such l1 exists, then BCø satisfies the
theorem.)
l0
k
l1-1
lt½
l1
gt½
l2
23Proof Cont.
0
- Let k be the number of vertices at levels 0
through l1. Find a level l0 such that l0l1 and
L(l0)2(l1-l0)2vk. Find a level l2 such that
l11l2 and L(l2)2(l2-l1-1)2v(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(vkv(n-k)) vertices.
l0
k
l1-1
lt½
l1
gt½
l2
24Proof Cont.
- But,
- Thus, the theorem holds if suitable levels l0 and
l2 exist. - Suppose a suitable level l0 does not exist. Then,
for il1, - . Since L(0)1,
this means - , and
. - Thus, and
-
- which is a contradiction.
25Proof For a disconnected G
- Let G1, G2,Gk be the connected components of G,
with vertex sets V1, V2,,Vk. - If some connected component Gi has total vertex
cost between 1/3 and 2/3, let AVi, BG\Vi and
Cø.
26Proof For a disconnected G
- 2. If no connected component has cost gt1/3, let
i be the minimum index such that the total cost
of V1UV2UUVi exceeds 1/3. - Let A V1UV2UUVi, let B Vi1UVi2UUVk, and let
Cø. - Since i is minimal and the cost of vi 1/3, the
cost of A 2/3.
27Proof For a not connected G
- If some connected component (say Gi) has total
cost gt 2/3, apply the theorem on Gi. - Let A, B, C be the resulting partition.
- Let A be the set among A and B with greater
cost. - CC.
- Let B be the remaining vertices of G.
28An Algorithm for finding a good partition
- 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
counter-clockwise around each of the endpoints of
the edge. - Stored with each vertex is some incident
edge. -
29Example of a representation
30The algorithm
- 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 gt2/3,
construct the partition as described in the proof
of the theorem. - Find a BFS tree of the most costly component.
Compute the level of each vertex and compute L(l)
in each level l.
31The algorithm Cont.
- Back to slides 22-23.
- Construct a new vertex x to represent all
vertices on levels 0 through l0. - Construct a Boolean table with one entry
per vertex. Initialize to true the entry for each
vertex on levels 0-l0 and initialize to false the
entry for each vertex on levels l01 through l2-1.
32The algorithm Cont.
- The vertices on levels 0-l0 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.
33Planar representation for the shrunken graph -
Example
34The algorithm Cont.
- Construct a BFS for the shrunken graph.
- Find an appropriate cycle, with cost 2/3 in the
inside of the cycle. - Use the found cycle and levels l0 and l2 (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.
35Finding an appropriate cycle
36Application of the theorem
- Divide-and-conquer in combination with the
theorem can be used to rapidly find good
approximate solutions to certain NP-complete
problems on planar graph. - The maximum independent set problem.
37The maximum independent set problem.
- Theorem 5 Let G be an n-vertex planar graph with
nonnegative vertex costs summing to no more than
1, and let 0 e 1. Then there is some set C of
O(v(n/e)) vertices whose removal leaves G with
no connected component of cost exceeding e. - C can be found in O(n log n) time.
38Proof for theorem 5
- If e 1/vn, let C contain all the vertices of G.
- Otherwise, apply the following algorithm
- Init Let Cø.
- Step Find some connected component K in G\C with
cost gt e. - Apply Theorem 4 to K, producing a partition
A1, B1, C1 of its vertices. - Let CCUC1.
39Proof Cont.
- Repeat the step until G\C has no component with
cost gt e. - Consider all components arising during the course
of the algorithm. Assign a level to each
component.
Level 0 Level 1 Level 2 Level 3
40Complexity
- Any two components at the same level are
vertex-disjoint. - Each level 1 component has cost gt e.
- For i1, 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
41Complexity Cont.
- 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).
42The size of the set C
- Let K1, K2, , Kl, of sizes n1, n2, , nl,
respectively, be the components of some level
i1. - The number of vertices added to C by splitting
K1, , Kl is at most . - and
.
43The size of C Cont.
44Algorithm for IS
- Apply Theorem 5 to G with ek(n)/n and each
vertex having cost 1/n. - Thus we find a set of vertices C of size
O(n/vk(n)) whose removal leaves no connected
component with more than k(n) vertices. - 2. In each connected component of G\C, find a
max IS by checking every subset of vertices. Form
I as a union of max ISs, one from each component.
45Correctness
- Let I be a maximum IS of G.
- I\I cannot have vertices from G\C. (all
possibilities were checked.) - ? I\I can have vertices only from C.
- ? I-IO(n/vk(n)).
- G is planar ? G is 4-colorable ? I n/4.
- ?
46Correctness Cont.
- Thus, the relative error in the size of I ? 0 as
n ? 8 if K(n) ? 8 as n ? 8.
47Complexity
- 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
48Complexity Cont.
- Hence the entire algorithm requires
-
time. - If we choose k(n)log n, we get an O(n²)-time
algorithm with O(1/v(log n)) relative error. - If we choose k(n)log log n, we get an O(n
log n)-time algorithm with O(1/v(log log n))
relative error.
49Better Results
- Alon, Seymour and Thomas gave a shorter proof to
the theorem of Lipton Tarjan. - They also proved a better theorem, with a smaller
constant.
50The 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 - No edge joins a vertex in A with a vertex in B.
- Neither A nor B contains more than 2n/3 vertices.
- C contains no more than
vertices. - This theorem also holds for weighted
graphs.