强化学习实践(二):Gridworld

文章目录
  1. 1. 问题
  2. 2. 元素
  3. 3. 目标
  4. 4. 实现

《Reinforcement Learning: An Introduction》在第三章中给出了一个简单的例子:Gridworld, 以帮助我们理解finite MDPs, 同时也求解了该问题的贝尔曼期望方程贝尔曼最优方程. 本文简要说明如何进行编程求解.


问题

下图用一个矩形网格展示了一个简单finite MDP - Gridworld.
网格中的每一格对应于environment的一个state.
在每一格, 有四种可能的actions:上/下/左/右, 对应于agent往相应的方向移动一个单元格.
使agent离开网格的actions会使得agent留在原来的位置, 但是会有一个值为-1的reward.
除了那些使得agent离开state Astate B的action, 其他的actions对应的reward都是0.
处在state A时, 所有的actions会有值为+10的reward, 并且agent会移动到state A'.
处在state B时, 所有的actions会有值为+5的reward, 并且agent会移动到state B'.

Girdworld示意图


元素

  • 状态(State): 网格的坐标, 共 $5 \times 5 = 25$ 个状态;
  • 动作(Action): 上/下/左/右四种动作;
  • 策略(Policy): $\pi(a | s) = \frac14 \; \text{for} \; \forall s \in S, \text{and} \; \forall \; a \in \{↑,↓,←,→\}$;
  • 奖励(Reward): 如题所述;
  • 折扣因子(Discount rate): $\gamma \in [0, 1]$, 本文采用 $\gamma=0.9$.

目标

  • 使用贝尔曼期望方程, 求解给定随机策略 $\pi(a | s) = \frac14$ 下的状态值函数.
  • 使用贝尔曼最优方程, 求解最优状态值函数.

实现

分享到 评论