取自维基百科,但我见过的所有辩护都与此类似: “NP是一组决策问题,其中”是“实例可以通过非确定性图灵机在多项式时间内被接受。”
为什么NP仅限于决策问题?是吗?
让我们以子集和为例:
(类型1)决策问题 - A的子集B是否总计为k?
(类型2)“正常”问题 - 总计为k的A的子集B是什么?
我在类型2上写“正常”,因为这就像你解决这个问题时通常做的那样。
我是否正确理解,使用NP的定义,类型1在NP中而类型2不在NP中?
感觉就像有时候非正式地写出“所有 问题 ”,其解决方案可以在多项式时间内进行检查的方式同样有效。“
(我发现了一个类似的问题,但它似乎并没有回答这个问题)
答案 0 :(得分:1)
你是对的 NP 是一类决策问题(是 - 否答案的问题),所以问题(1)在 NP 和问题(2) )不在 NP 。以这种方式设置 NP 的部分原因是历史性的(形式语言理论涉及关于字符串/自然数是否属于特定集合的问题),其中一部分是为了数学简单(因为这些问题只有是/否答案,你可以将问题作为“是”实例的集合来讨论并对这些集合执行集合理论操作),其中一部分是使某些定义更容易使用(可还原性)例如,从语言的角度来看,它很容易表达。)
这并不是说更普遍的问题并不有趣 - 它们绝对是!您所描述的类型(2)的问题可能不在 NP 中,但在 FNP 的复杂性类中 NP ),这是 NP 的自然概括,其中作业是找到满足可在多项式时间内检查的标准的特定对象。还有相应版本的 P ,称为 FP ,并且存在相应的 FP 与 FNP 问题。
答案 1 :(得分:0)
对P = NP的简短解释是:
您可以在我的短文中详细了解P = NP:https://medium.com/@officialgupta/what-is-p-np-2b0fd7b9bd83