File tree Expand file tree Collapse file tree 4 files changed +56
-0
lines changed
Expand file tree Collapse file tree 4 files changed +56
-0
lines changed Original file line number Diff line number Diff line change 177177 * [ 蒙特卡洛树搜索] ( dl/reinforcement/meng-te-qia-luo-shu-sou-suo.md )
178178 * [ 多臂赌博机\( Multi-arm Bandits\) ] ( dl/reinforcement/multi-bandit.md )
179179 * [ 马尔可夫决策过程MDP] ( dl/reinforcement/mdp.md )
180+ * [ 动态编程] ( dl/reinforcement/dynamic-programming.md )
180181* [ 进化算法] ( ml/evolution/evolution.md )
181182 * [ 遗传算法] ( ml/evolution/yichuansuanfa.md )
182183
Original file line number Diff line number Diff line change 1+ ## ** 1. Introduction:DP(Dynamic Programming)** {#1 -introductiondpdynamic-programming}
2+
3+ 1 . ** 定义**
4+ * 解决复杂问题的一种方法。将多阶过程分解为一些列单阶段问题,逐个求解,最后结合起来以解决这类过程优化问题。
5+ * 同时,将这些子问题的解保存起来,如果下一次遇到了相同的子问题,则不需要重新计算子问题的解。
6+ 2 . ** DP主要用于解决含有以下两点特性的问题**
7+
8+ * 最优子结构:最优解能被分解为子问题,最优应用原则
9+ * 覆盖子问题:子问题多次出现,子问题的解可以被缓存和重复利用
10+ 3 . MDPs满足上述两条性质
11+
12+ * 贝尔曼等式给出递归分解形式,可以切分成子问题。
13+ * 值函数存储和重复利用可行解,即保存了子问题的解** => ; ** 可以通过DP求解MDPs
14+ 4 . 应用:用于MDP中的决策问题
15+
16+ 针对MDP,切分的子问题就是在每个状态下应该选择哪个action。同时,这一时刻的子问题取决于上一时刻的子问题选择了哪个action。
17+
18+ ![ ] ( /assets/mdp-dp1.png )
19+
20+ 注意:当已知MDPs的状态转移矩阵时,环境模型就已知了,此时可看为planning问题。
21+
22+ ## ** 2. Policy Evaluation** {#2 -policy-evaluation}
23+
24+ 基于当前的policy计算出每个状态的value function。
25+
26+ 1 . ** Iterative Policy Evaluation,策略迭代估计**
27+
28+ * 问题:评估一个给定的策略
29+ * 解决方法:迭代,贝尔曼期望备份,
30+ v1→v2→⋯→vπ
31+ * 采用同步备份
32+
33+ ## ** 3. Policy Iteration** {#3 -policy-iteration}
34+
35+ 解决过程分为2步
36+
37+ 1 . ** policy evaluation**
38+ 基于当前的policy计算每个状态的value function
39+
40+ 2 . ** Policy Improvement**
41+ 基于当前的value function,采用贪心算法来找到当前最优秀的policy
42+
43+ ![ ] ( /assets/mdp-dp2.png )
44+
45+ eg: Given a policyπ
46+
47+ evaluate the policy π:vπ\( s\) =E\[ Rt+1+γRt+2+⋯\| St=s\]
48+
49+ improve the policy by acting greedy with respect to vπ:π′=greedy\( vπ\)
50+
51+ 注意:** 该策略略迭代过程总是会收敛到最优策略π∗。**
52+
53+
54+
55+
You can’t perform that action at this time.
0 commit comments