为什么NP只是一组决策问题?

时间:2015-12-15 22:07:46

标签: complexity-theory np

取自维基百科,但我见过的所有辩护都与此类似: “NP是一组决策问题,其中”是“实例可以通过非确定性图灵机在多项式时间内被接受。”

为什么NP仅限于决策问题?是吗?

让我们以子集和为例:

(类型1)决策问题 - A的子集B是否总计为k?

(类型2)“正常”问题 - 总计为k的A的子集B是什么?

我在类型2上写“正常”,因为这就像你解决这个问题时通常做的那样。

我是否正确理解,使用NP的定义,类型1在NP中而类型2不在NP中?

感觉就像有时候非正式地写出“所有 问题 ”,其解决方案可以在多项式时间内进行检查的方式同样有效。“

(我发现了一个类似的问题,但它似乎并没有回答这个问题)

2 个答案:

答案 0 :(得分:1)

你是对的 NP 是一类决策问题(是 - 否答案的问题),所以问题(1)在 NP 和问题(2) )不在 NP 。以这种方式设置 NP 的部分原因是历史性的(形式语言理论涉及关于字符串/自然数是否属于特定集合的问题),其中一部分是为了数学简单(因为这些问题只有是/否答案,你可以将问题作为“是”实例的集合来讨论并对这些集合执行集合理论操作),其中一部分是使某些定义更容易使用(可还原性)例如,从语言的角度来看,它很容易表达。)

这并不是说更普遍的问题并不有趣 - 它们绝对是!您所描述的类型(2)的问题可能不在 NP 中,但 FNP 的复杂性类中 NP ),这是 NP 的自然概括,其中作业是找到满足可在多项式时间内检查的标准的特定对象。还有相应版本的 P ,称为 FP ,并且存在相应的 FP FNP 问题。

答案 1 :(得分:0)

对P = NP的简短解释是:

  • 答案可以是P [多项式时间]中的是或否问题 以多项式时间计算。
  • 如果a,则NP [非确定性多项式时间]中的是或否问题 是的答案可以在多项式时间内验证。

您可以在我的短文中详细了解P = NP:https://medium.com/@officialgupta/what-is-p-np-2b0fd7b9bd83