看算法的时候经常会碰到NP问题、NP难问题(NPH)和NP完全问题(NPC)等术语,每次碰到的时候都似懂非懂,这次专门在网上搜了一些资料看,做一下记录,权当加深印象。
NP是指Non-deterministic Polynomial-time,即非确定性多项式时间。与NP相关的总共有四类问题,是计算复杂度理论中研究的主要内容之一。

  1. P问题:Polynomial-time问题,即指在多项式时间内可用算法求解的问题
  2. NP问题:Non-deterministic Polynomial-time问题,指不确定是否存在多项式时间的求解算法,但可以在多项式时间内验证一个猜测解的正确性。(针对NP问题有一个千年难题,即NP=P?,也即是否所有能在多项式时间内验证得出正确解的问题,都是具有多项式时间算法的问题,至今尚未有定论)
  3. NP难问题:NP-hard(NPH)问题,如果所有NP问题可在多项式时间内转化(归约,意思是解决了后者也就相应的解决了前者)成某个问题,则该问题称为NP难问题。
  4. NP完全问题:NP-complete(NPC)问题,如果所有NP问题可在多项式时间内归约成某个NP问题,则该NP问题称为NP完全问题。也就是说NP完全问题既是NP难问题又是NP问题。

    下面贴一张图把四者的关系捋一捋

参考资料:
1.[总结]算法中的P问题、NP问题、NP完全问题和NP难问题
2.Wiki百科-NP困难问题

NP问题、NP难问题(NPH)和NP完全问题(NPC)理解相关推荐

  1. 【算法】P问题 NP问题 NPC问题 NPH问题的定义与理解

    一.前言 二.多项式 三.时间复杂度 四.P问题 五.NP问题 六.NPH问题,NPC问题 七.已经被证明的NPC问题 八.一些具体问题的总结 九.总结 一.前言 在讨论算法的时候,常常会说到这个问题 ...

  2. python使用numpy中的np.mean函数计算数组的均值、np.var函数计算数据的方差、np.std函数计算数组的标准差

    python使用numpy中的np.mean函数计算数组的均值.np.var函数计算数据的方差.np.std函数计算数组的标准差 目录

  3. Python:一文让你彻底理解numpy中axis=-1/0/1/2... [实例讲解:np.argmax(axis= -1 0 1 2) np.sum(aixs= -1 0 1 2)]

    前言 接触python有一段时间了,但总有一道坎在心中挥之不去,那就是Numpy模块中的axis=-1/0/1/2...,每每见到axis=-1.axis=0.axis=1.axis=2等操作,心中真 ...

  4. 零知识证明之什么是QAP?什么是P/NP、NP完全问题(NPC问题)、NP hard问题?多项式时间

    文章目录 一.什么是NP问题 1. 多项式时间 2. 关于阶乘 n! 12字助记词真的安全吗? 3. 现实中的NP类问题 二.P是否等于NP, N=NP是否成立 三.什么是NP完全或NP完备 四.什么 ...

  5. np 元素位置_证明SAT的NP完全性(NP-completeness)

    看懂本文需要提前有哪些知识? 知道什么是图灵机,非确定图灵机 知道什么是SAT问题 什么是NP问题? 首先我们要知道,NP一般都是针对决定性问题(Decision problem)的.比如今天我们要讨 ...

  6. python 视频流np.arr_python同时用好list与np.array

    a = [1,2] #type()后是list a = [1 2] #error *********************************************************** ...

  7. 你觉得python很难嘛?那只是你没有理解而已

    在 Python 尤其是 Python2 中,编码问题是困扰开发者尤其初学者的一大问题.什么 Unicode/UTF-8/str,又是 decode/encode 的,搞得人头都大了.其实不然,看似庞 ...

  8. javase哪部分最难_关于javase的一些个人理解

    以下是自己总结的一些Java常见的基础知识题,答案仅供参考,如有异议请指出.一直保持更新状态. 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚 ...

  9. 【计算理论】计算理论总结 ( P 、NP 、NPC 总结 ) ★★

    文章目录 一.P 类 二.NP 类 三.NPC 类 ( NP 完全 ) 四.P .NP .NPC 三者关系 一.P 类 P\rm PP 类 : ★ 所有 能够被 确定性 单个带子图灵机 , 在 多项式 ...

最新文章

  1. Spring data jpa命名规范
  2. mysql的查询、子查询及连接查询
  3. linux查看进程相关命令
  4. 数据结构之深度优先搜索(用栈实现)问题
  5. 玩转oracle 11g(28):ora-00064和程序异常终止
  6. 微服务升级_SpringCloud Alibaba工作笔记0017---Nacos之服务消费者注册和负载
  7. 什么是deployment 声明式升级应用
  8. openwrt 需要高级浏览器_树莓派 + OpenWrt 实现 BT 下载机
  9. putty 配色方案分享
  10. 宝健中国用产品缔造口碑,深受消费者信赖
  11. UI设计之什么是设计
  12. python开启摄像头以及深度学习实现目标检测
  13. 6-11 使用函数输出水仙花数 (20 分)
  14. 通过redis-cli批量删除多个指定模式的key
  15. 【Python应用探索笔记二】百度语音合成与识别
  16. iphone使用技巧大全
  17. 一次聊个透彻:满二叉树、完全二叉树、二叉搜索树,二叉平衡树
  18. 挂件巡检机器人_盘点国内五大智能巡检机器人企业
  19. 在线教育平台网站源码是什么?
  20. .NET的未来-广州.NET俱乐部学生分会

热门文章

  1. TextRank关键词提取算法
  2. 分析一下人际界限模糊的定义
  3. js setTimeout的三种情况
  4. 五种网络IO模型:阻塞式IO 非阻塞式IO IO复用(IO multiplexing) 信号驱动式IO 异步IO
  5. switch可以用什么手柄_switch有些什么操作设备?NS各类手柄种类介绍
  6. 现代原木风别墅设计生活韵味
  7. JVM 虚拟机栈详解
  8. macOS下VSCode 使用记录(使用调试运行 Python/C 等)
  9. 2020最新最详细K8s安装教程
  10. 【愚公系列】2022年09月 微信小程序-图片懒加载功能实现