“最小鉴别位”问题NP是否完整?


14

这是我为弥补此问题而取的名字。我之前从未见过它的描述。我还没有找到NP完全性的证明,也没有找到针对这个问题的多项式时间算法。这不是家庭作业问题,而是与我在工作中遇到的问题有关。

最明显的比特

实例:包含位向量的集合T,其中每个位向量正好是N位长。T的每个元素都是唯一的,就像从一组数学中所期望的那样。整数K <N。

问题:是否存在至多K个位位置的集合B(即[0,N-1]范围内的整数),使得当我们从T中的每个向量中删除除B中的所有比特之外的所有其他比特时,其余的较短向量都是还是独特的?

示例1:对于实例N = 5,T = {00010,11010,01101,00011},K = 2,答案是肯定的,因为我们可以选择位位置B = {0,3}。使用以下约定:位位置0在最右边,并且位位置编号从右到左增加,从T叶中的向量T'= {00,10,11,01}中除去除B中的所有位以外的所有位,这些都是独一无二的。

示例2:N = 5,T = {00000,00001,00010,00100},K = 2。答案是否定的,因为无论我们选择哪两个位位置,2位向量中的任何一个都不等于11,因此至少两个2位向量将彼此相等。

当然,我们可以通过枚举大小为K个N位位置的所有(N个选择K个)子集并确定满足条件的子集来解决此问题。但是,这是输入大小的指数。


1
相关:邦迪定理
Aryabhata

Answers:


18

这个问题是NP完全的。基于3-SAT的减少量的证明如下:

nm2n+2m2n+log2(n+m)n+log2(n+m)

前位对应于文字。对于这些位,前行将成对出现,其中第一行的相应子句中包含的每个文字将为,第二行将完全由组成。剩余行也将进来对,其中第一个将具有的用于对应的文字和它的否定,并且其中第二个将完全组成的。最后,最后一个2n{x1,¬x1,x2,¬x2,...,xn,¬xn}2m102n10log2(n+m)这些位将用于以二进制形式写其从到索引的每一对行。0n+m1

为了区分每个“文字”行与其后继,必须保留对应于该文字的位或对应其否定的位。同样,为了区分 “零+索引”行,必须保留所有索引位。因此,可辨别位的最小数量为。最后,为了将每个“子句”行与其后继字符区分开,必须保留与该子句中包含的文字相对应的三位中的至少一位。如果3-SAT实例可以满足要求,那么最后一种情况将不需要任何额外的位(特别是,日志2Ñ + Ñ + 日志2Ñ + X ¬ X Ñ + 日志2Ñ + 2 Ñ + 2 X ¬ X ñn+mlog2(n+m)n+log2(n+m)xi¬xi代表任何); 相反,如果有位在所有位向量之间进行区分,则每个必须精确包含和中的一个,因此对应于一个将真值分配给变量。in+log2(n+m)2n+2mxi¬xiin


谢谢!聪明而直观地看到它保留了肯定的答案(好的,我不得不考虑至少20分钟才能说出来。)
andy_fingerhut 2011年

14

尽管已经提供了NP完全性证明,但可能值得指出的是,该问题与已知的NP完全问题等效,称为最小测试集问题(在Garey和Johnson中,[SP6] 也称为最小测试集合)问题):只是交换职位和职位的角色。


2
啊。好点。
Suresh Venkat

@Tsuyoshi Ito:最小测试收集问题是NP完整的。我对最大最小测试集感到好奇,这有什么复杂性?我的意思是,最小测试集中最大的基数是多少。
张鹏
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.