人工智能中的对抗搜索


2022年7月20日, Learn eTutorial
2545

设想这样一种情况:我们正在规划自己的下一步行动,但有人正在对抗我们,因此我们的计划会受到对手活动的影响。应用于这种情况的方法称为对抗搜索。在AI领域,搜索一词指的是博弈。

什么是对抗搜索?

在我们之前的专题中,我们讨论了与单个智能体相关的搜索策略。但有些情况下,多个智能体在一个环境中工作。这种情况主要发生在博弈中。

一个拥有多个智能体的环境称为多智能体环境(您可以点击我们的第五个专题任务环境,了解有关多智能体环境的更多详细信息)。在这里,每个智能体将作为彼此的对手,相互对抗。每个智能体都必须考虑其他智能体的行动以及这些行动对其性能的影响。

因此,对抗搜索可以定义为一种博弈技术,其中智能体的环境具有竞争性特征。智能体试图探索单一搜索空间以找到解决方案。对抗搜索通常可以称为博弈。

示例:国际象棋、交易、战争。

我们改变了我们的状态,但我们无法控制下一个状态。对手将以一种不可预测且与我们对抗的方式改变下一个状态。
从数学上讲,这种搜索方法基于“博弈论”的概念。根据博弈论,博弈在两个或更多玩家之间进行,其中一个必须赢得博弈,而其他人则自动输掉博弈以完成博弈。

对抗搜索的重要性

这种搜索方法是人工智能领域最重要的之一。它将为复杂情况下的多玩家环境提供解决方案。

它将为以下情况提供解决方案:

  • 每个智能体都必须考虑其他智能体的行动,并且必须动态地制定策略并达到最终目标。
  • 每个智能体都必须采取不可预测的行动来打乱其他智能体并赢得比赛。
  • 有些游戏具有妥协性,但大多数游戏都具有竞争性。
  • 每个智能体都将面临目标冲突和不可预测的对手的挑战。
  • 有时需要即时反应来反对策略并赢得比赛。
  • 处理所有类型的游戏。

对抗搜索的优势

对抗搜索已应用于许多领域,下面列出了一些应用。

  • 法律系统:在法律系统中,两位律师将就其代表方的案件进行辩论,陪审团可以根据上述解释的技术提出建议并作出判决。
  • 商业环境:为了以竞争方式向供应商和买家提供产品/服务,这些技术可以在商业环境中使用。
  • 艰难谈判:这个概念可以用于那些需要在艰难谈判中进行智能和谨慎谈判的人,以获得最大收益。
  • Alpha-Beta 剪枝:基于这些概念可以开发出 Alpha-Beta 剪枝等新技术。

对抗搜索中的算法类型

我们已经讨论了一些搜索方法。对于这种正常搜索,需要遵循一系列操作才能达到目标或结束游戏。但对于对抗搜索,结果将取决于玩家,他们将改变结果或决定游戏结果。由于玩家将尝试在有限时间内以最短路径赢得游戏,因此解决方案将是最佳解决方案。

以下是对抗搜索的类型:

  • 最小-最大算法
     
  • Alpha-Beta 剪枝

最小-最大算法

在人工智能中,Minimax 是一种用于博弈论的决策策略,旨在最小化失败几率并最大化获胜几率。它也称为鞍点。它基于两个玩家,如果一个玩家赢得游戏,另一个玩家将自动输掉游戏。它可以说是一种回溯算法。我们在日常生活中玩的游戏,如井字棋、西洋双陆棋、Mancala、国际象棋等,都模拟了这种策略。

在 Minimax 策略中,两个玩家分别被称为最小化器和最大化器,其中最大化器试图获得尽可能高的分数,而最小化器则试图执行相反的操作,获得尽可能低的分数。它遵循 DFS 概念。这里的游戏在最大化器和最小化器之间交替进行。当最大化器完成移动后,下一步轮到最小化器。最大化器所做的移动是固定的,不能更改。这个概念被用于 DFS 策略;路径不能在中间更改。

示例

MINIMAX ALGORITHM

在上面的例子中,两个玩家是 MIN 和 MAX。MAXZ 通过选择一条路径并探索该路径的所有节点来开始游戏。MAX 然后将回溯到初始节点并选择提供最大效用值的最佳路径。之后,轮到 MIN。它也会探索一条路径并回溯。在这里,MIN 将选择一条路径,该路径可以最小化 MAX 的获胜机会或效用值。

最小-最大算法的优缺点

优点 缺点
  • 搜索空间经过彻底评估
  • 易于决策
  • 此方法用于开发新型智能机器。
  • 过程较慢
  • 引擎的性能和效率下降
  • 不能在有限的时间和空间下使用。

Alpha-Beta 剪枝

Alpha-beta 剪枝可以看作是 Minimax 算法的一种高级形式。Minimax 策略的主要缺点是时间消耗大,因为它会深入探索每个节点以提供最佳路径。Alpha-beta 剪枝将大大减少这个问题。这种方法使我们能够更快甚至更深入地搜索。它在 Minimax 函数中使用了两个额外的参数,称为 alpha 和 beta。它还通过探索减少的节点数量来缩短搜索。使用剪枝技术剪除不需要的分支。因此称为 alpha-beta 剪枝。在这里,Alpha 是最大化器在特定级别可以拥有的最佳可能值。而 Beta 是最小化器在特定级别可以拥有的最佳可能值。

示例
 

ALPHA-BETA PRUNIN

在上图中,P 和 Q 是两位玩家。设 P 是试图通过最大化获胜机会来赢得比赛的人,Q 是试图最小化 P 获胜机会的人。这里 alpha 代表节点的最大值,beta 代表节点的最小值。

  • P 或 Q 将开始游戏。玩家将选择一条路径以达到其深度或通过遵循 DFS 顺序找到终端值。
  • 如果游戏由 P 开始,则它将选择最大值以增加获胜机会,并获得最大效用值。如果游戏由 Q 开始,则它将选择最小值以减少 P 的获胜机会,并获得最小效用值。
  • 游戏将由玩家轮流进行。

ALPHA-BETA 剪枝的优缺点
 

优点 缺点
  • 消除了搜索分支
  • 搜索时间有限
  • 减少了计算和搜索
  • 过程更快,响应更灵敏
  • 无法解决所有 Minimax 算法的问题。
  • 需要深度限制
  • 计算所有合法移动值。