有什么常用技术可以减少彼此的问题?


40

在可计算性和复杂性理论(可能还有其他领域)中,减少是无处不在的。有很多种类,但是原理保持不变:通过将实例映射到L_1中与解决方案等效的实例,可以证明一个问题至少与其他问题一样困难。本质上,我们表明,如果允许L_1的任何求解器使用归约函数作为预处理器,它也可以求解L_2L 2 L 2L1L2L2L 1 L 2L1L1L2

这些年来,我已经完成了减少的份额,有些事情困扰着我。尽管每个新的减少都需要(或多或少)创造性的构造,但任务可能会让人感到重复。是否有规范的方法库?

人们可以定期采用哪些技术,模式和技巧来构造归约函数?

这应该成为参考问题。因此,请谨慎给出一般的,有说服力的答案,至少由一个例子说明了这一点,但仍然涵盖了许多情况。谢谢!


有关寻找合适的合作伙伴的一些想法和减少想法的信息,请参见此处
拉斐尔

Answers:


18

特例

假设我们要针对约简R的概念显示L_1 \ leq_R L_2。如果L_1是一个特例L_2,那是相当的简单:我们基本上可以使用标识功能。这背后的直觉很明显:一般情况至少与特殊情况一样困难。L1RL2RL1L2

在“实践”中,我们被赋予,并被困在选择一个好的还原伙伴的问题上,即找到一个已证明是 hard 的的特例。L 1 L 2 RL2L1L2R

简单的例子

假设我们想证明KNAPSACK是NP困难的。幸运的是,我们知道SUBSET-SUM是NP完整的,的确是KNAPSACK的特例。减少

f(A,k)=(A,(1,,1),k,|A|)

足够 是KNAPSACK实例,它询问我们是否可以用项目值获得至少值,以使的相应权重总计始终低于。我们不需要权重限制来模拟SUBSET-SUM,因此只需将它们设置为重言式值即可。v V W w(V,W,v,w)vVWw

简单运动问题

考虑一下MAX-3SAT问题:给定命题公式和整数,确定是否存在的解释至少满足子句。证明它是NP难的。ķ φ ķφkφk

3SAT是一种特例;其中的子句数。φf(φ)=(φ,m)mφ

假设我们正在调查SUBSET-SUM问题,并想证明它是NP困难的。

我们很幸运,并且知道PARTITION问题是NP完全的。我们确认这确实是SUBSET-SUM的特例,并制定

