平成29年2月19日

[流れ星]

     第343数学的な応募解答

      <解答募集期間:122日〜2月19日>

[九試合の勝敗表]

 A,Bの2チームで引き分けのない勝敗を決める試合を行います。9試合を行った勝敗表みて次の問題を考えました。

問1 2連勝以上する確率を求めよ。

問2 3連勝以上する確率を求めよ。

次に、続けて勝った最多連勝数をkとするとき、このkを得点とします。

 例えば、勝、勝、勝、負、負、負、勝、勝、勝 のとき3連勝が2回あるが、得点は3点です。

問3 得点が2点となる確率を求めよ。

問4 得点が3点となる確率を求めよ。

問5 得点kの期待値を求めよ。

NO1uchinyan         01/23 1523分 受信  更新 2/19

特に指定がないのですが,勝と負を記述した勝敗表が意味をもつにはチームを固定しないといけないので,

A チームが,対称なので B チームでもいいですが,2連勝以上,3連勝以上,,する確率,だと思って解きました。

 (解法1)

一般に,k 連勝以上することの余事象は,k-1 連勝以下までしかしない,です。

n 試合の場合に k-1 連勝以下までしかしない場合の数を a(k,n) 通りとすると,

n 試合目が負の場合,a(k,n-1) 通り,

n 試合目が勝で n-1 試合目が負の場合,a(k,n-2) 通り,

n 試合目が勝で n-1 試合目が勝で n-2 試合目が負の場合,a(k,n-3) 通り,

n 試合目が勝で n-1 試合目が勝で n-2 試合目が勝で… n-k+2 試合目が勝で n-k+1 試合目が負の場合,a(k,n-k) 通り,

n 試合目が勝で n-1 試合目が勝で n-2 試合目が勝で… n-k+2 試合目が勝で n-k+1 試合目が勝の場合,

この場合は k 連勝してしまうのであり得ません。そこで,

a(k,n) = a(k,n-1) + a(k,n-2) + … + a(k,n-k+1) + a(k,n-k)

と書けます。ただし,a(k,m) = 2^mm = 1, 2, ..., k-1a(k,k) = 2^k - 1,です。

これより,k 連勝以上する場合は,2^n - a(k,n) 通り,になります。

なお,計算上は,

a(k,n) = a(k,n-1) * 2 - a(k,n-k-1)

と書き直した方が楽な場合もあります。

以上より,9試合のときは次がいえます。

(0) 0連勝以上する場合

0連勝というのは変ですが,これはすべての場合なので,2^9 = 512 通り。

(1) 1連勝以上する場合

1連勝というのは変ですが,要するに少なくとも1回は勝つ,ということです。

つまり,全敗はしないということなので,2^9 - 1 = 512 - 1 = 511 通り。

(2) 2連勝以上する場合

k = 2 の場合なので,

a(2,n) = a(2,n-1) + a(2,n-2)

a(2,1) = 2a(2,2) = 3

です。これはフィボナッチ数列で,

a(2,3) = 5a(2,4) = 8a(2,5) = 13a(2,6) = 21a(2,7) = 34a(2,8) = 55a(2,9) = 89

となって,2^9 - a(2,9) = 512 - 89 = 423 通り,です。

(3) 3連勝以上する場合

k = 3 の場合なので,

a(3,n) = a(3,n-1) + a(3,n-2) + a(3,n-3)

a(3,1) = 2a(3,2) = 4a(3,3) = 7

です。これはトリボナッチ数列で,

a(3,4) = 13a(3,5) = 24a(3,6) = 44a(3,7) = 81a(3,8) = 149a(3,9) = 274

となって,2^9 - a(3,9) = 512 - 274 = 238 通り,です。

(4) 4連勝以上する場合

k = 4 の場合なので,

a(4,n) = a(4,n-1) + a(4,n-2) + a(4,n-3) + a(4,n-4)

a(4,1) = 2a(4,2) = 4a(4,3) = 8a(4,4) = 15

です。これはテトラボッチ数列で,

a(4,5) = 29a(4,6) = 56a(4,7) = 108a(4,8) = 208a(4,9) = 401

となって,2^9 - a(4,9) = 512 - 401 = 111 通り,です。

(5) 5連勝以上する場合

