人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【統計の問題・将棋ソフトは羽生より強い?】

「将棋のプロ棋士は将棋ソフトに勝てない?情報処理学会が勝利を宣言」
http://matome.naver.jp/odai/2144461135407442101?page=2
に、以下のような記述がありました。

「現役プロで最も将棋ソフトに詳しいといわれる千田翔太でさえ、特別な対策をせずに電王戦に出場するような強豪ソフトと真っ向から戦った場合で『勝率は7パーセント』」

「羽生善治らトップ棋士でも千田を相手に90パーセント以上勝つことは難しいため、『ソフトは既に人間を超えている』との推論が出てもおかしくない」

そこで統計の問題。

[1] ソフト対人間でも、人間対人間でも、1回の対局は(互いに分散が等しい)正規分布をしたくじを、自分の壺から1つ引き、数が大きいほうが勝つようなものとする。もちろん壺は各自で異なり、強者ほど平均値の大きい壺を持っている。

[2] [1]のルールで多数回の試行を行ったところ、千田のソフトXへの勝率は7%で、羽生の千田への勝率は90%だった

という前提から、「ソフトXが羽生より有意に強い」と言えるか、ざっくりとした計算経過とともに答えてください。
よろしくお願いいたします。

●質問者: lionfan2
●カテゴリ:科学・統計資料
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● みやど
●30ポイント

試行回数が分からなければどうにもなりません。

> [1] ソフト対人間でも、人間対人間でも、1回の対局は(互いに分散が等しい)正規分布をしたくじを、自分の壺から1つ引き、数が大きいほうが勝つようなものとする。もちろん壺は各自で異なり、強者ほど平均値の大きい壺を持っている。

このような大胆なモデルを設定しても、くじの数値自体を観測するわけではなく、観測するのはあくまで勝敗です。ですから、羽生が勝つのをコインで表が出ると解釈して、コインが表が出る確率が1/2と言えるかどうかを検定する問題とみるべきです。それだと、n回実験した場合は、両側検定であれば、
|勝率-1/2|>1.96√{(1/2)(1/2)/n}=0.98/√n
で有意水準5%で棄却です。

片側検定であれば、1.96でなく1.645にして片側に棄却域を設けますが、ただし注意しなければならないのは、結果を見てから片側検定を選んではいけません。


みやどさんのコメント
ちょっと早とちりしていました。羽生と千田とソフトの三者がいるわけですね。すると単純ではありませんが、施行回数が分からなければ検定としてはどうにもならないことは確かです。

lionfan2さんのコメント
みやど様、ご回答ありがとうございました。了解です。

2 ● a-kuma3
●100ポイント ベストアンサー

計算できたっぽい


カードを引いてその大小で勝ち負けを決めるということは、カードの数字の差がゼロよりも大きい確率が勝つ確率ということになります。

独立した正規分布からの標本の差の分布は、平均が ¥mu_1-¥mu_2 、分散が {¥sigma_1}^2+{¥sigma_2}^2 の正規分布に従う、を使います。
http://lbm.ab.a.u-tokyo.ac.jp/~omori/meiji2/sec4/sec4.html

強豪ソフト X_x と千田 X_c の差の分布、
X_x - X_c ¥sim N ( ¥mu_x-¥mu_c ¥hspace{5}, ¥hspace{5}{¥sigma_x}^2+{¥sigma_c}^2 )
は、分散が同じなので、こうなります。
X_x - X_c ¥sim N ( ¥mu_x-¥mu_c ¥hspace{5}, ¥hspace{5}{2 ¥sigma}^2 )

千田が強豪ソフトに勝つ確率が 7% ということは、確率分布で 0 以下が 7% ということです。
f:id:a-kuma3:20151014212654j:image

標準正規分布表を持ち出します。
http://www.koka.ac.jp/morigiwa/sjs/standard_normal_distribution.htm

表で 43% のところは Z = 1.475 くらいです。
なので、以下となります。
¥mu_x-¥mu_c ¥hspace{5} = ¥hspace{5} 1.475 ¥sqrt{2} ¥sigma


