スマフォの将棋ソフトの棋力の限界はどのぐらいなのか


※ 本記事は、当初、昨日の記事に書いていた内容ですが、いろいろ追記しているうちにごちゃごちゃになってきたので別の記事として独立させました。


スマフォの将棋ソフトの棋力の限界がどれくらいであるか(数年後にどれくらいの強さであるか)と、長い持ち時間でソフト・人間の棋力はどれくらい向上するのかについて参考資料として残しておくことに意味があるかと思い、ざっと書いてみる。


Raspberry Pi(3000円程度のワンボードマイコン)で動かしたBonanzaがfloodgateでR2150。
iPhone5なら、デュアルコアでクロックがその倍ぐらいあるので、+R250程度になり、R2400レベル。
Ponanzaを始めとするトップ付近のソフトならばBonanzaより一回り(+R200〜R300)強いはずで、R2600〜R2700レベル。


来年発売されると噂のiPhone6は、クアッドコアであろうから+R100ぐらいになるので、R2700〜R2800。
iPhone5に比べてクロックアップしているなら、もう少し強くなるが、クロックに関してはもうそろそろ頭打ちなのでこれは考慮しないものとする。


ソフト側の改良により1年でR50ぐらい上がる。(スマフォぐらいのスペックのマシンで動かした場合、R50もあがってないかも知れないが)


将棋倶楽部24でプロ棋士はR2800〜R3300付近に分布しているので、1手30秒などの早指しでは数年後だとスマフォでもプロ棋士といい勝負できる可能性は十分にある。(数年後だと人間側も定跡や終盤の手筋をさらに開拓し、人間側がまだまだ強くなる可能性も十分にあるが。)


では、長い持ち時間ではどうなのか。これについては長らくデータがなくて不透明であったが、第二回・第三回の電王戦などを経て、ある傾向がわかってきた。



上図は、横軸に思考時間、縦軸にレーティングをとってある。


思考時間が倍に増えるとコンピューター将棋はR150ずつぐらい上がる。ただし評価関数に穴がある場合は別だ。例えば、評価関数が駒得だけしか見ないような場合、いくら思考時間を増やしても序盤で作戦負けになるので思考時間を増やしてもほとんど強くならないことは以前に私がひよこ将棋の実験において実証している。(ここで言う「いくら増やしても」というのは、もちろん無限に増やせば、最終手まで読みきれるわけであるが、そんなことは現実的には不可能なので、思考時間を100倍ぐらいまでに増やす話だと思って欲しい。以下についても同様である。) しかし、Bonanzaぐらいの評価関数の精度であれば、思考時間を増やしても(100倍ぐらいにしても)序盤の作戦負けを回避できないという局面は知られていない。おそらく、そういう局面はあったとしても、わずかな損なだけで、実戦でそれを咎め切るのはなかなか大変なのだと思う。


そういうわけで、コンピューター将棋は思考時間に比例して棋力が上がると仮定して間違いなさそうだ。コンピューターの場合、記憶域はそこそこあるので(64GBあれば、1局面に対して10分ぐらいの思考で溢れるほどではないので)、長時間になってもそれほどロスは出ない。それが、上図の緑の直線の意味するところである。(※ 読みの深さが2手→3手となる場合と40手→41手となる場合とでは棋力向上の具合が直感的には前者のほうが著しいはずなのだが、持ち時間をどれくらいまで上げるとこのように棋力上昇が鈍化していくのかはあまり知られていない。現実的に観測できる範囲においては持ち時間を倍にするごとに次第に伸びが鈍くなるもののやはりR150前後上がる。そこで本記事では直線で近似する。)


次に、人間はどうなのか。今回の電王戦の貸し出し時の事前対局などから、持ち時間を増やすことによって人間側の勝率はやや上がるものの、短い持ち時間のときと比べて著しく変わるというほどではないことがわかってきた。


では、持ち時間を増やしたときに人間の棋力はどのように変化するか考えてみよう。



人間のうち、トッププレーヤーは、局面の取捨選択能力に優れているので、思考時間が増えたときにコンピューター将棋ソフト以上の棋力向上が見られる。(終盤の見落としが減ることによる勝率の向上もある) 上図のHuman Type Aがそれである。


ところが、下手な考え休むに似たりで、思考時間が増えてもコンピューターの棋力上昇率ほどは上がらないプレイヤーもいる。それが上図のHuman Type Bである。


プロ棋士では、長い持ち時間にすることで勝率が上がるのだから、プロ棋士はHuman Type Bではなく明らかにHuman Type Aである。


ここまでは従来言われてきたことである。しかし、私は、これらのモデルはあまり適切ではないと思っている。人間は長時間の思考において思考した局面を記憶しきれなくなるので、あるところからなだらかになってくるのではないかと思う。それが上図のHuman Type Cである。


どこからなだらかになるかは個人差があるだろうけども、短期記憶の限界(通例20秒〜1分)を超えるとさきほど調べた局面について覚えきれなくなる。ただ、調べた局面をすべて覚えておく必要はなく、単にその指し手に対する結論(コンピューター将棋で言うところの評価値)と、そのPV(最前応手列≒読み筋)だけ覚えていれば一応はなんとかなるので、調べた局面すべてを覚えておけないから即座に駄目だというわけではない。


しかし、この「指し手に対する結論とPV」を短期記憶のまま保持しきれないので、これを随時長期記憶のほうに移動させていく必要がある。このキャパシティが常人とは桁違いに優れているのがプロ棋士なので、どのへんが限界なのかはよくわからないが、私がとあるプロ棋士に尋ねたところ「1手15分を超えたあたりから、しんどい(先に読んだ読み筋が混乱して出てこなくなるときがある)」と言う意見があった。このへんは個人差があるとは思うが、ともかくそのくらいのオーダーで人間的な記憶の限界があるのだろう。


