基本概念:
一个马尔可夫决策过程由一个四元组构成M = (S, A, Psa, R)
立即回报函数r(s,a)无法说明策略的好坏。因而需要定义值函数(value function,又叫效用函数)来表明当前状态下策略π的长期影响。 是值函数最常见的形式,式中γ∈[0,1]称为折合因子,表明了未来的回报相对于当前回报的重要程度。特别的,γ=0时,相当于只考虑立即不考虑长期回报,γ=1时,将长期回报和立即回报看得同等重要。
下个时刻将以概率p(s'|s,a)转向下个状态s',那么上式的期望可以拆开,可以重写为:
注意在值函数中,策略π和初始状态s是我们定,初始动作是 被前两者确定。
动作值函数:
给定当前状态s和当前动作a,在未来遵循策略π,那么系统将以概率p(s'|s,a)转向下个状态s',上式可以重写为:
在Qπ(s,a)中,不仅策略π和初始状态s是我们给定的,当前的动作a也是我们给定的,这是Qπ(s,a)和Vπ(a)的主要区别。
在动态规划中,上述两个式子就是Bellman方程。
优化目标π*可以表示为:
易得最优值函数s状态下的输出就是最优动作函数取最优a情况下的输出。
值函数最优性方程
策略估计:对任意策略计算状态值函数,叫策略估计。一般情况下,都会设定一个policy,来估计某种状态下选择a这个动作的概率,则状态值函数定义如下(某策略π下,π(s)对应的动作a有多种可能,每种可能记为π(a|s)):
获得值函数的过程 :policy evaluation 即仅用一个数组保存各状态值函数,每当得到一个新值,就将旧的值覆盖,形如[Vk+1(s1),Vk+1(s2),Vk(s3)..],第k+1次迭代的Vπ(s)可能用到第k+1次迭代得到的Vπ(s')
策略改进:policy improvment 遍历所有状态和所有可能的动作a,用贪心算法获得新的策略。
策略迭代:就是pe 和pi 交替进行,直到获得稳定的较优的policy