電王戦 --- 将棋電王トーナメント --- やねうら王特設ページその3


■ 2013/11/01 11:40 前記事が長文になりすぎたのでまたもや新しいページを開設。


前記事)
電王戦 --- 将棋電王トーナメント --- やねうら王特設ページその2
http://d.hatena.ne.jp/yaneurao/20131028#p1


前記事の内容を三行で要約。


・予選で通信遅延のために切れ負けしないことをお祈り
・本戦で三枚目の角を打ったりしないことをお祈り
・明日以降まだソースコード、全力で改良する ← New!!


今日は、東京に移動するのでこの記事の更新はないです。明日は、会場から更新する予定です。


■ 2013/11/01 20:33 電源がないとか


直前にホテルを予約したため、安い宿は質の悪いところしか残っておらず、電源コンセントすらないのだ。こんなことなら新幹線で充電しとくんだった。モバイルバッテリーは持っているのでiPhoneiPadは10時間ぐらい使える。


ノーパソのバッテリーが切れたら仕方ないのでiPhoneテザリングを有効にして、iPadで自宅のマシンに接続して開発しようと思う。


それかいまからドワンゴに行って、電王戦トーナメントの動作テストと称して適当に動作テストがてらバッテリーを充電して帰るかだ。いや、正直に話しせばいいではないか。


ドワンゴの人「ああ、電王戦トーナメントのセッティングのため来られたんですよね?」
私「いや、私が欲しいのは電源だ。満タン頼む。」


なんだこれ。かっこわるー。


それはそうと、ノーパソでこんな馬鹿な文章書いている時間のバッテリーも惜しいので作業に戻る。とりあえず、Dropboxに書きかけのソースコードはあるので、これをコンビニのプリントサービスに仕込んで、印刷して、それで机上デバッグを出来る限り行なったあと、ノーパソで入力 or iPad(+Splashtop)で家の開発マシンに接続しての開発だ。


■ 2013/11/02 9:08 ドワンゴなう


道に迷いましたがドワンゴにつきました。


途中、「すばせか」(ゲーム「すばらしきこのせかい」)の舞台となっている場所がたくさんあって感動しました。聖地巡礼って楽しいですね。私はすばせかはiOS版、やりこんでました。実績全解除のために、iPadを自動で振り続ける機械をレゴのMindstorms NXTで作ったのが懐かしいです。


以下の動画は私が以前作った、別のゲームのための自動連打装置。


そういや、すばせかのなかで1分ぐらいかけて移動しているマップ、実際に歩いても10分〜20分ぐらいなんですね。昔のドラクエとかだと一歩で町一個分ぐらい移動する感じのスケール感なので、ずいぶん距離感が違うなぁと思いました。


■ 2013/11/2 10:00 いまからテスト対局開始です


テスト対局は将棋所を使っている場合は、「サーバー通信対局 (floodgate)」を使うのですが、これだと思考エンジン側の持ち時間を設定できません…。秒読みの秒が切り捨てなら、+1秒多めに設定しようと思っていたのに…。


1秒ぐらいなんだと言われそうですが、15分+秒読み1手10秒ですと間違いなく秒読みになるので、終盤で9.7秒と10.7秒とではずいぶん勝率が変わってきます。


これは、将棋所でどうにもならないとしたら、思考エンジン側の設定ダイアログでサーバーから送られてくる秒読み設定を無視するオプションを用意すべきなんでしょうね…。


■ 2013/11/02 10:50 うわー。時間切れになった…。


練習試合、秒読み10秒のところで、やねうら王、時間切れ負けになった。思考を返すのに9.7秒で返して、10秒かかってタイムアップのようだ。うわー。これはキツイ…。急遽、秒読みの端数、0秒(9.0秒)で指すように設定を変更したが、これでうまくいくかどうかテストする時間がないのでわからん。うわーん。これは終わったかも知れん。


ドワンゴのテスト用のサーバー、事前テストで弱いテスト用のソフトしか走ってなかったので、秒読みのテストが出来ていなかったのだが、まさかこんな罠が…。これは全敗もありうるな…。やねうら王、9.0秒未満にする設定は用意してない…。将棋所が思考エンジンごとに秒読み設定させてくれるといいのだが…。くそー。1回戦、これで駄目だったら、コンパイルしなおして、秒読み10秒なら8秒と認識するように変更するか…。


うわーん。これはあかんかも知れん。応援してくださってる方々、ごめん…。


■ 2013/11/02 12:10 第一回ツツカナ戦


