图解强化学习|手算无模型学习:蒙特卡罗与时序差分 欢迎来到图解强化学习的世界博客主页卿云阁欢迎关注点赞收藏⭐️留言首发时间2026年5月31日✉️希望可以和大家一起完成进阶之路目录21 点Blackjack蒙特卡罗算法核心思想手算过程数学公式时序差分算法核心思想手算过程21 点Blackjack观测是三元组(玩家点数, 庄家明牌点数, 是否有可用Ace)Ace 可记 11 点可用或 1 点优先按 11 计算爆牌时自动转为 1 点。仅两个选择0停牌不再要牌、1要牌再抽一张牌牌池为有放回抽样。开局双方各发两张牌玩家先决策持续要牌直到停牌或点数超 21爆牌对局提前结束。玩家停牌后庄家亮暗牌并按固定规则补牌点数不足 17 必须要牌≥17 则停牌。玩家点数庄家 / 庄家爆牌玩家胜奖励1玩家爆牌 / 玩家点数庄家玩家负奖励-1点数一致平局奖励0对局中途即时奖励均为0仅对局结束后结算奖惩。玩家选择停牌或玩家要牌后点数超过 21。蒙特卡罗算法核心思想无模型学习无法获取环境转移概率只能依靠与环境交互得到的完整对局Episode 估计价值。蒙特卡洛方法 是最直观的无模型算法必须跑完一整局游戏拿到最终胜负奖励后再反向更新每一步的价值与策略。手算过程假设我们现在已经玩完了一局游戏对局轨迹如下本局为首次对局所有的动作价值 (Q(s,a))、回报(G)列表初始值均为 0 /空列表。步骤 1逆序遍历轨迹逐点计算MC 核心初始化累积回报G_sum 0首先处理的最后一步t1)累加累积回报:GG_sumr101.01.0存入历史回报列表:此时我们选择的是动作0所以rewardss1,0)[1.0,.......]更新Q值:此时我们选择的是动作0所以Qs1,0)mean[1.0,.......]1.0然后再更新策略然后处理t0)累加累积回报沿用前面总和GG_sumr21.001.0存入历史回报列表:此时我们选择的是动作1所以rewardss0,1)[1.0,.......]更新Q值:此时我们选择的是动作1所以Qs0,1)mean[1.0,.......]1.0然后再更新策略数学公式时序差分算法核心思想用 “现实得到的奖励 预估未来价值”去修正 “我之前的估计”。时序差分 TD 走一步就更新一步不用等游戏结束用 “眼前奖励 下一个状态的估计价值” 来更新当前价值。手算过程数学公式