问题标签 [markov-decision-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
44 浏览

artificial-intelligence - 从看到的转换中确定 MDP

在马尔可夫决策过程中可以看到以下转换。尝试确定它

我需要找到状态、转换、奖励和转换的概率。除了概率,我已经解决了所有问题,但我不知道如何计算它们如果有人可以提供帮助,我只需要知道从哪里开始

0 投票
1 回答
228 浏览

python - 使用 MDP 进行强化学习以优化收入

我想将飞机上出售座位的服务建模为 MDP(马尔可夫决策过程),以使用强化学习来优化航空公司的收入,因为我需要定义什么是:状态、行动、政策、价值和奖励。我稍微想了一下,但我觉得还是少了点什么。

我这样建模我的系统:

  • States = (r,c)其中 r 是乘客人数, c 是购买的座位数r>=c
  • Actions = (p1,p2,p3)这是3个价格。目标是决定其中哪一个能带来更多收入。
  • 奖励:收入。

你能告诉我你的想法并帮助我吗?

在建模之后,我必须通过强化学习来实现所有这些。有一个包可以完成这项工作吗?

0 投票
1 回答
151 浏览

machine-learning - 对强化学习 MDP 的 Q(s,a) 公式的理解感到困惑?

我试图理解为什么策略改进定理可以应用于 epsilon-greedy 策略的证据。

证明从数学定义开始——

Barto 和 Sutton - 强化学习:简介

我对证明的第一行感到困惑。

在此处输入图像描述

该方程是 Q(s,a) 的贝尔曼期望方程,而 V(s) 和 Q(s,a) 遵循以下关系 -

在此处输入图像描述

那么我们如何才能推导出证明的第一行呢?

0 投票
1 回答
127 浏览

pymc3 - Stan 和 PyMC3 中的影响图/决策模型

是否可以在 Stan 或 PyMC3 中编写决策模型?我的意思是:我们不仅定义随机变量的分布,还定义决策和效用变量,并确定最大化预期效用的决策。

我的理解是 Stan 比 PyMC3 更像是一个通用优化器,因此这表明决策模型将在其中更直接地实现,但我想听听人们怎么说。

编辑:虽然可以枚举所有决策并计算它们相应的预期效用,但我想知道更有效的方法,因为决策的数量可能组合起来太多(例如,从包含数千种产品的列表中购买多少物品)。影响图算法利用模型中的因式分解来识别允许仅对较小的相关随机变量集进行决策计算的独立性。我想知道 Stan 或 PyMC3 是否会做这种事情。

0 投票
1 回答
118 浏览

artificial-intelligence - MonteCarloTreeSearch 是否适合这种问题规模(大动作/状态空间)?

我正在研究 t=1,...,40 个周期的有限视野决策问题。在每个时间步 t 中,(唯一的)代理必须选择一个动作 a(t) ∈ A(t),而代理处于状态 s(t) ∈ S(t)。在状态 s(t) 中选择的动作 a(t) 会影响到下一个状态 s(t+1) 的转换。所以存在有限视界马尔可夫决策问题。

在我的情况下,以下情况成立:A(t)=A 和 S(t)=S,而 A 的大小为 6 000 000,S 的大小为 10^8。此外,转换函数是随机的。

由于我对蒙特卡洛树搜索 (MCTS) 的理论比较陌生,所以我问自己:MCTS 是否适合我的问题(特别是由于 A 和 S 的大小以及随机转换函数?)

我已经阅读了很多关于 MCTS 的论文(例如渐进式加宽和双渐进式加宽,听起来很有希望),但也许有人可以告诉我他将 MCTS 应用于类似问题的经验或解决此问题的适当方法(大状态/动作空间和随机转换函数)。

0 投票
1 回答
50 浏览

python - 询问马尔可夫模拟的结果 - 高度赞赏的帮助和反馈

我已经建立了一个马尔可夫链,我可以用它来模拟人们的日常生活(活动模式)。每个模拟日分为 144 个时间步骤,人可以进行 14 项活动中的一项。它们是:外出 - 工作 (1) 外出 - 休闲 (2) 外出 - 购物 (3) 睡觉 (4) 做饭 (5) 使用洗碗机 (6) 洗衣服 (7) 吸尘 (8) 看电视 (9) 使用 PC (10) 个人卫生 (11) 熨烫 (12) 听音乐 (13) 其他 (14)

我从一个数据集中计算了马尔可夫链的转移概率,该数据集总共包含 226 个人的日记,这些日记以 10 分钟的间隔记录了他们的活动。数据集可以在这里找到:https ://www.dropbox.com/s/tyjvh810eg5brkr/data?dl=0

我现在已经用马尔可夫链模拟了 4000 天,想用原始数据集验证结果。

为此,我分别分析了活动的结果,并计算了每个时间步的预期值和 95% 置信区间。然后我检查原始数据集的活动平均值是否在此区间内,并计算不在置信区间上限或下限内的所有点的数量。

但是,对于每个模拟,我都会得到不同高度的偏差,有时在 1% 范围内,有时超过 10%。

我现在想知道这怎么可能,以及它是否可能。

我模拟了 4x 4000 天,结果是:

第一次模拟的图形结果

模拟结果

代码的第一部分在这里(抱歉,它太长了):

我很高兴收到任何建议/反馈。

谢谢,菲利克斯

0 投票
1 回答
113 浏览

artificial-intelligence - 如何将 UNO 建模为 POMDP

我正在尝试将 UNO 纸牌游戏建模为 Partially Observable Markov Decision Processes(POMDPs) 。我做了一点研究,得出的结论是,状态将是卡片的数量,动作将是播放或从看不见的卡片组中挑选卡片。我在制定状态转换和观察模型方面面临困难。我认为,该观察模型将取决于过去的行动和观察(历史),但为此我需要放松马尔可夫假设。我想知道放宽马尔可夫假设是不是更好的选择?另外,我应该如何形成状态和观察模型。提前致谢。

0 投票
1 回答
130 浏览

reinforcement-learning - 马尔科夫决策过程的状态转移与动作有关吗?

我知道当满足马尔科夫属性时,下一个状态只与当前状态有关。但是在马尔可夫决策过程(MDP)中,我们需要选择一个动作并执行它来进行转换。这是否意味着状态转换与所选操作有关,而不仅仅是与状态有关?这种情况是否违反了马尔可夫的财产?

大多数强化学习是基于MDP的。如果在MDP中,我们认为选择的动作是马尔可夫性质的一个因素,那么在AlphaGo中,下一个状态不仅与当前状态和选择的动作有关,它还受到对手动作的影响。围棋满足马尔可夫性质吗?强化学习算法不需要环境完全满足马尔可夫性质吗?非常混乱。

如果在围棋游戏中,我们仍然认为状态转换与当前状态有关,那么没有问题。

围棋游戏满足马尔可夫性质吗?MDP中选择的动作是否是过渡之间的影响因素?RL 算法(基于 MDP,而不是 POMDP)是否不需要环境完全满足马尔可夫属性?

0 投票
0 回答
20 浏览

reinforcement-learning - 非马尔可夫状态强化算法的偏差/方差

你好 StackOverflow 社区!

我对强化学习中的无模型预测/控制算法有疑问。在 David Silver 的讲座中,对 MC 和 TD 进行了偏差/方差权衡分析(即 MC 没有偏差和高方差,而 TD(0) 有一些偏差和低方差),但同时比较了环境中的状态有马尔可夫属性。

您能否评论一下偏差和方差会发生什么:
1.当我们在具有不具有马尔可夫属性的状态的环境中使用 MC 时
2.
与 应用于具有马尔可夫属性的状态相比,TD 算法是否相同?

0 投票
2 回答
323 浏览

python - 编码马尔可夫决策过程的问题

我正在尝试编写马尔可夫决策过程(MDP),但遇到了一些问题。您能否检查我的代码并找出它不起作用的原因

我试图用一些小数据来做它,它可以工作并给我必要的结果,我觉得这是正确的。但我的问题是对这段代码的概括。是的,我知道 MDP 库,但我需要编写这个库。此代码有效,我希望在课堂上得到相同的结果:

但是在这里我在某个地方有一个错误,它看起来太复杂了?你能帮我解决这个问题吗?!

我希望每一点都有值,但是得到: ValueError:具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all()