25

对于一个 ai 类项目,我需要实现一个强化学习算法,它可以击败一个简单的俄罗斯方块游戏。游戏是用 Java 编写的,我们有源代码。我知道强化学习理论的基础知识,但想知道 SO 社区中是否有人亲身体验过这类事情。

  1. 对于在俄罗斯方块游戏中实施强化学习,您推荐的阅读材料是什么?
  2. 有没有什么好的开源项目可以完成类似的事情,值得一试?

编辑:越具体越好,但欢迎使用有关该主题的一般资源。

跟进:

认为如果我发布后续内容会很好。

这是我为任何未来的学生提供的解决方案(代码和文章):)。

论文/代码

4

9 回答 9

14

看看 2009 年RL 竞赛。问题域之一是俄罗斯方块游戏。前一年也有俄罗斯方块问题。这是当年第五名决赛入围者的52 页最终报告,其中详细介绍了代理人的工作方式。

于 2009-04-13T02:32:22.893 回答
3

Heaton Research电子书非常擅长解释神经网络概念(带有代码)。第 4 章专门介绍机器学习和网络的各种训练方法。有一个可下载的库和示例应用程序供您查看。

于 2009-04-11T17:05:00.067 回答
3

这是一本关于这个主题的好书:

机器学习和数据挖掘:
Igor Kononenko、Matjaz Kukar 的原理和算法简介(2007 年 6 月)

还可以看看这些开源项目:

于 2009-04-11T17:08:52.117 回答
2

TD-Gammon、gnubackgammon 或任何其他类似项目在游戏中取得了巨大成功。

Sutton & Barto 的书《强化学习:简介》也有一些其他的案例研究

于 2009-08-25T06:21:51.893 回答
2

这个问题确实很老,但对于 2018 年阅读此问题的任何人,如果您对现有 RL 算法的可靠参考感兴趣,我强烈建议您使用 OpenAI Baselines。这些算法是由 OpenAI 的一群真正了解这些东西的员工实现的,并且已经过广泛的微调和调试。

公平地说,俄罗斯方块不需要这些,但现在我怀疑家庭作业问题可能涉及一些更复杂的环境。

https://github.com/openai/baselines

更新:

2019年,我也推荐rlpyt:

https://github.com/astooke/rlpyt

于 2018-04-22T16:32:22.227 回答
1

这并不特定于强化学习,但斯坦福大学在 Youtube和 iTunes上有一系列关于机器学习的精彩讲座。

该链接指向第一个讲座,大约需要 30 分钟才能深入了解内容。

于 2009-10-12T23:29:33.683 回答
1

Burlap是一个最新的 Java 库,它提供了许多常见强化学习算法以及一些环境和有用工具的实现。

于 2016-06-02T13:19:11.523 回答
0

我建议学习基于 Java 的 RL4J。我正在使用它,我很惊讶事情的顺利进行,你甚至可以在带有 Actor Critic 算法(称为 A3C)的强化学习算法中学习 LSTM 网络

这是链接: https ://github.com/deeplearning4j/dl4j-examples/blob/master/rl4j-examples/

于 2018-12-11T15:34:14.100 回答
-1

我注意到这个问题已经过时了(已有 10 年历史了),并且现代 RL 框架和环境的集合在这里可能很有用。我为此创建了 GitHub 存储库,并打算定期更新它。

https://github.com/TheMTank/RL-code-resources

于 2019-02-06T16:14:38.410 回答