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

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

2015年12月

棋士の「粘り度」とは、投了負けの棋譜の平均手数を115で割った値のことです。外れデータの影響を抑えるため、計算する際には30手以上200手以下の投了決着の棋譜に限定しています。詳細は「棋士の粘りと棋力:強い人は粘らせない?」をご覧ください。

今回は棋士棋譜集(2015年11月版)に基づいた結果です。この棋譜集の詳細については「棋士の棋譜整理とレート算出:棋士棋譜集(2015年11月版)」をご参照ください。

------------------
粘り度順位. 名前: 粘り度 (投了負けと投了勝ちの平均手数の比, 全投了決着の平均手数)
  1. 森安正幸  : 1.167  (1.061 , 131.8)
  2. 長谷部久雄: 1.167  (1.008 , 133.8)
  3. 今泉健司  : 1.152  (1.161 , 120.4)
  4. 板谷進    : 1.130  (1.044 , 127.4)
  5. 神田辰之助: 1.113  (1.063 , 124.0)
  6. 淡路仁茂  : 1.108  (1.026 , 125.8)
  7. 森安秀光  : 1.107  (1.024 , 125.7)
  8. 大野源一  : 1.107  (1.094 , 122.2)
  9. 花村元司  : 1.091  (1.016 , 124.6)
 10. 小林健二  : 1.090  (1.041 , 123.1)
 11. 田中悠一  : 1.087  (1.105 , 119.0)
 12. 熊谷達人  : 1.086  (0.9895, 125.3)
 13. 山田道美  : 1.086  (1.055 , 121.0)
 14. 中尾敏之  : 1.085  (1.053 , 122.0)
 15. 高島一岐代: 1.081  (1.001 , 124.2)
 16. 木村義雄  : 1.078  (1.053 , 119.8)
 17. 佐藤天彦  : 1.077  (1.106 , 115.8)
 18. 有吉道夫  : 1.077  (1.013 , 123.1)
 19. 神崎健二  : 1.076  (1.061 , 120.4)
 20. 野田敬三  : 1.075  (1.090 , 119.5)
 21. 神吉宏充  : 1.074  (1.017 , 122.7)
 22. 大石直嗣  : 1.073  (1.088 , 118.2)
 23. 大山康晴  : 1.073  (0.9943, 123.8)
 24. 中村修    : 1.067  (1.052 , 119.7)
 25. 原田泰夫  : 1.065  (1.017 , 121.7)
 26. 門倉啓太  : 1.065  (1.140 , 114.9)
 27. 土居市太郎: 1.065  (0.9505, 125.9)
 28. 森信雄    : 1.064  (1.031 , 120.9)
 29. 灘蓮照    : 1.062  (0.9987, 122.2)
 30. 金易二郎  : 1.062  (0.9772, 123.3)
 31. 二上達也  : 1.061  (1.015 , 121.1)
 32. 中村太地  : 1.060  (1.137 , 113.1)
 33. 糸谷哲郎  : 1.060  (1.013 , 120.8)
 34. 杉本昌隆  : 1.059  (1.021 , 120.5)
 35. 松田茂役  : 1.059  (0.9974, 122.0)
 36. 深浦康市  : 1.059  (1.070 , 117.1)
 37. 永瀬拓矢  : 1.059  (1.069 , 116.4)
 38. 戸辺誠    : 1.058  (1.102 , 115.0)
 39. 大内延介  : 1.057  (1.018 , 120.6)
 40. 中川大輔  : 1.054  (1.030 , 119.2)
 41. 加藤一二三: 1.053  (1.029 , 119.5)
 42. 豊川孝弘  : 1.051  (1.039 , 118.4)
 43. 高見泰地  : 1.051  (1.022 , 119.3)
 44. 萩原淳    : 1.050  (1.011 , 120.2)
 45. 西村一義  : 1.050  (0.9810, 121.8)
 46. 勝浦修    : 1.048  (0.9677, 122.4)
 47. 牧野光則  : 1.047  (1.030 , 118.7)
 48. 安恵照剛  : 1.046  (0.9869, 120.8)
 49. 菅井竜也  : 1.046  (1.076 , 114.4)
 50. 佐々木慎  : 1.045  (1.049 , 116.9)
 51. 久保利明  : 1.044  (1.076 , 115.1)
 52. 佐藤大五郎: 1.043  (0.9946, 120.2)
 53. 小倉久史  : 1.042  (1.016 , 118.8)
 54. 藤倉勇樹  : 1.042  (1.030 , 118.3)
 55. 豊島将之  : 1.041  (1.108 , 112.1)
 56. 本間爽悦  : 1.040  (0.9976, 119.7)
 57. 桐谷広人  : 1.040  (1.020 , 118.7)
 58. 高島弘光  : 1.039  (0.9945, 119.7)
 59. 田中寅彦  : 1.037  (1.034 , 117.3)
 60. 斎藤慎太郎: 1.036  (1.131 , 109.7)
 61. 鈴木大介  : 1.036  (0.9975, 119.3)
 62. 稲葉陽    : 1.035  (1.084 , 113.0)
 63. 渡辺明    : 1.033  (1.077 , 113.3)
 64. 酒井順吉  : 1.033  (1.035 , 117.4)
 65. 米長邦雄  : 1.032  (1.023 , 117.2)
 66. 田辺一郎  : 1.032  (0.9423, 120.7)
 67. 伊藤果    : 1.032  (0.9387, 121.7)
 68. 長沼洋    : 1.031  (1.025 , 116.9)
 69. 石川陽生  : 1.030  (1.036 , 116.6)
 70. 升田幸三  : 1.030  (1.018 , 117.2)
 71. 森けい二  : 1.029  (0.9771, 119.7)
 72. 真田圭一  : 1.029  (1.081 , 113.5)
 73. 中座真    : 1.028  (1.072 , 114.3)
 74. 関屋喜代作: 1.025  (1.044 , 116.0)
 75. 桜井昇    : 1.025  (0.9344, 120.4)
 76. 川上猛    : 1.025  (1.005 , 117.6)
 77. 坪内利幸  : 1.025  (1.014 , 117.2)
 78. 横山泰明  : 1.023  (1.049 , 114.5)
 79. 木村一基  : 1.023  (1.053 , 114.1)
 80. 高橋道雄  : 1.021  (1.018 , 116.4)
 81. 佐藤康光  : 1.021  (1.034 , 115.0)
 82. 瀬川晶司  : 1.021  (1.079 , 112.8)
 83. 阿部光瑠  : 1.020  (1.036 , 115.0)
 84. 森下卓    : 1.019  (0.9819, 118.5)
 85. 南芳一    : 1.018  (1.005 , 116.8)
 86. 中原誠    : 1.017  (1.025 , 115.3)
 87. 増田裕司  : 1.017  (0.9951, 117.2)
 88. 先崎学    : 1.015  (1.024 , 115.1)
 89. 花田長太郎: 1.014  (0.9555, 119.7)
 90. 所司和晴  : 1.011  (1.003 , 116.2)
 91. 松下力    : 1.010  (0.9792, 117.1)
 92. 加藤博二  : 1.009  (1.011 , 115.6)
 93. 屋敷伸之  : 1.009  (1.006 , 115.6)
 94. 瀬戸博晴  : 1.009  (0.9701, 117.2)
 95. 小堀清一  : 1.008  (1.060 , 113.6)
 96. 近藤正和  : 1.008  (1.036 , 113.8)
 97. 佐伯昌優  : 1.008  (0.9707, 117.1)
 98. 佐藤秀司  : 1.008  (0.9855, 116.7)
 99. 飯田弘之  : 1.006  (0.9617, 117.4)
