我们以一个迷宫寻宝的游戏为例来看什么是 Q-learning。
在这个游戏中,agent 从一个给定的位置开始,即起始状态。
在不穿越迷宫墙壁的前提下,在每个状态时,都可以选择上下左右四个方向走一步,或者原地不动,
上下左右这四个动作的每一个都会将 agent 带到网格的一个新的单元格,即新的状态,
在迷宫中有一个网格处有宝箱,这个网格就是目标状态,
此外,在某些网格处还有一些炸弹,
我们的目标是找到一条没有炸弹的路径,以最快的速度从起始状态到达目标状态。
这个迷宫就是 environment,
将 agent 放在里面时,它首先需要探索,因为它不知道炸弹是什么在哪里,也不知道宝藏是什么在哪里,
我们通过给它 rewards 来告诉它炸弹和宝藏的概念,
遇到炸弹就 -10,
遇到宝藏就 +10,
为了让 agent 找到最短路径,我们可以给其他状态的奖励为 -1,
告诉 agent 它的目标是使奖励最大化,
然后 agent 就可以开始探索了,过程中它会学习到炸弹是有害的,宝藏是好的,还能找到最短路径。
Q-Learning 就是要学习在一个给定的 state 时,采取了一个特定的行动后,能得到的奖励是什么。
这时可以用一个表格来记录每组 st