自动判和

来自皮卡鱼 Wiki
Afkbad讨论 | 贡献2024年3月14日 (四) 21:10的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

由于象棋引擎在测试时,和棋的裁决只有循环和棋和60回合自然限招,和棋的步数会很长,所以可能会有自动判和的措施来弥补一些测试速度,但是要考虑到对结果的影响。

常见的自动判和例如场上只存在士相或者连续x回合双方引擎±n分,后者就可能对实际结果产生影响,只是影响的强弱问题,因为引擎测试中,长回合均势但后期走输的情况是会存在的。

为了结果严谨,皮卡鱼团队在测试平台测试的自动判和保证当前的局面百分百不会分出胜负。

目前皮卡鱼测试平台的自动判和主要看当前的子力组合。子力组合中,不可能分出胜负的子力组合仅有:

1. 1炮 vs 1士n象

2. 1炮n相 vs n象

3. 1炮 vs 1炮

(注:不考虑超时因素;由于不可能逼迫一方违规 所以也不考虑循环违规因素;n的范围为0~2)


另外,还有部分子力组合,任何一方想要取胜,最佳着法的最长局面必须只能一步将死或困毙。由于github引擎内置了这类子力组合的棋盘操作,让引擎在这类子力组合中和棋的局面不可能出现输棋的情况,这种也是可以自动判和的。 【轮到一方走棋时,只需要考虑要走的棋会不会被对方一步将死或困毙,若不会,则走这步棋就不可能会输;若会,换一种着法,且不可能存在所有着法都会被对方一步将死或困毙的情况。】

1. 1炮 vs 2士n象

2. 1炮>0相 vs 1士n象

3. 1炮n象 vs 1炮n象(且双方象的总数>0)