UCI选项:修订间差异

来自皮卡鱼 Wiki
跳到导航 跳到搜索
无编辑摘要
第1行: 第1行:
目前主流界面中,只有鲨鱼免费版1.7.9和鲨鱼商业版2.3.1及最新版本支持完整的uci引擎选项设置(其中部分选项可在界面直接调整)。其他界面可能支持部分选项。
目前部分界面支持完整的UCI选项,例如


在鲨鱼界面中,点击引擎线程栏右边的🔧,即可进入引擎选项设置。
在鲨鱼界面中,点击引擎栏中的🔧扳手图标,即可进入引擎选项设置。


而手机玩家,在进入优步app后,从右边往左拖动或者点击最右上角,就能弹出菜单,然后点击“管理UCI引擎”→“引擎设置”,即可进入部分选项设置。
而手机玩家,在进入优步app后,点击最右上角,就能弹出菜单,然后点击“管理UCI引擎”→“引擎设置”,即可进入部分选项设置。


== 具体选项说明 ==
== 普通人可能会用到的选项说明 ==
一般来说,最常用的设置是UCI_WDLCentipawn、Repetition Rule、Sixty Move Rule,可以着重查看。
 
Debug Log File:
 
保存引擎日志的文件路径与名称。一般人不需要。


Clear Hash:
Clear Hash:


清除哈希。清除引擎目前的哈希记忆。
清除引擎目前的哈希记忆。不过最常见的是直接重新加载引擎达到这个效果。


MultiPV:
MultiPV:


多主变思考。引擎分析当前局面时默认是1个主要着法。当改变此选项,引擎分析时会增加当前局面的主要着法数量,各着法的深度一致,并同时显示(同一深度会显示多个着法),
多主变思考。引擎分析局面时默认是1个主变。当改变此选项,引擎分析时会增加当前局面的主变数量,各主变的深度一致,并同时显示(即同一层会显示多个变化),
 
调高数字将会''降低棋力'',仅供拆棋分析使用,'''实战和引擎测试请不要使用'''。


调高数字将会降低棋力,仅供拆棋分析使用,'''实战和引擎测试请不要使用'''。设置范围1~500。
设置范围1~500,默认是1,即只有一个主变。


Skill Level:
Skill Level:


限制引擎的棋力水平,设置非20时有一定概率在出招时选择劣变。设置范围0~20,默认为最强无放水无限制的20。可用作人与引擎对弈。如果开启UCI_Limitstrength,将会使此选项无效。
限制引擎的棋力水平,设置非20时,有一定概率在出招时选择劣变,可用作人软对弈。注意仅仅是引擎出招选择劣变,引擎分析仍然正常。


Move Overhead:
设置范围0~20,默认为不限制棋力的20。


防超时提前量。引擎提前出招的时间,例如默认为10,引擎假设会有10毫秒延迟,为防超时所以会提前出招。设置范围0~5000,单位是毫秒(注意,只有引擎自己控制时间时,该设置才会有效,请分辨是否是界面在控制时间)。一般人不需要。
'''但如果开启UCI_Limitstrength,将会使skill level无效。'''


Slow Mover:
UCI_LimitStrength:


调整引擎的时间控制。设置范围10~1000,默认值为100正常值,越低引擎走得越快,越高引擎走得越慢(只有引擎自己控制时间时该设置才会有效,且若为固定步时则该设置无效)。一般人不需要。
开启后将会使Skill Level无效,让UCI_Elo生效。


nodestime:
UCI_Elo:
 
更细致地限制引擎的棋力水平。'''只有开启UCI_LimitStrength才会生效''',设置范围1350~2850,越低越弱。如果不满足Skill Level的21个级别划分,想要更加细致地划分引擎棋力水平,就用这个,其本质和skill level没有区别。


节点时间。引擎将计算节点数当做时间,一般人不需要。默认为0即该选项无效。


Sixty Move Rule:
Sixty Move Rule:
第42行: 第40行:
60回合自然限招规则。默认开启。
60回合自然限招规则。默认开启。


开启时引擎将会考虑到60回合不吃子判和,将60回合不吃子视为0分,可以有效提高棋力。
开启时引擎将会考虑到60回合不吃子判和,把60回合不吃子视为0分,可以有效提高棋力。


如果你想分析局面同时不考虑60回合、或者不喜欢、或者平台和界面不兼容皮卡鱼60规则,则可以关闭。如果发现莫名其妙的送子问题,很可能就是此选项导致,说明和你下棋平台或界面的60规则不兼容,可以选择关闭。(其实送子并非问题,因为60回合不吃子时引擎已经视为0分,任何不会马上造成吃子的着法都是0分)
如果你想分析局面同时不考虑60回合、或者不喜欢、或者平台和界面不兼容皮卡鱼60规则,则可以关闭。如果发现莫名其妙的送子问题,很可能就是此选项导致,说明和你下棋平台或界面的60规则不兼容,可以选择关闭。(其实送子并非问题,因为60回合不吃子时引擎已经视为0分,任何不会马上造成吃子的着法都是0分)
皮卡鱼的60回合自然限招规则,不会把每方超过10次将军的着法计入限招,并且对应的应将步也不会计入,但当局面产生吃子后,将军次数会重新计算。