さて、そのように考えて、プロットしてみたのが上図なのであるが、持ち時間次第では人間(Human Type C)がソフトを上回っているが、しかし長すぎると逆効果なのかなと思う。1手の思考時間が10分ぐらいまでは直線的にRが増加して、そこからは徐々にRの上昇はなだらかになるのだとすれば、人間が一番有利になる持ち時間設定は、中盤〜終盤の要所で最大10分が得られるぐらいに調整するのがベストなので、要所の局面が15局面×1手10分 + そうじゃない局面45局面 × 1手5分 = 6.25時間。(将棋の平均手数は120手前後と言われている) 今回の電王戦の5時間+昼食休憩1時間+夕食休憩30分=6.5時間という条件とほぼ合致する。


つまり、今回の電王戦の持ち時間ぐらいが人間側がコンピューター将棋ソフトに対して最も力を発揮できる持ち時間であると私は思う。


とりあえず、叩き台としてのデータは以上である。電王戦の議論の材料にでも使っていただければと思う。

電王戦第三局について思うこと


※ いま14時。電王戦第三局の決着がついていない段階でこの記事を書いています。


YSSは序盤に時間を使わなさ過ぎる。これは電王トーナメントのときにも思っていた。開発者が自己対戦での勝率を上げるようにチューンしていくと、序盤で時間を使っても勝率は下がるのだ。この理由はいろいろあるのだが、主な要因としてソフト同士だと序盤は定跡の進行になりやすいというのがある。自己対戦だと特に、定跡を抜けたあたり(30手目付近)に時間をそんなに使っても、優勢な局面に持ち込める確率は低く、終盤のねじり合いのところに時間を残したほうが頓死などが減り、勝率が上がるのであろう。


だから、開発者は普通は序盤に時間を使わない方向でチューンしてしまう。私は、人間相手の対戦ではこれは全くの間違ったチューンだと思っている。(※ ソフト対人間の対局データが大量にあるわけではないので、これは私がそう思っている(信じている)という話であり、実証されているわけではないので、「そういう考え方があるのか」ぐらいにご理解ください。)


実際、今回の第三局でも序盤早々、定跡を抜けたところで62玉と指してしまった。これが大悪手である。


※「62玉が何故悪手だと言えるのか」に関しては、もしかするとプロ棋士の間でも見解がわかれるのかも知れませんが、電王トーナメントのときにYSS vs N4Sでこの形が出て(N4Sは棋力的にはYSSより弱いソフトなので咎めきれなかったかと思いますが)、そこに居合わせた、プロの先生がこれは駄目ということをおっしゃっていたはずです。また、Ponanzaでも62玉の局面で先手400点ぐらいの点数になるそうです。新しいやねうら王(現在、将棋倶楽部24でR3160 by 5万円PC)でも時間をかけて探索させればやはりこの局面はそれくらいの点数(先手良し)になります。


YSSでも、もっと時間をかければこんな大悪手は指さないはずだ。おそらく、対戦相手の豊島七段は貸し出し時にこの手順を見つけていたのだろう。やねうら王ならば局後学習があるので、こういう序盤早々に人間側の研究手順にハマり、劣勢になることはまずありえない。(実際、将棋倶楽部24に新バージョンのやねうら王を流しているが、序盤の立ち上がりにおける弱点はいまだ発見されていない。一切従来の将棋の定跡を入力していないにも関わらず、である。)


やねうら王の局後学習が今回の電王戦第二局で効果に乏しかったのは、対戦相手の佐藤紳哉六段がそういう特定の局面に持ち込んでハメてやろうみたいなファミコンのゲームでも攻略するかのようなことをされなかったからだ。佐藤紳哉六段がある意味、正々堂々と、そして潔く真正面からぶつかってこられた結果なのだ。もし、佐藤紳哉六段が特定局面に持ち込んで勝とうとしていたなら、「やねうら王、最初はハマりパターンを見つけたんですけど、次の対局ではそれが使えなくなっていてこのソフトは進化するんだなと驚きました」というコメントをしていたことだろう。


ともかく、このYSSは今回の電王戦版のやねうら王よりいくらか強いはずだと思うのだが、序盤で時間を使わなさ過ぎるという戦略上の失敗と、相手の研究にハマりやすい(その部分においてきちんとした対策をしていない)という点、そして、豊島七段がこの穴をきちんと事前研究で見つけてしまった(?)という三つの悪条件が重なってしまい、もはや勝負の形を成していない。本譜のような進行になると事前にわかっているなら豊島七段ほどの棋士でなくとも、楽に勝てるだろう。


そういう意味では、やねうら王の序盤に湯水の如く時間を投与するという作戦および、局後学習という手法がいかに人間相手の戦略として正しかったのかということが今一度評価なされてもいいんじゃないかと思う。そして、「局後学習が意味をなさなかった」という第二局において、佐藤紳哉六段がいかに潔く真正面からぶつかっておられたのかという点も、もっと高く評価がなされるべきだろう。


※ 上記の記事は対局が終わっていない段階で書きましたが、局後の豊島七段の発言で上の記事には事実誤認があることに気づき、また、私の考えが変わったので以下に追記してあります。本記事にコメントするなら必ず末尾までお読みください。



※ 以下の記事は局後に書きました。


上記の記事は、第三局の対局がまだ中盤ぐらいのときに書いたものであり、局後の豊島七段の話を聞くとまた私の印象も変わってきます。


豊島七段クラスの棋士が、事前に本気で大量に対局をこなせば、「特定局面に持ち込んで…」みたいなことを狙わなくとも、「どういう変化になってもそこそこやれる」みたいな序盤の手順を導きだすのは難しいことではないのでしょう。であれば、今回の対局も、特定のハマり局面を狙ったわけではなく、普通に戦った結果なのだと思います。


