将棋ソフト開発

将棋ソフトを作る

将棋ソフトを1から作る。大体1ヶ月くらいで浮かむ瀬程度の強さにしたい

開発方針

  1. ルールの実装

    高速に動作する盤面クラスを実装する。 BitBoardを用いた効きの算出、効きの差分計算、駒番号を使用し高速かつ拡張性の高い実装にする。

    期間は1週間程度。

  2. 探索の実装

    探索部を実装し、対局できるようにする。静止探索、置換表、キラームーブ、Late Move Reduction, Null Move Pruning, Futility Pruningあたりの基本的な手法を実装する。評価関数は駒割りだけ。

    期間は2日程度。

  3. 評価関数の実装

    KP(手番込み), PPを実装して、自己対戦棋譜からの強化学習で最適化する。この時点で多分Bonanza 6.0以上の強さにはできるはず。

    期間は1週間程度。

  4. 評価関数の特徴の検討

    自己対戦棋譜を分析して評価関数の特徴を改善する。R400以上上がって欲しい(願望)。

    期間は1週間程度。

  5. 探索部の改良

    実現確率探索、並列化の実装。(マシン次第で)R400くらい上がるはず。

    期間は1週間程度。

上記の計画通りにいけば、ちょうど30日でBonanza 6.0よりR800上になる。