電王戦に向けて


記者会見後、私のコンピューター将棋熱が復活してきたのでいまからだらだらとコンピューター将棋のことを書きます。長文になると思いますが、お付き合いいただければと思います。


■ 電気代 vs PC代


電王戦の記者会見から戻ってきたら、部屋中焦げ臭い。原因を調べてみたところ棋譜からの学習に使っているマシンの電源部分に使われているコンデンサーがポップコーンのように弾けたようだ。


性能の悪いPCだと電気代がもったいないので、長時間動かすための新しいPCが欲しかったところであるから、「こりゃちょうどいいや」と思い、新しいPCを新調することにした。


CPUはいまさらIvy BridgeもないだろうからHaswellを選択。Core i7 4770(欲を言えば4771)でビデオカードは要らなくて、SSDは128GBとか64GB程度でも良い。HDDは不要。メモリは16GBぐらい欲しい。どうも、そういうアンバランスな性能のPCは売っていないようでBTOで15万前後する。部品だけ買って組み立ててれば7万円ぐらいで済むのに…。



ということでAmazonさんで部品を購入。PC組み立て終わって、棋譜からの学習が一段落したら、将棋倶楽部24にやねうら王を放流しますね。



■ プロ棋士は同系のソフトである理論


コンピューター将棋で同系のソフト同士の対戦は持ち時間がわずかに多い側が大きく勝ち越す。これは、相手の読み筋をあらゆる変化において少しずつ上回るので、それが勝率として反映するのだと言われている。


やね「それからすれば人間なんてすべて同系のソフトとみなせるんじゃないの?」
山本(ponanza作者)「それはいくらなんでも乱暴でしょう。αβ探索をしているソフトが全部同系だと言ってるようなもんですよ。」
やね「そうかなぁ。人間って神経伝達物質で信号をやりとりしている以上、生物学的な限界があるし(1秒間に読める局面はおそらく50局面ぐらいだろうし)、脳の学習のアルゴリズムとか、生物学的には全員が同じ学習の仕組みなわけでしょ?そういう意味では、npsはすごく低く、評価関数が馬鹿でかいようなソフトとして分類できるんじゃないのかなぁ…。」


ともかく、プロ棋士がすべて同系のソフトとみなせるとすれば、本当は実力的にはわずかな差なのに(わずかに探索速度が速いだとか、わすかに大局観に優れているだとか)、勝率上の大きな差になっているというのはありえそうな話だと私は思うのだが、コンピューター将棋の開発者のなかでもそのへんは意見がわかれるところである。



■ 思考時間とレーティングの関係


Bonanzaで思考時間が倍になるとR150程度の上昇である。R2000〜R3000あたりまではだいたいそんな感じだと思う。R3000を突破してからも思考時間が倍になるごとに同じようにR150ずつあがるかどうかはデータが少なくて何とも言えない。そもそも人間でもR3000以上のプロ棋士が一握りしかいないのでそのへんはよくわからない。


私は駒得のみの評価関数の将棋ソフト(ひよこ将棋)を使ってfloodgateにて実験したことがあるのだが、持ち時間が倍になるとR50〜100ずつぐらいあがるのだが、R2100ぐらいのところに壁があり、そのあと持ち時間を数倍にしてもほとんどレーティングが上がらないことがわかった。たぶん、駒得だけでは押さえ込まれて負けるので、このあと何十倍かの思考時間にしたところで勝率にはほとんど変化がないだろう。


このように、大局観(評価関数)が悪いと長時間にしたときにどこかで勝率が伸び悩むというのはありうる。


このような理由から、15分の持ち時間でAに勝ち越すBというソフトがあったとして、これを2時間ぐらいの持ち時間にしたときに、今度はAの勝率のほうがあがってBに勝ち越すということはありえると私は思うのだが、これも開発者によって意見が分かれる。


例えば、NDF(というBonanzaから学習部分を改良したソフト)が長時間になったときに勝率が悪いのは何故なのか。


私は、NDFはBonanza6.0ベースであり、定跡部分もBonanzaそのままで、Bonanzaは定跡を抜けたときに悪くなっているような定跡が結構入力されているので、定跡を抜けたところで優劣がついているのではないかと考えている。


定跡を抜けたところで仮に先手が+300点だとしよう。ここからアマチュアのヘボ同士が指し継いだ場合、勝率は5割ぐらいに落ち着くだろう。ところがプロ棋士同士ならば、先手のほうが7割以上勝ち越すかも知れない。このように、強くなればなるほど序盤での形勢の悪さをそのまま拡大して勝ち切ることが可能になるわけである。


長い持ち時間ということは、双方のソフトにとって棋力は上がるわけであるから、序盤で形勢が傾いていればそのまま勝ち切ってしまう確率は上がるわけで、同じ棋力同士のソフトであっても欠陥のある定跡が入っている側は長い持ち時間になれば勝率が落ちる、というのはありえる。


NDFが本当に上記の話に該当するのかどうかはわからないが、長時間floodgateの結果などから強さを判断するのはなかなか難しいということである。



