《对弈程序基本技术》专题
 
藐视因子
 
Bruce Moreland /
 
  为杀棋定义一个值很容易——只需要一个很大的正数,如果你被将死了就用一个很大的负数。但是决定平局用什么值就稍难一些了。
  如果程序对阵比它强的棋手,那么一个平局可能对程序来说非常不错,但是当程序对阵一个很弱的棋手时,平局却很失败。
  “藐视因子”(Contempt Factor)只是平局分值的另一个名称而已,这就意味着平局分值必须根据对平局的渴望程度来调整。
  典型的藐视因子是一个稍负一点的数,因此程序即使在局面稍差的情况下也会试图取胜,但是一些程序根本不用藐视因子,并且在平局时只返回零。
  我认为有必要根据比赛进行的状况选择不同的藐视分值。如果是很激烈的中局并且程序稍微落后,通常发生在程序执黑时,可以考虑给个稍大些的值,这种条件下程序就可以为胜利而战。
  在残局中即使有子力,用零或许就是好的。
  我认为还有个诀窍,藐视因子在某些情况下应该取负数,这取决于哪一方走棋。否则的话从Alpha-Beta树向上返回时符号会出错。
  我认为开局阶段合理的藐视值是-0.50个兵;整体上合理的藐视因子是-0.25;在残局中0.00比较合理,或者用一个不是很负的值。用一个负值来处理兵残局则不是一个好的策略。
  【译注:某些棋类程序可由用户定义程序的下棋风格,如保守、均衡或冒进,译者认为这可能和藐视因子有关,风格保守时藐视因子正些,风格冒进时负些(注:藐视因子越负说明藐视程度越大,程序越想赢棋)。另外,参加比赛的程序还应该根据赛程来调整藐视因子,例如最后一轮比赛中程序只要守和就可以夺冠,那么这一轮藐视因子应该设得正些。】
 
  原文:http://www.seanet.com/~brucemo/topics/contempt.htm
  译者:象棋百科全书网 (webmaster@xqbase.com)
  类型:全译加译注
  • 上一篇 其他策略——重复检测
  • 下一篇 其他策略——后台思考
  • 返 回 象棋百科全书——电脑象棋
  • www.xqbase.com