dynamicprogramming指已知MDP环境信息计算optimalpolicy的一系列算法。DP要求环境model,...
4.1 Policy Evaluation (Prediction)
首先思考计算任意

4.2 Policy Improvement
得到了一个policy的value function,就可以更新policy。首先考虑deterministic policy(本章中方法皆可扩展到stochastic policy)。考虑在一个state4.3 Policy Iteration
不断做policy evaluation和policy improvement,每一步都可以得到strictly better policy,最终可以得到optimal policy。这种方法称为policy iteration

4.4 Value Iteration
一个policy iteration的缺点是,每次都要policy evaluation。我们不必每次都等value function收敛,如value iteration:

4.5 Asynchronous Dynamic Programming
之前讨论的DP方法,都需要将state重复扫。asynchronous DP用任意顺序,利用任何available的下一步数据。有的数据可能更新几次了,有的可能还没更新,有的利用out-of-date数据更新。需要保证不忽略states,但很flexible。in-place iterative methods。比如有一种就是一次只更新一个state,逐个更新。只要保证所有的都能更新无限次就ok。不扫state并不意味着计算量减很多,只是通过选择state来加速,选择更新顺序来让信息流动更迅捷。有了asyn DP,我们也可以让agent和环境交互时,实时更新state value,让算法关注和agent关系更近的states。4.6 Generalized Policy Iteration
policy iteration,value iteration,asyn DP都是policy evaluation和policy improvement的各种结合,最终目标都是找到optimal value function和optimal policy。generalized policy iteration (GPI) 来表示policy evaluation和policy improvement的交互。大部分RL方法都可以用GPI表示,即有不同的policy和value function,用value funtion来更新policy,让value function更接近policy的true value funtion。当evaluation和improvement都稳定时,即converge了,得到optimal,满足Bellman equation。policy稳定表示它greedy了当前value function;value function稳定表示它是policy的value function。

4.7 Efficiency of Dynamic Programming
DP可能不适用于大问题,但其实挺efficient。找到optimal的时间和states actions数成polynomial,而且还能保证找到optimal,比把所有policies都试一次好很多,which is exponential time。DP方法受限于curse of dimensionality,即state数量随着state variable的增长呈exponential growth。policy iteration和value iteration用得都很广泛,很难说哪个更好。一般都比worst case要好很多,尤其是initial policy,value设置得好。state很多时,一般用asyn DP。4.8 Summary
用一个estimate来更新estimate,称为bootstrapping。在RL里很常见。本文标题: Intro to RL Chapter 4: Dynamic Programming
本文地址: http://www.lzmy123.com/duhougan/138293.html
如果认为本文对您有所帮助请赞助本站