MDP 2009Matlab实现
mdp 的 2009 年 Matlab 源码,写得还挺全的,结构也清晰。里面包括了策略迭代
和价值迭代
的实现,用来搞清楚马尔可夫决策过程的底层逻辑合适。不光有代码,还有英文文档,得也算细,尤其适合刚接触 MDP 又想看点实战的同学。
源码里的模块拆分比较细,从状态定义
、动作集合
到转移概率
和奖励函数
,都有清楚的结构。用 Matlab 写的,好处是矩阵操作方便,调试也直观,适合那种偏数学模型思维的工程师或学生。
比如你要做路径规划或者资源调度,用这个 MDP 模型先跑一遍模拟,快就能验证策略有没有问题。里面的gamma
折扣因子也设置得比较灵活,方便你试不同场景的敏感性。
文档还了Bellman 方程
怎么在代码里实现的,讲得不啰嗦,直接就是:怎么写函数、怎么传参数、怎么做迭代。你要是准备拿来教学或者做论文 demo,基本上改一改就能用。
要注意的是,这套代码是 2009 年的,语法上有点老,不过 Matlab 向下兼容性挺好,跑起来没啥大问题。如果你用的是新版本的 Matlab(比如 R2021a 以上),建议提前检查一下函数接口有没有变化。
如果你是搞强化学习
、最优化
或者智能控制
方向的,这套代码可以作为一个还不错的起点。先别急着上 TensorFlow 或 PyTorch,先把基本原理跑明白,再动深度的事。
下载地址
用户评论