昨日の記事に対してこんな意見をいただきました。
持ち駒を盤上に投入するときの移動距離はワープに近いのでは。あと、将棋には「どの手を選んでも引き分け」という局面は少なく、狭い選択肢でも勝ちになる手を選ばないといけないのが難しいと思う。> 将棋はチェスに比べてどこが難しいのですか? http://t.co/1vyvTH6eft
— takodori (@takodori) December 21, 2014
「持ち駒を盤上に投入するときの移動距離はワープに近い」ので、持ち駒のある局面(終盤)は、位置評価が相対的に重要ではなくなってくるのでそういう局面はもともとコンピューターが得意とする局面です。昔からコンピューター将棋の終盤は強いですよね…。
このことをもう少し専門的な角度から書いてみます。
まず、持ち駒が豊富にある局面からだと局面の様相は大きく変わります。20手ほど進めると「どうしてこうなった(どういう手順でこの局面に至ったのか?)」ということが少なくありません。こういう急激な変化は人間は読みづらく、相対的にコンピューターが得意とするところです。
典型的にはオセロゲームがそうで、コンピューターオセロではコンピューターチェスより10年ぐらい早い段階でグランドマスターを超えたと言われていましたが、それはオセロが盤面が急激に変化するので人間には読みづらいというのもあったのでしょう。
そういう理由で将棋の終盤は人間は将棋の序盤にくらべると相対的に読みづらい性質があります。それと同時に、コンピューターにとっては、終盤だと位置評価が重要ではなくなってくるので、序盤に比べると終盤のほうが相対的に局面の評価がしやすい(正確になる)という性質があります。ひようら王(駒得のみの評価関数の将棋ソフト)でも、終盤の棋力はアマ五段相当はあるのはこのためです。
さて、将棋の終盤で手駒が打てる(ワープする)ために、駒の位置評価(仮にここではKPP=3駒関係のことを指すものとします)が重要でないとしたら何が重要なのでしょうか?
私が考えるのは、次の3つです。
- 探索(読み)
- 手駒の評価(これは駒割りの評価でおおよそ近似出来ていると考えられます)
- 玉の周辺の評価(これも玉周辺への利きの評価や、玉周辺の駒の位置関係の評価、すなわちKP=王と駒との2駒関係でおおよそ近似出来ていると考えられます)
ひようら王には、3.はありません。1.と2.だけで頑張っていますが、1.で読む局面の多さが3.を補っていると考えられます。当然、KPだけでも評価するようにすれば、終盤はさらに強くなるでしょうけども…。
ともかく、このように将棋の終盤はKPPどころかKPだけでも、いや、KPすらなくともそこそこ強くなる性質があり、序盤と終盤で評価関数を変えたり、序盤と終盤用の評価関数を別個に用意して、進行度に応じてその内分を取ったものを評価値とするようなことをしても将棋ではあまり成果を出せないのが現実のようです。チェスの場合ですとStockfishはそういうことをやっていてそこそこ成功しているようなのですが…。
序盤・中盤・終盤で評価値を変えるのは、むしろ終盤での指し手について、序盤の駒組みの段階で参考にしないという意味合いが強いんじゃないかと思いますが、どうでしょう?
コメントありがとうございます。
・序盤に対する過学習は、終盤に悪影響を及ぼしにくい。(今日の記事の理由により)
・終盤の指し手を序盤に参考にしてはいけないのかどうかについては、ひまうら王の実験のときに明らかにしたいと思います。(ひまうら王は終盤の指し手から序盤を学習する構想なので)
入玉の局面の場合でも探索の深さだけでも強くなるのでしょうか?
それとも入玉時の評価値を用意してやらねばいけないんでしょうか?
K(王の位置評価) + KPにそこそこ適切な値がついていれば、ある程度うまく入玉できます。
Bonanza6の場合、学習に使っている棋譜のなかに入玉棋譜が少なくて値がでたらめだったため入玉模様になるとすごく弱かったですが、NDFのようにKPP相対で学習させるとこの部分が改善されるため、入玉模様でもそこそこうまく指せます。
そこそこうまくとは言っても、プロ棋士から見ると結構悪手も混じっているので、改善の余地は大いにあります。入玉模様のときどういう評価関数の形が良いのかはまだほとんど研究が進んでいない分野なので私もよくわかりません。