显示 NP、NP 完全性或 NP 硬度

Posted

技术标签:

【中文标题】显示 NP、NP 完全性或 NP 硬度【英文标题】:Showing NP, NP-Completeness, or NP-Hardness 【发布时间】:2015-07-09 18:44:11 【问题描述】:

我对这三个类别的理解是否正确?

显示问题 X 是 NP:

    证明 X 可以在多项式时间内确定性地验证(或 X 可以使用 NTM 求解)

显示问题 X 是 NP 完全的:

    证明 X 可以在多项式时间内确定性地验证(或 X 可以使用 NTM 求解) 证明给定一个已知的 NP-C 问题 L,L ≤p X 证明给定一个已知的 NP-C 问题 L,X ≤p L(这一步是 必要的?如果是这样,这就是区分纯 NP-Hard 的原因吗? 来自 NP-C 问题的问题?)

显示问题 X 是 NP-Hard:

    证明给定一个已知的 NP-C 问题 L,L ≤p X

【问题讨论】:

【参考方案1】:

你几乎明白了。

给定一个问题X,显示它是NPC,你不需要显示X ≤p L,对于一些NPC问题L

事实上,这是有保证的,因为您已经证明 X 在 NP 中(在 1 中),并且您知道 L 是 NP-Complete。根据 NP-Complete 的定义,这意味着从 NP 中的所有问题到 L(包括从 X)的多项式时间减少,所以基本上你证明 NPC 的步骤(3)是多余的。


一种更优雅的方式来展示证明每个属性需要做什么的陈述:

显示X是NP:

    证明 X 可以在多项式时间内确定性地验证(或者 X 可以使用 NTM 求解)

显示X 是NP-Hard:

    证明给定一个已知的 NP-Hard 问题 L,L ≤p X

    证明对于 NP 中的任何问题L,L ≤p X(这实际上只进行了一次,对于 SAT,并且是 NP-Hard 的定义)。

显示问题 X 是 NP 完全的:

    显示 X 是 NP-Hard 显示 X 在 NP 中

【讨论】:

以上是关于显示 NP、NP 完全性或 NP 硬度的主要内容,如果未能解决你的问题,请参考以下文章

MAS 714笔记: NP完全问题

什么是NP完全问题

什么是 NP 和 NP 完全问题? [关闭]

NP完全性理论与近似算法

算法概述-第二节:NP完全性理论

最大化利润的算法:解决方法/方法? (高级NP-完全)