网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

简述动态规划算法的原理和算法步骤


参考答案和解析
设计一个标准的动态规划算法,通常可按以下几个步骤进行: (1)划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。注意这若干个阶段一定要是有序的或者是可排序的(即无后向性),否则问题就无法用动态规划求解。 (2)选择状态:将问题发展到各个阶段时所处于的各种客观情况用不同的状态表示出来。当然,状态的选择要满足无后效性。 (3)确定决策并写出状态转移方程:之所以把这两步放在一起,是因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以,如果我们确定了决策,状态转移方程也就写出来了。但事实上,我们常常是反过来做,根据相邻两段的各状态之间的关系来确定决策。 (4)写出规划方程(包括边界条件):动态规划的基本方程是规划方程的通用形式化表达式。 一般说来,只要阶段、状态、决策和状态转移确定了,这一步还是比较简单的。动态规划的主要难点在于理论上的设计,一旦设计完成,实现部分就会非常简单。根据动态规划的基本方程可以直接递归计算最优值,但是一般将其改为递推计算。实际应用当中经常不显式地按照上面步骤设计动态规划,而是按以下几个步骤进行: (1)分析最优解的性质,并刻划其结构特征。 (2)递归地定义最优值。 (3)以自底向上的方式或自顶向下的记忆化方法(备忘录法)计算出最优值。 (4)根据计算最优值时得到的信息,构造一个最优解。 步骤(1)~(3)是动态规划算法的基本步骤。在只需要求出最优值的情形,步骤(4)可以省略,若需要求出问题的一个最优解,则必须执行步骤(4)。此时,在步骤(3)中计算最优值时,通常需记录更多的信息,以便在步骤(4)中,根据所记录的信息,快速地构造出一个最优解。 总结:动态规划实际上就是最优化的问题,是指将原问题的大实例等价于同一最优化问题的较小实例,自底向上的求解最小实例,并将所求解存放起来,存放的结果就是为了准备数据。与递归相比,递归是不断的调用子程序求解,是自顶向下的调用和求解。
更多 “简述动态规划算法的原理和算法步骤” 相关考题
考题 矩阵连乘问题的算法可由什么设计实现() A.分支界限算法B.动态规划算法C.贪心算法D.回溯算法

考题 下列不是动态规划算法基本步骤的是() A.找出最优解的性质B.构造最优解C.算出最优解D.定义最优解

考题 设计动态规划算法的主要步骤不包括根据计算最优值时得到的信息,构造最优解。() 此题为判断题(对,错)。

考题 找出最优解的性质不是动态规划算法基本步骤。() 此题为判断题(对,错)。

考题 动态规划算法的两个基本要素是()性质和()性质。

考题 下列哪一种算法不是随机化算法()A、蒙特卡罗算法B、拉斯维加斯算法C、动态规划算法D、舍伍德算法

考题 简述ID3算法的基本思想及其主算法和建树算法的基本步骤。

考题 请叙述动态规划算法与贪心算法的异同。

考题 下列不是动态规划算法基本步骤的是()。A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解

考题 下列哪一种算法是随机化算法()A、贪心算法B、回溯法C、动态规划算法D、舍伍德算法

考题 简述Kruskal算法的作用和具体步骤。

考题 问题的()是该问题可用动态规划算法或贪心算法求解的关键特征。

考题 矩阵连乘问题的算法可由()设计实现。A、分支界限算法B、动态规划算法C、贪心算法D、回溯算法

考题 动态规划算法的基本要素是()和()。

考题 动态规划算法的基本要素是()、()。

考题 简述动态规划算法的基本步骤。

考题 写出设计动态规划算法的主要步骤。

考题 填空题动态规划算法的两个基本要素是()和()。

考题 填空题问题的()是该问题可用动态规划算法或贪心算法求解的关键特征。

考题 问答题写出设计动态规划算法的主要步骤。

考题 填空题动态规划算法的基本要素是()、()。

考题 问答题什么是动态规划算法?

考题 填空题动态规划算法的基本要素是()和()。

考题 单选题矩阵连乘问题的算法可由()设计实现。A 分支界限算法B 动态规划算法C 贪心算法D 回溯算法

考题 填空题动态规划算法的两个基本要素是()性质和()性质。

考题 问答题简述动态规划算法的基本步骤。

考题 问答题简述图像分割中区域生长算法和分水岭算法的基本原理和步骤。

考题 问答题请叙述动态规划算法与贪心算法的异同。