|
(GPS将棋開発参加記録)
|
少し前の話題ですが先日金沢で行われたComputer Olympiadで、実戦では珍しい長手数の詰み筋のある局面に出会いました。
後手持駒 歩1 9 8 7 6 5 4 3 2 1 +---------------------------+ |v香 ・ ・v金 ・ ・ ・ ・v香|一 | ・v玉v銀 ・v金 ・ ・ ・ ・|二 | ・ ・ ・v銀v歩 ・v桂 ・v歩|三 |v歩 ・v歩v歩 ・ ・ 歩 飛 ・|四 | ・ 桂 ・ ・ ・ ・v歩 ・ ・|五 | ・ 角 歩 ・ 歩 歩 ・ ・ ・|六 | 歩 歩 ・v金 ・ ・ ・ ・ 歩|七 | 香v歩v金 ・ ・ ・ ・ ・ ・|八 | 玉 ・ ・ ・ 桂 ・ ・ 桂 香|九 +---------------------------+ 先手持駒 飛1 角1 銀2 歩3 +
図は先手がBonanza後手がGPS将棋で、途中△8五歩からの△8八歩までの寄せが強引だったため、ここでは後手玉に▲8四飛以下の詰みがあります。(選手権用PCで1.3秒くらい)。もっと短い手順があるかもしれませんが、GPS将棋が見つけたものは玉が盤上三辺を50手以上も逃げ回る派手な手順でした。
後手持駒 角1 歩1 9 8 7 6 5 4 3 2 1 +---------------------------+ |v香 ・ ・v金 ・v歩 ・ 龍v香|一 | ・ ・ ・ 銀v金 ・ ・ ・ ・|二 | ・ ・ 銀v銀v歩 ・v玉 ・v歩|三 |v歩 飛v歩v歩 ・ ・ ・ ・ ・|四 | ・ 桂 ・ ・ ・ ・v歩 ・ ・|五 | ・ ・ 歩 ・ 歩 歩 ・ ・ ・|六 | 歩 歩 角v金 ・ ・ ・ ・ 歩|七 | 香v歩v金 ・ ・ ・ ・ ・ ・|八 | 玉 ・ ・ ・ 桂 ・ ・ 桂 香|九 +---------------------------+ 先手持駒 銀1 桂1 歩3 -
少し進んで現在▲7七角と王手した局面。この局面は(補足:この王手後は)どうやら不詰のようです(選手権用PCで3秒くらい)。
GPS将棋の詰み探索にバグがあったというオチだといけないので、他のプログラムでもし確認されたらご一報いただけると嬉しいです。なお、棋譜は冒頭リンク先からご覧いただけます。
「あから」に関する特集が計画されているようです。興味のある方はご期待ください。
ちなみに、開発者の思いを2ページでという執筆依頼が私のところにも来たのですが謹んで辞退しました。技術的なテーマのある執筆は別として、私の気分を書いた原稿は紙面の貴重さに見合う質にはならないだろうという判断です。
今まで通り思いついたことはここにでも書いてゆきたいと思います。
(あからの説明のために作った資料の一部を転載します。)

多数決サーバ(=合議サーバ)に8つのクライアントプログラムが接続して多数決をします。重みを矢印の太さで表しています。(ところで、プログラムの数え方は、1人?, 1体?, 1柱?) 合議サーバは保木さん作成で、クライアントの増減があっても動き続ける機能があから2010プロジェクトのために特別に加えられています。つまり、8体中1体が離脱したら、残り7体で多数決を続行します。そして、1体でも残っていれば対局続行可能です。また対局中にGPS将棋をいきなり^Cで落として、別のPCから再接続して試合に途中参加させたりすることもできます。重要な対局ではクライアントに不具合があったら自力で再起動するように設定して運用します。

次の図は、プログラム間の意思疎通に使われているプロトコルを説明しています。黒矢印は、合議プロトコル(仮称)、赤矢印は拡張USIプロトコルです。まずBonanzaは、もともと合議サーバが開発された対象なので直接通信できます。他のプログラムは(拡張)USIを使うこととして、ブリッジを使って翻訳して接続しました。各プログラムが直接合議プロトコルに対応することも考えられたところです。比較してメリットの方は、新しいプログラムが参加しやすい、合議プロトコルに細かい変更があってもブリッジが吸収できる、共通の機能の実装をブリッジに任せられる(違法手をクライアントが推薦した等の異常事態に離脱して再起動再接続する、サーバとの通信が切れたら10秒後に接続しなおしに行く等)などがあります。一方、デメリットは、USIで表現していないことを合議プロトコルに載せにくいこと、goやstopに局面番号がついていないためレースコンディションに気を使うことでしょうか。
クラスタ部分は色々な計画がありましたが、あから2010では結局GPS将棋流のものが使われました。この方式では、一部の拡張されたコマンドを含むUSI風のプロトコルで探索を分担します。詳しくはGPW等で。

Before...
_ kaneko [あ、はい、GPS将棋は▲4五桂なら詰みだったと思っているようですね。]
_ かず@なのは [1.3秒ですか! 新 東大将棋無双IIで、10.9秒探索節点数1479509、詰み手数は65手でした。 激指7はあろ..]
_ kaneko [岸本詰めでも詰みなら安心です。ありがとうございます。GPS将棋が速いのはdf-pnを並列化している影響が大きいかと思..]