100. 郷田真隆  : 1.006  (1.020 , 114.3)
101. 広津久雄  : 1.005  (0.9666, 117.2)
102. 村田智弘  : 1.005  (1.016 , 114.6)
103. 中田章道  : 1.005  (1.007 , 115.2)
104. 片上大輔  : 1.004  (1.015 , 114.5)
105. 森内俊之  : 1.004  (1.039 , 112.9)
106. 有森浩三  : 1.004  (0.9523, 118.6)
107. 千葉幸生  : 1.003  (1.076 , 110.7)
108. 伊藤能    : 1.003  (1.080 , 111.3)
109. 小野敦生  : 1.002  (1.013 , 114.6)
110. 千田翔太  : 1.002  (1.056 , 110.8)
111. 平藤眞吾  : 1.001  (1.028 , 113.5)
112. 富沢幹雄  : 1.001  (0.9729, 116.0)
113. 塚田泰明  : 0.9996 (1.036 , 112.9)
114. 前田祐司  : 0.9986 (0.9249, 118.5)
115. 高崎一生  : 0.9976 (1.074 , 110.1)
116. 内藤國雄  : 0.9971 (0.9709, 116.3)
117. 畠山成幸  : 0.9950 (1.007 , 114.0)
118. 浦野真彦  : 0.9943 (0.9751, 115.7)
119. 飯塚祐紀  : 0.9939 (0.9790, 115.5)
120. 広瀬章人  : 0.9936 (1.014 , 113.3)
121. 三浦弘行  : 0.9930 (1.010 , 113.6)
122. 羽生善治  : 0.9928 (1.039 , 111.1)
123. 中田宏樹  : 0.9927 (1.026 , 112.6)
124. 小野修一  : 0.9924 (0.9610, 116.2)
125. 高田尚平  : 0.9915 (1.039 , 111.9)
126. 島本亮    : 0.9914 (0.9952, 114.3)
127. 金井恒太  : 0.9910 (1.032 , 111.8)
128. 伊藤博文  : 0.9910 (0.9418, 116.6)
129. 西尾明    : 0.9905 (1.030 , 112.1)
130. 児玉孝一  : 0.9902 (0.9977, 114.0)
131. 井上慶太  : 0.9902 (1.020 , 112.8)
132. 坂口允彦  : 0.9900 (1.052 , 111.7)
133. 阿部隆    : 0.9895 (1.014 , 112.9)
134. 藤原直哉  : 0.9893 (1.013 , 113.1)
135. 西川慶二  : 0.9886 (0.9842, 114.3)
136. 伊藤真吾  : 0.9882 (1.006 , 113.3)
137. 関根茂    : 0.9881 (0.9814, 114.4)
138. 矢倉規広  : 0.9880 (1.005 , 113.3)
139. 佐々木勇気: 0.9877 (1.041 , 110.8)
140. 本間博    : 0.9875 (0.9211, 117.1)
141. 桐山清澄  : 0.9861 (0.9680, 115.2)
142. 窪田義行  : 0.9860 (0.9656, 115.6)
143. 田丸昇    : 0.9859 (0.9888, 113.9)
144. 大野八一雄: 0.9832 (0.9556, 115.2)
145. 藤井猛    : 0.9831 (1.033 , 111.0)
146. 宮坂幸雄  : 0.9828 (1.014 , 112.5)
147. 吉田正和  : 0.9820 (0.9519, 116.1)
148. 木村義徳  : 0.9817 (0.9345, 116.0)
149. 剱持松二  : 0.9813 (0.9488, 114.8)
150. 富岡英作  : 0.9808 (1.008 , 112.4)
151. 松尾歩    : 0.9798 (1.021 , 111.3)
152. 遠山雄亮  : 0.9781 (0.9603, 114.6)
153. 伊奈祐介  : 0.9774 (0.9896, 112.9)
154. 山崎隆之  : 0.9761 (1.013 , 111.4)
155. 北浜健介  : 0.9761 (1.004 , 112.0)
156. 飯野健二  : 0.9745 (0.9867, 112.7)
157. 村山慈明  : 0.9732 (1.001 , 111.9)
158. 若松政和  : 0.9728 (0.9542, 113.9)
159. 小阪昇    : 0.9722 (0.9522, 113.8)
160. 村中秀史  : 0.9707 (0.9793, 112.8)
161. 村山聖    : 0.9705 (0.9776, 113.2)
162. 青木清    : 0.9702 (0.8878, 116.3)
163. 澤田真吾  : 0.9699 (1.010 , 110.9)
164. 松浦隆一  : 0.9697 (0.9138, 115.3)
165. 中田功    : 0.9693 (0.9732, 113.0)
166. 行方尚史  : 0.9687 (0.9980, 111.5)
167. 佐藤紳哉  : 0.9687 (1.036 , 109.3)
168. 阪口悟    : 0.9684 (0.9796, 112.6)
169. 船江恒平  : 0.9675 (1.032 , 109.0)
170. 長岡裕也  : 0.9670 (1.013 , 110.5)
171. 沼春雄    : 0.9665 (0.9536, 112.9)
172. 土佐浩司  : 0.9664 (0.9312, 114.8)
173. 畠山鎮    : 0.9634 (0.9847, 111.7)
174. 東和男    : 0.9629 (0.9509, 112.9)
175. 櫛田陽一  : 0.9624 (0.9373, 114.6)
176. 石田和雄  : 0.9623 (0.9771, 111.8)
177. 五十嵐豊一: 0.9620 (0.9202, 114.7)
178. 野本虎次  : 0.9617 (1.041 , 109.3)
179. 武者野勝巳: 0.9612 (0.9603, 112.4)
180. 安西勝一  : 0.9612 (0.9614, 112.5)
181. 福崎文吾  : 0.9611 (0.9499, 113.1)
182. 飯島栄治  : 0.9611 (1.050 , 107.5)
183. 小林宏    : 0.9602 (1.033 , 108.9)
184. 谷川浩司  : 0.9599 (0.9901, 111.1)
185. 安用寺孝功: 0.9582 (0.9677, 112.0)
186. 佐藤和俊  : 0.9578 (0.9754, 111.7)
187. 松本佳介  : 0.9576 (1.001 , 110.1)
188. 大島映二  : 0.9573 (0.9558, 112.3)
189. 青野照市  : 0.9572 (0.9951, 110.3)
190. 丸山忠久  : 0.9564 (1.005 , 109.6)
191. 金子金五郎: 0.9546 (0.9631, 111.7)
192. 泉正樹    : 0.9545 (0.9661, 111.5)
193. 藤森哲也  : 0.9541 (1.023 , 108.5)
194. 中村亮介  : 0.9529 (0.9571, 112.3)
195. 田中魁秀  : 0.9520 (0.9312, 112.4)
196. 菊地常夫  : 0.9509 (0.9169, 113.2)
197. 野月浩貴  : 0.9483 (0.9776, 110.4)
198. 武市三郎  : 0.9468 (0.9304, 112.2)
199. 佐藤義則  : 0.9427 (0.9515, 110.5)
200. 高野秀行  : 0.9417 (0.9675, 110.1)
201. 山本真也  : 0.9414 (1.023 , 107.3)
202. 島朗      : 0.9405 (0.9398, 111.5)
203. 真部一男  : 0.9401 (0.9232, 111.8)
204. 佐藤慎一  : 0.9397 (0.9857, 108.9)
205. 村田顕弘  : 0.9394 (0.9964, 108.3)
206. 吉田利勝  : 0.9377 (0.9433, 110.0)
207. 大平武洋  : 0.9369 (0.9418, 111.0)
208. 橋本崇載  : 0.9363 (0.9907, 108.3)
209. 室岡克彦  : 0.9348 (1.005 , 107.3)
210. 依田有司  : 0.9347 (0.9308, 110.4)
211. 木下浩一  : 0.9346 (0.9195, 111.5)
212. 阿久津主税: 0.9338 (1.010 , 106.8)
213. 西川和宏  : 0.9320 (0.9212, 111.8)
214. 北島忠雄  : 0.9307 (0.9551, 109.7)
215. 小林裕士  : 0.9305 (1.015 , 106.1)
216. 塚田正夫  : 0.9292 (0.9079, 112.0)
217. 植山悦行  : 0.9280 (0.9526, 109.0)
218. 堀口一史座: 0.9268 (0.9597, 108.8)
219. 山口英夫  : 0.9176 (0.8572, 111.0)
220. 椎橋金司  : 0.9176 (0.9061, 108.5)
221. 山口千嶺  : 0.9145 (1.013 , 104.7)
222. 勝又清和  : 0.9130 (0.9173, 109.1)
223. 神谷広志  : 0.9120 (0.9232, 108.8)
224. 堀口弘治  : 0.9116 (0.9873, 105.4)
225. 河口俊彦  : 0.9114 (0.9087, 108.5)
226. 丸田祐三  : 0.9096 (0.8750, 110.6)
227. 関浩      : 0.9085 (0.9239, 107.7)
228. 日浦市郎  : 0.9076 (0.9460, 107.3)
229. 脇謙二    : 0.9047 (0.9500, 106.4)
230. 宮田敦史  : 0.9046 (0.9680, 106.1)
231. 及川拓馬  : 0.9038 (0.9938, 104.3)
232. 鈴木輝彦  : 0.9004 (0.9984, 103.6)
233. 達正光    : 0.8898 (0.9025, 107.0)
234. 木下晃    : 0.8896 (0.9268, 104.9)
235. 宮田利男  : 0.8888 (0.8788, 107.9)
236. 上野裕和  : 0.8875 (0.9391, 105.0)
237. 芹沢博文  : 0.8857 (0.8898, 106.7)
238. 岡崎洋    : 0.8812 (0.8925, 106.9)
239. 北村昌男  : 0.8762 (0.8669, 106.7)
240. 金沢孝史  : 0.8716 (0.8990, 104.4)
241. 阿部健治郎: 0.8663 (0.9240, 105.2)
242. 滝誠一郎  : 0.8654 (0.8971, 104.2)
243. 田村康介  : 0.8637 (0.9280, 103.4)
244. 池田修一  : 0.8438 (0.7912, 104.1)
245. 加瀬純一  : 0.8242 (0.8669, 99.92)
------------------