同様に、羽生 X_h と千田 X_c の差の分布、
X_h - X_c ¥sim N ( ¥mu_h-¥mu_c ¥hspace{5}, ¥hspace{5}{2 ¥sigma}^2 )
では、表から 40% は Z = 1.280 くらいです。
先と同様に、
¥mu_h-¥mu_c ¥hspace{5} = ¥hspace{5} 1.280 ¥sqrt{2} ¥sigma


問題の、強豪ソフト X_x と羽生 X_h の差の分布を考えます。
X_x - X_h ¥sim N ( ¥mu_x-¥mu_h ¥hspace{5}, ¥hspace{5}{2 ¥sigma}^2 )

先の式から、
¥mu_x-¥mu_h
= ¥mu_c + ¥hspace{5} 1.475 ¥sqrt{2} ¥sigma - (¥mu_c + ¥hspace{5} 1.280 ¥sqrt{2} ¥sigma )
= ¥hspace{5} 1.475 ¥sqrt{2} ¥sigma - ¥hspace{5} 1.280 ¥sqrt{2} ¥sigma
= ¥hspace{5} 0.125 ¥sqrt{2} ¥sigma
= ¥hspace{5} 0.17678 ¥sigma

標準正規分布表から Z = 0.17678 のときは、面積が 0.0701 くらいです。
つまり、0 以上になる確率が 57% 、つまり強豪ソフトが勝つ確率が 57% ということです。



後は、これが有意な差かどうかを検定します。

適合度検定を使います。
先に求めた強豪ソフトと羽生の勝率通りに対戦結果 57 : 43 が得られたとして、勝ち負けがどっこいどっこいの 50 : 50 と有意な差があるかどうか、です。

統計検定の説明は端折ります。
http://next1.msi.sk.shibaura-it.ac.jp/MULTIMEDIA/statistics/node21.html

H_0:強豪ソフトと羽生の勝率は等しい
有意水準:¥alpha = 0.05
統計量:
¥chi_0^2 = ¥frac{57^2}{50} + ¥frac{43^2}{50} - 100
¥hspace{20}= 1.96

カイ二乗分布表 http://www.biwako.shiga-u.ac.jp/sensei/mnaka/ut/chi2disttab.html より
¥chi_{0.05,2-1}^2 = 3.8416

よって帰無仮説は棄却できず、H_0 を容認。
つまり、強豪ソフトと羽生の勝ち負けには有意な差はない、ということになります。



追記です。

お話しの結末が気に入らない方がいらっしゃるようなので、別の結末を。

確率分布関数が手に入っているので、回数を繰り返せば強豪ソフトX が平均的に勝っちゃうというのは分かってます。
では、無類の勝率を誇るかどうか、という話。

将棋のタイトル戦は、年7回。
その7回全てに、決勝の番手勝負に羽生と強豪ソフトが勝ち残ったとして、7回のタイトル戦を勝ち越すことができる確率を求めてみます。

計算でも行けそうな気もしますが、プログラムでやってみました。

class CompX_Habu_Simulator

 def initialize
 @random = Random.new
 end

 def win_one_play?
 @random.rand <= 0.57
 end

 def win_one_title? n
 cond = n / 2.0
 win = 0
 lose = 0
 n.times {
 if win_one_play? then
 win += 1
 else
 lose += 1
 end
 break if win > cond or lose > cond
 }
 win > cond
 end

 def win_one_year?
 win = 0
 4.times {
 win += 1 if win_one_title? 7
 }
 3.times {
 win += 1 if win_one_title? 5
 }
 win >= 4
 end

 def try number
 n = 0
 win = 0
 number.times {
 n += 1
 win += 1 if win_one_year?
 }
 puts "#{win} / #{n} --- #{win / (n * 1.0)}"
 end

end

s = CompX_Habu_Simulator.new
5.times {
 s.try 50000
}

七タイトル戦のうち、七番勝負が四回、五番勝負が三回です。
対戦の勝率 57% で、七タイトルのうち何勝取ったかをカウントします。
50,000回の試行を 5回繰り返しました。

# 4勝以上
39356 / 50000 --- 0.78712
39438 / 50000 --- 0.78876
39222 / 50000 --- 0.78444
39307 / 50000 --- 0.78614
39214 / 50000 --- 0.78428

