象棋奇兵3.0

象棋奇兵 2.3 使用说明书

一. 简介

象棋奇兵是一款具有中国象棋大师水平的对弈软件。它基于Bitboard设计,具有以下特点:

a) 搜索速度快。即使是用老的赛扬机器,也能很快搜索到高层,在快棋上具有明显的优势。

b) 支持64位CPU、多处理器系统以及NUMA系统。在64位cpu上速度可以提升47%(需要64位OS支持)。在双CPU系统中,速度可以提升93%。

c) 极强的攻杀能力。在复杂的对攻局面下,优化的延伸搜索能力使得本软件能够对当前局面认识得更清楚。善于从乱战中取胜是本软件的一大特点。

d) 严谨的审局。重视子力位置和棋形,对牵制和多子归边均有详细的考虑,行棋比较人性化。

本软件支持简、繁、英三国语言,并荣获第十届奥林匹克中国象棋电脑软件大赛冠军。我们的目标是:与广大热爱中国象棋的棋友们一起,促进棋软的不断前进、为棋友提供练兵的好帮手、打造靠近专业棋手的强力武器!

二. 运行环境

硬件要求:

最低配置:

X86以上的电脑

128M内存

建议配置:

2G以上的CPU

256M以上的内存

如果希望提高棋力,请升级硬件。因为在单位时间内,算到的层数更高。

软件要求:

最低配置:

WINDOWS 2000操作系统

建议配置:

WINDOWS XP操作系统

AMD的CPU

在WINDOWS 9X下容易引起非法操作,建议使用WINDOWS 2000 以上的操作系统。

象棋奇兵的引擎是对AMD的CPU经过优化的,使用AMD的CPU会比使用INTEL的略快。

三. 主界面

四. 菜单

主菜单是提供了常用功能的访问,主要分类包括:

文件

查看

游戏

引擎

帮助

以下将逐一说明各项功能

4.1 文件

新建 —— 新建一个新的象棋棋谱文件

打开 —— 打开一个已经存在的象棋棋谱文件

保存 —— 保存当前的盘面为一个象棋棋谱文件

另存为 —— 用一个新的名字保存当前的象棋棋谱文件

文件合并 —— 将一个目录中的所有棋谱文件合并

制作开局库 —— 制作一个新的开局库

退出 —— 结束思考,关闭象棋奇兵

4.2 查看

4.2.1 工具栏.

标准工具栏 —— 显示或隐藏工具栏

棋谱工具栏 —— 棋谱浏览工具栏

棋盘设置栏 —— 隐藏或查看棋盘设置工具栏

网络工具栏 —— 显示或隐藏网络工具栏

对弈信息区 —— 显示或者隐藏对弈信息区

状态栏 —— 显示或隐藏状态栏

4.2.2 棋盘

棋盘背景一 —— 选择棋盘背景一

棋盘背景二 —— 选择棋盘背景二

棋盘背景三 —— 选择棋盘背景三

棋盘背景四 —— 选择棋盘背景四

4.2.3 棋子

大棋子 —— 显示大棋子

中棋子 —— 显示中棋子

小棋子 —— 显示小棋子

4.2.4 落子声

落子声 —— 走棋时是否有声音

4.2.5显示坐标

显示坐标 —— 显示棋盘坐标

4.2.6 总在最上面

总在最上面 —— 程序窗口总在最上面

4.2.7 简体中文 —— 显示简体中文界面

4.2.8 繁体中文 —— 显示繁体中文界面

4.2.9 English —— 显示英文界面

4.3 游戏

电脑红方 —— 电脑下红方

电脑黑方 —— 电脑下黑方

立即出招 —— 电脑正在思考的时候,强逼它立即走棋

翻转棋盘 —— 把棋盘上下翻转

分析模式 —— 开启或关闭分析模式

引擎命令 —— 输入引擎命令

复制局面 —— 复制局面到剪贴板

粘贴局面 —— 从剪贴板粘贴棋盘局面文本

复制棋谱 —— 复制棋谱到剪贴板

粘贴棋谱 —— 从剪贴板粘贴棋谱

4.4 引擎

水平 —— 设置象棋奇兵的水平

