机套的以下变化称为什么?
给定集合S,S的子集和正整数K的集合C,C中是否存在K个集合,使得S的每一对元素都位于所选子集中的一个子集中。
注意:不难看出这个问题是NP完全的:给定正常的集合覆盖问题(S,C,K),请制作S的三个副本,例如S',S''和S''',然后将您的子集创建为S''',| S | 形式为{a'} U {x in S''|的子集| x!= a} U {a'''},| S | 形式为{a''} U {x在S'| |中的子集 x!= a} U {a'''},{a',a''| C_i}中的一个}。然后我们可以用K个子集解决集合覆盖问题,前提是我们可以用K +1 + 2 | S |解决对覆盖问题。子集。
这一般可扩展为三倍,依此类推。我希望不能浪费半页来证明这一点,而且可能还不够明显,以至于认为它是微不足道的。有人证明它肯定是有用的,但我不知道是谁或在哪里。
另外,是否有很好的地方可以找到Garey和Johnson所没有的NP-Completeness结果?