alpha-beta剪枝搜索

•一种基于剪枝( α-βcut-off)的深度优先搜索(depth-first search)。
•将走棋方定为MAX方,因为它选择着法时总是对其子节点的评估值取极大值,即选择对自己最为有利的着法;
•将应对方定为MIN方,因为它走棋时需要对其子节点的评估值取极小值,即选择对走棋方最为不利的、最有钳制作用的着法。
 
•在对博弈树采取深度优先的搜索策略时,从左路分枝的叶节点倒推得到某一层MAX节点的值,可表示到此为止得以“落实”的着法最佳值,记为α。
•显然此值可作为MAX方着法指标的下界。
•在搜索此MAX节点的其它子节点,即探讨另一着法时,如果发现一个回合(2步棋)之后评估值变差,即孙节点评估值低于下界α值,则便可以剪掉此枝(以该子节点为根的子树),即不再考虑此“软着”的延伸。
•此类剪枝称为α剪枝。
 
 
 
 
•同理,由左路分枝的叶节点倒推得到某一层MIN节点的值,可表示到此为止对方着法的钳制值,记为β。
•显然此β值可作为MAX方无法实现着法指标的上界。
•在搜索该MIN节点的其它子节点,即探讨另外着法时,如果发现一个回合之后钳制局面减弱,即孙节点评估值高于上界β值,则便可以剪掉此枝,即不再考虑此“软着”的延伸。
•此类剪枝称为β剪枝。
 
•α-β剪枝是根据极大-极小搜索规则的进行的,虽然它没有遍历某些子树的大量节点,但它仍不失为穷尽搜索的本性。
 
•α-β剪枝原理中得知:
  α值可作为MAX方可实现着法指标的下界
  β值可作为MAX方无法实现着法指标的上界
  于是由α和β可以形成一个MAX方候选着法的窗口
  也便出现了各种各样的α-β窗口搜索算法。
 

posted on 2014-03-21 19:20  IThinktan  阅读(15811)  评论(1编辑  收藏  举报

导航