やねうら王 対局 実況用スレッドその3


■ 2014/11/3 7:53 会場到着


マリーアントワネット「パンがなければお菓子を食べればいいじゃない」


訳 : 私は早く着きすぎて朝食のパンがまだ用意されていないので、昨日の残りもののお菓子を食べて過ごしています。


※ ドワンゴの人より。朝食は8:30ごろにいつものところに置いておきますとのこと。


■ 2014/11/3 8:00 今年のAperyは何が改良されたのか?


やね「評価関数の学習に多項式近似を使う件、成功したんですね?」
杉田「あれね、うまくいかなかったんですよー」
やね「そうなんですか?」
杉田「多項式だと、サンプルがないところに極端に大きな値がつくことがあって…」
やね「な、、なるほど」


■ 2014/11/3 8:01 Aperyのいまは?


やね「ということは、相対KPPを取り入れたわけですか」
平岡「そうですね」
やね「手番評価、結局入れなかったんですよね?」
平岡「なんか入れても強さが微妙だったので…」


※ NDFがやっているような手番評価*1、うまく拘束条件を入れたり何か工夫するとうまくいくのかも知れないが、このへんは開発者の間でもよくわかっていない問題。


■ 2014/11/3 8:06 平岡さんのスーパーポジティブシンキング


5位になるには2連勝しないといけない窮地に立たされたAperyについて。


杉田「厳しいですがまあやるしかない。」
平岡「行けるやろ」


■ 2014/11/3 8:08 Aperyとやねうら王とではどちらが強いのか


やね「(ということは、選手権のAperyからR150〜200ぐらい上がっている として、それなら)やねうら王のほうがAperyよりは強いのかな?」
平岡「Aperyのほうが強いでしょ。だって予選でAperyはやねうら王に勝ってますよ?」
やね「そやな…。一事が万事やしな…(平岡さんの、このポジティブシンキングを見習わないとな…)」


■ 2014/11/3 8:10 floodgateのtestとは何者か


floodgateで以前からレーティングが高すぎるソフトとしてこのソフトがどのソフトであるか話題になることが多かった「test」というソフトですが、AWAKEであることが判明。


そして、現在、floodgateの短期(2週間)レーティングでAWAKEが堂々の1位に君臨。


その実力はPonanzaと比肩することは間違いないでしょう。


■ 2014/11/3 8:13 AWAKEの棋譜からの学習マシン


4コアPC×2台 + 6コアPC1台の3台構成。MPI*2を使用。(このへんAperyと同じ) バッチ型学習(≒たぶんボナメソ)で3日程度で完了とのこと。


やね「学習、1からやって3日で終わるんですか。早いですねー。」
巨瀬「次元下げをしているので…」(分解された一つ一つの値は小さな値しかつないので少ないイテレーションで完了するの意味)


■ 2014/11/3 8:30 今日のやねうら王


やねうら王「やねうら王は変身する度にパワーが遥かに増す。その変身をあと2回も俺は残しているフッ、その意味が分かるかな?」


※ 「変身」とは、AWS(アマゾンのサーバー)を使って、棋譜からの学習をしているので、その評価関数パラメーターに差し替えること。


とは言うもののもうそろそろ(棋力の向上は)サチってくると思うけども…。


※ 「サチる」 = サチュレーション(飽和)するの意味。


■ 2014/11/3 8:30 毎日が席替えです


当日の対戦相手が席の真横にくるように毎日席替えが行われます。PCも新しい席に移動して自分の使っているPCの中身は変わらないので、開発者的には何も問題はないですが、ドワンゴのスタッフは大変そうです。


■ 2014/11/3 8:35 AWAKEのPR文は嘘か?!


やね「評価関数の共通点を括り出してR200上がったと書いてありますが、200だと計算合わないですよ。450ぐらい上がってるでしょ?」
巨瀬「Bonanzaのfv.binを差し替えて、(Bonanzaの)勝率を計測したらそれぐらいの向上だったので」
やね「ああ、それだと、いまのAWAKEの探索部を用いて学習させている以上、Bonanzaの探索部とはマッチしてないので200ぐらいしか上がってないように見えるだけで、いまのAWAKEの探索部に組み込んで比較した場合、もっと上がってるんじゃないですか」
巨瀬「そうかも知れません…」


■ 2014/11/3 8:35 やねうら王はどれだけ上がっているのか


やねうら未来学習メソッドは、NDFのやっている相対KPPの次元下げをさらに一般化したものをベースとする。


