サイコロの出目の和 (4回目)

2024/2/18(日)
サイコロの出目の和 (4回目)
 
出目1~dのサイコロn個の和がkとなる場合の数
 
■ 場合の集合(前回より)
▼ 集合の定義
集合Aの場合の数(要素数)は|A|と書く
 
n個のサイコロの出目1~dの和がkとなる集合をAとする
(|A|を求めることが目的)
 
n個のサイコロの出目1~?の和がkとなる集合をA0とする
(出目がd以下とdを超える場合のすべてを含む)
 
i番目のサイコロの出目がdを超える集合をAiとする
(i=1~n, i番目以外がdを超える場合も含む)
 
▼ |A|の集合の式
|A| = |A0| - |A1∪A2∪…∪An|
= |A0|
- (|A1|+|A2|+…+|An|)
+ (|A1∩A2|+…+|A1∩An|+…+|A2∩A3|+…+|An-1∩An|)
+(-1)r(|A1∩A2∩…∩Ar|+…+|An-r+1∩An-r+2∩…∩An|)
+(-1)n|A1∩A2∩…∩An|
となる
 
 
■ 集合の場合の数を考える
▼ 例
n個のサイコロの出目1~dの和がkとなる場合の数
n = 3, d = 6, k = 10で考える
 
▼ |A0|を考える
n個のサイコロの和の最小値はnなので
k ≧ nとする(この条件以外での場合の数は0)
 
出目が1~d(=6)の場合の和がk(=10)となる場合の数
〇の数を和k(=10)、_は|を置く場所k-1(=9)か所
|をn-1(=2)個とする
 
〇_〇_〇_〇_〇_〇_〇_〇_〇_〇
k-1(=9)か所の_にn-1(=2)か所|を置くと例えば
〇_〇|〇_〇_〇_〇_〇|〇_〇_〇
(1個目2, 2個目5, 3個目3の出目)
 
これはk-1(=9)個からn-1(=2)個を選ぶ組み合わせなので
k-1Cn-1 = 9C2 = 9!/(7!2!) = 9・8/2 = 36通り
 
これは出ない出目d+1(=7)~k-2(=8)を含んでいる
 
|A0| = k-1Cn-1 (if k ≧ n)
 
 
▼ |Ai|(i=1~n)を考える
n個のサイコロの内少なくとも1個はd+1以上なので
和の最小値はn-1+d+1 = n+dとなり
k ≧ n + dとする(この条件以外での場合の数は0)
 
出目が1~d(=6)の場合の和がk(=10)となる場合の数
〇の数を和k-d(=4)、_は|を置く場所k-d-1(=3)か所
|をn-1(=2)個、d+1以上の出目をi(=2)番目とする
i番目はd(=6)を引いておき後でd(=6)を足すことで
d+1(=7)以上の出目にする
 
〇_〇_〇_〇
k-d-1(=3)か所の_にn-1(=2)か所|を置くと例えば
〇_〇|〇|〇
(1個目2, 2個目1+6, 3個目1の出目
k = 2+(1+6)+1 = 2+7+1 = 10となり
i(=2)番目は6+1以上の出目になる)
 
これはk-d-1(=3)個からn-1(=2)個を選ぶ組み合わせなので
k-d-1Cn-1 = 3C2 = 3!/(1!2!) = 3・2/2 = 3通り
 
|Ai| = k-d-1Cn-1 (if k ≧ n + d)
|Ai|はi=1~nつまりnC1通りあるので(3C1 = 3)
|A1|+|A2|+…+|An| = nC1k-d-1Cn-1 (if k ≧ n + d)
 
|A0| = 36通り
|A1|+|A2|+|A3| = nC1k-d-1Cn-1 = 3・3 = 9通り
|A| = |A0| - (|A1|+|A2|+|A3|) = 36 - 9 = 27通り
(前回の考察と同じ27通りとなった)
 
 
▼ |Ai∩Aj|(i,j=1~n, i≠j)を考える
n個のサイコロの内少なくとも2個はd+1以上なので
和の最小値はn-2+2(d+1) = n+2dとなり
k ≧ n + 2dとする(この条件以外での場合の数は0)
(k=10,n=3,d=6では10<3+2・6=15より0通りなので
ここではk=16の場合を考える)
 
出目が1~d(=6)の場合の和がk(=16)となる場合の数
〇の数を和k-2d(=4)、_は|を置く場所k-2d-1(=3)か所
|をn-1(=2)個、d+1以上の出目をi,j(=1,2)番目とする
i,j番目はd(=6)を引いておき後でd(=6)を足すことで
d+1(=7)以上の出目にする
 
〇_〇_〇_〇
k-2d-1(=2)か所の_にn-1(=2)か所|を置くと例えば
〇_〇|〇|〇
(1個目2+6, 2個目1+6, 3個目1の出目
k = (2+6)+(1+6)+1 = 8+7+1 = 16となり
i,j(=1,2)番目は6+1以上の出目になる)
 
これはk-2d-1(=3)個からn-1(=2)個を選ぶ組み合わせなので
k-2d-1Cn-1 = 3C2 = 3!/(1!2!) = 3通り
 
