我已经着手构建一个学习玩俄罗斯方块的人工智能引擎,即一个可以提高它的性能的引擎,也许通过调整它的启发式等等。假设我已经把 GUI 排除在外——我将从哪里开始构建引擎?作为初学者,我将使用哪些资源来理解其中涉及的机器学习概念?
特别是,我正在寻找基于代码和实际示例的解释性材料,而不是对该主题的数学处理。
我已经着手构建一个学习玩俄罗斯方块的人工智能引擎,即一个可以提高它的性能的引擎,也许通过调整它的启发式等等。假设我已经把 GUI 排除在外——我将从哪里开始构建引擎?作为初学者,我将使用哪些资源来理解其中涉及的机器学习概念?
特别是,我正在寻找基于代码和实际示例的解释性材料,而不是对该主题的数学处理。
这类事情的标准 ML 标准(即,创建一个玩视频游戏的机器人)是强化学习。这是一个广泛的领域,由许多不同的技术/算法组成;也许与您的项目更相关的是Q-Learning。
强化学习的标准论文之一是强化学习:介绍,作者是 Richard Sutton 和 Andrew Barto。刚刚提供的链接会将您带到该书的主页,其中包括该书的公共访问在线版本的链接,以及免费 pdf 版本的链接。
这是YouTube 上的一个演示,展示了一个基于 RL 的机器人,它已经学会了玩吃豆人女士。
博客 Mechanistician 有一个完整的教程,用于使用强化学习(python 语言)构建一个 PackMan 游戏机器人。我想这肯定是一个很好的起点。
我还会考虑以您选择的语言安装一个好的 RL 库。查看源代码并尝试使用库的 API。在 Python 中有(至少)两个非常好的 RL 库:PyBrain和Maja(又名 MMLF)。
使用这些库中的任何一个,您都可以构建一个玩俄罗斯方块的机器人;实际上,PyBrain 包含一个基于类似于俄罗斯方块的环境的教程。