また学習は従来のバッチ型の学習であるが、ボナンザメソッドの実装(Bonanza6のlearn.c)にある致命的欠陥を修正している。これにより、他の相対KPPの次元下げをしたソフトよりはさらに棋力が向上していると私は考えている…が、本当にそれで上がっているのかはよくわからない。


何せ時間がなくて比較テスト等、一切していないからである。


■ 2014/11/3 9:40 強くなってるかテストとか一切してませんけど何か?


やね「評価関数バイナリをAWSから落としてきて…差し替える…っと」
平岡「それって本当に強くなってるんですか?」
やね「そんなテスト(自己対戦100回とか)、できるわけないじゃないっすか。これで強くなっていると信じてますよ!?」


■ 2014/11/3 10:10 やねうら王の昨日からの修正点


・置換表サイズ → 最大8GBしか確保しない問題は変更後のテストが大変なので修正せず
・持ち時間配分 → まあ、あまり序盤の時間を減らすと弱くなる気がするので、これも変更せず。200手オーバーにならないことを祈ります。
・秒読みの修正 → 秒読みの修正は、変更後の動作テストにいろんな条件があって、テストサーバーなしにはテストができないので千日手にならないことを祈って修正せず。
・定跡の修正 → 代わりの定跡を用意するのは大掛かりなので定跡オフのまま。


読者「要するに何も修正してないのか?」
やね「は、、はい…」


■ 2014/11/3 10:20 習甦の定跡


習甦は定跡を棋譜(プロの棋譜?)から序盤の32手目までを定跡とするらしいです。ただし悪い手もあるので実際にdepth = 12で探索してみて、その評価値を記録しておき、評価値が悪い手は採用しないとのこと。複数の指し手の候補がある場合、評価値のいいほうを採用するなどしているとのこと。(たぶん、複数の候補がある場合、評価値が一定のマージン内であれば乱数で選択?)


そうすると、指し手がそこそこばらけて、いろんな戦法を採用するので、前回、プロの先生には好評だったとのこと。


な、、なるほど。それなら速攻、実装できそうですね。参考になりました。


■ 2014/11/3 10:23 やねうら王 vs AWAKE


上位の順位のソフト開発者が振り駒をすることになっているので、私の振り駒。


相手のソフトはAWAKE。巨瀬さんは奨励会出身。そんな人相手に自分が振り駒なのは緊張しますが、まあ、指すのは私ではなく私の作ったソフトですしね…。


そして、私の振り駒の結果、やねうら王の先手となりました。


さっきAWSから落としてきたバイナリに差し替えたら、後手だと62銀を選んでしまうようだったので(一方的に守勢に立たされる)、ここで先手を拾えたのは大きいです。



■ 2014/11/3 10:30 AWSは高くない!?


平岡「AWS、高くないですよ。1ヶ月に3万ぐらいしか、かかりませんよ」
やね「あれ?そうなの?」
平岡「spot instanceとかreserved instance活用して…」
やね「活用してないです…」
平岡「複数の安いspot instance借りて、PC並列化して…」
やね「学習の並列化してないです..」
平岡「借りるOS、Linuxの場合なお安く」
やね「Windows借りてます…」


同じリージョンに借りればリージョン内のネットワーク転送には料金は発生しないので、安いinstanceを借りて学習のPCの並列化をするのが常套手段のようです。してません。Linux?なんですかそれ。


そんなわけで今日は少しでも勝ってAWSの料金を回収したいです。


■ 2014/11/3 10:35 N4Sは自己対戦ができない!?


杉田「(改良後の)自己対戦ってどれくらいやってます?」
横内「(ほとんど)やってないです」
杉田「え」
横内「1台でできないので…」


メモリを46GB程度使うので1PCで2つ思考エンジンを立ち上げるにはその2倍のメモリが必要だという…ことのようです…。


■ 2014/11/3 10:40 いまAperyの5位力が試されている


なぜか平岡さんがAperyが5位になると信じて疑っていない感じがするのだが、「やねうら王 > 習甦」(昨日の私の生放送での発言より)で、「Apery > やねうら王」(だと平岡さんは信じている)ので、つまり平岡さんの頭のなかでは


Apery >>>(越えられない壁)>>>習甦


ということなのかな…。私もそのポジティブさを見習いたいと思います!


■ 2014/11/3 10:45 やねうら王側の作戦?


やねうら王、先手が引けたので普通に戦えば善戦が期待できると思ってます。


