Google ClassroomGoogle Classroom
GeoGebraGeoGebra Classroom

存在とつながりと確率

このページはマス旅の一部です。 何を全体とするか? 何を同じとするか? どんなつながりか? という、数え方の土台にかかわるパズルを通して、 「全体と部分を見る視点の明確化」の練習をしましょう。

1.ウォーミングアップ

<パズル1>情報が少ない問題(分類から「同じ」を作る) 問題: 「テーブルの上に10枚のオセロがある。仕切りをはさんでAとBが向かい合って座っている。 Aさんからはオセロが見えて、Bさんからは見えない。はじめはすべて白が上になっている。 今Aさんが1枚ずつ裏返し、3枚を黒にした。 Bさんは音を聞いて、3枚が黒とわかる。 Bさんは仕切りごしのままオセロを2組にわけて、適当にオセロを裏返して、どちらの組も黒を同数にしなければいけない。さて、Bさんはどうする?」 答え: どっから手をつけるか意味不明な感じがするでしょう。 「Bさんは10枚を適当な3枚とのこり7枚の2組にわける。そして、3枚組をすべてうらがえす。」 これで完了だ。 解法例: 見えないということはオセロの位置やオセロの個性は関係ないということ。 Bさんからは表裏が見えないので全体数と部分数の和差でしか考えられない。 全体の10枚は一定で不変。手がかりは黒3枚だけだね。 3枚という情報を活用するには、図形ではなく表や数式やベン図などが便利だね。 とりあえず、ベン図をイメージしよう。 全体集合は10枚で、 Bさんが作った3枚集合PAさんが裏返した黒3枚集合Qが入っている。 P∧nonQ とnonP∧Qは同枚数だが色は白黒反対だ。そして、P∧Qは黒のみ。 このあとBさんが3枚組をすべてうらがえすと面白いことがおきる。 P∧nonQが黒になりnonP∧Qの黒と同数で同色になる。そして、P∧Qは白に戻る。 P∧Qの枚数をxとすると、3枚組の黒数も7枚組の黒数も、3-xで、等しくなるね。 <パズル2>同じ誕生日問題(全事象と余事象の明確化) 問題: 「35人のクラスの中で、「誕生日が同じペア」が少なくとも1組以上いる確率はどのくらいだろうか? (うるう年は考えない)」 答え: 365日もあるのだから、たった35人じゃ滅多にかぶらないだろう(せいぜい10%くらい?)というのが直観の声。でも、答えは「8割以上の確率で同じ誕生日のペアが存在する」。 解法例: 直観が間違える理由は、私の誕生日と同じ人を35人の中から探すイメージが勝手にできるからだ。 この問題の「全体」空間は区別できる35人が365通りの日付のどれかを持てるので、365通りの35乗もの膨大な可能性がある。私と同じ人を探すなどという35-1=34通り調べるケチな問題では、雲泥の差だ。 強い言い方をすると、 35人の人間中心の常識視点を捨てて、 365日という日付中心の視点に切り替えないと意味がない。 さらに、「「誕生日が同じペア」が少なくとも1組以上いる」というのはどういう「部分」はどういう意味かを明確にしよう。 元日生まれが2人いる、5月5日生まれが5人いる、…無数の□月□日生まれが2人以上いるということだ。 365通りの日付について、同じになる人がだれだれかというのが35人から2人以上選び出せるということ。 これも膨大だ。だから、膨大分の膨大という確率で、途方に暮れそうになるね。 救世主登場。 「余」事象。 数学で「余」というのは「co」の略で、 否定・反対という意味で、主に対して必然的に決まる双対ペアのことだ。 集合や確率では、「否定」事象のことを「余事象」というね。 「「誕生日が同じペア」が少なくとも1組以上いる」の否定だ。 誕生日がバラバラになるということ。これって、意外と簡単だ。 5人に7色から違うものを割り当てるのは順列なら、7×6×5×4×5と7P5で計算できる。 それと同じだ。35人に365日付をバラバラに割り当てるのはただの順列だ。365P35だ。 だから、余事象の確率は365P35/365^35となるね。 だから、求める確率は1-365P35/365^35 しかし、この計算桁が多すぎて爆発する危険があるので、近似値で計算しよう。 それが確率の積の法則だ。 つまり、35人をn人として、求める確率をP(n)とすると、 P(n)=1-365Pn/365^n=1-364P{n-1}/365^{n-1} 分母も分子も最初の365が共通に出てくるから約分しています。 手計算は大変なのでPythonにやってもらおう。 [IN]Python def Pi(i): return (365-i)/365 def P(n): res=1 for i in range(n): res = res * Pi(i) return 1-res print(P(30)) print(P(35)) print(P(40)) [OUT] 0.7063162427192688 0.8143832388747153 0.891231809817949 すごいですね。 35人で81.4%以上と確認できましたが、40人で9割に迫る勢いです。 でも、冷静に振り返ると、 「誕生日が同じペア」が少なくとも1組以上いる」の意味の明確化をしていくと、相当多そうだということに気づいたでしょう。 余事象だって多く見えますが、1ずつ減らすと1つ1つの分数は365分の365に近く見えますが、 削ったもの残りの割合をかけ続けると、余事象の余事象、 つまり、バラバラの確率は20%程度に縮小するのですね。 こっちの現象の方が面白いかも。。。。

