在 Tic Tac Toe 中为 AI 实施“难度”级别的有效方法是什么?

Ahm*_*dev -1 java android artificial-intelligence minimax

我正在开发一个简单的 Tic Tac Toe android 应用程序,支持 1 或 2 个玩家。我已经为 1 人模式实现了一个 AI,它使用 minimax 算法来完美地玩(赢或平)。我想允许用户可以在简单、中等和困难之间切换。我有哪些方法可以实现这一目标?

我的第一个想法是在随机移动或完美移动之间随机选择。做出完美移动的概率为中等为 60%,简单为 10%。任何其他想法或修改?

小智 5

您有几种方法可以调整强度,尽管粒度级别对于井字棋这样简单的游戏来说并不是很好。

  1. 限制您的搜索深度。例如:如果 AI 只向前看 1-2 圈,则可以使用策略将其陷入不可避免的失败状态,而更深的树可以很好地预测以应对每种策略并始终强制平局。
  2. 削弱你的评价功能。在井字游戏中有意义地做到这一点有点困难,但您可能会想出一些办法。如果 AI 低估或高估某些东西,它的表现会更糟。
  3. 添加噪音。给你的程序随机选择一个次优移动的机会。
  4. 偏差次优决策。例如,让 AI 不太可能在拐角处率先迈出第一步。

您将需要进行试验以找出什么感觉是正确的。