そう考えると、YSSが62玉のところできちんと定跡を入れてあったとしてもそれはさほど役に立つものではないので、私が「ちゃんと定跡入れておけよ」と言ってもそれは的外れな意見でしょう。


電王トーナメントのときにYSSの作者の山下さんに直接お聞きした話では、「最近は(コンピューター)将棋より(コンピューター)囲碁のほうに興味が移ってしまっていて、将棋のほうはあまり力を入れていない」とのことでした。また、今回の電王戦の記者会見のときに直接お聞きした話では、「指し手がばらけるように指し手のオーダリング等にも乱数を入れている」とのことでしたので、手間暇をかけて定跡を強化するよりは定跡を早めに打ち切ってそのあとの乱数調整で勝負したほうが良いという判断をされていたのでしょう。


まあ、それが本局では結果的には実らなかったわけですが、それは豊島七段の事前研究と腕力が圧倒的だったからで、このクラスの天才を前にするとソフト側は並大抵の作戦ではどうにもならないということが本局で判明したとも言えます。


ちなみに、ソフト側が定跡を早めに打ち切るのは、定跡を抜けた局面で不利になるような定跡を入れてしまっていることを回避するためで、今回のような貸し出しありのときの対策としては常識の範囲内です。本局のように定跡を抜けた直後にソフトが悪手を指してしまうことがあるので、その場合は定跡として正しい指し手が入力されているほうが良いには良いのですが、開発者はプロの将棋指しではないので定跡を編集するのは技量的にも困難であり、現実的にはこのへんはなかなか難しいものがあります。


また、事前貸し出しのルールは、プロ棋士側に負担をかける悪いルールだったと私は思います。貸し出された以上、事前研究していないとサボっているかのように言われますし、3,4ヶ月研究のために時間を費やすわりにはプロ棋士のギャラは安いので(具体的な額はここに書けませんが、2chでよく書かれている額よりずいぶん安いです)、出場する棋士は割りに合わないのではないかと思います。ギャラの問題として論じるつもりはありませんが、今後の電王戦ではプロ棋士の本業(プロ棋戦)に影響がでないように、もう少しプロ棋士側の負担を減らしてあげて欲しいと思います。


※ 追記がごちゃごちゃしていたので整理しました。整理する前の内容に対していただいたコメントは紛らわしいのでいくつか削除しました。あしからずご了承ください。[2014/3/30 9:30]


・関連記事


電王戦第3局 豊島七段とYSSの観戦記(山本一成とPonanzaの大冒険)
http://ponanza.hatenadiary.jp/entry/2014/03/29/212500


電王戦第三局 豊島将之の用意周到、あるいは「アンチコンピューター戦略」をめぐって(ものぐさ将棋観戦ブログ)
http://blog.livedoor.jp/shogitygoo/archives/51936178.html
電王戦第三局記事の補足、修正(ものぐさ将棋観戦ブログ)
http://blog.livedoor.jp/shogitygoo/archives/51936228.html
電王戦第三局記事の再補足(ものぐさ将棋観戦ブログ)
http://blog.livedoor.jp/shogitygoo/archives/51936446.html


第3回電王戦第3局 YSSのログを調べてみました(遠山雄亮のファニースペース)
http://chama258.seesaa.net/article/393121509.html

俺の情熱はどこへ行ってしまったのか


電王戦のときにこのブログのコメント欄で批判的なコメントを一人でたくさんしていた人がいて、この記事の末尾にその人が書いた(同一IPから書いた)コメント一式を掲載しておくけども、この人は、真の将棋ファンというか、将棋が本気で好きなのだろう。書いてある内容はともかく、私にはその情熱みたいなのが眩しく思える。


冷静になって振り返ってみるに私は将棋のことがそんなに好きじゃないのではないかと思う。確かに将棋倶楽部24で最高でR2000近くまで行ったので、決して他の平均的な将棋ファンに比べて将棋そのものに対する理解に乏しいというわけではないと思うのだが、どうも情熱のようなものがどこかに行っており、ここ近年、将棋の勉強をする気にもなれない。


コンピューター将棋のほうも同様で、やねうら王はもうあと少しやればトップレベルにほぼ並ぶと思うのだが、これもどうも情熱のようなものは自分のなかにないと思う。糞面白くないのに定期的に起動していまうソシャゲみたいな感じで、とりあえず、暇を見てはやねうら王を少しずつ改造はしているのだけど、これが自分がやりたいことかというとどうもそうではない。私には情熱を持って取り組んでおられる開発者がとても眩しく見える。


かと言って、平均的な将棋ファンよりは私は将棋の普及に貢献をしてきた気がする。もうずいぶん前のことなるが、私はとある企業のコンテンツ事業部で発言権があったので、将棋関係のコンテンツを企画し、日本将棋連盟の関係者複数人に毎月そこそこのお金を払った。(無条件で支払いをしたわけではなく仕事に対する対価なのでこれに関して別に安いとか高いとか言う気はないのだが) 確か合計では月あたり500万円ぐらい×半年〜1年ぐらい払ったように思う。将棋連盟的には結構いいクライアント(お客さん)だったと思うのだが。


まあ、いいや。またチャンスがあれば何か企画するとしよう。



ななし (27.141.139.48)
『>指し手入力も自動化して欲しかったような気がしますが、時間がなかったのでしょうか。

納期も守れない人がよく言いますね』


ななし (27.141.139.48)
『>2,3年後の電王戦では米長先生のことを将棋ファン達は必ず思い出すことになるだろう。

貴方のせいで電王戦は今年でおしまいです』


ななし (27.141.139.48)
『トーナメント後一週間で乱数調整して提出というのは大会前から決まっていたルール
これを仕事が忙しいという理由で納期を守れないなら最初から出る資格が無かった』


名無し (27.141.139.48)
『まさかこんだけ問題起こしておいて来年も出たいなんて言わないですよね?』


nanasi (27.141.139.48)
『さすがに来年も出たら空気読めてないにも程がある』


