1. 这是作者花费一周的时间,使用python写出的策略迭代和值迭代强化学习算法,以一个完整的项目发布,为解决“已知马尔科夫决策过程五元组,求最优策略”这类问题提供了算法与通用框架 2. 项目采用面向对象架构和面向抽象编程,用户可以在抽象类基础上,利用继承机制,定义新的具体环境类,测试该算法的有效性。项目还给出了unittest.Testcase的测试代码。 3. 在该项目中算法名称分别对应类:ValueIterationAgent和PolicyIterationAgent(都继承自MdpAgent),马尔科夫决策模型已知的环境抽象类MdpEnv 4. 为展示该算法的有效性,定义了一个GridWorldEnv的具体类,实现了作者博文中“在格子世界中寻宝”的最优策略的学习,并定义了一个GridWorldUI类可视化最优策略及基于最优策略的,用户可以运行住文件main.py 5. 该项目源码的最大特点是:架构合理,可维护性好,可读性强。你不断能学到这两个强化学习算法的精髓,也能够学到什么是好的python程序架构。 6.注意先阅读里面的readme.txt文件。
2024-05-08 21:56:25 329KB 强化学习 策略迭代 面向对象 python
1
本文考虑了连续时间马尔可夫决策过程中平均报酬的方差优化问题。 假设状态空间是可计数的,而动作空间是Borel可测量的空间。 本文的主要目的是在确定性平稳策略空间中找到方差最小的策略。 与传统的马尔可夫决策过程不同,方差准则中的成本函数将受到未来行动的影响。 为此,我们通过引入称为伪方差的概念将方差最小化问题转换为标准(MDP)。 通过给出伪方差优化问题的策略迭代算法,推导了原始方差优化问题的最优策略,并给出了方差最优策略的充分条件。 最后,我们用一个例子来说明本文的结论。
1
确定性清洁机器人的基于模型的策略迭代算法。 这段代码是策略迭代算法的一个非常简单的实现,对于强化学习和动态规划领域的初学者来说,它是一个有用的起点。 确定性清洁机器人 MDP:清洁机器人必须收集用过的罐子,还必须为电池充电。 状态描述了机器人的位置,动作描述了运动的方向。 机器人可以向左或向右移动。 第一个 (1) 和最后 (6) 个状态是终止状态。 目标是找到一个最优策略,使任何初始状态的回报最大化。 这里是policy-iteration(基于模型的策略迭代DP)。 参考:算法 2-5,来自: @book{busoniu2010reinforcement, title={使用函数逼近器的强化学习和动态规划}, 作者={Busoniu,Lucian 和 Babuska,Robert 和 De Schutter,Bart 和 Ernst,Damien}, 年={2010}, 出版商={CR
2022-03-18 18:15:06 3KB matlab
1
matlab开发-基于模型的策略迭代gorithmfordeterministiccleaningrobot。基于模型的策略迭代强化学习实例
2022-03-13 12:34:12 3KB 未分类
1
研究含比例型手续费的离散时间投资组合优化问题. 基于马尔可夫决策过程模型和性能灵敏度分析方法, 推导两个不同投资策略之间的资产长期平均增值率的差分公式, 利用差分公式的结构特点, 证明了最优性方程, 并设计出可在线应用的策略迭代算法. 仿真实例验证了所提出算法的有效性.
1
最小二乘策略迭代(LSPI)的代码文件,来自其他网络开源代码,请尊重原作者的知识产权要求,纠纷与上传者无关
2022-02-19 02:40:31 26KB 最小二乘 策略迭代
1
GridWorld(计划和强化学习) 包含用于规划的算法:策略迭代和价值迭代。 还包含强化学习算法:蒙特卡洛学习,Sarsa(lambda)和Q学习。 在GridWorld问题的上下文中使用这些方法,在该问题中,代理的目标是找到到达终端状态的最快路径。 game.py文件包含Grid World环境。 可以运行其他文件来执行强化学习或计划(取决于所选文件)。
2021-12-22 11:53:22 7KB Python
1
推广策略迭代GPI(略) 推广策略迭代GPI(Generalized Policy Iteration) 特点 V*,* V0,0 V的计算 的选取 * V(S)和策略同时迭代
1
离散控制Matlab代码TT-HJB 针对Hamilton-Jacobi-Bellman(HJB)方程的牛顿策略迭代的Tensor Train(TT)实现。 有关数学描述,请参见[]。 安装 该代码基于和Matlab软件包。 下载或克隆两个存储库,并将所有子目录添加到Matlab路径。 内容 开头提供了每个文件的详细说明,也可以通过Matlab help功能进行访问。 例如,有关TT-HJB求解器的语法,请参见help('hjb_leg') 。 数值测试脚本 这些是应该运行的顶级脚本,用于重现本文中的数值实验。 test_hjb_allencahn1.m一维Allen-Cahn方程(4.1节)。 可以通过设置有限的umax参数来打开控制约束。 test_hjb_allencahn2.m二维Allen-Cahn方程。 请注意,二维测试会占用大量CPU时间。 test_hjb_fokker.m Fokker-Planck方程(第4.2节)。 parse_parameter.m输入参数的辅助文件 所有测试都要求用户从键盘输入模型和近似参数。 提示中提供了默认参数,这些默认参数可用作开始的实验
2021-09-01 10:21:31 24KB 系统开源
1
附上内容回顾:第二期训练营《策略模块的策略迭代跟优化》。
2021-07-09 09:04:01 12.82MB 风控大数据 金融互联网 大数据分析
1