计算理论中的自然问题是什么?


11

在斯蒂芬·库克(Stephen Cook)关于P与NP问题的论文中,[1]他陈述了以下内容[2]:

可行性论文:自然问题具有多项式时间算法,但算法可行。

我的问题是,“一个自然问题” 到底是什么意思(或者一般说来,是什么意思)?谈论自然问题似乎很普通,但是我还没有找到定义。我似乎丢失了一些东西。这是我正在考虑的几个可能的答案:

第一个可能的答案

库克在他的论文中说,必须解释“自然”。他说:“通常,我们不认为具有参数的类是自然的,例如可嵌入k类表面上的图集k > 1。” [3]现在,首先,这似乎是在说什么。 “自然”不是什么,而是什么;但是,如果每个问题都是自然问题还是非自然问题,并且这充分描述了所有非自然问题,那么就足以定义自然问题。(但是限定词“一般”表明这不是对不自然的问题的充分和必要的描述。)

我认为“带参数的类”是指固定参数的可处理性,我们所说的是指可能的输入受到限制从而迫使可行性的问题。因此,如果我们确定背包的重量,我们可以使用多项式时间算法来解决背包问题[4](但通常在多项式时间中没有解决方案)。鉴于此,我认为“自然”意味着问题不受限制(“人为”限制?),从而迫使多项式时间算法脱离了在多项式时间内无法解决的问题。

我不确定这是否是理解库克“自然”概念的正确方法,原因是我不确定“自然”的限定在这里做什么。如果您放弃“自然”,那么您将得到“问题具有可行的算法,前提是它具有多项式时间算法。” 但这似乎是完全合理的:背包问题没有可行的算法,因为它没有多项式时间算法。具有固定参数可伸缩性的背包具有可行的算法,因为它具有多项式时间算法。两种说法似乎都符合可行算法存在问题的概念。

我认为这可能是理解库克含义的最佳指南,因为库克实际上是在转身并对其进行定义。我还认为,这个自然概念是由StackExchange问​​题所捕获的。[5]

但是还有另一个。

第二个可能的答案

威廉·加斯阿奇(William Gasarch)在他的论文“将问题分类为复杂性类别” [6]中说,他将进行“从字面上讨论什么是自然问题” [7]。在本文结尾处,[8]有对话形式的交流,一位发言者说:

“是什么使问题变得自然?一方面,我并不是出于没有进入P的目的而构造问题。因此,这不是愚蠢的问题。然后它上升到自然的程度了吗?”

因此,在我看来,Gasarch所说的是,如果我们遇到的问题不是故意构造的,那么我们可以说它不在P中,那是自然的。因此,通过一些创造性的解释,Gasarch似乎在说至少与库克一致的观点:一方面,Gasarch说没有以不在P中的唯一目标来构建这个问题是不自然的。另一方面,库克说,如果没有参数,问题自然而然。但是仅仅一致性并不能产生定义。

第三个可能的答案

在Wikipedia上有关“适度问题”的条目[9]上,提出了雅克·哈达玛(Jacques Hadamard)关于适度问题的概念的定义,然后指出,适度问题“可能被视为'自然'问题”。因为存在着以这些问题为模型的物理过程。” 因此,只有且仅当它对物理过程建模时,问题才是自然的吗?

根据Wikipedia的说法,Hadamard的资格是(i)存在一个解决方案,(ii)该解决方案是唯一的,并且(iii)该解决方案的行为随初始条件而不断变化。这似乎与其他两个定义不同。我的感觉是,“自然”的使用方式不是完全相同的(特别是如果我们同意这样的解释,即当且仅当它模拟物理过程时才是自然的问题),但我想将其包括在内,因为我遇到了在我对这个问题的研究中,并有一些联系点。

所以我的问题是:什么是自然问题?这些答案中的任何一个或它们的某种组合是否正确?我还有其他答案吗?谢谢。

  1. 《问题陈述》,2006年,在线发表在Clay Mathematics上;标题:“ P与NP问题”,http://www.claymath.org/sites/default/files/pvsnp.pdf
  2. p。3
  3. p。4
  4. https://zh.wikipedia.org/wiki/背包的问题#0.2F1_背包的问题
  5. P中最难知道的自然问题?我认为,自然的问题遵循此描述,但并不将k限制为最大。
  6. https://www.cs.umd.edu/~gasarch/papers/classcomp.pdf
  7. p。2。
  8. p。47-8,第25节
  9. https://zh.wikipedia.org/wiki/摆好姿势的问题

这是我对cstheory stackexchange最喜欢的问题之一。我喜欢认为有多个合理答案。乍一看,您的回答对我来说似乎很合理。:)
Michael Wehar

我们能否举一些自然的众所周知的问题的例子,以及一些非自然的众所周知的问题的例子?此外,自然问题是否具有封闭性质?
Michael Wehar

我认为您的第一个可能答案是一个合理的解释,为什么Cook不会自然考虑参数化问题。但是,他关于参数化问题的评论不应被定义为。实际上,我同意库尔斯没有尝试定义“自然”的想法。
Sasho Nikolov

Answers:


15

需要明确的是,这并不意味着要形式化。这不是一个定理,而是关于世界的观察-如果“自然”在这里是主观的,那也没关系。打个比方,如果有人说“差异是机械,而集成是艺术”,那么他们并没有邀请您将“力学”和“艺术”形式化并证明这一说法,而是试图传达一种普遍的观点。因此,您可能会因为这里的树木而错过森林。[脚注]

作者的观点是什么

让我们按照您的建议,删除“自然”一词:

可行性论文(初稿):问题具有可行算法,前提是它具有多项式时间算法。

好吧,这在技术上是错误的。由于时间层次定理,我们可以在P中构造任意困难的问题(例如,需要时间)。但是这些反例问题是非常奇怪的,自我指涉的,例如“给定的图灵机是否以步长停止给定的输入?”n1000n1000

因此,作者认为,关于我们在现实世界中实际要解决的问题以及在非复杂性理论生活过程中“自然”遇到的其他问题,论文仍然是非常准确的。因此,他认为,让我们将这些问题称为“自然问题”并修改可行性论文。

什么是自然的和不自然的

可以肯定的是,在实践中通常会出现一个问题,这是自然的:最短路径,排序,编辑距离,查找根源,旅行推销员,背包。

可以肯定的是,经过深思熟虑并专门定义以证明复杂性结果并引用特定类的问题是不自然的。例如,“该字符串可以由图灵机在n个时间的k个状态上生成”。

有些事情不太清楚,例如线性编程,但我不会对此太担心。研究大量算法和复杂性问题,看一下您是否同意总体思路,或者是否找到与之相矛盾的示例。

(您认为,无论如何,我认为“状况良好的问题”路线绝对是错误的。)


[脚注]我并不是要阻止您尝试将其正式化,而只是因为以为您打算这样做。


4

大致可以归结为问题定义是否可以是循环的:

  • 人为问题是为了满足其班级标准而设计的。

  • 一个自然的问题并不依赖于其构造方法来满足班级标准。

如果存在NPI,则Ladner的构造被称为NP中间构造。

证明NPI自然问题的任何候选者将证明。PNP

注意:尝试证明这样的候选人的好运;这似乎是一种易于使用的方法,但自然会在证明方面发展出一些障碍

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.