Set Splitting Problem
   HOME

TheInfoList



OR:

In
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved by ...
, the set splitting problem is the following
decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question of the input values. An example of a decision problem is deciding by means of an algorithm whethe ...
: given a family ''F'' of subsets of a finite set ''S'', decide whether there exists a partition of ''S'' into two subsets ''S1'', ''S2'' such that all elements of ''F'' are split by this partition, i.e., none of the elements of ''F'' is completely in ''S1'' or ''S2''. Set Splitting is one of Garey & Johnson's classical
NP-complete In computational complexity theory, a problem is NP-complete when: # it is a problem for which the correctness of each solution can be verified quickly (namely, in polynomial time) and a brute-force search algorithm can find a solution by tryi ...
problems. The problem is sometimes called hypergraph 2-colorability.


Variants

The optimization version of this problem is called max set splitting and requires finding the partition which maximizes the number of split elements of ''F''. It is an
APX-complete In computational complexity theory, the class APX (an abbreviation of "approximable") is the set of NP optimization problems that allow polynomial-time approximation algorithms with approximation ratio bounded by a constant (or constant-factor ap ...
problem and hence in NPO. The set ''k''-splitting problem is stated as follows: given ''S'', ''F'', and an integer ''k'', does there exist a partition of ''S'' which splits at least ''k'' subsets of ''F''? The original formulation is the restricted case with ''k'' equal to the cardinality of ''F''. The Set ''k''-Splitting is
fixed-parameter tractable In computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according to their inherent difficulty with respect to ''multiple'' parameters of the input or output. T ...
, i.e., if ''k'' taken to be a fixed parameter, rather than a part of the input, then a polynomial algorithm exists for any fixed ''k''. Dehne, Fellows and Rosamond presented an algorithm that solves it in time O(f(k) n^c) for some function ''f'' and constant ''c''. When each element of ''F'' is restricted to be of cardinality exactly ''k'', the decision variant is called E''k''-set splitting and the optimization version max E''k''-set splitting. For ''k'' > 2 the former remains NP complete, and for ''k'' ≥ 2 the latter remains APX complete. For ''k'' ≥ 4, E''k''-Set Splitting is approximation resistant. That is, unless P=NP, there is no polynomial-time (factor)
approximation algorithm In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems (in particular NP-hard problems) with provable guarantees on the distance of the returned solu ...
which does essentially better than a random partition. The weighted set splitting is a variant in which the subsets in ''F'' have weights and the objective is to maximize the total weight of the split subsets.


Connection to other problems

Set splitting is special case of the not-all-equal satisfiability problem without negated variables. Additionally, E''k''-set splitting equals non-monochromatic
graph coloring In graph theory, graph coloring is a special case of graph labeling; it is an assignment of labels traditionally called "colors" to elements of a graph subject to certain constraints. In its simplest form, it is a way of coloring the vertices o ...
of ''k''-uniform
hypergraphs In mathematics, a hypergraph is a generalization of a graph in which an edge can join any number of vertices. In contrast, in an ordinary graph, an edge connects exactly two vertices. Formally, an undirected hypergraph H is a pair H = (X,E) ...
. For ''k''=2, the optimization variant reduces to the well-known maximum cut.


References

{{cite journal , first = Erez , last = Petrank , authorlink = Erez Petrank , title = The Hardness of Approximation: Gap Location , year = 1994 , journal =
Computational Complexity In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) ...
, volume = 4 , issue = 2 , pages = 133–157 , publisher = Springer , doi = 10.1007/BF01202286 , s2cid = 16433553
NP-complete problems