搜索到节点 A 时,由于左子节点的分数为 3,而节点 A 是 MIN 节点,试图找分数小的走法,于是将 𝛽 值修改为 3,这是因为 3 小于当前的 𝛽 值(𝛽=+∞)。然后节点 A 的右子节点的分数为 17,此时不修改节点 A 的 𝛽 值,这是因为 17 大于当前的 𝛽 值(𝛽=3)。此时,节点 A 的所有子节点已搜索完毕,即可计算出节点 A 的分数为 3,这与该节点处记录的 𝛽 值一致(前文的情形 1)。
节点 A 是节点 B 的子节点,计算出节点 A 的分数后,可以更新节点 B 的 𝛼 和 𝛽 值。由于节点 B 是 MAX 节点,试图找分数大的走法,于是将 𝛼 值修改为 3,这是因为子节点 A 处的 𝛽 值(𝛽=3)大于当前的 𝛼 值(𝛼=−∞)。之后,搜索节点 B 的右子节点 C,并将节点 B 的 𝛼 和 𝛽 值传递给节点 C。
对于节点 C,由于左子节点的分数为 2,而节点 C 是 MIN 节点,于是将 𝛽 值修改为 2。此时 𝛼≥𝛽,故节点 C 的剩余子节点就不必搜索了,因为可以确定,Alpha 玩家不会允许局面发展到节点 C。此时,节点 C 是 MIN 节点,它的分数就是 2,不超过记录的 𝛽 值(前文的情形 3)。由于节点 B 的所有子节点搜索完毕,即可计算出节点 B 的分数为 3,与记录的 𝛼 值相同(前文的情形 1)。
计算出节点 B 的分数后,节点 B 是节点 D 的一个子节点,故可以更新节点 D 的 𝛼 和 𝛽 值。由于节点 D 是 MIN 节点,于是将 𝛽 值修改为 3。然后节点 D 将 𝛼 和 𝛽 值传递给节点 E,节点 E 又传递给节点 F。对于节点 F,它只有一个分数为 15 的子节点,由于 15 大于当前的 𝛽 值,而节点 F 为 MIN 节点,所以不更新其 𝛽 值,然后可以计算出节点 F 的分数为 15,大于记录的 𝛽 值(前文的情形 2)。
计算出节点 F 的分数后,节点 F 是节点 E 的一个子节点,故可以更新节点 E 的 𝛼 和 𝛽 值。节点 E 是 MAX 节点,更新 𝛼 值,此时 𝛼≥𝛽,故可以剪去节点 E 的余下分支(即节点 G)。然后,节点 E 是 MAX 节点,将节点 E 的分数设为 15,严格大于记录的 𝛼 值(前文的情形 3)。利用节点 E 的 𝛼 值更新节点 D 的 𝛽 值,仍然是 3。此时,节点 D 的所有子节点搜索完毕,即可计算出节点 D 的分数为 3,等于记录的 𝛽 值(前文的情形 1)。
计算出节点 D 的分数后,节点 D 是节点 H 的一个子节点,故可以更新节点 H 的 𝛼 和 𝛽 值。节点 H 是 MAX 节点,更新 𝛼。然后,按搜索顺序,将节点 H 的 𝛼 和 𝛽 值依次传递给节点 I、J、K。对于节点 K,其左子节点的分数为 2,而节点 K 是 MIN 节点,更新 𝛽,此时 𝛼≥𝛽,故可以剪去节点 K 的余下分支。然后,将节点 K 的分数设为 2,小于等于记录的 𝛽 值(前文的情形 3)。
计算出节点 K 的分数后,节点 K 是节点 J 的一个子节点,故可以更新节点 J 的 𝛼 和 𝛽 值。节点 J 是 MAX 节点,更新 𝛼,但是,由于节点 K 的分数小于 𝛼,所以节点 J 的 𝛼 值维持 3 不变。然后,将节点 J 的 𝛼 和 𝛽 值传递给节点 L。由于节点 L 是 MIN 节点,更新 𝛽=3,此时 𝛼≥𝛽,故可以剪去节点 L 的余下分支。由于节点 L 没有余下分支,所以此处并没有实际剪枝。然后,将节点 L 的分数设为 3,它小于等于记录的 𝛽 值(前文的情形 3)。
计算出节点 L 的分数后,节点 L 是节点 J 的一个子节点,故可以更新节点 J 的 𝛼 和 𝛽 值。节点 J 是 MAX 节点,更新 𝛼,但是,由于节点 L 的分数小于等于 𝛼,所以节点 J 的 𝛼 值维持 3 不变。此时,节点 J 的所有子节点搜索完毕,即可计算出节点 J 的分数为 3,它等于记录的 𝛼 值(前文的情形 2)。
计算出节点 J 的分数后,节点 J 是节点 I 的一个子节点,故可以更新节点 I 的 𝛼 和 𝛽 值。节点 I 是 MIN 节点,更新 𝛽,此时 𝛼≥𝛽,故可以剪去节点 I 的余下分支。值得注意的是,由于右子节点的存在,节点 I 的实际分数是 2,小于记录的 𝛽 值(前文的情形 3)。
计算出节点 I 的分数后,节点 I 是节点 H 的一个子节点,故可以更新节点 H 的 𝛼 和 𝛽 值。节点 H 是 MAX 节点,更新 𝛼,但是,由于节点 I 的分数小于等于 𝛼,所以节点 H 的 𝛼 值维持 3 不变。此时,节点 H 的所有子节点搜索完毕,即可计算出节点 H 的分数为 3,它等于记录的 𝛼 值(前文的情形 1)。