漫遇将棋は人ごとではないという話

現在、私の書いているコンピュータ将棋のソース分量は1MB程度です。
私の場合、ソース中のコメントが非常に多いので、実際のプログラム行だけならばその1/3程度です。


しかし、高速化のためにパズルのような技法をいくつも使ってあります。私のソース中のコメントをすべて削除した場合、ソースの難解さで言えばBonanzaの比ではありません。GPS将棋のソースにも匹敵するでしょう。(ビット演算の魔術的な意味で)


あと、私のソースでは指し手生成ルーチンも、バリエーションが何種類もあって、オーダリング機能つきだとか、指し手の有りなしだけ返すものだとか、逐次生成型のものだとか、とても複雑になっており、デバッグは困難を極めます。


さらに悪いことに、コンピュータ将棋というのは非合法手ならばあからさまなバグだとわかるものの、合法手である限りはバグかどうかなかなか判別がつかないということです。それとなーく弱くなっていたり。あとは、合法手生成も、出現頻度の低いような指し手は、バグっていてもなかなか実戦で現われないので、バグに気づかなかったりします。


そういうバグが、たまたま大舞台で出てきて、明暗を分けたりするのが勝負の世界です。本当に怖ろしいですね。


長時間ランニングさせたり、一般公開したりしていれば、そういうのはバグレポートをしてくれるユーザーの手によって次第に減っていくんでしょうけども、公開もせず(どうせx64環境限定で、かつメモリ24GB必須とかだと誰も試してくれない)、ろくにテストも出来ず、短期間で開発して本番に挑むというのは、漫遇将棋の再来になっても仕方がない意味もあります。


さすがにあそこまで露骨に弱くはないとしても、局面によっては角がワープしたり、飛車が3枚になったり、王が盤上から消えたり…しないことをいまのうちから祈っています。


今年一年は散々でしたけど、来年はいいことありますように。