• NP


    一个决定性问题C 若是为NPC,则代表它对NP是完备的,这表示:

    1. 它是一个NP问题,且
    2. 其他属于NP的问题都可归约成它。

    满足条件2(无论是否满足条件1)的问题集合被称为NP-hard。一个NP-hard问题至少跟NPC问题一样难。 有一类问题已经被证明属于NP-hard但不属于NP,即,这类问题至少与NP-complete一样难,但这类问题又不属于NP(自然也不属于NP-complete)。 例如围棋的必胜下法,就是这样一个问题。

    要理解这几个概念, 首先要明白几件事:
    1. 对于NP问题是否存在确定的多项式时间的解,目前还不清楚(即有可能有一天可以证明NP问题=P问题,但目前还证明不出来、也不能证明NP问题≠P问题,目前的结论只是NP问题集 ⊇ P问题集)
    2. 问题之间可以规约, 即如果某个NP问题存在确定的多项式时间解,那么另一个NP问题也存在确定的多项式时间解。这个过程是可以证明的、并且已经被证明。

    NP困难问题(NP-hard problems) 是指这样的一类问题, 它们本身的复杂度是多少无所谓(但由后面的论述可知至少是NP), 但是只要这个问题找到确定的多项式时间的解, 那么我们可以证明出所有的NP问题都一定存在确定的多项式时间的解. (简单叙述一下就是, 只要有一个NP困难问题找到P解, 那么所有NP问题都是P问题.)

    NP完全问题(NP-complete problems) 如果一个问题既是NP困难问题又是NP问题, 我们称之为NP完全问题.

    为了证明某个NP问题A实际上是NPC问题,证明者必须找出一个已知的NPC问题可以变换成A。

  • 相关阅读:
    linux随记
    springboot-2
    netty-lean1
    nginx
    自定义启动器
    arrayList add
    Mybatis 转义符
    idea 闪退 但是启动的服务还在解决办法
    java 通过map根据list某个字段进行合并
    java list的深拷贝
  • 原文地址:https://www.cnblogs.com/linyx/p/3971263.html
Copyright © 2020-2023  润新知