国际象棋引擎文章(一)uci协议

棋弈程序(应该称之为引擎)是高度“可移植的”随着越来越多的棋弈程序遵从如Winboard和UCI协议等各种协议,它们不再被限定于一个软件或界面了。用户现在可以把一个棋弈程序(引擎)从一个他们所购买的软件/界面中“输出”到另一个[软件/界面]。

棋弈引擎所走的棋

首先让我们来定义几条术语。当我们谈论起你所购买的一套常规软件时,比方说 Chessmaster ,你可能以为整个软件包就是完整的一个整体。实际上,我们可以把这套软件分开成彼此很不相同的两个组成部分来看待。第一部分是我所说的用户界面或者图形用户界面(GUI),而另一部分就是棋弈引擎(Chess engine)。【译注:往往分别简称界面和引擎】 关于用户界面,我指的是与用户有交互操作功能的软件部分。这可以是程序中显示棋盘、让用户走动棋子,以及棋局数据库搜索过滤器或实现ICS客户端在线 功能的任何功能部分,等等。用户界面要与棋弈引擎区分开来,棋弈引擎是指实际决定或计算该走哪步棋的程序部分。

   灵与肉    通过这样把国际象棋软件分开成两个组成部分,现在你可知,一个棋弈引擎有可能在不止一个界面下都能够良好地运行。 思考一下这种情况:你可以把比如Crafty(著名的免费棋弈引擎)“输入”到Winboard,Fritz, Chess assistant等或者其它任何界面中去,令Crafty运行,这个事实暗示了肯定存在某些方法让Crafty与软件之间建立联络。这也暗示了有两个程 序在工作着,“大脑”或者说是引擎部分命令该走哪步棋,同时用户界面(也称作GUI,即图形用户界面)处理棋步显示的工作以及与用户建立互动交流。 所有工作是同时地、无间隙地进行着的,你看上去就象只有一个程序在运行。不过如果你观察任务管理器里的程序运行情况,你就可以清楚看见有两个程序在工 作着。作个粗略比喻,可认为界面就是“肉体”;而棋弈引擎就是“灵魂”,是它在作决定。上述例子中,Crafty充当灵魂,它在任何一个能忠实地反映由 Crafty所决定全部棋步的“肉体”/界面中都能工作得同样的好。 显然,每当提及一个国际象棋软件包的时候,我们必须小心指明我们是在说它的界面还是引擎,特别是当这两者顶着同一个名字时【译注:比如说起Fritz,必要时必须分清是指Fritz界面还是Fritz引擎,还是指整套Fritz软件。后面还有进一步说明】。不是所有的棋弈引擎都能运行在全部用户界面中的。对于能良好运行在某用户界面(Fritz,Chess assistant, Winboard等)的某棋弈引擎,它们两者必须通过共享一种通用的通讯协议或“语言”来进行交流。
 

语言 ”   到目前为止最通行的协议或者说所使用的语言,是Tim Mann所提出的Winboard通讯协议【译注:Tim Mann同时也是Winboard这个工具的主要作者】。现在至少有120种免费的国际象棋棋弈引擎支持这个协议。另一个是Shredder的作者Stefan Meyer-Kahlen和SOS的作者Rudolf Huber所提出的通用国际象棋界面协议(UCI),到写这篇文章的时候,它有大约20种引擎支持。

国际象棋通用界面(UCI)   正得到普及的另一开放性协议是国际象棋通用界面协议(UCI)。第一个支持UCI协议的界面是商业性的Shredder 5,它的作者也是UCI的提出者。最近,其它界面已开始支持它了,包括Chess Assistant 6、 Chess Partner 和 Fritz 7。【译 注:因此自从Fritz 7之后,支持UCI的引擎都能够在Fritz界面下使用--注意又再次提出这两个(甚至该说是三个)概念的区分,一般说的Fritz是指这整套软件; Fritz有它独特的界面和显示、功能选单和操作,这就是Fritz界面;而负责棋步计算的核心,即引擎,在商业上也叫Fritz引擎,但在技术上,它有 别的名字,如Quest。使用过Fritz的人都知道,除了'Fritz'这个引擎外,它还带有别的其它引擎,而且可以添加。这样就很容易理解什么叫引擎、什么叫界面、又什么叫整个(套)会下棋的软件。】

   开放与非开放协议 Winboard和UCI都是开放性协议的例子。意思是协议自由公开,任何程序员都可以(如果愿意)设计使他们的程序适应其标准。这与非公开协议相 反,后者的标准不公开,既包括私有的不打算让别的引擎理解的界面;另一方面也指秘密/版权协议,它只被属于同一家公司的引擎、或付了许可费用而有权使用该 协议的作者所写的引擎理解。Chessbase协议可能就是最出名的一个。【译 注:作为国际象棋数据库的那套chessbase工具,知道的人应该比较多;但说起'chessbase',要注意可能指:1)chessbase协议, 正是本段所述;2)chessbase所出版的那些软件的统一界面或典型界面,以Fritz的最典型;3)名字就叫chessbase的那套国际象棋数据库工具;4)chessbase这间公司,或者它的网站;等等】

