本节课主要学习马尔科夫决策过程MDP的核心问题:预测Prediction和控制Control。
- Prediction的意思是说当给定一个马尔科夫决策过程和一个policy,要计算每个状态对应的价值函数value是多少。
- Control的意思是说去寻找一个最佳的策略,他的输入就是这个马尔科夫决策过程,输出是通过寻找最佳策略,同时输出最佳价值函数和最优策略。
- 预测和控制都可以通过动态规划来解决。
1 动态规划
马尔科夫决策过程满足动态规划的要求。
在贝尔曼方程中,分解为一个递归的结构,如果子问题和子状态可以得到一个值,未来状态和子状态直接相连,就可以推算出来,那么价值函数就可以储存和重用最佳的解。所以动态规划是解MDP的一个非常有效的方式。
根据策略函数计算当前价值函数:
从v1->v2->v3·······->vπ,不断的收敛,最终的vπ就是给定策略下当前状态的价值。
简化成马尔科夫奖励过程的表达形式就更为简洁一些,如下:
Policy Evaluation的可视化情况,由近及远不断扩散开来。当run很多次之后,值会进行收敛,收敛到一个稳定的值,每个状态获得一个稳定的value值。
当所有东西都收敛过后,可以通过极大化Q函数来得到最佳的价值。
Q函数是关于动作和状态的函数,所以可以在Q函数上取一个关于动作action最大化的值,直接提取出最佳策略。
策略搜索办法有:
1.直接穷举。穷举效率太低。|A|的S次方中策略。
2.搜索最佳策略的方法有两种:
- 第一,policy iteration
- 第二,value iteration
搜索最佳策略的过程也就是MDP的控制过程,最佳策略的特点有: - deterministic(确定性的)
- stationary(固定不动的)
- 不unique(不是唯一的)
2 Policy Iteration
Policy Iteration也是一个迭代算法:主要由两个步骤组成:
1.Evaluate the policy π(comuting v given current π)
2.Improve the policy by acting greedily with respect to v^π
3.Compute the state-action value of a policy π:
4.Compute new policy π(i+1) for alll s属于S following:
3.Value Iteration
value iteration的算法
目的是:寻找到一个最优的策略π。
解法:将Bellman optimality backup进行迭代很多次。