动态规划与贪婪算法学习笔记

本文通过一个生产线上产品装配的实例,对比了动态规划与贪婪算法两种不同的求解最短路径的方法。动态规划从底层逐步求解直至顶层,而贪婪算法则每次选择局部最优解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

已算法导论图示为例

两条生产线上,产品经过各个装配工作位直到加工完成所耗费的时间都标记出来了,同一生产线的装配工作位转移不花费时间。

试图求出最快流程。

动态规划是利用最优子结构自底向上求解。

也就是说要求出最后完成的最快流程(Si,6)我们需要先知道Si,5工位的最快流程,

而直到Si,5工位的最快流程就需要知道Si,4工位的最快流程 直到求出Si,1的最快流程

s1,1最优解是2+7

s2,2最优解是4+8

s1,2最优解是s1,1+9 = 18

s2,2最优解是s1,1+2+5=16

s1,3最优解是s2,2+1+3=20

s2,3最优解是s2,2+6=22

......

s1,6最优解是s2,5+1+4+3=38

s2,6最优解是s2,5+7+2=39

算法请查看算法导论第二版194页

//==============================================

贪婪算法 则是自顶向下 不考虑子问题解法只选择当前最优选择

那么过程如下

s1,1耗费是2+7=9

s2,2耗费是4+8=12

第一步选择s1,1

.......

最后得出

s1,1->s2,2->s1,3->s1,4->s1,5(s2,5)->s1,6

倒数第二步有两个选择 因为s1,4->s1,5 == s1,4->s2,5 == 8

最后贪婪算法得出的最优流程耗费为39 或者40

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值