4
大学数学基礎解説
文献あり

さいころの目の和がkの倍数になる確率

567
0

 どうも, しょぼんです. この記事ではm面さいころ(特にm=6)をn回投げて出た目の総和がkの倍数になる確率について書きます. 学部1年生で習う線形代数の知識を使います.

この記事で扱う結果

  1. 任意のmでの一般項を導き, 特にm=6k=1,2,3,4,5,6,7,8の場合の一般項を求める.
  2. m2なら, どのようなkでもnのとき確率は1/kに収束する.

漸化式を立てる

 n回投げてkで割った余りがlになる確率をp[n,l]とします. このとき, n+1回投げてkで割った余りがlになる確率は, a%babで割った余りとして

  • kで割って余りが(l1)%kのときから1/mの確率で1が出る
  • kで割って余りが(l2)%kのときから1/mの確率で2が出る
  • kで割って余りが(lm)%kのときから1/mの確率でmが出る
    場合だけなので, 次の漸化式が立てられます.

    p[n+1,l]=1m(p[n,(l1)%k]+p[n,(l2)%k]++p[n,(lm)%k])
    ここで, p[0,0]=1,p[0,1]==p[0,k1]=0とします. 理由は何もたさない場合, その和は0と考えるからです.
     たとえば6面さいころを投げて4の倍数になる確率を考える場合,

    p[n+1,0]=16(p[n,0]+p[n,1]+2p[n,2]+2p[n,3])p[n+1,1]=16(2p[n,0]+p[n,1]+p[n,2]+2p[n,3])p[n+1,2]=16(2p[n,0]+2p[n,1]+p[n,2]+p[n,3])p[n+1,3]=16(p[n,0]+2p[n,1]+2p[n,2]+p[n,3])
    となり, 行列で表すと,

    (p[n+1,0]p[n+1,1]p[n+1,2]p[n+1,3])=16(1122211222111221)(p[n,0]p[n,1]p[n,2]p[n,3])
    となります.

特別な形のkについて

 kの値によって, 漸化式がかんたんに解ける場合があります.

kmの約数である場合

 たとえば6面サイコロをn回振って3の倍数になる場合などです. この場合, m/kは整数なので(l1)%k,(l2)%k,,(lm)%kに対し0,1,,k1はどれも均等にm/k回出てきます. よって


p[n+1,l]=1m(mkp[n,0]+mkp[n,1]++mkp[n,k1])=1k(p[n,0]+p[n,1]++p[n,k1])

さて、p[n,0]+p[n,1]++p[n,k1]=1なので


p[n+1,l]=1k

となります. 上の漸化式はn0に成り立つので, p[n,0]n1のときp[n,0]=1kになります.

m=6の場合の結果

 6の正の約数は1,2,3,6であるので, 上の議論が使えて, n1とすると

k=1のときp[n,0]=1
k=2のときp[n,0]=12
k=3のときp[n,0]=13
k=6のときp[n,0]=16

ということがわかりました.

k=m+1の場合

 たとえば6面サイコロをn回振って7の倍数になる場合などです. この場合, (l1)%k,(l2)%k,,(lm)%k0,1,,k1のうちl以外が1回ずつ出てきます. よって


p[n+1,l]=1m(p[n,0]+p[n,1]++p[n,l1]+p[n,l+1]++p[n,k1])=1m(p[n,0]+p[n,1]++p[n,k1]p[n,l])=1m(1p[n,l])

となって, l以外の状態に依存しません. これは隣接2項間漸化式となり, 解くことができます. 高校数学でよくある形です.
 α=1m1mαを解くとα=1m+1となるので,


p[n+1,l]1m+1=1m(p[n,l]1m+1)

p[n,l]1m+1=q[n]とすると, q[n+1]=1mq[n]であり等比数列になるので, q[n]=(1m)nq[0]とわかります. l=0のときq[0]=mm+1なので


p[n,0]=1m+1+mm+1(1m)n=1m+1{1(1m)n1}