Mate Threat Depth:
Mate Threat Depth:


判断中规“杀”的步数。该选项在Repetition Rule里设定为中国规则才会生效,设置范围0~10,设置0则引擎不会判断“杀”。设置1~10,则引擎会在搜索中判断循环招法是不是1~10回合内的“杀”,而“杀”在中规里可能导致循环违规。设置得越高棋力下降越严重。适合纯人在中规环境下拆棋。
判断中规里“杀”的回合数。该选项在Repetition Rule里设定为ChineseRule时''才会生效'',设置范围0~10,设置0则引擎不会判断“杀”。设置1~10,则引擎会在搜索中判断循环招法是不是1~10回合内的“杀”,而“杀”在中规里可能导致循环违规。设置得越高棋力下降越严重。适合纯人在中规环境下拆棋。


Repetition Rule:
Repetition Rule:


AsianRule是亚洲规则(作者理解的亚规),违规严重级:长将>长捉同一子>其他,属于2fold。
AsianRule是亚洲规则(作者团队所理解的一个亚规版本),违规严重级:长将>长捉同一子>其他,属于2fold(相同局面一旦重复出现直接进行判决,也就是一个局面出现第2次时判决)


   大部分网络规则都是亚规。
   大部分网络规则都是亚规。
第58行: 第58行:
SkyRule是某些网络规则。请注意,某些网络规则是亚规基础上稍作修改的,并不是中规。用于线上对弈后拆棋,请自行辨别网络规则是不是亚规。(该棋规代码作者为skystarspython)
SkyRule是某些网络规则。请注意,某些网络规则是亚规基础上稍作修改的,并不是中规。用于线上对弈后拆棋,请自行辨别网络规则是不是亚规。(该棋规代码作者为skystarspython)


ChineseRule是(不完全的)中国规则,注意目前没有网络平台使用中规!
ComputerRule是基于皮卡鱼作者《中国象棋程序竞赛规则》的规则,和AsianRule有些许不同,但是唯一一个全部符合所有亚规图例结果裁决的规则,并且属于3fold(一个局面出现第3次时判决)。


ComputerRule是基于《中国象棋程序竞赛规则》的规则,属于3fold。
ChineseRule是极简化的中国规则,本质上是亚规改。注意目前没有网络平台使用中规!且目前中规由于过度模糊,绝无任何可能程序化。违规严重级:长将>长捉、长杀、将杀循环、将捉循环、杀捉循环>其他。开启此选项后,Mate Threat Depth不为0时,引擎才会判断“杀”。


违规严重级:长将>长捉、长杀、将杀循环、将捉循环、杀捉循环>其他。开启此选项后,Mate Threat Depth不为0时,引擎才会判断“杀”。


(因为中规极度复杂且模糊,所以严格说是皮卡中规,并不要求和真实的中规挂钩,例如“捉”的判定仍然是亚规捉,“杀”的判定在一些局面可能与真实中规分歧,需要自行判断)
UCI_LimitStrength:
细分限制引擎棋力,开启后将会使Skill Level无效,让UCI_Elo生效,本质与Skill Level没区别。
UCI_Elo:
引擎棋力水平。只有开启UCI_LimitStrength才会生效,设置范围1350~2850,越低越弱。如果不满足Skill Level的21个级别划分,想要更加细致地划分引擎棋力水平,就用这个。


UCI_WDLCentipawn:
UCI_WDLCentipawn:


胜率分数。根据胜率模型将原始分数转换的分数,关闭会显示原始分数,不影响棋力。如果不习惯胜率分数就关闭。
胜率分数。根据胜率模型将原始分数转换的分数,关闭会显示原始分数,不影响棋力。如果不习惯胜率分数就关闭。
UCI_ShowWDL:
除显示分数外还显示胜率 负率 和棋率。目前没有界面支持显示,所以没用。


LU_Output:
LU_Output:


开启则显示lowerbound和upperbound的信息,同一层可能会输出多次,若关闭,一层只会输出一次。
开启则显示lowerbound和upperbound的信息,通俗说同一层可能会输出多次结果,比如某一层正在上层的时候会输出不完整的思考细节。若关闭,一层只会输出一次。


EvalFile:
EvalFile:


引擎要读取的nnue权重文件名称与路径。引擎默认读取pikafish.nnue名称的文件,可以将nnue文件改名,并且通过此选项使其仍可以被读取。一般人不需要,手机优步可通过此选项达到配置多引擎的效果。
引擎要读取的nnue权重文件名称与路径。引擎默认读取同一文件路径下名为pikafish.nnue的文件,可以将nnue文件改名,并且通过此选项使其仍可以被读取。一般人不需要,手机优步可通过此选项达到配置多引擎的效果。
 
