我正在学习人工智能,我可以实施哪些游戏来实践?

时间:2009-01-08 23:30:01

标签: java algorithm artificial-intelligence game-engine

我参加了一个人工智能课程,老师要求我们实施一个利用其中一种AI算法的游戏。这是我需要一些帮助的地方:

  • 我不知道每种算法应用于哪种游戏
  • 如果您只是举例说明游戏或游戏类型及其使用的算法,我将不胜感激

我不需要任何编码帮助,我可以管理它(我选择的语言是Java)。我只需要一点帮助来选择算法。

7 个答案:

答案 0 :(得分:13)

在Ben的回答的辅助下,一个好的组合是alpha-beta修剪以及类似连接4的游戏。像tic-tac-toe这样的启发式过于简单,对象棋来说太复杂了。但连接4或类似的“中间道路”游戏可以是一个很好的地方,看看启发式如何在效率和质量上产生重大影响,而且它也足够复杂,甚至可以获得一些可以赢得一些的“利基”启发式场景优于其他场景,通常更好的启发式。连接4的规则特别简单,很容易想出你自己成功的启发式方法来看看这些事情的实际效果。

另一个常见的人工智能是A *用于寻路,例如在RTS或沙箱环境中的单位旅行。

答案 1 :(得分:5)

对于一般的游戏树来说,{p> Alpha-beta pruning是一个很好的游戏树,特别是像国际象棋和井字游戏这样的回合制游戏。

答案 2 :(得分:1)

任何游戏都可以使用任何AI算法,如果你有一个“敌人”跟随你的2D游戏,你可以使用模糊逻辑来制作轨迹。以同样的方式,你可以使用网络(任何类型)让他们“学习”跟随你的最佳方式。 (如果它们充足,你可以使用遗传算法让它们在几代人中学习)

所以,去想一些有趣的事情,然后问一下如何通过人工智能来改善决策,并且有乐趣(这是其中最重要的部分)

你可以查看this book以获得一些想法,我的赌注是你在图书馆的某个地方拥有它

答案 3 :(得分:1)

答案 4 :(得分:1)

如前所述,A *是一种很好的游戏寻路算法。 Here is a tutorial(有来源)了解如何实施。

祝你好运!

答案 5 :(得分:1)

马尔可夫链蒙特卡罗或MCMC算法怎么样? http://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo

在我的A.I.我用Bayesian Networks做了一个计算概率的课程。这不是太难,而是def。有趣。

答案 6 :(得分:0)

您可以从简单的基于图块的地图和简单的路径查找算法开始,例如上面提到的A *。在您尝试与所有游戏地图一起制作带有自由移动的游戏之后。