ななし (27.141.139.48)
『今回のことはもういいので、今日を限りに将棋には関わらないでください。どうか何卒それだけは本当にお願いします<(_ _)>』


名無し (27.141.139.48)
『・休憩中にソフトを操作すること
・対局が始まっているのに人間の意志を介在させること

これらは例えルールに書いてなくても、やってはいけないことだと思いませんか?』


名無し (27.141.139.48)
『休憩中のソフト操作の件で貴方の本性がわかりました。
もう今までのことはいいので、今日を限りに将棋に関わらないでください。将棋界のためにも、コンピューター将棋界のためにも、本当にお願いします』


nanasi (27.141.139.48)
『実際にやったかどうかではなく、散々問題になっているのに性懲りも無くそういうことを考えてしまう人なんだなと思いました
ルール上ではOKでも心情的にはNGです』


名無し (27.141.139.48)
『休憩時間中もコンピューター側は思考してよいことになっている
休憩の入り方だってソフトが対応するプログラムを組めばいいだけ
そもそも人間がやる将棋に近づくためにAI作ってんでしょ?』


ななし (27.141.139.48)
『勝利おめでとうございます
これで満足したでしょうから、今後は将棋に一切関わらないでください』


さすがに呆れた (27.141.139.48)
『差し手入力を意図的に遅らせるっていう文章を読んで心底がっかりしました

電王戦の趣旨からいって、開発者が対局中に意思を介在させていいわけないでしょう?
ルールに書いてなければ何をやってもいいという考えはさすがに小学生レベルです

ソフト対人間という異種間の戦いは歴史も浅く不備な点があって当然です
しかし黎明期であるからこそ、お互いが善意で物事を進めないとシコリが残るだけで一害あって百利なしです

あなた以外の人は全員このことがわかっています
この質問を受けたドワンゴ担当者はきっと呆れかえったに違いありません

きっとあなたは才能があるんでしょうから別の分野で活躍してください
少なくとも善意の人達がこれからルール整備をして盛り上げていこうという電王戦には関わらないほうがいいです
多くの人があなたのグレーゾーンを突くという行為に不快感を示しますので』


国分 (27.141.139.48)
『別に今後も将棋ソフト開発を進めるのは自由だけどさ
これからずーっと、電王トーナメントも選手権でも他の開発者から無視されるわけだよね?
他の開発者たちが楽しく談笑しながら情報交換する中でボッチで弁当を食べるわけだ
ねぇ、今どんな気持ち? ねぇ?』


常識人 (27.141.139.48)
『常識がある人だったら今後も電王戦に関わったりしないでしょう
ドワンゴの担当者や他の開発者にも嫌われているようですし、身を引いたほうがよいでしょう』


担当者 (27.141.139.48)
『担当者です
指し手を意図的に遅らせるとの考えには心底呆れました
はっきり言ってあなたには今後関わってほしくないです
会長もかなりあなたのことを問題視しています
どうか他分野でがんばってください』

電王戦第二局実況用


※ 本日のコメント欄は、コメント欄が荒れそうなコメントはまとめて削除させていただく場合がございます。予めご了承ください。(昨日のコメント欄*1のほうにいただいたコメントは削除しませんので、削除されたくない人はそちらにコメントをどうぞ。)


[3/22 7:00] 電王戦第二局を実況します。ただやねうら王の対戦相手である佐藤紳哉六段と同じ場所で私は対局のためのPCを操作するはずなので、対局の邪魔になるといけないので、休憩時間など空き時間を見つけて更新していこうかと思います。(あまり空き時間はないのかも知れません…)


ドワンゴさんから聞いている話は、「PCへの指し手入力は開発者自らが行なう」ということです。そのあとのコンピューター側の指し手を指す部分は自動化されているようです。指し手入力も自動化して欲しかったような気がしますが、時間がなかったのでしょうか。


また、本来は開発者は7時に来て、動作チェックのための時間を1時間半ぐらい与えられているようですが、今回の騒ぎがあったところなので、あまり時間をかけて「また、やねうらおが何かやってやがる」みたいな話になってもいけませんので、そのへんドワンゴの担当者の方と相談した結果、ドワンゴの方が旧バージョンに戻して、最初に佐藤紳哉六段にPCをお渡ししたときの思考設定にしていただける(私はPCに触れずに横でそれを見ている)ということになっています。


ですので、対局後、「練習のときと指し手が違う」「やねうらお、また差し替えやがったのでは?」みたいな疑念の余地はありません。(局中学習自体はオンなので、若干変化しうるのはもとからの仕様ですが) そんなわけでそのへんは安心して(?)ご覧いただければと思います。


私は8時に両国国技館入りなのそろそろ行く準備をします。


[8:39] やねうら王の対局のセットアップ(by ドワンゴの人)が終わりました。9:30まで時間があるのでいま控室でこの文章を書いています。


やねうら王の動作自体はあまりきちんと確認できていませんがやねうら王が5手目まで指せたので良しとしました。4手目として定跡から外れた手を指した想定で動かしたとき、やねうら王側が6分ほど考えました。フリーズしているのかとひやひやしましたが、うまく動いているようです。しかし序盤でこんなに使うとおそらく100手目付近で1分将棋になります。この思考時間設定ですと今日の対局、長引くと思います。やねうら王がフリーズしてポッキリ負けたりしなければ、ですが。


また、やねうら王側の持ち時間設定は安全を見て4時間45分 + 秒読み50秒設定になっています。これは電王トーナメント終了後に「この設定でお願いします」と私がテキストファイルでドワンゴの担当者に渡した設定ですので、この部分は変更できないです。