がわかりました. l0のときはq[0]=1m+1となるのでp[n,l]=1m+11m+1(1m)nとなります.

m=6の場合の結果

 k=7に対して上の議論が使えて,p[n,0]=17{1(16)n1}となります.

一般のkについて

 いま, kが特別な形のときを解きましたが, 一般のkに対してはどうなるでしょうか?たとえばm=6のときk=4,5,8などです.

行列累乗で表す

 p[n+1,l]p[n,0],p[n,1],,p[n,k1]の一次結合で表されるので


(p[n+1,0]p[n+1,1]p[n+1,k1])=A(p[n,0]p[n,1]p[n,k1])

を満たすk次正方行列Aがあります. これを繰り返し使うと,n1のとき


(p[n,0]p[n,1]p[n,k1])=An(p[0,0]p[0,1]p[0,k1])=An(100)

となります. もしAが行列Pによって対角行列Dに対角化される, すなわちP1AP=Dのとき, An=PDnP1となります. Aの固有値をα0,α1,αk1として


D=(α0000α1000αk1)

とするとき,


Dn=(α0n000α1n000αk1n)

となるので, P,P1,Dが求まれば行列の積を2回行うことで簡単に一般項が計算できます.

Aは巡回行列になる

 巡回行列とは,


(c0c1cn2cn1cn1c0c1cn2cn1c0c1c2c3c0)

と表される行列のことです. Aが巡回行列となることを示しましょう. まず,


p[n+1,0]=c0p[n,0]+c1p[n,1]++ck1p[n,k1]

と表されるとします.


p[n+1,l]=1m(p[n,(l1)%k]+p[n,(l2)%k]++p[n,(lm)%k])=1m(p[n,((1)%k+l)%k]+p[n,((2)%k+l)%k]++p[n,((m)%k+l)%k])

より,


p[n+1,l]=c0p[n,l%k]+c1p[n,(l+1)%k]++ck1p[n,(k1+1)%k]=c(l)%kp[n,0]+c(l+1)%kp[n,1]++c(l+k1)%kp[n,k1]

ということで


A=(c0c1ck2ck1ck1c0c1ck2ck1c0c1c2c3c0)

となりAは巡回行列です. たとえばm=6,k=4のとき


A=16(1122211222111221)

となることは先ほど求めましたが, c0=16,c1=16,c2=26,c3=26 として


A=16(c0c1c2c3c3c0c1c2c2c3c0c1c1c2c3c0)

が確かめられます.

巡回行列の固有値と固有ベクトル

 巡回行列


A=(c0c1cn2cn1cn1c0c1cn2cn1c0c1c2c3c0)

について, ω=exp(2πin)=cos(2πn)+isin(2πn), f(x)=c0+c1x++cn1xn1=k=0n1ckxkとしてnつの複素数f(1),f(ω),,f(ωn1)が固有値になり, それぞれに対応する固有ベクトルはckの値に関係なく


1n(111),1n(1ωωn1),,1n(1ωn1ω(n1)(n1))

となることが知られています. さらにそれらは標準内積で正規直交基底になります. これは直接示せます. 0k<nを整数として,


(c0c1cn2cn1cn1c0c1cn2cn1c0c1c2c3c0)1n(1ωkωk(n1))=f(ωk)1n(1ωkωk(n1))

の第m成分を比較すると, 左辺は1nk=0n1c(m+k)%nωk, 右辺は1nk=0n1ckωk+mです. ωωnを満たすことに注意すれば


()=1nk=0n1c(m+k)%nωk=1n(k=mn1cm+kωk+k=0m1cnm+kωk)=1n(k=0nm1ckωk+m+k=nmn1ckωkn+m)=1nk=0n1ckωk+m=()

