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


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


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


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時間という条件とほぼ合致する。


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


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