极大-极小算法实例:
极大极小算法从当前状态计算极小极大决策,在MAX结点处计算后继中的最大值,在MIN处计算后继中的最小值,使用递归算法自上而下一直到叶节点然后回溯通过搜索树把极小极大值回传,例如在当前的树中,先递归到三个底层的叶节点,第一个叶节点得到的效用值分别为3、12、8,在MIN结点处取其中的最小值3返回给结点B,同样地可以得到C和D处的回传值均为2,最后在根节点MAX结点处选择最大值3作为根节点处的回传值。
α \alpha α- β \beta β剪枝过程实例:
每一个结点处标明了此结点处可能的取值范围,随着结点的遍历而不断更新,首先B结点下的第一个结点的值为3,同时B为MIN结点,需要在子节点中找到最小值,说明B处存储的子节点中的最小值的上界为3(除非在子节点中找到比3更小的值),即B结点处的范围为[- ∞ \infty ∞,3],在观察完B的所有后继后没有发现比3更小的值因此B结点处的值为3;得到B结点的值后可以推算出A结点的范围,A为MAX结点,故A范围为[3,+ ∞ \infty ∞];C结点的第一个子节点为2,且C为MIN结点,故C处的值范围为[- ∞ \infty ∞,2],因为B结点的3已经比2大了,所以再看C的其他后继没有意义了,因此减去C后面的子节点;再看D结点,为MIN结点,第一个子节点为14,故D范围为[- ∞ \infty ∞,14],继续观察,第二个子节点为5,更新D结点范围[- ∞ \infty ∞,5],第三个子节点为2,所以D的值为2了,同时也确定了根节点处的值为3。