問題
左下の図のような縦 3 列横 3 列の 9 個のマスがある。
異なる 3 個のマスを選び,それぞれに 1 枚ずつコインを置く。
マスの選び方は,どれも同様に確からしいものとする。
縦と横の各列について,点数を次のように定める。
- その列に置かれているコインが 1 枚以下のとき,0 点
- その列に置かれているコインがちょうど 2 枚のとき,1 点
- その列に置かれているコインが3枚のとき,3 点
縦と横のすべての列の点数の合計を とする。たとえば,右下の図のようにコインが置かれている場合,縦の 1 列目と横の 2 列目の点数が 1 点,他の列の点数が 0 点であるから, となる。
(1) となる確率を求めよ。
(2) となる確率を求めよ。
(3) となる確率を求めよ。
解説の pdf も作りました。きれいなレイアウトで読みたい方はこちらをどうぞ。
対称性を利用して数える
問題文中では縦も横も「列」と言っていますが,説明上これは非常にまぎらわしいので慣例に従って横の並びを「行」とよび,縦の並びを「列」とよぶことにします。
これは対称性を利用する問題です。どの小問も「1 つの場合を考えて○○倍」で解けます。
(1)について
になるのは 3 個の○が縦一列か横一列に並ぶときです。
第 1 行に並ぶ場合を考えて6倍します。求める確率は
(2)について
第 1 行で 1 点になる場合を考えて 6 倍します。
それぞれの図において 2 つの△のどちらかが○になります。求める確率は
(3)について
2 点になるのは「1 つの行と 1 つの列で 1 点ずつ」「2 つの行で 1 点ずつ」「2 つの列で 1 点ずつ」のいずれかのときですが,後ろ 2 つのケースはありえません。このような点のとり方をするには○が 個以上必要だからです。
「1 つの行と 1 つの列で 1 点ずつ」の場合しかありません。第 1 行で 1 点とる場合を考えて 3 倍します。
それぞれの図において 4 つの△のどれか 1 つが○になります。求める確率は
おまけ:プログラムを組んで計算
各マスに○をおくかどうかを 1 と 0 であらわすと,このマス目は 行列と対応づけられます。
行ごと,列ごとの 1 の個数は 1 を 3 つ並べたベクトルとの積で求められます。
こうして得られた 6 つの成分に 2 と 3 が何個含まれるか数えると がわかります。
以上をもとにmathematicaで計算しました。
の確率は順に , , , です。
In[]:= AbsoluteTiming[ lst = Permutations[Join[ConstantArray[0, 6], ConstantArray[1, 3]]]; b = {1, 1, 1}; c = Transpose@b; f[lst_] := Module[{m = Partition[lst, 3], t}, t = Join[b . m, m . c]; Count[t, 2] + Count[t, 3]*3]; g[{x_, y_}] := {x, y/Binomial[9, 3]}; ans = Reverse[g /@ Tally[f /@ lst]]] Out[]= {0.0011139, {{0, 1/14}, {1, 3/7}, {2, 3/7}, {3, 1/14}}}