WCSC32こと第32回世界コンピュータ将棋選手権で「将棋の神様」云々との煽り文句があった。
もちろん神様というのは人間が創った概念である。
将棋の神様の定義は様々あるだろうが、指す人にとっては日ごろの努力を認めて棋力を上げてくれるとか祈りを捧げると詰み筋が見えるとかそういう観念になるのだろう。
ゲームAI分野では以前から二人零和有限確定完全情報ゲームに分類されるものは無限の探索時間と無限の探索能力をもってすれば双方が最善手を指した結論まで得られると分かっている。しかしながら、有限の時間で完全解析にたどり着けるゲームは現在どうぶつ将棋や6x6のオセロ程度である。
神様が全ての指し手を探索し終局まで探索するとして、他の神は居ないのかというと評価値の神というのが考えられる。任意の局面を正確に局面評価行うことができる神だ。
この神は候補手を指した先の局面評価も可能であるから、その評価が最大になる手を指すことで最善手を選ぶことができる。もちろん同評価のこともあるだろう。
ここまでは一般的なお話だが、5年前の私は時間の概念に重きを置いた。全着手ノータイム指しである。神様なら当然かもしれないが、通常はコンピュータで計算する以上時間を費やすことは必至である。そこで考えた実装がMulti Ponderと言う有力な候補手の応手を事前に探索しておく手法である。これにより、初参加で第28回世界コンピュータ将棋選手権を優勝することができた。今年選手権で準優勝と共にこの事案でCSA貢献賞を頂いた。今年優勝のdlshogiが同手法を実装して時間を削ってきたのには苦笑いしか出ない。
探索の神、評価の神、時間の神と三柱考えて、時間の神を奉ったのが2018年。
その後スクラッチで探索実装などを試みたのが2019年。無限の時間(とメモリ)があれば答えが出る。
究極の評価関数を志したのが2020年である。これが二番絞り。
主流の自己強化学習にこだわらず手段を選ばないことを銘打って製作開始したものであるが、一応世界トップクラスを自負している。
Kristallweizenであの衝撃である。一般配布するには危険な代物だろう。
もちろん、今回一手でも悪手があったということで完成度を上げる余地はある。
神様からは「まだ早い」とのお声を頂いたように思う。