{'fraction_non_alphanumeric': 0.05530449752528513, 'fraction_numerical': 0.010157090596083494, 'mean_word_length': 3.681845657868225, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Maximum cut problem: new models

Article History: Received 27 May 2019 Accepted 16 October 2019 Available 31 January 2020 The maximum cut problem is known to be NP-hard, and consists in determining a partition of the vertices of a given graph such that the sum of the weights of the edges having one end node in each set is maximum. In this paper, we formulate the maximum cut problem as a maximization of a simple non-smooth convex function over the convex hull of bases of the polymatroid associated with a submodular function defined on the subsets of vertices of a given graph. In this way, we show that a greedy-like algorithm with O(mn) time complexity finds a base of a polymatroid that is a solution to the maximum cut problem with different approximation ratio. Moreover, with respect to a base of a polymatroid, we formulate the maximum cut problem as a maximum flow problem between a source and a sink. We then investigate the necessary and sufficient conditions on the optimality of the base in terms of network flow.


Introduction
The well-known maximum cut problem consists in determining a partition of the vertices of a given graph such that the sum of the weights of the edges having one end node in each set is maximum. The maximum cut problem is very easy to state but hard to solve. This problem is one of the first problems whose NP-hardness was established in [1] by Karp. Note that the problem remains NP-hard even for unit edge weights [2,3].
The solution of the maximum cut problem has been approached by mathematical programming. In terms of design variables for every vertex, an integer quadratic programming formulation is given in [4]. Further integer linear programming formulations of the maximum cut problem using the boolean design variables are given in [5]. The algorithm in [6] for finding solutions of the maximum cut problem is an efficient method from a practical point of view. Goemans and Williamson use a semidefinite relaxation technique. Their experiments show that exact solutions are obtained in a reasonable time for any maximum cut instance of size up to 100 vertices. Using a semidefinite relaxation, the authors achieve an approximation ratio of 0.87856 for this difficult combinatorial optimization problem. Semidefinite programming is a convex optimization approach with a linear objective function of the design variables for a symmetric matrix, subject to linear constraints, and also convex constraints requiring the matrices to be positive semidefinite. Despite the fact that the algorithm in [6] has one of the best worst-case performance, Bertoni, Campadelli and Grossi [7] show that the algorithm improved by Goemans and Williamson has a complex design and its computation time may be prohibitive on large problem instances having more than 500 vertices. By solving experimental test problems on large random graphs, Bertoni et al. also show that their algorithm is better than the semidefinite programming algorithm of [6] and they define cuts with the same values in less time on standard benchmarks. Ben-Ameur et al. discuss the complexity of the maximum cut problem and some *Corresponding Author cases where the problem can be solved in polynomial time [8]. They also introduce some approximation methods for the maximum cut problem, both with and without guarantees.
In all references mentioned, the topological properties of a given graph did not play an essential role in proofs or in solving the maximum cut problem. Differently from the investigations mentioned above, to solve the maximum cut problem, some polynomial time algorithms have been developed based on topological properties of given graphs such as planar graphs [9,10], weakly bipartite graphs with non-negative edge weights [11], graphs without K 5 minors [12]. The problem is solved using a linear time algorithm for seriesparallel graph [13].
For definitions used in the paper, we refer readers to [14,15]. Following the success of the theory of polymatroids in solving difficult combinatorial problems, we apply a polymatroid approach to the maximum cut problem. Section 2 contains necessary notations and definitions in the theory of polymatroids used throughout the paper. In Section 3, we present the maximum cut problem as a maximization of a simple non-smooth function over a special polytope P (f ) called a polymatroid [14,16] associated with the submodular function f (S) defined on subset S of V of a given graph G = (V, E). This model includes variables for each node in V . The convexity of the objective function implies that an optimal solution to the maximum cut problem is among extreme points (bases) of the polytope (polymatroid) P (f ) [17].
It is well known that the greedy algorithm defines bases of P (f ) according to different linear ordering of vertices, in polynomial time (see [14,16]). One might say that for each maximum cut problem, an optimal linear ordering of vertices has to be chosen such that an optimal base of P (f ) (an optimal solution) can be defined by the greedy algorithm in polynomial time. Hardness of the maximum cut problem implies that an optimal linear ordering cannot be defined in polynomial time. In [18], Sharifov proposes a O(mn 2 ) time algorithm which defines different linear ordering and related bases of P (f ) based on the topological properties of a given graph. We show that a solution to the maximum cut problem with the approximation ratio 0, 75λ can be defined in O(mn 2 ) time by this algorithm, where λ ≤ 1.3 is some positive number and m = |E|, n = |V |. In Section 4, we present a new model of the maximum cut problem in terms of flows with respect to a base of P (f ). This model is used in the proof of new necessary and sufficient conditions for optimality of a base of P (f ).

Basic notions and preliminary results
Consider an undirected graph G = (V, E) with non-negative weights c e ≥ 0 on the edges e ∈ E. We assume that G is a graph without loops and parallel edges. An edge with endpoints v and u is denoted by (v, u) and uv denotes the arc whose tail is v, and head is u. We use S = V \ S for S ⊆ V and S + v for S ∪ {v} when v / ∈ S, and S − v for S \ {v} when v ∈ S. Let γ(S) and κ(S) denote the subsets of edges having at least one of endpoints in S ⊆ V and both endpoints in S ⊆ V , respectively. Consider functions f (S) = (c e : e ∈ γ(S)) g(S) = (c e : e ∈ κ(S)).
Obviously f (S) and g(S) are monotone functions by definitions, moreover, it is well known that f is submodular, i.e., and g is supermodular, i.e., for any S, T ⊆ V [16]. The cut given by a subset S ⊂ V is denoted by δ(S). We will use c(E) for e∈E c e , and c(δ(S)) for (c ij ; (i, j) ∈ E, i ∈ S, j ∈ S). The vector d = (d v = c(δ(v)); v ∈ V ) is called the weighted degree vector of the graph G. From the definition of the sets γ(S) and κ(S) it follows that for the cut δ(S) given by any S ⊂ V . Clearly, f (S) − g(S) is a submodular function.
The following two sets of vectors in R V associated with the functions f and g are called polymatroid and superpolymatroid [14], respectively: The following polytope associated with the function f − g is called extended polymatroid [14]: Vectors x ∈ P (f ) and y ∈ Q(g) are called bases of the polymatroid and the superpolymatroid if , respectively. Note that, for any bases x ∈ P (f ) and y ∈ Q(g), Let x L ∈ P (f ) and y L ∈ Q(g) be bases computed by the greedy algorithm in [18] with respect to any linear ordering L of the vertices. The first observation is that the difference w L = x L − y L of the bases x L and y L is a base of EP (f − g) which can also be found by the greedy algorithm with respect to the linear ordering L of the vertices. In what follows, we will write x, y and w instead of x L , y L and w L , respectively. We write v ≺ L u if v precedes u in the linear ordering L of the vertices. According to the linear ordering L of vertices, one can orient the edges of the graph G = (V, E) in such a way that the resulting digraph G = (V, A) is an acyclic oriented graph. This requires each edge (v, u) to be replaced by an arc vu if v ≺ L u or an arc uv if u ≺ L v. The opposite is also true; each acyclic orientation of the edges of the graph G = (V, E) defines a linear ordering L of its vertices. In an acyclic oriented graph G = (V, A) with weights c vw on arcs, let δ + (v) be the set of arcs entering to node v, and let δ − (v) be the set of arcs leaving from node v.
Our key observation is that the bases x ∈ P (f ) and y ∈ Q(g) satisfy the equalities In other words, x v is the sum of weights on the leaving arcs from the node v, and y v is the sum of weights on the entering arc to the node v.
All the above equalities are satisfied by any bases of x ∈ P (f ) and y ∈ Q(g) which are computed with respect to any linear ordering of the vertices in any graph. Their proof immediately follows from the greedy algorithm formula for computing bases of P (f ) and Q(g) with respect to a given linear ordering of the vertices. So, we can state the following claims.
Claim 1. Let x ∈ P (f ) and y ∈ Q(g) be any bases computed by the greedy algorithm developed in [18] with respect to any linear ordering L of the vertices, then for which the following the zero sum equality in the graph, obtained by orientation of the edges G = (V, E) according to the linear ordering L, then . Besides, w(V ) = 0 can be written as the zero sum equality by performing algebraic operations. Therefore, x − y = w is a base of EP (f − g).

Claim 2. For a given linear ordering
Proof. For L i = {v 1 , ...v i } and i = 1, ..., n, by the greedy formula , we obtain the bases y and w in O(m) time with respect to the linear order L.
We make the following useful observation whose proof immediately follows from equalities (1) and (2), for two graphs obtained after the orientation of the edges in G with respect to linear orderings Claim 3. If the greedy algorithm defines the bases x 1 ∈ P (f ) and x 2 ∈ P (f ) with respect to the L and I, respectively, then Proof. Consider two acyclic oriented graphs G(L) and G(I) obtained after replacing edges in E by arc according to L and I, as above.
If v ≺ L u, then an edge (v, u) corresponds to arc vu in G(L) and arc uv in G(I). Let x 1 v and v be bases defined by the greedy algorithm [18] with respect to L, that is, equalities (1) and (2) hold for x 1 v and y 1 v with respect to G(L). Let x 2 v and y 2 v = d v − x 1 v be bases defined by the greedy algorithm with respect to I. Since an edge (v, u) corresponds to arc vu in G(L) and arc uv in G(I), then x 1 defined by (1) for G(L) is y 2 for G(I) and y 1 defined by (2) for G(L) is x 2 for G(I). By Claim 1, x 1 , x 2 ∈ Q(g).
The greedy algorithm [18] defines the following bases with respect to the linear order L = (W, U ) for a bipartite graph H = (W, U, A): is equal to the double weight of the maximum cut separating the sets W and U , in the bipartite graph H = (W, U, A). To the best of our knowledge, there is no an algorithm to define a linear ordering L of vertices for non-bipartite graph in order to determine a maximum cut. Our goal in the next sections is to develop some new ideas for finding maximum cut in a non-bipartite graph G = (V, E).

Models with convex objective function
The maximum cut problem of a graph G = (V, E) is to find the set of vertices S that maximizes the weight of the edges in the cut (S, S), i.e., the weight of the edges with one end node in S and the other in S. In this section, we propose an alternative formulation for the maximum cut problem. First, the relationship between cuts and bases of the polymatroids P (f ) is established. In a linear ordering L of vertices, if v ≺ L u for any vertices v and u such that v ∈ S ⊂ V and u ∈ S, we write it as L = (S, S) for short.
Theorem 1. The double weight of a cut δ(S) separating sets S and S is equal to where bases x L ∈ P (f ) and y L ∈ Q(g) are computed by the greedy algorithm with respect to the linear ordering L = (S, S) of vertices in V .
Proof. Consider the linear ordering L = (S, S) of the vertices in V , that is, v ≺ L u for any node v ∈ S and u ∈ S, and let x L ∈ P (f ) and y L = d − x L . According to the linear ordering L, we can direct each edge (v, u) of the graph as arc vu, if v ≺ L u or as uv if u ≺ L v. Then all edges in E will be directed as arcs v 1 v 2 , if v 1 ≺ L v 2 for vertices v 1 , v 2 ∈ S, as arcs u 1 u 2 if u 1 ≺ L u 2 for vertices u 1 , u 2 ∈ S and as arcs vu, where v ∈ S and u ∈ S. Clearly, after deleting the arcs v 1 v 2 with end nodes v 1 , v 2 ∈ S and the arcs u 1 u 2 with end nodes u 1 , u 2 ∈ S, in G, the resulting subgraph is a bipartite subgraph H = (S, S, A) (S ⊂ V and A ⊆ E). With respect to H, one can define the functions f 0 and g 0 , also the matroids P (f 0 ), Q(g 0 ) and E(f 0 − g 0 ). Consider the bases h ∈ P (f 0 ) and t ∈ Q(g 0 ) defined by the greedy algorithm with respect to L, i.e., Since h is defined with respect to L and t Therefore, Thus, H is a maximum bipartite subgraph (the sum of weights on its edges is maximum) of G, if the last sum is maximum for the bases x L and y L .
Since f is a monotone submodular function, the convex hull of bases P (f ) is the following polytope [14] B We recall that x + y = d (Claim 1) for the bases x and y generated by the greedy algorithm with respect to any linear ordering L of vertices. Thus, We now present our original formulation of the problem. By Theorem 1, the maximum cut problem can be formulated as the following special convex program; subject to x ∈ B(f ).
In what follows, we propose further formulations for the max-cut problem. To this end, we first state the following lemma. Let for any base x ∈ B(f ).

Lemma 1. For any base x ∈ B(f )
Proof. From the equality By Lemma 1, where x * is an optimal solution to the problem (5)- (6).
can be defined with respect to each base x ∈ B(f ). By the equality Cut(x) = 2f + (x), the following problem is equivalent to the maximum cut problem (5)- (6). In addition to the above models, by the equality (7) is also equivalent to the maximum cut problem (5)- (6). The problem in the right hand side of equality (7) can be considered as dual of the problem (5)- (6). We note that z = 2x − d = x − y for x ∈ B(f ) and y = d − x. We can also define the vector It is easy to show that the following problem is equivalent to the above dual problem (7). Thus, the latter problem can be considered as another dual problem of the problem (5)-(6). Moreover, Lemma 1 says that to solve the maximum cut problem on a given undirected graph, one can find a base z ∈ EP (f − g)} for which either z + (V ) is maximum or z − (V ) is minimum. It is well known that the latter problem is used essentially to design polynomial algorithms for minimizing a submodular function. For more details, the reader can refer to [16].
The above models are also useful for solving the maximum cut problem.
For example, since the algorithm in [18] defines O(n) bases of B(f ) in O(mn 2 ) time, we can apply it to handle different bases and related strings Cut(x), V + (x), V − (x). Let LIST (Cuts) contains strings Cut(x), V + (x), V − (x) for each these bases.
Theorem 2. In LIST (Cuts), if there are strings for some pair of different bases x * , x ∈ B(f ) such that Proof. If LIST (Cuts) contains the string for base x, then Claim 3 implies that x(V + ) = f (V + ) and y(V − ) = f (V − ). Let LIST (Cuts) contains the string for the base x * , too. Then To define Cut(x), the algorithm in [18] chooses a node w = s for which 2x w − d w ≥ 2x v − d v > 0 for v / ∈ V + , and sets V + := V + + w, where V + := s at the beginning of the algorithm, and V − = V \ V + . This implies that Cut(x)/2 ≥ c(E)/2. Thus, which completes the proof of the theorem.
In LIST (Cuts), let Cut(x * ) = max{Cut(x); Cut(x) ∈ LIST (Cuts)}, and let x(V + ) + y(V − ) be minimum for a base x (y = d−x). In other words, Theorem 2 states that Cut(x * ) is a solution to the maximum cut problem with the approximation ratio at least 0.75. In this case, clearly the graph G has a cut with value at least 3/4c(E). If the graph G does not have a cut with value 3/4c(E), then Theorem 2 is not true. In this case, we define λ from the equality Clearly, λ is a positive number and λ ≤ 1.3. By the proof of Theorem 2, it can be shown that So, the graph G has a cut with value at least 3/4λc(E). In this case, the algorithm in [18] defines a solution to the maximum cut with the approximation ratio at least 0.75λ for some positive number λ < 1. As a conclusion of this section, we note that simplicity of the algorithm in [18] allows to solve real practical large problems effectively by Theorem 2. In future, we plan to do some investigations in this direction.