Threads:
 
线程数。此选项一般在界面中直接调整,而不需要通过该选项设置。
 
Hash:
 
哈希表的大小(MB)。此选项一般也在界面中直接调整。
 
Ponder:
 
后台思考。默认关闭,开启时引擎在对弈时会一直思考,而不是轮到它走才思考。此选项一般也在界面中直接设置。

2024年2月17日 (六) 08:52的版本

目前部分界面支持完整的UCI选项,例如

在鲨鱼界面中,点击引擎栏中的🔧扳手图标,即可进入引擎选项设置。

而手机玩家,在进入优步app后,点击最右上角,就能弹出菜单,然后点击“管理UCI引擎”→“引擎设置”,即可进入部分选项设置。

普通人可能会用到的选项说明

Clear Hash:

清除引擎目前的哈希记忆。不过最常见的是直接重新加载引擎达到这个效果。

MultiPV:

多主变思考。引擎分析局面时默认是1个主变。当改变此选项,引擎分析时会增加当前局面的主变数量,各主变的深度一致,并同时显示(即同一层会显示多个变化),

调高数字将会降低棋力,仅供拆棋分析使用,实战和引擎测试请不要使用

设置范围1~500,默认是1,即只有一个主变。

Skill Level:

限制引擎的棋力水平,设置非20时,有一定概率在出招时选择劣变,可用作人软对弈。注意仅仅是引擎出招选择劣变,引擎分析仍然正常。

设置范围0~20,默认为不限制棋力的20。

但如果开启UCI_Limitstrength,将会使skill level无效。

UCI_LimitStrength:

开启后将会使Skill Level无效,让UCI_Elo生效。

UCI_Elo:

更细致地限制引擎的棋力水平。只有开启UCI_LimitStrength才会生效,设置范围1350~2850,越低越弱。如果不满足Skill Level的21个级别划分,想要更加细致地划分引擎棋力水平,就用这个,其本质和skill level没有区别。


Sixty Move Rule:

60回合自然限招规则。默认开启。

开启时引擎将会考虑到60回合不吃子判和,把60回合不吃子视为0分,可以有效提高棋力。

如果你想分析局面同时不考虑60回合、或者不喜欢、或者平台和界面不兼容皮卡鱼60规则,则可以关闭。如果发现莫名其妙的送子问题,很可能就是此选项导致,说明和你下棋平台或界面的60规则不兼容,可以选择关闭。(其实送子并非问题,因为60回合不吃子时引擎已经视为0分,任何不会马上造成吃子的着法都是0分)

皮卡鱼的60回合自然限招规则,不会把每方超过10次将军的着法计入限招,并且对应的应将步也不会计入,但当局面产生吃子后,将军次数会重新计算。

Mate Threat Depth:

判断中规里“杀”的回合数。该选项在Repetition Rule里设定为ChineseRule时才会生效,设置范围0~10,设置0则引擎不会判断“杀”。设置1~10,则引擎会在搜索中判断循环招法是不是1~10回合内的“杀”,而“杀”在中规里可能导致循环违规。设置得越高棋力下降越严重。适合纯人在中规环境下拆棋。

Repetition Rule:

AsianRule是亚洲规则(作者团队所理解的一个亚规版本),违规严重级:长将>长捉同一子>其他,属于2fold(相同局面一旦重复出现直接进行判决,也就是一个局面出现第2次时判决)

   大部分网络规则都是亚规。

SkyRule是某些网络规则。请注意,某些网络规则是亚规基础上稍作修改的,并不是中规。用于线上对弈后拆棋,请自行辨别网络规则是不是亚规。(该棋规代码作者为skystarspython)

ComputerRule是基于皮卡鱼作者《中国象棋程序竞赛规则》的规则,和AsianRule有些许不同,但是唯一一个全部符合所有亚规图例结果裁决的规则,并且属于3fold(一个局面出现第3次时判决)。

ChineseRule是极简化的中国规则,本质上是亚规改。注意目前没有网络平台使用中规!且目前中规由于过度模糊,绝无任何可能程序化。违规严重级:长将>长捉、长杀、将杀循环、将捉循环、杀捉循环>其他。开启此选项后,Mate Threat Depth不为0时,引擎才会判断“杀”。


UCI_WDLCentipawn:

胜率分数。根据胜率模型将原始分数转换的分数,关闭会显示原始分数,不影响棋力。如果不习惯胜率分数就关闭。

LU_Output:

开启则显示lowerbound和upperbound的信息,通俗说同一层可能会输出多次结果,比如某一层正在上层的时候会输出不完整的思考细节。若关闭,一层只会输出一次。

EvalFile:

引擎要读取的nnue权重文件名称与路径。引擎默认读取同一文件路径下名为pikafish.nnue的文件,可以将nnue文件改名,并且通过此选项使其仍可以被读取。一般人不需要,手机优步可通过此选项达到配置多引擎的效果。