A Polynomial Algorithm for Constructing a Large Bipartite Subgraph, with an Application to a Satisfiability Problem

Let G be a symmetric connected graph without loops. Denote by b(G) the maximum number of edges in a bipartite subgraph of G. Determination of b(G) is polynomial for planar graphs ([6], [8]); in general it is an NP-complete problem ([5]). Edwards in [1], [2] found some estimates of b(G) which give, in particular, for a connected graph G of n vertices and m edges, where and ﹛x﹜ denotes the smallest integer ≧ x. We give an 0(V 3) algorithm which for a given graph constructs a bipartite subgraph B with at least f(m, n) edges, yielding a short proof of Edwards’ result. Further, we consider similar methods for obtaining some estimates for a particular case of the satisfiability problem. Let Φ be a Boolean formula of variables x 1, …, x n.