k = 5 の場合なので,

a(5,n) = a(5,n-1) + a(5,n-2) + a(5,n-3) + a(5,n-4) + a(5,n-5)

a(5,1) = 2a(5,2) = 4a(5,3) = 8a(5,4) = 16a(5,5) = 31

です。名前はよく分かりませんが,

a(5,6) = 61a(5,7) = 120a(5,8) = 236a(5,9) = 464

となって,2^9 - a(5,9) = 512 - 464 = 48 通り,です。

(6) 6連勝以上する場合

k = 6 の場合なので,

a(6,n) = a(6,n-1) + a(6,n-2) + a(6,n-3) + a(6,n-4) + a(6,n-5) + a(6,n-6)

a(6,1) = 2a(6,2) = 4a(6,3) = 8a(6,4) = 16a(6,5) = 32a(6,6) = 63

です。名前はよく分かりませんが,

a(6,7) = 125a(6,8) = 248a(6,9) = 492

となって,2^9 - a(6,9) = 512 - 492 = 20 通り,です。

(7) 7連勝以上する場合

k = 7 の場合なので,

a(7,n) = a(7,n-1) + a(7,n-2) + a(7,n-3) + a(7,n-4) + a(7,n-5) + a(7,n-6) + a(7,n-7)

a(7,1) = 2a(7,2) = 4a(7,3) = 8a(7,4) = 16a(7,5) = 32a(7,6) = 64a(7,7) = 127

です。名前はよく分かりませんが,

a(6,8) = 253a(7,9) = 504

となって,2^9 - a(7,9) = 512 - 504 = 8 通り,です。

(8) 8連勝以上する場合

k = 8 の場合ですが,明らかに 3 通り。ちなみに,a(8,9) = 509,です。

(9) 9連勝以上する場合

k = 9 の場合ですが,明らかに 1 通り。ちなみに,a(9,9) = 511,です。

これだけの準備の下に問題を解きます。

問1:

(2)の場合なので,確率は,423/512,になります。

問2:

(3)の場合なので,確率は,238/512 = 119/256,になります。

問3:

得点が2点ということは,2連勝はするが3連勝以上はしない,ということです。

そこで,(2) - (3) で,423 - 238 = 185 通りで,確率は,185/512,になります。

問4:

得点が3点ということは,3連勝はするが4連勝以上はしない,ということです。

そこで,(3) - (4) で,238 - 111 = 127 通りで,確率は,127/512,になります。

問5:

一般に,得点が k 点ということは,k 連勝はするが k+1 連勝以上はしない,ということです。

そこで,同様に考えて,得点の期待値は,

(0 * (512 - 511) + 1 * (511 - 423) + 2 * (423 - 238) + 3 * (238 - 111) + 4 * (111 - 48)

+ 5 * (48 - 20) + 6 * (20 - 8) + 7 * (8 - 3) + 8 * (3 - 1) + 9 * (1 - 0))/512

= (0 * 1 + 1 * 88 + 2 * 185 + 3 * 127 + 4 * 63 + 5 * 28 + 6 * 12 + 7 * 5 + 8 * 2 + 9 * 1)/512

= (0 + 88 + 370 + 381 + 252 + 140 + 72 + 35 + 16 + 9)/512

= 1363/512 = 2.662109375

になります。

 (解法2)

後のことも考えると,変に凝らずにコツコツ調べるのもいいように思いました。:

 (0) 0勝の場合

1 通り。

(1) 1勝はするが2連勝以上はしない場合

勝つのは1回〜5回で,勝の間又は両端に負を挟んで,

2H8 + 3H6 + 4H4 + 5H2 + 6H0 = 9C1 + 8C2 + 7C3 + 6C2 + 5C0 = 9 + 28 + 35 + 15 + 1 = 88 通り。

(2) 2連勝はするが3連勝以上はしない場合

2連勝するのは1回〜3回で,さらに2連勝する位置で場合分けします。

2連勝が1回

((1 + 2H5 + 3H3 + 4H1) + (1 + 2H4 + 3H2 + 4H0) + (1 + 1) * (1 + 2H3 + 3H1) + (1 + 2) * (1 + 2H2 + 3H0)) * 2

