電王戦 第三局の感想

大阪戻ってきました!開発者サイドの感想として書きたいこと、書かなければならないことはたくさんありますが、取り急ぎ、開発者だから言えることを4つだけ書きます。

27歩は悪手ではない可能性

本譜、27銀成とやねうら王が2筋を突破してそこでやねうら王の評価値がプラスに転じたと記者会見で私が言ったこともあってか、直前の先手の27歩が攻めを呼び込んだ悪手であったかのように言われています。(「27歩で攻めを呼び込んで何がしたかったんだ?」etc…)

しかし、この時点ではやねうら王の評価値的には優勢ではなく、微差でした。
やねうら王は飛車を成ってもまだ形勢をほぼ互角と見ていました。

つまり、飛車を成らせたこと自体は悪くなく、74歩〜85桂の攻めが一つの勝負どころだったのかなと私は捉えています。そしてそのあとの49桂で、ここで急激にやねうら王の評価値が上がりました。やねうら王は49桂に代えて39銀打で難しいと見ていたようです。しかし49桂でも本譜のように入玉が絡むので49桂が悪手かどうかはやねうら王の棋力では正しく評価できていない意味があります。

なので、飛車を成ってからの数手の攻防で明暗分けたのかなと思います。人間的に見ても、ソフト的に見ても、攻めの手順の組み合わせが多く大変指し手が難しい局面なのだとは思います。

見よ!これが、300億局面を調べた指し手だ!

本局ではやねうら王はいくつものラッキーがあったのですが、一つ目は、電王手さん+私の指し手入力にかかるタイムラグによって(事前貸出において稲葉先生が即指されていたときとは)読み筋が変わって指し手が変化した30手目の43銀。(ほんの直前まで72玉の予定)

二つ目は、40手目の24飛です。これは、将棋所上では、やねうら王がお昼休憩に入った直後に指しました。お昼休憩は思考時間にカウントしないのですが、そうは言っても将棋所上での時間は減っていきますから、持ち時間が減ったと錯覚し、その時間の分だけやねうら王は早いタイミングで1分将棋に突入してしまいます。

そういう意味ではお昼休憩に入って直後に指したことにより、この持ち時間が減ったと錯覚するのは防げました。それだけではありません。24飛に対してponder(予測手)が28歩。ここはプロ的には27歩とは受けたくないところだと思うので、ponderの28歩は100%当たると思っていました。そして、昼食休憩後、電王手さんが24飛と指し(昼食休憩中は電王手さんの動きが保留されている)、稲葉先生がしばらく考えられて28歩。この間、1時間強。1時間以上、やねうら王はこの次の一手のことだけを考えていたわけです。

長い時間考えても指し手が短い時間のときと変わらないことも多々ありますが、まれに変わることがあります。逆に言うと、長い時間考えたのに指し手が変わらなかったのであれば、その時間考えたのはまるっきり無駄です。時間を損しただけです。

ところが長い時間考えて、指す直前に指し手が変化したとします。このとき初めて、長い時間を考えた効果があったということになります。

やねうら王は一時間以上を費やし300億局面以上調べることが出来ました。(8Mnps×3600秒=288億)

そしてこれまた指す直前にひねり出した指し手が13角。そこまでは全く読み筋にも現れなかった指し手です。(そこまでは42金と金を寄る指し手などが候補手に上がっていたと思います。)

300億局面も読めない私には、意味はもちろんわかりません。しかし、これが悪手である可能性は極めて小さいです。何せ300億局面もこの1手のために調べたのですから。

おそらく…おそらくですが、このあとさらに300億局面調べたとしても13角に変わりはないと思います。長い時間考えたときにそれほど指し手は変化しないのが普通だからです。つまり、指す直前で13角に指し手が変わったというこの13角は2時間以上長考したのに値するような指し手なのです。

このように昼食休憩に入った直後に指す+ponderが当たるというラッキーに加えて、この局面が戦いが起きる直前の、1時間考えるに値する局面であったことというラッキー、1時間強の思考で指す直前に指し手が変わるというラッキーがありました。

人間、持ちあわせている幸運の総量と不運の総量は等しいという説を私は信じているのですが、この現象を目の当たりにして「こりゃ、帰りの飛行機、墜ちるな…」と思いました。

先手が一貫して入玉を狙っていたらどうなっていたのか

やねうら王は相入玉は少し苦手ですが、入玉阻止自体は本譜のようにそこまで悪くないです。

