19

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

  • 我不知道每种算法适用于哪种游戏
  • 如果您可以举一个游戏或游戏类型及其使用的算法的示例,我将不胜感激

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

4

7 回答 7

14

除了 Ben 的回答之外,一个好的组合是 alpha-beta 修剪以及像 connect 4 这样的游戏。像井字游戏这样的启发式方法太简单,而对于国际象棋来说,太复杂了。但是连接 4 或类似的“中间道路”游戏可能是一个很好的地方,可以了解启发式如何在效率和质量方面产生重大影响,而且它也足够复杂,甚至可以获得一些可以赢得一些“利基”启发式场景优于其他通常更好的启发式方法。特别是 connect 4 的规则非常简单,很容易想出自己成功的启发式方法来查看这些操作。

另一个常见的 AI 是用于寻路的 A*,例如 RTS 或沙盒环境中的单位旅行。

于 2009-01-08T23:37:39.080 回答
5

Alpha-beta 修剪通常适用于游戏树,尤其是象棋和井字游戏等回合制游戏。

于 2009-01-08T23:32:30.260 回答
1

任何游戏都可以使用任何 AI 算法,如果你有一个“敌人”跟随你的 2d 游戏,你可以使用模糊逻辑来制作轨迹。就像您可以使用(任何类型的)网络让他们“学习”跟随您的最佳方式一样。(如果他们有很多,你可以使用遗传算法让他们世代学习)

所以去吧,想一些有趣的事情,然后问在哪里可以通过 AI 改进决策并获得乐趣(这是其中最重要的部分)

你可以查看这本书以获得一些想法,我敢打赌你的大学在图书馆的某个地方有它

于 2009-01-08T23:37:28.970 回答
1

您可以尝试使用曼哈顿距离作为启发式函数的N 谜题A* 搜索算法

于 2009-01-09T03:24:36.500 回答
1

正如已经提到的,A* 是一个很好的游戏寻路算法。这是一个关于如何实现的教程(带有源代码)。

祝你好运!

于 2009-01-09T03:28:42.373 回答
1

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

在我的 AI 课上,我用贝叶斯网络做了一个来计算概率。这不是太难,但很清楚。有趣的。

于 2010-10-21T02:39:43.860 回答
0

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

于 2016-05-27T14:20:21.467 回答