noobpwnftw / chessdb

ChessDB

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

云库对于长将的判断问题

PikaCat-OuO opened this issue · comments

nooby大佬好呀,我发现了一个不知道是不是问题的问题。
这个fen:3ak3C/4a2R1/9/4p3p/2r1rcR2/4C4/1n2P3P/B3B4/4A4/1c2KA3 w moves g5g9 f5f9 g9g5 f9f5 h8h9 e8f9 h9h6 f9e8 g5g9 f5f9 g9g7 f9f3 g7g9 f3f9 g9g8 f9f1 g8g9 f1f9 g9g2 f9f2 g2g9 f2f9 g9g6 f9f6 h6h9 f6f9 h9h3 f9f6 g6g9 f6f9 g9g8 f9f7 h3h9 f7f9 h9h0 f9f7 g8g9 f7f9 g9g6 f9f6.
红方好像一直在将军,这种将军算长将吗,是合乎亚规的吗?

皮卡鱼采用了类似于chessdb的策略,在某一步只给自己判负,不给对方判负,然后认为不违规也走出这种走法来了。
image
旋风和小虫的策略和chessdb不同,在某一步既可以给自己判负也可以给对方判负,就能很好的处理这种局面。
但是反观这个fen:3aka3/4n4/9/9/9/9/2C6/9/6r2/3AK4 b。旋风和小虫现在的策略就无法正确处理这种局面了,会给mate分,而chessdb的策略就能很好的处理这种局面。

我认为导致这种问题出现的原因如下(截取自discord):
image

代码上可以判断是自己犯规还是对方犯规,但判断自己的话视觉效果会变成还没进入第二次循环直接就被判负,所以我这不判断自己,要多走一步。至于搜索的话,给个犯规分就行了,差个一步也没什么所谓,结论正确即可。