子集相等问题:给定一组非负整数值S ,问题在于确定是否存在将组S分为两个集合X和Y的划分,这样X中的整数和等于X的和。 Y中的整数。
说明:
问题的一个实例是为问题指定的输入。子集相等问题的一个实例是集合S。由于NP-Complete问题是NP和NP-hard都存在的问题,因此证明问题为NP-Complete的陈述的证明包括两部分:
- The problem itself is in NP class.
- All other problems in NP class can be polynomial-time reducible to that.(B is polynomial-time reducible to C is denoted as B ≤ PC)
如果仅满足第二个条件,则该问题称为NP-Hard 。
但是不可能始终将每个NP问题都简化为另一个NP问题以显示其NP完整性。因此,为了显示一个问题是NP完全,然后证明,这个问题是在NP和任何NP完全问题是还原到即如果B是NP完全和B≤P C,则对于C在NP,则C是NP-Complete。因此,可以得出结论,使用以下两个命题,子集相等问题是NP-完全的:
- 子集相等性在NP中
- 子集相等是NP-Hard
这两个命题可以证明为:子集相等问题是子集和问题的特例,其中子集X和Y在S中的每个分区的总和可以设置为:
由于子集和为NP-Complete ,因此子集相等问题也变为NP-Complete 。