将棋ソフト開発
将棋ソフトを作る
将棋ソフトを1から作る。大体1ヶ月くらいで浮かむ瀬程度の強さにしたい
開発方針
-
ルールの実装
高速に動作する盤面クラスを実装する。 BitBoardを用いた効きの算出、効きの差分計算、駒番号を使用し高速かつ拡張性の高い実装にする。
期間は1週間程度。
-
探索の実装
探索部を実装し、対局できるようにする。静止探索、置換表、キラームーブ、Late Move Reduction, Null Move Pruning, Futility Pruningあたりの基本的な手法を実装する。評価関数は駒割りだけ。
期間は2日程度。
-
評価関数の実装
KP(手番込み), PPを実装して、自己対戦棋譜からの強化学習で最適化する。この時点で多分Bonanza 6.0以上の強さにはできるはず。
期間は1週間程度。
-
評価関数の特徴の検討
自己対戦棋譜を分析して評価関数の特徴を改善する。R400以上上がって欲しい(願望)。
期間は1週間程度。
-
探索部の改良
実現確率探索、並列化の実装。(マシン次第で)R400くらい上がるはず。
期間は1週間程度。