python - 马尔可夫决策过程的数据结构

标签 python artificial-intelligence markov

<分区>

我已经为简单的马尔可夫决策过程实现了值(value)迭代算法 Wikipedia在 Python 中。为了保留特定马尔可夫过程的结构(状态、 Action 、转换、奖励)并对其进行迭代,我使用了以下数据结构:

  1. 可用状态和 Action 的字典 状态:

    SA = { '状态 A': {' Action 1', ' Action 2', ..}, ...}

  2. 转移概率字典:

    T = {('state A', 'action 1'): {'state B': probability}, ...}

  3. 奖励字典:

    R = {('state A', 'action 1'): {'state B': reward}, ...}

我的问题是:这是正确的方法吗?什么是最适合 MDP 的数据结构(在 Python 中)?

最佳答案

我之前在 Python 中实现了马尔可夫决策过程,发现以下代码很有用。

http://aima.cs.berkeley.edu/python/mdp.html

此代码摘自 Stuart Russell 和 Peter Norvig 的人工智能:一种现代方法

关于python - 马尔可夫决策过程的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13980063/

相关文章:

python - 以 CSR/COO 格式为存储在 Pandas DataFrame 中的分类数据的巨大特征向量创建稀疏矩阵

python - 我可以使用机器学习或人工智能中的哪些算法,我可以通过网站展示

artificial-intelligence - 强化学习中奖励政策的重要性是什么?

machine-learning - 是否可以使用马尔可夫毯来判断两个节点是否条件独立?

machine-learning - 马尔可夫链 - 具有 "unseen"个观测值的样本的可能性(概率 0)

python - Matplotlib 毫秒在 x 轴上打勾

python - Django - 组合多个变量

python - 使用 file.write 接口(interface)上传文件

algorithm - 比较相似的传感器信号