后台思考 —— 开启或关闭后台思考

开局库 —— 是否使用开局库

4.5 帮助

关于象棋奇兵 —— 显示象棋奇兵的版本信息

五. 工具栏

各按钮的功能分别为:顺序从左到右

标准工具栏

新建一个新的象棋棋谱文件

打开一个已经存在的象棋棋谱文件

保存当前的盘面为一个象棋棋谱文件

电脑下红方

电脑下黑方

开启或关闭分析模式

把棋盘上下翻转

输入引擎命令

悔一步棋

电脑正在思考的时候,强逼它立即走棋

棋谱工具栏

回到第一步

向前移动五步

回到某一步

回到下一步

向后移动五步

回到最后一步

复制局面到剪贴板

从剪贴板粘贴棋盘局面文本

复制棋谱到剪贴板

从剪贴板粘贴棋谱

棋盘工具栏

开始或者结束摆设棋局

轮到红方走棋

移去一个棋子

移去所有的棋子

设置黑方的炮

设置黑方的车

设置黑方的象

设置黑方的士

设置黑方的将

设置黑方的马

设置黑方的卒

设置红方的兵

设置红方的马

设置红方的帅

设置红方的士

设置红方的相

设置红方的车

设置红方的炮

网络工具栏

连接到象棋网站

断开连接

连线下棋设置

去某地

上一关

下一关

我要打擂

旁观对局

离开游戏桌

请求和棋

认输

裁决(如果被长将或者长捉,按这里)

在空白的地方输入弈天的命令。(和引擎命令有分别的,引擎命令不是在这里输入)

引擎信息栏

这里显示引擎的信息

棋路分析栏

这里显示象棋奇兵的棋路分析

开局库信息栏

这里显示象棋奇兵的开局库信息

在线下棋栏

这里显示象棋奇兵用内置的连线功能连上弈天以后的桌上信息

六. 主要功能介绍

6.1 打开标准象棋棋谱文件(*.pgn)

pgn格式棋谱是合并了的棋隐格式的棋谱,用于制作奇兵的开局库,可以由奇兵程序自带的棋谱合并程序创建。

6.2 打开棋隐棋谱文件

象棋奇兵可以打开棋隐格式的棋谱,但那些棋谱并不是由棋隐创建的。棋隐创建的xqn文件,象棋奇兵是打不开的。主要原因是棋隐在棋谱里每步打了分数值,导致棋谱的格式不正规。用“百变棋星”转换的棋隐格式的棋谱则可以打开,原因是那些是标准格式的棋隐格式棋谱,并没有每步都打上分数值的。

6.3 棋谱文件合并

象棋奇兵可以把棋隐格式的棋谱合并成pgn格式的标准象棋棋谱文件。

在合并的时候,把准备合并的棋谱全部放在象棋奇兵安装目录下的“棋谱目录”文件夹里。

如果没有那个文件夹的话,先在象棋奇兵的安装目录下新建一个文件夹,然后改名为“棋谱目录”就完成。

最后按“开始合并”就完成。

6.4 制作开局库

象棋奇兵用pgn格式的棋谱制作开局库。把上面制作出来的pgn文件放在奇兵的安装目录下。

如果象棋奇兵的安装目录下有棋谱,但文件名不是“qipu.pgn”。那么,把那个棋谱改名为“qipu.pgn”。接着,填写制作开局库的最大步数,最后,按“开始制作”就完成。

6.5 摆设棋局

点一下那个 ,便开始摆棋局。

当下面的那些“棋子”亮起来的时候,就表示是摆设棋局的状态。把“棋子”往棋盘上拖,就是增加那一个棋子。

把那个 拖到棋盘上的棋子时,就是除去那一个棋子。

点一下那个 ,就是移去所有的棋子。

点一下那个 ,决定摆设好以后轮到红走还是黑走。

按下去就是轮到红走,弹起来就是轮到黑走。

当棋局摆好后,按一下那个 结束摆设残局状态。

6.6 引擎命令

在标准工具栏点 , 弹出输入引擎命令的对话框。

在那里输入常用的引擎命令

常用的命令为:

引擎命令 含义

sd 11 设置思考的层数为11层

