Chess_Bridge 版 (精华区)

发信人: goes (从头再来), 信区: Chess_Bridge
标  题: “乌鹭”的编程技术
发信站: 紫 丁 香 (Sat Apr 29 04:33:22 2000) WWW-POST

 

陈志行, 乌鹭小组的指导者
“乌鹭”是我指导编写的, 故“乌鹭”有不少与“手谈”相近之处。
首先, “乌鹭”采用了“手谈”的主要数据结构, 因此可以在“乌鹭”中找到与“手谈
”类似的数据。“乌鹭”用了“手谈”的有关围棋规则的处理程序, 只作了很少的修改

“乌鹭”用了与“手谈”相同的定式管理程序, 但定式库比“手谈”的大得多。“手谈
”的定式完全是人工输入的, 而“乌鹭”的定式是由主要编写者雷秀瑜所编的一个程序
半自动地生成的。
“乌鹭”中有不少重要技术与“手谈”大不相同。
影响, 气位的级别
“乌鹭”定义了如下图的气位级别。气位都是空位。
      y2y
     yz1zy        mn
     21O12        OX
     yz1zy        mn
      y2y
      (a)         (b)
图(a)的O是白子, 带其他字符的位置都是空位。邻位(1)称为一级气位; 关位(2)称为二
级气位; 斜邻位(z)称为1.5级气位; 小飞位(y)称为2.5级气位。
图(b)的O是白子, X是黑子, m、n是空位。m是那黑子的扳位, 也是黑子的二级气位; n是

那白子的扳位, 也是白子的二级气位。
从一种颜色的棋子对某点的影响仅决定于离该点最近(具最小级数)的该色棋子:
     气位级别     1     1.5    2    2.5
     白影响      6     5      3    2
     黑影响      -6    -5     -3   -2
黑白影响可以互消。“乌鹭”中也有与“手谈”类似的圆滑方案, 但有些不同。
由于影响的计算比“手谈”简单得多, 评价函数的计算也就快得多。
自由度
自由度的计算仅考虑二级和2.5级气位。由于计算影响时记录了各级气位, 自由度的计算

也就十分简单而比“手谈”快得多。
搜索法
1996应氏杯的版本没有用到搜索法, 一局棋的后期“乌鹭”就显得太弱。1998年的“乌
鹭”用了搜索法。由于评价迅速, 搜索法中就可以包括更多的计算而取得更多的信息。
结果“乌鹭”的搜索法比“手谈”成功得多。若取消了搜索法, “乌鹭”就要弱得多。

串安全性的模式识别
“乌鹭”中有一大段程序由陈国宝编写的, 是关于串安全性即歼逃可能性的程序。它是
用模式识别来作判断的。不过, 这里用了像“手谈”那样的老方法, 难以维护。
模式管理
1997年秋我们设计了一个新的模式管理方案, 首先用于“乌鹭”。
模式由字符构成的图形代表。这些字符是:
    O = 白子        X = 黑子      o = 白或空      x = 黑或空
    * = 模式中心    . = 空位      空格 = 任意     # = 棋盘外
用一个程序把这些图形编译成为汇编语言的指令以作模式识别。模式中的条件也表达为
某些语句, 并由该程序一起编译成为汇编指令。
雷秀瑜用此法编出有关模式的一个大模块。模式的数量就比“手谈”多得多。主要的调
试归结为这些模式的修改。雷秀瑜作了长期的调试, 结果使“乌鹭”成为世界顶尖程序
之一, 并在1998应氏杯中获亚军。


--
※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 202.97.187.184] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.764毫秒