アピール文書(案)
GA将!!!!!!とは
コンセプト
- 最優先目標は「評価関数の精度向上」です。
- その為の手段として「自己対戦による評価関数パラメータの学習」を行います。
- それ以外の部分に関しては、不要なものは実装せず、必要な物も極力
シンプル手抜きなロジックにしています。
学習アルゴリズム
評価関数
- 以下の評価項目を用いた線形の評価関数を使用しています。
- 駒割
- 筋ごとの駒の位置評価
- 段ごとの駒の位置評価
- 駒の位置評価
- 二つの駒の相対位置関係
- 二つの駒の絶対位置関係
- 三つの駒の相対位置関係(3x3のタイルに収まる関係のみ)
- パラメータ数は約220万個なので、最近のプログラムにしては少ない方だと思います。
- 前述の通り、自己対戦の経験を元に自動的にパラメータを学習させています。
- 手作業でのパラメータ調整(いわゆる「ドーピング」)はしていません。と言うか、作者にはそこまでの棋力はありません。
探索ルーチン
- 基本方針は「シンプル&手抜き」です。
- 基本構成はαβ全幅(反復深化)+静止探索6手です。
- PVSとかMTD(f)とかAspiration Searchとか、そんな賢いアルゴリズムは使っていません。あくまで、ただのαβです。
- ムーブオーダリングは置換表の手(1手のみ)を先頭にし、それ以降はHistory Heuristicの改良版でソートしています。
- 枝刈りはせず、LMRで大雑把に短縮しています。他には、王手・ReCaptureのみ少し延長しています。
- 全幅探索部の内部ノードでは詰将棋ルーチンを呼ばず、ルートノード(現局面)でのみ呼んでいます。
- 探索速度はCore i7 940(2.93GHz)で1スレッドあたり200kNPS前後です。(上位のプログラムより1桁前後遅いです。)
定跡
- 人間の知識は極力使わない方針なので、定跡は一切使用していません。
- だってほら、何となく「人工知能」っポクてかっこいいかな、と思ったもので。
その他
- 第20回選手権で念願の二次予選進出を果たして以降、はっきり言うと伸び悩んでました。
- 現在の評価関数は「WCSC20バージョンよりやや強い」程度ですが、選手権までにもう一回り強化出来ないかと検討中です。
- 現在の探索ルーチンはシングルスレッド動作なので、選手権用PCのCore i7 3770Kが泣いています。合議か並列探索を実装…出来たらいいなぁ。