alpha-beta pruning

来源:互联网 发布:sql生成序号 编辑:程序博客网 时间:2024/06/04 23:22

博弈搜索中,例如下五子棋,既要使我方的静态评估函数越大,又要使对方的静态评估函数越小,所谓静态评估函数,是一个计算双方"势"的函数,例如五子棋中计算双方可能构成五连星的条数,你也可以自己构造这样的函数,事实上,这个函数构建的好坏决定了博弈的水平。假设这个函数定义为h(),定义我方为max,对方为min.则我们要最大化h(max)-h(min)。

博弈搜索中,max选择下一步集合A中的一个元素ai,对于每个ai,min可能下的所有位置记为集合B,min下棋是要极小化h(max)-h(min),所以对于每个ai,B下一步bi是极小化h(max)-h(min)的一步,对于A中所有的元素ai,我们要选择所有ai中h(max)-h(min)最大的一步。

现在开始说alpha-beta剪枝,事实上,假如对于a0,对所有的b的最小化h(max)-h(min)是2,这时考虑a1,只要任何bi的h(max)-h(min)小于2,那么整个a1这一支都不用考虑,因为如果a选a1, b选择的极小化h(max)-h(min)的bi使得其小于2,那么a1的h(max)-h(min)一定小于2.所以剪枝,这个称为alpha剪枝。

0 0
原创粉丝点击