NP-Hardness

本文介绍了计算复杂性理论中的核心问题——P vs NP问题,阐述了P类问题和NP问题的区别,并通过数独游戏举例说明NP问题的特点。接着,解释了NP-Hardness的概念,即一个问题是NP-Hard意味着它至少和NP中最难的问题一样难,即使不能确定其是否属于NP。P vs NP问题至今未解,其答案将深远影响计算机科学的许多领域。
摘要由CSDN通过智能技术生成

        科研小白,在很多文章中都涉及到了NP-Hardness的概念。因为以前都没有接触过这个概念,这里记录一下。

一、P vs NP问题

        想要理解这个问题,首先要了解 P vs NP问题。

        他表示一个可以快速验证的问题能否存在快速解决的方法。快速指存在一种算法,可以在多项式的时间内运行。这里涉及到另一个概念,多项式时间(polynomial time),指一个算法的运行时间上限受到与输入相关的多项式的限制,与之矛盾的类似于指数时间。

        于是,可以在多项式时间内解决的问题就是P类问题,而有些问题无法得到答案,却可以快速验证答案,就属于NP问题。P与NP问题的差距表明可以在多项式时间内验证的问题能够在同等时间内得到答案,NP问题就能够验证而无法求解,P问题则可以求解。

        一个典型的NP问题例子就是数独游戏,随着格子的增大,我们用于验证一个解是否正确的时间缓慢增加(多项式增加),而求解正确答案的时间则是指数增长。也就是检查起来很快,但解决起来很慢。NP问题可以通过一个快速的解决方法得到其他的解决方法,这个特性称为NP完备性(NP-completeness),然而找到一个快速解决方法很难。

二、NP-Hardness

        在计算复杂性理论体系中,NP-Hardness是一类问题的属性。

        当一个NP问题L可以在多项式时间内减少到问题H时,则问题H就是NP-Hard的。则H的解就可以在多项式时间内用于解决NP问题L。只要能够找到一个多项式时间的H的解,则可以在多项式时间内解决NP问题L,然而这个解是很难得到的,一般是使用别的方法逼近这个方法。

        后续还有关于P等于NP或不等于的讨论,这个问题关系着现有的很多研究方向,具体可以参考链接:

https://en.wikipedia.org/wiki/P_versus_NP_problem#cite_note-poll-9

的后续内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值