算法导论16.2-1

  1. 问题描述
    证明:分数背包问题具有贪心选择性质。
  2. 问题求解
    (本求解过程来源于对英文答案的翻译以及改编)
    ①贪心选择性质:
    全局最优解可由局部最优(贪心)选择实现。换句话说,当我们考虑如何做出当前问题看起来最好的选择,而不考虑子问题的结果。
    ②证明:
    假设 I 为分数背包问题的一个实例,n是商品的数量, vi ith 商品的价值, wi ith 商品的重量, W 是背包的容量。假设商品已经按照vi/wi递增的顺序排列,并且 Wwn 。令 S={s1,s2,...,sn} 为一个解, si 代表 ith 商品被拿走的重量。贪心算法指定 sn=min(wn,W) ,然后继续解决子问题 I=(n1,{v1,v2,...,vn1},{w1,w2,...,wn1},Wwn) (也就是说问题规模上的变化)直到 W=0 或者 n=0
    我们需要证明该策略总会得到一个最优解。我们通过反证法证明。令问题 I 的最优解为s1,s2,...,sn,假设该问题不具有贪心选择性质,也就是它的最优解不是由每次的贪心选择构成,那么就会有 sn<min(wn,W) 。设 i 是使得si>0成立的最小值。通过让 si 减小 max(0,Wwn) 并让 sn 增加相同的数量,我们可以得到一个更好的解。因此得到矛盾,假设不成立, sn 是等于 min(wn,W) 的。因此原问题具有贪心选择性质。
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值