[8:50] 電王手くんの仕組みが少しわかりました。将棋所の思考エンジンとして電王手くんの実行ファイルを登録し、この実行ファイルが思考エンジンとの仲介をするようです。(技術的にはproxyとかbridgeとか呼ばれる類のもの) 思考エンジン側からの指し手(bestmove XXXX)を、見つけたら、それをネットワーク越しにサーバーに伝えるということのようです。


ということは、人間側の指し手も自動入力しようと考えた場合、人間側の指し手を入力してくれるだけの実行ファイル(将棋所からは思考エンジンとして見えるもの)が別途必要だということのようです。(今回はそれは作ってないらしく、人間が手作業で人間側の指し手を将棋所に入力します)


[8:55] 対局中の空き時間に実況しようかと思っていたのですが、ドワンゴの担当者いわく、「前回伊藤さんが、対局中にtwitterされてて、炎上と言いますか、ちょっと騒ぎになりましたので…(やめたほうがいいですよ)」とのことでした。でしたか…。


ということで私の空き時間(控室にいる時間)は、昼休憩12:00〜13:00と夕休憩(17:00〜17:30)しかなくて、そのタイミングでしか更新できないようです。期待してくださっていた皆さん、すみません。


エルグランド > 佐藤6段の自宅におしかけた時に対局データでも取ったんですかね?


私の説明不足でしたが、やねうら王には局中学習の機能もありまして、以前一度でも考えた指し手は即指しする、みたいな機能となっています。(これで負けまで一直線にハマるといけないので最大で50手目までという設定にしてあります。) やねうら王側の応手に要した時間を見れば、この局中学習の進行であるかどうかはわかります。


このようにやねうら王では経験した局面に関して即指しするので、その分中盤に時間が持ち越せて、中盤の思考時間が増えた結果、前の対局とは指し手に変化が生じる場合があるという意味です。


またPC内のデータは何ひとつUSBメモリのほうには移動させていないです。(実は、あの日、日本将棋連盟の方が立ち会われていて、差し替え作業に関しても後ろでご覧になられていました。)


[9:05] アンチコンピューター将棋戦略について。コンピューター将棋が入玉将棋に弱いのは既知の事実である。弱い理由は、入玉棋譜があまりなく、棋譜からの学習では正しく学習できていないからである。そこでトップ付近の将棋ソフトは入玉に関係するような評価項目を手で調整しているのが普通である。(ドーピングと言う)


やねうら王はそのへん何の対策もしていないのでモロに入玉が弱く(これは新しいバージョンでも同じ)、入玉将棋に関しては素人同然である。


そういう意味では、プロが本当に勝ちだけを考えるなら、入玉になりにくい戦型(対抗形=居飛車 vs 振り飛車 のように、先手と後手の玉が盤面の右側なら右側、左側なら左側というように向かい合っている形)は作戦として損なのである。


ところが、電王戦第一局では、菅井五段は対抗形を選んだ。作戦としては損であろうと、振り飛車党の自分の信念を曲げてまで勝ちには行きたくなかったのだろう。私はそこにプロとしての矜持のようなものを感じずにはいられなかった。また、いまの習甦と菅井五段とでは実力的には五分ぐらいだから、菅井五段としても正面からぶつかり合ってみたかったのだと思う。


これが、実力が離れていれば、右玉から手待ちをしつつ、端をからめて入玉するなど、最初から入玉狙いにしたほうが勝率は上がる。(R200ぐらい離れていてもこの作戦であれば五分に戦える) そういう意味では、米長先生の、対ボンクラーズ戦は、実に先見の明があったと言える。あの米長先生の先見性が世間的に再評価されるのには、まだあと2,3年かかるだろうが、2,3年後の電王戦では米長先生のことを将棋ファン達は必ず思い出すことになるだろう。


[9:25] 開発者的には、自分のソフトを自分の息子か娘のように思っている。(私は娘だと思っている)「馬鹿な子ほど可愛い」という言葉があるが、バグがあろうと、その気持ちは変わるものではなく、むしろバグがあるからこそ、可愛くて仕方がないのである。


今日のやねうら王は皆さんもご承知の通り、ひどいバグ持ちではあるが、どうか、そのことを念頭におき、「自分の病弱な妹がマラソンで最後まで完走できるか」みたいなシチュエーションを想像しながらご覧いただければより楽しめるのではないかと思う。そして、この病弱な妹と対峙する佐藤紳哉六段が妹のことをどう受け止めてくださるのか。そういう温かい気持ちでこの電王戦第二局を見守っていただけたらと思う。


[12:30] 午前中までのあらすじ。やねうら王側の初手16歩。私はこの指し手に度肝を抜かれた。というのも定跡データベースに登録されているのは76歩(出現頻度80%)、84歩(18%)、56歩(1%)であり、16歩は0.1%である。定跡選択は乱数だが、出現頻度に比例するようになっており、この千分の一をこの大一番でやねうら王は引き当てた。佐藤紳哉六段も初手からいきなり未経験の局面だったのではないかと想像する。


その後いろいろあって、9手目までがやねうら王側は定跡。11手目までからは局中学習定跡にもhitしていないことから、少なくともこの時点で貸出時に経験していない局面であることは間違いない。いきなりのガチンコ勝負である。


運良くそのように局中学習・局後学習が絡む局面は回避できたので、それ絡みでいきなりバグって即対局終了という惨事は回避できた。一つ目の峠を超えたことに私はとても安堵している。


午前中終了時の局面のほうは、持久戦模様で、またプロ的にはよくある局面だと思うし(プロ側の経験が生きる展開だし)、振り飛車側(やねうら王側)がやや作戦負けかなと思う。でもやねうら王にしては上出来。


[12:35] ツツカナの一丸さんが応援に私の控室に来てくださいました!


一丸さん「今年はお昼、豪華ですね。去年は900円(?)のカツ丼だったんですけどね。」


ちなみに今回のお昼ごはんは3000円前後のお弁当らしいです。