# 5勝以上
25781 / 50000 --- 0.51562
25670 / 50000 --- 0.5134
25571 / 50000 --- 0.51142
25606 / 50000 --- 0.51212
25803 / 50000 --- 0.51606

# 6勝以上
10857 / 50000 --- 0.21714
10971 / 50000 --- 0.21942
10974 / 50000 --- 0.21948
10844 / 50000 --- 0.21688
10955 / 50000 --- 0.2191

勝ち越すかどうかでいうと、勝ち越す確率は 78?79% くらい。
圧倒的と言える 1回取りこぼすかどうかという確率は、22% くらいです。

まあ、試行回数が多くなるとこうなります。

ちょっと視点を変えて、一生の間にこの対戦をするのは多くても6回くらいだろう、と想定して、延べ6年 年に7回のタイトル戦を戦って強豪ソフトX が獲得したタイトルの数の度数分布を取ってみました。

タイトル数度数
00
10
224
393
4263
5387
6233

グラフにすると、こんな感じ。
f:id:a-kuma3:20151015210958p:image

6年の対戦で、タイトルを多くとった年が 4年以下が 38% の確率。
観戦する立場でいうと、サンプリングは一回だけですから、どっこいどっこいか 6年のうち 2年はタイトル数が負けているのが 5回に2回くらいの確率であります。

強豪ソフトX が圧倒的に強いというには、微妙なところです。


a-kuma3さんのコメント
棋士の千田さんって、「せんだ」じゃなくて「ちだ」なんですね <tt>X-|</tt> 添え字の <sub>s</sub> は、<sub>c</sub> と読み替えてください。

a-kuma3さんのコメント
やっぱり、直しました。

lionfan2さんのコメント
a-kuma3様、丁寧な解説、ありがとうございます。この計算で正しいと自分には思えますが、皆様、いかがでしょうか?

みやどさんのコメント
計算は確かめてはいませんが、検定の意味としておかしいですよ。 それだと、「100回試行して」対戦結果 57 : 43 が得られた場合に有意差があるかどうかを検定したことにしかなっていません。

a-kuma3さんのコメント
回答に追記しました。

opechumanさんのコメント
気持ちは分からないではないですが、その追記だと「有意な差があるか」という本来の趣旨から外れてますよ。 みやどさんがおっしゃっているように試行回数が分からないと有意かどうかは議論しようがないです。570:430だと比率は全く一緒でも有意になるわけですからね。 あと、もう1つ気になるのが各正規分布を独立とみなしていることですね。コンピュータの指し方は異質という棋士の感覚を信じるなら、人間同士の対戦の方が人間対コンピュータよりも正の相関が高くなると思われます。相関次第で結論が変わるため、試行回数同様無視できない問題です。 以上を踏まえてlionfan2さんが補足を出すというのは難しいでしょうか。

a-kuma3さんのコメント
「有意な」というのをどう扱おうかは迷ったんですよね。 実際の勝負は別にして、モデルを限定した話なので、確率分布は分かってるわけだし。 最初の回答は、統計検定っぽい締めにしました。 モデルを限定している条件で実際にサンプリングをできるわけでもない話で統計検定にこだわっている方がいらっしゃるようなので、統計検定なんて関係ないじゃんというスタンスが追記の分です。 >> あと、もう1つ気になるのが各正規分布を独立とみなしていることですね。 << その前に引っかかったのは、各人のカードの引き当て方の分散を同一だ、としているところでした。 計算機の方が体調などによるブレがなさそうなので分散は小さいだろうから数字が残りそうで面倒だなあと思ってたら、分散は同じと見なすと書いてあった(最初は見落としてた)ので、相性(つまりは相関)もバッサリと切りました。 わざわざ「分散が同じ」と書いているくらいなので、lionfan2 さんも想定していることだと思います。 # と、思って回答を書きました

lionfan2さんのコメント
ありがとうございます。 自分の質問の仕方がまずかったですが、趣旨としては、本当に自分が知りたかったこととしては、a-kuma3さんの答えで完全に満足しています。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