今回は,\(n\)人村で人狼が2人いるときの人狼チームが勝つ確率を求めていこうと思います。
人狼が勝つ確率をもとめるために数列を使う
前の記事で,\(n\)人村,1人狼のときの人狼が勝つ確率を求めました。
このときは,奇数と偶数で場合分けを
\(n\)人村,\(2\)人狼で計算しようとすると,場合の数を数えることがとてつ
もなくめんどくさくなるのです。
私も、一度やってみましたが,場合の数を数え切れなかった為,計画を断念せざ
るを得ませんでした。そのときにふと思いついたのが,数列の漸化式を使えば,
解けるんじゃね?と思い,漸化式を使いました。漸化式を導く流れを綴ったもの
が,前回の記事になりますので,そちらをご覧ください->。
それでは,確率漸化式(数列+確率)を使って人狼チームが勝つ確率を出していこうと思います。
[自作問題]\(n\)人村で人狼が2人のときの人狼チームが勝つ確率
今回は,2問あります。
問題1
\(n\)人村で2人狼のとき人狼チームが勝つ確率\(a_n\)は,\(n\)人村
で1人狼のとき人狼チームが勝つ確率\(b_n\)を用いて,次のように表される。
$$a_n=\frac{n-1}{n+1}a_{n-2}+\frac{2}{n+1}b_{n-2}$$
$$a_5=\frac{8}{9},b_n=\frac{(n-1)!!}{n!!}$$
\(n\)が奇数のとき,人狼チームが勝つ確率を求めよ。
問題2
\(n\)人村で2人狼のとき人狼チームが勝つ確率\(a_n\)は,\(n\)人村で1人狼のとき人狼チームが勝つ確率\(b_n\)を用いて,次のように表される。
$$a_n=\frac{n-1}{n+1}a_{n-2}+\frac{2}{n+1}b_{n-2}$$
$$a_6=\frac{13}{14},b_n=2\frac{(n-1)!!}{n!!}$$
\(n\)は偶数のとき,人狼チームが勝つ確率を求めよ。
自作問題解答
問題1解答
\(b_{n-2}=\frac{(n-3)!!}{(n-2)!!}\)より,与式は,
\(a_n=\frac{n-1}{n+1}a_{n-2}+\frac{2}{n+1}\frac{(n-3)!!}{(n-2)!!}\)
となります。両辺を\((n+1)\)倍すると,
\((n+1)a_n=(n-1)a_{n-2}+2\frac{(n-3)!!}{(n-2)!!}\)
ここで,\((n+1)a_n=c_n\)とおくと,
\(c_n=c_{n-2}+2\frac{(n-3)!!}{(n-2)!!}\)
となり,階差数列の形に持って行くことが出来るようになりました。
\(c_n=c_5+2\sum_{l=5,7,\cdots,n-2}\frac{(l-1)!!}{(l)!!}\)
\(l=2k+3\)とおくと,
\(c_n=c_5+2\sum_{k=1}^{\frac{n-5}{2}}\frac{(2k+2)!!}{(2k+3)!!}\)
ここで,\(\sum\)の中をきれいにするために,式変形を行います。
\(c_n=c_5+2\sum_{k=1}^{\frac{n-5}{2}}{(2k+4)-(2k+3)}\frac{(2k+2)!!}{(2k+1)!!}\)
\(c_n=c_5+2\sum_{k=1}^{\frac{n-5}{2}}\underbrace{\frac{(2k+4)!!}{(2k+3)!!}}_{f(k+1)}
-\underbrace{\frac{(2k+2)!!}{(2k+1)!!}}_{f(k)}\)
より,数列の公式がつかえるので,
\(c_n=c_5+2(\underbrace{\frac{(n-1)!!}{(n-2)!!}}_{f(\frac{n-5}{2}+1)}-\underbrace{\frac{4!!}
{3!!}}_{f(1)})\)
\(c_n=c_5+2(\frac{(n-1)!!}{(n-2)!!}-\frac{8}{3})\)
\(c_n=(n+1)a_n\)より,
\((n+1)a_n=6a_5+2(\frac{(n-1)!!}{(n-2)!!}-\frac{15}{8})\)
\((n+1)a_n=6\frac{8}{9}-\frac{16}{3}+2\frac{(n-1)!!}{(n-2)!!}\\(∵a_5=\frac{8}{9}\)
よって,
\(a_n=\frac{2}{n+1}\frac{(n-1)!!}{(n-2)!!}\)
試しに,\(n=5\)としてみると,
\(a_5=\frac{2}{6}\frac{4!!}{3!!}=\frac{8}{9}\)
問題2解答
問題1と同様に式変形を行っていくと,\(c_n\)は,
\(c_n=c_6+4(\frac{(n-1)!!}{(n-2)!!}-\frac{15}{8})\)
\(c_n=(n+1)a_n\)より,
\((n+1)a_n=7a_6+4(\frac{(n-1)!!}{(n-2)!!}-\frac{15}{8})\)
\((n+1)a_n=7\frac{13}{14}+4(\frac{(n-1)!!}{(n-2)!!}-\frac{15}{8})\) \(∵a_6=\frac{13}{14}\)
\((n+1)a_n=\frac{13}{2}-\frac{15}{2}+4\frac{(n-1)!!}{(n-2)!!}\)
よって,
\(a_n=\frac{1}{n+1}(4\frac{(n-1)!!}{(n-2)!!}-1)\)
試しに,\(a=6\)としてみると,
\(a_6=\frac{1}{7}(4\frac{5!!}{4!!}-1)=\frac{13}{14}\)
実際に計算
\(n\)人村,2人狼のときの人狼が勝つ確率を求めてみました。
\(n=2k-1\) | \(n=2k\) | |
\(k=3\)のとき | 0.889 | 0.929 |
\(k=4\)のとき | 0.8 | 0.861 |
\(k=5\)のとき | 0.731 | 0.804 |
\(k=6\)のとき | 0.677 | 0.756 |
こんな感じです。人狼が2人のときも,人狼が1人のときと同様,村の人口が,
奇数人のときよりも,偶数人のときの方が人狼が有利であることがわかります。
この理由は,人狼用語では処刑をすることが可能な人数のことを縄の数と言いま
すが,縄の数が偶数人の方が少ないからです。また,人狼が1人のときと同様に,
つまり,プレイヤーが偶数人であることは,人狼チームにとって有利に働きます。
まとめ
\(n\)人村,2人狼で,\(n\)が奇数のとき,人狼チームが勝つ確率\(a_n\)は,
$$a_n=\frac{2}{n+1}\frac{(n-1)!!}{(n-2)!!}$$
(※!!は2重階乗)
\(n\)人村,2人狼で,\(n\)が偶数のとき,人狼チームが勝つ確率\(a_n\)は,
$$a_n=\frac{1}{n+1}(4\frac{(n-1)!!}{(n-2)!!}-1)$$
そして,人狼が1人のときと同様に偶数人の方が,有利です。また,前回同様,9人村の
ときより,12人村のときの方が人狼チームが勝つ確率が高いという驚きの結果が出ました。
関連記事
最後に
人狼ゲームの確率を求めることが,いかに難しいかをおわかりいただけたかと思います。
人狼が3人,4人の場合も同様にして求めることが出来ますが、
再帰的に数列を計算していかなければいけないです。
なので,人狼の勝つ確率を求める為には,C言語や,JavaScriptなどといったプログラミング言語で計算します。
「プログラミングをどうやってかけばいいのかわからない。」という方はこちらの記事を参考にしてください。