対局開始前に、「おやつは選べない」とドワンゴの担当者に聞いたことを一丸さんにお伝えしたら一丸さん、めちゃくちゃ残念がっていました。そ、、そんなにおやつ選びたかったですか…。


[12:40] 11:55から昼食休憩らしく、佐藤紳哉六段の手番で昼食休憩に突入。私はやねうら王の手番で(思考中に)昼食休憩に入るのは損だと思っていた。(やねうら王は6分ほどで指してしまい、そのあと人間側が考える時間があることになるので)


だから、昼食休憩の6分以上前に佐藤紳哉六段が指された場合は、将棋所に人間の指し手をわざと入力せず(時間はチェスクロックによる計測なので、このとき昼食休憩に突入するまでやねうら王側の持ち時間を消費)、そのまま昼食休憩を迎えようと思っていた。そして、昼食休憩の終了10分前ぐらいの将棋所に人間側の指し手を入力し、考えさせようと思っていた。せこいかも知れないが、これは今回の電王戦で結構役に立つかも知れないテクニックだ。


kanoke > そういうルール内での工夫を語ると、まーた「ルールを曲解して反則紛いのことをしようとしてた」とか書きたてられますよ。


ありゃ。そうなのかな…。プロのタイトル戦でも封じ手という仕組みがあるので、電王戦にもそういう仕組みがあってもいいのかなと思ったりしまして。(要するに休憩時間が終わるまで、相手の最後の指し手はわからない、みたいな)


でたま > 24点法未対応の状態になっているのでしょうか?


未対応です。まあ、その場合、思考エンジンは27/28点で入玉勝ち宣言することになるわけですが、そうなった場合は、立会人による判定になるそうです。


名無し > 時間結構使ってますが作戦ですか?


作戦です。序盤中盤でいきなり悪くされてしまっては勝ち目がないので人間相手であるなら序中盤に重きをおいたほうが勝率は上がるのではないかという観点から、序中盤に湯水の如く使う設定になっています。しかし持久戦模様になると、序盤が長いため、この作戦は裏目に出ます。というか出てます。このあと、どうなることやら…。


[17:15] 封じ手問題、ドワンゴの担当者の方にルール上どうなっているのか確認しました。


・ルール上は明記していなくて申し訳ないのですが、基本的に人間が指したらすぐに将棋所に入力してください。
・記録係の「休憩時間に入りました」という合図とともに、サーバー側に指し手の信号を送らないスイッチを押しているので、休憩中にコンピューターが指しても、それが人間(対戦相手)にバレることはありません。
・前回、休憩時間に入った直後に電王手くんが指してしまったのは、そのボタンがギリギリ押せていなかったためです。


とのことだそうです。


[17:20]
・控室に、軽食(サンドイッチ弁当)が用意してありました。
・対局中、私の後ろの暖房器具がオフになって(8時間タイマー?)ずっと寒かったです><
・正座、慣れてないので足が麻痺してきました。そういやPonanzaの山本くんが、「(当日の正座のため)足が痛すぎて、翌日整体に行った」と言ってました。
・私は今回のやねうら王が動いているPCの時計の時刻を見ていたのですが、このPC、ネットワークには一切つながっていないので時刻合わせが出来ておらず、5分遅れています。「なぜ予定の5分前に休憩タイムになるのか」などと思ってましたが、間違いでした。


[17:22] 時間の使い方について。対戦相手の佐藤紳哉六段、86歩の仕掛けのときに40分以上時間を使われて、こんなに時間を使って大丈夫なのかと思っていましたが、昼と夕休憩もうまく活用され、実質的に持ち時間5時間+1時間+30分のような状態なんですね。


いまのコンピューター将棋は仕掛けの前にちゃんと考えるだとか、休憩時間をうまく使う、みたいなことは出来ないので、人間らしい、人間の良さが出た時間の使い方だと思います。


[17:25] やねうら王の評価値グラフはほぼ互角のままの推移しています。桂を端に成り捨てた辺りではやねうら王はやや悪いと見ていたようですが、その後の佐藤紳哉六段の25歩周辺で持ち直したような評価値となっています。でも、現局面は、ほぼ互角です。どちらが勝つにせよワンサイドになるのかと思っていましたが、予想に反して熱戦になってきました。やねうら王は序中盤に湯水の如く時間を使う作戦でしたが、それが功を奏したと言えるかも知れません。実に中盤の難所でいい具合に時間を使っています。


[22:40] 電王戦第二局終わりました。結果は皆さんのご存知の通りです。私は今日で燃え尽きたので、しばらくブログはお休みします。


そうそう。書き忘れてたのですが、佐藤紳哉六段とは控室が隣同士でした。控室から行けるトイレも同じところなので、朝、私がトイレから出ようとするとき佐藤紳哉六段がトイレに駆け込んできました。


私     「佐藤先生。この度は、大変ご迷惑おかけして申し訳なかったです!」
佐藤紳哉六段「お、、おう」(小便を急いでいてそれどころではない感じ)


…と、、、とりあえず、和解完了?!


[2014/3/24 19:50] 本対局の関連記事を追記します。


・速報


「第3回将棋電王戦」ソフト2連勝、佐藤六段「相手が強いというより私が弱い」(マイナビニュース)
http://news.mynavi.jp/news/2014/03/22/142/


[速報]棋電王戦第二局は95手まででコンピューターの勝利!!(週アスPLUS)
http://weekly.ascii.jp/elem/000/000/208/208978/


第3回将棋電王戦 第二局「やねうら王vs佐藤紳哉六段」(Jの詰将棋ブログ)
http://j-tsume-shogi.seesaa.net/article/392413987.html


第3回電王戦第2局、やねうら王対佐藤伸哉六段(棋士はカワイイ!)
http://kishikawa.doorblog.jp/archives/37114652.html


・詳細


