强化学习(二)——动态规划

文章目录

  • Reference
  • 1. 预测(Prediction)
    • 1.1 策略评估(Iterative Policy Evaluation)
  • 2. 控制(Control)
    • 2.1 策略迭代(Policy Iteration)
    • 2.2 价值迭代(Value Iteration)
    • 2.3 比较(Compare)

Reference

[1] https://github.com/datawhalechina/easy-rl
[2] David_Silver: https://www.youtube.com/watch?v=Nd1-UUMVfz4&t=1113s

1. 预测(Prediction)

定义
输入策略和MDP五元组,输出策略的状态价值函数 v π v_\pi vπ
在这里插入图片描述

1.1 策略评估(Iterative Policy Evaluation)

(1)定义
一种预测方法。通过重复迭代贝尔曼期望方程,直至方程收敛,来获得状态价值函数 v π v_\pi vπ
强化学习(二)——动态规划_第1张图片
(2)举例
强化学习(二)——动态规划_第2张图片强化学习(二)——动态规划_第3张图片

2. 控制(Control)

(1)定义
输入MDP五元组,输出最优策略 π ∗ \pi_* π和最优价值函数 v ∗ v_* v
在这里插入图片描述

2.1 策略迭代(Policy Iteration)

(1)定义
策略迭代由策略评估(Policy Evaluation)和策略改进(Policy improvement)两部分组成。循环迭代贝尔曼期望方程直至达到收敛即可获得最优价值及其最优策略。
强化学习(二)——动态规划_第4张图片

  • 策略评估:用于预测给定策略 π \pi π的价值函数 v π v_\pi vπ
  • 策略改进:采用贪心策略(greedy),在每个状态下选择最大 q π q_\pi qπ值的动作改进策略。
    q π q_\pi qπ值可以通过 v π v_\pi vπ值获得
    q π i ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π i ( s ′ ) q_{\pi_i}(s,a) = R(s,a)+\gamma \sum_{s' \in S}P(s'|s,a)V_{\pi_i}(s') qπi(s,a)=R(s,a)+γsSP(ss,a)Vπi(s)

强化学习(二)——动态规划_第5张图片

(2)策略改进
采用贪心策略,在每个状态下选择最大 q π q_\pi qπ值的动作改进策略。
强化学习(二)——动态规划_第6张图片
因为 q π q_\pi qπ值可以通过 v π v_\pi vπ值获得,所以重复迭代贝尔曼期望方程(重复策略评估和改进)直到收敛后可以获得最优值,然后停止策略改进。因为最终能够满足贝尔曼最优方程,所以我们也找到了最优价值和策略。
强化学习(二)——动态规划_第7张图片

2.2 价值迭代(Value Iteration)

举例
在采用策略迭代时,因为每一次迭代都会更新当前策略,所以为了达成价值函数收敛,会无意义地产生多次最优策略。
强化学习(二)——动态规划_第8张图片
为了优化策略迭代过程,我们可以使在中间部分不更新策略,仅当价值函数收敛后再更新最优策略。

(1)最优化原理(Principle of Optimality)
强化学习(二)——动态规划_第9张图片
(2)定义
通过循环迭代贝尔曼最优方程直至收敛获得最优价值函数 v ∗ v_* v
强化学习(二)——动态规划_第10张图片
然后根据获得的 v ∗ v_* v找到对应的最优策略 π ∗ \pi_* π
在这里插入图片描述
(3)举例
强化学习(二)——动态规划_第11张图片

2.3 比较(Compare)

策略迭代和价值迭代获得的最优策略是一致的。
强化学习(二)——动态规划_第12张图片

  • 策略迭代:循环迭代贝尔曼期望方程,每次迭代在策略评估的后都进行了策略改进,每次迭代都生成了一次策略
  • 价值迭代:循环迭代贝尔曼最优方程,迭代中不生成策略。仅在迭代收敛后生成最优策略

你可能感兴趣的:(强化学习,动态规划,贪心算法,强化学习)