数学検証

[人狼確率論]人狼ゲームで勝つ確率を数列で表してみた

ユキ
ユキ
どうも,ユキです。

今回は,\(n\)人村で人狼が2人いるときの人狼チームが勝つ確率を求めていこうと思います。

人狼が勝つ確率をもとめるために数列を使う

前の記事で,\(n\)人村,1人狼のときの人狼が勝つ確率を求めました。

[人狼確率検証] n人村で人狼が勝つ確率 どうも,ユキです。 今回はパーティーゲームで、お馴染みの人狼ゲームについての検証記事です。 \(n\)人村で,人狼が...

このときは,奇数と偶数で場合分けを

\(n\)人村,\(2\)人狼で計算しようとすると,場合の数を数えることがとてつ

もなくめんどくさくなるのです。

私も、一度やってみましたが,場合の数を数え切れなかった為,計画を断念せざ

るを得ませんでした。そのときにふと思いついたのが,数列の漸化式を使えば,

解けるんじゃね?と思い,漸化式を使いました。漸化式を導く流れを綴ったもの

が,前回の記事になりますので,そちらをご覧ください->。

[人狼確率論]m人の人狼のときの人狼が勝つ確率 \(n\)人村,\(m\)人狼のときの確率漸化式 結論からいうと,\(n\)人村,\(m\)人狼のときの人狼チームが勝つ確...

それでは,確率漸化式(数列+確率)を使って人狼チームが勝つ確率を出していこうと思います。

[自作問題]\(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.8890.929
\(k=4\)のとき0.80.861
\(k=5\)のとき0.7310.804
\(k=6\)のとき0.6770.756

 

こんな感じです。人狼が2人のときも,人狼が1人のときと同様,村の人口が,

奇数人のときよりも,偶数人のときの方が人狼が有利であることがわかります。

[人狼確率論]偶数村の方が人狼に有利であることを証明してみた 村の人口が偶数人の方が,人狼が勝つ確率は高い? ここでは人狼が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などといったプログラミング言語で計算します。

「プログラミングをどうやってかけばいいのかわからない。」という方はこちらの記事を参考にしてください。

プログラミングは何のエディタを使えばいい?【結論:VSCodeです】プログラミング初心者の方なんかはプログラミングを書く際どのようなアプリを使えば良いのか迷うのではないでしょうか。そんな方々に迷わないよう私から1つだけ紹介したいと思います。結論:Visual Studio Code一択です。ぜひ、どれを選べば良いのか迷っている方は足を運んでみて下さい。...
ABOUT ME
ユキ
数学担当です。お金大好き大学生やってます。 講義がないときは、だいたい図書館にいるので図書館の門番とも呼ばれています。 L・O・V・E ラブリー マネー!