强化学习基础算法

一 背景

该部分主要是讲述强化学习一些基础知识,包括MDP,价值迭代以及策略迭代。

二 基础

蛇棋的玩法:

1. 玩家每人拥有一个棋子, 出发点在图标标为1的格子上

2. 玩家依次掷骰子, 根据骰子的点数将自己的棋子向前行进相应的步数。假设笔者的棋子在1处, 并且投掷的棋子可以到达“5”的位置。

3. 棋盘上有一些梯子, 他的俩边与棋盘上的俩个格子相连。如果棋子落在其中的一个格子上,就会自动走到梯子上对应的另一个格子中。

4. 最终的目标是达到“100”处, 如果在到达时投掷的数字加上当前的位置超过了100,那么棋子将首先达到100, 剩余的步数将反向前进。

其他: 认为玩家可以通过使用不同的掷骰子的方法来控制游戏。假设玩家的手法只有俩种:一种可以均匀投掷出1~6这6个数字,另一种可以均匀投掷出1~3这三个数字。这样玩家相当于在每一个状态有俩个选择。

强化学习基础算法_第1张图片
蛇棋游戏
强化学习基础算法_第2张图片
基础代码

三MDP

MDP马尔可夫决策过程。是当前强化学习理论推导的基石。马尔可夫决策过程过程包含以下三层含义:

1. "马尔可夫"表示了状态间的依赖性。当前状态的取值只和前一个状态产生依赖,不和更早的状态产生联系。

2. "决策"表示了其中的策略部分将由Agent决定。Agent可以通过自己的行动改变状态序列, 和环境中存在的随机性共同决定未来的状态。

3. “过程”表示了时间的属性。如果把Agent和环境的交互按时间的维度展开,那么agent行动后,环境的状态发生改变,同时时间向前推进,新的状态产生,Agent将获得观测值,于是新的行动产生,然后状态再更新。

状态值函数:已知当前的状态s, 按照某种策略行动产生的长期回报期望

状态行动值函数: 已知当前状态s和行动a,按照某种策略行动产生的长期回报期望。

                                                

基础公式Bellman:

                 

     

四策略迭代

为了更好展示策略迭代的过程:最优策略policy_ref:前97状态执行1-6掷骰子的action, 后三种状态执行1-3掷骰子的action。策略0policy_0: 所有状态都执行第一种action就是1-6, 策略1policy_1:所有状态都执行第二种action就是1-3。

强化学习基础算法_第3张图片
策略迭代样例
强化学习基础算法_第4张图片
输出结果

策略迭代核心的俩部分:主要是策略评估, 策略提升俩部分。

强化学习基础算法_第5张图片
策略迭代部分

在蛇棋没有梯子的demo:

强化学习基础算法_第6张图片
没有梯子的demo
强化学习基础算法_第7张图片
有梯子的demo

五价值迭代

从上述算法可以看出算法的时间都花在的策略评估上。

强化学习基础算法_第8张图片
包括策略迭代耗时以及价值迭代俩部分
强化学习基础算法_第9张图片
策略迭代耗时

因为策略迭代的策略评估部分耗时严重,所以引入了价值迭代。

你可能感兴趣的:(强化学习基础算法)