そこで、激指を使って、 読む量(時間)と強さの定量的な関係を調べてみることに しよう。 激指は深さで打ち切っているわけではないが、結果として レベルを上げればたくさん読むようになる。そこで、激指を異なる レベルで対戦させ、思考時間と強さの関係を調べる。
数多くの対戦をさせて統計情報をとろうとする場合に問題に なるのが、どうやって異なった展開を実現させるかという ことである。 もしランダムの要素を全くいれないと、初手の局面から全く 同じ展開で投了図までたどり着いてしまう。 そこで、この実験では、定跡をランダムに選択させること で異なった展開になるようにした。現時点では、定跡として およそ3000局面入っているため、それなりにばらついて くれているようである。実験結果を下に示す。
対戦レベル | 勝敗 | 勝率 |
---|---|---|
レベル8 vs レベル7 | 35勝5敗 | 0.88 |
レベル9 vs レベル8 | 31勝7敗2分 | 0.82 |
レベル10 vs レベル9 | 37勝2敗1分 | 0.95 |
レベル11 vs レベル10 | 30勝8敗2分 | 0.79 |
レベル12 vs レベル11 | 29勝9敗1分 | 0.76 |
レベル13 vs レベル12 | 27勝11敗2分 | 0.71 |
こんなに違うとは思わなかった、というのが感想である。 レベルが上の方の勝率が7割から9割、平均して約8割にも 達している。レーティング換算だと 約230点にもなる。 激指の場合、レベルが一つあがると思考時間はおよそ 2.5 倍 になるのだが、2.5倍の思考量でレーティング +230 というのは かなりの上昇率のように思う。
ただ、ここで注意するべきなのは、レベルが上がるにつれて、 勝率が下がる傾向にあることだ。この大きな原因は評価関数 にあるように思う。例えば、まったくでたらめな評価関数を 使うと、いくら読んでも意味がないため、勝率は全く上がら ないだろう。それほど極端でなくても、評価関数が不正確 であれば、深く読むことの効果が少なくなるはずである。
「コンピュータ将棋の進歩3」で、金沢さんが評価関数の中 の大駒が詰まされる可能性に対する評価について次のように 書いている。
「大駒が詰まれる可能性というのは遅いコンピュータにおい ては、かなり高く評価していたが、現在ではたくさんの手が 読めるようになっているので、それほど重視していない」このことからわかるのは、読める量によって、適切な評価 関数が変化するということだ。つまり、レベル10に対して 最適な評価関数が、必ずしも、レベル12にとって最適な評 価関数ではないということである。
激指の開発の過程では、レベル10やレベル12で読ませて実験 することが多かった。したがって、知らず知らずのうちに、 評価関数もそのレベルにとって都合のいい評価関数になり、 レベル13や14にとっては、「不正確」な評価関数になっている のだろう。
また、激指の現時点の評価関数は、特に序盤の評価に関しては かなりでたらめである。しかし、将棋というものは、ハイレベルな 戦いになるほど序盤が重要になってくる。 つまり、今の激指では、高度な将棋になるほど、 「下手の考え休むに似たり」状態になって しまっているのだともいえる。