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

Complexity theory 为什么NP只是一组决策问题?,complexity-theory,np,Complexity Theory,Np,摘自维基百科,但我看到的所有辩护都与此相似: NP是一组决策问题,其中“是”实例可以在多项式时间内被非确定性图灵机接受 为什么NP仅限于决策问题?是吗 以子集和为例: (类型1)决策问题-是否有a的子集B可归结为k (类型2)“正常”问题-A的子集B加起来等于k是什么 我在类型2上写“正常”,因为这感觉就像你解决这样一个问题时通常做的一样 使用NP的辩护,我的理解正确吗?类型1在NP中,而类型2不在NP中 感觉防御也同样有效,就像有时非正式地写的那样,“所有的问题其解决方案都可以在多项式时间内检

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

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

以子集和为例:

(类型1)决策问题-是否有a的子集B可归结为k

(类型2)“正常”问题-A的子集B加起来等于k是什么

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

使用NP的辩护,我的理解正确吗?类型1在NP中,而类型2不在NP中

感觉防御也同样有效,就像有时非正式地写的那样,“所有的问题其解决方案都可以在多项式时间内检查”


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

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


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

对P=NP的简单解释:

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

你可以在我的短文中读到更多关于p=NP的内容:

非常肯定这个问题会在以下方面得到更好的答案:问题2是一个优化问题,这些问题可以表示为决策问题。这个答案是如何以任何方式解决他的问题的?p=NP和FP=FNP之间的关系是什么?是的!如果仔细设置FP和FNP的定义,那么P=NP当且仅当FP=FNP。