磁带文件存放优化

磁带文件存放优化
《编程之美》4.5
书上给出的算法属于贪心算法。关于贪心算法,最重要的在于证明其正确性。
1、证明贪心选择性。
设X={x1,x2,x3,…,xn}是一个最优解.其中,作业xi的长度为L[xi],访问的概率为P[xi]。
设Y={y1,y2,y3,…,yn}是一个贪心解。其中,P[yi]/L[yi]>=P[y(i+1)]/L[y(i+1)]。
如果X和Y完全一样,则贪心解就是一个最优解。
如果X和Y不一样,设xi和yi是第一个不同的作业。设yi是X中的xj。
X=x1,x2,x3,..,xi,…,xj,…,xn
把xj插入到xi的前边,则X变成
X’=x1,x2,x3,…,xj,xi,…,xn
设X的代价是E(X),X’的代价是E(X’)。
E(X’)-E(X)=(P[xi]+P[x(i+1)]+…P[x(j-1)])*L[xj]-(L[xi]+L[x(i+1)]+…+L[x(j-1)])*P[xj]=
设xi<=xk<=x(j-1)。根据Y是一个贪心解可知:P[xj]/L[xj]>=P[xk]/L[xk],即:
P[xj]* L[xk]>= L[xj]* P[xk]
E(X’)-E(X)= ∑(P[xk]*L[xj]-L[xk]*P[xj]), xi<=xk<=x(j-1)
<=0
所以,X’也是一个最优解。
2、证明最有子结构
设X={x1,x2,x3,…,xn}是贪心算法得到的最优解。去除最后一个xn之后的子问题的最优解是subX={ x1,x2,x3,…,x(n-1)}。如果subX不是子问题的最优解,那么假设子问题的最优解释Y’,E(Y’∪xn)=E(Y’)+( L[x1]+L[x2]+…+L[xn])*P[xn]<E(Y)+( L[x1]+L[x2]+…+L[xn])*P[xn].这与X是最优解相矛盾。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值