最後まで粘り強く指す人、早投げの人、棋士には様々なタイプの人がいると言われています。それらはどのように統計量として現れてくるのでしょうか? また、粘り強さと棋力との間には何か関係があるのでしょうか?

今回は棋士棋譜集(2015年11月版)に基づいて分析します。この棋譜集の詳細については「棋士の棋譜整理とレート算出:棋士棋譜集(2015年11月版)」をご参照ください。

まず、30手以上200手以下の投了決着の棋譜に限定して、リスト上の各棋士について、勝ちの棋譜と負けの棋譜を区別してそれぞれの平均手数を算出します。ここで手数の範囲を限定するのは外れデータの影響を抑えるためです。勝ちの棋譜については、投了したのは相手の棋士であり、そのタイミングは相手次第でバラバラのはずです。一方で、負けの棋譜については、投了のタイミングに棋士の個性が反映されていると推測できます。

結果として、勝ちの棋譜については各棋士の平均手数の平均は115.0で標準偏差は5.2となり、負けの棋譜については平均は114.4で標準偏差は6.8となりました。平均と標準偏差については解説記事「平均と標準偏差:それって不偏推定値?」をご覧ください。ここで、平均が棋譜全体の手数の平均よりも僅かに下がっているのは手数の範囲を限定しているためです。また、勝ちの棋譜と負けの棋譜の平均が僅かに異なっているのはリスト外の棋士がいるためです。