= ((1 + 6C1 + 5C2 + 4C1) + (1 + 5C1 + 4C2 + 3C0) + (1 + 1) * (1 + 4C1 + 3C1) + (1 + 2) * (1 + 3C1 + 2C0)) * 2

= (21 + 13 + 16 + 15) * 2 = 130 通り。

2連勝が2回

(((1 + 2H2 + 3H0) + (1 + 2)) * 2 + 2 * 2) + ((1 + 2) + 2) * 2 + (2 * 2 * 2 + 2) + (1 + 2) * 2 + (1 + 3 + 1)

= (((1 + 3C1 + 2C0) + (1 + 2)) * 2 + 2 * 2) + ((1 + 2) + 2) * 2 + (2 * 2 * 2 + 2) + (1 + 2) * 2 + (1 + 3 + 1)

= 20 + 10 + 10 + 6 + 5 = 51 通り。

2連勝が3回

1 * 2 + 1 * 2 = 4 通り。

そこで,この場合は,130 + 51 + 4 = 185 通り。

(3) 3連勝はするが4連勝以上はしない場合

3連勝するのは1回〜2回で,さらに3連勝する位置で場合分けします。

3連勝が1回

((1 + (2H4 + 3H2 + 4H0) + ((1 + 2) + 2) * 2 + 1) + (1 + (2H3 + 3H1) + 2 * 2 + 1) + (1 + 1) * (1 + (2H2 + 3H0) + 2)) * 2

+ (1 + 2 + 1) * (1 + 2 + 1)

= ((1 + (5C1 + 4C2 + 3C0) + ((1 + 2) + 2) * 2 + 1) + (1 + (4C1 + 3C1) + 2 * 2 + 1) + (1 + 1) * (1 + (3C1 + 2C0) + 2)) * 2

+ (1 + 2 + 1) * (1 + 2 + 1)

= (24 + 13 + 14) * 2 + 16 = 102 + 16 = 118 通り。

3連勝が2回

2 * 2 + 1 + 1 * 2 + 2 = 9 通り。

そこで,この場合は,118 + 9 = 127 通り。

(4) 4連勝はするが5連勝以上はしない場合

4連勝するのは1回〜2回で,さらに4連勝する位置で場合分けします。

4連勝が1回

((1 + (2H3 + 3H1) + (2 * 2 + 1) + 2) + (1 + (2H2 + 3H0) + 1 * 2 + 1) + (1 + 1) * (1 + 2 + 1)) * 2

= ((1 + (4C1 + 3C1) + (2 * 2 + 1) + 2) + (1 + (3C1 + 2C0) + 1 * 2 + 1) + (1 + 1) * (1 + 2 + 1)) * 2

= (15 + 8 + 8) * 2 = 31 * 2 = 62 通り。

4連勝が2回

1 通り。

そこで,この場合は,62 + 1 = 63 通り。

(5) 5連勝はするが6連勝以上はしない場合

5連勝するのは1回で,さらに5連勝する位置で場合分けします。

((1 + (2H2 + 3H0) + 1 * 2 + 1) + (1 + 2 + 1)) * 2 + (1 + 1) * (1 + 1)

= ((1 + (3C1 + 2C0) + 1 * 2 + 1) + (1 + 2 + 1)) * 2 + (1 + 1) * (1 + 1)

= (8 + 4) * 2 + 4 = 28 通り。

(6) 6連勝はするが7連勝以上はしない場合

6連勝するのは1回で,さらに6連勝する位置で場合分けします。

((1 + 2 + 1) + 2) * 2 = 6 * 2 = 12 通り。

(7) 7連勝はするが8連勝以上はしない場合

7連勝するのは1回で,さらに7連勝する位置で場合分けします。

2 * 2 + 1 = 5 通り。

(8) 8連勝はするが9連勝以上はしない場合

2 通り。

(9) 9連勝する場合

1 通り。

すべての場合は,

1 + 88 + 185 + 127 + 63 + 28 + 12 + 5 + 2 + 1 = 512 通り。

これは,確かに,2^9 = 512 通り,に一致します。

これだけの準備の下に問題を解きます。

問1:

(0)(1)以外の場合なので,512 - (1 + 88) = 423 通りで,確率は,423/512,になります。

問2:

