2010-10-12
ログ解析
コンピュタ側の合議について解説会では説明がなかったようなので、少しだけ
ログはここで公開されています。
http://www.ipsj.or.jp/50anv/shogi/20101012-2.html
※すみません、金子さんらに聞いた説明を色々勘違いしていたようです。コンピュタの掲示板
を見ると、山下さんは「バックアプマシンとクラスタマシン」と書いており、つまり単独とクラスタと独立しているということです。なので直しました。
4ソフトはそれぞれ単独(優秀なマシンを割り当てられている。激指の鶴岡さんによると、選手権優勝マシンよりは少しだけ劣る)とクラスタ169台(約40台づつ割り当て)があり、計8ソフトの単純合議制で指し手を決めます。クラスタはまず親に設定されたマシンが読みます。「△4五同桂は疑問、△7七角成は悪手、△5三角が最善」と。それを△4五同桂に10人、△5三角に15人というふうに割り振ってまた深く読んでいき、指し手を決めていきます。マシン同士の話し合いはなく、決められた手だけを読み、上にあげます。
で、GPS・ボナンザ・YSSは20票ですが、今年のコンピュタ将棋選手権優勝の激指には発言権が10票多く30票与えています。これを各ソフトの裁量で、メインとクラスタに重みを与えています。で8ソフトはそれぞれこう投票権を割り振りました。
激指 単独 29票
クラスタ1票
GPS 単独 10票
クラスタ10票
ボナンザ単独 19票
クラスタ1票
YSS 単独 19票
クラスタ1票
実際の表記は2.9や0.1と小数点になっています。
160台以上のクラスタの投票権が合計でたった13票と少ないですね。これは合議+クラスタそのものが大変なシステムで、しかも大学のコンピュータを借りるため、事前のテストが十分に出来なかったため。もしクラスターのマシンが暴走して、悪手を推薦してしまっては大変です。
「合議マネージャ」担当(合議と投票会場をプログラム)したボナンザの保木さんはストレスで倒れたそうですし、YSSの山下さんに至っては対局直前まで調整していたほど。実際、対局中に途中で動かなくなるパソコンも数台でて、切り離したそうです。
GPSは10票割り当てていますが、これは経験があるから。GPSは5月の選手権で田中哲朗准教授のチームがプログラムを組み、300台のクラスターを見事成功させているのです。なのでクラスタに信頼性があると判断して等分に投票権を割り、部下に10票の投票権を与えました。
基本的な時間配分は、こんな感じ
Time limits: max=487.00 fine=244.00 easy=123.00s
easy=123.00 みんな一致なら2分以内で着手、
fine=244.00 ちょっと意見が割れたら4分
max=487.00 意見が紛糾したら最大8分
8人がほとんど一致すれときと、ちょっとばらばらなとき、意見が割れたらときで時間を変えているということです。先読みした手がヒットすると(読み筋通りの手が来ると)、時間配分は少なくなります。
これが用語解説ですが、ちょっとだけ指し手について。
まずは序盤の4手目△3三角には皆ビックリでした。私も完全ノーマーク。
ログを見ると、
sum = 3.9
2.90 8384FU nps= 0.0K 0.2s Gekisashi final →2.9は投票権、8384FUは8三の歩を8四に動かしたので△8四歩という意味です。
1.00 8384FU nps= 0.0K 4.7s gpsshogi_cluster final →_clusterはクラスタ
訳すると、激指上司とGPS部下が居飛車にしましょうと、合計39票△8四歩が得票しました。
なぜファイナルアンサーの「final」かと言うと定跡データベースの手だから。
sum = 3.2
1.00 4344FU nps= 0.0K 0.1s gpsshogi final
0.10 4344FU nps= 0.0K 0.1s yss_cluster final
0.10 4344FU nps= 0.0K 0.1s Bonanza_cluster final
0.10 4344FU nps= 0.0K 0.1s gekisashi_cluster final
1.90 4344FU nps= 0.0K 0.0s Bonanza final
△4四歩 振り飛車で行きましょう。
sum = 1.9
1.90 2233KA nps= 0.0K 1.2s YSS final
△3三角 YSS 19票
なんで最多の39票の△8四歩ではなく19票の△3三角が選ばれたかと言うと、
その答えはYSS is confident in 2233KA.の一文にあります。
これはは通常の定跡があっても、YSSの定跡(ここでは△33角)を指す、という意味です
今回のプログラマーの中でリアルな将棋の実力では山下宏さんが一番強く、その山下さんとTACOSチームの橋本剛さんが事前に決めるということで他のプログラマーも了承したとのこと。
で、選んだ作戦が4手目△3三角からの角交換振り飛車だったのです。
(実際は橋本さんが清水さんの将棋を分析して決め、それを山下さんが組み込みました。それについては橋本さんと色々話しましたが)
なんでも今年の王位戦や王座戦のタイトル戦で△3三角戦法が出たので、プロでもメジャーで優秀な戦法と思ったとのことです。決して解説者が藤井九段だったからではありません。
さて、今回コンピュタが指した手でプロ側が驚いたのが△4五同桂と桂を捨てた手。読みの推移はこんな感じでした。
▲4五歩の直前の読み。
Opponent's turn starts.
相手の手番スタート
Time limits: max=97.40 fine=48.80 easy=24.60s
まず相手の手を最低24秒、最大97秒使って先読みします。
Ponder on +4645FU.
結果▲4五歩が本命となり、各ソフトが次の候補手を上げていきます。
(本来は先読みも複数手だそうですが、今回はシステムの安定のため、読む時間を少なくして候補を1手に絞っています。だから最善手を先読みしているとは限りません。)
最初の投票結果はこうなりました。
sum = 5.9 →59票
1.00 3345KE nps= 795.5K 59.2s gpsshogi 273→10票△4五同桂59.2秒思考 GPS +273点
1.90 3345KE nps= 2397.2K 59.5s YSS 300
0.10 3345KE nps= 6945.2K 59.5s yss_cluster 422
1.00 3345KE nps= 9143.5K 59.4s gpsshogi_cluster 213
1.90 3345KE nps= 1412.6K 60.0s Bonanza 190
sum = 3
2.90 4453KA nps= 1707.2K 34.8s Gekisashi 250
29票 △5三角 激指 +250点
0.10 4453KA nps= 5283.2K 59.0s gekisashi_cluster 335
sum = 0.1
0.10 4477UM nps=22018.8K 59.8s Bonanza_cluster
この結果を会話に直すと。
「思い切って△4五同桂と桂を捨てちゃおうよ」
△5三角 激指コンビ 計30票
「いやいやここは冷静に△5三角と引きましょう。」
「△5三角なんてぬるいこと言っていないでここはボナ攻めでしょう。△7七角成と角を切りましょう!」
てな感じです。
さて実際に▲4五歩と指しました。
My turn starts.
自分の手番スタート
Time limits: max=201.00 fine=101.00 easy=51.00s
先読みが当たったので最大201秒、つまり3分21秒の思考で結論を出します。
sum = 3.9
1.00 3345KE nps= 698.1K 179.2s gpsshogi 273
1.90 3345KE nps= 2315.2K 179.7s YSS 462
1.00 3345KE nps=10856.9K 180.1s gpsshogi_cluster 213
sum = 3
2.90 4453KA nps= 1669.6K 95.3s Gekisashi 345
0.10 4453KA nps= 7802.7K 180.0s gekisashi_cluster 344
sum = 2.1
0.10 4477UM nps= 8000.4K 179.4s yss_cluster 251
0.10 4477UM nps=23532.5K 179.3s Bonanza_cluster
1.90 4477UM nps= 1389.1K 179.7s Bonanza 146
ボナンザ単独版も「みんなの意見を信じる」とクラスタの意見に従い△7七角成に変えました。
ボナンザは序盤も終盤も同じ評価関数を使い、そのため終盤で価値の高い金を序盤でも欲しがります。だから角金交換が多いのです。今はだいぶ評価関数を変えたはずでしたが、ここで本性?がでました。
そしてYSSクラスタまで△7七角成に賛成しました。
「なんでボナンザの意見に従っているんだ!」
と山下さんが激怒したかどうかはわかりません。
「激指なんてネーミングの割りに弱気だね」と激指には誰も味方してくれません。
激指「桂損とか角を切るなんて過激な手を考えないで、みんな冷静になろうよ。まだ序盤だよ。ボナ君も今回はチーム戦だから棋風は押さえて。多分プロ棋士も△5三角と言っているよ。ほら△5三角が一番評価値が高い(+345)じゃない」と言っても誰も耳を貸さず。全体の3分の1の投票権を持っていますが、同調者がいないと採用されません。
当然会議は紛糾し読みが延長されます。そして2回目の投票でも結果は変わりません。
sum = 3.9
1.00 3345KE nps= 691.9K 201.1s gpsshogi 367
1.90 3345KE nps= 2062.0K 201.8s YSS 462
1.00 3345KE nps=14715.9K 201.3s gpsshogi_cluster 213
sum = 3
2.90 4453KA nps= 1669.6K 95.3s Gekisashi 345
0.10 4453KA nps= 7883.4K 201.2s gekisashi_cluster 344
sum = 2.1
0.10 4477UM nps= 7113.6K 201.8s yss_cluster 251
0.10 4477UM nps=22310.8K 201.2s Bonanza_cluster
1.90 4477UM nps= 1389.0K 201.8s Bonanza 146
ということで90票中 △4五同桂39票、△5三角30票、△7七角成21票で最多得票の△4五同桂が採用されました。もしYSSがクラスタに同調していたら△7七角成を選んでいたのです!
その後の読みが面白く、
1.00 6556GI nps= 758.5K 119.0s gpsshogi 309
2.90 6556GI nps= 1693.5K 93.2s Gekisashi 228
1.90 6556GI nps= 2403.5K 119.1s YSS 432
0.10 6556GI nps= 9642.3K 118.9s yss_cluster 396
0.10 6556GI nps=25116.7K 119.5s Bonanza_cluster
1.00 6556GI nps=10633.9K 119.8s gpsshogi_cluster 140
1.90 6556GI nps= 1432.0K 119.7s Bonanza 135
0.10 6556GI nps= 5776.4K 119.9s gekisashi_cluster 228
▲4五同桂に△5六銀で最後は全員一致したのですが、その局面の形勢判断値を見ると、YSSが+432点の高評価なのに対し、ボナンザは最低値の+135点です。
「なんで角を切らなかったんだ。この展開じゃあまり良くないでしょ」とボナ君がすねています。
てな感じです。