■プログラム名 Blunder チェス等での「大悪手」という意味の言葉。 実は「Bonanzaのパチモノっぽい、いい(?)名前無いかなー」と辞書で調べてたら見つけた言葉。 当初は強くなれば皮肉が聞いていていい、と思っていたのですが、 何故か実際にいつ悪手を指すか分からないプログラムに。 ■Blunderの見どころ ・学習による時間制御 探索を続けるか否かを統計的に判定しています。 持ち時間25分の場合で最大2分程度まで探索を行いますが、 (統計的に)大丈夫(な確率が高い)と思えば1秒で指すので、 いつ短過ぎる時間で探索を打ち切って悪手を指してしまうか分からないハラハラ感が楽しめます。 ・低NPS Corei7 3960Xで1コアあたり序盤100kNPS、終盤50kNPS程度。 参加プログラム中トップクラスの遅さだと思います。 実現確率探索・学習によるオーダリング・枝刈り・ 1億程度の複雑な特徴を多数使用した評価関数により遅さを補っていますが、 他プログラムに比べて読みが細い・ときどき浅い傾向があるため、 いつ重大な読み抜けをしてしまうか分からないハラハラ感が楽しめます。 ・作者が低棋力 コンピュータ将棋開発者中トップクラスの弱さを誇ります(ルールしか知らないレベル)。 Blunderが悪手を指していても気付かないので、 気付いていれば簡単に直せるような悪手が放置されてる事があるかもしれないハラハラ感が味わえます。 ■使用技術 ・Stockfish風の枝刈り等 ・実現確率探索 ・df-pn ・Bonanzaメソッドによる評価関数 (特徴は独自のもので1億程度) ・学習によるオーダリングと枝刈り ・学習による時間制御 ・評価値を考慮した定跡DB ・その他、多数の実装上の細かい工夫 ■去年からの主な変更点(強さに寄与した順) ・バグ修正 ・学習や探索などのパラメータの微調整 ・評価関数、オーダリング、枝刈り、時間制御、実現確率への特徴追加 ・高速化 ・Stockfishを参考にした探索の工夫 ・多数の実装上の細かい工夫