(k,n-k)-Max-Cut: An O∗(2p)-Time Algorithm and a Polynomial Kernel - Saurabh, Saket; Zehavi, Meirav (Algorithmica, 2018)
Max - Cut is a well-known classical NP-hard problem. This problem asks whether the vertex-set of a given graph G = ( V , E ) can be partitioned into two disjoint subsets, A and B , such that there exist at least p edges with one endpoint in A and the other endpoint in B . It is well known that if p ≤ | E | / 2 , the answer is necessarily positive. A widely-studied variant of particular interest to parameterized complexity, called ( k , n - k ) - Max - Cut , restricts the size of the subset A to be exactly k . For the ( k , n - k ) - Max - Cut problem, we obtain an O ∗ ( 2 p ) -time algorithm, improving upon the previous best O ∗ ( 4 p + o ( p ) ) -time algorithm, as well as the first polynomial kernel. Our algorithm relies on a delicate combination of methods and notions, including independent sets, depth-search trees, bounded search trees, dynamic programming and treewidth, while our kernel relies on examination of the closed neighborhood of the neighborhood of a certain independent set of the graph G .