动态规划的算法作业2020年12月18日

问题一:请举一个具有最优子结构性质的例子:

例如,迷宫问题:给定一个4*4的迷宫,
1 2 4 5
4 5 7 6
4 6 2 3
3 4 2 1
要求找到从(0,0)到(3,3)的一条权值最短的路径,每次操作只能向右,或者向下移动,这个问题具有最优子结构性质。

分析:
该迷宫可以划分为7层:
迷宫图片

到达每一层的一个节点的权值由上一层的两个节点决定

例如:
图中(1,1)节点,节点值为5,想要到达该结点,路径权值由通过点(1,0)或者(0,1)的两条路径的权值大小决定。
这样就可以得到从(0,0)到(3,3)的递归式为:
V(3,3) = min ( V(3,2),V(2,3) );

由此可以看出,想要获得到达(3,3)的最小权值路径,问题可以变为到达(3,2)或者到达(2,3)的最小权值路径,由此可以看出,该问题的最优解可以由它的子问题的最优解推导的出,因此说明它具有最优子结构性质。

问题二:请举一个最优子结构的反例:

反例:图中有4个点,如下图所示:
反例图片
要求从A走到D的所有路径中,总权值除以4得到最小的路径为最优路径:

分析:

从A走到B再走到C,如果根据子结构来看的化,选取4号与2号路径得到8,除以4余数为0,应该是最优解的一部分,然而根据全局来看,最优解为4号与5号与6号,或者1号与5号与3号,并不包含4号与2号这条路径,因此子问题最优无法得到全局最优,因此不满足最优子结构。

问题三:谈谈你对动态规划的理解与心得:

动态规划法,是解决许多实际问题的重要方法,是一种从上往下分析,再从下往上求解的重要方法,它要求待求的问题有:
1、最优子结构性质;
2、无后效性;
3、重复子问题性。

大问题分解为若干个性质相同的子问题求解可以加快整个问题的求解速度,优点是能解决回溯法无法解决的大规模问题。在所有的子问题解决后,这些局部最优解可以拼凑出问题的最优解。
动态规划算法是一个重要的算法,需要我认真理解与掌握,这对我以后的学习十分重要。

记录人生第一篇博客

人生第一篇博客诞生啦

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
CSDN水库调度程序是一个包含12动态规划算法的程序代码,它旨在实现对水库调度问题的优化解决方案。 水库调度问题是指在一个水库系统中,根据水库存储水量、入库水量和供需关系等因素,合理地安排水资源的分配和调度。这一问题是一个复杂的动态最优化问题,需要考虑多个因素的交互影响。 12动态规划算法是为了解决不同的水库调度问题而设计的。这些算法根据水库调度问题的具体要求和约束条件,运用动态规划思想,通过将问题分解成多个阶段和子问题,逐步求解得到最优的调度方案。 这些算法包括但不限于最短路径算法、线性规划算法、整数规划算法、背包问题算法等等。它们在不同的水库调度场景中,能够有效地解决水源分配、水库水位控制、灌溉用水调度等问题,以提高水资源的利用效率和满足各种需求。 CSDN水库调度程序的代码实现了这些算法,并提供了灵活的接口供用户使用。用户可以根据实际需求,输入相关参数和约束条件,通过调用相应的算法函数,获得最优的水库调度方案。 总之,CSDN水库调度程序是一个功能强大的工具,它通过12动态规划算法的程序代码,实现了对水库调度问题的综合优化解决方案。无论是在实践应用中还是在学术研究中,都能发挥重要的作用,提高水资源的管理和利用效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值