子集大小为`k`的子集和是NPC?
Subset sum where the size of the subset is `k` is NPC?
我有一个 Subset-Sum problem 的变体,其中子集的大小是 k
并且所有整数都是正数(不是零)。
网上看到的,这道题用伪多项式时间的动态规划可以很好的解决
我需要确定这个问题是 NPC
,还是 P
(假设 P!=NP
)。
我试图从子集求和问题中归约,但遇到了所有整数必须大于零的约束问题。否则我会用 k
零整数填充输入。
问题的正式定义:
L={<S1,S2,...,Sn,T,k>|There exists a subset I of S1,...,Sn of size m which sums up to T}
问题出在NPC
如果您能找到问题的多项式时间解决方案,那么您就可以找到具有上限的子集和问题的多项式时间解决方案
子集总和的时间 = k *(你的问题的时间)
那个问题是NPC。事实上,当k在n1-Ω(1)时,甚至
的组合
数都在nO(k)
与
promise that there is at most one solution
不怀疑放在 coNTIME(n^(o(k))) / 2o(k*n*log(n)) infinitely-often,
因为 this paper's Proof of Theorem 5.1 减少了
适用于这样的 k 并保留解决方案的数量。
我有一个 Subset-Sum problem 的变体,其中子集的大小是 k
并且所有整数都是正数(不是零)。
网上看到的,这道题用伪多项式时间的动态规划可以很好的解决
我需要确定这个问题是 NPC
,还是 P
(假设 P!=NP
)。
我试图从子集求和问题中归约,但遇到了所有整数必须大于零的约束问题。否则我会用 k
零整数填充输入。
问题的正式定义:
L={<S1,S2,...,Sn,T,k>|There exists a subset I of S1,...,Sn of size m which sums up to T}
问题出在NPC
如果您能找到问题的多项式时间解决方案,那么您就可以找到具有上限的子集和问题的多项式时间解决方案 子集总和的时间 = k *(你的问题的时间)
那个问题是NPC。事实上,当k在n1-Ω(1)时,甚至
的组合数都在nO(k)
与
promise that there is at most one solution
不怀疑放在 coNTIME(n^(o(k))) / 2o(k*n*log(n)) infinitely-often,
因为 this paper's Proof of Theorem 5.1 减少了
适用于这样的 k 并保留解决方案的数量。