電王戦第2局は炎上を経てどうなったか ネタキャラ対決は「カツラ落ち」のガチンコ勝負に(ねとらぼ)
http://nlab.itmedia.co.jp/nl/articles/1403/24/news072.html


佐藤六段に待ち受けていた光と闇「第3回将棋電王戦」第2局 -罠をかいくぐり最後に生き残ったのはどちらか(マイナビニュース)
http://news.mynavi.jp/articles/2014/03/26/denou2/


・観戦記


電王戦第二局、佐藤紳哉の本気の対局姿(ものぐさ将棋観戦ブログ)
http://blog.livedoor.jp/shogitygoo/archives/51935417.html


第三回 将棋電王戦 第2局(筆者・河口俊彦 将棋棋士七段)(ニコニコニュース)
http://news.nicovideo.jp/watch/nw1006844


電王戦第2局 佐藤紳哉六段とやねうら王の観戦記(山本一成とPonanzaの大冒険)
http://ponanza.hatenadiary.jp/entry/2014/03/28/171813



・番外編


第三回電王戦第2戦「やねうら王VS佐藤紳哉六段」について、あるいはやねうらおさんについて思うこと(土屋つかさのテクノロジーは今か無しか)
http://d.hatena.ne.jp/t_tutiya/20140323/1395557842

棋力と指し手の性質とは何か?


今回の電王戦第二局、いろいろお騒がせして申し訳ない。明日は、私はこのブログを通じて実況をするつもりだが、将棋ファンの方々には、やはり将棋の内容そのものに目を向けていただきたい。


今回の騒動で、差し替えによって「棋力があがること」「指し手の性質が変わること」を私が事前に知っていたかどうか(私が悪意を持って強いソフトに差し替えようとしたのか)というのを議論の争点としている人が多い。私には自分に悪意がなかったことを証明する手段はないし、そういう視点で私が何かを説明をすることは出来ない。


だから、そのとき私がどのように考えていたかを、ざっと書いておく。
(いま、東京に移動する新幹線のなかなのできちんとした文章になっていなかったら申し訳ない。明日の対局のときにこの話題を引きずって欲しくないので、今日中に書いてしまいたいのだ。)


やねうら王2013は、Bonanza(6.0)ベースとは少し違う。Bonanzaベースなのは3年前のやねうら王だ。3年前、Bonanzaから離れるために1から書き直したわけだ。ところが連続王手の千日手などDAG(無閉路有向グラフ)回避関係の問題がすこぶるややこしく、これに付随するバグがとれなかったので、もうこんな開発やめてしまえと放り出していたわけだ。(この問題は、df-pnの実装でも問題となる、コンピューター将棋の開発の上でかなり特異で難しい問題。)


今年の電王トーナメントは、このへんのバグがあることには目をつぶって出場した。運良く、問題とはならなかった。これが私の言う根の深いバグの一つである。


私はこのバグは取りきれないとみなして、今年の1月中旬ごろから、やねうら王2013の探索部をStockfishのそれに差し替える作業をし始めた。Stockfishのソースコードは極めて美しく、洗練されているからだ。


「Bonanza6の探索部をStockfishに差し替えるとR100-150上がる」というのは、Ponanzaチームの下山さんからの事前情報である。


しかし、Bonanzaの探索部をStockfishの探索部に差し替えれば棋力が上がるとは言っても、それは、その他の部分は前と同じように実装してあることが大前提だ。


やねうら王2013のほうは超高速な指し手生成、高速化されたSEE(静的交換評価)、1手詰め・3手詰めなどを実装しているわけだが、お好み焼きで言うなら「トッピング全部乗せ」の状態である。かたや、Stockfishの探索部を持ってくると言っても、これらまですべて一気に実装はできない。(いまも全部乗せの状態からはほど遠い)


1. Bonanza( = Bonanza評価関数 + Bonanza探索部 +トッピング全部乗せ )
2. Stockfish探索部 + Bonanza評価関数 + トッピング全部乗せ
3. やねうら王2013( = Bonanza魔改造 )


3.のやねうら王2013は、Bonanza6よりはR50-100高かったはずで(主に高速化などチューニングによる恩恵)ある。下山さんの事前情報は、1.から2.ならR100-150上がるというのだ。もし、2.のほうのトッピングが何も乗っていなければどうなのか。3.と比べるとR100上がるどころか、Rはむしろ下がるだろう。そして、実際下がっていた。それが2月2日のやねうら王2013αである。


だから「やねうらおはStockfishの探索部に変えれば棋力が上がることは知っていた(ゆえに悪意を持って棋力を上げる意図があった)」というのはナンセンスだと思う。Stockfishの探索部を持ってきたあと“トッピング全部乗せ”が数週間で出来る(事前に「出来る」と確信し、そして実際に出来る)という人がいるなら、「お前がそれをやってみろ」と私は言いたい。とりあえず、私にはそんな芸当は到底出来そうにない。事実、トッピング全部乗せはいまだできていない。(つまり、新バージョンのやねうら王は実はまだまだ伸びしろがある。)


ただ、トッピング全部乗せにはほど遠い状態なのに、棋力が結果的にはかなり上がっていたようだ。これが何由来で上がったのかはいまだに判然としない。これから時間をかけて調査していかなければならない。そこにコンピューター将棋の真理(おおげさ?)があるように思う。


ともかく、Stockfishの探索部にするだけでは棋力は上がるとは思わなかったし、実際に差し替え直後は棋力は上がってない。この問題に対する私の考えは以上。


次に、「指し手の性質が変わることについてどう考えていたのか」だが、私が考えた内容を以下に簡単に示す。


Bonanzaメソッドは、評価関数が棋譜の指し手に一致するようにパラメーターを調整するわけであるが、その結果、1手も読まなくとも棋譜との指し手一致率は40%前後になる。では探索ありなら?


