目录
3.5.5 Alpha-Beta Pruning和评估函数之间是否存在协同作用
3.1 引言
对于多环境,其中每个
需要考虑到其他
的行动及其对自身的影响。其他
的不可预测性可能导致该
问题求解过程中的偶发性。
竞争环境:
竞争环境中每个
的目标之间是有冲突的,这就引出了对抗搜索问题通常被称为博弈。
博弈:
人工智能中“博弈”通常专指博弈论专家们称为有完整信息的、确定性的、轮流行动的、两个游戏者的零和游戏。
术语中,这是指在确定的、完全可观察的环境中两个
必须轮流行动,在游戏结束时效用值总是相等并且符号相反。正是
之间效用函数的对立导致了环境是对抗的。
博弈游戏中的状态很容易表示,的行动数目通常受限,而行动的输出都有严谨的规则来定义。博弈要求具备在无法计算出最优决策的情况下也要给出某种决策的能力。博弈对于低效率有严厉的惩罚。
3.2 游戏的分类
四个维度:
确定性的和非确定性的
- 确定性的:跳棋,国际象棋,围棋。
- 非确定性的:西洋双陆棋(使用了骰子确定下一步的行为)。
玩家的数量
- 一名玩家:纸牌。
- 两名玩家:跳棋,国际象棋,围棋,西洋双陆棋。
- 更多玩家:扑克。
是否零和
- 零和:玩家都是在互相对抗。
- 非零和:玩家并不是都在互相对抗。
信息是否完整
- 信息完整:当玩家决定一步时,他了解游戏当前状态的所有信息。例子:国际象棋,跳棋,围棋。
- 信息不完整:当玩家决定一步时,他不能了解游戏当前状态的所有信息。例子:扑克(不知道其他玩家的牌)。
3.3 形式化游戏问题
首先考虑两人参与的游戏:和
。
先行,两人轮流出招,直到游戏结束。游戏结束时给优胜者加分,给失败者罚分。游戏可以形式化成含有下列组成部分的一类搜索问题。
:初始状态,规范游戏开始时的情况。
:定义此时该谁行动。
:返回此状态下的合法移动集合。
:转移模型,定义行动的结果。
:终止测试,游戏结束返回真,否则返回假。游戏结束的状态称为终止状态。
:效用函数(也可称为目标函数或收益函数),定义游戏者
在终止状态
下的数值。在国际象棋中,结果是赢、输或平,分别赋予数值
,
,或
。
零和博弈是指在同样的棋局实例中所有棋手的总收益都一样的情况。国际象棋是零和博弈,棋局的收益是或
。“常量和”可能是更好的术语,但称为零和更传统,可以将这看成是下棋前每个棋手都被收了
的入场费。
初始状态、函数和
函数定义了游戏的博弈树其中结点是状态 ,边是移动。下图给出了井字棋的部分博弈树。在初始状态
有九种可能的棋招。游戏轮流进行,
下
,
下
,直到到达了树的终止状态即一位棋手的标志占领一行、一列、一对角线或所有方格都被填满。叶结点上的数字是该终止状态对于
来说的效用值;值越高对
越有利,而对
则越不利(这也是棋手命名的原因)。