图片缩略图

马尔可夫决策过程(MDP)工具箱

版本1.6 (392 KB) Marie-Josee横
离散时间马尔可夫决策过程的分解相关函数。
5.0
16评级

42下载

更新2015年1月20日

视图版本历史

查看许可协议

MDP工具箱提出了与离散时间马尔可夫决策过程的解决有关的功能:反向归纳,值迭代,策略迭代,带有一些变体的线性规划算法。
这些函数是用MATLAB开发的(注意其中一个函数需要Mathworks优化工具箱),由INRA图卢兹(法国)生物测定和人工智能单元的Iadine Chadès, Marie-Josée Cros, Frédérick Garcia, Régis Sabbadin开发。
工具箱页面:http://www.inra.fr/mia/T/MDPtoolbox

引用作为

Marie-Josee横(2021)。马尔可夫决策过程(MDP)工具箱(//www.tatmou.com/matlabcentral/fileexchange/25786-markov-decision-processes-mdp-toolbox), MATLAB中央文件交换。检索

评论和评级(42

subhra sarma

嗨。这个工具箱是否适用于优化mmWave通信信号?

raden edi sewandono

李的太阳

@Elena Torres-Aguilar。
工具箱可以很好地容纳多个状态的情况。
参见作者论文中的例子,每个州有7个维度,每个维度有3个候选。状态空间的大小是3^7。
论文链接在这里,https://onlinelibrary.wiley.com/doi/epdf/10.1111/ecog.00888

早春作物、

科瑞文

一个近乎完美的工具箱!
非常感谢您的贡献!

你好,
非常好的工具箱和文档中非常好的例子。
代码如何适应多个状态变量?我的意思是,在森林的例子中,你有年龄作为状态变量(分为3个箱子),如果你还包括,比如说…树的高度?
谢谢你!

科瑞文

保罗Fackler

另一个MDP包(MDPSolve)可在
https://sites.google.com/site/mdpsolve/
它具有将状态转移函数定义的模型离散化的功能,并能将信念变量离散化来解决POMDP问题。模型也可以用因式表示来指定,相对于使用转换(P)矩阵(平面表示),因式表示可以有效地解决更大的模型。

保罗Fackler

@是的。P用于离线Q学习,作为生成状态的一种方法。对于使用状态和动作(S,A)对,然后在观察未来状态和奖励后,更新Q(S,A)的值的代理,P仍然被假定为未知。使用P矩阵生成未来状态。如果从均匀分布生成每个未来状态,则无法求解所需的MDP。然而,一般来说,如果你有一个P的显式表示,那么实际上没有任何理由使用Q-学习,因为可以使用动态规划获得完全最优的解决方案。我相信这个函数主要用于教学目的。然而,在大型模型中,当无法获得DP解决方案时,某种形式的强化学习可能是最佳选择,但在这种情况下,您将无法使用P矩阵生成未来状态和奖励。

工具箱中提供的Q-learning函数(mdp_Q_learning)具有过渡问题。矩阵P(s,s',a)作为输入。然而,我的理解是,当P未知时(无模型),Q学习通常用于解决问题。这里有没有人想过P在这个算法中扮演什么角色?我在代码中看到选择下一个状态作为遍历的状态空间。。。如果P对于一个问题是未知的,那么P是否应该简单地设置为一个统一的转移概率(即P(s,s',a)=1/状态的数量),这样每个下一个状态对于动作a的可能性相等?
谢谢!

Sarthak Ahuja

有可能在这个工具箱中提供转换和奖励函数而不是矩阵吗?

Mingfei太阳

马修

很好的工具箱。它们在文档中提供了有用且简单的示例,使得工具箱的使用非常直观!
谢谢。

山姆·齐亚

有人知道纸牌竞赛的例子吗?

山姆·齐亚

有谁理解动态站点选择的例子吗

(倪

谢谢!

(倪

哲杨

建议提供一些应用示例

Marie-Josee横

我们建议将相应的概率设置为0,并严厉惩罚不可行的行为(例如将-999999作为奖励)。
(见https://mulcyber.toulouse.inra.fr/forum/forum.php?thread_id=360&forum_id=26&group_id=11
回答同一个问题。)

(倪

你好,

对于某些问题,不同状态的作用空间是不同的。

我如何为某些状态不能使用的动作写转移矩阵?我能把对应的元素设为0吗?

谢谢!

抽水机王

谢谢

Marie-Josee横

MDP提供了一个框架,用于在结果部分随机和部分在决策者控制下的情况下进行建模决策。通过动态规划和强化学习来解决优化问题(寻找最优策略)。想了解更多信息,你可以看看:https://en.wikipedia.org/wiki/Markov_decision_process

“安

你好,
太棒了!
这对动态规划问题有用吗?

谢谢

pinggen

陈卓玲

Abishi Chowdhury

Marie-Josee横

不幸的是,这个工具箱不能解决POMDP问题。

Abdelhak Bentaleb

你好,
我们可以使用这个工具来解决POMDP模型吗?

顺致敬意,

Marie-Josee横

Duc Van勒,
我恐怕没有看到你前面的问题,所以我将回答最后两个问题。

即使您的流程总是以相同的状态启动,您也可以使用工具箱计算最优策略。该策略对于所有初始状态(包括您的状态)都是最优的。

在工具箱中不允许考虑0的折扣。在这种情况下,你可以直接从奖励矩阵中推断出策略:对于每个状态,找出能够最大化奖励的行动。
例如:
> > (P, R) = mdp_example_forest;
[~,波尔]= max (R)
波尔=
1 2 1

Duc Van勒

你好,

结果是正确的,如果我运行工具箱的情况短视评估,即,折扣= 0?

谢谢。

Duc Van勒

亲爱的Marie-Josee横,

我的基于mdp的配方问题要求过程需要在一个特定的状态开始,即,初始状态是给定的。请给我任何建议,以使用你的MDP工具箱,以找到最优的解决我的问题。

谢谢。

Marie-Josee横

你好,
将R(s’,a)作为直接奖励。
目前,再次阅读快速入门,括号(或预期的即时回报)在我看来是一个理解MDP框架相当混乱的精度。

Duc Van勒

你好,

QuickStart.pdf,结果表明:R (s, a)是最直接的奖励(或预期)收到后过渡到国家年代从国家年代行动。请给我一个建议,哪种类型的奖励(直接或预期)我应该把MDP功能得到更准确的结果?如果我的输入是即时奖励,而不是预期奖励,那又有什么区别呢?

谢谢。

Marie-Josee横

您好,您可以查看QuickStart.pdf文件(在zip文件的文档目录中),第5页,有一个对mdp_Q_学习函数的调用。

萨纳拉菲

你好,请举一个Q-learning算法的例子(mdp_Q_learning)

Bheki Ngobe

大家好!

这个应用程序可以在没有MDPtoolbox的情况下工作吗?

Marie-Josee横

的确,工具箱不能用于连续动作空间。

菅直人

干得好!非常感谢分享!这可以应用于连续动作空间的情况吗?

克里斯汀

整洁的东西!我没有查看所有的文件,只查看了我需要的文件,但是我注意到mdp_value_iteration.m中有一些东西。

你有:
全球mdp_VERBOSE
然后检查是否存在,即使通过调用GLOBAL,它现在已经存在了。你应该检查ISEMPTY,还是我遗漏了什么?

王腾娇

对于随机过程中的破冰船来说,很好地解释了马尔可夫链和马尔可夫过程

桑德拉

帕特里克•安德森

这是一个做得很好的MDP工具箱。代码简单而优雅,并且有很好的帮助文档。INRA的作者还让不同背景的用户都可以使用它。

它定期更新,并且有确定的作者,这也是一个很好的好处。

MATLAB版本兼容性
创建R2014b
与任何版本兼容
平台的兼容性
窗户 macOS Linux
确认

启发:Betavol (x, R,图)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!