Vertex Bisection is Hard, too

We settle an open problem mentioned in Diaz, Petit, and Serna: A survey of graph layout problems ( ACM Computing Surveys 34:313–356, 2002). Of eight objectives considered in that survey, only the complexity status of minimum vertex bisection is listed as unknown. We show that both minimum and maximum vertex bisection are NP -hard


Introduction
We consider simple undirected graphs G = (V, E).A partition (S, V \S) induced by a proper subset ∅ = S V of the vertices is called a cut.A cut (B, V \B) that divides the vertex set evenly, i.e. |B| ∈ { |V |/2 , |V |/2 }, is called a bisection.
The width of a bisection is measured either in terms of the number of edges or the number of vertices connecting the two subsets.A bisection (B, V \ B) (or simply called B) has edge width κ(B) = |{{v, w} ∈ E : v ∈ B, w ∈ V \ B}| and vertex width λ(B) = |{v ∈ B : ∃w ∈ V \ B, {v, w} ∈ E}|.Thus, λ(B) counts the number of vertices in B that have neighbors outside B.
Minimum edge bisections are of interest, e.g., for divide and conquer approaches in VLSI design [3,1].Minimum vertex bisection is relevant, e.g., for certain forms of gossiping in communication networks [11].minimum edge bisection, κ(B) = 3 maximum edge bisection, κ(B) = 7 minimum vertex bisection, λ(B) = 2 maximum vertex bisection, λ(B) = 4 Figure 1: Optimum bisections of an example graph.Vertices in B are filled black (and surrounded grey if and only if there is a neighbor in V \ B).Cut edges are dashed.
Figure 1 shows bisections of optimum edge and vertex width of an example graph.While cuts of minimum edge width (and arbitrary size) can be determined in polynomial time using network-flow techniques [18], the problem of finding a bisection of minimum edge width is known to be N P-complete [6] and hence (by using the complementary graph G) the problem of finding a bisection of maximum edge width is also N P-complete.Algorithms with good average case performance for bisections with small edge width can be found in e.g.[3].A polylogarithmic approximation is given in [5].Determining cuts of maximum edge width and arbitrary size (i.e.MAXCUT) is also N P-complete [9], but there exists a 0.878 approximation [7].
The complexity status of the remaining variant of determining a bisection of minimum vertex width is stated as open in [4].We show that both the minimum and maximum versions are N P-complete as well, but polynomially solvable for some graph classes.
We show that the decision problems associated with minimum and maximum vertex bisection are N P-complete.We show that 3SAT can be polynomially transformed into MIN VERTEX BISECTION.Let I = (X, C) be an instance of 3SAT with variables X = {x 1 , . . ., x } and clauses C = {c 0 , . . ., c m−1 }.W.l.o.g. each clause contains only pairwise different variables.We construct the following graph G = (V, E) with 256m 2 +14m vertices that are partitioned into 3 sets S, T, U , where S is a 128m 2clique, T is a (128m 2 + 6m)-clique and U consists of 8m vertices.One half of the vertices of S are called s i,j and the other half si,j , where 0 ≤ i, j < 8m.The vertices of U = {u i : 0 ≤ i < 8m} correspond to a truth assignment of clause c j , where j = i/8 and the last three binary digits of i define the truth assignment (e.g.(0, 1, 1) for i = 19 means the second and third variable of c 2 are set true, etc., see Figure 2).Furthermore, we define the following adjacencies.
{u i , s} ∈ E, ∀s ∈ S and u i yields a false clause (2) {u i , s j,i } ∈ E, ∀i, j and the assignments of the clauses corresponding to u i , u j do not contradict, {u i , si,j } ∈ E, ∀i and 0 ≤ j < η i and η i is the number of clause assignments in contradiction to u i .
( f a l s e , f a l s e , t r u e ) ( f a l s e , f a l s e , f a l s e ) ( f a l s e , t r u e , t r u e ) ( f a l s e , t r u e , f a l s e ) ( t r u e , t r u e , t r u e ) ( t r u e , t r u e , f a l s e ) ( t r u e , t r u e , t r u e ) ( t r u e , t r u e , f a l s e ) (0,0,0) (0,0,1) (0,1,0 Figure 2: All truth assignments corresponding to 2 3 vertices for a clause c 2 = (x 1 , x 2 , x 3 ), i.e. vertices u 8 to u 15 .The black vertex corresponds to a false clause.The basic idea is that there will be m vertices u ∈ U that are not in the optimum B and they correspond to an assignment of the clauses of I.The adjacencies in (1) assure that T ⊆ V \ B. In (2) we assure that assignments that yield a false clause (e.g.i = 17 for clause c 2 , see also Figure 2) are in B. We say that two clause assignments contradict if they assign different values, i.e. true and false, to a variable (e.g.clause assignments i = 19, i.e. (0, 1, 1) for c 2 = (x 1 , x 2 , x 3 ) and i = 39, i.e. (1, 1, 1) for c 4 = (x 1 , x 4 , x 5 ) contradict).Note that the eight clause assignments of a clause c j pairwise contradict.As a consequence only one of the eight vertices corresponding to these assignments will not be in the optimum B. The adjacencies in (4) and ( 5) assure that every vertex u ∈ U that does not yield a false clause is connected to exactly 16m vertices of S. See Figure 3.
Assume that I is satisfiable and let Y be a solution consisting of literals y 1 , . . ., y with each y i of the form x i or x i and consider the following partition Every vertex of the m vertices in U \ B Y has exactly 16m neighbors in B, but since the clause assignments corresponding to these m vertices pairwise do not contradict, they pairwise share exactly one of the 16m neighbors.Hence, this partition induces

JGAA, 13(2) 119-131 (2009) 123
We show that this is the minimum that can only be achieved if I is satisfiable.Thus, 3SAT can be solved by the decision problem of finding a bisection B with λ(B) ≤ 15.5m 2 + 7.5m.Clearly, the transformation can be done in polynomial time and hence MIN VERTEX BISECTION is N P-complete.
It can easily be verified that for the minimum S ⊆ B and T ⊆ V \ B is required.Assume now that B = S∪U .This partition induces λ(B) = 8m.Then we have to remove m vertices of U from B. Every vertex of U corresponding to a false clause cannot be removed since this partition (after m vertices have been removed from B) yields a value of greater than 128m 2 > λ(B Y ).The removal of every other vertex u ∈ U contributes (at every step of removing) 16m − 1 minus the number of vertices already removed and not in contradiction to u.Only if every removed vertex does not contradict to any already removed vertex the value of 15.5m 2 + 7.5m will be achieved and otherwise exceeded.We construct the following graph G = (V, E) with 16m 2 + 18m vertices, that are partitioned into 3 sets S, T, U , where S and T are isolated vertices of size 8m 2 + 2m and 8m 2 + 8m, respectively, and U is an 8m-clique.The vertices of S are called s i,j , where 0 ≤ i < 8m again corresponds to a truth assignment of clause c i/8 and 0 ≤ j < m.The remaining 2m vertices of S are called s 1 , . . ., s m and s 1 , . . ., s m .The vertices of U = {u i : 0 ≤ i < 8m} again correspond to a truth assignment of clause c i/8 .Furthermore, we define the following adjacencies.
{u i , s j }, {u i , s j } ∈ E, ∀i, j and u i does not yield a false clause, (7) {u i , s i , i/8 } ∈ E, ∀i, i and the assignments of the clauses Again the basic idea is that there will be m vertices u ∈ U that are not in the optimum B and they correspond to an assignment of the clauses of I.
Assume that I is satisfiable and let Y be a solution consisting of literals y 1 , . . ., y with each y i of the form x i or x i and consider the following partition  We show that this value can only be achieved, when I is satisfiable.Thus, 3SAT can be solved by the decision problem of finding a partition B with λ(B) ≥ 8m 2 +9m.Clearly, the transformation can be done in polynomial time and hence MAX VERTEX BISECTION is N P-complete.
Since all vertices in B must have neighbors in V \ B (otherwise λ(B) < 8m 2 + 9m), none of the vertices of T are in B. Vertices s i and s i assure that exactly one assignment per clause is chosen, otherwise at least one of them would not have a neighbor in V \ B. All vertices of B have neighbors in V \ B if and only if all clause assignments pairwise do not contradict. 2 MIN VERTEX BISECTION can also be found with a slightly different definition.Let B * ⊆ V be a separator, whose removal disconnects V into two sets V 1 and V 2 of equal size, where |B * | has to be minimized.
Theorem 1 also holds for this definition, which can be seen by increasing the size of clique S by 15.5m 2 + 7.5m vertices.Analogously modifying Definition 2 does not make sense, since B * = V would always be the maximum.
We show for two graph classes, hypercubes and trees that vertex bisection also becomes tractable.

Hypercubes
The vertices of the d-dimensional hypercube Q d can be represented by all bit strings of length d and two vertices are connected if and only if their strings differ in exactly one position.Let v i denote bit i of a vertex v ∈ Q d and |v| = |{i : v i = 1}|.

Theorem 3 The minimum vertex bisection width of a d-dimensional hypercube
This is a special case of the general isoperimetric problem on hypercubes.Minimum cuts of arbitrary sizes are given by the first vertices of the order < , where v < w if |v| < |w| or |v| = |w| and v precedes w lexicographically.Proofs can be found in e.g.[8,10].

Trees
Theorem 4 The minimum vertex bisection width of trees can be computed in polynomial time.
Proof: Algorithm 1 computes the minimum vertex bisection width in O(n 2 ), where n = |T | (= |V |) is the number of vertices of the tree T = (V, E).It is a dynamic programming approach related to the corresponding algorithm for edge bisection on k-trees [17].Let B * ⊆ B be the set of vertices in B that have a neighbor in V \ B, i.e.B * is the separator.Note that Algorithm 1 does not only compute the minimum vertex bisection width, but even all minimum vertex widths λ(B), where |B| = 0, . . ., |T |.
We prove the running time of Algorithm 1 by induction on the height h of the tree after having picked its root v. h = 1: T consists of v and its n − 1 children.The three minima in the inner loop have to be computed over 9 times 2 elements altogether, leading to a running time T (n) ≤ 18(n − 1)(n + 1) < 18n 2 .h > 1: Let n 1 , . . ., n k be the sizes of the subtrees rooted by children of v, such that 1 + k i=1 n i = n.The three minima in the first instance of min widths now have to be computed over at most 9 times n i + 1 elements for the subtree T i altogether.A better upper bound is 9 times min{n i + 1, r + 1, 1 − r + i j=1 n j }.
This yields a running time The correctness of Algorithm 1 follows from the property that the minimum vertex widths (for cuts B of size r) can first be computed separately for each subtree on a certain level of the tree (for each subtree separately for the 3 cases that the root of the subtree is in B * , in B \ B * or not in B) and these minimum vertex widths can then be merged for the next higher level.A minimum cut of size r on a certain level is the union of the minimum cuts of sizes r 1 , . . ., r k of its subtrees T 1 , . . ., T k , where r = r 1 + . . .+ r k (plus 1 for the root in some cases). 2 Note that Algorithm 1 can easily be modified such that it does not only return the minimum vertex widths, but also one (or all) corresponding cuts.
When applying Algorithm 1 to some randomly chosen tree T , all minimum vertex widths will probably be less than 3, since for a random tree it is very likely that there exist two disjoint subtrees (or even only one) whose sizes add up to any r = 0, . . ., |T |.This implies a minimum vertex width of less than 3 (or less than 2).
A tree that has some a minimum cut of size r with vertex width of 3 or greater has to contain at least 4 vertices with degree greater 2. Otherwise it is easy to verify that there exists a sequence B 0 ⊆ B 1 ⊆ . . .⊆ B |T | with λ(B i ) < 3.An example of a tree with minimum vertex bisection 3 is given in Figure 5. Theorem 5 states the existence of trees with greater minimum vertex bisection width.Proof: Minimum vertex bisection can be bounded in a way similar to minimum edge bisection on trees, see [15].The case d even is trivial since a minimum bisection consists of the root together with the left part of T .The case d = 1 or h = 1 is also trivial.For odd d ≥ 3 and h = 2 consider that there is no single vertex in T that separates the vertex set evenly.For the remaining case d ≥ 3 odd and h > 2 consider Figure 6.Black vertices correspond to vertices in B. First note that for a minimum bisection we can assume for each level of T that no grey vertex is followed (from left to right) by a black vertex (by top-down reordering of subtrees).Hence, given a minimum bisection B, we can define a number n k for each level k denoting the position of the rightmost black vertex, such that h k=0 n k ∈ { n/2 , n/2 }.The vertices of the vertical path from the root downwards denote the center vertices of each level.All vertices on the right hand side of that path are grey.Dotted lines denote paths delimiting subtrees, dashed lines denote vertices on the same level.We can assume that since otherwise rightmost black vertices can be moved (bottom-up) without increasing the vertex width .Define  For odd d ≥ 5 the lower bound given in Theorem 5 is sharp for heights of the form h := x k=0 (d k + 1) for some x ∈ N, where a minimum bisection is given according to Figure 6.Since h is even, the number of vertices n is odd and the bisection in Figure 6 fulfills |B| = (n − 1)/2.Hence, Theorem 5 remains sharp also for height h + 1 and h + 2. For d = 3 the given lower bound is sharp in general.A minimum bisection is given according to Figure 6

Discussion
We proved N P-completeness of MIN VERTEX BISECTION and MAX VER-TEX BISECTION.This completes a list of eight graph layout problems given in [4], all of which are now classified as N P-complete.For two graph classes relevant for communication networks, hypercubes and trees, the minimum vertex bisection width can either be given directly or be computed in polynomial time.

2 Definition 2 (
MAX VERTEX BISECTION) Given an undirected graph G = (V, E) and k ∈ N, is there a subset B ⊆ V with |B| ∈ { |V |/2 , |V |/2 } and λ(B) ≥ k? Theorem 2 MAX VERTEX BISECTION is N P-complete.Proof: Clearly, MAX VERTEX BISECTION is in N P. Since we have no simple reduction from the minimization problem, we show that 3SAT can be polynomially transformed into MAX VERTEX BISECTION.Our proof shows that even the decision problem for k = |V |/2 is N P-complete.Let I = (X, C) be an instance of 3SAT with variables X = {x 1 , . . ., x } and clauses C = {c 0 , . . ., c m−1 }.W.l.o.g. each clause contains only pairwise different variables.

Algorithm 1 :
minimum vertex widths on trees.Input: tree T = (V, E) Output: minimum vertex widths λ r = λ(B) with |B| = r (r = 0, . . ., |T |) begin pick a vertex v as root set n ← |T | as globally known constant let A 1 , A 2 , A 3 be arrays with index set {0, . . ., n}, where A 1 [r] will denote the minimum λ(B) for |B| = r and the case v ∈ B * , A 2 [r] for the case v ∈ B \ B * and A 3 [r] for the case v /

Figure 6 :
Figure 6: Minimum bisection of a d-tree of a height h = x k=0 (d k + 1) for some x ∈ N and some odd d ≥ 3.
B can be set directly right of the center vertices of levels 1 to h − x(h) − 2 without changing the vertex width (these center vertices only have one grey neighbor).But since |B \ B | ≥ h − x(h) again the vertex width of B is at least by one greater than that of B .So, finally assume that n h ≤ n h .Since x(h) ≥ log d (h − 1) − 1 it follows 2, i.e. the position of the vertex of the lowest level directly left of the subtree rooted by the center vertex of level h−x(h)−1.Let B be a minimum bisection and assume n h > d h /2.Then Equation (9) already implies |B| > n/2 .So, let n h < n h < d h /2.Equation (9) implies that all vertices denoted by disk-shaped black vertices in Figure6are in B, such that part of the vertices of B, say B , are already fixed by this choice of n h .Now, B taken alone already induces a vertex width equal to the lower bound to be proven minus 1.All rightmost vertices of B not above level h − x(h) do not have any grey neighbors, and there are too few vertices in B \ B to achieve this for any of the remaining rightmost vertices of B (without creating another black vertex with grey neighbors).For d ≥ 5 it is clear that since B \ B = ∅ the vertex width of B is at least by one greater than that of B .For d = 3 the remaining vertices B \