NP问题是否有必要成为决策问题?

时间:2013-02-10 15:11:41

标签: algorithm np-complete np

斯坦福大学的Tim Roughgarden教授在教授MOOC时说,NP类问题的解决方案必须是多项式的。但是wikipedia article说NP问题是决策问题。那么什么类型的问题基本上在NP类?并且没有必要说这些问题的解决方案具有多项式长度输出(因为决策问题必然输出0或1)?

3 个答案:

答案 0 :(得分:4)

他可能正在谈论证人和证人。

对于NP中的每个问题,都有一个验证者读取算法/图灵机 - 可以在多项式时间内验证“是” - 声明。

这个想法是,你有一些信息 - 证人 - 在时间限制的情况下帮助你做到这一点。

例如,在旅行商问题中:

TSP = {(G, k) if G has a hamiltonian cycle of cost <= k}

对于给定输入(G,k),您只需确定问题实例是否在 TSP 中。这是肯定/否定答案。

现在,如果有人出现并说:此问题实例位于 TSP 中,则需要提供证明。然后另一个人可能会给你一系列的城市。然后,您可以简单地检查该顺序中的城市是否形成哈密顿循环,以及循环的总成本是否≤k

您可以在多项式时间内执行此过程 - 假定见证是多项式的长度。

使用这个城市序列,您就可以正确地确定问题实例确实存在于 TSP 中。

这就是验证者的想法:他们采用长度为多项式的证明对象/见证来检查多项式时间,某个问题实例在语言中。

答案 1 :(得分:2)

NP的标准定义是它只是一类决策问题。决策问题总是产生是/否答案,因此具有恒定大小的输出。

答案 2 :(得分:1)

s不要观看视频/课程,但我猜他在谈论证书/验证而不是解决方案。差异很大。