《强化学习》-读书笔记-第三章 有限马尔科夫决策过程
三. 有限马尔科夫决策过程(有限MDP)
在有限MDP中,状态、动作和收益的集合( S S S、 A A A和 R R R)都只有有限个元素。
p ( s ′ , r ∣ s , a ) = P r { S t = s ′ , R t = r ∣ S t − 1 = s , A t − 1 = a } p(s',r|s,a)=Pr\{S_t=s',R_t=r|S_{t-1}=s,A_{t-1}=a\} p(s′,r∣s,a)=Pr{St=s′,Rt=r∣St−1=s,At−1=a}
S t S_t St和 R t R_t Rt的每个可能值出现的概率只取决于前一状态 S t − 1 S_{t-1} St−1和前一动作 A t − 1 A_{t-1} At−1,并且与更早之前的状态和动作完全无关。
目标和收益
- 智能体的目标是最大化其收到的总收益;
- 提供收益的方式必须要使智能体在最大化收益的同时也实现目标;
- 收益信号并不是传授智能体如何实现目标的先验知识;
- 收益信号只能用来传达什么是你想要实现的目标,而不是如何实现这个目标;
回报和分幕
回报是收益的总和:
G t = R t + 1 + R t + 2 + R t + 3 + 。 。 。 + R T G_t=R_{t+1}+R_{t+2}+R_{t+3}+。。。+R_{T} Gt=Rt+1+Rt+2+Rt+3+。。。+RT
T T T是最终时刻,智能体与环境的交互被分成一个个子序列,我们称每一个子序列为幕(episodes)。
折扣后回报:
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + 。 。 。 = ∑ k = 0 ∞ γ k R t + k + 1 G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+。。。=\sum_{k=0}^\infty \gamma^kR_{t+k+1} Gt=Rt+1+γRt+2+γ2Rt+3+。。。=k=0∑∞γkRt+k+1
其中, 0 ≤ γ ≤ 1 0\leq\gamma\leq 1 0≤γ≤1是一个参数,称为折扣率。
增量式计算回报:
G t = R t + 1 + γ G t + 1 G_t=R_{t+1}+\gamma G_{t+1} Gt=Rt+1+γGt+1
策略和价值函数
策略是从状态到每个动作的选择概率之间的映射,例如: π ( a ∣ s ) \pi(a|s) π(a∣s)。
把策略 π \pi π下状态 s s s的价值函数记为 v π ( s ) v_{\pi}(s) vπ(s),其定义为:
v π ( s ) = E π [ G t ∣ S t = s ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] v_{\pi}(s)=E_{\pi}[G_t|S_t=s]=E_{\pi}[\sum_{k=0}^{\infty}\gamma^kR_{t+k+1}|S_t=s] vπ(s)=Eπ[Gt∣St=s]=Eπ[k=0∑∞γkRt+k+1∣St=s]
把函数 v π v_{\pi} vπ称为策略 π \pi π的状态价值函数。
把策略把策略 π \pi π下状态 s s s时采取动作 a a a的价值记为 q π ( s , a ) q_{\pi}(s,a) qπ(s,a),其定义为:
q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s , A t = a ] q_{\pi}(s,a)=E_{\pi}[G_t|S_t=s,A_t=a]=E_{\pi}[\sum_{k=0}^{\infty}\gamma^kR_{t+k+1}|S_t=s,A_t=a] qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[k=0∑∞γkRt+k+1∣St=s,At=a]
把函数 q π q_{\pi} qπ称为策略 π \pi π的动作价值函数。
贝尔曼方程:
v π = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] , 对 于 所 有 的 s ∈ S v_{\pi}=\sum_a\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_{\pi}(s')], 对于所有的s\in S vπ=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)],对于所有的s∈S
最优策略与最优价值函数
v ∗ ( s ) = max π v π ( s ) q ∗ ( s , a ) = max π q π ( s , a ) v_{*}(s)=\max_{\pi}v_{\pi}(s)\\ q_{*}(s,a)=\max_{\pi}q_{\pi}(s,a) v∗(s)=πmaxvπ(s)q∗(s,a)=πmaxqπ(s,a)
贝尔曼最优方程:
v ∗ ( s ) = max a E [ R t + 1 + γ v ∗ ( S t + 1 ) ∣ S t = s , A t = a ] = max a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v ∗ ( s ′ ) ] v_{*}(s)=\max_{a}E[R_{t+1}+\gamma v_{*}(S_{t+1})|S_t=s,A_t=a]\\ =\max_{a}\sum_{s',r}p(s',r|s,a)[r+\gamma v_{*}(s')] v∗(s)=amaxE[Rt+1+γv∗(St+1)∣St=s,At=a]=amaxs′,r∑p(s′,r∣s,a)[r+γv∗(s′)]
贝尔曼最优方程可以直接求解,但是需要满足以下条件:
- 知道环境的动态变化特性;
- 足够的计算资源;
- 马尔科夫性质;
实际系统中,上述条件很难满足。
更多推荐

所有评论(0)