文章目录

  • P问题
  • NP问题
  • NP-C问题(NP-Complete)
  • NP-Hard
  • 规约

欢迎大家访问我的GitHub博客

https://lunan0320.cn

**p代表Polynomial,N代表non-deterministic**

(注意缩写NP代表“Non-deterministic(非确定性)Polynomial(多项式)”而不是代表“Non-Polynomial(非多项式)。)

P问题

确定型图灵机上多项式时间内可解的判定问题

NP问题

  • 非确定型图灵机上多项式时间内可解的问题
  • 非确定型多项式时间算法
  • 多项式时间内可验证的判定问题
  • 问题较难求解,但容易验证

所谓多项式指的是验证猜测可在多项式时间内完成,所谓非确定性指的是问题只能通过验证猜测来解,而不能直接求解。

如Hamilton回路是NP问题,因为验证一条路是否恰好经过了每一个顶点可在多项式时间内完成,但是找出一个Hamilton回路却要穷举所有可能性,不能直接求解。

又如大合数的质因数分解,没有给定的公式可直接求出一个合数的两个质因数是什么,但是验证两个数是否是质因数却可在多项式时间完成,所以它也是非确定性多项式问题,即NP问题。

之所以要定义NP问题,是因为通常只有NP问题才可能找到多项式的算法。我们不会指望一个连多项式地验证一个解都不行的问题存在一个解决它的多项式级的算法。

P类问题是NP问题的一个子集。也就是说,能多项式时间地解决一个问题,必然能多项式时间地验证一个问题的解。

NP-C问题(NP-Complete)

  1. 该问题是一个NP问题
  2. 所有属于NP的问题都可以归于为该问题。任何NP中的问题可以在多项式时间内变换成为任何特定NP-C问题的一个特例

NPC问题是NP中最难的问题

也即所谓的 NPC问题。正是NPC问题的存在,使人们相信P≠NP。

只要我们找到一个NPC问题的多项式解,所有的NP问题都可以多项式时间内约化成这个NPC问题,再用多项式时间解决

在NP中,但是最不像在P中的问题(P和NPC不相交)

若任何一个NP完全的问题在P内,则可以推出P = NP

判定一个问题是NP-C

  1. 证明给定该问题的一个解,可以在多项式时间内验证该问题(NP)
  2. 将一个已知的NP-C问题规约到该问题

可满足问题SAT

判定任意给定的一个bool表达式是否存在一个真赋值

NP-Hard

类似NP-C的定义,但是只需要满足一个条件:

所有的NP问题都可以规约到NP-Hard问题

有多项式时间的算法称为易解m(n)=O(n^k)

不存在多项式时间的算法称为难解

规约

将问题A的求解规约到B,因此求解A问题并不会比求解B问题困难

此处是指多项式时间内的规约

需要在多项式时间内完成两个转换:

*把P的输入转化到Q的输入
* 把Q的输出转化到P的输出

参考:

https://akeeper.space/blog/144.html

https://www.cnblogs.com/AIBigTruth/p/10528090.html

P和NP以及NPC、NP-Hard问题相关推荐

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

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

  2. 那传说中的P、NP以及NPC问题

    那传说中的P.NP以及NPC问题     (这里只是自己的一些总结) 在讲这几个问题之前,有几个东西是必须要说的,包括时间复杂度.空间复杂度.图灵机什么的.那么我们就慢慢来一一说来.    图灵机:图 ...

  3. P、NP、NPC(NP完全问题)、NP-hard问题概述

    P.NP.NPC(NP完全问题).NP-hard问题概述 一.概念总结 1.P问题: 能在多项式时间内解决的问题 2.NP问题: 不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时 ...

  4. P、NP、NPC问题

    转自:http://blog.csdn.net/wwy851/article/details/6082007 最近看了很多关于P.NP和NPC问题的文章,但是都不是很系统全面,很多叙述的也不太清楚,有 ...

  5. 算法:NP问题,NP完全问题(NPC),NPhard问题

    在做计算机算法关于NP完全问题这一章的作业的时候,发现有很多概念理解的不是很透彻,然后就反复看老师的讲义,在网上查阅各种资料,花了很多时间来弄懂这块的内容.发现书上的概念太正式,定义太标准,不容易很快 ...

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

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

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

    概念定义: http://m.elecfans.com/article/757041.html https://www.cnblogs.com/AndyJee/p/5048556.html P问题:能 ...

  8. P、NP、NPC 问题解释

    P.NP.NPC 问题解释 行文目的 什么是多项式算法 什么是P问题 什么是NP问题 NP问题与P问题的关系 NPC问题 什么是约化(Reducibility) 什么是NPC问题 NP-hard问题 ...

  9. P、NP以及NPC问题

    P.NP.NPC 概念 > P问题:能够在多项式时间内解决的决策问题. -举例: 图搜索问题.最短路径问题.最小生成树问题······ > NP问题:不能在多项式时间内解决或不确定能不能在 ...

最新文章

  1. 《数据分析变革:大数据时代精准决策之道》一导读
  2. 《研磨设计模式》chap18 状态模式state(4)例子
  3. 详细讲述STP过程【转自56cto.com】
  4. [031] 实战:书大师网站开发准备
  5. springMVC中添加命名空间(edit namespace)
  6. TechWeb:转载合作须知!
  7. Java Servlet response
  8. C++ Error C2664:无法将参数 1 从“const char [9]”转换为“LPCWSTR”解决方案
  9. python数字转换成中文大写_python中如何将货币数字转化成汉字大写金额
  10. 【优化算法】混沌博弈优化算法(CGO)【含Matlab源码 1803期】
  11. c++ 11之 lambda表达式的使用
  12. 【从零开始学架构-李运华】03|架构设计的目的
  13. 仓储物流机器人:快仓、海柔创新“极速前进”
  14. 预算少怎么做ASO优化?
  15. 基于特征点检测的人脸融合
  16. 《Designing and Training of A Dual CNN for Image Denoising》阅读笔记
  17. unity3D用什么语言开发好?
  18. 用户使用手册与测试报告(团队作业)
  19. odoo12 学习: 无效视图 xxxx xxxx xxxx 定义 False
  20. 一个文科生,用Python检验CAPM模型在A股市场的有效性,老师期末给了95分

热门文章

  1. Springboot毕业设计毕设作品,黑白图片大全和AI智能上色系统
  2. 国家与地区缩写 + 各国语言缩写
  3. 学习太极创客 — MQTT 第二章(一)QoS 服务质量等级
  4. 利用python脚本批量自动下载Sentinel-1(哨兵1号)数据
  5. Mac移动硬盘分区无法装载
  6. Oracle中的dual表
  7. mac修改终端字体样式和大小
  8. 软件工程(1) CSDN花神生涯
  9. TCP协议的三次握手大体流程
  10. 百度智能云首秀CES的主场感觉:用两个“中国第一”抛出AI新态势