やねうら王 classic v2.17 にある不具合2個 [コンピュータ将棋]
新旧置換表どちらでも発生するので探索周りだと思って調べたもの。
・1手詰めをするタイミングが早い
再現するsfenがあったと思うのだが、どっかいってしまったので、これはあまり自信がない。
search()の中で置換表の手を参照する前に自玉に王手がかかっているかチェックする必要がある(気がする)
これのせいで、「詰-1」になったり、自玉が詰んでるのに、相手が詰むとして急に勝ちを宣言する場合がある。
・Counter Moveに違法手が混入する
これは明らかなバグ
"+R7l/2K1+N1+S1s/p1+P2gnpp/6+b2/2+SGG4/3P1+b3/P5+pPP/5+r3/+n1+pk4L w SL2Pgnl6p 160"
この局面を探索すると、71に先手の歩がいることになってて、しかも元々違法手だからチェックをせずに前に進んでしまい6九にいって、しかも上記局面ではたまたま、そこにいた玉を補足する。
本当にたまたま玉がとられるアサートに引っかかって発見した。
なんでcounter moveに違法手が入るかは不明だが、先後の手が入れ替わる可能性がありそうで、そうするとpseudoLegalのコストが跳ね上がるので使わないほうがよさそう。
そもそも露骨に違法手が混入するのでcounterMove周りはなにかおかしい気がする。
・1手詰めをするタイミングが早い
再現するsfenがあったと思うのだが、どっかいってしまったので、これはあまり自信がない。
search()の中で置換表の手を参照する前に自玉に王手がかかっているかチェックする必要がある(気がする)
これのせいで、「詰-1」になったり、自玉が詰んでるのに、相手が詰むとして急に勝ちを宣言する場合がある。
・Counter Moveに違法手が混入する
これは明らかなバグ
"+R7l/2K1+N1+S1s/p1+P2gnpp/6+b2/2+SGG4/3P1+b3/P5+pPP/5+r3/+n1+pk4L w SL2Pgnl6p 160"
この局面を探索すると、71に先手の歩がいることになってて、しかも元々違法手だからチェックをせずに前に進んでしまい6九にいって、しかも上記局面ではたまたま、そこにいた玉を補足する。
本当にたまたま玉がとられるアサートに引っかかって発見した。
なんでcounter moveに違法手が入るかは不明だが、先後の手が入れ替わる可能性がありそうで、そうするとpseudoLegalのコストが跳ね上がるので使わないほうがよさそう。
そもそも露骨に違法手が混入するのでcounterMove周りはなにかおかしい気がする。
コメント 0