显示 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 硬度的主要内容,如果未能解决你的问题,请参考以下文章