0

我正在做一个副项目,该项目正在对倒立摆问题进行建模,并使用强化学习算法(最著名的是 Q-Learning)来解决它。我已经为网格世界设计了一个简单的 MDP 求解器——简单的东西。

然而,经过几天的研究论文搜索,我正在努力弄清楚如何做到这一点。没有什么可以解释如何建立一个表示问题的框架。

在建模问题时,可以使用标准的马尔可夫决策过程吗?还是必须是 POMDP?

每个状态代表什么(即传递给代理的状态信息是什么)?摆的坐标,速度,角度等?

代理可以采取什么行动?它是 + 或 - x 方向上的连续速度范围吗?

非常感谢您对此提供建议。

4

1 回答 1

1

Richard S. Sutton 和 Andrew G. Barto 的“强化学习:介绍”是强化学习的默认书籍,他们还讨论了推车杆问题 ( http://webdocs.cs.ualberta.ca/~sutton/book /the-book.html )。Sutton还提供了cartpole问题的C代码:http ://webdocs.cs.ualberta.ca/~sutton/book/code/pole.c 当然网上有很多问题的实现:https://github .com/stober/cartpole

这个问题有多种解决方案,具体取决于你想要拥有它的难度。

  • 您可以将其建模为 MDP 或 POMDP。
  • 状态可以包括位置、速度、角度和角速度,或这些的任何子集。
  • 您可以离散状态空间,可以使用函数逼近。
  • 这些动作可以是简单的最小和最大加速度(离散),介于两者之间(离散或连续)。

从轻松开始,逐步解决更困难的问题!

于 2013-12-17T09:58:48.947 回答