将整数分解问题简化为NP完全问题


17

我正在努力理解NP-Intermediate和NP-Complete之间的关系。我知道,如果根据拉德纳定理P!= NP,则存在一类NP语言,但不存在P或NP-Complete语言。NP中的每个问题都可以简化为NP完全问题,但是我还没有看到任何将可疑的NPI问题(例如整数分解)简化为NP完全问题的示例。有谁知道这个或其他NPI-> NPC减少的任何示例吗?


4
通过NP完全性的定义,NP中的任何问题都可以简化为NP完全性问题。特别是,库克定理表明SAT是NP完全的,因此“显式”给出了这种简化。
Yuval Filmus 2013年

1
@YuvalFilmus我知道存在一种形式化的方法,但是我正在寻找一种更具体的算法方法,例如将哈密顿循环问题简化为旅行商问题。您可以将所有边缘权重设置为1,然后在图形上运行TSP,并检查行进距离是否大于| E |。我想是这样的。
内森·乔丹

Answers:


11

例如,对SAT的分解有一个简洁的经典还原,它也是假定的“硬” SAT实例的来源。基本上,人们将EE想法用于编码成SAT电路的二进制乘法。将二进制乘法视为一系列左移被乘数的加法运算,每个乘数被掩码“与”(与)。可以通过二进制加法电路执行加法运算,该二进制加法电路是一系列全加法器。

有才华的大学生可以构建此算法。我不知道它在文献中最初提出或实现的地方。我希望听到任何参考。

参见例如,“ 满足此要求:尝试使用Stefan Schoenmackers和Anna Cavender的“满足性求解器”解决素因数分解的尝试,详细说明了这一点。同样在90年代末开始的DIMACS SAT挑战也有一些研究人员生成的分解实例,但在那个时代,该算法可能没有单独写在论文中。


1
仅供参考,现在禁止纸质链接403
vzn

2
关于第二段:库克定理表明,NP中的任何问题都可以简化为SAT。
Yuval Filmus 2013年

1
是的,Cook证明是一般的理论存在证明,并且在NP完全问题之间通常会构造更多的直接/专业转换/算法(通常具有更好的“开销”)。是指后者。
vzn 2013年

11

完全清楚地说,整数分解不被认为是NP中间的,只是被怀疑是基于缺乏NP完整性证明或多项式时间算法(尽管两者都有很多工作)。如果P和NP不同,我不知道任何自然问题(即Ladner并未提出证明)肯定是NP中间问题。

好的,在免责声明之后,图同构是自然NP中间问题的另一个可能的候选者。从它到子图同构有一个简单的多项式时间约简-保持图不变!图同构只是子图同构的特例,其中两个图的大小相同。最后一点是Subgraph同构 NP完全的。

除此之外,当然总会有库克-莱文定理所承诺的非信息性约简 ,我们知道任何NP中间问题都具有确定性的非确定性多项式时间图灵机,我们可以将其转换为SAT实例(只需构建TM!)。

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.