ShogiOpenBook構想

将棋の定跡DBの自動構築が出来るようになってくると、このDBを開発者同士で共有したくなってきます。

以下の話は全くの妄想です。「近い将来こうなってたら面白いのに」という話です。

まず定跡DBはサーバー側で一元管理します。floodgateみたいな形できっと東大のなかの人がやってくださるとします。

定跡DBはきっと数10TBぐらいあるのですが、数年後のSSDはそれぐらいの容量があるのでなんとかなるとします。

この定跡DBは、将棋倶楽部24棋譜やプロの棋譜を初手から探索させてみて、それぞれの局面の評価値を書き込んでいきます。

配布されたプログラムを実行すればこの定跡サーバーから局面が1つ送られてきて、それを探索してその結果のスコアを返すようになっています。将棋プログラム自体に組み込んで検討ボタンを押したときにその局面の探索結果をサーバーに送信してもいいかも知れません。

数年後にはプロ棋士も定跡の研究のために(終盤の詰むや詰まざるやの局面などで)コンピューター将棋を活用しているでしょうから、そこで検討するとその局面の指し手が自動的にサーバーに送信されて、最新研究がだだ漏れになるというスパイウェア事件みたいなことも起こり得えるかも知れません。


ともかく、このようにしてクラウドベースで定跡DBを構築していくと面白いのに、と思っています。そのためにはコンピューター将棋の序盤の棋力がもう少しあったほうがいいとは思います。

ただ、序盤周辺は定跡DB上にたいていは登録されており、それらの結果でmin-maxしているのと同等になるため、頻出するような局面・変化に関しては結局はiteration = 40ぐらいで探索させているのと同じことになるのではないかと思います。

例えば角換わり腰掛け銀の木村定跡の局面はおそらく定跡DB上で先手有利の結論が比較的すぐに出せるはずです。(数年後のPCとソフトで、何百台ものPCでそのあとの変化を検討させるとすれば)

その局面がDB上に先手有利が登録されているので通常探索のときにこの局面に飛び込むのは避ける、と言ったことが出来るようになります。何手前でこの局面を回避できるようになるのかという問題はあるでしょうけども。

もしかしたら、10年後ぐらいのSSD(そのころには新型のフラッシュメモリーかも知れませんが)はいまの1万倍ぐらい速く、探索開始局面から10手ぐらい先の局面すべてに関して定跡DBに登録されているかどうかを調べても1秒以内に収まるのかも知れません。そもそも10年後のPCならば10TB程度ならばメインメモリに丸ごと収まるのかも知れませんが。

ともかく、コンピューター将棋がプロ棋士に勝ち越す日はもうそこまで来ています。しかし、コンピューター将棋の序盤の粗が改善されるのはまだずっと先のことです。またプロの間で不利であると結論の出ている局面を避けられるようになるのもさらに先のことでしょう。

5年後か10年後の課題としてコンピューター将棋開発者の間での定跡DBの共有が挙げられるのではないかと私は思っています。プロ棋士が協力して定跡を研究しているように、コンピューター将棋側も協力して定跡を研究しないと改善が見込めないようになるのではと思います。

しかしその一方で、序盤があと20回ぐらいiterationが余分に回ればそんな事前研究や定跡DB一切なしでも、もはや序盤で作戦負けしないぐらいに序盤がうまくなっているのかも知れません。