本文根据Udacity课程提炼而成,供自己复习、参考时使用。
马尔科夫决策过程由状态(state:S),奖励(reward:R),动作(action:A)和状态转移矩阵(transform:T)和未来的奖励折扣到现时的转换率(γ)组成。其中每个状态会对应一个奖励,而且这个奖励会随着时间的进行不断更新;状态转移矩阵是固定不变的。决策指的是根据现有的状态和每个状态的奖励信息,综合考虑现时以及以后的奖励采取合适的动作使得总奖励(或者说是效用)最大化。
为了寻找最优决策和动作,定义了两个非常重要的概念:策略(policy)和价值函数(value function)。其中价值函数也称作效用(utilities),效用做长期的考虑与评估,前文提到的奖励只考虑一个个不同的时刻。
引入折扣系数:如果不采用折扣系数,那么每个位置的效用都将是无穷的,无法选择最优,但是当采用处在(0,1)之间的折扣系数后,效用变得可以比较。
系统稳定性:系统稳定性指的是转移矩阵不变。
Bellman方程:
v(s)=E[Rt+1+λv(St+1)|St=s]
价值函数可以通过迭代求解。
从价值迭代推导出策略迭代:
Q∗(s,a)=Es′[r+λmaxa′Q∗(s′,a′)|s,a]
注意:价值迭代过程中需要求解出每个状态的最大价值,具有非常强的非线性,难以求解。实际上我们可以不用求解出每个位置的最大价值,我们只需要找到最合适的动作。求解出每个状态的价值,再在这些价值的基础上选择最优的动作,可以避免非线性问题,得出最优决策。