强化学习入门:从网格世界案例理解马尔可夫决策过程(MDP)

张开发
2026/4/18 18:13:47 15 分钟阅读

分享文章

强化学习入门:从网格世界案例理解马尔可夫决策过程(MDP)
强化学习入门从网格世界案例理解马尔可夫决策过程MDP想象一下你正在设计一个自动清扫机器人希望它能高效地完成房间清扫任务。机器人需要学会避开障碍物、识别垃圾位置并规划最优路径。这正是强化学习Reinforcement Learning的典型应用场景。而理解强化学习的基础绕不开马尔可夫决策过程Markov Decision Process, MDP这一核心数学模型。1. 网格世界强化学习的Hello World在3×3的网格世界中一个机器人从起点出发目标是找到宝藏。黄色格子代表禁区惩罚-1青色格子是宝藏奖励1。这个简单场景完美诠释了强化学习的核心要素状态State机器人所在格子坐标如(1,1)动作Action上下左右移动或停留奖励Reward进入不同格子获得即时反馈# 网格世界状态空间示例 states [(x,y) for x in range(1,4) for y in range(1,4)] forbidden [(2,2)] # 禁区 treasure [(3,3)] # 宝藏提示网格世界的简洁性使其成为理解复杂概念的理想沙盒环境类似物理学的理想气体模型。2. MDP五要素解析马尔可夫决策过程由五个关键组件构成它们共同定义了强化学习问题的数学框架2.1 状态与动作空间状态空间S所有可能状态的集合。在网格世界中共有9个状态动作空间A每个状态可执行的动作。通常包含移动方向动作效果上y1下y-1左x-1右x12.2 状态转移概率状态转移函数P(s|s,a)定义了在状态s执行动作a后转移到状态s的概率。在确定性环境中def transition(s, a): if a up: return (s[0], min(3, s[1]1)) elif a down: return (s[0], max(1, s[1]-1)) elif a left: return (max(1, s[0]-1), s[1]) elif a right: return (min(3, s[0]1), s[1]) else: return s2.3 奖励函数奖励函数R(s,a,s)给出状态转移的即时反馈。网格世界的简单实现def reward(s): if s in forbidden: return -1 elif s in treasure: return 1 else: return 02.4 折扣因子γγ∈[0,1]平衡即时与未来奖励的重要性。当γ0时Agent只关注眼前利益γ接近1时更重视长期回报。3. 策略与价值函数策略π(a|s)定义了在给定状态下选择各个动作的概率分布。最优策略π*是能获得最大期望回报的策略。3.1 价值函数计算状态价值函数V(s)表示从状态s开始遵循策略π的预期回报V(s) E[Σ γ^k R_{tk} | S_t s]动作价值函数Q(s,a)则细化到特定动作Q(s,a) E[Σ γ^k R_{tk} | S_t s, A_t a]3.2 贝尔曼方程价值函数通过贝尔曼方程递归定义V(s) Σ π(a|s) Σ P(s|s,a)[R(s,a,s) γV(s)]这个方程是动态规划和强化学习算法的基础。4. 从理论到实践求解MDP4.1 值迭代算法通过迭代更新价值函数寻找最优策略初始化所有状态价值V(s)0对每个状态s更新V(s) ← max_a Σ P(s|s,a)[R(s,a,s) γV(s)]重复步骤2直到收敛提取最优策略π*(s) argmax_a Σ P(s|s,a)[R(s,a,s) γV(s)]4.2 网格世界中的策略演化让我们观察值迭代过程中策略的变化迭代次数(1,1)价值(3,3)附近策略00随机移动100.6向宝藏聚集收敛0.9最短路径注意实际实现时需要处理边界条件和终止状态。5. 超越网格世界MDP的通用性虽然我们以网格世界为例但MDP框架适用于各种场景机器人导航状态位置环境感知动作移动指令游戏AI状态游戏画面动作控制器输入推荐系统状态用户画像动作推荐内容MDP的强大之处在于其数学抽象能力同样的理论可以应用于看似完全不同的领域。关键在于准确定义状态、动作和奖励函数这三个核心要素。

更多文章