(ただしm=0の場合は第2項は省略)となって一致します. さらに固有値f(ωk),f(ωm)に対する固有ベクトルの標準内積の第l項について, 1n(1+ωkωm++ωk(n1)ωm(n1))=1n(1+ωmk++ω(mk)(n1))となるので, m=kのとき内積は1, そうでないなら内積は0となります. よって固有ベクトル


1n(111),1n(1ωωn1),,1n(1ωn1ω(n1)(n1))

は正規直交基底をなします.
 以上の性質から, n次の巡回行列なら


P=1n(1111ωωn11ωn1ω(n1)(n1))

としてPは正規直交基底であることからPはユニタリ行列(tPPが単位行列Eになる)で


P1=1n(1111ω1ω(n1)1ω(n1)ω(n1)(n1))

を満たします. さらに,


P1AP=D=(f(1)000f(ω)000f(ωn1))

と対角化できます. ちなみにPはDFT行列という名前があり, 離散フーリエ変換と関係があるそうです(詳しくないので今は書けません…)

一般のkについてp[n,0]を求める

 いよいよm面さいころをn回投げて出た目の総和がkの倍数になる確率を求めます. k次の巡回行列Aによって


(p[n+1,0]p[n+1,1]p[n+1,k1])=A(p[n,0]p[n,1]p[n,k1])

と表されるので, 上の節で見た通り, D=P1APで対角化されます. An=PDnP1より,


(p[n,0]p[n,1]p[n,k1])=1k(1111ωωk11ωk1ω(k1)(k1))(f(1)n000f(ω)n000f(ωk1)n)(1111ω1ω(k1)1ω(k1)ω(k1)(k1))(100)

となります. 一番うしろのベクトルが第1成分以外0であることに注意すれば, PDnP11列目だけを見ればよいです.


(1111ωωk11ωk1ω(k1)(k1))(f(1)n000f(ω)n000f(ωk1)n)=(f(1)nf(ω)nf(ωk1)nf(1)nωf(ω)nωk1f(ωk1)nf(1)nωk1f(ω)nω(k1)(k1)f(ωk1)n)

で,


(f(1)nf(ω)nf(ωk1)nf(1)nωf(ω)nωk1f(ωk1)nf(1)nωk1f(ω)nω(k1)(k1)f(ωk1)n)(1111ω1ω(k1)1ω(k1)ω(k1)(k1))=(t=0k1f(ωt)nt=0k1ωtf(ωt)nt=0k1ω(k1)tf(ω(k1)t)n)

より


(p[n,0]p[n,1]p[n,k1])=1k(t=0k1f(ωt)nt=0k1ωtf(ωt)nt=0k1ω(k1)tf(ωt)n)(100)=1k(t=0k1f(ωt)nt=0k1ωtf(ωt)nt=0k1ω(k1)tf(ωt)n)

となり, p[n,0]=1k(f(1)n+f(ω)n++f(ωk1)n)ということがわかりました. さらにc0+c1++ck1=1を考慮すれば, f(1)=1ということがわかるので, p[n,0]=1k(1+f(ω)n++f(ωk1)n) となります.

m=6,k=4のとき


A=16(1122211222111221)

となるので, f(x)=16(1+x+2x2+2x3) となります. ω=exp(iπ2)=cos(π2)+isin(π2)=iより
f(ω)=16(1+i+2i2+2i3)=16(1i)
f(ω2)=16(1+i2+2i4+2i6)=0
f(ω3)=16(1+i3+2i6+2i9)=16(1+i)
となります. f(ω)=26(cos(3π4)+isin(3π4)),f(ω3)=26(cos(3π4)+isin(3π4)) より,


f(ω)n+f(ω3)n=(26)n(cos(3nπ4)isin(3nπ4))+(26)n(cos(3nπ4)+isin(3nπ4))=2(26)ncos(3nπ4)

となって, p[n,0]=14(1+f(ω)n+f(ω2)n+f(ω3)n)だったので,


p[n,0]=14{1+2(26)ncos(3nπ4)}

