参考1
参考2

写在前面

在了解P问题,NP问题,NPC问题以及NP Hard问题之前,我们需要明白多项式级的复杂度和非多项式级的复杂度。时间复杂度是当问题规模扩大后,程序需要的时间长度增长得有多快。有O(1)的时间复杂度,也称常数级复杂度;数据规模变得有多大,花的时间也跟着变得有多长,这个程序的时间复杂度就是O(n)。数据扩大2倍,时间变慢4倍的,属于O(n^2)的复杂度。

  • 多项式级的复杂度,它的规模n出现在底数的位置;
  • 非多项式级的复杂度,比如O(a^n)和O(n!)型复杂度,其复杂度计算机往往不能承受。

P问题

如果一个问题可以找到一个能在多项式的时间里解决它的算法,那么这个问题就属于P问题。

NP问题

在多项式时间内“可验证”的问题。也就是说,不能判定这个问题到底有没有解,而是猜出一个解来在多项式时间内证明这个解是否正确。即该问题的猜测过程是不确定的,而对其某一个解的验证则能够在多项式时间内完成。P类问题属于NP问题,但NP类问题不一定属于P类问题。所有的P类问题都是NP问题,因为能多项式地解决一个问题,也就能够在多项式的时间内验证问题的解。

NP完全问题

约化: 如果能找到这样一个变化法则,对任意一个程序A的输入,都能按这个法则变换成程序B的输入,使两程序的输出相同,那么我们说,问题A可约化为问题B。
一个问题A可以约化为问题B的含义即是,可以用问题B的解法解决问题A。比如一元一次方程可以约化为一元二次方程,方法为将一元二次方程的二次项系数设为0。约化具有传递性,如果问题A可以约化为问题B,问题B可以约化为问题C,则问题A可以约化为问题C。
NPC问题: 首先,它得是一个NP问题;然后,所有的NP问题都可以约化到它。

NP-Hard问题

它满足NPC问题定义的第二条但不一定要满足第一条(就是说,NP-Hard问题要比 NPC问题的范围广)。NP-Hard问题同样难以找到多项式的算法,但它不列入我们的研究范围,因为它不一定是NP问题。

他们之间的关系如下图所示

简述P问题,NP问题,NP完全问题以及NP Hard问题相关推荐

  1. P、NP、NP完全问题、NP难问题

    可以在多项式时间内求解的问题称为易解的,而不能在多项式时间内求解的问题称为难解的. P类问题:多项式类型,是一类能够用(确定性的)算法在多项式的时间内求解的判定问题. 只有判定问题才属于P 不可判定问 ...

  2. NP-Hard?大白话学习P问题、NP问题、NP完全问题和NP难问题

    ## 该笔记自用为主,记录一些日常学习过程中看到的不熟悉的知识和从未接触过的知识,用于回看和记录.其中有一些个人理解,如有错误请讨论指正. 前言 在讨论这一串问题之前,我们需要复习两个概念. 1.多项 ...

  3. 什么是NP问题,什么是NP hard问题,什么是NP完全问题。

    http://www.cs.pitt.edu/~ztliu/wordpress/2011/05/np-problem/ 首先解释一下什么是NP问题,什么是NP hard问题,什么是NP完全问题. 看下 ...

  4. NP问题、NP难问题(NPH)和NP完全问题(NPC)理解

    看算法的时候经常会碰到NP问题.NP难问题(NPH)和NP完全问题(NPC)等术语,每次碰到的时候都似懂非懂,这次专门在网上搜了一些资料看,做一下记录,权当加深印象. NP是指Non-determin ...

  5. 【释义】NP complete概念浅析(涵盖:P问题,NP问题,NP完全问题,NP难问题)

    文章目录 前言 正文 1.P问题 2.NP问题 3.NP-complete问题(即:NP完全问题) 4.NP完全问题可能不会长久存在 5.示例 6.NP-Hard问题(即:NP难问题) 7.关系 小结 ...

  6. 排序 np_P问题、NP问题、NP完全问题和NP难问题理解

    P 问题 P类问题(P:polynominal,多项式):存在多项式时间算法的问题.以排序为例,在排序这个大问题里,是可以找到一种时间复杂度为多项式o(n^2),o(nlogn)的算法(如冒泡排序法, ...

  7. 【看了就懂】P问题、NP问题、NP完全问题和NP难问题

    为了避免对这四个问题有一定理解基础的人看的很烦,个人简单理解的四个问题: P问题:有多项式时间算法,算得很快的问题. NP问题:算起来不确定快不快的问题,但是我们可以快速验证这个问题的解. NP-co ...

  8. [机器学习]P问题、NP问题、NP完全问题和NP难问题

    该文章为转载,更正了原作者的一些笔误 在讲P类问题之前先介绍两个个概念:多项式,时间复杂度.(知道这两概念的可以自动跳过这部分) 1. 多项式:axn−bxn−1+cax^n-bx^{n-1}+cax ...

  9. P问题、NP问题、NP完全问题和NP难问题概念梳理

    非"正规"问题 不可解问题:不存在解决算法的问题 例子:停机问题 不可能有复杂度O(多项式)问题 例子:输出从1到n这n个数的全排列(因为把结果打印出来也是O(n!)的复杂度) & ...

  10. [机器学习] 第一章 绪论 1.P问题、NP问题、NP完全问题和NP难问题

    参考:https://zhuanlan.zhihu.com/p/73953567 参考:https://blog.csdn.net/qq_21768483/article/details/804305 ...

最新文章

  1. c++调用python3
  2. DPDK使用linux drivers(二十九)
  3. 图解字符串的朴素模式匹配算法
  4. file_get_contents高級用法
  5. Shared pool内存块组成结构及4031错误原因分析
  6. string转换成date类型_你竟然知道SpringMVC是如何完成类型转换和数据绑定的吗?...
  7. 违反GPL协议,法院判罚了!国内首例
  8. unity全栈开发是什么意思_unity游戏公司面试问题总结
  9. Django模板层:DTL模板渲染-变量
  10. kali 安装volatility_电子取证技术之实战Volatility工具
  11. winform DataGridView的虚模式填充,CellValueNeeded事件的触发条件
  12. c#退出窗口跳转_详解C#切换窗口
  13. FlexSIM.ED v4.0 1CD(生产排程,虚拟管理,能力平衡软件)
  14. Nginx 漏洞扫描及修复方案
  15. 图像原始格式 YUV444 YUV422 YUV420 详细解析
  16. python操作模拟器多开操作_窗口多开模拟器同步操作器▲按键精灵脚本▲
  17. 史上最超级KB的10个故事~你撑到第几个才发抖?
  18. layui 动态表格 合并单元格
  19. 决策树算法原理及实现
  20. vuex如何在没有moudles的情况下,新增一个moudle

热门文章

  1. 关于金融行业网络安全解决方案,您了解多少?
  2. Vue配置TinyMCE富文本编辑器 + 图片(本地)上传到服务器
  3. 国家统计局:政府统计应用大数据的主要障碍
  4. Java方法变量中的final
  5. 开源中国上几款免费又好用的OA协同办公系统,真心不错!
  6. 全国OA系统下载地址(全)
  7. 通过ADB命令打开MTK和展讯日志的方法
  8. 信息收集----谷歌语句
  9. 比较详细的一份Google hacking语法 Google黑客
  10. adobe bridge cs6怎么卸载_怎么取消adobe bridge cs6 更新