P、NP、NPC、NPH问题:
- P问题:可以在多项式时间内求解的问题(简单问题)
- NP问题:可以在多项式时间内验证的问题,但是不一定可以在多项式时间内求解的问题(困难问题),只要能在多项式时间内求解出来那么一定可以在多项式时间内验证出来。
- NPC问题:
- 它是一个NP问题;
- 所有的NP问题都可以用多项式时间约化到它
- NPC问题是NP问题中最难的一类,它们代表了NP类中那些我们认为最不可能找到多项式时间算法的问题。只要解决了这类npc问题,那么就可以解决这类np问题(约化的传递性)。对于同一类的所有的NP类问题,若他们都可以在多项式时间内约化成最难的一个NP类问题(我们直观的认为,被约化成的问题应具有比前一个问题更复杂的时间复杂度)当我们针对这个时间复杂度最高的超级NP问题要是能找到他的多项式时间算法的话,那就等于变向的证明了其下的所有问题都是存在多项式算法的即NP=P!
- NPH问题:其满足NPC问题定义的第二条但不一定要满足第一条(就是说,NP-Hard问题要比 NPC问题的范围广,但不一定是NP问题)。
- 总结:证实了P=NP的话,万物皆有可能。