背包问题的贪心选择性质PPT格式课件下载.ppt
《背包问题的贪心选择性质PPT格式课件下载.ppt》由会员分享,可在线阅读,更多相关《背包问题的贪心选择性质PPT格式课件下载.ppt(5页珍藏版)》请在冰豆网上搜索。
动态规划算法通常以自底向上的方式解各子问题,而贪心算法则通常以自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题简化为规模更小的子问题。
对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所作的贪心选择最终导致问题的整体最优解。
背包问题,问题描述:
已知有n种物品和一个可容纳c重量的背包,每种物品i的重量为wi。
假定物品i的一部分放入背包会得到vixi的效益。
其中0xi1,vi0.采用怎样的装包方法才会使装入背包物品的总效益最大呢?
即求解:
(4.2.1)(4.2.2)(4.2.3),满足约束条件(4.2.2/3)的任一使目标函数取最大值的可行解是最优解,背包问题,思考:
将n件物品的价值/重量比求出(价值/重量比,也就是单位重量物品的价值),然后按照非递增排序。
装入过程,从价值/重量比最大的物品开始装入,直到某一件物品不能全部装入背包的时候,停止装入,而要对最后一件不能全部装入的物品进行部分装入,将背包装满,总价值达到最大。
如果全部的物品都能装入背包,那得到的肯定也是最优解,这是一种特殊的情况。
用贪心算法解决背包问题,方案:
首先计算每种物品单位重量的价值Vi/Wi,然后,依贪心选择策略,将尽可能多的单位重量价值最高的物品装入背包。
若将这种物品全部装入背包后,背包内的物品总重量未超过C,则选择单位重量价值次高的物品并尽可能多地装入背包。
依此策略一直地进行下去,直到背包装满为止。
0-1背包和背包问题的区别,对于0-1背包问题,贪心选择之所以不能得到最优解是因为在这种情况下,它无法保证最终能将背包装满,部分闲置的背包空间使每公斤背包空间的价值降低了。
事实上,在考虑0-1背包问题时,应比较选择该物品和不选择该物品所导致的最终方案,然后再作出最好选择。
由此导出许多互相重叠的子问题。
这正是该问题可用动态规划算法求解的另一重要特征。