« 聖ペテルスブルグのパラドックス(2) | メイン | サイコロの確率と格闘する ~一般の場合~(1) »

サイコロの確率と格闘する ~8の倍数編~

 【問題】
さいころをn個投げたとき、目の和がkの倍数になる確率 a(k,n) を求めよ。

 という問題が気になっているので、相変わらず挑戦しています。
 出題元はこのページ
 
 これまでに、kの値が4のときと、5のときの答えを導出することができました。
 (k=4の場合は1月5日の記事、k=5の場合は2月7日の記事を参照。)
 ひとまずこれで、kが1から7までの場合の答えについては、導出が完了したことになります。
 (上記の出題元ページで、k=1、2、3、6、7の場合の答えが紹介されています。)
 
 さて、当初の思惑では、「k=5のときの答えを出すことで、一般的なkの値について何か予測が立てられないだろうか?」という淡い期待を抱いていました。
 そういうわけでk=5の場合の解答をがんばって導き出したにもかかわらず、一般的なkの場合について、未だうまく予測が立てられないでいます。

 というわけで、今回は、k=8の場合について考えました。
 ひょっとしたらこ、これでもうちょっと予測について何か言えるかもしれない、という期待からです。
 
 やっと、答えが出せました。
 以下、導出の過程。
 
---------------------------------------------------

 さいころをn個投げたときの、目の和が8の倍数になる確率を x0(n) とおく。
 そして、目の和を8で割ったときの余りが1になる確率を x1(n) とおく。
 同様に、余りが2になる確率、3になる確率、...、7になる確率を、それぞれ x2(n), x3(n), ... ,x7(n) とおく。
 以上8つの確率を、列ベクトル形式で現したものを、
 
x(n) = t( x0(n), x1(n), ... ,x7(n) )
 
 とする。
 x(n) の漸化式は、行列Aを用いて以下のように書ける。
 
  x(n) = A * x(n-1)
 
 ここでAは以下のような8次の正方行列である。
 
     |  0  0 1/6 1/6 1/6 1/6 1/6 1/6|
     |1/6  0  0 1/6 1/6 1/6 1/6 1/6|
     |1/6 1/6  0  0 1/6 1/6 1/6 1/6|
  A = |1/6 1/6 1/6  0  0 1/6 1/6 1/6|
     |1/6 1/6 1/6 1/6  0  0 1/6 1/6|
     |1/6 1/6 1/6 1/6 1/6  0  0 1/6|
     |1/6 1/6 1/6 1/6 1/6 1/6  0  0|
     |  0 1/6 1/6 1/6 1/6 1/6 1/6  0|

 Aの固有値を λ0, λ1, ... ,λ7 は、Maximaを使って、以下のように得られる。

λ0 = 0
λ1 = (1/6)×(-i/√2 - 1/√2 - 1 )
λ2 = (1/6)×( i - 1 )
λ3 = (1/6)×(-i/√2 + 1/√2 - 1 )
λ4 = 1
λ5 = (1/6)×( i/√2 + 1/√2 - 1 )
λ6 = (1/6)×(-i - 1 )
λ7 = (1/6)×( i/√2 - 1/√2 - 1 )

 そして、それぞれの固有値に対応する固有ベクトル 0, 1, ... ,7 は、以下のようになる。

0 = ( 1, 1, 1, 1, 1, 1, 1, 1 )
1 = ( 1, (i+1)/√2, i, (i-1)/√2, -1, (-i-1)/√2, -i, (-i+1)/√2)
2 = ( 1, i, -1, -i, 1, i, -1, -i )
3 = ( 1, (i-1)/√2, -i, (i+1)/√2, -1, (-i+1)/√2, i, (-i-1)/√2)
4 = ( 1, -1, 1, -1, 1, -1, 1, -1 )
5 = ( 1, (-i-1)/√2, i, (-i+1)/√2, -1, (i+1)/√2, -i, (i-1)/√2)
6 = ( 1, -i, -1, i, 1, -i, -1, i )
7 = ( 1, (-i+1)/√2, -i, (-i-1)/√2, -1, (i-1)/√2, i, (i+1)/√2)
 
 ここで、数列 {jx(n)} ( j は0~7) が、初項 _j ・ (1) 、公比 λj の等比数列と見なせる。
 実際に計算してみると、

jx(n) = λjn

 となることがわかる。(おお、むちゃくちゃきれいだ。)
 つまり、
 
0x(n) = 1
1x(n) = λ1n
2x(n) = λ2n
3x(n) = λ3n   ... (*)
4x(n) = 0
5x(n) = λ5n
6x(n) = λ6n
7x(n) = λ7n
 
 である。
 
 対角化行列Pの逆行列P-1を、(*)式の左から作用させると、x(n) を得ることができる。
 (なお、P、P-1 の具体的な形については、ここでは省略。)
 
 以上の計算をすると、x0(n) は以下のようになる。
 
x0(n) = (1/8)×( 1 + λ1n + λ2n + λ3n + λ5n + λ6n + λ7n )

 λ2n と λ6n の和については、以前にやっているので、それを使って式を簡単にできる。

x0(n) = (1/8) + (1/4)×(-√2/6)n×cos(nπ/4)
    + (1/8)×( λ1n + λ3n + λ5n + λ7n )
 ・・・ (答)

ただし、

λ1 = (1/6)×(-i/√2 - 1/√2 - 1 )
λ3 = (1/6)×(-i/√2 + 1/√2 - 1 )
λ5 = (1/6)×( i/√2 + 1/√2 - 1 )
λ7 = (1/6)×( i/√2 - 1/√2 - 1 )

---------------------------------------------------

 途中の経緯はかなりアヤシイですが、なんとか、おそらく正しいと思われる結果を出すことができました。
 一応、n=6まで、手計算の結果と一致していることを確認してます。
 式の最後の部分が、もうちょっとシンプルな形に整理できるような気がしますが、まあ今回は許容範囲。

 ・・・と、さてここまで来てついに、一つの面白い発見をしてしまいました。
 一般的なkの場合の答えを示唆する内容です。
 しかし、今日はもうこれで疲れてしまったので、続きは次回。

---------------------------------------------------

【追記】
 もうちょっとシンプルな表記で書けることに気づきました。
 λ1, λ3, λ5, λ7 は、次のように書くこともできます。
 
λ1 = (-1/6)×√(2+√2)×( cos( π/8)+isin( π/8) )
λ3 = (-1/6)×√(2-√2)×( cos(3π/8)+isin(3π/8) )
λ5 = (-1/6)×√(2-√2)×( cos(5π/8)+isin(5π/8) )
λ7 = (-1/6)×√(2+√2)×( cos(7π/8)+isin(7π/8) )

 ・・・こっちの方が、何かを暗示している表現ですね(笑)。
 これらを使って、x0(n) を整理すると、

x0(n) = (1/8) + (1/4)×(-√2/6)n×cos(nπ/4)
    + (1/4)×(-√(2+√2)/6)n×cos(nπ/8)
    + (1/4)×(-√(2-√2)/6)n×cos(3nπ/8)

 となります。
 やっと虚数を使わない形で書けましたね。

トラックバック

このエントリーのトラックバックURL:
http://www.riverplus.net/cgi/mt/mt-tb.cgi/268

コメントを投稿