machine-learning - 构建实时游戏玩家模拟器的首选机器学习技术是什么?

标签 machine-learning reinforcement-learning tetris

我已经着手构建一个学习玩俄罗斯方 block 的人工智能引擎,即一个可以通过调整其启发式等方法来提高其性能的引擎。假设我已经将 GUI 排除在外了——我应该从哪里开始构建引擎呢?作为初学者,我将使用哪些资源来理解其中涉及的机器学习概念?

特别是,我正在寻找基于代码和实际示例的解释 Material ,而不是该主题的数学处理。

最佳答案

这类事情(即创建一个机器人来玩视频游戏)的标准机器学习规则是强化学习。这是一个由许多不同技术/算法组成的广阔领域;也许与您的项目更相关的是Q-Learning

强化学习的标准论文之一是 Reinforcement Learning: An Introduction ,理查德·萨顿和安德鲁·巴托。刚刚提供的链接会将您带到该书的主页,其中包括该书的公共(public)访问在线版本的链接以及免费 pdf 版本的链接。

这里是demo on YouTube显示了一个基于 RL 的机器人,它已经学会了玩 PacMan 女士。

博客机械师有一个完整的tutorial使用强化学习(Python 语言)构建 PackMan 游戏机器人。我想这肯定是一个很好的起点。

我还会考虑用您选择的语言安装一个好的强化学习库。查看源代码并尝试该库的 API。在 Python 中,(至少)有两个非常好的 RL 库: PyBrain ,和Maja (又名 MMLF)。

使用这些库中的任何一个,您都可以构建一个玩俄罗斯方 block 的机器人;事实上,PyBrain 包含一个基于类似于俄罗斯方 block 的环境的教程。

关于machine-learning - 构建实时游戏玩家模拟器的首选机器学习技术是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8091877/

相关文章:

reinforcement-learning - 为什么我们总是需要为开放健身房ai设置env.seed(#)?

python - 梯度如何通过随机样本反向传播?

python - 如何用 Python 创建自动化俄罗斯方 block 机器人?

machine-learning - 从中文文档中提取数据

python - 卷积神经网络中的不平衡类

python - 没有名为 spinup.run 的模块

javascript - 在 JavaScript 俄罗斯方 block 中绘制新的俄罗斯方 block

artificial-intelligence - 将自然语言表示为 RDF

r - 在 R 中分析 SVM (e1071)

JavaScript 俄罗斯方 block 在移动和旋转后分开