我正在和一位朋友合作,作为一个挑战,创建一个机器人,可以在一款名为Duelyst的基于浏览器的卡片/棋盘游戏中击败最好的人类玩家。看起来是这样的:

我最初的计划是从底层构建非常基础的机器学习,但他建议我们研究基于这份清单 of JavaScript的机器学习库中的选项。
问题是,我们都不太了解机器学习,也不知道我们应该研究哪种类型(很明显,有很多不同的类别/类型)。
在通用JS机器学习库列表中的项目有:
显然,我的首要任务是开始浏览这些不同的项目,并在维基百科上查找大量的术语--但我很快意识到这是一个非常广泛和多样的主题,我最好让专家指出正确的总体方向。游戏中的决策基本上包括使用你目前能获得的少数几张牌中的一张(并预测你在你的牌牌中可能在不久的将来获得的牌),并在正确的时间使用这些牌,将牌所召唤的奴才在场上移动,以保护你的将军,击败敌人的将军。
我们已经开发了一个相当好的人工智能来玩这个游戏,我现在想利用机器学习来预测对手的移动,改进机器人的决策,以便在游戏中取得更好的经验。
发布于 2017-04-10 21:40:51
简单地说,强化学习的研究就是:
强化学习是一个受行为主义心理学启发的机器学习领域,它关注的是软件agents应该如何在环境中采取行动,以最大限度地获得某种累积报酬的概念。
RL示例经常涉及游戏;这些模型通常将玩家的对手正式化为环境的一部分。(其他人研究所有参与者,并涉及到博弈论。)通常,“奖赏”与输赢有关。
这是一个非常广泛、深入的领域,涉及到许多其他领域的概念。最近的进展包括深度学习的应用。
发布于 2017-02-09 17:18:34
机器学习是一门涉及面广、难度大的学科。如果你想以一种很好的方式使用机器学习,我建议阅读以下内容:
而且,由于您不能总是以纯粹的方式使用游戏树(在宇宙中没有足够的资源),也不能总是使用启发式(https://en.wikipedia.org/wiki/Heuristic_%28计算机_科学/29)。
考虑到链接,维基百科是一个起点,而不是学习的地方。因此,一些书(我从“学习lisp的土地-学会用lisp编程,一次一个游戏”)是必须的。
https://softwareengineering.stackexchange.com/questions/341879
复制相似问题