この結果で注目するべきなのは、標準偏差の違いです。標準偏差の値は負けの棋譜の方が勝ちの棋譜よりも1.6大きく、これは投了のタイミングについての棋士の個性が現れていると考えられます。つまり、投了の個性が平均化されて消えてしまう勝ちの棋譜よりも、反映されている負けの棋譜の方が棋士ごとのばらつきが大きいというわけです。

それでは、平均手数とレートとの間には相関関係はあるのでしょうか?

勝ちの棋譜については、平均手数とレートとの相関係数は-0.445であり、弱い負の相関があるようです。線形回帰を行うと、\[T = -0.0181 R + 142\]となっています。ここで、Tは平均手数、Rはレートです。大雑把に言うと、レートが100上がると、平均手数が2手弱くらい下がるということになります。相関係数と線形回帰については以下の解説記事をご覧ください。
つまり、「強い人は勝つ時はあっさり勝つ」という傾向が見られるということです。この原因としては、「強い人は中終盤の寄せが鋭く、相手に中々粘らせない」というようなことも考えられますし、また、「強い人には“信用”があるために相手が無駄に粘ってこない」というようなことも考えられます。この結果からだけでは、傾向が見られるというだけで、原因を解析することまではできません。

一方で、負けの棋譜については、平均手数とレートとの相関係数は0.109であり、非常に弱い正の相関があるかどうかというところです。勝ちの棋譜と同様に線形回帰を行うと、\[T = 0.00578 R + 106\]となっています。つまり、粘る人の方が強いという傾向が僅かに見えないわけではないですが、勝ちの棋譜の場合と比較すると、相関係数の絶対値も小さく、線形回帰の係数の絶対値も小さいため、関係性としては相対的にとても弱いと考えられます。このデータによると「将棋は粘ればよいというものではない」ということのようです。

