赞
踩
参考网站:
小部分语句来自百度百科
记忆化搜索专题
贪心与动态规划的区别
贪心选择是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到.
核心思想:
解决最优化问题
期望通过局部最优解得到全局最优解
每一步选择当前最佳
使用了贪心算法的算法:
求最小生成树的普里姆算法和克鲁斯卡尔算法
求单源最短路径的迪杰斯特拉算法
哈弗曼编码
动态规划:先将问题分解为子问题,并且对于这些分解的子问题自身是最优的才能在这个基础上得出我们要解决的问题的最优方案.
通过记忆化搜索,重叠子问题只计算一次
记忆化搜索=搜索的形式+动态规划的思想
搜索过程中会有很多重复计算,通过记录一些状态的答案减少重复搜索量.
搜索过程中一个搜索结果必须可以建立在同类型问题的结果上
一、
贪心算法是从局部最优来解决问题
动态规划是从全局最优来解决问题
二、
动态规划不可能在子问题还没有得到最优解的情况下就做出决策
必须等待子问题得到最优解之后才对当下的情况做出决策
贪心算法是先做出一个决策,然后再去解决子问题
有3种物品,背包容量为50公斤
物品1重10公斤,价值60元
物品2重20公斤,价值100元
物品3重30公斤,价值120元
因此物品1每公斤价值6元,物品2每公斤价值5元,物品3每公斤价值4元
依据贪心:
首选物品1,背包剩40公斤
然后选物品2,背包剩20公斤
盛不下物品3了,总收益是160
而最优方案是选择物品2和物品3,得220元
所以0-1背包用贪心不能保证全局最优
0-1背包问题不能用贪心,背包问题可以用贪心
因为0-1背包问题每次装单位重量价值最高的物品,无法保证最终能将背包装满,部分闲置的背包空间使每公斤背包空间的价值降低了,可能达不到全局最优解.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。