「手数と投了 7:floodgateにおける投了手数 改」では、floodgate棋譜集における投了手数の詳細を解析し、平均手数(読みの類似度)とレートとの関係を論じました。ここでは、さらに詳細に対局者毎に関係を整理してみたいと思います。
具体的には、floodgate棋譜集(2012~2016年版)から30手以上230手以下の投了決着棋譜に限定し、さらにレート差200以内で勝ち数と負け数が共に50以上ある対局者の組み合わせを選出しました。floodgate棋譜集については以下をご参照ください。
- floodgateの棋譜整理とレート算出:floodgate棋譜集(2012年版)
- floodgateの棋譜整理とレート算出:floodgate棋譜集(2013年版)
- floodgateの棋譜整理とレート算出:floodgate棋譜集(2014年版)
- floodgateの棋譜整理とレート算出:floodgate棋譜集(2015年版)
- floodgateの棋譜整理とレート算出:floodgate棋譜集(2016年版)
各組合せにおける平均手数Tから、読みの類似度Yを
\[Y = \frac{T - M}{M}\]
と定義します。ここで、Mは平均手数の平均に対応する量ですが、以下では、
\[M = 130\]
としています。また、平均手数Tは、勝ち棋譜と負け棋譜で別々に算出して、その算術平均を取ることで勝率補正を行っています(参照:「floodgateにおける手数とレート差:棋士との違いは?」)。この定義では、Yの値が正で大きい程、読みが類似しているということになり、負の値になると平均よりも読みが異なっているということになります。
誤差の目安としては、1局の標準偏差を約30手とすると、対局数nの標準誤差SEは
\[\text{SE} = \frac{30}{z \sqrt{n}} \approx \frac{0.23}{\sqrt{n}} \]
程度と見積もれます。100局なら0.023程度で、1000局なら0.007程度です。ただし、平均手数は投了設定に依存するため、読みの類似度としては投了設定が系統誤差を生むことがあり、注意が必要になります。
該当する対局者の組み合わせ毎に、対局者の平均レートと読みの類似度Yとの関係を表示したのが下図です。棋譜集の年毎に点の色を変えています。また、オレンジ色の線と点は、それぞれレート500刻み区間の平均値を表しています。
上図を見ると、対局者毎に分けて表示を行っても、全体的な傾向としては、「手数と投了 7:floodgateにおける投了手数 改」の記事の結果と同様の構造を示していることが分かります。
さらに、詳細な対局者リストを記事の最後に付記します。
リストを眺めると、2013年版の「amatyan」と「Titanda_L」の組み合わせは突出して類似度が高く、同じソフトを動かしていたのではないかと推測されます。その他の類似度の高い組み合わせは、名前を見る限り、別のソフト同士の組み合わせが多く、平均手数が長いからと言って必ずしも同一ソフトとは認定できないことが分かります。
一方で、類似度の低い組み合わせを見ると、名前から同じソフトだと思われる組み合わせはほとんど見つからず、平均手数が短い場合には同一ソフトではないだろうということは言えるかもしれません。
ただし、所々に解釈が難しい結果があります。
例えば、2012年の「gps_l (171) - gps_ (277)」は名前からしてgps同士の対局ですが、類似度は-0.072とやや低くなっています。対局数も多いので偶然とも考えづらく、「gps_」は従来のgpsとは異なる動作をしていたのではないかと考えられます。勝敗毎に類似度の内訳を見てみると、「gps_」が負けた時に-0.116と非常に低い値になっているため(※レート上位者が負ける時は本来は手数が伸びる傾向がある)、「gps_」の投了設定が低くなっていたか、予想外の進行で負けるような何かがプログラムにあったのだと思われます。
また、2013年の「gps_l (148) - bona6.0_norm (176)」は-0.097、2014年の「gps_l (128) - bonanza6.0 (365)」は-0.130と低い類似度になっていますが、一方で、2013年の「gps_l (493) - Bonanza6.0-Opteron250-2c (1032)」は+0.071、2014年の「gps_l (113) - Bonanza6.0-Opteron250-2c (229)」は+0.058と正の類似度になっており、もしどちらも「gps_l」とBonanza6.0との対局だとすると、整合的ではありません。これも勝敗毎の内訳を見てみると、Bonanza6.0側が勝った場合には大きな差はなく、負けた場合にのみ平均40手程度の大きな差がついています。もしかすると「bona6.0_norm」「bonanza6.0」の投了設定が非常に低く設定されていたのかもしれません。
また、2013年の「BlunderXX_4c (231) - BlunderXX_Q6700_2c 348)」は同じソフト同士の対局だと思われますが、類似度は+0.003と高くありません。こちらは勝敗毎の内訳を見ても不自然なところはないため、BlunderXX自体の自己対局における平均手数が短いか、両者共に投了設定を低くしていたかのどちらかだと思われます。
この辺は、平均手数しか見ていないことの限界でしょう。
以上、今回は、floodgate棋譜集(2012~2016年版)から、平均手数(読みの類似度)とレートとの関係を対局者毎に整理しました。結果として、投了設定等の系統誤差により機能していないと思われるデータも散見されるものの、全体的には平均手数から読みの類似度が推測できることが確認できました。
-------------------
付記:floodgateにおける読みの類似度リスト(2012~2016年版)
読みの類似度: 低レート対局者 (勝利数) - 高レート対局者 (勝利数)
2012年
- 平均レート2500以下
+0.121: gps_normal ( 51) - simk_test ( 82) +0.107: mcts (269) - gps_normal (327) +0.098: gps_normal (195) - sakurapyon-2012-0.015kpp (281) +0.066: gps_normal (125) - mumu (172) +0.061: Kakinoki-Z (358) - gps_normal (510) +0.060: gps_normal ( 57) - sakurapyon-2012-0.022kpp (134) +0.057: gps_normal (195) - Kakinoki-Test (183) +0.054: YSS ( 55) - bingo ( 53) +0.046: gps_normal ( 67) - kuma2_test (119) +0.041: Kakinoki-Test ( 51) - simk_test ( 56) +0.021: mumu ( 55) - bingo ( 58) +0.020: Kakinoki-Z ( 78) - mumu ( 68) +0.019: bingo (147) - gps_l (524) +0.016: Kakinoki-Z (142) - Kakinoki-Test (159) +0.012: gps_normal (203) - bingo (408) +0.003: bingo (210) - BlunderXX_4c (248) -0.003: Kakinoki-Test ( 65) - bingo (108) -0.005: BlunderXX_4c (676) - gps_l (589) -0.028: Kakinoki-Z ( 55) - kuma2_test ( 95) -0.073: gps_normal ( 51) - Sunfish1.20_X6t ( 69)
- 平均レート2500~3000
+0.127: co-danaka-kun ( 61) - ponanza-990XEE ( 75) +0.009: Titanda_L ( 69) - PuppetMaster (135) +0.002: BlunderXX-2820QM ( 64) - Titanda_L ( 53) -0.027: Titanda_L (136) - Keep_firmness1.4 (168) -0.050: Titanda_L (112) - Keep_firmness1.3 (136) -0.054: gps_l (102) - Keep (130) -0.055: BlunderXX-2820QM ( 50) - Keep_firmness1.3 ( 78) -0.057: Gekisashi_X5590_1c ( 50) - Keep_firmness1.3 ( 94) -0.059: gps_l (215) - Bonanza (454) -0.069: Gekisashi_X5590_1c ( 63) - Titanda_L ( 73) -0.072: gps_l (171) - gps_ (277) -0.073: Gekisashi_X5590_1c ( 88) - bona_Sinobu (113) -0.133: gps_l (203) - poor (352) -0.148: BlunderXX_4c (114) - gps_ (122) -0.186: poor (154) - Bonanza (204) -0.210: BlunderXX_4c ( 57) - poor (180)
2013年
- 平均レート2500以下
+0.133: gps_normal (141) - rgm_008 (128) +0.112: vps_mc2 (106) - gps_normal (119) +0.102: gps_normal (328) - Sunfish3-trial24 (427) +0.079: rgm_009 ( 65) - gps_normal ( 79) +0.070: gps_normal (278) - Kakinoki-Z (318) +0.053: gps_normal (453) - sakurapyon_dti (727) +0.053: gps_normal (138) - sakurapyon_2013 (301) +0.036: sakurapyon_dti (157) - sakurapyon_4G (659) +0.030: gps_normal (300) - sakurapyon_4G (922) +0.025: sakurapyon_test ( 91) - gps_normal (200) -0.002: Sunfish3-trial24 ( 67) - sakurapyon_4G (292) -0.009: Kakinoki-Z ( 70) - sakurapyon_2013 ( 89) -0.012: Sunfish3-trial24 ( 55) - sakurapyon_2013 (176) -0.015: Sunfish3-trial24 (252) - sakurapyon_dti (269) -0.024: rgm_008 ( 62) - sakurapyon_4G (148) -0.044: vps_mc2 ( 75) - sakurapyon_dti (123)
- 平均レート2500~3000
+0.071: gps_l (493) - Bonanza6.0-Opteron250-2c (1032) +0.068: ponyo (117) - Bonanza6.0-Opteron250-2c ( 177) +0.032: Bonanza6.0-Opteron250-2c (461) - BlunderXX_Q6700_2c ( 766) +0.032: Bonanza6.0-Opteron250-2c (226) - BlunderXX_4c ( 289) +0.017: gps_l (138) - ponyo ( 213) +0.007: kato2 ( 65) - Bonanza6.0-Opteron250-2c ( 87) +0.003: BlunderXX_4c (231) - BlunderXX_Q6700_2c ( 348) +0.002: gps_l (179) - BlunderXX_4c ( 400) -0.019: ponyo ( 65) - BlunderXX_Q6700_2c ( 122) -0.020: ponyo (126) - BlunderXX_4c ( 181) -0.022: gps_l (130) - kato2 ( 169) -0.025: BlunderXX_Q6700_2c (142) - Gekisashi_X5590_1c ( 277) -0.059: Bonanza6.0-Opteron250-2c ( 71) - Flummi ( 113) -0.077: kato2 ( 93) - BlunderXX_Q6700_2c ( 211) -0.078: kato2 ( 67) - BlunderXX_4c ( 79) -0.097: gps_l (148) - bona6.0_norm ( 176)
- 平均レート3000以上
+0.219: amatyan ( 59) - Titanda_L (103) +0.156: Titanda_L (151) - ponanza-990XEE (411) +0.111: amatyan ( 52) - NineDayFever_XeonE5-2690_16c (129) +0.107: jidaiokure ( 53) - Titanda_L ( 76) +0.098: Gekisashi_X5590_7c (103) - ponanza-990XEE (100) +0.085: PuppetMaster (137) - ponanza-990XEE (120) +0.083: Titanda_L (254) - NineDayFever_XeonE5-2690_16c (566) +0.067: gps_f_testbook ( 73) - PuppetMaster ( 90) +0.067: NineDayFever_XeonE5-2690_16c (172) - ponanza-990XEE (217) +0.019: PuppetMaster (120) - maybe_tomorrow (161) +0.014: tsutsukana_1303p3 ( 52) - NineDayFever_XeonE5-2690_16c ( 73) +0.003: PuppetMaster (206) - Gekisashi_X5590_7c (252) -0.005: Gekisashi_X5590_1c (192) - PuppetMaster (430) -0.006: NineDayFever_XeonE5-2690_16c ( 92) - gpsfish_x5680 ( 90) -0.070: BlunderXX-WCSC23 ( 64) - gpsfish_x5680 (103)
2014年
- 平均レート2500以下
+0.103: gps_normal (121) - Bonanza_6.0_RPi ( 204) +0.065: gps_normal (842) - Kakinoki-Z (1183) +0.059: gps_normal (233) - sakurapyon_vps ( 672) +0.046: gps_normal (152) - sakurapyon_4G ( 458) +0.034: gps_normal (121) - bonanza_on_RaspberryPi ( 153) +0.020: Kakinoki-Z (279) - sakurapyon_vps ( 384) +0.008: Kakinoki-Z (116) - sakurapyon_4G ( 246) -0.016: Bonanza_6.0_RPi (105) - Kakinoki-Z ( 129) -0.032: Bonanza_6.0_RPi ( 67) - sakurapyon_vps ( 125)
- 平均レート2500~3000
+0.068: GPSShogi_AMD_C-60_2c ( 95) - gps_l ( 67) +0.058: gps_l (113) - Bonanza6.0-Opteron250-2c (229) -0.033: gps_l (179) - kato2 (471) -0.068: Bonanza6.0-Opteron250-2c ( 69) - Flummi2 (168) -0.087: gpsfish_normal_1c ( 62) - KeepTheF ( 96) -0.093: flummi2 ( 79) - kato2 (136) -0.099: gps_l ( 64) - flummi2 (217) -0.107: gps_l (123) - Flummi (272) -0.128: kato2 ( 81) - Flummi2 (112) -0.130: gps_l (128) - bonanza6.0 (365)
- 平均レート3000以上
+0.160: AWAKE_i7_2620M_2c (121) - gpsfish_XeonX5680_12c ( 97) +0.132: gpsfish_XeonX5680_12c ( 69) - ponanza-990XEE (128) +0.130: Titanda_L ( 70) - Apery_2700K_4c ( 77) +0.128: Titanda_L (253) - gpsfish_XeonX5680_12c (870) +0.105: ponax_i7_3770 ( 54) - gpsfish_XeonX5680_12c ( 66) +0.089: gpsfish_XeonX5680_12c ( 77) - NineDayFever_XeonE5-2690_16c (277) +0.052: CrazyKing (135) - gpsfish_XeonX5680_12c (220) +0.039: Titanda_L (101) - CrazyKing (142) -0.035: CrazyKing ( 60) - NineDayFever_XeonE5-2690_16c (158)
2015年
- 平均レート2500以下
+0.060: acop ( 69) - ddd ( 58)
- 平均レート2500~3000
+0.051: NewMorning (123) - Kingfish (136) -0.059: kato2 ( 90) - gpsfish_normal_1c (238) -0.060: gpsfish_normal_1c ( 61) - suzuran ( 65) -0.069: NewMorning (322) - gpsfish_normal_1c (683) -0.071: Kingfish (182) - gpsfish_normal_1c (298) -0.110: gps_l ( 87) - flummi2 (233) -0.120: flummi2 ( 51) - kato2 ( 72)
- 平均レート3000以上
+0.134: stap5 ( 63) - gpsfish_XeonX5680_12c_bid (130) +0.113: gpsfish_XeonX5680_12c_bid ( 87) - ycas ( 78) +0.104: tanuki-_5500U ( 97) - gpsfish_XeonX5680_12c_bid (157) +0.099: Titanda_L ( 64) - gpsfish_XeonX5680_12c (109) +0.093: gpsfish_XeonX5680_12c_bid ( 58) - AUJK ( 61) +0.092: Titanda_L ( 54) - gpsfish_mini ( 65) +0.081: gpsfish_XeonX5680_12c_bid ( 68) - Apery_i7-5820 (136) +0.077: Apery_20151016 ( 53) - gpsfish_XeonX5680_12c_bid ( 60)
2016年
- 平均レート2500以下
+0.008: gps_l ( 50) - aggressor (104)
- 平均レート2500~3000
+0.019: gpsfish_normal_1c (170) - Gc_Test_Cortex-A7_2c (249) +0.006: Starbound ( 59) - Apery32_tmmod_3735F-4thread (109) -0.013: Ydebug185 ( 72) - gpsfish_normal_1c ( 60) -0.017: gpsfish_normal_1c (200) - Starbound (207) -0.097: gpsfish_normal_1c (103) - Apery32_tmmod_3735F-4thread (151)
- 平均レート3000以上
+0.116: nanoTwig_FX9590_4.7GHz ( 94) - gpsfish_XeonX5680_12c_bid (177) +0.111: gpsfish_XeonX5680_12c_bid ( 72) - ANSM (164)
コメント