GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

「強くてニューゲーム」の可能性を検証してみた@コンピュータ将棋界

 面白そうな話題なので、細々と検証してみる事にしました。
 

1990年編

www.eonet.ne.jp

 1990年のPCは、上記サイトによると高々20MHz程のCPUと2MB程のRAMしか無いので、現状のコンピュータ将棋*1を対局させる事すら無理そうです。

 ましてや、機械学習で評価関数パラメータを学習するのは、夢のまた夢かと思います。

 この時代だと、「現在の知識は全く活かせない」という可能性が非常に高いです。

2000年編

ハードウェア構成

 確か、IntelAMDが「1GHzレース」を展開中だった時代だと記憶しています。あと、この頃はコンシューマ向けのPentium II/IIIでもデュアルCPU構成が可能だったので、安価に構築可能でした。

 コンシューマ向けですと、2020年2月にRyzen Threadripper 3990X(64コア128スレッド・ベースクロック2.9GHz)が出る予定ですので、CPUパワーは現状から2桁程度落ちる計算でしょうか。

 メモリに関しては128MBのSDRAMが売っていた記憶があるので、512MB位の容量は個人でも確保出来そうな感じです。三駒関係だと「対局は可能だけど、学習するのは無理そう」かと思います。

探索ルーチン

 私がコンピュータ将棋を実装し始める前なので書籍等から得た知識ですが、この頃は選択的探索が主流だった様です。

 ただし、激指さんが実現確率探索を実装したのが2001年選手権バージョンからで、2002年には優勝していますので、実現確率探索に関する知識は活かせるかと思います。「劇的に強くなる」かは分かりませんが、数年のアドバンテージは得られそうですね。

 ついでに、当初の実現確率探索は「指し手をグループに分類して、グループごとの遷移確率を採用する」方式だったのが、後に「指し手の遷移確率を、ロジスティック回帰を用いて学習する」様に変更されたので、変更後の方式を実装すれば当時のソフトと比較して強くなる可能性は高いかもしれません。

評価関数

 上記の通り、三駒関係の評価関数は主記憶の容量の問題で学習不可能だと思います。なので、「任意の二駒関係」が上限かと思います。

 ただ、二駒関係ならメモリ専有量が減る&学習の収束が速くなるので、2000年でも実用レベルかもしれません。

機械学習

 Bonanza Methodならある程度容易に並列化出来るので、ハイエンドPCを多数並べて学習させれば実用可能範囲かと思います。あるいは、1台のPCで学習を回して、収束するまでじっくり数ヶ月~1年程度待つとか。(参考までに、Bonanzaさんの選手権デビューは2006年。)

 自己対局等での強化学習は、Bonanza Method以上にマシンパワーを要求します。多分、同じ棋力になるまでに必要な計算量は1~2桁は上がるんじゃないかという印象です。なので、こっちは「知識はあっても、ハードウェアの制限で実現不可能」かと。

並列探索&合議

 当時のハイエンドPCでも、高々2コア2スレッド構成ですので、並列探索の場合にLazySMPはあまり有効に動かなそうです。YBWCで十分かと。

 合議に関しては、単にLAN等で接続された複数のPCがあればOKなので、2000年当時でも実用可能な技術です。文殊さん(2009年選手権デビュー)方式の多数決合議よりも、後で提案された楽観的合議の方がクライアント数を増やした場合の伸びしろが大きい*2ので、こっちを採用すれば10年程度のアドバンテージは有るかと。

結論:わたしのかんがえたさいきょうのコンピュータ将棋ぷろぐらむ@2000年

 ここではPentim IIIデュアルCPU程度のハードウェア*3を前提に考えてみます。

  1. 探索ルーチン:ロジスティック回帰を用いた実現確率探索。YBWCで並列化する。
  2. 評価関数:二駒関係ベース。
  3. 学習ルーチン:Bonanza Method。

 具体的にどの程度強くなるかですが、「ソフトウェアの技術革新によって、年間200程度Eloレーティングが向上する」と仮定すると、5~10年程度のアドバンテージが有るので、+1000~2000程の向上になるはずです。

 ついでに、コストパフォーマンスとかは一切考慮せず、金に物を言わせてハードウェアを揃えた場合を考えてみます。具体的には、上記のPCを64台揃えた場合。1台30万円なら2000万円前後ですね。

 この場合、楽観的合議を実装して更にレーティングが+数百、と言った所でしょうか。夢は有るんですが、コスパ的には微妙ですね。

 まぁ、当時のハイエンドPC1台でも当時の最強ソフトに対してレーティング+1000は固いと思うので、選手権に出れば無双出来るかと思われます。

*1:例えばBonanza型の三駒関係の評価関数を仮定しています

*2:確か、32クライアントか64クライアントまでは棋力が向上する、って論文があった筈

*3:当時、個人で購入可能な上限