0

我希望有人能指出我正确的方向。我有一个名为 Farkle 的骰子游戏。该游戏作为两人游戏运行良好。现在我想为单人游戏实现人工智能。基本上我想要它,所以如果当前的骰子分数 >= 让我们说 300 将骰子传回给人类玩家。还有一些我希望它寻找的其他东西,例如是否所有的骰子都已用完并且所有 6 个骰子都可以再次滚动。

我是整个 Java/Android 世界的新手,所以真的不知道从哪里开始或寻找 Dice AI 示例的任何示例。我为扑克找到了一些,但我认为它们比我需要的要复杂得多,或者甚至可以理解。有任何想法吗?

顺便说一句...我愿意将游戏的源代码发送给任何愿意或能够提供帮助的人。

提前致谢!

4

1 回答 1

2

老实说,我不知道任何可以帮助您的 AI 库。此外,我必须实际阅读 farkle 规则才能理解这个概念以及如何将 AI 集成到其中。所以我想到了两个选项,但是你必须自己实现:
1.使用神经网络。网络可能会使用反向传播进行训练。作为一个错误,您可能会使用 300 的 6 个骰子(可能由 6 个不同的输出神经元建模)总和的差异。如果您搜索一下,我不相信您会发现很难找到 java 库或源代码示例。
2.使用遗传算法。为此,实际上有一个相当不错的库JGAP。染色体将是滚动所有 6 个骰子的结果,适应度函数将是它们的分数。
当然,上面提到的两条路线都非常通用,可能不是很准确。恐怕您必须熟悉某些 AI 概念/算法。farkle 游戏本身并没有那么流行,因为它本身有一个 AI 包(例如国际象棋),所以我相信你必须自己实现一些东西(也许使用一些库)。希望这可以帮助。

于 2012-11-19T14:45:19.490 回答