私はこれについては統計をとったことがあるのだが、初代Bonanzaで思考時間10秒にして、プロの棋譜との指し手一致率は50〜55%付近であった。Bonanza6では、5〜10%高くなる。思うに将棋の指し手はそれほど自由度はないので、互いのレーティングが上がっていくほど指し手一致率は少しずつ上がる傾向にあるのだろう。羽生さんの終盤の指し手が激指と指し手一致率90%以上を記録することも珍しくない。(序盤はソフトの棋風みたいなものが出やすいので、定跡の進行以外では指し手一致率は低いようだが。)


中終盤以降を問題とするなら、評価関数を同じくする、棋力が互角に近い二つの将棋ソフトであれば、80%以上の一致率だと思う。実際、やねうら王2013とやねうら王2013αとではそれくらいの一致率であった。20%ぐらいは、もともと指し手は探索の並列化のせいでバラけるので、80%以上の一致率があるなら、大雑把には「指し手の性質は変わっていない」と評価していいと考えた。(もともと思考部をいじる以上、ピッタリ同じ指し手には出来ないわけだし)


ところが、これが将棋というゲームの不思議なところなのだが、この一致しない20%のほうの指し手に棋力を決定づける重要な指し手が含まれていることが多々あるという性質があるということだった。考えてみれば、羽生さんと10級の人(≒素人)と比べても指し手一致率は40%程度はおそらくある。残りの60%(に含まれる大事な手)がトッププロと素人とを分かつわけだ。


「指し手の性質について正確に評価するノウハウを持たないくせにこういう大事な対局で要らんことをするな!」という御指摘は全くその通りで、このへんの評価が大味であるために関係者の皆様に多大なご迷惑をおかけしたことは深く反省している。


ただ、悪意があったのかと言われるとそれだけは私は否定する。悪意を持ってやっていたのなら、こんなに私の対応が後手後手になっていなかったはずだし、いまごろブログも炎上してなかったはずだ…。


[2014/3/22 6:30] コメントいただいているものについて返信できる範囲でさせていただきます。


> flowing_chocolate 将棋 バカ『これが何由来で上がったのかはいまだに判然としない。』飛車をタダで取らせないようにした時点で既に上がってるだろアホか。


飛車をタダで取られる現象は特定条件下でしか起きないので短い持ち時間でこれが出現する確率は極めて低く、勝率自体への影響は軽微ですから、そこが問題ではないです。羽生さんでも3手詰めを見逃すことがありますが、勝率自体が低いわけではないのと同様です。


名無し > 明日(というか今日ですね)のやねうら王の棋力は24レートでいうとR3700相当という認識でOKでしょうか?


それはやねうら王2013αの話ですね。今回のやねうら王2013だと…いくらなんでしょうかね。データがなくてわかりませんが、ずいぶん落ちるでしょうねぇ…。まあ、そのへんも含めて、戦局を見守っていただければと思います。


問題点 > 最初は棋力をレートで語りながら、


やねうら王は定跡が偏っているので(やね裏定跡)、Bonanza6とやらせても同じ戦型に進行しやすく勝率が偏ってしまう傾向があり、一貫して勝率自体があまり信用のできる値ではないのです。致命的なバグがあれば以前のバージョンより対Bonanza6の勝率が落ちる可能性が高いので、そういうバグチェック用のスコアと私は考えています。


そういう意味ではこの初期のバージョンで「レートがむしろ下がっていた」ということ自体、疑問がないわけではないです。私もその点はずっと気になっていたので、先週その部分を追試しまして定跡を手でバラけさせたのちに指定局面からBonanza6と対戦させてみたのですが、やはり勝率は低かったです。(Bonanza6と互角程度。序盤を手で進めるために手間がかかるので、あまり多くのサンプル数をこなせていないですが、少なくとも著しく強いということはなさそうでした。) ただ、この計測方法は非常に手間がかかるためサンプル数を多くとろうと思うなら自動化するとか何かしないと…。

やねうら王のPVの件コメント用


※ ひとつ前の記事のコメント用にお使いください。(ひとつ前の記事のコメント欄が記入できなくなってから)


また、コメントする前にひとつ前の記事(以下のURL)を必ずお読みください。以下のURLの説明に書いてあることを読まずにコメントしてあると判断できるコメントに関しては申し訳ありませんが、削除させていただくことがございます。
http://d.hatena.ne.jp/yaneurao/20140315#p1


申し訳ありませんがコメントが多すぎて個別に質問にお答えすることが出来ません。


[2014/3/17 22:40] PVの件はドワンゴ側から近日中に動きがありますから、それをお待ちください。私はプロ棋士と将棋ソフト(+ソフト開発者)が共存共栄できる未来が来ることを願っております。
[2014/3/18 14:50] 「ドワンゴの方は、彼らは非常に柔軟な会社で、思いつきで何かやって失敗することもよくありますが、失敗に気づいたときの軌道修正も速い。その点はとても優れていますので、今回も何かしら対応してくるのではないかと予想しています。」というボンクラーズの伊藤さんの発言通りになりそうです。
[2014/3/18 22:30] 明日、以下の記者会見に出席してきます!

第3回将棋電王戦 第2局の対局方法に関する説明

 登壇者:ドワンゴ会長 川上量生
     日本将棋連盟理事 片上大輔六段
     やねうら王開発者 磯崎元洋(やねうらお)     

http://live.nicovideo.jp/gate/lv172913123

[2014/3/19 18:45] 記者会見、行ってきました!

電王戦第2局「やねうら王」は旧バージョンで ドワンゴ川上会長「誤った判断だった」と特例撤回(ニコニコニュース)
http://news.nicovideo.jp/watch/nw994910

[2014/3/21 6:00] 記者会見の内容を文字起こしされた方がいらっしゃるので紹介させていただきます。

ニコニコ生放送「第3回将棋電王戦 第2局の対局方法に関する説明」書き起こし
http://michsuzuki.hatenablog.com/entry/2014/03/19/162108