P问题是一类可以通过确定性图灵机(以下简称图灵机)在多项式时间(Polynomial time)内解决的问题集合。
NP问题是一类可以通过非确定性图灵机( Non-deterministic Turing Machine)在多项式时间(Polynomial time)内解决的决策问题集合。
P问题是NP问题的子集,也就是说任何可以被图灵机在多项式时间内解决的问题都可以被非确定性的图灵机解决。
 
NP问题里最难得问题:NP-Complete

其定义如下,如果一个决策问题 L 是 NP-Complete的,那么L具备以下两个性质:
1) L 是 NP(给定一个解决NP-Complete的方案(solution,感兴趣的读者可以思考一下solution 和 answer的区别),可以很快验证是否可行,但不存在已知高效的方案。)
2) NP里的任何问题可以在多项式时间内转为 L。
 
而NP-Hard只需要具备NP-Complete的第二个性质,因此NP-Complete是NP-Hard的子集
 
这四者的关系如下图(假设P!=NP):

图示NP, P, NP-Complete和NP-Hard问题的更多相关文章

  1. np.random.shuffle(x)与np.random.permutation(x)

    来自:https://blog.csdn.net/brucewong0516/article/details/79012233 将数组打乱随机排列 两种方法: np.random.shuffle(x) ...

  2. python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别(转)

    为了区分三种乘法运算的规则,具体分析如下: import numpy as np 1. np.multiply()函数 函数作用 数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致 1.1数组场景 ...

  3. [转]python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别

    转自https://blog.csdn.net/zenghaitao0128/article/details/78715140 为了区分三种乘法运算的规则,具体分析如下: import numpy a ...

  4. (数学)P、NP、NPC、NP hard问题

    概念定义: P问题:能在多项式时间内解决的问题: NP问题:(Nondeterministic Polynomial time Problem)不能在多项式时间内解决或不确定能不能在多项式时间内解决, ...

  5. RT: np - new sbt project generation made simple(r)

    np - new sbt project generation made simple(r) As pointed out in the comments by @0__ below, there's ...

  6. P、NP、NPC、NPH问题的区别和联系

    时间复杂度 时间复杂度描述了当输入规模变大时,程序运行时间的变化程度,通常使用\(O\)来表示.比如单层循环的时间复杂度为\(O(n)\),也就是说程序运行的时间随着输入规模的增大线性增长,两层循环的 ...

  7. NP难问题

    转自https://blog.csdn.net/u014295667/article/details/47090639 1.首先涉及到的基本概念有: (1)确定性算法(Determinism): 设A ...

  8. NP是什么意思?

    举例叙述(转自百度百科,纯为学习笔记) 编辑 在一个周六的晚上,你参加了一个盛大的晚会.由于感到局促不安,你想知道这一大厅中是否有你已经认识的人.你的主人向你提议说,你一定认识那位正在甜点盘附近角落的 ...

  9. P/NP问题

    目录 P NP NPC NPH 写在开头 1.多项式 如公式:y = axn-bxn-1+c.Ο(log2n).Ο(n). Ο(nlog2n).Ο(n2)和Ο(n3)称为多项式时间.Ο(2n)和Ο(n ...

  10. 简析P和NP问题的概念

    简析P和NP问题的概念 本文系作者学习笔记,内容均来源于网络,如有侵权,请联系删除 P类问题:所有能用多项式时间算法计算得到结果的问题,称为多项式问题,也就是P(polynomial). 多项式时间举 ...

随机推荐

  1. Brophp Nginx 虚拟主机的配置

    默认情况下,Nginx 不支持 pathinfo 配置,通过查看了 Thinkphp Nginx 的配置情况,对虚拟主机配置修改如下: server {     listen 80;     list ...

  2. [Jenkins]执行SoapUI脚本,怎样在邮件内容里面嵌入html

    在Editable Email Notification的Default Content里面加入这样一段: ${FILE,path="result-output/overview-summa ...

  3. Core Graphics Layer Drawing

    [Core Graphics Layer Drawing] CGLayer objects (CGLayerRef data type) allow your application to use l ...

  4. PHP 微信公众号开发 - 获取用户信息

    项目微信公众号开发,记录获取用户微信号信息,和用户openid 1,登录微信公众平台 点击登录微信公众平台 2,获取公众号开发信息 登陆之后在 开发->基本配置 3,设置IP白名单 在这里添加服 ...

  5. 安装完 swoole 后出现 PHP Warning: PHP Startup: Unable to load dynamic library 'swoole.so'的解决方法

    安装完 swoole 后出现 PHP Warning:  PHP Startup: Unable to load dynamic library 'swoole.so' (tried: /home/s ...

  6. Linux 基础教程 33-硬盘分区及挂载

    挂载命令     在Windows系统中如果插入了U盘.移动硬盘.光驱等,只要能被Windows系统识别出来,则系统会进行自动挂载并添加盘符,然后我们就可以访问,而这一切均由系统完成,用户并不需要做任 ...

  7. ETL的测试

    二.ETL测试过程: 在独立验证与确认下,与任何其他测试一样,ETL也经历同样的阶段. 1)业务和需求分析并验证. 2)测试方案编写 3)从所有可用的输入条件来设计测试用例和测试场景进行测试 4)执行 ...

  8. datasnap远程方法支持自定义对象传参

    有同仁需要远程方法传输自定义的数据类型,他以为要自己写代码会很复杂,其实DATASNAP早就为我们想到了. datasnap的数据序列和还原真是无与伦比的强大,其远程方法支持自定义对象传参,DATAS ...

  9. Android-MediaPlayer-视频频播放-异步准备

    上两篇博客,Android-MediaPlayer-音频播放-普通准备,Android-MediaPlayer-音频播放-异步准备,主要是讲解了音频(.mp3文件)音乐

  10. nancyfx的安装笔记

    这个安装时很简单的 只要 Install-Package Nancy.Hosting.Aspnet 就行了. 需要注意的是,千万不要用那个模板安装,通过创建nancyfx类型项目的方式安装是有问题的. ...