强化学习原理python篇01——基本概念
本章全篇参考赵世钰老师的教材 Mathmatical-Foundation-of-Reinforcement-Learning Basic Concepts章节,请各位结合阅读,本合集只专注于数学概念的代码实现。
通过一个例子来介绍强化学习的基本概念。
网格世界例子
如下图所示,有一个机器人在该网格世界中,他的目标是 目标方块 并且只能在白色方块中移动,一次只能移动一步,那如何找到 最好的策略 去找到目标点呢?
对我们(上帝视角)来说,知道网格世界的地图是非常重要的,对机器人来说,他不知道地图的任何信息,他该如何找到目标呢?
状态和行动
状态
定义:描述机器人在该环境中所处的场景
在该任务中,每一个方块队机器人来说就是一个状态,用数学符号 s s s表示,下表表示方块的位置,则九个方块的所有状态表示为:
S = s 1 , . . . , s 9 S={s_1,...,s_9} S=s1,...,s9
行动
定义:机器人在某一状态时,可以采取的措施和动作
在该任务中,当机器人处于其中一个方块中时,他有五种选择,向上走,向右走,向下走,向左走,保持不动,用数学符号 a a a表示,则五个方块的所有状态表示为:
A = a 1 , . . . , a 5 \Alpha={a_1,...,a_5} A=a1,...,a5
状态转移
当发生行动是,机器人的状态就改变了,比如在 s 1 s_1 s1状态向右移动到 s 2 s_2 s2状态,用数学符号表示为
s 1 → a 2 s 2 s_1 \stackrel{a_2}{\rightarrow } s_2