* 实例: 冰壶游戏, 控制冰壶运动至目标位置
* 方法: 基于梯度下降的Sarsa($\lambda$) + 非均匀径向基特征表示
* 环境: Ubuntu16.04 + Python3.6 + Numpy1.17.4
## 1. 实例问题描述
冰壶游戏是要控制一个半径为1, 质量为1的冰壶, 在一个长宽是均为100的正方形球场内移动. 不考虑冰壶的自转. 当冰壶和球场的边界碰撞时, 碰撞前后冰壶的速度会乘上回弹系数0.9, 移动方向和边界呈反射关系.
我们需要分别操纵x轴和y轴的两个力控制冰壶的移动: 在x轴的正或反方向施加5单位的力; 在y轴的正或反方向施加5单位的力. 这样一共会有4种不同的控制动作. 动作可以每1/10秒变换一次; 但在仿真冰壶运动动力学时, 仿真时间间隔是1/100秒. 除了我们施加的控制动作, 冰壶会受到空气阻力, 大小等于$0.005 \times speed^2$. 假设冰壶和地面没有摩擦力.
在每个决策时刻(1/10 秒), 环境反馈的奖励等于−d, 其中d 是冰壶和任意给定的目标点之间的距离. 为了保证学到的策略能够控制冰壶从任意初始位置上