さて、上記の結果を踏まえて、棋士の粘り度を見るにはどのような値を計算して比較すればよいのでしょうか?

棋士ごとに時代や得意戦法等の違いによって平均手数が異なるため、負けの棋譜と勝ちの棋譜の平均手数の比を取るというのがまず考えられますが、これだと上で示したようにレートとの相関があるため(実際に相関係数は0.480)、棋力の差が結果に反映してしまいます。線形回帰の結果を用いて補正するというやり方も考えられますが、方法が徒に複雑になりますし、そもそもレートについての信用性にもやや疑問がありますので、あまり優れたやり方とは言えないでしょう。

そこで、個々の平均手数の差には目を瞑って、投了負けの棋譜の平均手数を115で割った値を「粘り度」として定義することにします。ここで、115は全体の平均手数ですが、棋譜集ごとに値を変えるのも徒に煩雑にするだけなので、定義の上では定数という事で固定しました。この「粘り度」は上で示したように棋力との関係は弱いですが、棋士ごとの平均手数の差の影響については考慮されていません。

「粘り度」の棋士ランキングは、以下の資料に記します。

以上、棋譜集を各棋士ごとに勝ちの棋譜と負けの棋譜に分類して、それぞれの平均手数を算出することにより、棋士の粘りと棋力との関係、並びに「粘り度」をどう定義したらよいのかということを考えました。勝ちの平均手数は棋力と弱い負の相関があり、棋力には相手の粘りを抑える作用がある可能性が考えられます。一方で、負けの平均手数は棋力との関係がとても弱く、そのまま「粘り度」の測定に利用できるだろうということが分かりました。