たぶんAWAKEはPonanzaよりR100ぐらい強いと思うのですが、Ponanzaとやねうら王はそんなに差はないと思うので、AWAKEにも3,4割ぐらいは勝てると思うんですが…。


■ 2014/11/3 10:50 コンピューター将棋ソフトの棋力上昇バブル


平岡「ここにきて1年間のソフトの棋力上昇バブルが来てますねー」
やね「この調子だと来年はどのソフトも飛車一枚ぐらい上がるんじゃないですか?」
平岡「飛車一枚というとどれくらいのレーティング?」
やね「R600〜1000ぐらい」
平岡「上がりますかねー」
巨瀬「600はきついかな…上がってもせいぜい400ぐらいじゃ…」
平岡「400はいけるんだ!?」


■ 2014/11/3 11:56 AWAKEの読み筋に千日手


AWAKE側、若干不利だと見たのか、AWAKEの読み筋に千日手に持ち込む手順が..。


■ 2014/11/3 12:10 AWAKEが千日手に持ち込みます


40手目AWAKEの65銀は千日手狙い。やねうら王は自分がやや有利と見ているのでこれを打開する手順を必死に読んでいますが、マイナスになる変化を見つけてしまうと、打開せずに千日手を選んでしまう可能性があります。いま、そのギリギリの局面。評価値は8〜50あたりで若干プラスと読んでいますが..


やねうら王は43手目、角で銀を食いちぎって手をつなげる道を選びました!これで千日手は回避されました。私としては一安心。


AWAKEはこの千日手の打開は無理と見て、やや自分が有利だと見ているそうです。さて、この勝負、どちらの主張が正しいのでしょうか…!?


■ 2014/11/3 12:15 持ち時間が逆転しました


やねうら王側、定跡をオフにしていたため15分ほど序盤でロスしましたが、AWAKEの指し手がponderで当たり続けたため、残り持ち時間が逆転しました。


やねうら王 残り持ち時間 1:39:04
AWAKE 残り持ち時間 1:16:23 考慮中


■ 2014/11/3 12:30 つづき


現在、57手目。やねうら王は互角と見ていて、AWAKEは自分がやや有利と見ているようです。


やねうら王側はponderが当たり続けて、思考時間的にだいぶ得しました。形勢はともかく、これはとても幸運でした。


やねうら王は60手目〜120手目あたりの思考時間を(他のソフトより)少し多めに設定しているので、このへんからねじりあいになるなら、持ち時間がたくさんあるのが生きるかも知れません。


やねうら王 残り持ち時間 1:33:31(序盤で15分ロスしたにも関わらず)
AWAKE 残り持ち時間 1:08:41


■ 2014/11/3 12:45 やねうら王やや不利


88手目。やねうら王側の評価値(自分から見て) -300ぐらい。AWAKE側の評価値(自分から見て) + 500。AWAKEはseldepth(探索時の選択読み深さ) = 50手。やねうら王は42手ぐらい。こういう局面ではseldepthが深い設計になっているほうが、斬り合い後の形勢が正しく判定できることが多いみたいですね。うーん、そうか…。


■ 2014/11/3 13:00 やねうら王側のponder


やねうら王側のponderが当たり続けます。思考時間的にはすごく得をし続けています。じっくり考えれているので、いきなり形勢を大きく損ねることはないのかも知れません。不利ながらも、これ以上差をつけられないようにぴったりついていっています。


ponderが当たり続ける局面 = 読みが一致する局面 = 一直線の変化 = seldepthが大きくなるような探索の設計にしているほうが得な局面


ということでponderが当たり続けるやねうら王の得と、AWAKEのseldepthが当たり続ける得とがあって、この展開はどちらにも得があります。


■ 2014/11/3 13:30 やねうら王負けました


AWAKE側が次の一手問題集のような手を連敗して鮮やかに寄せ。102手目で2分46秒の考慮時間でAWAKEが読みきりました。mate 63。どう応じても63手以内に詰むということです。すごすぎ。


AWAKEはこのあと決勝でPonanzaと当たります。ここでPonanzaを倒せば最強の名を欲しいままにできます。AWAKEの優勝に期待してます!


■ 2014/11/3 13:50 AWAKEは受け棋風か?


やね「AWAKEって棋風的に受けが好きですよね」
巨瀬「floodgateだとPonanzaとかが攻め好きなので結果的に受け将棋になるだけで、受けが好きというわけでもないです」
やね「そうなんですか。攻め棋風と受け棋風とでは探索パラメーター調整の仕方が違ってきますよね?」
巨瀬「そうですね。受け棋風で危険な枝刈りをやりすぎてしまうと、見落しが発生しやすくなるので…(受けでの見落しは頓死につながるので)」
やね「なるほど。そういう意味ではPonanzaは攻め向きに探索パラメーターを調整してるんですかね」
巨瀬「そうでしょうね」