st 120 设置思考的时间为120秒。(注意:t后面的单位是秒,如果要设置1分钟以上的,则需要把分钟转换为秒数的时间,120就是120秒,2分钟的意思)

hash 96M 把hash设置成96M

book create qipu.pgn 60 用文件名为“qipu.pgn”的棋谱,最大步数为60步制作开局库

Show book 显示开局库里的棋步,适合人机时使用

time sd/10 设置成10分钟包干

ponder on 打开后台思考

6.7 分析模式

在菜单里选择“后台思考”,再在标准工具栏点 ,进入分析模式。

在分析模式里,没有步时的限制,有足够的时间让象棋奇兵想到正确的棋步再走。

分析模式方便人机时使用,可以看见每步的比重,好坏,控制时间走棋,可走的棋等等。如果想它立即走棋,按“立即出招”即可。

6.8 水平设置

在这里设置每步搜索的时间、层数、局时。设置好以后,按“确定”就完成。

6.9 人机功能

在对弈的模式下,点“电脑下红”或者“电脑下黑”。

这时,在棋路分析栏里看见它在想“炮八平五”那步。

如果你希望它想另外的棋,例如“兵七进一”。

那么,用鼠标把棋子拖到想走那步就行。

那样,它就分析“兵七进一”那步棋。

你可以决定最终是走它本来想的那步,还是走“兵七进一”?

6.10 连接弈天网

用象棋奇兵内置的连线功能可以连接上弈天网。

如果要打擂,必须先申请连线。

申请和取消的命令:

askforroboter cancel (取消连线)

askforroboter iagree (申请连线)

有牌户可以在任何时候申请和取消连线,无牌户只能在深夜12点到早上12点那段时间免费申请。

点 那个符号,出现

在那里输入自己的帐号和密码,最后按“登陆”就完成。

登陆了以后,在那些桌上点左键。

如果你想打擂,就选择“我要打擂”。

如果你想旁观别人的对局,就选择“旁观对局”。

如果你要旁观的桌有口令,就选择“口令进入”。

如果需要在桌上说话,那么需要在连上去了以后,在网络工具栏的空白地方输入:

say 桌号 “要说的话”

例如:在 华山2台,输入

say 2 “要说的话”

如果在其他擂台区,则需要计算桌号。

桌号= [(关位-1)*40]+台数

例如:在 桃1关1台

桌号= [(1-1)*40]+1=1

命令就是:say 1 “要说的话”

例如:在 桃2关10台

桌号=[(2-1)*40]+10=50

命令就是:say 50 “要说的话”

其他的类推。

七. 附录

7.1 象棋奇兵内存设置说明

象棋奇兵占用内存的大小对速度有一定的影响

不是占用内存越大越好,而是应该根据具体情况来设置,因为读写内存也需要时间的,占用内存设得太大而主板和内存性能又不好的话,速度反而会下降

默认占用36M内存+3M的pawn hash,大约占用40M左右,对于大多数中低档配置的机器来说,默认的设置基本上是最理想的设置了

当然,对于内存和主板性能比较好的机器,可以提高占用内存的大小

内存设置命令:

hash 36M

表示主hash表占用36M的内存

hashp 6M

表示pawn hash表占用6M的内存,一般情况下pawn hash表占用内存的大小是主hash表占用内存的大小的1/5~1/10

adaptive 800K 48M 192M 12M 48M

内存自适应调整命令,800k是速度,48M主hash表占用的最小内存,192M主hash表占用的最大内存,12M pawn hash表占用的最小内存,48M pawn hash表占用的最大内存,引擎根据设置的速度和机器的总内存大小来自动调整占用的内存大小

7.2 象棋奇兵学习功能说明

一、学习文件说明

象棋奇兵的学习文件包括book.lrn、position.bin、position.lrn三个文件

book.lrn 开局库学习文件,在脱谱之后10步以内学习,超过了10步就不学习了,这个文件可以用记事本打开,book learn会自动修改开局库中棋步的学习分值,根据脱谱以后的分数来调整

position.bin 局面学习文件,总***可以学习65536个局面,学满以后会自动覆盖老的学习局面,这是一个二进制文件,引擎每走一步之前会将这个文件载入到主hash表中