(0)(2)以外の場合なので,512 - (1 + 88 + 185) = 238 通りで,確率は,238/512 = 119/256,になります。

問3:

得点が2点は(2)の場合なので,確率は,185/512,になります。

問4:

得点が3点は(3)の場合なので,確率は,127/512,になります。

問5:

得点が k 点は(k)の場合なので,得点の期待値は,

(0 * 1 + 1 * 88 + 2 * 185 + 3 * 127 + 4 * 63 + 5 * 28 + 6 * 12 + 7 * 5 + 8 * 2 + 9 * 1)/512

= (0 + 88 + 370 + 381 + 252 + 140 + 72 + 35 + 16 + 9)/512

= 1363/512 = 2.662109375

になります。

 (感想)

題意がピンと来なかったのですが,後半を見ると勝と負が書かれた勝敗表のようなので,

チームを固定しないと意味がないので,A チームの勝と負が書かれた勝敗表と思って解きました。

対称なので B チームの勝敗表でも結果は同じですし。

最初に思い付いたのが(解法1)です。「なるほど,フィボナッチとかが出てくるのか」と納得したのですが,

後半のことを考えると「直接に調べるのもよさそう」と思って(解法2)もやってみました。

ただ,計算は結構大変で数え間違いも何回かしましたが,図とかを描きながらやれば難しくはありません。

2つの方法で一致したので題意の解釈に間違いがなければ大丈夫かな,と思いますが。

残念ながら結果は美しくはなりませんでした。何か勘違いをしていなければいいのですが。

uchinyan         01/24 1142分 受信

(解法1)で済ませれば何とか日曜中に送れそうでしたが,

(解法2)の方が自然かも知れない,と思って計算を始めたら,

タイムアウトになってしまいました。

夜は諸般の事情でパソコンが使えないので。

 

問題を見て最初に思っtたのは,勝ったチームを並べる勝敗表です。

例えば,AAABBBAAA,のような。

この場合だと,単に2連勝以上といったとき,

A が2連勝以上,B が2連勝以上,両方が2連勝以上,

少なくとも一方が2連勝以上,一方だけが2連勝以上,など,

いろいろと考えられ,どうするの?,という感じでした。

後半の例でやっと勝と負の勝敗表と分かり,

前半はその導入,と解釈して,(解法1)に至り,

なるほど,と思った次第です。

 

もっとも,勝敗表というからには,

勝と負(=敗)が書かれているのが当たり前,

といわれれば,そのとおりですね。

 

NO2「早起きのおじさん」 01/29 2119分 受信  更新 2/19

場合の数をひたすら数えます。

 

9試合の勝ち、負けの場合の数は、29512通りです。

勝ちを1、負けを0で表すことにします。

連勝、連敗を括弧( )でくくって考えることにします。

例えば、「勝、勝、勝、負、負、負、勝、勝、勝」は、(111)(000)(111)で表します。

括弧( )のまとまりをグループということにします。

上の例は、勝ちのグループが2個、負けのグループが1個です。

勝ちと負けのグループの個数は、同じかどちらかが1つ多くなります。

勝ちと負けのグループは交互に並びます。

 

あ)9点の場合は、(111111111)の1通り。

い)8点の場合は、(11111111)、(0)の並べ方を数えて、2通り。

う)7点の場合

え)6点の場合

お)5点の場合

か)4点の場合

き)3点のとき

く)2点の場合

け)1点の場合

こ)0点の場合は、(000000000)1通り。

 

まとめると次の表になります。

 

表より、

1

 

2

 

3

 

4

 

5

NO3「浜田明巳」       02/03 1329分 受信 

「浜田明巳」       02/06 1403分 受信  更新 2/19

VBSCRIPTで計算してみた.
dim a(9),k(9)
for j=1 to 9
  k(j)=0
next
call saiki(1,a,k)
kotae="0,1"
for j=1 to 9
  kotae=kotae&chr(13)&j&","&k(j)
next
msgbox kotae
'
sub saiki(n,a(),k())
  a(n)=0
  while a(n)<=1
   if 9>n then
    call saiki(n+1,a,k)
   else
    call check(a,k)
   end if
   a(n)=a(n)+1
  wend
