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



取自维基百科,但我看到的所有定义都与此类似:

"NP是一组决策问题;是"-实例可以在多项式时间内被非确定性图灵机接受"

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

让我们以子集和为例:

(类型1)决策问题-是否存在a的子集B,其总和为k?

(类型2)";"正常";问题-A的子集B和k的总和是多少?

我写";"正常";在类型2上,因为当你解决这样的问题时,感觉就像你通常会做的那样。

使用NP的定义,我正确地理解了类型1是NP,而类型2不是吗?

感觉这个定义有时会以非正式的书写方式同样有效

"所有问题其解可以在多项式时间内检查";。

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

你说得对,NP是一类决策问题(答案为"是"-"否"的问题),所以问题(1)在NP中,而问题(2)不在NP中。以这种方式设置NP的部分原因是历史的(形式语言理论关注字符串/自然数是否属于特定集合的问题),一部分是为了数学上的简单性(因为这些问题只有是/否答案,所以你可以把一个问题当作"是"实例的集合来讨论,并对这些集合执行集合论运算),另一部分是让某些定义更容易使用(例如,从语言的角度来看,可约性真的很容易表达)。

这并不是说更普遍的问题不有趣——它们绝对有趣!您所描述的类型(2)的问题可能不在NP中,但它在一个名为FNP(函数NP)的复杂度类中,这是NP的自然推广,在这种情况下,任务是找到一个满足可以在多项式时间内检查的标准的特定对象。类P还有一个相应的版本,称为FP,还有一个对应的FPFNP

什么是p=NP的简短解释:

  • 如果答案可以是以多项式时间计算
  • 在NP[非确定性多项式时间]中,如果是的答案可以在多项式时间内得到验证

你可以在我的短文中阅读更多关于p=NP的内容:https://medium.com/@officialgupta/what-is-p-np-2b0fd7b9bd83

相关内容

最新更新