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

将棋:一致率の統計解析

遅ればせながらあけましておめでとうございます。
さて、今回は前回の続きで、プロの将棋の一致率計算結果をもとにいろいろと計算してみるとする。ここでは、

  • 一致率の高い方が勝つ確率

  • 手数と一致率の相関関係

をみていくことにしよう。データは2chkifuの00001-01000(番号が飛び飛びになっているため実際は955局しかないようだ)を初手から一手一秒の技巧で解析したもの。詳細は前の記事を参照されたい。

一致率の高い方が勝つ確率

解析結果(ここではresults.txt)にsetwdし、読み込む。

data <- read.table("result.txt")
gote = 0 #一致率が後手>先手かつ後手勝ちの結果を格納する
sente = 0 #一致率が先手>後手かつ先手勝ちの結果を格納する
for (i in 1:length(data[[1]])){
    if(data[[7]][i] %% 2 == 0 && data[[6]][i] > data[[5]][i]){ 
        gote <- gote + 1
    }
    if(data[[7]][i] %% 2 == 1 && data[[6]][i] < data[[5]][i]){
        sente <- sente + 1
    }
}

 

結果は以下のようになる。

> sente
[1] 389
> gote
[1] 292
> (gote + sente) / length(data[[1]])
[1] 0.713089

以上より、一致率の高い方が勝つ確率は約71%と計算される。

手数と一致率の相関関係

ここでは勝った方の一致率を採用して、手数との一致率の相関関係を研鑽してみる。

MR <- rep(0,length(data[[1]]))

for (i in 1:length(data[[1]])){
    if(data[[7]][i] %% 2 == 0){
        MR[i] <- data[[6]][i]
    }
    if(data[[7]][i] %% 2 == 1){
        MR[i] <- data[[5]][i]
    }
}

 

結果は以下のようになる。

> cor(data[[7]],MR)
[1] -0.1929392
> cor.test(MR,data[[7]])

        Pearson's product-moment correlation

data:  MR and data[[7]]
t = -6.0702, df = 953, p-value = 1.842e-09
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.2532767 -0.1311064
sample estimates:
       cor
-0.1929392

以上より相関係数は-0.19と計算され、手数と一致率の間に相関関係はないことが判明した。今回は思考停止して初手から一致率を計算しているので、仕掛け以降の手数を対象にしたら異なる結果が得られる可能性は大いにあろう。