北航 动态规划03级考试题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一小节 动态规划问题
——最短路径问题
一 在正式提出动态规划法前我们先看一个数学例子:
例1:在 x 1+x 2+x 3+…+x n =a 是约束条件下,求n x x x z +++= 21的极大值. 令 a x a f ==max )(1 ( 0a x ≤≤ ) )m a x ())(max()(12x a x x a f x a f -+=-+= 令 x a x y -+=
且0)
(22121=---=
--
=x a x x x a x
a x
dx
dy
可得a -x=x, 所以 x=a/2
故 a a a a f 22
2)(2=+= 同理 ))(2max()(max()(23x a x x a f x a f -+=-+=
令 )(2x a x y -+=
0)
(222221=---=--=x a x x x a x a x dx dy 所以 a -x=2x , x=a/3 所以 f 3(a)=a a a a a f 33
1
331231)(3==+=
用数学归纳法可以证明:f n (a) =na , x 1=x 2=x 3=…=x n =n
a
证明:1:n=1 …
2:设f n (a) =na , x 1=x 2=x 3=…=x n =n
a
成立,则 f n+1(a)=max(x +f n (a-x))=max(
)(x a n x -+)
令 y=)(x a n x -+
y ’=
x 21
x
a n -2=
0)
(2=---x a x nx x a
所以 nx=a-x ,(n+1)x=a x=
1
+n a f n+1(a)=
1+n a +n 1
+n a =a n )1(+ 我们刚才的解题策略是:“摸着石头过河”,f2 利用f1的结果,f3又利用f2的结果。。。。。。
类似于游戏中的一个勇士打败了一些敌人后得到一件武器,然后去打败另一个强大一些的对手,得到一件更好的武器,接着打败更强大的敌人。。。。。最后取得胜利。。。
在实际生活中,有这么一类问题,它们的活动过程可分为若干个阶段,而且在任一阶段 后的行为仅依赖于第I 阶段的过程状态,而与I 阶段之前的过程如何达到这种过程如何达到这种状态的方式无关,这样的过程就构成了一个多阶段决策过程。在50年代,贝尔曼(Richard Bellman )等人根据这类问题的多阶段决策的特性,提出了解决问题的“最优性原理”从而创建了最优化问题的一种最新的算法设计方法——动态规划。 分治法和动态规划法的比较
动态规划算法与分治法类似,其根本思想也是将待求解问题分解成若干个子问题,先求
解子问题,然后从这些子问题的解得到原问题的解,与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是互相独立的.以从16个数据中找出最大者为例,说明 分治法的“静”和动态规划法的“动”的区别。
下面我们以具体的例子来说明如何运用动态规划算法来求解问题,并分析可用动态规划算法解的问题的所应具备的一般特征。
对教材68页上的里子给予简要说明(因为书上的文字叙述有些含混晦涩,对符号的说明不清晰)
y
下面精讲一个例子
1. 介绍这个图的特点…..从而说明从O 到A 的最短路径必由7段而不是更多或更少段组成。
其行进路线必然是x 和y 单调递增的(非严格单调)。从O(0,0)到U (4,3)点的每一
条路径对应于由4个x 上的和3个y 上的字符构成的字符串,这种字符串的数目为C 47=35.
如果采用穷举法进行搜索,需要进行35*6=210次加法,34次比较。
2. 下面我们采用动态规划法来解决这一问题。令O 为起点到U 的最短距离为Do ,以A 为
起点到U 的最短距离为D A - - - ,用d ij 表示(i , j )边的长度。 显然Ds=dsu=2,Dt=dTU=3,
D Q =min{2+2,5+3}=4 D P =1+Ds=1+2=3 D R =3+D T =3+3=6
D L =min{Dlq+DQ,d LP +DP}=min{4+D Q ,2+Dp}=min{4+4,2+3}=5 Dk=3+Dp=3+3=6
D M = min{2+D Q ,4+D R }=min{2+4,4+6}=6 D N =4+D R =4+6=10 D F =2+D K =2+6=8
D G =min{1+D K ,3+D L }=min{1+6,3+5}=7 D H =min{1+5,1+6}=6
D J =min{3+D M ,3+D N }=min{3+6,3+10}=9 D C =min{2+D F ,2+D G }=min{2+8,2+7}=9 D D =min{4+D G ,2+D H }=min{4+7,2+6}=8 D
E =min{1+D H ,2+D J }=min{1+6,2+9}=7 D A =min{3+D C , 2+D D }=min{3+9,2+8}=10 D B =min{2+D D ,3+D E }==min{2+8,3+7}=10 Do==min{1+D B ,2+D A }=min{1+10,2+10}=11
共进行了29次加法,12次比较。由Do=1+DB=11回溯,可得到最短路径为
O —>B-→D->H →L —>P-→S-→U O-→B-→E-→H-→L-→P-→S-→U
推广到x 轴m 段y 轴n 段的情形:用动态规划法需要做2mn+(m+n-2)次加法,mm 次比