end sub
'
sub check(a(),k())
  kk=1
  r=0
  for j=1 to 9-1
   if a(j)+a(j+1)=2 then
    if r=0 then
     r=1
     m=2
    else
     m=m+1
    end if
   else
    r=0
    m=0
   end if
   if m>kk then
    kk=m
   end if
  next
  r=0
  for j=1 to 9
   r=r+a(j)
  next
  if r=0 then
   kk=0
  end if
  k(kk)=k(kk)+1
end sub

問題1
 P(k=0)=1/29,P(k=1)=88/29から,
  P()=1−P(k=0)−P(k=1)=1−(1+88)/2=423/512

問題2
 P()=1−P(k=0)−P(k=1)−P(k=2)=1−(1+88+185)/2=119/256

問題3
 P(k=2)=185/2=185/512

問題4
 P(k=3)=127/2=127/512

問題5
 E()(0・1+1・88+2・185+3・127+4・63+5・28+6・12+7・5+8・2+9・1)/2
    =1363/512

NO4「二度漬け白菜」     02/04 2219分 受信  更新 2/19

ペンネーム:二度漬け白菜


今回の出題においては,確率を計算させる設問があるにもかかわらず,
A
Bに対して(あるいはBAに対して)勝利する確率が,問題文には全く
書かれていません.
(
「引き分けのない勝敗を決める試合を行います」と書いてはありますが,
これだけの情報からでは,ABに勝利する確率は不明です.)

 

また,問題文にある「勝、勝、勝、負、負、負、勝、勝、勝」に関しても,
A
Bに対して「勝、勝、勝、負、負、負、勝、勝、勝」なのか,
それとも BAに対して「勝、勝、勝、負、負、負、勝、勝、勝」なのか,
はっきりしません.

 

私は次のように考えて解答することにしました.
ABに対して勝利する確率は常に 1/2.」

 

 

(解答)

1
計算式と答えは,
1-
[m=0,3]Comb(9-2*m,m)*(1/2)^(3*m)*(-1)^m
+(1/2)^2*
[m=0,2]Comb(7-2*m,m)*(1/2)^(3*m)*(-1)^m
=1-143/512+27/256
=423/512 (
)

 

2
計算式と答えは,
1-
[m=0,2]Comb(9-3*m,m)*(1/2)^(4*m)*(-1)^m
+(1/2)^3*
[m=0,1]Comb(6-3*m,m)*(1/2)^(4*m)*(-1)^m
=1-163/256+13/128
=119/256 (
)

 

(一般に,ABが引き分けのない試合を n 試合行うとき,A k (0kn) 連勝以上する
確率を s(n,k) とすると,s(n,k)は次式のような計算式で計算できる.
s(n,k)
=1-
[m=0,floor(n/(k+1))]Comb(n-k*m,m)*(1/2)^((k+1)*m)*(-1)^m
+(1/2)^k*
[m=0,floor((n-k)/(k+1))]Comb(n-k-k*m,m)*(1/2)^((k+1)*m)*(-1)^m )


3
計算式と答えは,
s(9,2)-s(9,3)=185/512 (
)

 

4
計算式と答えは,
s(9,3)-s(9,4)=127/512 (
)

 

5
計算式と答えは,
[k=0,9]k*(s(9,k)-s(9,k+1))
=
[k=1,9]s(9,k)
=1363/512 (
)

 

 

(今回の問題に対する考察)
x
の関数 f(x) をマクローリン展開したときの x^n の係数を [x^n]f(x) とかくことにする.
同等の力量を持つAB2チームが,引き分けのない勝負を n 回行うときを考える.
A
B2チームがn試合を行ったとき,その勝敗表において
A
チームの最多連勝・u樓「・・)ヲただし,k2 とする) より小さいような確率を a(n,k) とする.
a(n,k)=[x^n]f(x)
となるようなf(x)は次のようにして求めることができる.

 

n試合を行ったときの勝敗表は全部で2^n通りあるが,
そのうち,Aチームの最多連勝数がkより少なくなるような勝敗表は
次のような場合に集約される.


まずBチームが0回以上勝利する.(この事象を F1 とする)
その後,
Aチームが1回〜(k-1)回だけ連続して勝利し,続いて
B
チームが1回以上連続して勝利する」
ということを0回以上繰り返す.(この事象を F2 とする)
最後に,Aチームが0回〜(k-1)回だけ連続して勝利する.(この事象を F3 とする)


