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

  • 不知道每种算法适用于什么样的游戏
  • 如果您能给出游戏或游戏类型及其使用的算法的示例,我将不胜感激

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

有帮助吗?

解决方案

作为 Ben 的回答的补充,一个好的组合是 alpha-beta 修剪以及像 connect 4 这样的游戏。对于井字棋之类的东西来说,启发式太简单了,而对于国际象棋来说,则又太复杂了。但是《连线 4》或类似的“中间道路”游戏可以是一个很好的地方,可以看到启发式如何在效率和质量方面产生巨大差异,而且它也足够复杂,甚至可以获得一些可以赢得一些胜利的“利基”启发式。场景优于其他通常更好的启发法。connect 4 的规则尤其简单,您可以很容易地想出自己的成功启发法来查看这些事情的实际情况。

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

其他提示

α-β剪枝 一般来说,对于游戏树来说是一个很好的选择,尤其是像国际象棋和井字游戏这样的回合制游戏。

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

所以,想一些有趣的事情,然后询问人工智能可以在哪些方面改进决策,并享受乐趣(这是最重要的部分)

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

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

祝你好运!

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

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

在我的人工智能中我在课堂上使用贝叶斯网络计算概率。这不是太难,但绝对是。有趣的。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top