■ 2014/11/3 13:52 AWAKEの寄せがおかしい件


AWAKE vs やねうら王戦の、最後の寄せ、114手目、直前の手が王手になっていないので同玉と応じる必要はないのですが、ここを同玉と応じているのは、勝ちを読み切った時点での置換表の指し手を信じているからなのだそうです。


やね「それ、置換表のエントリー、ハッシュ衝突で破損している可能性が極めて低い可能性ながらあって、危険だから読み直したほうがいいですよ。」
巨瀬「そうですか…」


■ 2014/11/3 14:30 やねうら王 vs Selene 3位決定戦


私の振り駒の結果、Seleneの先手に決まりました。やねうら王のほうは、後手で自ら考えさせると変な手を指しやすいので、定跡を使おうかと考え中ですが、定跡を使う場合、76歩に対しては62銀と指しやすく、一方的に守勢に立たされる変化になりやすいようです。26歩としてくれれでよくある形になりやすいのですが…それでもなかなか互角の局面にもなりにくく…。


いまSeleneの過去の棋譜を確認しながら、定跡をオンにするのが得なのかどうかを考え中。


→ 定跡をオンにすることに決めました。


この選択が吉と出るか凶と出るか…。


■ 2014/11/3 14:40 Ponanza vs AWAKE 決勝


振り駒の結果、AWAKEの先手。本局、AWAKEの攻め将棋が初めて見れるかも知れませんね。


さきほどのやねうら王戦のときに書くのを忘れていましたが、巨瀬さんは、AWAKEの後手は乱戦になりやすい定跡を手で入れているそうです。


※ 乱戦にしたほうが後手という手番の損がぼけやすいので、という意味。


やねうら王は横歩を取らなかったため、乱戦にはならなかったようですが。


さて、AWAKEは先手はどんな定跡が入っているのでしょうか。対局を見守りましょう。


■ 2014/11/3 15:15 やねうら王 vs Selene戦つづき


やねうら王側の定跡で矢倉模様に。互角ぐらいに進行して一安心。Seleneの指し手がやねうら王のponderで当たり続け、やねうら王の消費時間5分に対してSelene25分以上の消費。


手数もそこそこ伸びそうなので、この進行ならやねうら王側、後手番の損ぐらいは取り戻せそう。


■ 2014/11/3 16:55 やねうら王優勢


現在80手目。やねうら王、かなり優勢。


ただし、やねうら王は攻めを切らせて安全勝ちを狙っているようなのだが、入玉も見えていて、下手すると入玉を目指して256手に達する恐れが出てた。


あと、手数が伸びてきたので消費時間的な部分でも切れ負けになる可能性が。また、相入玉になって、CSAルールによる宣言勝ちになるかも知れないが、そのへんの動作チェックあまりしてない&本対局の設定をCSAルールにしてたか覚えてない。(やねうら王は24点法・27点法・トライルールを設定で切り替えることができる)


やねうら王の作者的には、この状況、何も楽観できない。


■ 2014/11/3 17:16 やねうら王の寄せが怖すぎる


102手目。安全な簡単な勝ちがありそうだが…。


評価値上はやねうら王+1900なのだが玉を上空に逃す変化。これ、寄ってるのかなぁ。入玉される対策してないんだよな..。(前してたけど、今回評価関数を変えたときにやめちゃった)


駒をぼろぼろ取れるだけにやねうら王はえらい変化に飛び込んでしまった予感。


Seleneの評価、マイナスながら少し点数が戻ってきたらしい。なにこれ、やばい..


このまま256手にいく可能性、相入玉の可能性、CSA宣言ルールの説定ミスで負ける可能性、時間切れ負けの可能性、いろいろ見えてきた。


124手目、やねうら王、本局はじめての5分以上の大長考。ど、、どうしたのだ…。


■ 2014/11/3 17:45 やねうら王勝ちました


危うく入玉させるところでしたが、やねうら王、なんとか寄せ切ることができました。Seleneに勝って、やねうら王3位確定。


応援していただいた皆さん、ありがとうございました!!


■ 2014/11/3 17:55 AWAKE vs Ponanza戦


AWAKEがPonanzaを制して優勝!
AWAKEの巨瀬さん、おめでとうございます。