在 Tic Tac Toe 中为 AI 实现 "difficulty" 级别的有效方法是什么?

What are effective ways to implement "difficulty" levels to an AI in Tic Tac Toe?

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

我的第一个想法是随机选择随机走法还是完美走法。做出完美着法的概率对于中等概率为 60%,对于简单概率为 10%。还有其他想法或修改吗?

你有几种调整强度的方法,尽管对于像 tic-tac-toe 这样简单的游戏来说,粒度级别不是很好。

  1. 限制您的搜索深度。例如:如果 AI 只看前方 1-2 圈,则可以使用一种策略将其陷入不可避免的失败状态,而更深的树可以很好地预测以反击每一种策略并始终强制平局。
  2. 弱化你的评价功能。这在 tic-tac-toe 中有点难以有意义地完成,但您也许可以想出一些办法。如果 AI 低估或高估某些东西,它会玩得更糟。
  3. 添加噪音。给你的程序一个随机机会 select 一个次优的移动。
  4. 偏向次优决策。例如,让 AI 不太可能率先走角点。

您将需要进行试验以找出合适的方法。