graph separator

if and are such that every path in contains a vertex or an edge from , we say that separates the sets and in . we say that separates two vertices, if it separates the sets, , but , and that separates if separates some two vertices in . a separating set of vertices is a separator, we may also call a single vertex a separator if the set is a separator.
[cite:;taken from @graph_diestel_2017 chapter 1.4 connectivity]
a vertex is a separation vertex in an undirected graph iff there exist two vertices such that every path between and goes through .
let be a planar embedding, and let be a number between 0 and 1. an assignment of nonnegative weights to the faces, vertices, or edges of is an -proper assignment if no element is assigned more than times the total weight. a subpartition of these elements is -balanced if, for each part, the sum of the weights of the elements of that part is at most times the total weight.
[cite:;taken from @graph_klein_2024 chapter 5.2 weights and balance]
let be binary tree, and let be a -proper assignment of weights to nodes such that each nonleaf node is assigned at most one-fourth of the weight. there is an edge such that every tree in has at most three-fourths of the weight.
[cite:;taken from @graph_klein_2024 lemma 1.3.2 tree edge separator of node weight]
assume the total weight is 1. for each node , define
let be a leafmost 3/4-heavy node with respect to . let be the children of . note that because its a binary tree. since but , we must have , so (because nonleaf nodes get at most one-fourth of the weight).
for , let be the weight of descendants of . let . by choice of , . by choice of ,
this shows that choosing to be the edge satisfies the balance condition.
[cite:;taken from @graph_klein_2024 lemma 1.3.2]
let be a plane graph. a simple cycle of defines a subpartition consisting of two parts, the strict interior and the strict exterior of the cycle. if the subpartition is -balanced, we say that is an -balanced cycle separator.
[cite:;taken from @graph_klein_2024 chapter 5.3 fundamental-cycle separators]
for any plane graph , -proper assignment of weights to faces, and spanning tree of such that the boundary of each face of has at most three nontree edges, there is a nontree edge such that the fundamental cycle of with respect to is a -balanced cycle separator for .
[cite:;taken from @graph_klein_2024 lemma 5.3.1]
let be the interdigitating tree, the spanning tree of consisting of edges not in . the vertices of are faces of , and are therefore assigned weights. the property of ensures that has degree at most three. using lem-graph-sep-2, let be an edge separator in of vertex weight. by the fundamental-cut and fundamental cycle duality, the fundamental cut of in with respect to is a simple cut in (each side of which has weight at most three-fourths of the total) so it is, by the simple-cycle/simple-cut theorem, a simple cycle in that encloses between one-fourth and three-fourths of the weight.
[cite:;taken from @graph_klein_2024 lemma 5.3.1]
there is a linear-time algorithm that, given a triangulated plane graph , a spanning tree of , and a -proper assignment of weights to faces, edges, and vertices, returns a non-tree edge such that the fundamental cycle of with respect to is a -balanced cycle separator for .
[cite:;taken from @graph_klein_2024 lemma 5.3.2]
we can give a better balance guarantee if we separating just edge-weight:
there is a linear-time algorithm that, given a triangulated plane graph with a -proper assignment of weights to edges, and a spanning tree , returns a nontree edge such that the fundamental cycle of with respect to is a -balanced cycle separator for .
[cite:;taken from @graph_klein_2024 lemma 5.3.3]
separators are extremely useful for divide-and-conquer algorithms. in order to ensure that we dont place too much weight on a single subgraph, we need to make sure that the separator we choose is balanced and isnt too big, this motivates the following theorems.
there is a linear-time algorithm that, for a plane graph and -proper assignment of weights to edges, returns subgraphs such that
  • is a [[blk:def-partition][partition]] of (but is it really a partition? because ),
  • the partition is -balanced, and
  • .
the subgraphs are called the pieces. the set of vertices common to the two subgraphs is called the vertex separator.
[cite:;taken from @graph_klein_2024 theorem 5.5.1]
let denote the edge-weight assignment. assume for notational simplicity that the sum of edge weights is 1. the basic idea is to find a balanced fundamental-cycle separator, which might be too long, and shortcut it at small BFS levels.
the algorithm adds artificial zero-weight edges to to triangulate it. then, it performs a breadth-first search of from some node . let be the breadth-first-search tree. let denote the set of vertices at level . following lem-graph-sep-3, the algorithm finds a -balanced fundamental-cycle separator with respect to . we partition the edges of into two sets and , so that contains all edges strictly enclosed by and contains all edges not enclosed by . the edges of are assigned to and in a way that makes the partition -balanced. such a partition exists because the weight assignment is -proper, and can be computed in linear time by assigning the edges of to until the total weight of is at least .
let and denote the minimum and maximum level of a vertex of , respectively. for an integer , let denote , and let denote . let be the greatest integer satisfying:
  • ,
  • ,
  • .
if no such level exists, we set . let be the smallest integer satisfying:
  • ,
  • ,
  • .
if no such level exists, we set .
since for any level , the sets of edges corresponding to and to are disjoint, at least one of , is true. it follows that each of the levels has greater than vertices. hence, the total number of vertices among these levels is greater than , so .
let be the set of edges whose endpoints have level at most if , and the empty set if . let be the set of edges with at least one endpoint at level greater than if , and the empty set if . let , and let .
it is immediate to verify that is a partition of the edges of . by choice of and , for we have . since is a balanced separator, for we have .
for , if , then the algorithm sets and all other edges of . since , it follows that and .
assume therefore that for . let be the minimum integer such that . then and , so . the algorithm sets and all other edges of . then and .
[cite:;taken from @graph_klein_2024 theorem 5.5.1]
there is a linear-time algorithm that, for a plane graph and -proper assignment of weights to vertices, returns subgraphs such that
  • is a partition of ,
  • the subpartition of is -balanced, and
  • .
[cite:;taken from @graph_klein_2024 theorem 5.5.2]
we sometimes may want a simple cycle separator, which the-graph-sep-1 doesnt guarantee (fundamental cycle doesnt guarantee a simple cycle separator, see [[blk:fig-fund-cut-cycle]]), the following theorem addresses this:
there is a linear-time algorithm that, for any simple undirected triangulated plane graph and any -proper assignment of weights to faces, edges, and vertices, returns a -balanced cycle separator of size at most .
[cite:;taken from @graph_klein_2024 theorem 5.8.1]