将棋は「二人零和有限確定完全情報ゲーム」であるとよく言われます。これは、「二人」で行い、勝ち(+1点)/負け(-1点)/引き分け(0点)の合計が「零和」で、手数が「有限」で、偶然の要素がなくて「確定」的で、相手の指し手が全て分かる「完全情報」のゲームであるということを意味しています。

しかしながら、将棋の決着が勝ち/負け/引き分けに分類できるというのは本当でしょうか? もし将棋のルールに不備があるとすると、その他の状況に陥る可能性が出てきます。その際に、例えば「両者勝ち」や「判定不能で永遠に続行」等ということになれば、「零和」や「有限」というのは成立しなくなります。あるいは「振り駒やじゃんけんで勝敗を決めよう」等ということになれば、「確定」や「完全情報」でもなくなります。あるいは「立会人らが話し合いで決める」等ということになれば、そもそも「二人」の話ではなくなってきます。もしかすると、将棋が「二人零和有限確定完全情報ゲーム」であるというのは必ずしも正しくないのかもしれません。

実際、現状の将棋のルールに不備があるということは「最後の審判」問題によって明らかにされました。この問題は1997年に発表された縫田光司氏の詰将棋(?)作品「最後の審判」に端を発したものであり、私が知る限り、2015年末の現在に至るまで未だ解決されていません。「最後の審判」については作者本人による解説「詰将棋作品?『最後の審判』」をご覧ください。

