算法解析:(结合《强化学习——原理与Python实现》P18-19理解)
1.动力系统中的各个参数在一开始就是确定值
2.策略π中每个状态下的动作选择概率随机分配,因为这个概率值是可变的,但在迭代后会收敛
3.状态转移图中,每个状态的初始状态值指定为0
4.根据策略π确定该状态选择的动作,再和状态S的初始值一起代入到状态值计算公式,更新S的状态值。
5.状态值更新收敛之后,就可以通过比较在状态S下,各个动作的价值,将价值较大的动作确定为该状态下的动作选择结果,修改测量π中该状态和动作的概率值为1,该状态下其他动作的选择概率为0。
6.比较更新后的策略π和更新前的策略是否相同,相同表示策略已经收敛,得到的就是最有策略;如果不同,就表明不是最优,用更新后的策略π继续去更新每个状态S的状态值。
7.交替迭代状态更新和策略更新,直到得到价值最优和策略最优。