IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 线性规划和启发式搜索算法的关系 -> 正文阅读

[数据结构与算法]线性规划和启发式搜索算法的关系

线性规划不是一个算法,只是一种数学模型,或者说是一类问题,在一些约束式子下求解目标函数的最小值。

线性规划的求解算法可以用单纯型法精确求解,这个算法是多项式时间复杂度的,因此线性规划问题,不是NP-Hard问题,而是多项式时间复杂度问题了。但是整数规划问题是NP难的,可以用下面介绍的启发式搜索算法近似求解。

启发式(heuristic)搜索算法,其实跟数据结构中学的深度优先搜索,广度优先搜索类似的,只是启发式搜索算法会再每次搜索时候结合了之前有用信息,进行偏好路径方向搜索,比如群蚁算法,模拟退火算法,神经网络算法应该也是吧。启发式算法的运行不是多项式时间复杂度的,但是它能快速找到接近最优解的结果,因此它被广泛应用来求解NP-Hard问题。

如今0-1背包问题已经被证明是NP完全问题,而它却有着一个动态规划解法,该解法有着O(n*W)的时间复杂度,其中n是物品的个数,W是背包限制的最大负重。所以时间复杂度对输入n,W来说是多项式时间的,所以说明了NP=P!是不是哪里出错了呢?

其实多项式时间是相对于输入规模来说的,输入规模最直观的理解就是输入到该算法的数据占了多少比特内存。0-1背包的输入有n个物品的价值,n个物品的重量,还有背包的最大负重W。如今假设W占用的比特数为L(也就是说背包的最大负重的输入规模是L),那么log(W)=L,所以O(n*W)=O(n*2^L),由此看到,该算法的时间复杂度对于输入规模L来说是指数级别的,随着输入规模L的增加,运算时间会迅速增长。

实际上,人们把这种动态规划的算法称为伪多项式时间算法(pseudo-polynomial time algorithm),这种算法不能真正意义上实现多项式时间内解决问题

参考博客:

https://blog.csdn.net/jim7424994/article/details/39926459

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:22:01  更:2022-03-06 13:27:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:50:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码