この問題の本質は「連続王手による千日手で反則負けとなる手以外に王手を外せない局面は詰みであるのか?」というものです。これは一見すると「そんなのどっちでも負けは負けだろ」と考えてしまいがちですが、打ち歩詰めがあるので勝敗にかかわる場合が出てきます。実際にそれを提示したのが「最後の審判」です。そこで提示されている局面は現状のルールでは勝敗の判定ができません。将棋のGUIソフトや対戦サーバにおいても本来はその旨を出力する実装がなされるべきでしょう(※いくつかのソフトにおけるテスト結果を記事末に付記しました)。この問題は、連続王手による千日手と打ち歩詰めという2つの珍しいルールが絡むことで発生するものであり、私が知る限りでは将棋特有の問題です。

この問題を解決する方法には大きく2つの方向性が考えられます。一つは、打ち歩詰めのルールの整備を検討することであり、もう一つは、連続王手による千日手のルールの整備を検討することです。特に後者については、他のゲームにおける同一局面反復の処理を参考にすることができます。

一般的に、将棋等のボードゲームでは、同一局面が反復されると無限に続いてしまって決着がつかないという問題が起こり得るため、「有限」のゲームにするには、ルール上で無限反復について何らかの処理を規定しなければなりません。

同一局面反復の処理には、大きく分けて、以下の2つの方法があります。
  1. 同一局面の反復を禁止して手を変えさせる方法。
  2. 無限反復を禁止せずに引き分けとする方法。
例えば、囲碁は基本的に1の方法を取っており、無限反復可能な局面(コウ)が現れると、同一局面の反復を禁止することで処理します。通常は直前の局面に戻すことのみを禁止していますが、これだと三コウ等で無限反復が発生してしまう余地があります。このため、より徹底して、一局中で同一局面を作ったら負けというルール(スーパーコウ)もあります。コンピュータ囲碁ではスーパーコウを採用していることが多いようです。一方で、例えば、チェスは2の方法を取っており、スリーフォールド・レピティションと言って、同一局面3回で引き分けとなります。また、連続王手による千日手(パーペチュアル・チェック)も特に負けとはならず、引き分けになります。

将棋の場合には、歴史的な変遷があり、昭和になるまでは暗黙的に1の方法が取られていたようです。昭和2年以降にルールが整備され、そこでは基本的に2の方法が採用されました。ただ、ルール整備後も1の方法に基づく考え方は根強く残っており、千日手は打開するべきものという意識は特に昭和の時代には色濃く残っていたようです。現状のルールが「同一局面4回出現で千日手となり、無勝負の引き分けとなる」という2の方法を基本としながらも、「ただし、4回の反復の間、一方の指し手が全て王手である場合には、連続王手による千日手となり、王手をかけていた方が負けとなる」という1の方法を折衷的に残しているというのは、このような歴史的な変遷によるものと思われます。

千日手周りのルール整備については意外と歴史が浅く、今後さらに時間をかけて整備が進んでいくものと予測されます。その中で「最後の審判」問題も自然と解決されるのかもしれません。

------------------------------
「最後の審判」を手動対局した時の60手目、3回目の5六歩以下の判定結果一覧。
  • 将棋所(ver. 3.4.0):5六歩は打ち歩詰めにならず、同角で連続王手による千日手。
  • ShogiGUI(ver. 0.0.4.16):5六歩は打ち歩詰めにならず、同角で後手の反則勝ち。
  • 激指14(ver. 1.0):5六歩は打ち歩詰めにならず、同角で連続王手による千日手。
  • 柿木将棋IX(ver. 9.04):5六歩は打ち歩詰めにならず、同角で千日手と表示。

前回の記事「手数と投了 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)\]となるので、もしも指数関数が正しい推測になっているのならば、片対数グラフを描くと線形になっているはずです。

