NP-Hard

本文介绍了计算机科学中的NP-Hard与NP-Complete问题,包括时间复杂度的概念、P与NP问题的区别、约化的含义及NPC问题的定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前看到了很多文章中都提到了NP-Hard问题,于是就去网上查了一些基本概念:

(NP:non-deterministic polynomial,非确定性多项式)


1、首先要了解时间复杂度的问题:时间复杂度是指随着问题规模的扩大,程序解决问题所需时间增长的有多快。

问题规模:n   

多项式时间复杂度:O(nk)   

指数型时间复杂度:O(kn) 、O(n!)、或更大的时间复杂度

2、P:多项式问题,能用多项式时间算法得到结果的问题

指数型问题:所有绝对不可能用多项式时间求解的可解问题

(当然还有一些不可解的问题)

NP:得到一类问题的解,但需要验证解的正确性,验证所花的时间是多项式时间,至于求解所用时间不考虑长短,这类问题被称为NP问题

        简单来说,NP问题解的正确性很容易被检验出来,这里所说的检验是指存在一个多项式算法

3、约化(reducibility)

问题A可约化为问题B,说明B的时间复杂度高于A

(例:解一元一次方程问题可约化为解一元二次方程问题)

4、NPC(NP完全问题)问题定义:两个条件(1)是一个NP问题;(2)所有的NP问题都能约化到它

      NP-Hard问题:满足NPC问题的第二个条件,但不一定满足第一个条件(即比NPC问题范围广)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值