排序 np_优化求解中的NP-hard 问题学习

本文介绍了NP-hard的概念,解释了时间复杂度、约化(Reducibility)及其在解决复杂问题中的应用,如旅行商问题。通过讨论P、NP、NPC和NP-hard的区别,帮助读者理解这些问题在计算机科学中的挑战。
摘要由CSDN通过智能技术生成

fdf4a21f031e44f7fdd1ce014a5ba9ed.png

所谓NP-hard,指所有NP问题都能在多项式时间复杂度内归约到的问题。

这里梳理下涉及到的知识点,主要参考来源:

《什么是P、NP、NPC、NP-Hard问题》、《什么是P问题、NP问题和NPC问题》、《何为NP-hard》、百度百科:NP-hard

介绍一些预备知识

1. 时间复杂度

时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规模扩大后,程序需要的时间长度增长得有多快。

程序的时间复杂度一般可以分为两种级别:

  • 多项式级的复杂度,如O(1),O(log(n))、O(n^a)等
  • 非多项式级(NP,non-deterministic polynomia)的复杂度,如O(a^n)、O(n!)等。后者的复杂度计算机往往不能承受。

自然地,可以想到一个问题:

会不会所有的问题都可以找到复杂度为多项式级的算法呢?

显然,“不可能”。

例如著名的旅行商问题(Travel Saleman Problem or TSP):假设一个推销员需要从香港出发,经过广州,北京,上海࿰

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值