强化学习导论习题册文档格式.docx
《强化学习导论习题册文档格式.docx》由会员分享,可在线阅读,更多相关《强化学习导论习题册文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
假设你是一个视觉系统。
当你第一次开机的时候,一整幅图像涌入你的摄像头。
你能够看到很多东西,但不是所有东西,比如你无法看到被某一物体遮挡住的东西,或者是你背后的东西。
在你看到第一个场景之后,你是否可以认为,你所接触的环境具有马尔科夫性,其中的状态是马尔科夫状态?
再假设你是一个破损的视觉系统,你的摄像头坏了,这种情况,你接收不到任何影像,那么在这种情况下,是否可以认为你所接触的环境具有马尔科夫性,其中的状态是马尔科夫状态?
如果一个状态包含所有环境相关信息,我们就认为这个状态具有马尔科夫性。
在第一种情况下,状态不具有马尔科夫性,问题中也强调,视觉系统无法看见遮挡住的和背后的东西,因此,该状态不具有马尔科夫性。
在第二种情况下,可以认为具有马尔科夫性,你接收不到不到任何影像,你也可以认为,你说处的环境,就是你所感知的,认为,你所知道的环境信息就是包含了所有相关信息,因此,可以认为具有马尔科夫性。
7.对于一个有限的马尔科夫决策过程,奖赏值数量有限,结合公式3.5,给出状态转移函
数和回报函数。
Pssa'
Pr{st1s'
|sts,ata}
Rsas'
E{rt1|sts,ata,st1s'
}
8.请给出动作值函数的Bellman等式Q。
等式必须包含Q(s,a)和Q(s,a)。
参考回
溯图3.4及公式(3.10)。
Q(s,a)E{Rt|sts,ata}
E{krtk1|sts,ata}
E{rt1krtk2|sts,ata}
Psas'
{Rsas'
{(s'
a'
){krtk2|sts'
ata'
}}}
s'
a'
k0
{Rsas'
(s'
)Q(s'
)}
a'
9.根据Bellman等式(3.10)可以计算每一个状态的V,如图3.5b所示。
比如对于图中0.7这个值来说,可以根据其四周的+2.3,+0.4,-0.4和+0.7这四个值计算得出。
试计算图中其他值,根据公式3.10,验证每个值的正确性。
略。
10.在例子格子世界中,到达目标状态设定奖赏为正值,到达边界状态设定奖赏为负值,其他状态奖赏为0。
这样的设定是否必要,或者仅仅是为了区分不同状态的回报值?
对于
每个状态的立即奖赏加上常量C,每个状态的回报值加上常量K,在不影响每个状态回报值与立即奖赏关系的前提下,试根据公式(3.2),将K用C和参数来表示。
设状态的回报值为x,立即奖赏为y
V(s)K(s,a)psas'
[RsasC[V(s'
)K]]
as'
C(s,a)psas[RsasV(s'
)]K
CV(s)K
即:
K%)
11.考虑在情节式任务中,对每个状态的立即奖赏加上一个常量C,比如迷宫问题。
这样对
最终结果是否有影响?
这种情况对于连续式任务是否有影响,比如针对上一个问题中的
格子世界?
给出解释。
,对于最终的结果没有影响,通过学习,最终是要能够得出一组最优策略,而对于每个状态的具体值是多少不关注,关注的是值之间的一个差异性。
12.
每个状态的状态值函数的值是由当前状态下的动作值函数的值以及动作的选择概率说确定的。
我们可以用一幅回溯图来表示它们之间的关系:
V(s)(s,a'
)Q(s,a'
)
13.动作值函数的值Q(s,a)可以被分成两部分,期望立即奖赏值,该值不依赖与策略
和后续回报值的累加和,该值依赖于后续状态和策略。
我们依然用一个回溯图来表示,
根节点是一个动作(状态-动作对),分支节点是可能的后续状态:
根据上图,给出Q(s,a)和V(s'
)之间的等量关系。
答:
Q(s,a)Ps;
'
{R;
V(s'
14.根据高尔夫球问题,描述最优状态值函数。
对与每次球的落点,根据动作driver和putter所能到达的不同落点和每个落点的状
态值,确定下一个所要到达的状态,并计算每个状态的状态值函数的值。
15.根据高尔夫球问题,针对Q*(s,putter),描述最优动作值函数。
Q*(s,putter)是指在状态s下,采用动作putter,根据所可能到达的状态,结合每
个状态所能采取的动作,分别是putter和driver,计算Q*(s,putter)。
16.针对环保机器人,给出动作值函数的Bellman等式。
17.图3.8给出格子世界中的最优状态的最优值函数的值——24.4。
利用你所了解的最优策
略的知识和公式(3.2),以数学的形式计算该值,并给出如何利用该值计算周围三个状态值。
设最优状态的值为x
4
x00.9*(0.94x)
计算得x=24.4周围三个状态的值都是x=0+0.9*24.4=22.0
二、动态规划
1.假如是等概率随机策略,试计算Q(11,down)和Q(7,down).
Q(s,a)
psas'
[Rsas'
V(s'
)]
Q
(11,down)
000
(7,down)
1(14)
15
2.假设在表格中状态
13下方添加一
新的状态15,动作分别是:
left,up,right,down,分别
到达状态12,13,14和15。
假设其他初始状态的状态转向没有改变。
采用等概率随机
策略时,V(15)的值是多少?
现假设状态13的状态转向发生变化,即采用down时从
状态13到达状态15,采用等概率随机策略,V(15)的值又是多少?
a.V(15)
(1
V(15)
(1)V(12)
(1)V(13)
(1)V(14))/4
(22
(20)
(14)V(15)(4))/4
解得:
V
(15)
19.67
20
b.V(13)
(4
V(12)
V(9)V(14)V(14))/4
(1)
V(15)((4)V(15)V(12)V(13)V(14))/4
(2)
联立公式
(1)
(2)解得:
V(13)19.920V(15)19.620
注:
该题还可以这么考虑,对于状态15来说,其实完全是等同于没有加状态15之前的状态13(从它的状态转向和相对于吸收状态的位置,并且当状态15的值为20,
正好满足最终的稳定状态时的值),故,其值应该是20。
3.根据公式(4.3)、(4.4)和(4.5),试给出对应的动作值函数Q。
Q(s,a)E{Rt|Sts,ata}
E{rt1Q(s'
)|sts'
aa
Pss'
{Rss'
sssss'
(s'
)Qa'
Qk1(s,a)Psas'
)Qk
4.(编程)根据例4.2,并改变以下条件,写一个策略迭代的程序解决汽车租赁问题。
在租赁一店,有一雇员每晚需要乘公交车回家,而且她的家离租赁二店很近。
因此,她很乐意免费将一辆车从一店开往二店。
对于其他要移动的车辆每次仍然需要花费2美圆。
另外,jack每地的停车场空间有限。
假如每地每晚停放10辆以上的汽车(在汽车移动之后),那么就需要使用第二个停车场,并且需要付额外的4美圆(不管有多少车停在那里)。
这类非线性随机问题经常发生在现实生活中,除了动态规划方法,其他的最优策略一般都很难解决这类问题。
为了检查所编写的程序,可以先将原始问题所给出的答案复制下来。
假如你的电脑比较慢,你可以将汽车的数量减半。
提示:
环境的搭建
a.状态的表示——在二维平面中,利用坐标表示状态
b.动作的表示——需要移动的车的数量,区分正向和反向(假设正向为从一店移动到二店)
c.立即奖赏——由每天租车的数量的盈利、移动费用及停车场费用构成
d.状态的迁移——由两个泊松分布及动作决定
e.动作的选择——开始采用随机策略(方向定为,从车多的店往车少的店移动)
f.初始状态的回报值都设为0
5.考虑如何利用策略迭代计算动作值函数?
参考图4.3计算V*,试给出一个完整的算法计算Q*。
1、初始化
对于任意sS,
(s)
A(s),
Q(s,(s))R
2、策略评估
Repeat0
Foreachs
S
vQ(s,
(s))
Q(s,(s))
P'
(s)s'
ss'
[Rss'
(s)(s'
(s'
))Q(s'
))]
max(
|v
Q(s,
(s))|)
(一个极小的数)
Until
3、策略改进
policystableture
ForeachsS
b(s)
(s)argmaxas'
Psas'
[Rsas'
maa'
xQ(s'
)]
Ifb(s)thenpolicystablefalse
Ifpolicystablethenstop;
elsegoto2
6.假如仅仅考虑soft策略,即在每一状态s所选择一动作的概率至少是/|A(S)|。
以步骤3-2-1的顺序,详细描述在图4.3中的V*的策略迭代算法每步的变化。
考虑动作选择的概率,并添加至更新公式。
7.考虑为什么描述赌徒问题最优策略的曲线会如图4.6所示?
比如,当赌徒的资金数是50
美元的时候,他一次性压上所有的资金,但是当他的资金数是51美元的时候他却不这
么做。
试说明为什么说这是一个比较好的策略?
(1)根据问题的描述,赌徒问题的最终目标是能够赢取100美元,那么对于策略来说,要求该策略使得赌徒在每一个状态下,能够获得尽量大的赢取概率,这里的赢取概率其实就是回报值。
参考图4.6的上图,我们发现,对于下图的策略,上图的赢取概率一直在增加,我们可以认为这是一个比较好的策略。
(2)其实判断一个策略的好坏,-在4.2节中,我们知道,可以通过计算Q(s,a)来
判断。
8.(编程)编程实现,当p=0.25和p=0.55,得到赌徒问题的最优策略。
程序执行后,你将
很容易解释两个假定的最终状态,最后资金数分别是0和100,反馈值分别设定为0和
1。
将你的结果表示的如同图4.6一样。
观察你的策略是否稳定,即0?
提示:
a.状态的表示——赌徒手中的资金数目
b.动作的表示——a{1,2,,min(s,100s)}
c.立即奖赏——当资金数达到100,奖赏为1,其他为0
d.状态的迁移——赌徒手中资金的改变
e.动作的选择——开始采用随机策略(从可选动作中随机选择)
9.参考公式(4.10),试给出动作值函数的迭代公式Qk1(s,a)?
Qk1(s,a)psas'
ma'
xQk(s'
a
s
、蒙特卡罗
1.考虑图5.2中右边的两幅图表,为什么值函数在尾部最后两行突然跳高?
为什么在最左边一行值又下降了?
为什么上图中最突出的值要比下图还要大?
①sum=20或21时,player'
policyissticks,此时Return=1的几率较大,获胜的概
率较大;
②dealer爆点的概率小,获胜的概率大。
因为Ace即可以当1用,又可当11用。
③有Ace时爆点的概率小,获胜的概率大。
2.蒙特卡罗估计Q”值的回溯图是什么样的?
如下图。
■终止状态
3.已知策略n下产生的返回值,则与(5.3)类似的蒙特卡罗对动作值的估计计算式是什么?
LetPj(s,a)禾口p/s,a)denotetheprobabilitiesofthatcompletesequeneehappening
givenpolicies禾口andstartingfroms,takingactiona。
其中,在时刻t
T⑸1
p(st,ajP阳(Sk,ak)Ps:
;
ki
kt1
PiSaJ
Pi(St,at)
Tj(s)1
Pat
^Stst1
「i(s)1
pat
^stst1
Ti(s)1
(sk,ak)(sk,ak)
(Ti(s)
isthetimeofterminationoftheithepisodeinvolvingstates.)
4.跑道问题(编程)
5.修改first-visitMC策略估计(图5.1)算法,使用2.5节中介绍的静态平均值的增量实现技术。
初始化:
nJ要被估计的策略
VJ0
无限次重复:
(a)使用策略n产生一个episode
(b)对于出现在该episode中的每个状态s
RJ伴随s第一次发生的返回值
1
Vn1(s)Vn(s)——(RVn(s))
n1
用first-visitMC算法来估计V(增量实现)
6.按照从(2.1)式中获得不加权规则(2.4)式的形式,从(5.4)式中得到对平均值加权的更新规则(5.5)。
k1WkRk
k1k
n
k1WkRkWniRni
W7l
7.修改of-policy蒙特卡罗控制算法(图5.7),使之能使用上面介绍的算法来递增计算加权的平均值。
初始化,对于任意s?
S,a?
A(s):
Q(s,a)J任意值
n^任意的一个确定的策略
无限次重复:
(a)选择一个策略n并用它产生片段
so,ao,门,S1,a1,r2,…,st-1,aT-1,「t,st
(b)J使a护(st成立的最晚的时间
(c)对于在时间t或t后出现在片段中的每对s,a:
s,a的时间,t
sk,ak
tJT时间之后,第一次出现的对于第n个episode
Wnif1Jn
Q(s,a)nRn
Q(s,a)n
Q(s,a)n1
RnQ(s,a)n1
Else
n(s)JargmaxaQ(s,a)
四、TD学习
1.这个练习是帮助你去形成一种直觉,这种直觉是关于为什么时间差分方法比蒙特卡罗方法更有效。
考虑驾车回家的例子,它是怎样被时间差分方法和蒙特卡罗方法表述的。
你
能够想象这样一个场景,在这个场景中,时间差分更新平均优于蒙特卡罗方法吗?
给出一个示例场景一一对过去经验的描述和一个当前状态一一在其中你期望时间差分更新更好。
假设你有许多驾车回家的经验。
后来你搬到了一幢新楼,停车地点也发生
了变化(但是你仍然在相同的地方进入高速公路)。
现在你正在学习这个新楼的预计值。
在这种情况下至少是在最初时,你能看到为什么时间差分更新可能更好一点吗?
可能这个相同类型的事件发生在初始任务。
略
2.从图6.6可以看出第一个片段仅仅导致V(A)的改变。
通过第一个情节之后,能说明什
么问题?
为什么只有第一个状态的估计改变呢?
它准确地改变了多少呢?
1在第一个情节中,Agent向左移动一步,并到达左边的吸收状态,情节结束
2)Agent向左移动一步,并到达左边的吸收状态,情节结束,并没有达到其他状态,因此其他状态的V值没有发生变化
3)计算公式如下:
V(A)V(A)(RV仃)V(A))
0.50.1*(000.5)
0.45
3.你认为通过选择不同的步长参数,但仍然保持是一个常量的话,算法能明显地比图
6.7中所示的效果更好吗?
为什么或者为什么不呢?
步长参数体现当前样本对整个样本空间的影响,值越大,表明当前样本对整个
样本空间的影响越大,反之亦然。
且当值越大时,算法的收敛速度越快,同时收敛
效果变差,当值越小时,算法的收敛速度越慢,同时收敛效果变号,这个通过图6.7
可以看出。
4.在图6.7中,TD方法的RMS误差似乎先减少然后又增加,特别是在高的-中。
什么导
致这个结果的发生呢?
你认为这是一直发生的呢,还是这可能是一个函数关于近似值函
数怎样初始化的问题呢?
一直会发生,但并不是一直增加,可能在某一个时刻,曲线又出现下降的趋势。
当值越大,表明当前样本对整个样本空间的影响越大,反之亦然。
因此,当值较大,
并且算法趋近于收敛时,如果当前的样本较差,就容易使得收敛曲线发生震荡。
5.我们上面所述的随机行走任务的对A到E的所有状态的真实值是16,26,36,46和
56。
至少用两种可以计算的方式来描述。
你猜哪种实际上我们已经用过了呢?
为什么?
1)先确定V(C)的值为0.5
2)不确定V(C)的值,直接计算
猜测:
第一种方法被用过,在例子的描述中,有提到确定V(C)的值为0.5
6.使用King'
sMoveS勺有风的格子世界(编程)假设有八个可能的动作解决有风的格子
世界任务,包括斜向动作而不是通常的四个。
你能将额外的动作做得更好吗?
如果加入
第九个没有任何移动的动作而不是由风导致的动作你怎样做得更好?
7.随机风(编程)利用King'
sMove解决有风的格子世界问题,假设如果有风则风是随
机的,有时候是从1变化到给定的每一列的平值。
这也是第三次你根据这些值精确地移动,和上一个练习一样,但也是第三次你在一个格子上方移动或者第三次在一个格子下方移动。
例如,如果你有一个在其目标的右边,你往左移动,但是有三分之一的时间你
移动到目标的上方,三分之一的时间你移动两个格子在目标的上方,三分之一的时间你
移动到了目标。
8.Sarsa的更新图是什么?
如下:
9.考虑与Q—学习一样的学习算法,除了用期望值取代了下一状态—动作对上的最大值,
这个期望值考虑了当前策略下每个动作的可能性。
也就是考虑这个算法与Q—学习一样
除了更新规则之外。
Q(st,at)Q(st,at)[rt!
E{Q(q「atJ|sjQ(St,aJ]
QG’aJr“(s,a)Q(q「a)Q(st,q)
这是一个属于on—policy或off—policy的新方法吗?
这个算法的更新图是什么?
给定相同数目的经验,你认为这个方法比Sarsa好还是坏呢?
哪些因素可能影响这个方法与
Sarsa的比较?
1)属于on—policy
3)比sarsa算法略好
soft的话,的值越大,值性能越接近
4)动作选择的概率(s,a),如果是
Q-Learning
10.设计一个无折扣、连续任务的on—policy方法。
11.描述怎样才能用后状态来描述Jack的汽车租赁任务。
嗨,对于这个特别的任务,任务
重新变化后,收敛速度可能有所提高?
主要考虑汽车租赁中状态时由经营者两个车库中剩余数量和顾客租赁的数量共同决定的,参照tic-tac-toe的例子。