简体   繁体   English

显示NP,NP-完整性或NP-硬度

[英]Showing NP, NP-Completeness, or NP-Hardness

Is my understanding of the three categories correct? 我对这三个类别的理解是否正确?

To show a problem X is NP: 为了表明问题X是NP:

  1. Show that X can be verified deterministically in polynomial time (Or X is solvable using a NTM) 表明可以在多项式时间内确定性地验证X(或者X可以使用NTM求解)

To show a problem X is NP-Complete: 要显示问题,X是NP-Complete:

  1. Show that X can be verified deterministically in polynomial time(Or X is solvable using a NTM) 表明可以在多项式时间内确定性地验证X(或者X可以使用NTM求解)
  2. Show that given a known NP-C problem L, L ≤p X 表明给定已知的NP-C问题L,L≤pX
  3. Show that given a known NP-C problem L, X ≤p L (Is this step necessary? If so, is this what differentiates a purely NP-Hard problem from a NP-C problem?) 证明给定一个已知的NP-C问题L,X≤pL(这一步是否必要?如果是这样,这是区分纯NP-Hard问题与NP-C问题的原因吗?)

To show a problem X is NP-Hard: 为了表明问题X是NP-Hard:

  1. Show that given a known NP-C problem L, L ≤p X 表明给定已知的NP-C问题L,L≤pX

You almost got it. 你几乎得到了它。

Given a problem X , to show it is NPC, you don't need to show X ≤p L , for some NPC problem L . 给定问题X ,为了显示它是NPC,对于某些NPC问题L ,您不需要显示X ≤p L

In fact, this is guaranteed, since you already showed that X is in NP (in 1), and you know L is NP-Complete. 事实上,这是有保证的,因为你已经证明X是NP(1),你知道L是NP-Complete。 By definition of NP-Complete, this means there is a polynomial time reduction from ALL problems in NP to L , including from X , so basically your step (3) in proving NPC is redundant. 根据NP-Complete的定义,这意味着从NP到L所有问题都有一个多项式时间减少,包括来自X ,因此基本上证明NPC的步骤(3)是多余的。


A more elegant way to show the statements of what needs to be done to prove each property: 一种更优雅的方式来显示证明每个属性需要做什么的陈述:

To show X is NP: 要显示X是NP:

  1. Show that X can be verified deterministically in polynomial time (Or X is solvable using a NTM) 表明可以在多项式时间内确定性地验证X(或者X可以使用NTM求解)

To show X is NP-Hard: 要显示X是NP-Hard:

  1. Show that given a known NP-Hard problem L, L ≤p X 表明给定已知的NP-Hard问题L,L≤pX

OR 要么

  1. Show that for any problem L in NP, L ≤p X (this is done only once actually, for SAT, and is the definition of NP-Hard). 显示对于NP中的任何问题L ,L≤pX(对于SAT,这实际上只执行一次,并且是NP-Hard的定义)。

To show a problem X is NP-Complete: 要显示问题,X是NP-Complete:

  1. Show X is NP-Hard 显示X是NP-Hard
  2. Show X is in NP 显示X在NP中

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM