人工智能学习(四):对抗搜索

目录

3.1 引言

3.2 游戏的分类

3.3 形式化游戏问题

3.4 零和游戏

3.5 对抗性搜索

3.5.1 单代理博弈树

3.5.2 对抗性游戏

3.5.2.1 Minmax

3.5.2.2 Minmax的效率

3.5.3 博弈树修剪

3.5.3.1 Alpha-Beta Pruning

3.5.3.2 资源限制

3.5.3.3 深度限制带来的问题

3.5.4 评估函数

3.5.5 Alpha-Beta Pruning和评估函数之间是否存在协同作用


3.1 引言

对于多Agent环境,其中每个Agent需要考虑到其他Agent的行动及其对自身的影响。其他Agent的不可预测性可能导致该Agent问题求解过程中的偶发性。

竞争环境

竞争环境中每个Agent的目标之间是有冲突的,这就引出了对抗搜索问题通常被称为博弈。

博弈

人工智能中“博弈”通常专指博弈论专家们称为有完整信息的确定性的轮流行动的两个游戏者的零和游戏

术语中,这是指在确定的、完全可观察的环境中两个Agent必须轮流行动,在游戏结束时效用值总是相等并且符号相反。正是Agent之间效用函数的对立导致了环境是对抗的。

博弈游戏中的状态很容易表示,Agent的行动数目通常受限,而行动的输出都有严谨的规则来定义。博弈要求具备在无法计算出最优决策的情况下也要给出某种决策的能力。博弈对于低效率有严厉的惩罚。

3.2 游戏的分类

四个维度:

确定性的非确定性的

  • 确定性的:跳棋,国际象棋,围棋。
  • 非确定性的:西洋双陆棋(使用了骰子确定下一步的行为)。

玩家的数量

  • 一名玩家:纸牌。
  • 两名玩家:跳棋,国际象棋,围棋,西洋双陆棋。
  • 更多玩家:扑克。

是否零和

  • 零和:玩家都是在互相对抗。
  • 非零和:玩家并不是都在互相对抗。

信息是否完整

  • 信息完整:当玩家决定一步时,他了解游戏当前状态的所有信息。例子:国际象棋,跳棋,围棋。
  • 信息不完整:当玩家决定一步时,他不能了解游戏当前状态的所有信息。例子:扑克(不知道其他玩家的牌)。

3.3 形式化游戏问题

首先考虑两人参与的游戏:MAXMINMAX先行,两人轮流出招,直到游戏结束。游戏结束时给优胜者加分,给失败者罚分。游戏可以形式化成含有下列组成部分的一类搜索问题。

  • So:初始状态,规范游戏开始时的情况。
  • PLAYER(s):定义此时该谁行动。
  • ACTIONS(s):返回此状态下的合法移动集合。
  • RESULT(s,a):转移模型,定义行动的结果。
  • TERMINAL-TEST(s):终止测试,游戏结束返回真,否则返回假。游戏结束的状态称为终止状态。
  • UTILITY(s,p):效用函数(也可称为目标函数或收益函数),定义游戏者p在终止状态s下的数值。在国际象棋中,结果是赢、输或平,分别赋予数值+10,或1/2

零和博弈是指在同样的棋局实例中所有棋手的总收益都一样的情况。国际象棋是零和博弈,棋局的收益是0+1, 1+01/2+1/2。“常量和”可能是更好的术语,但称为零和更传统,可以将这看成是下棋前每个棋手都被收了1/2的入场费。

初始状态、ACTIONS函数和RESULT函数定义了游戏的博弈树其中结点是状态 ,边是移动。下图给出了井字棋的部分博弈树。在初始状态MAX有九种可能的棋招。游戏轮流进行,MAXxMIN0,直到到达了树的终止状态即一位棋手的标志占领一行、一列、一对角线或所有方格都被填满。叶结点上的数字是该终止状态对于MAX来说的效用值;值越高对MAX越有利,而对MIN则越不利(这也是棋手命名的原因)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值