まあ、取り逃がしても本譜は駒点が足りないので長引くものの、256手まで行って立ち会いによる判定勝ちにはなると思っていました。(やねうら王は相入玉は目指さないかも知れません)

一般的に、将棋ソフトは序・中盤では1手あたりの考慮時間を長めに取り、終盤の時間を減らすように調整するのですが、こういう将棋だと終盤の指し手がガタガタになります。

それは序・中盤に比べて終盤の1手当たりの思考時間が少ないということのほかに、序・中盤に比べて、終盤は持ち駒をたくさん持っていますから、駒打ちがあって局面の分岐数が大きくなり、深くまで読めなくなるという事情もあります。

さらに、本局のような展開だと、人間の指し手が全く当たらないので、ponderが当たらずに読み直しになります。何故全く当たらないかというと、人間のほうが入玉勝負は遥かに上手いからで、そもそも上手い人の指し手がponderで当たり続けるのであればそのソフトは人間並の指し手であり、そのソフトも入玉が上手いはずです。

つまり、入玉が下手である将棋ソフト(将棋ソフト全般)は、入玉将棋においてponderはなかなか当たらないのです。

この3つの理由により、かなり浅めにしか読めなくて、(評価関数は昔の将棋ソフトよりは改善されているものの)とり逃す可能性は大いにあると思っていました。

やねうら王は何故即詰みに討ち取らなかったのか?

最後の投了図の1手前の局面はやねうら王はmate 17と見ています。最長でも17手以内にどう応じても詰むということです。

あの局面は即詰みがあるんじゃないのかと言われるかも知れませんが、即詰みより必至を経由した短い寄せがあるなら、やねうら王はそちらを選ぶことが多いです。

また、私も長手数の即詰みより、短い手数で読みきって勝ちならそっちを選んだほうが良いと考えています。

なぜなら、将棋所で最低でも1手には1秒を要するので、例えば63手の即詰みには(自分の手番の指し手が32手ですから)32秒を要することになります。切れ負けしてしまいかねません。なので、勝ちを読みきっているなら、ソフトは(選べることなら)短い手数のほうの手順を選択すべきなのです。詰将棋探索、糞食らえなのです。

続きはまた明日以降!

取り急ぎ、将棋の内容で書きたかったのは以上、4点です。
将棋の内容以外のことは明日以降、ぼちぼち書いていきます。

対局してくださった稲葉先生を始め関係者の皆さん、お疲れ様でした!


