- Partition problem
In
computer science , the partition problem is anNP-complete problem. The problem is to decide whether a givenmultiset of integers can be partitioned into two "halves" that have the same sum. More precisely, given a multiset "S" of integers, is there a way to partition "S" into two subsets "S"1 and "S"2 such that the sum of the numbers in "S"1 equals the sum of the numbers in "S"2? The subsets "S"1 and "S"2 must form a partition in the sense that they are disjoint and they cover "S".The partition problem is equivalent to the following special case of the
subset sum problem : given a set "S" of integers, is there a subset "S"1 of "S" that sums to exactly "t" /2 where "t" is the sum of all elements of "S"? (The equivalence can be seen by defining "S"2 to be the difference "S" − "S"1.) Therefore, thepseudo-polynomial time dynamic programming solution to subset sum applies to the partition problem as well.A variation of the partition problem is the
3-partition problem , in which the set "S" must be partitioned into |"S"|/3 triples each with the same sum. In contrast to partition, 3-partition has no pseudo-polynomial time algorithm unlessP = NP : 3-partition remains NP-complete even when usingunary coding .See also
*
Subset sum problem
*Bin packing problem References
* [http://www.americanscientist.org/issues/pub/2002/3/the-easiest-hard-problem The Easiest Hard Problem] - article in
American Scientist by Brian Hayes.
* [http://arxiv.org/pdf/cond-mat/0310317 The Easiest Hard Problem: Number Partitioning] by Stephan Mertens 2003
Wikimedia Foundation. 2010.