增强学习 - MDPs - 蒙特卡洛方法 + 21点游戏

本文介绍了蒙特卡洛方法在解决马尔科夫决策过程(MDP)中的应用,特别是在未知环境模型的情况下。通过以21点游戏为例,阐述了如何使用蒙特卡洛方法进行策略评估和控制。文章详细讲解了MC Policy Evaluation的first-visit和every-visit方法,并展示了如何通过迭代和ε-greedy策略改进游戏策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 什么是蒙特卡洛方法

蒙特卡罗方法又叫做统计模拟方法,它使用随机数(或伪随机数)来解决计算问题。 简单来说就是基于概率,比如下图,基于一个不规则的曲线我们很难去求积分,那么我们可以均匀的往这个方框里去撒豆子,撒上10000个豆子以后我们数下面的豆子就可以知道阴影部分的面积了。

在这里插入图片描述

  1. 为什么用蒙特卡洛方法

前面介绍的动态规划方法(https://blog.youkuaiyun.com/weixin_43909872/article/details/85728246)
需要知道整个environment的信息,但有的时候,我们只有经验 (Experience) (比如一组采样),而对environment没有任何其他知识;这种情况下,动态规划方法不再适用,蒙特卡洛方法 (Monte Carlo Method, MC) 成为了新的解决方案。

对于马尔科夫决策过程(MDP),MDP是通过5元组:<S,P,A,R,γ><S,P,A,R,γ>来做决策的。对于这种已知模型的情况,我们在知道这个5元组的情况下去计算奖赏最大化。但是,在现实世界中,往往无法同时知道这个5元组。比如P,状态转移概率就很难知道,P不知道,我们就无法使用bellman方程来求解V和Q值。怎么办呢?

一个想法是,虽然我不知道状态转移概率P,但是这个概率是真实存在的。我们可以直接去尝试,不断采样,然后会得到奖赏,通过奖赏来评估值函数。这个想法与蒙特卡罗方法的思想是一致的。我们可以尝试很多次,最后估计的V值就会很接近真实的V值了。

对应于前面的撒豆子,在MDP问题里我们用episode(经历)来累积计算V值,每条episode就是一条从起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值