f(A)={(A,12aAa),aAamod2=0(A,1+aA|a|),else

其中是PARTITION的输入集,而是SUBSET-SUM的实例,该实例要求的子集求和为。在这里,我们必须注意没有拟合;在这种情况下,我们给出一个不可行的实例。A k A k kA(A,k)Akk

运动问题

考虑的问题最长路径:给定一个有向图,节点的和整数,决定是否有从一个简单的路径到在至少长度的。š ģ ķ 小号ģ ķGs,tGkstGk

证明LONGEST-PATH是NP-hard。

HAMILTON-CYCLE是一个众所周知的NP完全问题,是LONGEST-PATH的特例。为任意节点在就足够了。 请特别注意从HAMILTON-PATH进行还原需要更多的工作。v Gf(G)=(G,v,v,n)vG


2
这是一个称为旅行购买者问题(TPP)的示例,它的特殊情况有很多难题。
Juho 2013年

可计算性的另一个例子是特殊的停止问题(通常直接证明无法确定),这是一般的停止问题的特殊情况。
拉斐尔

KNAPSACK确实是从SUBSET-SUM还原的正确方法吗?KNAPSACK要求值,SUBSET-SUM要求精确值,不是吗?例如,SUBSET-SUM实例将是一个'no'实例(我不能仅从值为5的一项中确切得到4),但是您将KNAPSACK减少后,该值将减少为和,所以在那里是'yes'实例...还是我错过了什么?{ 5 } 4 { 5 } { 1 } 4 1 5 > 4>=v{5},4{5},{1},4,15>4
约翰尼

15

利用附近的已知问题

当遇到难以解决的问题时,尝试寻找已经被证明很难的类似问题通常是一个好主意。或者,也许您可​​以立即看到问题与已知问题非常相似。

示例问题

考虑一个问题

DOUBLE-SAT={φφ is a boolean formula with at least 2 satisfying assignments }

我们希望显示的是完整。我们很快注意到,这非常接近我们已经知道很难解决的问题,即可满足性问题(SAT)NP

的成员资格很容易显示。证书是两个分配。显然,可以在多项式时间内检查分配是否满足公式。NP

SAT φ v v ¬ v φ v = v = φ φ vNP硬度来自的减少。给定公式,我们通过引入新变量对其进行修改。我们在公式中添加了一个新子句。现在,如果是可满足的,则和都可以满足。因此,具有至少2个令人满意的分配。另一方面,如果不满足,则无论的值如何,它都绝对不能满足。SATφv(v¬v)φv=⊥v=φφv

因此,是 -complete,这就是我们想要显示的。N PDOUBLE-SATNP

寻找附近的问题

减少问题是一种艺术,经常需要经验和独创性。幸运的是,已经知道许多难题Garey和Johnson的《计算机与难处理:NP完整性理论指南》是一本经典的书,其附录列出了许多问题。Google Scholar也是朋友。


6

在可计算性方面,我们经常研究图灵机。也就是说,我们的对象是函数,我们可以访问Gödel编号。太好了,因为只要我们保持可计算性,我们就可以使用输入函数做几乎所有想要的事情。

假设我们要证明是不可决定的。我们的目标是达到厄运的等同L

MKfML

其中停止问题(或任何其他不确定的语言/问题)。K={MM(M) halts}

因此,我们需要提出一个可计算映射以便始终可计算。这是一种等同于厄运的创造性行为。查看一些示例以了解其工作原理:˚F 中号MfMfM

通过选择不可确定语言(如来表示不是可确定语言,同样的工作:¯ ķLK¯


  1. 这就是Gödel编号的来源:我们通常免费获得此映射的可计算性。

-2

它取决于所涉及的复杂性类,一个人是否想从一个给定的减少一个未知的,或未知给定的。常见的情况是证明NP Hard或NP Complete问题。一种常见的技术是在一个域中构造以某种方式运行的“小工具”,以模仿另一个域的行为。例如,将SAT转换为顶点覆盖,可以在顶点覆盖中构造一个与SAT子句类似的“小工具”,例如以下幻灯片所示:NP Krishnamoorthy的完全归约法(还有汉密尔顿路径的一个例子)。B B AABBA

一种有用的策略是从所讨论的复杂性类的问题的大量汇编中进行工作,并找到所研究问题的“表观最近问题”。这些方面的出色参考是《计算机与难处理性》,这是NP完整性理论的指南,Garey和Johnson则按不同的问题类型进行了组织。


2
我想知道您是否注意到问题中的脚注。我认为答案应该更加具体,并说明如何应用特定方法。这似乎很模糊和笼统。作为改进,您如何展示如何构造和使用小工具?
Juho 2013年

2
另外:您可以解释为什么某些情况取决于所涉及的复杂性类别,以及如何如此。另外,如果我想从转到或从转到,该怎么办?那么“最近的问题”呢?您能举两个问题的例子吗?B B AABBA
Juho 2013年

Powerpoint显示了两个使用小工具的示例。最接近问题的一个例子:假设一个人有一个与数论有关的问题。G&J中有一部分与数论有关。等。与NP之外的其他复杂度类别相比,有很多,但是问题列表并不那么详尽或无法轻易获得。所以换句话说,要缩小原始问题,也许应该将其限制在NP的完全减少量...?
vzn 2013年

2
我建议将所有信息添加到答案中,因为注释可能随时被删除。幻灯片的链接明天也可能会中断。我渐渐在与附近的问题:我该怎么办恰好有一次我发现,类似于一个问题(假设我是一个总的初学者)?
Juho
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.