You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/8-Reinforcement/1-QLearning/translations/assignment.zh-cn.md

28 lines
2.6 KiB

# 一个更真实的世界
我们假想,彼得几乎可以一直走动而不会感到疲倦或饥饿。但在一个更真实的世界里,我们需要时不时地坐下来休息,也要吃东西。让我们加入以下规则让我们的世界更真实:
1. 从一个地方走到另一个地方,彼得失去了**能量**并获得了一些**疲惫**。
2. 彼得可以通过吃苹果来获得更多的能量。
3. 彼得可以通过在树下或草地上休息来消除疲惫(即走进有树和草的棋盘位置——绿色的格子)
4. 彼得需要找到并杀死狼
5. 为了杀死狼,彼得需要有一定级别的能量和疲惫,否则他会输掉这场战斗。
## 说明
使用原始 [notebook.ipynb](../notebook.ipynb) 笔记本作为解决方案的起点。
根据游戏规则修改上面的奖励函数,运行强化学习算法来学习赢得游戏的最佳策略,并在游戏赢/输的数量上将你的算法和随机走动算法进行对比。
> **注意**在你的新世界中状态更加复杂除了人体位置还包括疲惫和能量水平。你可以选择将状态表示为一个元组Board、energy、fatigue或者为状态定义一个类你可能还想从 `Board` 派生它),甚至在 [rlboard.py](../rlboard.py)中修改`Board`的源码。
在你的解决方案中,请保留负责随机走动策略的代码,并在最后将你的算法与随机走动算法进行比较。
> **注意**:你可能需要调整超参数才能使其工作,尤其是 epoch 数。因为游戏的成功(与狼搏斗)是一个罕见的事件,你需要更长的训练时间。
## 评判标准
| 标准 | 优秀 | 中规中矩 | 仍需努力 |
| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| |笔记本上有新世界规则的定义、Q-Learning 算法和一些文字解释。与随机游走相比Q-Learning 能够显著改善结果 | 介绍了 Notebook实现了 Q-Learning 并与随机走动算法相比提高了结果,但不显著;或者 notebook 的文档不完善,代码结构不合理 | 一些试图重新定义世界规则的尝试,但 Q-Learning 算法不起作用,或者奖励函数没有完全定义 |