10枚のオセロ

クラスで誕生日がかぶる確率

2.前の結果で次の確率や全体が変化する問題

<パズル3>100人の席替え(等しい選択肢の規則性と確率の和) どこの世界でも迷惑な人はいるものです。 悪気がなくても、1人の失念が玉突き事故を起こすこともありますね。 それを、ゲームのようにルール化した面白い問題があります。 問題: 「100人乗りの飛行機に100人の乗客が順番に乗り込む。 最初の1人(Aさん)が自分の指定席を忘れてランダムな席に座ってしまった。 以降の乗客は「自分の席が空いていればそこに座り、埋まっていればランダムな空席に座る」とする。 では、 最後の100人目が自分の指定席に座れる確率は?」 答え: 100人もの乗客が次々と席を狂わせていくため、計算が泥沼化するように思えるけれど、 答えは、「1/2」だ。 解法例: 1人目をAさん、100人目をBさんとしよう。A,B以外の人は番号で呼ぶことにする。 簡単のために、乗り込む乗客の順番と指定席の番号を同じとする。 つまり、指定席はAが1番でBが100番だね。 Aはランダムだから、2番としよう。 1番と100番はまだあいている。 2番さんは自分の席につけないから、1番か100番かそれ以外を選ぶ。 2番さんが1番を選ぶ確率と100番を選ぶ確率は等しい。それ以外を選ぶ確率は1から引いた残り。 2番さんが1番を選ぶと、1番2番の座席交換と同じことになる。あとの人全員指定席に座れる。Bは100番に座れて終了。 2番さんが100番を選ぶと、Bさんは指定席に座れない。3番以降Bさん以前は指定席に座れる。Bは2番に座るしかない。 2番さんがそれ以外、p番を選ぶと、3番からp-1番さんは指定席に座れる。 p番さんの番がやってきた。 1番と100番はまだあいている。 p番さんは自分の席につけないから、1番か100番かそれ以外を選ぶ。 p番さんが1番を選ぶ確率と100番を選ぶ確率は等しい。それ以外を選ぶ確率は1から引いた残り。 p番さんが1番を選ぶと、1番p番の座席交換と同じことになる。あとの人は全員指定席に座れる。Bは100番に座れて終了。 p番さんが100番を選ぶと、Bさんは指定席に座れない。そのあとのB以前の人は指定席に座る。Bはp番に座るしかない。 p番さんがそれ以外、q番を選ぶと、3番からp-1番さんの番号は指定席に座れる。 q番さんの番がやってきた。 ・・・・・・ このように実験してみると状況がわかってくる。 Aさんのせいで、自分の席につけない人が必ず生じる。 Aさんがp番座席に座ったとする。p番さんはランダムに席を選ぶ。 そのとき、1番と100番は空席である。 p番さんは自分の席につけないから、1番か100番かそれ以外を選ぶ。 p番さんが1番を選ぶ確率と100番を選ぶ確率は等しい。 #p番さんが1番を選ぶと、「1番p番の座席交換と同じこと」になる。  あとの人は全員指定席に座れる。Bは100番に座れて終了。 #p番さんが100番を選ぶと、Bさんは指定席に座れない。  そのあとの「B以前の人は指定席」に座るBはp番に座るしかない。 #p番さんがそれ以外、q番を選ぶと、3番からp-1番さんの番号は指定席に座れる。  Bさんの運命はq番さんの判断待ち。 確率の積の法則を知っていると、 残りの確率にさらにかけ算をするという数式を作りたくなるかもしれない。 しかし、確率空間や樹形図のイメージで考えると、計算が不要であることがわかる。 座席をとられる事象の連鎖が何回起きるかにかかわらず、 ランダム選択という事象は1番、100番、それ以外に枝分かれする。 1番選択はBが100番に座れて「終了1」、 100番選択はBが100番以外の番号が決定して「終了2」、 それ以外の場合は、次のランダム選択に進む。 ランダム選択が何回あるかにかかわらず、「終了1」と「終了2」は等確率で起きる。 最終的に枝分かれを合計すると、「終了1」たちか「終了2」たちしかないから、 どちらも1/2の確率に落ち着く。 <パズル4>ポリアの壺(全体数の変化と不変) 袋から玉を取り出すという設定はよくある。赤玉と白玉が入っているというのもよくある設定だ。 通常は取り出した玉は戻さないか、戻すかのどちらかだ。 ポリアの壺はどちらでもない、戻した上に追加するというものだ。 ルール自体は簡単だが、異常な設定だね。 問題: 「赤球a個、白球b個が入った壺がある。 壺から1個の球を取り出して色を確認します。 そして、取り出した球を戻すときに取り出した玉と同じ色の球を壺に加えます。 この操作を繰り返すとき、n回目に取り出す球が赤球である確率p_nはどうなるか?」 答え: 何回目であっても赤球を取り出す確率は初期状態と全く変わらない。p_n=a/(a+b) 解答例: 試行を繰り返すたびに球の総数が増え、赤球の割合も変化していく。 直前の結果によって確率が変わる(マルコフ的でない)ため複雑に見えるが、驚くべき結果だね。 数学的帰納法でやってみよう。 n=1のときの確率はOK。 n=kでp_k=a/(a+b)として、 n=k+1のときを考えるのに、末尾に追加ではなく、先頭に追加で考える。 先頭のn=1にk回分まるごと追加するとすれば、n=kの確率p_nが使える。 1回目が赤玉の確率はa/(a+b)で、この試行のあとの存在数は(赤,全体)=(a+1,a+b+1)に変化する。 これに、あとk回試行するから、k+1回目が赤の確率は(a+1)/(a+b+1)*a/(a+b) 1回目が白の確率はb/(a+b)で、この試行のあとの存在数は(赤、全体)=(b,a+b+1)に変化する。 これに、あとk回試行するから、k+1回目が赤の確率は(b)/(a+b+1)*a/(a+b) この2つの確率の合計は、 (a+1)/(a+b+1)*a/(a+b)+(b)/(a+b+1)*a/(a+b) =(a+b+1)/(a+b+1)*a/(a+b)=1a/(a+b) =a/(a+b) このように、確率のかけ算を順次的に末尾にするのではなく、 先頭にまとめてかけるという帰納法のマジックが使えると、 当然の結果という気がしてくるね。 <パズル5>コイントスの期待値比較(場合分けと未定の変数) ある条件で終了する設定という場合、全体が変化します。その期待値を比べてみよう。 問題: ゆがみのないコイン投げをします。 Aさんは、表が2回連続したら終了で、投げた回数が得点とします。 Bさんは、「裏の次が表」となると終了で、投げた回数が得点です。 AさんとBさんの得点の期待値Eは同じ? 答え: 一見同じように見えますが、AさんのE=6,BさんのE=4です。 解答例: 表を〇、裏を×として、コインの出方により、点数と確率をかけて合計しましょう。 Aさんの場合 振り出しでは、AさんはE回投げられるとします。 1回目が×の確率は1/2で、振り出しと同じ。そのあとE回期待できますから、全部でE+1点です。 1・2回目が〇〇の確率は1/4で、点数は2点です。 1・2回目が〇×の確率は1/4で、振り出しと同じ。そのあとE回期待できますから、全部でE+2点です。 だから、E=1/2(E+1)+1/4*2+1/4(E+2)となるね。両辺を4倍して、 4E=2E+2+2+E+2となるので、E=6。 Bさんの場合 直前が×のときはF回投げられるとします。 次が〇の確率は1/2で、この点数は1点です。 次が×の確率は1/2で、直前×と同じだからあとF回期待できるので点数はF+1点です。 だから、F=1/2*1+1/2(F+1)です。両辺2倍して、2F=1+F+1となるので、F=2です。 振り出しでは、AさんはE回投げられるとします。 1回目が×の確率は1/2で、そのあとF=2回期待できますから、全部で点で2+1=3点です。 1回目が〇の確率は1/2で、振り出しと同じ。そのあとE回期待できますから、全部でE+1点です。 だから、E=1/2(3)+1/2*(E+1)となるね。両辺を2倍して、 2E=3+E+1となるので、E=4。