出处: Aaron的国际象棋引擎FAQ主页 译者: Michael

(0)

相关推荐

  • 象棋旋风作者陈朝营日记象棋旋风版本概述|棋软收藏站

    曾经的旋风 早在2005年的时候,旋风还没有出世,当时我研究的引擎名字叫coony,coony是一个试验品,当时风靡一时的国像引擎fruit给了我不少灵感,在coony上面,试验了很多新的想法,最终由 ...

  • 国际象棋 每日一练 两步杀37

    国际象棋 每日一练 两步杀37 人生如棋  棋如人生 正在学棋的同学可以一起来做做,每期10题,一定要熟练,多看几遍,10道题5分钟内完成合格,2分钟优秀. 1 跟我学象棋线上课程报名开始了 国际象棋 ...

  • Stockfish,UCI国际象棋引擎.zip

    [为什么学Python?] Python 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头.借此机会,裴老师联合CSDN推出了 ...

  • [转载]借助电脑的国际象棋引擎训练

    原文地址:借助电脑的国际象棋引擎训练 原文作者:GETDDYD [棋 途] 借助电脑的国际象棋引擎训练 陈仪德 因受新型冠状病毒感染肺炎疫情的影响,为保证广大棋手及家长的健康安全.减少聚集,全国各地原 ...

  • 三方协议到底要不要签?应届生看完这篇文章,再决定不迟

    之前写过一篇关于应届生签订三方协议之前,应该提前想清楚哪些问题的文章: 应届生必读:签订三方协议,务必确保3点 最近收到了很多应届生小伙伴五花八门的问题,我发现大家对三方协议一些非常常识性的东西,还不 ...

  • 求国际象棋软件引擎

    frize11,这是当今世界上最高的国际象棋分析软件,frize11好用不过是英文版的,有中文版买,建议与chessbase一起用功能更强,如果您英文不错的话推荐您还是用 Chessmaster 11 ...

  • 关于行政协议的干货文章汇编

    法治搬运工 12月13日 公号后台回复"历史"两字可查阅往期干货文章汇编,点击以下蓝字即可跳转至具体文章 1.最高法发布审理行政协议案件的司法解释(附全文) 2.最高人民法院十个与 ...

  • 【行业动态】GE航空集团签署GE9X引擎参与者协议,同时选定FADEC联盟为控制系统供货商

    导读: 近日,GE航空集团宣布GE 9X发动机最终参与者协议,最终由GE航空集团.IHI公司.赛峰集团航空发动机和赛峰集团助推器一起协定参与GE9X发动机项目.所有GE 9X发动机参与者将在研发过程中 ...

  • 使用分布式存储协议进行内容流存储,Audius赋能全球艺术家和创作者

    5月5日,分布式存储协议官方博客发布最新文章<Audius使用分布式存储协议进行内容流存储,赋能全球艺术家和创作者>,介绍了使用分布式存储协议的音乐共享平台Audius.以下为官方原文. ...

  • 建议炒股的朋友每天睡觉前看几行:这篇文章,我整整读了10遍

    投资不是平地赛跑,而是垂直攀登.比别人更快并不代表成功,因为一个失足下坠就可以抹平所有的成绩.对于一个几乎没有尽头的高峰而言,领先的意义很小.最重要的是确保每一个动作都符合安全规范,避开危险的线路和不 ...

  • 太极拳的本质,“听劲追问”,静心读完这篇文章

    大军压境,黑云裹战马.轻抚枪尖,细品碧螺春.勇气与沉稳,是同一股能量.爆发时叫勇气,收敛时称沉稳.不发力,就是绵沉劲.打出去,变成了弹抖,换个形式而已,都是一股动能.武人偏爱大枪,因为枪走螺旋,也更体 ...