《象棋巫师》帮助主题 版本:3.5
-
-
目录
一、概述
二、运行环境
三、棋谱文件
四、着法
五、局面
六、魔法
七、开局信息
八、UCCI引擎
九、界面设置
-
- 八、UCCI引擎
-
- 8.1 如何让电脑走棋?
-
- 选择“引擎执红”或“引擎执黑”,电脑就会为指定一方走棋。电脑出子前通常会进行“思考”,此时工具栏最右端的“停止思考”红灯就会亮起。难度设定得越高,电脑思考的时间就会越长。
- 启动《象棋巫师》或新建起局,根据“选项设置”对话框中“新局的引擎状态”的不同,电脑会自动选择执红或执黑。电脑执红时,棋盘会自动翻转,始终按用户的视角摆放棋子。如果不需要棋盘会自动翻转,可以把“选项设置”对话框中的“自动翻转棋盘”选项去除。
- 电脑走棋时,可以选择“后台思考”功能,在用户走棋的时间内也进行思考,这样会适当提高电脑的水平。如果“选项设置”对话框中打开了“启用后台思考”选项,那么启动《象棋巫师》或新建起局时,“后台思考”功能会自动启用。
- 电脑走棋时,可以选择“引擎分析”功能,来观察电脑的思路。
- 如果以上功能无法启用,说明引擎还没有加载,可以使用“引擎”菜单的“加载引擎”功能。《象棋巫师》自带的引擎ElephantEye位于《象棋巫师》的安装目录下,名称为ELEEYE.EXE。
-
- 8.2 目前UCCI引擎能有哪些工作模式?
-
- 现在UCCI引擎已经日趋完善,目前支持三种思考方式:
- (1) 限定层数,也可以无限制搜索(《象棋巫师》可设定的最大层数为30层或无限制);
- (2) 采用时段制限时方式,即规定几分钟之内要走完几步;
- (3) 采用加时制限时方式(Fischer制),即设定一个初始时间,每走一步就在剩余时间上加几秒种。
-
- 8.3 如何让电脑根据时限规定的时间来思考?
-
- 打开“引擎”菜单中的“级别设置”对话框,选中“时限”选项,设定时段制或加时制的时限,确定后时钟就开始走动。此时启用“电脑执红”或“电脑执黑”就可以让电脑走棋,此外还可以启用“后台思考”和“引擎分析”功能。
- 值得注意的是,用户操控的一方可以不受时限的干扰,即使超时判负了,用户还能继续跟引擎对弈,引擎一方的时钟仍然会根据设定的时限走动。
-
- 8.4 如何设置引擎的水平?
-
- UCCI引擎是无法用“难度级别”这一标准来设定引擎水平的,但是引擎的棋力总是跟它思考的时间相关的,因此《象棋巫师》提供了5种级别的难度,来设定引擎的时限(都是时段制)。这5种难度及其对应的时限是:入门(每分钟走999步)、业余(每分钟走216步)、专业(每分钟走36步)、大师(每分钟走6步)、特大(每分钟走1步)。
- 如果用户觉得“入门”级别仍然难度太高(因为计算机的速度越来越快,即使计算很短的时间,引擎也会下出不是很糟的棋),那么可以限定引擎的层数(初学者设在2到4层为宜)。
-
- 8.5 引擎分析窗口中的“评价”一栏有什么意义?
-
- 评分反映了局面的优劣,优势是正值,劣势是负值,它直接取自引擎反馈的评分信息。引擎主要计算子力对比,其他因素会折算成子力对比。各种引擎的评价单位不同,例如《象棋巫师》自带的引擎ElephantEye是以“百分轻子”为单位的,即车大约为200,马和炮100等等,也有的以“百分兵值”为单位。
- 通常将死和困毙局面的评分是1000(也有用10000的,总之会是很大的整数),当引擎搜索到不可避免的杀棋时,数值就接近1000,例如3步杀的局面,评分就应该是995(胜方走3步,负方走2步),2步被杀的局面就是-996。
- 需要注意的是,当人机对弈时如果启用“后台思考”功能,那么“评分”一栏总是就引擎一方来作局面评价的。
-
- 8.6 “后台思考”是如何工作的?
-
- “后台思考”功能仅限于人机对弈。引擎走完一步,就会立即猜测出对手最有可能的着法(引擎认为的),然后引擎就根据这个着法来思考它下一步的应对,从而在对手思考时的时候同步思考。当对没有走出引擎猜测的着法时,后台思考就失败了,那么引擎必须重新思考。反之后台思考命中(Ponder Hit),引擎会节约很多思考的时间。
- “后台思考”时猜测的着法在“思考路线”中用加了括号,之后的着法才是引擎的思路。
- 需要注意的是,当双方都让引擎来操纵时,就不能使用“后台思考”功能。
-
- 8.7 如何让引擎改变着法?
-
- 如果用户认为引擎的某个着法走得不好,可以删除该着法,看引擎是否能想出别的着法来。一般来说,引擎设置参数时“随机性”设得越大,引擎越有可能想出不一样的着法来。此外,用户也可以在引擎尚未出子的时候帮引擎走一步。
- 如果用户觉得引擎走的这步棋违反了长打作负的规则,那么用户可以用“设为禁着”功能删除引擎走的着法,引擎重新思考时就不会走此着法了。
-
- 8.8 如何让电脑分析一个棋谱中的某个局面?
-
- 不选择“引擎执红”和“引擎执黑”,而直接打开“引擎分析”窗口,就可以看到引擎对当前局面的分析信息了。如果需要分析不同线路上的局面,也可以使用“分析局面”功能再打开一个《象棋巫师》窗口。
-
- 8.9 是否可以同时打开两个《象棋巫师》的窗口并同时思考?
-
- 新开一个窗口时,《象棋巫师》会重新启动一套引擎,所以原则上是可以同时思考的。但是多个引擎同时思考时会占据更多的存储器,每个引擎分配到的CPU时间更少,使引擎的工作效率大幅度降低。
-
- 8.10 如何让两个不同的引擎对战?
-
- 用“设置参数”对话框中的“加载副引擎”功能,可以另加载一个别的引擎,然后选定副引擎执红(选中“副引擎执红”)还是执黑(不要选中)。两个引擎对战时,必须同时选定“引擎执红”和“引擎执黑”,此时两个引擎就会对战。
-
- 8.11 《象棋巫师》能否让两个引擎连续打多场比赛?
-
- 《象棋巫师》的宗旨不是用来比较两个引擎谁强谁弱,所以没有这种功能。但是ElephantEye源程序包中的“UCCI引擎联赛模拟器”可以实现这样的功能。可参阅:
- http://www.elephantbase.net/league/emulator.htm
-
- 8.12 如何获得其他引擎?
-
- 《象棋巫师》安装时只提供了ElephantEye这一个引擎,其他引擎可以从互联网上找到,其中象棋百科全书网的《电脑象棋联赛》栏目就提供了20余个UCCI引擎的信息,可参阅:
- http://www.elephantbase.net/league.htm
- 下载到这些引擎后(通常装在压缩包内,释放到某个目录下即可),用“加载引擎”功能指定引擎文件(EXE文件),即可完成加载。下次启动《象棋巫师》时,最近一次被加载的引擎会被自动加载(但副引擎不会被自动加载)。
-
- 8.13 如何设计自己的引擎并让《象棋巫师》运行?
-
- 设计对弈引擎是很艰巨的工作,能被《象棋巫师》运行的引擎还必须遵循UCCI协议,程序设计师可参阅象棋百科全书网的《计算机博弈》栏目,从中找到很多设计对弈引擎的资料:
- http://www.elephantbase.net/computer.htm
-
- 8.14 如何调试引擎并获《象棋巫师》跟引擎的通讯信息?
-
- 如果把“设置参数”对话框中的日志功能打开,那么《象棋巫师》跟UCCI引擎的通讯信息(包括《象棋巫师》发送给UCCI引擎的“指令”和UCCI引擎给《象棋巫师》的“反馈”)都会以HTML的格式记录到日志文件里。“查看”按钮可以直接用默认的浏览器(通常是Internet Explorer)打开日志文件,由于引擎启动后随时可能产生指令和反馈信息,所以要点击浏览器上的“刷新”按钮才能获得最新的信息。
- 用HTML格式的好处是可以用不同颜色表示指令和反馈,这样就方便了引擎设计师跟踪和调试引擎。《象棋巫师》向引擎发出的指令用红色表示,引擎的反馈信息用蓝色表示,如果加载了副引擎,那么向副引擎发出的指令用紫红色表示,副引擎的反馈信息用深蓝色表示。
- 另外,“设置参数”对话框中有发送UCCI指令的功能,此时引擎的反馈信息会显示出来。这个功能方便了引擎的调试,发送的UCCI指令可以是参数设置、设定局面和思考指令。不要发送退出指令“quit”,因为《象棋巫师》不会自动察觉引擎是否已经关闭,可能会发生无法意料的情况。
-
- 8.15 如何跟引擎提和?
-
- 棋手跟电脑的交互方式有别于棋手之间的交互方式,用户必须走完一步棋的同时跟引擎提和。选择“提和/接受提和”功能,再下一着棋,就把提和的信息传递给了引擎。如果引擎接受提和,则《象棋巫师》会终止棋局,反之引擎会继续走棋,对提和不予理会。
- 反过来,引擎跟用户提和时,也会在走出一步棋的同时提出。如果用户接受提和,那么选择“提和/接受提和”功能即可,反之用户可继续走棋,对提和不予理会。
- 注意:只有在“选项设置”中选择“允许提和认输”,引擎才会主动提和。反过来,不选择“允许提和认输”,引擎也会接受用户的提和。
上一篇 开局信息
下一篇 界面设置