【问题标题】:Subset-sum prob. (congruence variation)子集和概率。 (全等变化)
【发布时间】:2018-01-29 09:17:34
【问题描述】:

我想知道 Subset-sub 问题的变体的 NP 完全性:

子集和问题: 给定一组整数和一个整数 s,是否有任何非空子集和 s?

这个问题已知是 NP 并且是 NP 完全的。现在考虑变化:

子集和问题(同余变化): 给定两个整数 s 和 m 以及一组以 m 为模的整数,是否有任何非空子集和 s mod m?

(即,集合中的所有数字都是模 m,并且预期的和 s 也是模 m)。

我想知道以前是否研究过这个问题? (想知道它是否是NP完全的)。有谁知道 Subset-sum 问题是否有任何论文或类似的变体?谢谢!

【问题讨论】:

    标签: algorithm complexity-theory number-theory np-complete subset-sum


    【解决方案1】:

    是的,这个问题也是 NP 完全的。由于正常的子集和是 NP 完全的,因此其他一些 NP 完全问题可以简化为子集和。

    如果您可以另外生成一个足够大的模数,并且其大小是输入大小的多项式,那么同样的归约也可以证明模子集和是 NP 完备的。模只需大于子集和解中使用的最大数,然后子集和与模子集和之间的差异无关紧要。

    对于我能想到的任何缩减,很容易生成这样的模数。请记住,只有模数的 size 必须是输入大小中的多项式,所以说 100^(N^2) 可以正常工作——它只有 2*(N^2)数字长。

    【讨论】:

    • 取模数为一加集合中元素的绝对值之和显然有效。为了完整性:为了证明问题是 NP 完全的,除了显示一个 NP 问题归约到它之外,您还必须证明它是 NP,尽管使用 NP 的验证器定义很明显。
    • @PaulHankin 哈哈,是的。将模数设为 total+1 是对常规子集总和的减少,并且比我给出的答案要简单得多。
    猜你喜欢
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多