下に長手数の領域の未投了率の片対数グラフを示します。黒点が棋譜データです。
kishi_tesuu_mitoryo_l_151124

データから直線を推定するには線形回帰を用います。使用するデータの範囲には任意性があるのですが、ここでは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)\]となるので、もしも冪関数が正しい推測になっているのならば、片対数グラフではなく、両対数グラフが線形になるはずです。

下に長手数の領域の未投了率の両対数グラフを示します。黒点が棋譜データです。
kishi_tesuu_mitoryo_ll_151124

片対数グラフの時と同様に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:序論と目次

よく将棋の平均手数は百十数手と言われます。「数手」の部分は文献により異なっており、これは依拠する棋譜データの違いによるものと思われます。そもそも平均というものは、何の集団の平均なのかを指定をしないと意味が定まらないものです。

ここでは棋士棋譜集(2015年11月版)に基づいて、棋士の投了手数について論じたいと思います。この棋譜集の詳細については「棋士の棋譜整理とレート算出:棋士棋譜集(2015年11月版)」をご参照ください。

棋士棋譜集(2015年11月版)における投了手数の平均は115.8手、標準偏差は28.2になっています。平均と標準偏差については「平均と標準偏差:それって不偏推定値?」をご参照ください。この平均手数は従来的に言われている値に近く、棋士の棋譜集を基づく限りは詳細によらずにおおよそ似たような値になるものと思われます。さらに標準偏差を考慮すると、分布が正規分布に近ければ、7割くらいの対局は88~144手の範囲に収まり(実際には72.0%)、9割5分くらいの対局は59~172手の範囲に収まる(実際には95.7%)ということになります。

一般に、平均や標準偏差を考える際には、外れデータの存在の可能性も考慮する必要があります。例えば、棋譜集の中に100万手などという棋譜が一つでも紛れ込んでいると、その例外に引っ張られて結果が大きく変わってしまうということがあり得るからです。今回の棋譜集では投了手数の最低値は5手、最高値は389手となっており、そのような極端なデータは含まれていません。念のために、投了手数の範囲を30手以上250手以下に限定して計算してみると、平均は115.7手とほとんど変わらず、標準偏差は27.6と僅かに小さくなります(範囲を狭めているので当然ですが)。今回の結果においては外れデータは考慮しなくてもよさそうです。

投了手数の分布は以下の図のようになっています。
kishi_tesuu_hindo_151124

上図の分布を見ると、手数が奇数と偶数でガタついていることが分かります。これは先手と後手の勝率が違うためです。実際、先手勝利(手数が奇数)の棋譜は27305(平均は115.2手、標準偏差は28.3)である一方、後手勝利(手数が偶数)の棋譜は24305(平均は116.5手、標準偏差は27.9)となっており、偶奇によって棋譜数が異なってしまっています。本来、先手勝利のデータと後手勝利のデータは別々に取り扱われるべきものなのです。

この棋譜数の不一致の問題は、手数が偶数の時の和と奇数の時の和がそれぞれ0.5と0.5(合わせて1)となるように揃えて規格化することで解決することができます。そのように規格化された頻度分布が下図になります。以下では、このように手数の偶奇で規格化が調整された分布に基づいて解析を進めていきます。
kishi_tesuu_normalized_hindo_151124

最後に、上の投了手数の分布を書き換えて、投了決着棋譜における未投了率として表示してみます。ここで、未投了率というのは、ある手数が終わった時に未だ投了されずに対局が続いている割合のことであり、言い換えると、1から規格化された頻度を順々に引いていったもののことです。
kishi_tesuu_mitoryo_151124

この未投了率は、手数の増加によって単調に減少していく量であり、特に平均手数の近辺で大きく減っていきます。特に150手を過ぎた長手数の領域では小さな値になっており、この図ではよく見えなくなっています。次の記事では、この長手数の領域の振る舞いについて考察してみたいと思います。

次の記事:「手数と投了 3:棋士の未投了率における長手数テールと冪乗則
インデックス:「手数と投了 1:序論と目次

このページのトップヘ