Maximum flow model
Now, we formulate the maximum cut problem by another model. Let x ∈ B(f ) be a base generated by the greedy algorithm with respect to a linear ordering L of vertices in V and let We consider an acyclic oriented graph G = (V, A) obtained after replacing all edges by arcs according to the linear ordering of L. The capacity on each arc vu equals to the given weight of the edge (v, u) ∈ E. We add two new vertices, a source s and a sink r, to the graph G = (V, E). For each vertex v ∈ V + and w ∈ V − , we add arcs sv and wr with capacity z v and |z w | to the graph G = (V, E), respectively. In the resulting network G z = (V z , E z ), let δ + (S) denote the set of entering arcs to the vertices S ⊂ V z and δ − (S) denote the set of leaving arcs from the vertices of the subset S. Recall that the capacity of the cut separating a subset of S is defined as the sum of the flows on the leaving arcs entering to vertices v ∈ S minus the sums of the flows on the entering arcs to vertex v ∈ S. A cut with a minimum capacity is called a minimum cut.
Theorem 3. In the network G z = (V z , E z ), any maximum s − r flow (source s, and sink r) saturates all arcs, i.e., on all arcs vu with end node v, u ∈ V , the value of the maximum flow equals to c vu , and on all arcs sv and rw, the value of the maximum flow equals to z v and |z w |, respectively.
Proof. Let x be a base generated by the linear ordering of L and y = d − x. From the definitions of the capacity of arcs sv and rw, it follows that c(δ + (v)) = c(δ − (v)) in the network G z . This means that the sums of capacities of arcs in the sets δ + (v) and δ − (v) are the same for each vertex v ∈ V . Therefore, to maintain a balance between leaving and entering flows for each vertex v ∈ V , the value of the maximum flow on arcs of the acyclic oriented graph G = (V, A) must be equal to its capacity. In addition, since it follows that z v and |z w | are the maximum flow values on the arcs sv and rw, respectively.
By Theorem 3, since the value of the flow on all arcs is equal to its capacity, that is, any cut separating the source s and the sink r are the minimum cut in the network G z = (V z , E z ). Thus, we obtain that f + (x) is the value of the maximum flow from the source s to the sink r in the constructed network G z = (V z , E z ) according to the base z = 2x − d ∈ EP (f − g). So, Theorem 3 implies that to solve the maximum cut problem on a given undirected graph G = (V, E), it needs to find a base z ∈ EP (f − g) such that the capacity of any minimum cut separating the source and sink is maximum in the constructed network G z = (V z , E z ). Such a model of the maximum cut problem can have applications for transportation of natural products from time to time in different directions through pipelines of the transport network. Definition 1. Let G z = (V z , E z ) be a network constructed for the base z = 2x − d ∈ EP (f − g). The flow on each arc vw is called transit, if vertices v, w are either in V + (x) or in V − (x).
is an optimal solution to the problem (5)- (6) if and only if a maximum flow from source to sink has a minimum sum of transit flows in the network G z = (V z , E z ) constructed for the base z.
Proof. Let x be the base generated by the linear ordering of L and the network G z constructed for z = 2x − d contains the minimum sum of transit flows on the arcs vw. By definition of a cut in the graph G with respect to the bases x and y = d − x, if v, w ∈ V + (x), then y(V + (x)) if v, w ∈ V + (x), then x(V − (x)) are the total number of transit flows on the arcs vw. Therefore, from the dual equality (7), we obtain that δ(V + (x)) is a maximal cut in the graph G. If we consider that y(V + (x))+x(V − (x)) is the sum of the transit flows in the network G z constructed for arbitrary bases z = 2x − d and x ∈ B(f ), then the opposite also follows from the dual equality (7).
In other words, Theorem 4 states that if the minimum number of variables satisfies inequalities 0 < x v < d v in solving the problem (5)-(6), then a definite cut for x v is maximal in the graph G. It is relatively difficult to design an effective algorithm based on this theorem. At a first glance, one might think that the network G z = (V z , E z ) should not contain much more transit flows if x(V + (x)) = y(V − (x)). However, the situation is very complicated, since it is easy to design some small maximum cut problems for which this is not true. Indeed, this theorem states some connection between the maximum independent set and the maximum cut problems, that require new investigations on network flow problems.

