我们能否从NP问题之间的Cook缩减中构造Karp缩减?
关于Cook和Karp约简的关系,我们有几个问题。显然,Cook约简(多项式时间Turing约简)与通常使用的Karp约简(多项式时间多一归约)没有定义相同的NP完整性概念。特别是,即使P NP ,Cook还原也无法将NP与co-NP分开。因此,我们不应该在典型的归约证明中使用Cook归约法。≠≠\neq 现在,学生们发现了一个经过同行评审的作品[1],该作品使用Cook归约法来表明问题是NP难题。我没有给他们从那里得到的减少的满分,但是我想知道。 因为库克还原法确实定义了与Karp还原法相似的硬度概念,所以我认为它们应该能够将N从NPC中分离出来。共同NPC,假设P NP。特别地,(类似)以下应为真:≠≠\neq L1∈NP,L2∈NPCKarp,L2≤CookL1⟹L1∈NPCKarpL1∈NP,L2∈NPCKarp,L2≤CookL1⟹L1∈NPCKarp\qquad\displaystyle L_1 \in \mathrm{NP}, L_2 \in \mathrm{NPC}_{\mathrm{Karp}}, L_2 \leq_{\mathrm{Cook}} L_1 \implies L_1 \in \mathrm{NPC}_{\mathrm{Karp}}。 重要的点是要避免上述不敏感的L1∈NPL1∈NPL_1 \in \mathrm{NP}。现在,根据NPC的定义,我们“知道” L2≤KarpL1L2≤KarpL1L_2 \leq_{\mathrm{Karp}} L_1。 正如Vor所指出的那样,这并不是那么容易(适应符号): 假设L1∈NPCCookL1∈NPCCookL_1 \in \mathrm{NPC}_{\mathrm{Cook}},然后根据定义,所有语言L2∈NPCKarp⊆NPL2∈NPCKarp⊆NPL_2 \in \mathrm{NPC}_{\mathrm{Karp}} \subseteq \mathrm{NP}我们有L2≤CookL1L2≤CookL1L_2 \leq_{\mathrm{Cook}} L_1;如果上述含义正确,则L1∈NPCKarpL1∈NPCKarpL_1 \in \mathrm{NPC}_{\mathrm{Karp}},因此NPCKarp=NPCCookNPCKarp=NPCCook\mathrm{NPC}_{\mathrm{Karp}} = \mathrm{NPC}_{\mathrm{Cook}}仍然是一个悬而未决的问题。 两个NPC之间可能存在其他差异,但共同NP。 如果没有,是否有任何已知的(非平凡的)判据可用于进行库克归约时隐含Karp-NP硬度,即我们是否知道谓词具有PPP L2∈NPCKarp,L2≤CookL1,P(L1,L2)⟹L1∈NPCKarpL2∈NPCKarp,L2≤CookL1,P(L1,L2)⟹L1∈NPCKarp\qquad\displaystyle L_2 \in \mathrm{NPC}_{\mathrm{Karp}}, L_2 \leq_{\mathrm{Cook}} L_1, P(L_1,L_2) …