|Ai∩Aj| = k-2d-1Cn-1 (if k ≧ n + 2d)
|Ai∩Aj|はn個から2個(iとj)を選ぶ組み合わせなので
nC2通りあるので
Σ[i,j=1~n, i≠j]|Ai∩Aj|
= Σ[i=1~n-1]Σ[j=i+1~n]|Ai∩Aj|
= nC2k-2d-1Cn-1 (if k ≧ n + 2d)
 
 
▼ |Ai∩Aj∩…|(i,j,…=1~n, i≠j≠…)を考える
|Ai∩Aj|の2個を|Ai∩Aj∩…|のr個に拡張して考える
 
n個のサイコロの内少なくともr個はd+1以上なので
和の最小値はn-r+r(d+1) = n+rdとなり
k ≧ n + rdとする(この条件以外での場合の数は0)
 
出目が1~dの場合の和がkとなる場合の数
〇の数を和k-rd、_は|を置く場所k-2d-1か所
|をn-1個、d+1以上の出目をr個とする
r個はdを引いておき後でdを足すことで
d+1以上の出目にする
 
これはk-rd-1個からn-1個を選ぶ組み合わせなので
k-rd-1Cn-1 通り
 
|Ai∩Aj∩…| = k-rd-1Cn-1 (if k ≧ n + rd)
|Ai∩Aj∩…|はn個からr個を選ぶ組み合わせなので
nCr通りあるので
 
Σ[i,j,…=1~n, i≠j≠…]|Ai∩Aj∩…|
= Σ[i=1~n-r+1]Σ[j=i+1~n-r+2]…|Ai∩Aj∩…|
= nCrk-rd-1Cn-1 (if k ≧ n + rd)
 
 
▼ |A|
k ≧ n + rdよりr ≦ (k-n)/dなので
r ≦ [(k-n)/d]とする([]はガウス記号,[1.5]=1)
よって
f(r) = Σ[i,j,…=1~n, i≠j≠…]|Ai∩Aj∩…|
= nCrk-rd-1Cn-1 (r = 1~[(k-n)/d])
と置くと(r > [(k-n)/d]のときはf(r)=0)
 
- (|A1|+|A2|+…+|An|) = (-1)1・F(1)
+ (|A1∩A2|+…+|A1∩An|+…+|A2∩A3|+…+|An-1∩An|)= (-1)2f(2)

+(-1)n|A1∩A2∩…∩An| = (-1)nf(n)
 
また
F(0) = nC0k-0d-1Cn-1 =  1・k-1Cn-1 = k-1Cn-1 なので
|A0| = k-1Cn-1 = (-1)0f(0)
 
よって
|A| = |A0| - |A1∪A2∪…∪An|
= |A0|
- (|A1|+|A2|+…+|An|)
+ (|A1∩A2|+…+|A1∩An|+…+|A2∩A3|+…+|An-1∩An|)
+(-1)r(|A1∩A2∩…∩Ar|+…+|An-r+1∩An-r+2∩…∩An|)
+(-1)n|A1∩A2∩…∩An|
 
= Σ[r=0~n](-1)rf(r) (r > [(k-n)/d]のときはf(r)=0)
= Σ[r=0~[(k-n)/d]](-1)rf(r)
= Σ[r=0~[(k-n)/d]](-1)rnCrk-rd-1Cn-1 
 
 
▼ 式変形
nCrk-rd-1Cn-1 
= n!/{(n-r)!r!}・(k-rd-1)!/{(k-rd-1-(n-1))!(n-1)!}
= n!(k-rd-1)!/{(n-r)!r!(k-rd-n)!(n-1)!}
= n(k-rd-1)!/{(n-r)!r!(k-rd-n)!}
= {n/((n-r)!r!)}(k-rd-1)(k-rd-2)…(k-rd-(n-1))
= {n/((n-r)!r!)}k-rd-1Pn-1 
 
Σ[ r=0~[(k-n)/d] ](-1)rnCrk-rd-1Cn-1 
= Σ[ r=0~[(k-n)/d] ]
(-1)r{n/((n-r)!r!)}k-rd-1Pn-1 
 
 
■ 対称性
(2回目)より
k = k1 = n ~[(n+nd  )/2] (n=3,d=6のとき 3~10)と
k = k2 = nd~[(n+nd+1)/2] (n=3,d=6のとき18~11)は
同じ場合の数になることが予想される
 
これは
k1 = n+nd - k2 でkを置き換え
d~[(d+1)/2]を1~[d/2]に置き換えれば
同じ結果となる
 
(3個のサイコロで
kを3+18-k、18~11を3~10にしても結果は同じ)
 
 
■ 結果
出目1~dのサイコロn個の和がkとなる場合の数は
 
[(k-n)/d]
Σ(-1)
rnCrk-rd-1Cn-1 
r=0
または
[(k-n)/d]
Σ(-1)r(k-rd-1Pn-1)n/{(n-r)!r!}
r=0
 
([x]はガウス記号でxを超えない最大の整数)
k = n~nd
 
また
k = k1 = n ~[(n+nd  )/2] (n=3,d=6のとき 3~10)と
k = k2 = nd~[(n+nd+1)/2] (n=3,d=6のとき18~11)は
同じ場合の数になる
k1 = n+nd - k2 
 

このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)