我正在尝试在 Python 中设计一个具有以下特征的迭代马尔可夫决策过程 (MDP)代理:
- 可观察状态
- 我通过保留一些状态空间来回答 DP 进行的查询类型移动来处理潜在的“未知”状态(t+1 时的状态将识别前一个查询 [如果前一个移动不是查询,则为零] 以及嵌入式结果向量)这个空间用 0 填充到固定长度,以保持状态帧对齐,而不管查询是否回答(其数据长度可能会有所不同)
- 可能并非在所有州都可用的操作
- 奖励功能可能会随着时间而改变
- 策略收敛应该是增量的,并且只计算每次移动
因此,基本思想是 MDP 应该使用其当前的概率模型在 T 处做出最佳猜测优化移动(并且由于其移动的概率是预期的随机性,暗示可能的随机性),将 T+1 处的新输入状态与奖励相结合从上一次移动到 T 并重新评估模型。收敛不能是永久的,因为奖励可能会调整或可用的操作可能会改变。
我想知道的是是否有任何当前的python库(最好是跨平台的,因为我必须在Windoze和Linux之间改变环境)已经可以做这种事情(或者可以通过适当的定制来支持它,例如:派生类允许用自己的方式重新定义说奖励方法的支持)。
我发现有关在线每次移动 MDP 学习的信息相当稀缺。我能找到的大多数 MDP 使用似乎都集中在将整个策略作为预处理步骤来解决。