■ あと2,3年でコンピューター将棋はどれだけ強くなるのか


今回の電王戦でPCのスペックを固定化したのは、川上会長いわく、「(強さに)再現性を持たせたかった。スペックが固定化されていれば、何年かして、過去の電王戦のソフトとの対局ということも可能になるじゃないですか」とのことだった。


ここ近年はコンピューターチェスのStockfishというプログラムの探索部を参考に、コンピューター将棋は進化してきたが、Stockfishはもう以前ほど改良は進んでおらず進化のペースが落ちている。もうやり尽くされた感がある。


そういう意味では、コンピューター将棋はあと数年ではそうそう進化せず、3年後に「今年の電王戦の優勝ソフトと3年前の優勝ソフトのponanzaと対局させてみました」みたいなエキシビションマッチをしても、3年前のponanzaに負けてしまうということは十分ありうる。


そんなことを私は漠然と思っていたのだが、電王戦の記者会見後に今回電王戦に出場する開発者6人で話し合ったところ、2,3年あればまだR300ぐらいは伸びそうだと私は感じた。


・NDFの作者がNDFの学習アルゴリズムについての論文を準備中らしく、これが発表されると、どのソフトもR100ぐらい伸びそう。
・Stockfishの探索部分をコンピューター将棋向きにチューンすることでまだR50ぐらい伸ばせそう。
・評価関数の形が何か改善されてまだR50ぐらい伸びそう。
・CPUの多コア化でR100ぐらい伸びそう。


■ 長時間になると人間有利なのか?


Bonanzaは思考時間が倍になるごとにR150程度上がるとして、人間側は思考時間が倍になるとレーティングはどれくらい上がるのだろうか?


これもデータがなくて何とも言えないが、人間の大局観(評価関数)は極めて優れているので、Bonanzaなんかの比ではないはずだ。つまり、R300ぐらい上がる…としよう。


このとき、仮に15分の持ち時間では人間側がコンピューターに負け越すとしても、持ち時間が5時間(20倍)になれば、話は違ってくる。


ちょっと計算してみよう。プロ棋士のトップ集団の将棋倶楽部24でのレーティングはR3000〜R3200程度だとして、ponanzaはR3453。ponanzaは同じぐらいのレーティングの対戦相手がおらずRが伸び悩んでいた意味があるので、実際はR3700級であろう。


ところが持ち時間が20倍になると、どうなるのか。ponanzaも持ち時間が倍になるとR150のアップだとすると、


人間のレーティングは、R3200 + log 2(20)×R300 ≒ R4497
ponanzaのレーティングは、R3700 + log 2(20)×R150 ≒ R4348


なんとほぼ互角ぐらいになるのである。


ただし、コンピューターの場合、局面を覚えておくためのメモリとして60GB程度使えるが、人間の場合、そんなに大量の局面を覚えていられないので、持ち時間5時間というのはほぼ限界に近いだろう。(例えば、持ち時間を8倍にしたからと言って、さらにR300×3=R900の上昇が見込めるかというとその辺は怪しい。)



■ 大晦日のツツカナVS船江恒平五段は、どちらが強いのか


プロ棋士間でのレーティングは1200〜2000のようですが、これが将棋倶楽部24でどのあたりに写像(数学的な意味で)されるかというのは、興味深いところです。


将棋倶楽部でのレーティングが既知であるいくつかの棋士(実名は伏せる)からその分布を調べると…
プロ1200 = R2300付近
プロ1500 = R2800付近
となり、船江五段はプロ棋士レーティングで1663らしいので、
プロ1663 = R3072付近
あたりではないかと推察されます。


ツツカナの強さですが、まず、ponanzaは将棋倶楽部24でR3450を記録しています。対戦相手がいなくてRが伸びないだけで、実際はもう少しRは高いと思います。しかしあの記録は8台ぐらいのクラスターで出した記録だったと思うので、そのへんを考慮すると1PCではR3300前後ぐらいかと思います。


次に、ponanza > ツツカナ > Blunderが成り立つとして、BlunderはponanzaよりR278ほど下らしいので(下山さん談)、ツツカナはponazaとBlunderの真ん中あたりだとすると、R3150あたりではないかと思います。


ただし、これは将棋倶楽部24の持ち時間でのレーティングでの話なので、4時間の持ち時間ですと…上で私が書いた「人間は2倍の持ち時間でR300上がる」説を信じると…。


・船江五段 : R3072 + log(2)16 ×R300 = R4272
・ツツカナ : R3150 + log(2)16 ×R150 = R3750


ツツカナのほう、持ち時間2倍ごとにR200ぐらい上がるとすると、
・ツツカナ : R3150 + log(2)16 ×R200 = R3950


人間のほう、持ち時間が2倍になってもR200ぐらいしか上がらないとすると、
・船江五段 : R3072 + log(2)16 ×R200 = R3872


まあ、いずれにせよなかなかいい勝負が期待できるのではないでしょうか。
私の見立てでは船江五段、やや有利と言うところです。