position.lrn 保存学习过的局面文件,这个文件可以用记事本打开

二、和学习有关的命令

learn 0 关闭学习功能

learn 1 学习开局库棋步(脱谱之后形势变优则学习分值增加,如果变劣则学习分值减少,最多只考虑脱谱10步以内局势变化的情况)

learn 2 开启局面学习功能,整个中盘局势变化都会学习

learn 4 开启结果学习功能

learn 3 learn 1 和 learn 2 的组合,

依次类推

learn 0.33 -2 学习的边界条件设置,0.33(1/3个兵的分值)是最小形势变化分值,即只有当某一步导致局势分值变化超过了0.33,才学习该步。-2是不进行学习的边界条件,如果目前形势的审局分低于-2.0,那么就不进行学习。

7.3 象棋奇兵开局库说明

一、开局库文件说明

开局库文件包括book.bin、books.bin和bookc.bin三个文件

其中book.bin是完备的开局库,books.bin是精良的开局库,bookc.bin是适合奇兵软件的开局库(根据其他软件的特点和奇兵软件的特点制作,短小精悍,主要用来参加棋软大赛)

引擎首先会在books.bin开局库中找棋步,如果没找到合适的,就会到book.bin开局库中找,也可以通过设置只使用books.bin开局库

二、开局库棋步说明

棋步在开局库中是唯一的,而且是排序过的,因此查找开局库棋步的时候非常迅速

棋步的在开局库中的信息包括棋步、标记(有!!、!、=、?、?五个标记,!!和!标记是必走棋步,?和?标记是避走棋步)、使用频率、学习分数和CAP分数

三、开局库命令说明

1、create

用来创建一个新的开局库

用法: book.bin create qipu.xqm 30 10

book.bin是要创建的开局库文件

qipu.xqm是用来创建开局库的棋谱文件

30 表示最大的步数

10 表示最小的步数

2、book on/off

book on 使用开局库

book off 不使用开局库

3、book mask

设置引擎选择开局库棋步的参数

用法:book mask accept|reject value

例如 book mask accept ? 表示有?标记的棋步也引擎也有可能走,默认情况下?和?标记的棋步引擎是不会走的

同样 book mask reject value 是告诉引擎避开某些标记的棋步

4、book random

用法:book random 0/1

book random 0 表示通过搜索之后再从开局库棋步中选择最好的一步棋走

book random 1 表示从开局库棋步中随机选一步走

5、book trigger

用法:book trigger <n>

n 表示使用频率

例如book trigger 50 表示只选择开局库中走过50次以上的棋步

6、book width

用法:book width <width>

例如 book width 40 选择棋步的宽度,40表示选择棋步的宽度为40%

四、制作开局库用到的棋谱文件格式说明

文件头标记详细说明:

常见标记如下

Title 标题,Event 赛事,Site 地点,Round 比赛轮数,Date 比赛时间,Red 红方,RedElo 红方等级分,Black 黑方,BlackElo黑方等级分,Result 结果

还有一些扩充的标记不再详述,下面是一个简单的例子文件头

[Title "河北刘殿中 vs 黑龙江赵国荣"]

[Date "2002-09-08"]

[Red "河北刘殿中"]

[Black "黑龙江赵国荣"]

[Result "0-1"]

棋谱内容说明:

棋步支持四种格式,分别为

中文棋谱 例如:炮二平五

坐标格式一 例如:H2-E2

坐标格式二 例如:H2E2

弈天格式 例如:8E-7E

下面是一个简单的棋谱内容

1.G3-G4 H7-G7

2.H2-E2 B7-E7

3.B0-C2 B9-C7

4.A0-B0 G6-G5

5.H0-I2 G5-G4

6.I0-H0 H9-I7

7.B2-B6 C6-C5

8.B0-B4 A9-B9

9.B4-G4 B9-B6

对于棋步的质量还可以给它一个标记,有!!、!、?、?四种标记可以标注

例如

1.G3-G4 H7-G7!!

2.H2-E2? B7-E7

用有标记的棋谱制作开局库,标记会被加入到开局库棋步的标记中