事象F1の確率母関数は,1+(x/2)+(x/2)^2+(x/2)^3+ = 1/(1-x/2)
事象F2の確率母関数は,
[r=0,]((x/2+(x/2)^2+(x/2)^3+ +(x/2)^(k-1))*(x/2+(x/2)^2+(x/2)^3+ ))^r
=
[r=0,](((x/2)/(1-x/2))^2*(1-(x/2)^(k-1)))^r
=1/(1-((x/2)/(1-x/2))^2*(1-(x/2)^(k-1)))
=(1-x/2)^2/(1-x+(x/2)^(k+1))

事象F3の確率母関数は,
1+x/2+(x/2)^2+(x/2)^3+
+(x/2)^(k-1) = (1-(x/2)^k)/(1-x/2)

 

a(n,k)=[x^n]f(x)となるようなf(x)はこれら3個の母関数をすべて掛け合わせれば得られる.
f(x)=(1-(x/2)^k)/(1-x+(x/2)^(k+1))
となる.
(k=0
1のときにも,このf(x)は正しい結果を与える)

a(n,k)を求めるにはf(x)を次のように変形すればよい.
f(x)=(1-(x/2)^k)/(1-x+(x/2)^(k+1))
=((1-(x/2)^k)/(1-x))*(1/(1-(-(x/2)^(k+1))/(1-x)))
=(1-(x/2)^k)*
[m=0,](-(x/2)^(k+1))^m*(1-x)^(-m-1)
後は (1-x)^(-m-1) を二項展開すればよい.
a(n,k)
=
[m=0,floor(n/(k+1))]Comb(n-k*m,m)*(1/2)^((k+1)*m)*(-1)^m
-(1/2)^k*
[m=0,floor((n-k)/(k+1))]Comb(n-k-k*m,m)*(1/2)^((k+1)*m)*(-1)^m
となる.

 

A k 連勝以上する確率 s(n,k) は,s(n,k)=1-a(n,k)
A
の最多連勝数が k となる確率 t(n,k) は,t(n,k)=s(n,k)-s(n,k+1)
A
の最多連勝数の期待値 E(n) は,
E(n)
=
[k=0,n]k*t(n,k)
=
[k=0,n]k*(s(n,k)-s(n,k+1))
=
[k=1,n]s(n,k)
=n-
[k=1,n]([m=0,floor(n/(k+1))]Comb(n-k*m,m)*(1/2)^((k+1)*m)*(-1)^m
-(1/2)^k*
[m=0,floor((n-k)/(k+1))]Comb(n-k-k*m,m)*(1/2)^((k+1)*m)*(-1)^m)


数列 {(2^n)*E(n)} (n=1,2,3,) の値を列挙したものが,オンライン整数列大辞典の A119706 に登録されている.
https://oeis.org/A119706

 

また,数列 {(2^n)*a (n,k)} (n=1,2,3,) を列挙していくと, k-ボナッチ数列が出現する.
例えばk=3のときの,数列 {(2^n)*a(n,k)} (n=1,2,3,)は,
2,4,7,13,24,44,81,149,

であり,トリボナッチ数列が出現する.
https://oeis.org/A000073

このことは次のように考えれば説明できる.
a(n,k)=[x^n]f(x)=[x^n](1-(x/2)^k)/(1-x+(x/2)^(k+1))
であるので,
(2^n)*a(n,k)=[x^n]f(2*x)=[x^n](1-x^k)/(1-2*x+x^(k+1))
となる.
つまり,数列{(2^n)*a(n,k)}の母関数は,(1-x^k)/(1-2*x+x^(k+1))
ここで,(x^k)*(1-x^k)/(1-2*x+x^(k+1))+x^(k-1) を計算すると,
(x^k)*(1-x^k)/(1-2*x+x^(k+1))+x^(k-1)
=(x^(k-1))/(1-x-x^2-
-x^k)
となるが,この (x^(k-1))/(1-x-x^2- -x^k) は,k-ボナッチ数列の母関数である.
つまり,k-ボナッチ数列の第 k+1 項以降は,数列{(2^n)*a(n,k)}(n=1,2,3,)
と完全に一致する.

 

以上