• P、NP、NP-Complete、NP-Hard问题


    P、NP、NP-Complete、NP-Hard这些概念都是用来描述一个问题的难度的。即一个问题能否在以上时间内求解,或者验证一个解是否符合一个问题。 在下面的讨论中,我们假设问题的输入规模是n,那么问题的解决时间,或者验证时间都应该是n的一个函数,记为f(n).

        1、规约(Reduction):将一个问题,等价转换成另一个问题的子问题的方式。

        2、P问题:P即Polynomial time,多项式时间。f(n)=a0+a1*n1+a2*n2+a3*n3+…. 。意思是说给定一个问题,能在多项式时间内  找到  符合该问题的解。此时,问题的时间复杂度是O(nj)。

        3、NP问题(Non-deterministic problem):即非确定性多项式时间问题。 NP  就是指能在多项式时间内  验证  一个解是否满足的一类问题。

         什么是非确定性问题呢?有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部就班一步步来,就可以得到结果。但是,有些问题是无法按部就班直接地计算出。比如,找大质数的问题。有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少呢?这样的公式是没有的。再比如,大的合数分解质因数的问题,有没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?也没有这样的公式。

        这种问题的答案,是无法直接计算得到的,只能通过间接的“猜算”来得到结果。这也就是非确定性问题。而这些问题的通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的。这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式时间(多项式时间: 运行时间最多是输入量的多项式函数)内算出来,就叫做多项式非确定性问题。而如果这个问题的所有可能答案,都是可以在多项式时间内进行正确与否的验算的话,就叫完全多项式非确定问题。

    4、NP-Complete问题:NP中有  最难  的一类问题。这类问题就是  NP-Complete  问题。

    最难,就意味着所有NP类的问题都能归约到这个问题上。该问题本身也是NP问题。

    所以,NP-Complete问题的形式化定义是: L是NP-Complete问题,当其满足如下两个条件:

    (1) L ∈ NP

    (2)任意L1 ∈ NP, L1 可以归约到 L

    5、NP-Hard问题:实际上是“at least as hard as an NP-complete problem”,即这个问题至少和NP完全问题一样难,所以不用满足上面的条件1.

     

    总结:他们四者的关系,可以用下图描述:

    总结来说:

    P类:已有多项式时间算法的判定问题.

    NP类:已有指数时间算法的判定问题,包括P类.

    NPC类:是NP的一个子集,且其中每一个问题均能由NP中的任何问题在多项式时间内转化成.

    NPH问题:若问题A不属于NP类,已知某一NPC问题可在多项式时间内转化为问题A,则称A为NPH.

    from 

    http://blog.sina.com.cn/s/blog_768df4d70102wdfz.html

    https://www.cnblogs.com/sancyun/p/4250360.html

  • 相关阅读:
    使用pynlpir增强jieba分词的准确度
    graph easy绘制ascii简易流程图
    kubernetes版本融合解决方案
    设计的一些kubernetes面试题目
    使用go-template自定义kubectl get输出
    docker、oci、runc以及kubernetes梳理
    启动docker容器时的Error response from daemon: devmapper: Error mounting: invalid argument. 错误解决
    kubernetes endpoint一会消失一会出现的问题剖析
    docker启动容器报错: could not synchronise with container process: not a directory
    docker中执行sed: can't move '/etc/resolv.conf73UqmG' to '/etc/resolv.conf': Device or resource busy错误的处理原因及方式
  • 原文地址:https://www.cnblogs.com/cpsmile/p/8393990.html
Copyright © 2020-2023  润新知