電王戦 第三局の感想” への53件のコメント

  1. 当日の服装にスーツや和服ではなく電王トーナメントのときに着用された服を選択(洗濯)された理由を教えていただけませんか?

  2. まだまだ電王戦はこれからという時で恐縮ですが、電王戦リベンジマッチについてお聞きしたいです。
    やねうらおさんは棋士側に、コンピュータ将棋に精通している攻略という立場の人物が足りないとお考えだと思いますが、そのアドバイザーとしてやねうらおさんが選ばれ(または立候補し)て、電王戦Finalで惜敗した棋士&やねうらおペアvsその棋士が負けたコンピュータソフトと言う企画はいかがでしょうか?
    やねうらおさんの足りない棋力を棋士が補い、やねうらおさんがそれを元に攻略の穴を見つける感じで。
    うまくいけば、お金をもらいながらソフトの研究が出来て悪くない可能性があると思いますがいかがでしょうか。

    • 私がアドバイザーに入るとプロ棋士の勝利確率が上がりすぎて(勝てる確率100%)ヤバイです。そして、観客からのブーイングもヤバイです。見られたもんじゃないです..

      • それは凄いですねぇ
        そこまでなら是非コンピュータ将棋対策を披露して欲しいです

        以前話されていた、将棋ソフト同士を対戦させて探索木を作る方法などでしょうか?

        • ゲームツリーの生成を自動化するのはもちろんですが、それはまだ序の口です。ゲームツリーを組み合わせ爆発させないことが「100%勝てる」攻略法の要の部分なのです。

          • なるほど。やねうらおさんがあまり乗り気ではないというのは返信でわかりましたが、観客がブーイングと言うのは、恐らく、そういう観客がすべてではないと思います。
            もし、ドワンゴさんと連盟が許してくれるのならば見てみたいです。
            おそらく披露されたらブーイングなどしている暇などなく、何が起こったのかわからずコメ欄で騒ぐか、なるほどわからん状態であんぐりしてるとおもいます。
            やねうらおさんはcom側ですが、これが実現すると逆に、限定条件であればcomはまだまだ人間には及ばないという証明になってしまうかもしれないところが、また面白いところです。
            あーみたい。

      • こんにちは 勝利おめでとうございます
        将来やねうら王が進化したら、やねうらおさんがアドバイザーになってもプロ棋士が勝てないようになるのでしょうか?それともやねうらおさんなら、ソフトがどんなに強くなってもプロ棋士が勝つようにアドバイスできるのでしょうか? 
        やねうら王 VS やねうらおというご自身のソフトとの戦いはどちらに軍配があがるとお考えですか?

          • 今回のような「デンソーさんありがとう効果」も考慮に入れる為には棋士側が指した後の開発者の手入力時間と電王手くんの動作時間もエミュレートしなくてはいけませんね。

            それから、「電王手君が動き始めてから1分後にこちら側の手を指す」というように前もって棋士側の反応時間もきめておかないと「使い物になるゲームツリー」が作れないように思いますが、いかがなものでありましょうか。

      • ポナンザの勝ち方、すさまじいものがありましたね。
        まるでかつての三浦 GPS戦を見ている様でありました。

        相手の村山さん、よく研究されていたと思うのですがやはり途中から外された様です。
        この対局結果を見るにつけ、ポナンザを完全研究して100%負かす事などとても無理のように思えるのですが、、、。

        電王戦という棋譜生成システムは人(棋士)->人(開発者)->将棋ソフトー>電王手くんと4つのコンポーネントからなっており、1サイクルまわると盤面が2手進みます。
        各コンポーネントの中で将棋ソフトだけはクロックでかなり正確に時を刻めますが、それ以外の3つのブロックはどうみても±2秒ほどの範囲でしか時間制御できない”物理ブロック”に見えます。

        ですのでシステムの挙動推定の安全率の確保のためにはつなぎ部分には±4秒ほどはマージンが必要でしょうか。
        そうして問題の昼休み。いったいどちらの手番でそこに突入するかはほとんど運任せになりませんか。

        人(棋士)が一手1分で指すとしてもソフトは5時間つかってくるので、一本の筋を確認するのに少なくとも6時間程度は必要になりますし。
        この時間的にゆるゆるのシステムの挙動を前もってすべて解析しつくすにはいったいどれくらいの時間がひつようなのか、検討もつきません。

        それでも本当にこのゲームの攻略は100%可能なものなのでしょうか?
        なかなか私には信じられないものが残るのでありました。

        • > つなぎ部分には±4秒ほどはマージンが必要でしょうか。

          序盤では1手5分ぐらい考えてますよね。5分に対して±4秒は誤差で、この±4秒で指し手が100%に近い確率で変化しない局面はたくさんありますので…。

          • さてそうでありましても、やはり私としては「バタフライ効果」推しであります。

  3. 前回(第3回)といい今回といい、なにゆえにそれほど戦運が良いのでしょうか?

    特に今回は直前まで「負ける」と本気で思われていたと推察しますが、、、。

      • 想定外の答えでした。

        どうやらわたくしごとき常人では理解できない所にお住まいのようであります。

      • まずは対局お疲れ様でした。
        当日は駒を並べながら拝見しておりました。

        ここまでいろいろな要素が関係した上で勝ちとなったことは、決して幸運という言葉だけで結論付けられるものではなく、
        やねうら王の、コンピュータソフトの力を出し切ることが出来たものだと思います。
        また、このブログでご紹介、ご教示いただいていた、
        例え1秒でも探索時間が増加することで、指し手に多様性が生まれる(深く読める)ことや
        指し手候補の収束に関する具体例を拝見できたことも、大変勉強になりました。

        例え多くの不運を背負っていらっしゃって、過去が呪われていたとしても、
        他の人を貶めることなく、ご自身をしっかり持たれた上で、
        今を、そして今後を見据えて行動していらっしゃるやねうらおさんを私は尊敬いたします。
        私もその姿勢を見習わせていただきたいと思います。

        まだ2局残っていますが、この壮大なドラマを紡いでいらっしゃる開発者の皆様、棋士の先生方、関わるすべての皆様に感謝したいと思います。

  4. 投了図はどう受けても5手以内に詰んで,先手の王手ラッシュで伸びる手数は6手だと思うのですが,”短い寄せ” の意味は2+5<17と2+6+5<17のどっちでしょうか?

    • 王手ラッシュでもっと伸びるんじゃないですか?55馬もありますし、そのあとその馬を切ってその駒でまた王手したり…。あと延命のほうも「どう受けても5手以内」ではない気が。33馬は55馬の王手でどかせますから。

      正確なことは検討してないのでわかりません。間違ってたらスミマセン。(´ω`)

      • すみません,適当に読んじゃいました。質問の意図は”短い寄せ”に相手の無駄な王手も含めて短いという意味かということです。
        投了図から一番長いかは分かりませんが,▲5五馬△同歩▲7三銀△同桂▲8一金△同玉▲8二歩△9二玉▲2五玉△4三角▲3四香△3五金▲同歩△2六金▲2四玉△1五角とかで,手数が19手以上にならないので必至を選んだが,王手ラッシュでもっと伸びた場合は即詰みの方を選んだのかなと思ったので。

        • > ”短い寄せ”に相手の無駄な王手も含めて短い

          はい、その意味です。

          > 王手ラッシュでもっと伸びた場合は即詰みの方を選んだのかな

          はい、その可能性はあります。このへんは探索技法の色んな問題が絡むので一言では言えないですが…。

  5. そういえば、昼食や夕食休憩の処理って普通のコンピュータ将棋にはない電王戦特有のルールですね。

    記事を読む感じやねうら王は休憩向けの特別な処理を行っていないようですが、昼食休憩開始・終了時の信号を送ってもらったり、それに向けた思考時間調整等の処理は実装できる仕組みはあるのでしょうか?

    まぁ、人間は休憩と食事という作業が必要なので、昼食中フル思考するコンピュータは休憩中の特別な処理無しぐらいがちょうど公平なんですかね。

    • > それに向けた思考時間調整等の処理は実装できる仕組みはあるのでしょうか?

      思考エンジンと将棋所はUSIプロトコルというプロトコルでやりとりしていて、この間に今回の場合ドワンゴ製のブリッジが入ります。

      このブリッジが思考エンジンに対して「はう〜、休憩時間だよ〜」と送ってくれれば良いだけなのですが、この指令に思考エンジンを対応させなくてはならなくて、本番環境がない状態で下手なコードを書くとそこがバグらないとも限りませんので…。

      > コンピュータは休憩中の特別な処理無しぐらいがちょうど公平なんですかね。

      そう思います。

      • 昼食・夕食休憩の時間がきっちり決まっていれば、思考エンジン単独で内部タイマーをつけて「何時から何時の間は休む」という処理を加えれば、ブリッジ関係なく思考時間を管理できるのではと思ったんですが、いかがでしょうか? ……これすると貸出時の練習対局までその設定のままで、使いにくくてアウトだったりするんでしょうか。

        • ・十分にデバッグしないと本番で何かバグりそうであります。
          ・5人の開発者それぞれにその開発をさせるのはリスクがあります。
          ・その開発は電王戦でしか役に立たない開発です。開発者が嫌がります。
          ・(おっしゃる通り)貸出のときに使いにくそう
          ・本番環境、ネットワークからは遮断されているので(思考エンジンが勝手にオンラインアップデートとかして差し替わるとまずいので)、PCの時刻が外界とずれています。(第三局のやねうら王のPCも2分ほどずれていました)
          etc…

          • もし、USIが両対局者の消費時間を返してくれれば、エンジン側は定期的に消費時間リセットするだけで、この辺対応しなくて良くて楽だなー、とか思いました。稲庭対策で相手の消費時間が1秒か2秒か知りたい、以上に一般化可能な話ではw

          • エンジン側、もともと消費時間は持ってないですね。USIプロトコルで1手ごとにgoコマンドとともに残り時間がやってきますので…。
            将棋所とサーバーと通信するとき(CSAプロトコルなんですかね。よく知りません)にサーバー側からサーバー側計測での消費時間が返ってきて、将棋所はそれに合わせて残り時間を調整してくれればいいと思うのですが、現状そうなってないようです…。

          • なるほど、そういう仕様なんですね。少し勘違いしていました。ありがとうございます。

  6. やねうら王さん!勝利おめでとうございます

    コンピュータ将棋の思考傾向などから、(人間の)効果的な棋力アップ方法はあるものでしょうか?

    これまでの一般的な将棋の勉強法とは違ったアプローチが出てくるのではと期待してます

    • 電卓の演算結果をいくら眺めていても暗算は一向に速くならないのと同じでコンピューターといくら対戦しても人間はそこから学習するのは難しいのではないでしょうか…。(コンピューターの生み出した)棋譜からは手筋や勝ちやすい戦型などについては学べるかなと思いますが。

      • 次の一手が複数想定可能な将棋というゲームでは人の勝手な(あるいは伝統的な)思い込みを指摘してくれるCOM君は「ありがたいトレーナー」かと。

        ですからそれなりのテーマをもってCOM君に向き合えば、「その人の思考の幅を広げる」という効果は確実にあると思うのですが、いかがなものでしょうか?

        • 私自身は実戦形式でやらなくとも、ソフトの指した棋譜から学べばいいかなという気はするのですが、棋譜にMultiPVで思考した上位5つの指し手とその評価値がついているとより参考になるかも知れません。

  7. 磯崎さんお疲れ様でした。
    磯崎さんの発言からやねうら王は容易になぞれる若しくはなぞりに近いことが出来ると考えていたので、まさか勝つとは思いませんでした。
    会見のコメントを聞くまでは稲葉さんが力勝負で勝負したかったから力勝負になり負けたのだと思っていました。
    ところで本題ですが会見の時には磯崎さんは何をしていたのでしょうか?w
    会見で喋っていたのは磯崎さんによく似たクマのぬいぐるみだったと思うのですが…。w
    磯崎さんから八百長ルール発言が飛び出すかどうかドキドキしながら見ていたのですが残念です。

      • 事前貸し出しの影響や対策の説明で、これは通常の勝負ではない、という主張は、棋士や、あるていどコンピュータ将棋に詳しい人には十分伝わったと思います。

        それを、やんわりと伝えていらしたのは、ボディブローのような効果があり よかったのではないかと。(1戦目、2戦目も、、、という)

        来年も違う形で、何らかのイベントがあると思います。応援しますので参加してください。

  8. 1. 時間の使い方の戦略、2.入玉阻止戦略への切り替えや、偽の入玉狙いの見極め、3. 計算量爆発の誘導や回避の仕方、などが今後の課題になるのでしょうか?
    同一局面誘導や、中あいや、ただ捨てなどにより本筋の思考時間を稼いだり、256手になる前に相入玉の形を壊したり、打ち歩詰め回避の為の不成のパターンを学習したりと、通常の将棋とは異なるゲーム戦略が必要になりますね。

  9. 勝利おめでとうございます&寒い寒い北海道での試合お疲れ様です。

    プロ棋士と試合してみて、次元下げの感触どうでしたか?

  10. もうファイナルなのでおしまいですが、指し手入力を画像解析に任せることで今回のような偶然は防げるのでしょうかね。
    ほんと勝負の綾はその誤差でしたよね。

  11. >対してやねうら王は1三角、この手も稲葉はありがたく感じた。
    電王戦FINAL第3局観戦記 船江恒平五段  より引用
    http://news.nicovideo.jp/watch/nw1526038

    やねうら王おすすめの1三角は棋士には「ありがたい手」に見えたと。
    やねうら王トラップ炸裂の瞬間でありました。

    • 13角、46歩の突き捨てと関連して、非常に意味のある手だと私は思っています。24の飛が13角の利きを止めていますが、24の飛は何かのときに移動するのでそれは問題ではないと私は考えています。そういう意味ではそこまで感触の悪い指し手ではないと思うのですが…。

      • あの、「プロ棋士の第一感をあざむいた、すばらしいやねうら王の一手なのではないか」というのが私の主張なのですが、、、。

        そして観戦記ではプロ棋士さんは「そこで気が緩んだ」と読めました。

        • 私は13角は、「プロ棋士の第一感」を「あざむいて」なくても、素晴らしい、やねうら王の一手なのではないかと思ってるんですが(^^;

          まあ、私の棋力ではよくわかりません…。

  12. >見よ!これが、300億局面を調べた指し手だ!

    見ましたがどういう意図がやねうら王にあったのか理解できません。

    どなたか理解できた方、ぜひとも説明をお願いします。

    • 私もよくはわかりませんが、46歩と突き捨てて、同歩、同銀のような変化のときに(46には先手の飛車の横利きがあるとして)銀に紐をつけている意味があって、このように46銀と進める効果があるようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です