Skip to content
Tolshao
Go back

强化学习笔记3:动态规划 planning by dynamic programming(DP)

规划,适用于MDP模型参数已知 学习,适用于Env未知或部分未知

概述

动态规划分为两步,Prediction、Control

方法:

vk+1(s)=aAπ(as)(Rsa+γsSPssavk(s))v_{k+1}(s)=\sum_{a \in A} \pi(a \mid s)\left(R_{s}^{a}+\gamma \sum_{s^{\prime} \in S} P_{s s^{\prime}}^{a} v_{k}\left(s^{\prime}\right)\right)

右边的vkv_k不确定,但是迭代下去,因为RsaR^a_s确定,所以收敛到真值vπv_\pi

例子

问题:每走一步,r = -1,走到出口可以停止 在随机策略下,迭代k,最使v收敛 得到vπ(s)v^{\pi}(s) -w395 然后最简单的策略,greedy,往v值高的地方走。 -w562

Policy iteration:O(mn2)O(mn^2)

每一步,遍历动作A

Find optim policy: 以Greedy为例,迭代:π=greedy(vπ)\pi' = greedy(v_{\pi}) 策略更新为:

π(s)=argmaxaAqπ(s,a)\pi^{\prime}(s)=\underset{a \in \mathcal{A}}{\operatorname{argmax}} q_{\pi}(s, a)

值函数更新为:

vπ(s)=maxaAqπ(s,a)v_{\pi}(s)=\max _{a \in \mathcal{A}} q_{\pi}(s, a)

主动改变策略,策略改变之后进行评估 根据q值,从集合A中选a,更新策略π\pi,使新q大于之前一步

qπ(s,π(s))=maxaAqπ(s,a)qπ(s,π(s))=vπ(s)q_{\pi}\left(s, \pi^{\prime}(s)\right)=\max _{a \in \mathcal{A}} q_{\pi}(s, a) \geq q_{\pi}(s, \pi(s))=v_{\pi}(s)

证明:

vπ(s)qπ(s,π(s))=Eπ[Rt+1+γvπ(St+1)St=s]Eπ[Rt+1+γqπ(St+1,π(St+1))St=s]Eπ[Rt+1+γRt+2+γ2qπ(St+2,π(St+2))St=s]Eπ[Rt+1+γRt+2+St=s]=vπ(s)\begin{aligned} v_{\pi}(s) & \leq q_{\pi}\left(s, \pi^{\prime}(s)\right)=\mathbb{E}_{\pi^{\prime}}\left[R_{t+1}+\gamma v_{\pi}\left(S_{t+1}\right) \mid S_{t}=s\right] \\ & \leq \mathbb{E}_{\pi^{\prime}}\left[R_{t+1}+\gamma q_{\pi}\left(S_{t+1}, \pi^{\prime}\left(S_{t+1}\right)\right) \mid S_{t}=s\right] \\ & \leq \mathbb{E}_{\pi^{\prime}}\left[R_{t+1}+\gamma R_{t+2}+\gamma^{2} q_{\pi}\left(S_{t+2}, \pi^{\prime}\left(S_{t+2}\right)\right) \mid S_{t}=s\right] \\ & \leq \mathbb{E}_{\pi^{\prime}}\left[R_{t+1}+\gamma R_{t+2}+\ldots \mid S_{t}=s\right]=v_{\pi^{\prime}}(s) \end{aligned}

所以保证了每次迭代,价值函数 与 策略 增长

Value iteration:O(m2n2)O(m^2n^2)

每一步,遍历了状态S和动作A

最优策略:

v(s)=maxaRsa+γsSPssav(s)v_{*}(s)=\max _{a} \mathcal{R}_{s}^{a}+\gamma \sum_{s^{\prime} \in \mathcal{S}} \mathcal{P}_{s s^{\prime}}^{a} v_{*}\left(s^{\prime}\right)

根据值函数,选择策略

值迭代和policy迭代的区别

Trick:

三种值迭代方法: 常规的值迭代,要遍历过所有s之后,才进行一次迭代,因此存在old、new两个v(s)


Share this post on:

Previous Post
强化学习笔记4:无模型预测 model-free prediction
Next Post
MBSE 基于模型的系统工程