読者です 読者をやめる 読者になる 読者になる

一致率90%以上はどれくらいあり得るのか計算してみる(ガバガバ設定)

将棋界で大騒ぎになっている疑惑について、連盟公式掲示板でのレスバトルをするための材料として手元で計算をしてみました。

計算の前提となっているパラメータがガバガバなので、白か黒かの材料にはなりようがないですが、とりあえず今出ている数字を使ってみたらどうなるかというメモです。

私は

  • 統計検定持ってません。変な計算してたら叱って下さい。
  • 調査設計については無知です。調査法がイケてない点については触れません。
  • 観る将なので、戦法や序盤・終盤でどれくらい手の広さが異なるか知りません。
  • 電王戦は見てるけど、ponaと技巧でどれくらい強さが違うかは知りません。

設定

千田先生のDropboxにある資料の数字から独自に作成します。 「千田棋譜 資料」内に当該ファイルがあります。 www.dropbox.com

  • ソフト指ししないプロ棋士の一手毎のソフト一致率は75%とする。
  • 一致するかどうかは系列相関なしで独立とする。

2点目の仮定について、一本道の変化だと一致率の高い局が多くなるはずなのでシロ派に不利な仮定と考えられます。一方、全部の手をソフト指しする必要はなく、ソフト指し側が一致率をコントロールできるという点ではシロ派に有利な仮定とも考えられます。 これは水掛け論になるので、計算を簡単にするために独立としておきます。

計算結果

一局で一致率が90%以上になる確率

序盤を通過した後で終局まで30手*1指すとします。27手以上一致すれば率が90%以上になります。

p   = 0.75
num = 30
lim = int(num * 0.9) - 1
q   = 1.0 - scipy.stats.binom.cdf(lim, num, p)

3.74%になりました。結構高いような気もします。

実績値と比べて検討もできますが、私にはヘビーなのでこの数字を使うことにします。

一致率の高い対局が複数出る確率

疑惑の7月以降12局*2で一致率90%以上が複数回現れる確率はどうなるでしょう。

r   = q
num = 12
s1  = 1.0 - scipy.stats.binom.cdf(0, num, r)
s2  = 1.0 - scipy.stats.binom.cdf(1, num, r)
s3  = 1.0 - scipy.stats.binom.cdf(2, num, r)

1局以上現れる確率は36.7%、2局以上現れる確率は7.2%、3局以上現れる確率は0.9%です。 三浦久保戦の一致率が高かったのも考慮して、2局あったとすると*3確率は7.2%です。

棋士を十数人集めれば、1人くらいは石に当たる奴が出てくる計算ですね。

90%という区切りが悪かった?

疑惑の4局は一致率が85%以上です。区切りを変えてみましょう。

p   = 0.75
num = 30
lim = int(num * 0.85)
q   = 1.0 - scipy.stats.binom.cdf(lim, num, p)

9.79%です。

r   = q
num = 12
lim = 3
s   = 1.0 - scipy.stats.binom.cdf(lim, num, r)

12局中で4局以上現れる確率は2.4%です。

この設定だと5%は割ってきますが、12局がいいとこ取りなのをどう見るかでしょうか。

所感

最初から分かっていたことですが、一致率でクロ・シロの議論はできそうもありません。 しかし、当初想定していたよりはシロを支持できる数字が出たようにも思えます。

レスバトルで盛り上がる前に計算機を叩くよう心がけたいです。

*1:対局毎に終局までの手数は異なりますが、計算を簡単にするため30で固定しています。

*2:いいとこ取りになるので、この局数で良いのかという議論はあると思います。

*3:ある一局の一致率が高かったからといって、ヒット数を多くするのは適正ではないですが、サンプルも少ないのでとりあえず。