博弈树的搜索是人工智能领域一个重要的研究课题.许多完全信息的二人零和博弈问题都可以用博弈树搜索算法解决。
那么什么是二人零和博弈问题呢?
有一系列的博弈问题拥有以下性质[1]:
1. 有两个对抗者:对抗者1和对抗者2.
2. 两个对抗者交替移动.在博弈的每一个位置,对于正在移动的参与者,都存在有限个可能的移动.
3. 游戏是决定性的,即游戏中不存在随机性.
4. 游戏是完全信息的,即在任意时刻,博弈双方知道所处状态的所有信息.例如国际象棋是完全信息的,因为博弈双方知道所有的棋子所处位置,而两人玩的扑克牌游戏则是非完全信息的,因为一个人看不到对方手上的扑克牌.
5. 游戏有三种可能结局:对抗者1获胜,对抗者2获胜,或者平局.有一些游戏不存在平局,只有两种可能解决:对抗者1获胜,或者对抗者2获胜.由于这个性质,所以一个对抗者的损失对另一个对抗者来说是受益,故此这类的博弈游戏称为零和博弈(zero-sum game).
对于具有上述性质的博弈问题,可以用博弈树来表示两个对抗者在博弈过程可能遇到的状态和移动选择.在对抗树(adversarytree)或者博弈树(gametree)中,两个对抗者交替移动.处于树底层的结点称为叶结点(leaf node),叶结点的祖先称为内部结点(interior node).
使用的[2]术语,一个问题空间(problem space)看以看做是一个状态(state)和实现状态之间映射的操作(state)的集合.在博弈问题中,博弈树上的一个内部结点或叶结点就是一个状态,一般使用位置(position)来表述.移动(move)就是将一个位置转化为其子位置(successor position)的操作.如果一个位置是博弈树的叶结点,可以用评价者&#x