如果你想要某步必走,那么你可以在棋步后面加上!!或!标记,如果你想避开某步,则可以加上?或?标

7.4 象棋奇兵配置文件说明

象棋奇兵配置文件为cavalier.rc,可以用记事本打开进行修改编辑

在引擎载入之后,会首先运行配置文件里面的命令

因此,可以通过预设置一些命令来初始化引擎

每一条命令必须单独占用一行

文件最后的命令必须为exit

一个简单的例子如下:

adaptive 800K 48M 192M 12M 48M

sd 10

st 5

exit

在这个配置文件中,第一行的命令是设置内存自适应调整,第二行的命令是设置绝对搜索深度为10层,第三行的命令为设置绝对搜索时间为5秒,最后一行的命令是引擎预设置结束

这样就可以将一些需要经常设置的命令放到cavalier.rc文件里,每次运行就会自动设置好

7.5 象棋奇兵快捷键说明

对弈模式或者分析模式下:

快捷键p(不区分大小写)= 立即出招

设置残局模式下:

E/e = 摆设结束

W/w = 设置红方先走/后走

D/d = 按下设置棋盘工具栏上的移去棋子按钮

Q/q = 移去棋盘上所有的棋子

r = 添加红车

c = 添加红炮

n = 添加红马

b = 添加红相

a = 添加红士

p = 添加红兵

R = 添加黑车

C = 添加黑炮

N = 添加黑马

B = 添加黑相

A = 添加黑士

P = 添加黑兵

7.6 弈天常用命令

弈天命令 含义

a 桌号 同意对局

addbangfromlist 允许加入

alarm 呼叫网管

askforbang 帮派名 加入帮派

bangchat 本帮呼叫

bangzhuchat 帮主专线

delbangfromlist 对方名 请出帮派

delwaitfromlist 待加入自己帮派的人 拒绝加入

fg 查看自己档案

fg 对方名 查看别人的档案

gbppfromlistnumdlg 对方名 数字 奖励点数

getbangfromlist 查看本帮情况

gleitai 对方名 查看别人的擂台秀

gresult 对方名 查看别人的对局史

gscore 对方名 查看别人的总战绩

hoarse 狮子吼

invite 邀请

j 加入对局,同打擂

j 数字 加入到指定桌

judgegame 数字 blackdiscard 将指定桌上的黑判为弃权

judgegame 数字 bothnodiscard 将指定桌判为和

judgegame 数字 discardresult 将指定桌上的结果取消

judgegame 数字 reddiscard 将指定桌上的红判为弃权

l 数字 离开指定桌

l 离桌

listbang 所有帮派列表

listbangbu 帮派名 分部称号

listbanglog 帮派名 查看该帮派日志

listbangonline 本帮在线会员

listbangplayer 帮派名 查看该帮派会员列表

listbangrank 帮派名 该帮级别称号

listbangwaits 帮派名 查看该帮派申请者名单

listbangzhuonline 在线帮主列表

longchat 传音入密

myplayersfromlist addtoenemies 对方名 加到黑名单

myplayersfromlist addtofriends 对方名 加为好友

myplayersfromlist chattofriends 发好友热线的话

myplayersfromlist listenemies 黑名单

myplayersfromlist listfriends 好友列表

obs 数字 口令 输入口令进入指定桌

obs 数字 旁观指定桌

pass 桌号 求和

quitfrombang 我要退出帮会

res 桌号 认负

say 桌号 要说的话 桌内发言

sendbangpoint 数字 上交帮会点数

setbangblock chat 0 帮派名 开关帮派专线

setbangzhu 新任帮主名

setbufromlistnumdlg 对方名 数字 调整会员部署

setrank 对方名 数字 设置阻击关位

setrankfromlistnumdlg 对方名 数字 调整会员级别

settables 数字 数字 数字 调整本地桌所有时间

shout 大叫

shout ! 大叫进桌

shutup 对方名 请其闭嘴

side 桌号 双方换边

stored 对方名 查看别人的对局库

tell 轻诉

tset 桌号 局时 步时 读秒 设置时间,第一个数字是桌,后面三个是设置的时间

who next 侠客列表

yell 长啸

yell ! 长啸进桌