うわーん。秒読み1回目で時間切れ負けしたよ!ヽ(`Д´)ノウワァァァン!!


ちなみに形勢はほぼ互角。ツツカナのほうは15分切れ負けぐらいの時間配分で使っているらしく「持ち時間と秒読みとの比率がこれくらいならもっと使う戦略にしないと損ですよ」とかツツカナの作者にアドバイスをして、自分が秒読み1回目で切れ負けしてたら世話ねーわ。


とりあえず、プログラムをコンパイルしなおして、秒読みは2秒マイナスするように変更。つまり秒読み10秒なら8秒目で指すように変更。これで切れ負けだけなければそれでいいですわ。もうスピリアが折れましたわ…。


■ 2013/11/02 14:30 第二回 Labyrinthus , 第三回 カツ将棋 , 第四回 メカ女子将棋


三局とも勝ちましたが、秒読みになる前に勝ったので、やねうら王が秒読みにおいて切れ負けにならないかどうかわかりません>< このあと秒読みに入った途端、一手負けもありえます。すみませんすみません。


ちなみに次図は第三回、カツ丼将棋に対して、やねうら王が勝ちを読みきった局面。(次の6七龍以下)



思考ログ上および、将棋所上の表示はmate 23となっております。これは、相手がどう応じても23手で詰みますよという読み切りであり、死刑宣告みたいなものです。


これは王手の連続で攻める23手詰めとは違います。途中図で詰めろや必死や、それ以外の局面も含みつつ、どう応じても23手以内に相手が詰みますという意味です。


人間が見ても寄っていることは明らかですが、しかし「どう応じても23手以内」という読みの細かさ、抜けのなさにおいて、こういうのを瞬時に読むところはコンピューター将棋は凄いなぁと感心します。


ちなみに私は先手がやねうら王だとずっと勘違いしたまま見てて、終局したときに「やねうら王、なんで終盤、バグってるんだろう…」と思っていたというのは秘密。


■ 2013/11/02 17:35 第五回 Bonanza


やね裏定跡がBonanzaに炸裂。飛車をぶつけたところ。飛車交換は陣形の差から先手有利。(たぶん) プロ棋士的には先手が一本とったところ。(たぶん)


このあと、やねうら王は3六歩を突いてBonanza側に手にされてしまう。対局中に遠山先生いわく「ここはもう少し考えたほうが良かったかな…」とのこと。


私が素人目に見ても、先手が押さえこむ展開にしなければならないのに、後手の角の転回から本譜のように手を作らせてしまうので悪手っぽい。3六歩は部分的には形だが、いまの戦い方の方針とは矛盾しているのだろう。(私の棋力ではよくわからないが)


こういう部分は読みではどうにもならず、評価関数のここだけなおすと今度は矢倉で3六歩を突かないようになったり、他のところに齟齬をきたすのでどうしようもない。まあ、いまのコンピューター将棋の(特にやねうら王の)棋力では、この優位性を実際の勝ちに結び付けられないのだろう…。


人間は「敵の攻めが細いので切らすべき」だとか、そういう方針を基に戦略を練るわけであるが、コンピューターにも局面をそのようにいくつかの方針に分類するような分類器を作ることは可能ではないかと思う。(SVMなどで)


ともかく、本局は公式の試合でやね裏定跡のような手法がBonanza相手に通用するということを示したコンピューター将棋史に残るような貴重な一局であったと思うが、これを勝ちに結び付けられなかったのはただただ残念である。


■ 2013/11/02 18:40 第六戦 クマ将棋


対クマ将棋にやね裏将棋が決まった局面。やねうら王の思考時間はここまで1手1秒(定跡DBにある手順なので) やねうら王はここまで定跡手順。定跡を抜けたところで先手ややよしの評価値。実際、右銀の活用が約束されていること、3筋の歩が交換できていることから先手優勢ではないかと思うが、この手順にするっとクマ将棋がハマる。



■ 2013/11/02 18:50 対ツツカナ戦の思考ログ


秒読み切れ負けのことばかりが頭によぎり、ショックで冷静さを失っていた私ではあるが、思考ログを読み返していると初戦の対ツツカナ戦も、やねうら定跡が一応は決まっている。しかしそのあとツツカナのほうが指し手を変え、やね裏定跡から変化し、形勢互角ぐらいの局面に至った模様。やねうら王側が1回目の秒読みで切れ負けになってしまったので決着は付かず。


■ 2013/11/02 18:50 電王戦予選トーナメント 現在の順位


1位.ponanza
2位.ツツカナ
3位.Bonanza
4位.Apery
5位.やねうら王 ← いまココ!!
6位.AWAKE
7位.YSS
8位.K-shogi
9位.習甦


残り2戦あり、やねうら王は次はYSSとの対戦。このあとやねうら王が2連敗して、かつ下位のソフトが2連勝すればやねうら王が圏外(13位以下)になり、明日の本戦に参加できなくなる。初戦のツツカナ戦で持ち時間関係のトラブルにより負けたのがこのあとどう響くのか。


■ 2013/11/02 19:45 対YSS戦


序盤からYSS相手にやね裏定跡が炸裂。作戦勝ちに。しかし力戦形に移行し、千日手を後手からどう打開するかという勝負に。やねうら王は千日手は負けスコアにしてあるのでやねうら王側は是が非でも千日手を打開しようとするが、しかし本大会は手数制限があるので、このままだとその制限にひっかかる。


YSS側が打開して、先手(やねうら王側)やや良しっぽく、終盤までやねうら王側有利だった(?)ようだが、最後にやねうら王側、秒読みで読みきれなくて受けるべきところを攻めてしまい-mate 22(どう応じても22手で詰む)の死亡宣告で終了。


将棋の内容的には大変惜しく、対YSSでもやね裏定跡が決まることを実戦で示せたが、しかし詰め将棋探索を入れていない(静止探索での3手詰めも入れていない)のが裏目に出たのかも知れない。詰め将棋探索を入れるのは良し悪しなので入れればいいというものでもない。


やねうら王が弱かった、あるいは秒読みなので仕方なかった、不運だったなどいろいろ理由はあると思うが、やね裏定跡が決まりながら勝ちを拾えなかったのは事実であり、今後、改良に努めたい。


やねうら王のほうYSSに負けたせいで、やねうら王は7位に転落。


追記) 実はやねうら王は短い持ち時間だと自玉の危険度を鑑みずに、相手に詰めろをかけてそのまま負けることがよくある。詰めろをかけたあとの即詰みぐらいもう少しチェックすべきなのだが、そこに探索時間を費やすと他のところが…みたいな理由でこの問題に手をつけずにそのままずるずるときている。さすがに短い時間のときは3手詰みチェックぐらいしたほうがいいか…。


■ 2013/11/02 20:25 第八戦 Apery


角換わり腰掛けに進行して、双方定跡手順から外れたが、また同型腰掛銀の定跡に双方、突入。そのあと、なぜかAperyが入れてはいけない定跡を入れていたせいで、富岡流の必敗局面まで双方1手1秒で進行。そのあと、数手後にやねうら王がmate23(どう応じても23手で詰み)で勝ち。


やね裏定跡の会心譜が登場し(正確に言うと、富岡流の会心譜ほぼそのままの棋譜であるのだが)、それを見ていたponanzaの山本君が「おみそれしました」と頭を下げに来た。(その前まで彼は「やね裏定跡?あれ、ネタじゃなかったんですか?」と言っていたのだが…。)


本来、Aperyはやねうら王より強いはずのソフトであり、そのソフトに対して勝てたのは非常に大きい。今後、すべてのコンピューター将棋ソフトでやね裏定跡対策(というか、まともな定跡の整備)が必須になっていくであろう。


観戦者からはコンピューター将棋ソフトの定跡の弱点(セキュリティリスク)を探しだす、アンチウイルスソフトかのようだとの声が。


やねうら王はこれで予選トーナメント4位通過!!!



なにこれ、奇跡か・・。


■ 2013/11/02 22:51 予選トーナメントを振り返ってみて


テスト対局で秒読み1回目で時間切れ、そのあと1回戦でも秒読み時間切れしたときには「このまま全敗か」ということが頭によぎり、せっかく凄く高そうなお弁当をドワンゴ様に出していただいたのに、私は輪ゴムと靴下を食べているような気分で、やねうら王の手伝いに来てくれている友人や応援してくださっている方々に本当に申し訳ない気持ちで、横にいた友人には何度も謝っていました。


しかし結果的には、初戦で負けたおかげでその後の対戦カードに恵まれたというのはありそうです。(ponanzaには当たりませんでしたし)


そして今日の最後の対局は本大会のなかでも定跡に一番穴がある(と作者自らが言っている)Apreyというのも幸運以外の何物でもないでしょう。(Aperyにとっては不運でしたが。)


今回、探索部のチューニングが時間不足で、実力的には10位程度のはずのやねうら王が予選4位通過、そして、やね裏定跡の優秀性を自ら実証し、コンピューター将棋開発者全員にその存在を知らしめ、コンピューター将棋の序盤戦略には非常に穴があることを示しました。(やね裏定跡はわずか1分で考えたアイデアですけど、こんなに成功するとは思ってませんでした。)


これにより、もう、私の大会出場の目的の9割は達成したと言っていいでしょう。あとはこのまま上位に入賞してドワンゴ様にいままで私がコンピューター将棋の開発のために費やした電気代を払っていただくだけです。ドワンゴ様、何卒、よろしくお願い致します。