马尔可夫奖励过程的Bellman方程如下:
这个方程可用矩阵形式简单表达:
对于$n$ 个状态的价值函数,也可以通过解矩阵方程得到:
1 | def compute_value(Pss, rewards, gamma = 0.5): |
网格问题(policy evaluation)
1 | import numpy as np |
求解随机选择策略下的贝尔曼方程得到的价值函数
求解最优贝尔曼方程得到的价值函数
4*4方格游走问题(PE)
1 | import numpy as np |
结果如下
1 | In-place: 113 iterations |
这个网格问题和上一个用的是同样的方法,都是策略评估,只是环境有些细微区别。
4*4方格问题(两种方法)
1 | # 4*4方格问题 策略迭代和价值迭代,策略迭代包括随机策略和贪心策略 |
杰克租车问题(策略迭代)
1 | import matplotlib.pyplot as plt |
输出:
显示在迭代计算4次之后收敛到了最佳策略。
赌徒问题
1 | import matplotlib.pyplot as plt |