が導けました!いくつか項を計算すると,
p[1,0]=161=16=0.1666
p[2,0]=962=14=0.25
p[3,0]=5563=55216=0.2546
p[4,0]=32264=161648=0.2484
p[5,0]=194665=9733888=0.2502
となります.

今回はp[n,1]も計算してみます. p[n,1]=14(1+ωf(ω)n+ω2f(ω2)n+ω3f(ω3)n)ですが


ωf(ω)n+ω3f(ω3)n=if(ω)nif(ω3)n=(26)n(icos(3nπ4)+sin(3nπ4))(26)n(icos(3nπ4)sin(3nπ4))=2(26)nsin(3nπ4)

となり


p[n,1]=14{1+2(26)nsin(3nπ4)}

です. 同様にして


p[n,0]=14{1+2(26)ncos(3nπ4)}p[n,1]=14{1+2(26)nsin(3nπ4)}p[n,2]=14{12(26)ncos(3nπ4)}p[n,3]=14{12(26)nsin(3nπ4)}

となります. 綺麗ですね!

m=6,k=5のとき


A=16(1111221111121111121111121)

より, f(x)=16(1+x+x2+x3+2x4) となります. ω=exp(2iπ5)=cos(2π5)+isin(2π5)であるので,


1+ωl+ω2l+ω3l+ω4l={1(l5)0()

に注意して
f(ω)=16ω4=16ω1=16(cos(2π5)+isin(2π5))
f(ω2)=16(ω2)4=16ω3=16ω2=16(cos(4π5)+isin(4π5))
f(ω3)=16(ω3)4=16ω2=16(cos(4π5)+isin(4π5))
f(ω4)=16(ω4)4=16ω=16(cos(2π5)+isin(2π5))
となるので,


f(ω)n+f(ω2)n+f(ω3)n+f(ω4)n=(16)n(ωn+ω2n+ω2n+ωn)=2(16)n(cos(2nπ5)+cos(4nπ5))

となって, p[n,0]=15(1+f(ω)n+f(ω2)n+f(ω3)n+f(ω4)n)だったので,


p[n,0]=15{1+2(16)n(cos(2nπ5)+cos(4nπ5))}

が導けました!いくつか項を計算すると,
p[1,0]=161=16=0.1666
p[2,0]=762=736=0.1944
p[3,0]=4363=43216=0.1990
p[4,0]=25964=2591296=0.1998
p[5,0]=155665=3891944=0.2001
となります. 同様にp[n,1]からp[n,4]も計算してみると


p[n,1]=15{1+2(16)n(cos(2(n1)π5)+cos(4(n1)π5))}p[n,2]=15{1+2(16)n(cos(2(n2)π5)+cos(4(n2)π5))}p[n,3]=15{1+2(16)n(cos(2(n3)π5)+cos(4(n3)π5))}p[n,4]=15{1+2(16)n(cos(2(n4)π5)+cos(4(n4)π5))}

となります. ちなみにcos(2π5)=14(51)が分かるので, 各項は具体的に計算できます.

m=6,k=8のとき


A=16(0011111110011111110011111110011111110011111110011111110001111110)

(めっちゃ大きい…)より, f(x)=16(x2+x3+x4+x5+x6+x7) となります. ω=exp(iπ4)=cos(π4)+isin(π4)であるので, k=5のときと同様に考えて
f(ω)=16(1ω)=16(11212i)
f(ω2)=16(1ω2)=16(1i)
f(ω3)=16(1ω3)=16(1+1212i)
f(ω4)=16(1ω4)=0
f(ω5)=16(1ω5)=16(1+12+12i)
f(ω6)=16(1ω6)=16(1+i)
f(ω7)=16(1ω7)=16(112+12i)
となります. 大変ですね!f(ω2)n=2(cos(5nπ4)+isin(5nπ4)),f(ω6)n=2(cos(5nπ4)+isin(5nπ4))に注目すれば


f(ω2)n+f(ω6)n=2(26)ncos(3nπ4)

cosα=1122+2,sinα=122+2とすると, tanα=21となりますが, tan(2α)=2221(21)2=1より2α=π4+nπよってα=π8+nπ2です. cosα,sinα<0に注目するとα=9π8であるので, f(ω)n=2+2(cos(9nπ8)+isin(9nπ8)),f(ω7)n=2+2(cos(9nπ8)+isin(9nπ8)) に注目すれば


f(ω)n+f(ω7)n=2(2+26)ncos(7nπ8)

同様にf(ω3)n=22(cos(11nπ8)+isin(11nπ8)),f(ω5)n=22(cos(11nπ8)+isin(11nπ8)) に注目すれば


f(ω3)n+f(ω5)n=2(226)ncos(5nπ8)

p[n,0]=18(1+f(ω)n++f(ω8)n)だったので,


p[n,0]=18{1+2(226)ncos(5nπ8)+2(26)ncos(3nπ4)+2(2+26)ncos(7nπ8)}

が導けました!大変でしたね(k9はもっと大変ですが…)いくつか項を計算すると,
p[1,0]=061=0
p[2,0]=562=536=0.1388
p[3,0]=2763=18=0.125
p[4,0]=16164=1611296=0.1242
p[5,0]=97565=3252592=0.1253
となります. p[n,0]の式は結構美しい感じになりましたが, p[n,1]からp[n,7]は未確認です...(さらに複雑な式になりそう)

m=6のときのp[n,0]の一般項の表

kp[n,0]
11
212
313
414{1+2(26)ncos(3nπ4)}
515{1+2(16)n(cos(2nπ5)+cos(4nπ5))}
616
717{1(16)n1}
818{1+2(226)ncos(5nπ8)+2(26)ncos(3nπ4)+2(2+26)ncos(7nπ8)}

この表を見ると, どれも1kに収束しそうということがわかります. 次の節では, これを証明します.

nのときの挙動

 m2のとき, np[n,l]1kに収束することを示します. p[n,l]=1kt=0k1ωltf(ωt)nであったので, t=1k1ωltf(ωt)n0を示せばよいです.
 |ωltf(ωt)n|=|f(ωt)n|=|f(ωt)|n(|c0|+|c1ω|++|ck1ωk1|)n=1ですが, ここで等号が成立すると仮定すると, |c0+c1ω++ck1ωk1|2=|c0|2+|c1ω|2++|ck1ωk1|2+20a<b<kcacb(Re(ωa)Re(ωb)+Im(ωa)Im(ωb)) においてca,cb>0であるような任意の0a<b<kにおいてRe(ωa)Re(ωb)+Im(ωa)Im(ωb)=cos(2(ab)πk)=1が成り立ちます. これは2(ab)πk=2tπ (tは整数)に同値であるから, abkの倍数です. しかし, 0<|ab|<kより矛盾します. よって, |f(ωt)|<1で, n|ωltf(ωt)n|0となります. これがt=1,2,,k1で示されるから, t=1k1ωltf(ωt)n0です. 一方で1kt=00ωltf(ωt)n=1kf(1)n=1kです. 以上から, m2のときnp[n,l]1kに収束します.
 これで, さいころをn個投げたときの目の和の確率について にあった,

全てのkに対して、1/k+f(n)を満たすf(n)が存在し、f(n)は必ず0に収束する

という予想を示せました.

最後に

 ここまで読んでくれてありがとうございました!質問や間違いなどがあったらぜひコメント欄でおしえてください!

参考文献

投稿日:202215
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

B3, 数学科

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 漸化式を立てる
  2. 特別な形のkについて
  3. kmの約数である場合
  4. k=m+1の場合
  5. 一般のkについて
  6. 行列累乗で表す
  7. Aは巡回行列になる
  8. 巡回行列の固有値と固有ベクトル
  9. 一般のkについてp[n,0]を求める
  10. m=6のときのp[n,0]の一般項の表
  11. nのときの挙動
  12. 最後に
  13. 参考文献