Introduction
在这里,动态规划(Dynamic Programming, DP)指的是一类算法,在MDP中,给定一个完美的environment的模型,它们可以计算相应的optimal policy。
关于MDP,详见之前的三篇博客:[RL] 3 Finite Markov Decision Processes (1)、[RL] 3 Finite Markov Decision Processes (2)、[RL] 3 Finite Markov Decision Processes (3)。
因为DP假设一个完美的environment模型,而且它们的计算费用很高,因此DP在增强学习中实用性有限,但在理论上仍然很重要。
Assumptions
我们假设environment是一个finite MDP,即它的state、action和reward的集合 S,A(s),R 是有限的,它的one-step dynamics(一步变换)由一组概率分布给定 p(s′,r∣s,a),s∈S,a∈A(s),r∈R,s′∈S+ 。
DP的思想可以应用到连续的state和action空间,但只有在特殊例子下才有解。
我们可以将连续的state和action空间离散化,然后使用finite-state DP来获得连续问题的近似解。
Key Idea
DP的主要思想,是利用value function来组织策略的搜索。
optimal value function:
我们将会看到,通过将Bellman equations转化为能够不断优化value function近似值的更新规则,我们将得到我们的DP算法。
Policy Evaluation
首先我们考虑,对任意的 policyπ ,如何计算state-value function vπ 。这在DP中称为policy evaluation(策略估计),我们也称作prediction problem(预测问题)。根据MDP中的推导: