贪心算法的证明题

贪心算法的证明一般是比动态规划要复杂。
原因是贪心算法的证明有两个,一个是最优子结构,另外一个是贪心选择性质。
贪心选择性质: 可以通过局部最优选择来构造全局最优解
证明:一般考虑某个子问题的最优解,然后考虑用一个贪心选择替换其中某个选择,修改此解,导出更小子问题。
最优子结构同动态规划,而且其实一般也不是特别需要证明,关键还是在证明问题具有贪心选择性质,下面是尝试证明。

1.活动选择问题

在这里插入图片描述
贪心选择性质的证明:假设一个子问题是Si,其一个最优解为Ai,(考虑一个子问题的最优解),我们选择子问题中最高结束的活动am(贪心选择),假设Ai中最早结束的活动我ae,如果ae=am,显然am在Ai中,如果ae>am,如果用am代替ae所得Ai’也还是最优解(代替),所以该子问题最优解可以表示为am+Si’最优解(拆分)。
大概证明步骤如下:子问题最优解,贪心选择,代替,拆分。

最优子结构的证明:假设Aij是活动i到j(不含j)的最优解,若Aij中包含ak,则可以将其划分为Aik+ak+Akj,反证法证明Aik、Akj都是最优解即可。

2.分数背包问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值