バグに気がついた
入玉宣言絡みで、いつかは起こりそうなバグがあったんで、大会までには対策しないと。
バグは二つあって
- ルートノードでどの手を指しても相手の入玉勝ちになる場合、ムーブオーダリングで最初に来た手を指す。
- ある程度深い所で相手の入玉勝ちと自玉が詰んでの負けが混在した場合、より長手数で負ける方を選んでしまう。
というものです。
相手が入玉勝ち宣言を実装していればどのみち負けるんで良いんですが、実装していないと困った事になります。という訳で、「詰んでの負け」と「入玉されての負け」を区別して処理をする必要がありそうです。
1つ目に関しては、全ての手が入玉で負けなら相手番で入玉判定せずに探索すれば良さそうです。それなら、入玉されてもちゃんと勝ちに行くはず。
2つ目は、詰んでの負けの評価値を「-∞+詰むまでの手数」、入玉負けの評価値を「-∞+詰むまでの手数+50」とかにしてやればいいはず。これなら、入玉負けになる手を優先的に指すはず。
…問題は時間が無い事ですねぇ。GPW杯までに間に合うのかな?