前回の記事「手数と投了 2:棋士の投了手数」では、投了手数の分布を規格化して、投了決着棋譜における未投了率を導くところまでを記しました。今回は、長手数の領域における未投了率の振る舞いについて考えていきます。
長手数の将棋においては、熱戦の結果として、互いに決め手に乏しく、局面が“泥沼化”していることが多いと推測されます。“泥沼化”というのは、言い換えると、数手進んでも局面がほとんど進行しない、つまり統計的に見ると数手前とほぼ状態が変わらないということを意味しています。ここでは最終的に投了決着となる棋譜を解析していますので、手数ごとに残った棋譜の中から何らかの割合で決着する棋譜が出てくるわけですが、“泥沼化”を仮定すると、その割合は手数に依らずにほぼ一定であると推測できることになります。
このように一定の割合で減衰していく量は、数学的には指数関数で\[M = A 10^{B T}\]のように表現することができます。ここで、Mは未投了率、Tは手数、AとBは定数です。この式は、\[M = A C^{T},~~ C = 10^{B}\]と書き換えられ、一手進むごとに、Cの割合で減衰していくという式になっています。最初の式の両辺の常用対数を取ると、\[\log_{10}(M) = B T + \log_{10}(A)\]となるので、もしも指数関数が正しい推測になっているのならば、片対数グラフを描くと線形になっているはずです。
下に長手数の領域の未投了率の片対数グラフを示します。黒点が棋譜データです。
データから直線を推定するには線形回帰を用います。使用するデータの範囲には任意性があるのですが、ここでは200手から300手までのデータを用いて線形回帰を行いました。結果的に、-0.01803 x + 1.520の直線(グラフの青線)が得られ、その時の相関係数rは-0.9968となりました。線形回帰と相関係数については以下の解説記事をご覧ください。
この結果を用いると、A = 33.12、B = -0.01803、C = 0.9593となり、一手ごとに残っている棋譜の大体4%の棋譜が決着していくという計算になります。棋譜の数が半分になる手数(半減期)は16.68手です。
相関係数の絶対値は0.9968と1に近く、この指数関数による推測はそれなりに妥当であったようです。しかしながら、グラフをよく見てみると、直線とデータとが系統的にズレているように見えます。すなわち、一手ごとの決着する割合は必ずしも一定ではなく、手数が増えるごとに微妙に割合が減っているという傾向が見て取れます。実際に、200手より下では、長手数と言えるかが問われるとは言え、棋譜の減衰割合は直線よりも大きいですし、300手より上では、データの数が少なく信頼性が低いとは言え、棋譜の減衰割合は直線よりも小さくなっています。また、手数が増えるごとになんとなく終わりが見えなくなってくるというのは我々の実感とも一致している気もします。
このように割合が一定ではなく、データが長いテールを有しているような場合には、指数関数の代わりに、冪(べき)関数を用いて、\[M = a T^{b}\]のように表現することがあります。ここで、Mは未投了率、Tは手数、aとbは定数です。指数関数が手数が増えるごとに一定の割合で減衰していったのに対して、冪関数では手数が何倍かになるごとに一定の割合で減少していきます。両辺の常用対数を取ると、\[\log_{10}(M) = b \log_{10}(T) + \log_{10}(a)\]となるので、もしも冪関数が正しい推測になっているのならば、片対数グラフではなく、両対数グラフが線形になるはずです。
下に長手数の領域の未投了率の両対数グラフを示します。黒点が棋譜データです。
片対数グラフの時と同様に200手から300手までのデータを用いて線形回帰を行うと、-10.30 x + 21.67の直線(グラフの青線)が得られ、その時の相関係数rは-0.9985となります。
結果的に、相関係数の絶対値は指数関数よりも冪関数の方が1に近く、直線の当てはまりがよいことが分かります。また、200手より下の領域や300手より上の領域への外挿でも、冪関数の方がデータに近い結果になっています。スケーリング指数bは-10.30となっており、棋譜の数が半分になる手数倍は1.070倍で、200手なら14手、300手なら21手ということになります。
このようにテール部分が指数関数的に減衰せずに、冪関数的に減少することを冪乗則と呼びます。冪乗則は様々な場面で観測されており、時にはフラクタル構造を有する機構や次元解析を反映したものになっていることがあるため、注目されることが多い現象です。
それでは、今回の冪乗則の原因はなんでしょうか? 原因を調べるためには、もっとデータを集めて精査しないとならないので、現状では「分からない」というのが答えです。単なる偶然で、たまたま減衰割合の減少分をフィットするのに冪関数が悪くなかったという可能性も考えられます。もしくは、人間の心理や将棋のゲーム木の構造に由来する何らかの機構が関与している可能性もあります。「人間は“泥沼”にはまると現実の手数進行が把握できなくなり、手数次元のスケールが消失するのだ」等という今思いついた適当な冗談が実は正しいという可能性も皆無ではないかもしれません。これは今後の課題です。
それでは次回は、棋士の棋譜ではなく、コンピュータ将棋対局場floodgateの棋譜における投了手数を解析したいと思います。
次の記事:「手数と投了 4:floodgateにおける投了手数」
インデックス:「手数と投了 1:序論と目次」
長手数の将棋においては、熱戦の結果として、互いに決め手に乏しく、局面が“泥沼化”していることが多いと推測されます。“泥沼化”というのは、言い換えると、数手進んでも局面がほとんど進行しない、つまり統計的に見ると数手前とほぼ状態が変わらないということを意味しています。ここでは最終的に投了決着となる棋譜を解析していますので、手数ごとに残った棋譜の中から何らかの割合で決着する棋譜が出てくるわけですが、“泥沼化”を仮定すると、その割合は手数に依らずにほぼ一定であると推測できることになります。
このように一定の割合で減衰していく量は、数学的には指数関数で\[M = A 10^{B T}\]のように表現することができます。ここで、Mは未投了率、Tは手数、AとBは定数です。この式は、\[M = A C^{T},~~ C = 10^{B}\]と書き換えられ、一手進むごとに、Cの割合で減衰していくという式になっています。最初の式の両辺の常用対数を取ると、\[\log_{10}(M) = B T + \log_{10}(A)\]となるので、もしも指数関数が正しい推測になっているのならば、片対数グラフを描くと線形になっているはずです。
下に長手数の領域の未投了率の片対数グラフを示します。黒点が棋譜データです。
データから直線を推定するには線形回帰を用います。使用するデータの範囲には任意性があるのですが、ここでは200手から300手までのデータを用いて線形回帰を行いました。結果的に、-0.01803 x + 1.520の直線(グラフの青線)が得られ、その時の相関係数rは-0.9968となりました。線形回帰と相関係数については以下の解説記事をご覧ください。
この結果を用いると、A = 33.12、B = -0.01803、C = 0.9593となり、一手ごとに残っている棋譜の大体4%の棋譜が決着していくという計算になります。棋譜の数が半分になる手数(半減期)は16.68手です。
相関係数の絶対値は0.9968と1に近く、この指数関数による推測はそれなりに妥当であったようです。しかしながら、グラフをよく見てみると、直線とデータとが系統的にズレているように見えます。すなわち、一手ごとの決着する割合は必ずしも一定ではなく、手数が増えるごとに微妙に割合が減っているという傾向が見て取れます。実際に、200手より下では、長手数と言えるかが問われるとは言え、棋譜の減衰割合は直線よりも大きいですし、300手より上では、データの数が少なく信頼性が低いとは言え、棋譜の減衰割合は直線よりも小さくなっています。また、手数が増えるごとになんとなく終わりが見えなくなってくるというのは我々の実感とも一致している気もします。
このように割合が一定ではなく、データが長いテールを有しているような場合には、指数関数の代わりに、冪(べき)関数を用いて、\[M = a T^{b}\]のように表現することがあります。ここで、Mは未投了率、Tは手数、aとbは定数です。指数関数が手数が増えるごとに一定の割合で減衰していったのに対して、冪関数では手数が何倍かになるごとに一定の割合で減少していきます。両辺の常用対数を取ると、\[\log_{10}(M) = b \log_{10}(T) + \log_{10}(a)\]となるので、もしも冪関数が正しい推測になっているのならば、片対数グラフではなく、両対数グラフが線形になるはずです。
下に長手数の領域の未投了率の両対数グラフを示します。黒点が棋譜データです。
片対数グラフの時と同様に200手から300手までのデータを用いて線形回帰を行うと、-10.30 x + 21.67の直線(グラフの青線)が得られ、その時の相関係数rは-0.9985となります。
結果的に、相関係数の絶対値は指数関数よりも冪関数の方が1に近く、直線の当てはまりがよいことが分かります。また、200手より下の領域や300手より上の領域への外挿でも、冪関数の方がデータに近い結果になっています。スケーリング指数bは-10.30となっており、棋譜の数が半分になる手数倍は1.070倍で、200手なら14手、300手なら21手ということになります。
このようにテール部分が指数関数的に減衰せずに、冪関数的に減少することを冪乗則と呼びます。冪乗則は様々な場面で観測されており、時にはフラクタル構造を有する機構や次元解析を反映したものになっていることがあるため、注目されることが多い現象です。
それでは、今回の冪乗則の原因はなんでしょうか? 原因を調べるためには、もっとデータを集めて精査しないとならないので、現状では「分からない」というのが答えです。単なる偶然で、たまたま減衰割合の減少分をフィットするのに冪関数が悪くなかったという可能性も考えられます。もしくは、人間の心理や将棋のゲーム木の構造に由来する何らかの機構が関与している可能性もあります。「人間は“泥沼”にはまると現実の手数進行が把握できなくなり、手数次元のスケールが消失するのだ」等という今思いついた適当な冗談が実は正しいという可能性も皆無ではないかもしれません。これは今後の課題です。
それでは次回は、棋士の棋譜ではなく、コンピュータ将棋対局場floodgateの棋譜における投了手数を解析したいと思います。
次の記事:「手数と投了 4:floodgateにおける投了手数」
インデックス:「手数と投了 1:序論と目次」
コメント