Greedy Method

最优化问题(Optimization Problems)

每个最优化问题包含一个限制条件(constrain)和一个优化函数(optimization function),符合限制条件的求解方案称作问题的可行解,使优化函数能取得最佳值的解决方案称作最优解
最优化问题的求解过程就是从诸多可行解中寻找最优解的过程

贪心算法

在问题求解的每一个阶段都有多种选择,贪心算法在每一步都做出当时看来最佳的选择,通过局部(locally)最优希望达到整体(globally)最优
但贪心算法这种启发式的策略并不能保证一定能找到最优解
贪心算法能求得最优解的两个要素是贪心选择性质最优子结构

ps:贪心策略必须是无后效性的,即当前的选择不会影响之后的状态

贪心选择性质

通过做出局部最优来构造全局最优

每次选择只做当前看来最好的选择,而不考虑子问题的解
在解空间的遍历,即子问题树的遍历过程中,贪心选择要求只需要从根部一路选择到叶节点即可,所以说一个贪心算法通常是自顶向下的

最优子结构

一个问题的最优解包含其子问题的最优解

最优子结构的证明方法(“剪切-粘贴”法)

①对于给定的问题,假设已知最优解
②做出一个选择,这个选择使得问题产生一个或多个待解决的子问题,例如钢条的切割位置,矩阵链的划分位置
③选定可以获得最优解的某一选择
④“剪切-粘贴法”(反证)证明:作为构成原问题最优解的组成部分(基于③),每个子问题的解就是它本身的最优解。
假定子问题的解不是其自身的最优解,那么我们就可以从原问题的解中“剪切”掉这些非最优解,将最优解“粘贴”进去,从而得到原问题一个更优的解,但这与最初的解时原问题最优解的假设矛盾。
以0/1背包问题为例:

ps:证明过程中,xi=1就是必定会得到最优解的一个选择

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值