3先なんてじゃんけん、というのは聞いたことありませんか?例えばA級の3先はじゃんけん、とか、B級の2先はじゃんけん、とか。
じゃあ、じゃんけんってどのくらいでしょうか?例えば、A級とB級くらいの実力差があった時に8割くらい実力差で決まるセット数ってどのくらいでしょう?
これって計算すればいけそうですよね、というわけで今回の記事は超長いです。といっても、ポイントだけは先にまとめました。
まず結論からして、
A級とB級がやった時のそのセットのセット取得確率を考えてみましょう。とおもったのですが、ほどよいモデルがないですよね。すごーくざっくりとJPAの得点を基準にしてみましょうか?A級をSL8とSL9の間、B級をSL6、C級をSL3とSL4の間としてみましょう。そうすると、JPAで必要なポイントの比率をセット取得率と仮定すると、ポイントがA:B:C= 70:46:28となります。だいたい、そんなイメージですよね。
するとセット取得率がおよそ
A:C = 0.71
A:C = 0.60
B:C = 0.62
ですね。全体に低いような気がしますが(実際にはもうちょっと得セット率に差がある?)、まぁこれで見てみましょうか。
すると、得セット率が0.7,0.6くらいの実力差があるプレイヤーがn先(ハンデなし)でやった時にどのくらいだと十分に差が出るといえるでしょうか?社会科学の統計では、こういう時に99%や95%といった水準が設定されると思いますが、ビリヤードでは試合時間もあるので「8割勝てない」セット数を考えることにしましょう。
まず、A:Cくらいの実力差があった場合に8割勝てないのは3先(一番下の表でp=0.3のところをみて、total-pが0.2を下回るnの値)、A:BやB:Cくらいの実力差があった場合に8割勝てないのは9先。うーん、結構長いですね^^;;
この上の計算は、JPAの得点比が、セット取得比と仮定しているので、これが間違っているかもしれませんね。もうちょっとAとB、BとCのセット取得比が大きいような気がします。
ちなみにおなじみのFargoRate (www.fargorate.com)のレーティング差の100のゲーム取得率は1:2だそうです。ということは、およそ0.65に対応ですよね。つまり、ボーニング(rating820)とカレン・コー(rating721)がやってボーニングが8割勝つには4先。
レーティング差が50の場合のゲーム取得率はおよそ1:1.4なのでおよそ0.58。ボーニング(820)とジョニー・アーチャー(772)でボーニングが8割勝つのも9先といったところでしょうか。A級とB級の差はボーニングとアーチャー並?うーん、どうでしょう。
さて、ここからは詳細です。AがBに勝利する確率をP(A)=pとすると、
1先でAが勝利
p
2先でAが勝利 (2連勝+(2セットで1勝+1勝))
p^2 + 2C1*p*(p-1)*p
3先でAが勝利 (3-0のパターン 3連勝+(3-1のパターン:3セットで2勝+1勝)+(3-2のパターン:4セットで2勝+1勝))
p^3 + 3C2*p^2*(p-1)*p+ 4C2*p^2*(p-1)^2*p
aCb = choose(a,b)と定義すると
p^3 + choose(3,2)*p^2*(p-1)*p+ choose(4,2)*p^2*(p-1)^2*p
同様にn先ならば、
p^n + choose(n,n-1)*p^n*(p-1) + choose(n+1,n-1)*p^n*(p-1)^2 +… + choose(2n-2,n-1)*p^n*(p-1)^(n-1)
勝率xでy先で勝利する確率はRの関数で書くと以下となります。
nsaki <- function(x,y){
result <- 0
result <- x^y
i <- 1
while (i < y){
result <- result + choose(y-1+i,y-1)*(x^y)*(1-x)^i
i <- i+1
}
return (result)
}
あとは、0.1-0.5までの勝率ごとに1-10先の勝率を計算してみましょうか。かっこ悪いけど、
nsakical <- function(){
p <- 0.1
while (p <= 0.5){
n <- 1
while (n <= 13){
ret <- nsaki(p,n)
out<-sprintf(“p: %0.2f n:%d total-p: %0.3f”,p,n,ret)
print(out)
n <- n +1
}
p <- p + 0.05
}
}
これはそれぞれRのソースコードなので、実行結果は以下に。
[1] “p: 0.10 n:1 total-p: 0.100”
[1] “p: 0.10 n:2 total-p: 0.028”
[1] “p: 0.10 n:3 total-p: 0.009”
[1] “p: 0.10 n:4 total-p: 0.003”
[1] “p: 0.10 n:5 total-p: 0.001”
[1] “p: 0.10 n:6 total-p: 0.000”
[1] “p: 0.10 n:7 total-p: 0.000”
[1] “p: 0.10 n:8 total-p: 0.000”
[1] “p: 0.10 n:9 total-p: 0.000”
[1] “p: 0.10 n:10 total-p: 0.000”
[1] “p: 0.10 n:11 total-p: 0.000”
[1] “p: 0.10 n:12 total-p: 0.000”
[1] “p: 0.10 n:13 total-p: 0.000”
[1] “p: 0.15 n:1 total-p: 0.150”
[1] “p: 0.15 n:2 total-p: 0.061”
[1] “p: 0.15 n:3 total-p: 0.027”
[1] “p: 0.15 n:4 total-p: 0.012”
[1] “p: 0.15 n:5 total-p: 0.006”
[1] “p: 0.15 n:6 total-p: 0.003”
[1] “p: 0.15 n:7 total-p: 0.001”
[1] “p: 0.15 n:8 total-p: 0.001”
[1] “p: 0.15 n:9 total-p: 0.000”
[1] “p: 0.15 n:10 total-p: 0.000”
[1] “p: 0.15 n:11 total-p: 0.000”
[1] “p: 0.15 n:12 total-p: 0.000”
[1] “p: 0.15 n:13 total-p: 0.000”
[1] “p: 0.20 n:1 total-p: 0.200”
[1] “p: 0.20 n:2 total-p: 0.104”
[1] “p: 0.20 n:3 total-p: 0.058”
[1] “p: 0.20 n:4 total-p: 0.033”
[1] “p: 0.20 n:5 total-p: 0.020”
[1] “p: 0.20 n:6 total-p: 0.012”
[1] “p: 0.20 n:7 total-p: 0.007”
[1] “p: 0.20 n:8 total-p: 0.004”
[1] “p: 0.20 n:9 total-p: 0.003”
[1] “p: 0.20 n:10 total-p: 0.002”
[1] “p: 0.20 n:11 total-p: 0.001”
[1] “p: 0.20 n:12 total-p: 0.001”
[1] “p: 0.20 n:13 total-p: 0.000”
[1] “p: 0.25 n:1 total-p: 0.250”
[1] “p: 0.25 n:2 total-p: 0.156”
[1] “p: 0.25 n:3 total-p: 0.104”
[1] “p: 0.25 n:4 total-p: 0.071”
[1] “p: 0.25 n:5 total-p: 0.049”
[1] “p: 0.25 n:6 total-p: 0.034”
[1] “p: 0.25 n:7 total-p: 0.024”
[1] “p: 0.25 n:8 total-p: 0.017”
[1] “p: 0.25 n:9 total-p: 0.012”
[1] “p: 0.25 n:10 total-p: 0.009”
[1] “p: 0.25 n:11 total-p: 0.006”
[1] “p: 0.25 n:12 total-p: 0.005”
[1] “p: 0.25 n:13 total-p: 0.003”
[1] “p: 0.30 n:1 total-p: 0.300”
[1] “p: 0.30 n:2 total-p: 0.216”
[1] “p: 0.30 n:3 total-p: 0.163”
[1] “p: 0.30 n:4 total-p: 0.126”
[1] “p: 0.30 n:5 total-p: 0.099”
[1] “p: 0.30 n:6 total-p: 0.078”
[1] “p: 0.30 n:7 total-p: 0.062”
[1] “p: 0.30 n:8 total-p: 0.050”
[1] “p: 0.30 n:9 total-p: 0.040”
[1] “p: 0.30 n:10 total-p: 0.033”
[1] “p: 0.30 n:11 total-p: 0.026”
[1] “p: 0.30 n:12 total-p: 0.021”
[1] “p: 0.30 n:13 total-p: 0.017”
[1] “p: 0.35 n:1 total-p: 0.350”
[1] “p: 0.35 n:2 total-p: 0.282”
[1] “p: 0.35 n:3 total-p: 0.235”
[1] “p: 0.35 n:4 total-p: 0.200”
[1] “p: 0.35 n:5 total-p: 0.172”
[1] “p: 0.35 n:6 total-p: 0.149”
[1] “p: 0.35 n:7 total-p: 0.129”
[1] “p: 0.35 n:8 total-p: 0.113”
[1] “p: 0.35 n:9 total-p: 0.099”
[1] “p: 0.35 n:10 total-p: 0.087”
[1] “p: 0.35 n:11 total-p: 0.077”
[1] “p: 0.35 n:12 total-p: 0.068”
[1] “p: 0.35 n:13 total-p: 0.060”
[1] “p: 0.40 n:1 total-p: 0.400”
[1] “p: 0.40 n:2 total-p: 0.352”
[1] “p: 0.40 n:3 total-p: 0.317”
[1] “p: 0.40 n:4 total-p: 0.290”
[1] “p: 0.40 n:5 total-p: 0.267”
[1] “p: 0.40 n:6 total-p: 0.247”
[1] “p: 0.40 n:7 total-p: 0.229”
[1] “p: 0.40 n:8 total-p: 0.213”
[1] “p: 0.40 n:9 total-p: 0.199”
[1] “p: 0.40 n:10 total-p: 0.186”
[1] “p: 0.40 n:11 total-p: 0.174”
[1] “p: 0.40 n:12 total-p: 0.164”
[1] “p: 0.40 n:13 total-p: 0.154”
[1] “p: 0.45 n:1 total-p: 0.450”
[1] “p: 0.45 n:2 total-p: 0.425”
[1] “p: 0.45 n:3 total-p: 0.407”
[1] “p: 0.45 n:4 total-p: 0.392”
[1] “p: 0.45 n:5 total-p: 0.379”
[1] “p: 0.45 n:6 total-p: 0.367”
[1] “p: 0.45 n:7 total-p: 0.356”
[1] “p: 0.45 n:8 total-p: 0.346”
[1] “p: 0.45 n:9 total-p: 0.337”
[1] “p: 0.45 n:10 total-p: 0.329”
[1] “p: 0.45 n:11 total-p: 0.321”
[1] “p: 0.45 n:12 total-p: 0.313”
[1] “p: 0.45 n:13 total-p: 0.306”
例えば0.55:0.45という、比較的近い実力の場合、9先で0.337が13先で0.306とそれほど変わらないわけですよね。5先は運で9先は実力か、っていうと、上手いほうが62%勝つのか上手いほうが66%勝つのかって差なわけです。
実力差が0.6:0.4という比較的大きい場合だと、5先が73%、9先が80%ですからねー。