如何创建合理的AI?

时间:2011-08-22 10:38:25

标签: artificial-intelligence

我正在创建一个基于Fox和Hounds游戏的逻辑游戏。玩家扮演狐狸,AI扮演猎犬。 (据我所知)我设法使AI完美,所以它永远不会丢失。如此离开这对人类玩家来说并不是一件好事。

现在,我不得不愚蠢的AI,所以人类可以赢,但我不知道如何。当前的AI逻辑基于模式匹配 - 如果我引入随机移动使得棋盘离开模式空间,那么AI最有可能在游戏结束前玩愚蠢。

我也在考虑删除一组模式,所以看起来人工智能并不知道“技巧”,但这样玩家每次都可以找到一种方法来使用相同的动作击败计算机。

任何想法如何以这样的方式愚弄人工智能,并不是一举一动就从“天才”变成“完全愚蠢”?

5 个答案:

答案 0 :(得分:2)

我们使用MinMax作为我们游戏的AI算法,我们通过为每个级别设置不同的深度来实现AI级别

答案 1 :(得分:2)

我最终创造了几个准智能模式游戏(好像一个10岁的玩家可能会玩)所以它并不是完全愚蠢,然后我会在游戏开始之前随机选择其中的一两个。这种方式游戏总是可以打败,但玩家不知道如何(即他不能使用相同的策略总是赢,他必须首先探索弱点)。

答案 2 :(得分:0)

如果您的游戏是zero-sum,那么使用alpha-beta优化的MiniMax算法是一个不错的选择。您可以通过在算法达到一定深度时停止搜索来创建难度级别。

答案 3 :(得分:0)

由于我不是专家游戏开发者,而且我的AI目前实在太愚蠢,我会做一种“学习AI”。假设您禁用所有正则表达式,并在播放器使用它们后启用它们。

答案 4 :(得分:0)

  • 我认为这是一个零和游戏,您可以使用MinMax算法来解决游戏而不是模式匹配,这样通过控制搜索深度,您可以控制代理的专业水平。
  • 另一方面,您可以使用A *搜索来确定给定狐狸/猎犬的最佳移动。选择不同的启发式方法,您可以控制代理商的有效性。