Concluding remarks
The value of applications of the theory of polymatroids ensures that the optimal solution of many combinatorial optimization problems can be found in polynomial time bounded algorithms. For example, the vector z ∈ P (f ) maximizes cz in polynomial time for the monotonic submodular function f . A deep understanding of this theory makes it possible to use known methods developed for solving the network flows, as a solver of subtasks enumerating in solving optimization problems with a nonlinear objective function over polymatroids structures (see [14]). Considering topological properties of graphs under consideration in solving combinatorial problems over polymatroids leads to a polynomial algorithm as a solver for the maximum cut problem. In [10], topological properties of planar graphs namely the geometric duality is used to develop a polynomial time bounded for finding a maximal cut of these graphs. Since we do not know about unambiguous connections between N P and P , it is difficult to come up with a polynomial time bounded algorithm for solving (5)-(6), only using the above described and other specifics of the problem. But, with respect to the specifics of the objective function (5) and constraints (6), we hope that the next two weaker questions can be solved by a polynomial time algorithm.
(1) Is it possible to design greedy type algorithm by using the subgradient of the objective function at a current point (base) x to compute the next point x k such that (5) will be strongly increased? (2) How topological properties of a given graph and the techniques described in the paper could be combined for finding an exact upper bound of the objective function (5)? Based on positive answers to these two questions a polynomial time algorithm can be developed for finding an optimal solution to (5)-(6) on graphs with unit edge weights and as a result, we could get N P = P .