コンピュータ将棋基礎情報研究所

コンピュータ将棋に関する基礎的な情報を収集し、分析し、発表する所です。英語名称はLaboratory for Fundamental Information on Computer Shogi (LFICS)。

2015年12月

2015年12月、ponanzaが将棋倶楽部24に参戦し、69勝無敗の結果を残しました。ponanzaは同年11月の電王トーナメント優勝ソフトであり、今回、参戦したのは「特に問題がなければ来年の電王戦でそのまま使うもの」だそうです(「将棋倶楽部24に参戦してみた」参照)。ponanzaは2013年5月にも参戦しており、その際には92勝5敗で、将棋倶楽部24におけるレートは最高で3453に達しています。今回は最終レートで3455と前回の最高値を上回る値を記録しました。全ての棋譜は以下から見ることができます。

将棋倶楽部24におけるレートはイロレーティングを簡易化したものであり、近似値を算出していると考えることができます。イロレーティングについては以下の解説記事をご覧ください。
ただし、将棋倶楽部24においては「少なくとも一方が2600以上で400を超えた差がある相手との対局」の場合には「指導対局扱い」となってレートが変動しないため、トップ層よりも400以上高い突出した参加者がいる場合にはレートの算出ができなくなってしまっています(http://www.shogidojo.com/dojo/rating/を参照)。基本的にそのような参加者は想定外ということなのでしょう。

そもそも全勝で負けがない参加者の場合には、本来のイロレーティングでもレートを決定することはできません。もちろん、初期値を設定すれば、レート改善の式によってレートを計算すること自体はできるわけですが、その結果は完全に初期値に依存しており、収束した値にはなりません。負けていない参加者は勝率100%ということなので、無理やりレートを算出しようとすると発散してしまうということです。

それでは、69連勝のponanzaのレートはどのように推定したらよいのでしょうか? 統計学では、ponanzaのレートをある値だと仮定した時に69連勝する確率を算出して、それが十分に小さい(有意水準以下)なら、その仮定(帰無仮説)はダメだったと考えます。

69連勝する確率を算出する際には、ponanzaのレートの仮定値の他に、モデルを設定する必要があります。記録をそのまま用いると、以下の「詳細モデル」になります。
  • レート差と勝率との関係はイロレーティングの式で決まるとする。
  • 対局相手のレートは棋譜に記載されている値とする。
もっと簡単化すると、以下の「簡易モデル」になります。
  • レート差と勝率との関係はイロレーティングの式で決まるとする。
  • 対局相手のレートには全て平均値(2941.35)を用いる。

以下に69連勝する確率の計算結果を示します。黒線が「詳細モデル」の結果で、青点線が「簡易モデル」の結果です。
ponanza_probability_2015

有意水準を5%とすると、「詳細モデル」の場合、ponanzaの仮定レートが3519より小さいと有意水準の5%を下回ってしまうので、ponanzaのレートは3519以上だと推定することができます。同様に、「簡易モデル」の場合は3483以上だと推定されます。いずれにしても、5%の有意水準では大体3500以上ということになります。上限値については、全勝であるため、2015年12月の記録からは推定することはできません。

それでは、2013年5月の記録ではどうなるでしょうか? この時には92勝5敗ですので、最も確率が高くなるレートが存在するはずです。

計算した確率を以下に示します。黒線が「詳細モデル」の結果で、青点線が「簡易モデル」(平均レートは3041.75)の結果です。確率の値が小さいのは勝敗の並び順まで再現するように確率を計算しているためです。値の絶対的な大きさではなく、仮定レート毎の相対的な大きさ(つまりグラフの形)に注目してください。
ponanza_probability_2013

確率が最も高くなるのは、「詳細モデル」の場合、ponanzaのレートが3567の時であり、このレートが統計学的に最も尤もらしい推定値(最尤値)ということになります。同様に、「簡易モデル」の場合、最尤値は3548になり、この値は平均レート(3041.75)と記録勝率(92/97)からイロレーティングの式で算出したレート推定値と一致しています。ただし、グラフの形状が鋭いピーク状ではなく、緩やかな山状になっているため、推定レートには幅があることが分かります。

上限と下限を推定するために、「簡易モデル」を用いて、92勝5敗以上の結果を得る確率(黒線)と92勝5敗以下の結果を得る確率(赤線)を算出したのが、以下の図です。
ponanza_probability_2013_lu

有意水準を5%とすると、2013年5月のponanzaのレートは3414以上、3713以下と推定されます。大雑把にまとめると、3550から±150の範囲内ということです。

ここからは非常にざっくりとした話になりますが、コンピュータ将棋対局場floodgateの記録を参考にすると、2013年5月から2015年12月の間のponanzaのレート上昇は、ハード分を含めて、200程度ではないかと推測されます。この推測に基づくと、2015年12月参戦時のレートは3750から±150の範囲内程度であったのではないかと思われます。この推測は、3500以上という今回の参戦結果に基づく推定と矛盾しません。

2015年12月以前の将棋倶楽部24の人間参加者の最高レートは3312(2012年12月29日)でした。イロレーティング(K = 16)の標準偏差は40弱ですので、長期に安定するレートを考えると3200程度が最高であったと考えられます。それを鑑みると、今回のponanzaのレート推定値は突出した数字であるという事が分かります。さらに、使用時間の改善やハード増強の余地を残していることを考えると、我々アマチュアの視点では、もう完全に別世界の存在になっている感じがします。

処理方法は「floodgateの棋譜整理とレート算出:floodgate棋譜集(2012年版)」と同じです。

floodgateでは2014年12月からレートの原点が、gps_normalを2150とするものから、gpsfish_normal_1cを2800とするものに変更されています。ここでは、gps_normalを2150として計算を行っていますが、結果的にgpsfish_normal_1cのレートは2891となっています。この値はレート2000以上のソフトに絞る前の棋譜でも同じです。2015年版以降ではgpsfish_normal_1cを2800とする基準に合わせる予定ですが、基準の変更により、この程度のズレが発生することに注意してください。

収録棋譜数は58380、その内、投了決着が55925、千日手が376、その他が2079となっています。

以下、最初に棋譜数順のリスト、続いてレート順のリストを記します。

最尤法を用いたレート推定の結果は「floodgate棋譜集レートの最尤法との比較一覧(2012~2016年版)」の記事をご覧ください。
------------------
棋譜数順位. 名前 (棋譜数): レート平均 ±標準偏差
  1. gps_l                        (12087): R2554 ±37
  2. gps_normal                   ( 9718): R2150 ±37
  3. gpsfish_XeonX5680_12c        ( 8092): R3289 ±37
  4. Kakinoki-Z                   ( 6823): R2226 ±37
  5. Titanda_L                    ( 6385): R3128 ±38
  6. NineDayFever_XeonE5-2690_16c ( 5102): R3408 ±39
  7. Flummi2                      ( 5007): R2756 ±36
  8. sakurapyon_vps               ( 4159): R2315 ±37
  9. kato2                        ( 4021): R2733 ±38
 10. sakurapyon_4G                ( 2995): R2343 ±35
 11. CrazyKing                    ( 2394): R3212 ±36
 12. Bonanza6.0-Opteron250-2c     ( 2347): R2664 ±35
 13. bonanza6.0                   ( 2227): R2703 ±37
 14. Flummi                       ( 2195): R2737 ±36
 15. flummi2                      ( 1934): R2697 ±36
 16. Bonanza_6.0_RPi              ( 1560): R2207 ±36
 17. Poseidon                     ( 1313): R2888 ±37
 18. ponanza-990XEE               ( 1288): R3367 ±34
 19. GPSShogi_AMD_C-60_2c         ( 1272): R2548 ±37
 20. gpsfish_normal_1c            ( 1138): R2891 ±37
 21. Hades                        ( 1111): R2887 ±37
 22. KeepTheF                     ( 1071): R2946 ±35
 23. bonanza_on_RaspberryPi       ( 1034): R2161 ±33
 24. Zeus                         ( 1004): R2860 ±36
 25. Gekisashi_X5590_1c           (  958): R3076 ±35
 26. Apollon                      (  947): R2879 ±33
 27. Apollo                       (  940): R2896 ±35
 28. Theseus                      (  850): R2836 ±37
 29. Jupiter                      (  801): R2894 ±33
 30. Bona6_miya2009_4670_4c       (  801): R2887 ±33
 31. Asclepios                    (  774): R2915 ±31
 32. Apery_2700K_4c               (  765): R3207 ±37
 33. ttkn_eval130807_2630QM       (  712): R3168 ±33
 34. SlashingSilverSnow_G-T56N    (  656): R2466 ±33
 35. AWAKE_i7_2620M_2c            (  648): R3265 ±33
 36. bps                          (  551): R2723 ±31
 37. Nanoha24a_1t                 (  544): R2757 ±29
 38. bpsf_0                       (  540): R2718 ±33
 39. nozomi_dev140906_i7-2620M    (  530): R2687 ±33
 40. GPSFish-WCSC24               (  455): R3258 ±30
 41. bps_2                        (  445): R2722 ±34
 42. ponax_i7_3770                (  434): R3216 ±30
 43. himawari                     (  423): R2479 ±28
 44. YssF_6t_x1                   (  394): R3146 ±30
 45. AWAKE_i7_5960X_8c            (  386): R3546 ±23
 46. Apery_WCSC24_3930K_6c        (  328): R3195 ±27
 47. 6.0bookKai_4700MQ-4cHT4t     (  309): R2813 ±25
 48. Test                         (  296): R3424 ±26
 49. Bonanza6.0_1c_X              (  291): R2513 ±27
 50. luminos                      (  237): R3171 ±25
 51. gpsfish1c_dfgd_human         (  233): R2710 ±27
 52. pona2600                     (  222): R3161 ±22
 53. Mao                          (  213): R2922 ±20
 54. Onax18.0                     (  209): R3235 ±23
 55. ponanza_expt                 (  207): R3400 ±21
 56. rgm_009                      (  205): R2144 ±24
 57. frenzy-floodgate             (  203): R2736 ±21
 58. SecondLine                   (  196): R2991 ±22
 59. Charlotte                    (  191): R3247 ±22
 60. Changing                     (  187): R2801 ±25
 61. Ellefar_2c                   (  183): R2935 ±18
 62. sinbo                        (  181): R2998 ±19
 63. Freewheeling                 (  174): R2829 ±22
 64. Lightning_Silph              (  172): R2494 ±18
 65. gpsfish                      (  172): R3128 ±17
 66. SmallChange                  (  167): R2959 ±22
 67. CrazyPiece                   (  166): R2948 ±20
 68. tubasa_human                 (  156): R2621 ±20
 69. gpsfishone_win               (  156): R2958 ±18
 70. b65960x8cu1410               (  155): R2970 ±14
 71. Apery_3930K_6c               (  151): R3221 ±15
 72. Nanoha24a                    (  151): R2883 ±17
 73. JimmieVaughan                (  150): R3131 ±16
 74. YssW3680_1t_x12              (  148): R2914 ±19
 75. Pledging                     (  143): R2712 ±21
 76. Bonanza6.0_2697v2_24c        (  140): R2922 ±15
 77. Bonanza611_4770K_4c          (  139): R3071 ±15
 78. Tambourine                   (  138): R2873 ±21
 79. YSS                          (  138): R2288 ±13
 80. SVD                          (  134): R3048 ±18
 81. Bonanza6.0_Fusion_2C         (  133): R2560 ±17
 82. Bona6.11_4670_4c             (  126): R3042 ±13
 83. Bonanza6.0_2697v2_12c        (  124): R2920 ±11
 84. Desolation                   (  124): R2901 ±20
 85. ZAKO                         (  122): R3293 ±17
 86. Soho_Amano                   (  121): R2853 ±15
 87. gps810patras                 (  120): R2778 ±17
 88. b68c                         (  120): R2986 ±17
 89. gpsfish_cygwin               (  119): R2981 ±14
 90. Subterranean                 (  118): R2869 ±18
 91. Flummi3                      (  117): R2891 ±11
 92. hamu                         (  116): R3089 ±12
 93. Bonanza6.1.1_3770_4c         (  116): R3004 ±14
 94. SlashingSilverSnow0.3_G-T56N (  116): R2425 ±16
 95. Bona6.11_Taikou_4670_4C      (  116): R3014 ±15
 96. SlashingSilverSnow0.2_G-T56N (  116): R2496 ±13
 97. nozomi_dev140828_i7-2620M    (  114): R2696 ±14
 98. sss3                         (  112): R3160 ±14
 99. gpsfish_XeonX5470_8c         (  110): R3148 ±18
100. test_t_dti                   (  107): R2754 ±17
101. Lazybones                    (  106): R2850 ±13
102. nozomi_i7-4790               (  105): R3001 ±15
103. Watchtower                   (  104): R2712 ±16
104. Revisited                    (  104): R2804 ±17
105. guts                         (  102): R3219 ±14
106. BlunderXX_XPS850_4C          (  101): R2963 ±14
107. tamako                       (  100): R2995 ±11
108. bona6.0_4c                   (  100): R3064 ±8
109. bonanza_fin                  (   99): R3054 ±12
110. GPSfish021_r2896_4C          (   98): R3050 ±9.9
111. Test3                        (   97): R3426 ±10
112. Tombstone                    (   95): R2843 ±17
113. polaris                      (   95): R2936 ±8.6
114. benkei_houshi                (   95): R2924 ±12
115. gpsf_r2837_4770_4c           (   94): R3265 ±10
116. Crossroads                   (   93): R2872 ±11
117. Skateaway                    (   93): R2822 ±14
118. Apery_5960X_8c               (   92): R3316 ±16
119. Ponax1.01_4930_6c            (   92): R3287 ±12
120. Bringing                     (   91): R2748 ±14
121. gpsf_u                       (   89): R3304 ±11
122. xuohk                        (   88): R3197 ±12
123. AnotherSide                  (   86): R2627 ±13
124. Bonanza6.0_1c_bookR4         (   86): R2576 ±13
125. shogiisukideathnote          (   85): R2900 ±13
126. tatakinopasso                (   85): R3269 ±13
127. SlowTrain                    (   84): R2924 ±9.8
128. gasg                         (   84): R3229 ±14
129. freedom                      (   83): R2304 ±12
130. Hilarity                     (   77): R2988 ±7.7
131. YssL_100k                    (   76): R2066 ±9
132. Pretender                    (   68): R2849 ±9.8
133. Acanetti_2c                  (   64): R3049 ±8.5
------------------
------------------
レート順位. 名前 (棋譜数): レート平均 ±標準偏差
  1. AWAKE_i7_5960X_8c            (  386): R3546 ±23
  2. Test3                        (   97): R3426 ±10
  3. Test                         (  296): R3424 ±26
  4. NineDayFever_XeonE5-2690_16c ( 5102): R3408 ±39
  5. ponanza_expt                 (  207): R3400 ±21
  6. ponanza-990XEE               ( 1288): R3367 ±34
  7. Apery_5960X_8c               (   92): R3316 ±16
  8. gpsf_u                       (   89): R3304 ±11
  9. ZAKO                         (  122): R3293 ±17
 10. gpsfish_XeonX5680_12c        ( 8092): R3289 ±37
 11. Ponax1.01_4930_6c            (   92): R3287 ±12
 12. tatakinopasso                (   85): R3269 ±13
 13. AWAKE_i7_2620M_2c            (  648): R3265 ±33
 14. gpsf_r2837_4770_4c           (   94): R3265 ±10
 15. GPSFish-WCSC24               (  455): R3258 ±30
 16. Charlotte                    (  191): R3247 ±22
 17. Onax18.0                     (  209): R3235 ±23
 18. gasg                         (   84): R3229 ±14
 19. Apery_3930K_6c               (  151): R3221 ±15
 20. guts                         (  102): R3219 ±14
 21. ponax_i7_3770                (  434): R3216 ±30
 22. CrazyKing                    ( 2394): R3212 ±36
 23. Apery_2700K_4c               (  765): R3207 ±37
 24. xuohk                        (   88): R3197 ±12
 25. Apery_WCSC24_3930K_6c        (  328): R3195 ±27
 26. luminos                      (  237): R3171 ±25
 27. ttkn_eval130807_2630QM       (  712): R3168 ±33
 28. pona2600                     (  222): R3161 ±22
 29. sss3                         (  112): R3160 ±14
 30. gpsfish_XeonX5470_8c         (  110): R3148 ±18
 31. YssF_6t_x1                   (  394): R3146 ±30
 32. JimmieVaughan                (  150): R3131 ±16
 33. gpsfish                      (  172): R3128 ±17
 34. Titanda_L                    ( 6385): R3128 ±38
 35. hamu                         (  116): R3089 ±12
 36. Gekisashi_X5590_1c           (  958): R3076 ±35
 37. Bonanza611_4770K_4c          (  139): R3071 ±15
 38. bona6.0_4c                   (  100): R3064 ±8
 39. bonanza_fin                  (   99): R3054 ±12
 40. GPSfish021_r2896_4C          (   98): R3050 ±9.9
 41. Acanetti_2c                  (   64): R3049 ±8.5
 42. SVD                          (  134): R3048 ±18
 43. Bona6.11_4670_4c             (  126): R3042 ±13
 44. Bona6.11_Taikou_4670_4C      (  116): R3014 ±15
 45. Bonanza6.1.1_3770_4c         (  116): R3004 ±14
 46. nozomi_i7-4790               (  105): R3001 ±15
 47. sinbo                        (  181): R2998 ±19
 48. tamako                       (  100): R2995 ±11
 49. SecondLine                   (  196): R2991 ±22
 50. Hilarity                     (   77): R2988 ±7.7
 51. b68c                         (  120): R2986 ±17
 52. gpsfish_cygwin               (  119): R2981 ±14
 53. b65960x8cu1410               (  155): R2970 ±14
 54. BlunderXX_XPS850_4C          (  101): R2963 ±14
 55. SmallChange                  (  167): R2959 ±22
 56. gpsfishone_win               (  156): R2958 ±18
 57. CrazyPiece                   (  166): R2948 ±20
 58. KeepTheF                     ( 1071): R2946 ±35
 59. polaris                      (   95): R2936 ±8.6
 60. Ellefar_2c                   (  183): R2935 ±18
 61. SlowTrain                    (   84): R2924 ±9.8
 62. benkei_houshi                (   95): R2924 ±12
 63. Bonanza6.0_2697v2_24c        (  140): R2922 ±15
 64. Mao                          (  213): R2922 ±20
 65. Bonanza6.0_2697v2_12c        (  124): R2920 ±11
 66. Asclepios                    (  774): R2915 ±31
 67. YssW3680_1t_x12              (  148): R2914 ±19
 68. Desolation                   (  124): R2901 ±20
 69. shogiisukideathnote          (   85): R2900 ±13
 70. Apollo                       (  940): R2896 ±35
 71. Jupiter                      (  801): R2894 ±33
 72. Flummi3                      (  117): R2891 ±11
 73. gpsfish_normal_1c            ( 1138): R2891 ±37
 74. Poseidon                     ( 1313): R2888 ±37
 75. Bona6_miya2009_4670_4c       (  801): R2887 ±33
 76. Hades                        ( 1111): R2887 ±37
 77. Nanoha24a                    (  151): R2883 ±17
 78. Apollon                      (  947): R2879 ±33
 79. Tambourine                   (  138): R2873 ±21
 80. Crossroads                   (   93): R2872 ±11
 81. Subterranean                 (  118): R2869 ±18
 82. Zeus                         ( 1004): R2860 ±36
 83. Soho_Amano                   (  121): R2853 ±15
 84. Lazybones                    (  106): R2850 ±13
 85. Pretender                    (   68): R2849 ±9.8
 86. Tombstone                    (   95): R2843 ±17
 87. Theseus                      (  850): R2836 ±37
 88. Freewheeling                 (  174): R2829 ±22
 89. Skateaway                    (   93): R2822 ±14
 90. 6.0bookKai_4700MQ-4cHT4t     (  309): R2813 ±25
 91. Revisited                    (  104): R2804 ±17
 92. Changing                     (  187): R2801 ±25
 93. gps810patras                 (  120): R2778 ±17
 94. Nanoha24a_1t                 (  544): R2757 ±29
 95. Flummi2                      ( 5007): R2756 ±36
 96. test_t_dti                   (  107): R2754 ±17
 97. Bringing                     (   91): R2748 ±14
 98. Flummi                       ( 2195): R2737 ±36
 99. frenzy-floodgate             (  203): R2736 ±21
100. kato2                        ( 4021): R2733 ±38
101. bps                          (  551): R2723 ±31
102. bps_2                        (  445): R2722 ±34
103. bpsf_0                       (  540): R2718 ±33
104. Pledging                     (  143): R2712 ±21
105. Watchtower                   (  104): R2712 ±16
106. gpsfish1c_dfgd_human         (  233): R2710 ±27
107. bonanza6.0                   ( 2227): R2703 ±37
108. flummi2                      ( 1934): R2697 ±36
109. nozomi_dev140828_i7-2620M    (  114): R2696 ±14
110. nozomi_dev140906_i7-2620M    (  530): R2687 ±33
111. Bonanza6.0-Opteron250-2c     ( 2347): R2664 ±35
112. AnotherSide                  (   86): R2627 ±13
113. tubasa_human                 (  156): R2621 ±20
114. Bonanza6.0_1c_bookR4         (   86): R2576 ±13
115. Bonanza6.0_Fusion_2C         (  133): R2560 ±17
116. gps_l                        (12087): R2554 ±37
117. GPSShogi_AMD_C-60_2c         ( 1272): R2548 ±37
118. Bonanza6.0_1c_X              (  291): R2513 ±27
119. SlashingSilverSnow0.2_G-T56N (  116): R2496 ±13
120. Lightning_Silph              (  172): R2494 ±18
121. himawari                     (  423): R2479 ±28
122. SlashingSilverSnow_G-T56N    (  656): R2466 ±33
123. SlashingSilverSnow0.3_G-T56N (  116): R2425 ±16
124. sakurapyon_4G                ( 2995): R2343 ±35
125. sakurapyon_vps               ( 4159): R2315 ±37
126. freedom                      (   83): R2304 ±12
127. YSS                          (  138): R2288 ±13
128. Kakinoki-Z                   ( 6823): R2226 ±37
129. Bonanza_6.0_RPi              ( 1560): R2207 ±36
130. bonanza_on_RaspberryPi       ( 1034): R2161 ±33
131. gps_normal                   ( 9718): R2150 ±37
132. rgm_009                      (  205): R2144 ±24
133. YssL_100k                    (   76): R2066 ±9
------------------

処理方法は「floodgateの棋譜整理とレート算出:floodgate棋譜集(2012年版)」と同じです。

収録棋譜数は82061、その内、投了決着が79377、千日手が419、その他が2265となっています。

以下、最初に棋譜数順のリスト、続いてレート順のリストを記します。

最尤法を用いたレート推定の結果は「floodgate棋譜集レートの最尤法との比較一覧(2012~2016年版)」の記事をご覧ください。
------------------
棋譜数順位. 名前 (棋譜数): レート平均 ±標準偏差
  1. gps_l                        (14742): R2559 ±37
  2. BlunderXX_Q6700_2c           (13263): R2790 ±38
  3. gps_normal                   (12552): R2150 ±38
  4. Bonanza6.0-Opteron250-2c     (10890): R2690 ±37
  5. sakurapyon_4G                ( 7786): R2349 ±37
  6. Titanda_L                    ( 7631): R3052 ±37
  7. BlunderXX_4c                 ( 5207): R2720 ±39
  8. sakurapyon_dti               ( 5061): R2176 ±37
  9. NineDayFever_XeonE5-2690_16c ( 4921): R3208 ±35
 10. PuppetMaster                 ( 4611): R3150 ±38
 11. ponanza-990XEE               ( 4217): R3226 ±37
 12. Gekisashi_X5590_1c           ( 4000): R2960 ±36
 13. Sunfish3-trial24             ( 3712): R2157 ±37
 14. Kakinoki-Z                   ( 2918): R2242 ±37
 15. ponyo                        ( 2573): R2634 ±38
 16. sakurapyon_2013              ( 2411): R2299 ±36
 17. bona6.0_norm                 ( 2373): R2596 ±36
 18. kato2                        ( 2329): R2653 ±38
 19. Gekisashi_X5590_7c           ( 2272): R3210 ±36
 20. amatyan                      ( 1310): R3034 ±34
 21. sakurapyon_test              ( 1284): R2091 ±35
 22. Flummi                       ( 1243): R2737 ±34
 23. Apery_2700K_4c               ( 1114): R3040 ±35
 24. rgm_008                      ( 1094): R2155 ±36
 25. gps_f_testbook               ( 1074): R3090 ±38
 26. maybe_tomorrow               ( 1010): R3200 ±33
 27. jidaiokure                   (  949): R3022 ±34
 28. vps_mc2                      (  907): R2116 ±35
 29. gpsfish_x5680                (  892): R3213 ±33
 30. tsutsukana_1303p3            (  868): R3133 ±34
 31. kato                         (  866): R2568 ±38
 32. McKee                        (  857): R2658 ±35
 33. btest                        (  818): R2474 ±35
 34. Momoiro_Clover_Z             (  808): R2988 ±35
 35. unagi                        (  763): R2634 ±35
 36. kuma2_test_l                 (  736): R2027 ±34
 37. Keep_firmness1.5             (  735): R2924 ±30
 38. bona0.0                      (  728): R2618 ±30
 39. BlunderXX-WCSC23             (  700): R3106 ±34
 40. ttkn_eval130807_2630QM       (  672): R3087 ±31
 41. test_0.15                    (  646): R3028 ±35
 42. Hime_1c_kpp_test             (  625): R2757 ±33
 43. Asclepios                    (  617): R2903 ±33
 44. bona_k8_9550_1c              (  565): R2631 ±31
 45. Apollo                       (  552): R2891 ±33
 46. Shueso_2c                    (  544): R2908 ±36
 47. Hades                        (  530): R2889 ±31
 48. Zeus                         (  525): R2891 ±35
 49. Keep_firmness1.4             (  516): R2919 ±32
 50. ktest                        (  487): R2298 ±34
 51. Poseidon                     (  478): R2857 ±31
 52. YssF_6t_x1                   (  471): R3123 ±33
 53. Bonanza6.0_Fusion_2C         (  457): R2518 ±29
 54. Apollon                      (  455): R2875 ±32
 55. bonatest01                   (  455): R2807 ±33
 56. YssL540_1c                   (  453): R2657 ±33
 57. frenzy-floodgate             (  434): R2205 ±35
 58. Jupiter                      (  415): R2856 ±31
 59. bicycle_man_725              (  413): R2864 ±28
 60. bona6_12c                    (  406): R2955 ±32
 61. Apery_WCSC23_3930K_4.3GHz_6c (  392): R3062 ±30
 62. rgm_009                      (  391): R2133 ±30
 63. gps_f                        (  369): R3075 ±32
 64. Ibala_mayaka                 (  353): R2676 ±30
 65. Theseus                      (  351): R2929 ±28
 66. gpsfish_6c                   (  351): R3168 ±29
 67. human                        (  346): R2486 ±30
 68. kuma2_test                   (  333): R2501 ±28
 69. YSS                          (  326): R2305 ±32
 70. it94_sdp23_2chkihu           (  315): R2371 ±29
 71. Apery_3930K_6c               (  307): R3069 ±29
 72. JOKER                        (  298): R2944 ±28
 73. neokdr                       (  298): R2237 ±31
 74. it5_sdp2_wdoor2012           (  291): R2138 ±28
 75. Selene_test_1c               (  283): R2799 ±25
 76. YssL_1000k                   (  281): R2294 ±29
 77. patience_corei5_4c           (  269): R2785 ±22
 78. rgm_005                      (  260): R2111 ±28
 79. YssL_100k                    (  257): R2116 ±26
 80. it5_sdp2_2chkihu             (  256): R2229 ±28
 81. gpsfish_980X_4G              (  255): R3121 ±23
 82. intel_human                  (  250): R2304 ±26
 83. Sunfish3-trial19             (  230): R2203 ±23
 84. ponanza_expt                 (  228): R3286 ±23
 85. kuma2_test_1c                (  223): R2580 ±25
 86. Hime_1c_kpp                  (  217): R2690 ±26
 87. Soho_Amano                   (  215): R2787 ±24
 88. gpsfish_XeonX5680_12c        (  214): R3162 ±24
 89. it9_sdp2_2chkihu             (  203): R2341 ±24
 90. Next                         (  199): R3086 ±25
 91. kuma2.1_test                 (  199): R2513 ±24
 92. freedom                      (  198): R2273 ±27
 93. gpsshogi_expt                (  197): R3246 ±19
 94. black_mamuru                 (  191): R2254 ±24
 95. tsutsukana_1303p2            (  191): R3184 ±23
 96. usiusi                       (  187): R2532 ±20
 97. kuma2_l                      (  178): R2361 ±19
 98. gpsfish_12c                  (  175): R3123 ±23
 99. kuma2_test_nomate_1c         (  169): R2541 ±19
100. Hime_kpp_3s                  (  161): R2278 ±19
101. SanagiMan_PM                 (  158): R2846 ±22
102. Revolution                   (  158): R3050 ±15
103. Apery_fv.bin_2700K_4c        (  152): R3001 ±19
104. Deep_Impact                  (  148): R2989 ±20
105. TestWhale3                   (  139): R2872 ±19
106. BlunderXX_XPS850_4C          (  137): R3111 ±19
107. Sunfish3-trial12             (  137): R2062 ±17
108. kuma2_l_1c                   (  136): R2285 ±19
109. kumabona6_1c_gcc             (  134): R2507 ±20
110. Shueso                       (  132): R3030 ±20
111. test_test                    (  130): R2784 ±17
112. testb002                     (  128): R2885 ±16
113. gpsfish_xeon5470             (  125): R3180 ±22
114. luminos                      (  125): R2803 ±15
115. Selene_test_2c               (  125): R3009 ±16
116. TestWhale4                   (  124): R2813 ±17
117. Momoiro_Clover               (  124): R2928 ±17
118. ttkn_eval110528_2630QM       (  124): R3038 ±15
119. Bona6_Taikou_4670_4C         (  123): R2930 ±15
120. Bona6_miya2009_4670_4c       (  123): R2989 ±14
121. nayuta                       (  122): R2630 ±18
122. YssFish540_2c                (  118): R2782 ±14
123. kumamon                      (  118): R2856 ±14
124. Bona6_Ibisya_4670_4C         (  117): R2854 ±14
125. Sfoley                       (  115): R2895 ±15
126. gpsfish_cygwin_4c            (  114): R2961 ±14
127. Hime_3s_kpp                  (  113): R2493 ±16
128. MCZ                          (  112): R3029 ±13
129. PuppetMaster_XeonE5-2450_8c  (  111): R3051 ±20
130. Blunder_WCSC23_4670_4C       (  109): R3043 ±13
131. Sunfish3-trial17             (  107): R2084 ±13
132. D-doragon                    (  104): R2607 ±17
133. Bonanza6.0_4670_4c           (  102): R2962 ±11
134. TEST-fne                     (  102): R3166 ±15
135. sakurapyon-2012-032          (  101): R2130 ±13
136. FC_Barcelona                 (   95): R2928 ±14
137. Mark.11                      (   95): R2922 ±14
138. hamu                         (   90): R3001 ±9.3
139. it5_sdp2_wd201306            (   90): R2130 ±13
140. test2013                     (   88): R3007 ±9.7
141. Hime_7s_kpp                  (   87): R2634 ±14
142. Mark.07                      (   80): R3015 ±14
143. Sunfish3-trial10             (   78): R2009 ±6.9
144. NanohaWCSC22                 (   76): R1970 ±8.4
145. gpsfish_1c                   (   73): R2758 ±12
146. pbona_4c                     (   72): R2734 ±8.1
147. Real_Madrid                  (   71): R3047 ±11
148. Sunfish3-trial11             (   64): R2034 ±7.5
------------------
------------------
レート順位. 名前 (棋譜数): レート平均 ±標準偏差
  1. ponanza_expt                 (  228): R3286 ±23
  2. gpsshogi_expt                (  197): R3246 ±19
  3. ponanza-990XEE               ( 4217): R3226 ±37
  4. gpsfish_x5680                (  892): R3213 ±33
  5. Gekisashi_X5590_7c           ( 2272): R3210 ±36
  6. NineDayFever_XeonE5-2690_16c ( 4921): R3208 ±35
  7. maybe_tomorrow               ( 1010): R3200 ±33
  8. tsutsukana_1303p2            (  191): R3184 ±23
  9. gpsfish_xeon5470             (  125): R3180 ±22
 10. gpsfish_6c                   (  351): R3168 ±29
 11. TEST-fne                     (  102): R3166 ±15
 12. gpsfish_XeonX5680_12c        (  214): R3162 ±24
 13. PuppetMaster                 ( 4611): R3150 ±38
 14. tsutsukana_1303p3            (  868): R3133 ±34
 15. YssF_6t_x1                   (  471): R3123 ±33
 16. gpsfish_12c                  (  175): R3123 ±23
 17. gpsfish_980X_4G              (  255): R3121 ±23
 18. BlunderXX_XPS850_4C          (  137): R3111 ±19
 19. BlunderXX-WCSC23             (  700): R3106 ±34
 20. gps_f_testbook               ( 1074): R3090 ±38
 21. ttkn_eval130807_2630QM       (  672): R3087 ±31
 22. Next                         (  199): R3086 ±25
 23. gps_f                        (  369): R3075 ±32
 24. Apery_3930K_6c               (  307): R3069 ±29
 25. Apery_WCSC23_3930K_4.3GHz_6c (  392): R3062 ±30
 26. Titanda_L                    ( 7631): R3052 ±37
 27. PuppetMaster_XeonE5-2450_8c  (  111): R3051 ±20
 28. Revolution                   (  158): R3050 ±15
 29. Real_Madrid                  (   71): R3047 ±11
 30. Blunder_WCSC23_4670_4C       (  109): R3043 ±13
 31. Apery_2700K_4c               ( 1114): R3040 ±35
 32. ttkn_eval110528_2630QM       (  124): R3038 ±15
 33. amatyan                      ( 1310): R3034 ±34
 34. Shueso                       (  132): R3030 ±20
 35. MCZ                          (  112): R3029 ±13
 36. test_0.15                    (  646): R3028 ±35
 37. jidaiokure                   (  949): R3022 ±34
 38. Mark.07                      (   80): R3015 ±14
 39. Selene_test_2c               (  125): R3009 ±16
 40. test2013                     (   88): R3007 ±9.7
 41. hamu                         (   90): R3001 ±9.3
 42. Apery_fv.bin_2700K_4c        (  152): R3001 ±19
 43. Deep_Impact                  (  148): R2989 ±20
 44. Bona6_miya2009_4670_4c       (  123): R2989 ±14
 45. Momoiro_Clover_Z             (  808): R2988 ±35
 46. Bonanza6.0_4670_4c           (  102): R2962 ±11
 47. gpsfish_cygwin_4c            (  114): R2961 ±14
 48. Gekisashi_X5590_1c           ( 4000): R2960 ±36
 49. bona6_12c                    (  406): R2955 ±32
 50. JOKER                        (  298): R2944 ±28
 51. Bona6_Taikou_4670_4C         (  123): R2930 ±15
 52. Theseus                      (  351): R2929 ±28
 53. Momoiro_Clover               (  124): R2928 ±17
 54. FC_Barcelona                 (   95): R2928 ±14
 55. Keep_firmness1.5             (  735): R2924 ±30
 56. Mark.11                      (   95): R2922 ±14
 57. Keep_firmness1.4             (  516): R2919 ±32
 58. Shueso_2c                    (  544): R2908 ±36
 59. Asclepios                    (  617): R2903 ±33
 60. Sfoley                       (  115): R2895 ±15
 61. Zeus                         (  525): R2891 ±35
 62. Apollo                       (  552): R2891 ±33
 63. Hades                        (  530): R2889 ±31
 64. testb002                     (  128): R2885 ±16
 65. Apollon                      (  455): R2875 ±32
 66. TestWhale3                   (  139): R2872 ±19
 67. bicycle_man_725              (  413): R2864 ±28
 68. Poseidon                     (  478): R2857 ±31
 69. Jupiter                      (  415): R2856 ±31
 70. kumamon                      (  118): R2856 ±14
 71. Bona6_Ibisya_4670_4C         (  117): R2854 ±14
 72. SanagiMan_PM                 (  158): R2846 ±22
 73. TestWhale4                   (  124): R2813 ±17
 74. bonatest01                   (  455): R2807 ±33
 75. luminos                      (  125): R2803 ±15
 76. Selene_test_1c               (  283): R2799 ±25
 77. BlunderXX_Q6700_2c           (13263): R2790 ±38
 78. Soho_Amano                   (  215): R2787 ±24
 79. patience_corei5_4c           (  269): R2785 ±22
 80. test_test                    (  130): R2784 ±17
 81. YssFish540_2c                (  118): R2782 ±14
 82. gpsfish_1c                   (   73): R2758 ±12
 83. Hime_1c_kpp_test             (  625): R2757 ±33
 84. Flummi                       ( 1243): R2737 ±34
 85. pbona_4c                     (   72): R2734 ±8.1
 86. BlunderXX_4c                 ( 5207): R2720 ±39
 87. Hime_1c_kpp                  (  217): R2690 ±26
 88. Bonanza6.0-Opteron250-2c     (10890): R2690 ±37
 89. Ibala_mayaka                 (  353): R2676 ±30
 90. McKee                        (  857): R2658 ±35
 91. YssL540_1c                   (  453): R2657 ±33
 92. kato2                        ( 2329): R2653 ±38
 93. ponyo                        ( 2573): R2634 ±38
 94. unagi                        (  763): R2634 ±35
 95. Hime_7s_kpp                  (   87): R2634 ±14
 96. bona_k8_9550_1c              (  565): R2631 ±31
 97. nayuta                       (  122): R2630 ±18
 98. bona0.0                      (  728): R2618 ±30
 99. D-doragon                    (  104): R2607 ±17
100. bona6.0_norm                 ( 2373): R2596 ±36
101. kuma2_test_1c                (  223): R2580 ±25
102. kato                         (  866): R2568 ±38
103. gps_l                        (14742): R2559 ±37
104. kuma2_test_nomate_1c         (  169): R2541 ±19
105. usiusi                       (  187): R2532 ±20
106. Bonanza6.0_Fusion_2C         (  457): R2518 ±29
107. kuma2.1_test                 (  199): R2513 ±24
108. kumabona6_1c_gcc             (  134): R2507 ±20
109. kuma2_test                   (  333): R2501 ±28
110. Hime_3s_kpp                  (  113): R2493 ±16
111. human                        (  346): R2486 ±30
112. btest                        (  818): R2474 ±35
113. it94_sdp23_2chkihu           (  315): R2371 ±29
114. kuma2_l                      (  178): R2361 ±19
115. sakurapyon_4G                ( 7786): R2349 ±37
116. it9_sdp2_2chkihu             (  203): R2341 ±24
117. YSS                          (  326): R2305 ±32
118. intel_human                  (  250): R2304 ±26
119. sakurapyon_2013              ( 2411): R2299 ±36
120. ktest                        (  487): R2298 ±34
121. YssL_1000k                   (  281): R2294 ±29
122. kuma2_l_1c                   (  136): R2285 ±19
123. Hime_kpp_3s                  (  161): R2278 ±19
124. freedom                      (  198): R2273 ±27
125. black_mamuru                 (  191): R2254 ±24
126. Kakinoki-Z                   ( 2918): R2242 ±37
127. neokdr                       (  298): R2237 ±31
128. it5_sdp2_2chkihu             (  256): R2229 ±28
129. frenzy-floodgate             (  434): R2205 ±35
130. Sunfish3-trial19             (  230): R2203 ±23
131. sakurapyon_dti               ( 5061): R2176 ±37
132. Sunfish3-trial24             ( 3712): R2157 ±37
133. rgm_008                      ( 1094): R2155 ±36
134. gps_normal                   (12552): R2150 ±38
135. it5_sdp2_wdoor2012           (  291): R2138 ±28
136. rgm_009                      (  391): R2133 ±30
137. sakurapyon-2012-032          (  101): R2130 ±13
138. it5_sdp2_wd201306            (   90): R2130 ±13
139. YssL_100k                    (  257): R2116 ±26
140. vps_mc2                      (  907): R2116 ±35
141. rgm_005                      (  260): R2111 ±28
142. sakurapyon_test              ( 1284): R2091 ±35
143. Sunfish3-trial17             (  107): R2084 ±13
144. Sunfish3-trial12             (  137): R2062 ±17
145. Sunfish3-trial11             (   64): R2034 ±7.5
146. kuma2_test_l                 (  736): R2027 ±34
147. Sunfish3-trial10             (   78): R2009 ±6.9
148. NanohaWCSC22                 (   76): R1970 ±8.4
------------------

様々な統計量を調べるため、コンピュータ将棋対局場floodgateの棋譜を整理しました。

floodgateの棋譜は年毎に処理して「floodgate棋譜集(2012年版)」等とし、以後、利用する際には、そのように記すことにします。

棋譜は年毎のアーカイブを元にします。まず、棋譜内容が空のファイルは取り除いて、さらに「summary:」の行まで出力されているファイルのみを対象とします。ソフト名をリストアップして、棋譜数が100以上、投了勝ち3以上、投了負け3以上、投了決着が8割以上のソフトだけをピックアップして、それ以外のソフトはリストから除きます(投了決着の割合が小さいソフトは特殊な仕様や環境である可能性が高いため)。対局者の双方がリストにある棋譜のみを残して、「棋士の棋譜整理とレート算出:棋士棋譜集(2015年11月版)」と同様の手法でレートを算出します。この時、レートの原点は、通常の1500ではなく、当時のfloodgateと同様にgps_normalのレートが2150になるように調整します。そして、レートが2000以上のソフトのみをリストに残し、改めて、対局者の双方がリストにある棋譜のみに絞ります。

最終的に、収録棋譜数は60023、その内、投了決着が57339、千日手が328、その他が2356となりました。

また、ソフト名のリストとレートは以下のようになっています。レートは最終的に完成した棋譜集から改めて計算されています。そのため、レート2000以下という結果も出ています。最初に棋譜数順のリスト、続いてレート順のリストを記します。

最尤法を用いたレート推定の結果は「floodgate棋譜集レートの最尤法との比較一覧(2012~2016年版)」の記事をご覧ください。
------------------
棋譜数順位. 名前 (棋譜数): レート平均 ±標準偏差
  1. gps_l                    (14223): R2488 ±36
  2. gps_normal               (11549): R2150 ±39
  3. BlunderXX_4c             ( 8548): R2477 ±40
  4. bingo                    ( 4634): R2313 ±37
  5. Titanda_L                ( 3985): R2781 ±38
  6. Kakinoki-Z               ( 3884): R2124 ±39
  7. Bonanza                  ( 3722): R2645 ±36
  8. Gekisashi_X5590_1c       ( 3465): R2772 ±35
  9. poor                     ( 3197): R2577 ±38
 10. gps_                     ( 2759): R2540 ±35
 11. mcts                     ( 2684): R2084 ±35
 12. Kakinoki-Test            ( 2156): R2179 ±37
 13. sakurapyon-2012-0.015kpp ( 2143): R2176 ±36
 14. ponanza-990XEE           ( 1844): R2954 ±36
 15. mumu                     ( 1661): R2216 ±38
 16. Keep_firmness1.4         ( 1575): R2815 ±37
 17. PuppetMaster             ( 1508): R2913 ±36
 18. tsutsukana_2630QM        ( 1481): R2900 ±37
 19. Keep                     ( 1271): R2532 ±35
 20. Keep_firmness1.3         ( 1177): R2841 ±34
 21. kuma2_test               ( 1000): R2207 ±35
 22. sakurapyon-2012-0.022kpp (  959): R2267 ±34
 23. Shueso                   (  953): R2783 ±37
 24. Ibala_mayaka             (  926): R2590 ±32
 25. bona_Sinobu              (  925): R2802 ±35
 26. simk_test                (  918): R2219 ±35
 27. Apery                    (  912): R2541 ±37
 28. penguin                  (  903): R2572 ±35
 29. LL                       (  868): R2925 ±34
 30. YSS                      (  859): R2295 ±35
 31. Shueso_2c                (  820): R2779 ±36
 32. co-danaka-kun            (  762): R2936 ±34
 33. BlunderXX-2820QM         (  705): R2776 ±33
 34. Sunfish1.20_X6t          (  673): R2226 ±32
 35. YssL540_1c               (  669): R2554 ±38
 36. bona6.0_norm             (  649): R2350 ±33
 37. vcc                      (  609): R2781 ±37
 38. Apery_2700K_4c           (  542): R2859 ±32
 39. h3gyogun                 (  531): R2139 ±34
 40. Sunfish1.23_X6t          (  522): R2394 ±35
 41. MK-shogi                 (  502): R2601 ±30
 42. sakurapyon-onamae        (  496): R2331 ±30
 43. Bonanza6.0-Opteron250-2c (  493): R2542 ±33
 44. ponanza_4c               (  445): R2922 ±29
 45. ske48                    (  439): R2830 ±31
 46. YssL_1000k               (  431): R2360 ±32
 47. Keep_achieve             (  430): R2894 ±32
 48. ttkn_eval110528_2630QM   (  427): R2910 ±32
 49. LePenseur                (  414): R2797 ±31
 50. stdd6                    (  406): R2098 ±29
 51. bona_hitagi              (  405): R2675 ±30
 52. BlunderXX_Q6700_2c       (  399): R2643 ±34
 53. sakurapyon-2012-0.027kpp (  396): R2344 ±30
 54. ZERO                     (  392): R2762 ±32
 55. sakurapyon-2012-0.025kpp (  385): R2337 ±26
 56. 1300d6                   (  367): R2057 ±28
 57. mumu2                    (  363): R2111 ±32
 58. sakurapyon-0.027-gmo     (  339): R2351 ±28
 59. hamu                     (  335): R2868 ±30
 60. sakurapyon-2012-029      (  334): R2346 ±26
 61. BlunderXX-r4193_4c       (  326): R2347 ±31
 62. PonanzaCluster           (  325): R3147 ±20
 63. bona_Sinob               (  323): R2824 ±29
 64. gpsfish_4c               (  302): R2926 ±26
 65. BlunderXX-Test_4c        (  287): R2214 ±32
 66. sakurapyon-2012-0.021kpp (  286): R2205 ±25
 67. nop                      (  281): R2829 ±27
 68. bona6_1000k              (  264): R2414 ±27
 69. Bonanza6.0-Q6700-2c      (  261): R2581 ±26
 70. MDK                      (  253): R2696 ±24
 71. kuma_w_bona6             (  253): R2242 ±28
 72. Keep_firmness            (  249): R2820 ±28
 73. Keep_expect              (  244): R2839 ±27
 74. BlunderXX-GPW2012        (  237): R2857 ±24
 75. YssL_100k                (  226): R2064 ±24
 76. momotamaE                (  223): R2714 ±23
 77. test_0.15                (  222): R2844 ±25
 78. NanohaWCSC21USI          (  220): R1980 ±23
 79. BlunderXX_Opteron250_2c  (  218): R2598 ±24
 80. YssL980X_6c              (  218): R2725 ±28
 81. kakusan_hadouhou         (  204): R2382 ±26
 82. Phantom                  (  201): R2705 ±22
 83. masana                   (  199): R2862 ±22
 84. test0.01                 (  198): R2571 ±25
 85. simk_0307                (  197): R2184 ±26
 86. apacci                   (  191): R2680 ±23
 87. mumu_jam_nana            (  187): R2365 ±24
 88. inuinu                   (  178): R2500 ±24
 89. mu3a                     (  177): R2180 ±24
 90. Apery_WCSC22             (  172): R2168 ±24
 91. rico                     (  170): R2185 ±24
 92. B_2500K_4c               (  167): R2927 ±18
 93. XXX                      (  165): R2745 ±22
 94. ph945-2c                 (  164): R2755 ±21
 95. kuma2_l                  (  163): R2139 ±22
 96. inu                      (  162): R2581 ±21
 97. Sunfish1.28a             (  162): R2343 ±23
 98. bona6_1s                 (  160): R2877 ±20
 99. nikohima_human           (  159): R2453 ±21
100. kuma_wcs22               (  156): R2072 ±19
101. jkt48                    (  154): R2730 ±20
102. ph945-4c                 (  146): R2799 ±19
103. zaku                     (  141): R2852 ±19
104. gin                      (  141): R2986 ±18
105. freedom                  (  140): R2217 ±21
106. bono                     (  135): R2282 ±18
107. futyagin                 (  132): R2823 ±17
108. HotJupiter               (  132): R2984 ±12
109. kaziking                 (  129): R2347 ±19
110. YssL980X_1c              (  128): R2563 ±19
111. YssOpMJ_3c_x2            (  125): R2705 ±18
112. bns6b                    (  125): R2698 ±18
113. bns6a                    (  124): R2699 ±20
114. BlunderXX-r4184_4c       (  122): R2256 ±18
115. stockfish                (  121): R2766 ±17
116. hunter                   (  121): R2822 ±15
117. llcf                     (  120): R2863 ±16
118. sinbo                    (  115): R2768 ±17
119. gpsshogi_expt            (  111): R2969 ±15
120. Keep_exceed              (  109): R2827 ±15
121. BlunderXX-r4167_4c       (  101): R2054 ±15
122. G_2500K_4c               (  101): R2778 ±17
123. sakurapyon-2012-0.019kpp (  100): R2239 ±13
124. gps_f                    (   97): R2877 ±12
125. Keep_firmness1.2         (   93): R2924 ±11
126. YssOpMJ_1c_x2            (   91): R2693 ±14
127. sakurapyon-2012-0.017kpp (   91): R2129 ±12
128. kuma_bona6               (   88): R2172 ±12
129. Sunfish1.30              (   87): R2329 ±15
130. FJ                       (   83): R2963 ±11
131. BlunderXX-WCSC22         (   83): R2631 ±13
132. floodgate-900-0.ki       (   83): R2748 ±11
133. kato                     (   82): R2377 ±12
134. human                    (   81): R2158 ±16
135. Bonanza_expt             (   80): R3097 ±10
136. i7-2600_8T_bona_Ver6.0   (   80): R2771 ±14
137. misairu                  (   79): R2417 ±12
138. NanohaForWCSC22          (   75): R2054 ±10
139. ZELDA                    (   73): R2824 ±13
140. chienowa                 (   68): R2319 ±13
141. bona_karen               (   67): R2616 ±11
142. Selene_c1_relpos         (   59): R1953 ±5.6
143. Revolver                 (   59): R2923 ±8.9
144. bona6_3s                 (   56): R2421 ±11
145. sakurapyon-2012-0.014kpp (   31): R2052 ±3.7
------------------
------------------
レート順位. 名前 (棋譜数): レート平均 ±標準偏差
  1. PonanzaCluster           (  325): R3147 ±20
  2. Bonanza_expt             (   80): R3097 ±10
  3. gin                      (  141): R2986 ±18
  4. HotJupiter               (  132): R2984 ±12
  5. gpsshogi_expt            (  111): R2969 ±15
  6. FJ                       (   83): R2963 ±11
  7. ponanza-990XEE           ( 1844): R2954 ±36
  8. co-danaka-kun            (  762): R2936 ±34
  9. B_2500K_4c               (  167): R2927 ±18
 10. gpsfish_4c               (  302): R2926 ±26
 11. LL                       (  868): R2925 ±34
 12. Keep_firmness1.2         (   93): R2924 ±11
 13. Revolver                 (   59): R2923 ±8.9
 14. ponanza_4c               (  445): R2922 ±29
 15. PuppetMaster             ( 1508): R2913 ±36
 16. ttkn_eval110528_2630QM   (  427): R2910 ±32
 17. tsutsukana_2630QM        ( 1481): R2900 ±37
 18. Keep_achieve             (  430): R2894 ±32
 19. gps_f                    (   97): R2877 ±12
 20. bona6_1s                 (  160): R2877 ±20
 21. hamu                     (  335): R2868 ±30
 22. llcf                     (  120): R2863 ±16
 23. masana                   (  199): R2862 ±22
 24. Apery_2700K_4c           (  542): R2859 ±32
 25. BlunderXX-GPW2012        (  237): R2857 ±24
 26. zaku                     (  141): R2852 ±19
 27. test_0.15                (  222): R2844 ±25
 28. Keep_firmness1.3         ( 1177): R2841 ±34
 29. Keep_expect              (  244): R2839 ±27
 30. ske48                    (  439): R2830 ±31
 31. nop                      (  281): R2829 ±27
 32. Keep_exceed              (  109): R2827 ±15
 33. ZELDA                    (   73): R2824 ±13
 34. bona_Sinob               (  323): R2824 ±29
 35. futyagin                 (  132): R2823 ±17
 36. hunter                   (  121): R2822 ±15
 37. Keep_firmness            (  249): R2820 ±28
 38. Keep_firmness1.4         ( 1575): R2815 ±37
 39. bona_Sinobu              (  925): R2802 ±35
 40. ph945-4c                 (  146): R2799 ±19
 41. LePenseur                (  414): R2797 ±31
 42. Shueso                   (  953): R2783 ±37
 43. vcc                      (  609): R2781 ±37
 44. Titanda_L                ( 3985): R2781 ±38
 45. Shueso_2c                (  820): R2779 ±36
 46. G_2500K_4c               (  101): R2778 ±17
 47. BlunderXX-2820QM         (  705): R2776 ±33
 48. Gekisashi_X5590_1c       ( 3465): R2772 ±35
 49. i7-2600_8T_bona_Ver6.0   (   80): R2771 ±14
 50. sinbo                    (  115): R2768 ±17
 51. stockfish                (  121): R2766 ±17
 52. ZERO                     (  392): R2762 ±32
 53. ph945-2c                 (  164): R2755 ±21
 54. floodgate-900-0.ki       (   83): R2748 ±11
 55. XXX                      (  165): R2745 ±22
 56. jkt48                    (  154): R2730 ±20
 57. YssL980X_6c              (  218): R2725 ±28
 58. momotamaE                (  223): R2714 ±23
 59. Phantom                  (  201): R2705 ±22
 60. YssOpMJ_3c_x2            (  125): R2705 ±18
 61. bns6a                    (  124): R2699 ±20
 62. bns6b                    (  125): R2698 ±18
 63. MDK                      (  253): R2696 ±24
 64. YssOpMJ_1c_x2            (   91): R2693 ±14
 65. apacci                   (  191): R2680 ±23
 66. bona_hitagi              (  405): R2675 ±30
 67. Bonanza                  ( 3722): R2645 ±36
 68. BlunderXX_Q6700_2c       (  399): R2643 ±34
 69. BlunderXX-WCSC22         (   83): R2631 ±13
 70. bona_karen               (   67): R2616 ±11
 71. MK-shogi                 (  502): R2601 ±30
 72. BlunderXX_Opteron250_2c  (  218): R2598 ±24
 73. Ibala_mayaka             (  926): R2590 ±32
 74. Bonanza6.0-Q6700-2c      (  261): R2581 ±26
 75. inu                      (  162): R2581 ±21
 76. poor                     ( 3197): R2577 ±38
 77. penguin                  (  903): R2572 ±35
 78. test0.01                 (  198): R2571 ±25
 79. YssL980X_1c              (  128): R2563 ±19
 80. YssL540_1c               (  669): R2554 ±38
 81. Bonanza6.0-Opteron250-2c (  493): R2542 ±33
 82. Apery                    (  912): R2541 ±37
 83. gps_                     ( 2759): R2540 ±35
 84. Keep                     ( 1271): R2532 ±35
 85. inuinu                   (  178): R2500 ±24
 86. gps_l                    (14223): R2488 ±36
 87. BlunderXX_4c             ( 8548): R2477 ±40
 88. nikohima_human           (  159): R2453 ±21
 89. bona6_3s                 (   56): R2421 ±11
 90. misairu                  (   79): R2417 ±12
 91. bona6_1000k              (  264): R2414 ±27
 92. Sunfish1.23_X6t          (  522): R2394 ±35
 93. kakusan_hadouhou         (  204): R2382 ±26
 94. kato                     (   82): R2377 ±12
 95. mumu_jam_nana            (  187): R2365 ±24
 96. YssL_1000k               (  431): R2360 ±32
 97. sakurapyon-0.027-gmo     (  339): R2351 ±28
 98. bona6.0_norm             (  649): R2350 ±33
 99. BlunderXX-r4193_4c       (  326): R2347 ±31
100. kaziking                 (  129): R2347 ±19
101. sakurapyon-2012-029      (  334): R2346 ±26
102. sakurapyon-2012-0.027kpp (  396): R2344 ±30
103. Sunfish1.28a             (  162): R2343 ±23
104. sakurapyon-2012-0.025kpp (  385): R2337 ±26
105. sakurapyon-onamae        (  496): R2331 ±30
106. Sunfish1.30              (   87): R2329 ±15
107. chienowa                 (   68): R2319 ±13
108. bingo                    ( 4634): R2313 ±37
109. YSS                      (  859): R2295 ±35
110. bono                     (  135): R2282 ±18
111. sakurapyon-2012-0.022kpp (  959): R2267 ±34
112. BlunderXX-r4184_4c       (  122): R2256 ±18
113. kuma_w_bona6             (  253): R2242 ±28
114. sakurapyon-2012-0.019kpp (  100): R2239 ±13
115. Sunfish1.20_X6t          (  673): R2226 ±32
116. simk_test                (  918): R2219 ±35
117. freedom                  (  140): R2217 ±21
118. mumu                     ( 1661): R2216 ±38
119. BlunderXX-Test_4c        (  287): R2214 ±32
120. kuma2_test               ( 1000): R2207 ±35
121. sakurapyon-2012-0.021kpp (  286): R2205 ±25
122. rico                     (  170): R2185 ±24
123. simk_0307                (  197): R2184 ±26
124. mu3a                     (  177): R2180 ±24
125. Kakinoki-Test            ( 2156): R2179 ±37
126. sakurapyon-2012-0.015kpp ( 2143): R2176 ±36
127. kuma_bona6               (   88): R2172 ±12
128. Apery_WCSC22             (  172): R2168 ±24
129. human                    (   81): R2158 ±16
130. gps_normal               (11549): R2150 ±39
131. h3gyogun                 (  531): R2139 ±34
132. kuma2_l                  (  163): R2139 ±22
133. sakurapyon-2012-0.017kpp (   91): R2129 ±12
134. Kakinoki-Z               ( 3884): R2124 ±39
135. mumu2                    (  363): R2111 ±32
136. stdd6                    (  406): R2098 ±29
137. mcts                     ( 2684): R2084 ±35
138. kuma_wcs22               (  156): R2072 ±19
139. YssL_100k                (  226): R2064 ±24
140. 1300d6                   (  367): R2057 ±28
141. BlunderXX-r4167_4c       (  101): R2054 ±15
142. NanohaForWCSC22          (   75): R2054 ±10
143. sakurapyon-2012-0.014kpp (   31): R2052 ±3.7
144. NanohaWCSC21USI          (  220): R1980 ±23
145. Selene_c1_relpos         (   59): R1953 ±5.6
------------------

前回の記事「データから線を引く 1:ピアソンの相関係数」では線形相関の有無をどのように確認するのかを解説しました。今回は具体的に線形関係:\[y(x; a, b) = a x + b\]のaとbをどのように推定したらいいのかを解説します。

まだコンピュータが発達していない昔々、実験系の研究室にはデータに線を引く“名人”がいたという伝説があります。“名人”は実験データがプロットされたグラフ用紙を一瞥してサッと定規で線を引きます。その線は不思議なことにこれから解説する手法で計算された線とほぼ一致したそうです。昔はいちいち手で計算するのが大変だったので、そういう“名人”がいると非常に重宝することになります。今ならコンピュータで手間もかかりませんので、ロストテクノロジー伝説の一つという事になるのでしょうか。むしろ今やったら、研究不正がどうのと面倒なことになるかもしれません。

余談はさておき、統計学で推定する場合には、aとbがどんな値であれば、現在のサンプルデータが得られる可能性(尤度=もっともらしいさ)が最大になるのかを計算して線を引くことになります(最尤法と言う)。

データの誤差が標準偏差sの正規分布であると仮定すると、サンプルデータ\[\{ (x_1, y_1), (x_2, y_2), \cdots, (x_n, y_n) \}\]が得られる確率P(尤度)は\[P = \prod_{i = 1}^{n} \frac{1}{s \sqrt{2 \pi}} \exp{(- \frac{[ y_{i} - y(x_{i}; a, b) ]^{2}}{2 s^{2}}~)}\]となります。ここで、標準偏差sがデータ毎に違うと考えて一般化して議論することも可能ですが、今回は簡単のために誤差の標準偏差は一定であるという場合に限定します。

aとbを変数として尤度Pを最大にするには、数学的に書き換えると、\[\chi^{2}(a, b) = \sum_{i = 1}^{n} \frac{[ y_{i} - y(x_{i}; a, b) ]^{2}}{s^{2}}\]という量を最小にすればよいという事になります(カイ二乗の表記は自由度n - 2のカイ二乗分布に従うため、ここの2は変数の数)。これは標準偏差sが定数であることを鑑みると、線とデータとの差の二乗の和(残差の二乗和)を最小化するということに対応しています。なので、これを最小二乗法と言います。

ここで、最初にデータの誤差について正規分布を仮定していることに注意してください。例えば、サンプルデータ自身が各測定点における複数回の測定の平均値であるような場合には中心極限定理により正規分布が期待されます。他にも中心極限定理を活用して理論的に正規分布を導いて、この仮定の正当性を主張することは多々あります。しかしながら、現実のサンプルデータにおいては、この仮定が成立していないことは珍しくありません。中心極限定理が成立するには数が足りなかったり、近くを走る電車の振動など、無作為ではない誤差要素が関与していたりするからです。それでは仮定が成立しなければ最小二乗法は使えないのかというと、必ずしもそうではなく、統計学的な妥当性を失ったとしても、実際の科学研究において最小二乗法はプラグマティックに有用な手法になっています。この辺の事情はいささか複雑ですので、ここでは記しません。

具体的に残差の二乗和を最小にするaとbを計算すると、aとbについての偏微分がそれぞれ0となる連立方程式を解けばよいので、\[a = \frac{S_{uv}}{S_{uu}},~~ b = \bar{y} - a \bar{x}\]となります。ここで、\[S_{uv} = \sum_{i = 1}^{n} \frac{u_{i} v_{i}}{n},~~ S_{uu} = \sum_{i = 1}^{n} \frac{u_{i}^{2}}{n}\]と\[u_{i} = x_{i} - \bar{x},~~ v_{i} = y_{i} - \bar{y}\]は前回の記事で導入したものと同じであり、\[\bar{x},~~ \bar{y}\]は、それぞれxとyの平均です。データに線を引くには、これらの量を計算すればよいという事になります。

最小点における残差の二乗和は前回の記事で解説したピアソンの相関係数rと関係しており、\[\chi^{2} = \frac{n}{s^{2}} (1 - r^{2}) S_{vv} \approx n (1 - r^{2})\]となります。ここで、\[S_{vv} = \sum_{i = 1}^{n} \frac{v_{i}^{2}}{n}\]も前回の記事で導入したものと同じです。つまり、rの絶対値が1に近いほど、線形回帰の当てはまりが良いということが分かります。

さて、以上の議論は多変数の場合や非線形の場合にも同様に展開することができます。その一つの応用例は、コンピュータ将棋においてBonanzaメソッドで有名になった機械学習です。

Bonanza等のコンピュータ将棋の評価関数には大量の変数が含まれています。それらの変数は、棋譜等の教師データを再現する可能性が高くなるように、メリット関数(例えば、残差の二乗和)を作成して、それを最小化することで決定されます(メリット関数のことを評価関数と翻訳する場合もあるので注意)。そのように決定された数値が、例えば、Bonanzaの場合にはfv.binに記されて、局面の評価に利用されるわけです。この仕組みは今回の記事で解説したものと類似しています。変数を決める際の多変数の最小化問題は簡単ではありませんが、そこはコンピュータの計算力で乗り越えます。また同時に、教師データに過剰適応(過学習と言う)しないように変数の取り得る値に制限を付けること(正則化と言う)も行います。こういう人為的な操作の部分は今回解説した統計処理にはない違いの部分ということになります。

以上、今回はデータから線を引く方法を解説しました。上記の方法でコンピュータを用いれば、“名人”でなくても誰でも簡単に線を引くことができます。この辺り、コンピュータ将棋に通じているものがあるのでしょうか……

このページのトップヘ