確率とpythonが大好きなので、また確率の話を書きます。
ジョーカーを除いたトランプ52枚の中から1枚のカードを抜き出します。
そのカードがダイヤである確率はいくらでしょうか?
と聞かれたら、1/4と答えますよね。では
ジョーカーを除いたトランプ52枚の中から1枚のカードを抜き出し
表を見ないで箱の中にしまいます。そして、残りのカードをよく切ってから
さらに3枚引いたところ3枚ともダイヤでした。
このとき、箱の中にしまったカードがダイヤである確率はいくらでしょうか。
と聞かれたら何と答えますか?
直観的に考えると最初に52枚の中から1枚引いたのだから1/4の気がするのですが
正解はは10/49とのこと。
疑わしいので上の手順に純粋に従ったプログラムをpythonで
書いて確認してみました。
import random
# ダイアモンドだった時とダイアモンドじゃなかったときの
# 回数をカウントする変数を用意。
num_diamonds = 0 # ダイヤだった回数
total = 0 # 3枚がダイヤだった回数
# カードを用意
cards = ['♦'] * 13 + ['♥'] * 13 + ['☘'] * 13 + ['♠'] * 13
# よく混ぜます。
random.shuffle(cards)
# ここから一枚引いて箱に入れます。
box = cards.pop(random.randint(0, len(cards) - 1))
# 残りのカードをよく切ります。
random.shuffle(cards)
# さらに3枚引きます。
card1 = cards.pop(random.randint(0, len(cards) - 1))
card2 = cards.pop(random.randint(0, len(cards) - 1))
card3 = cards.pop(random.randint(0, len(cards) - 1))
# 3枚のカードがすべてダイヤのときでboxの中のカードがダイヤだったら
# num_diamondsをカウントします。
if card1 == card2 == card3 == '♦':
if box == '♦':
num_diamonds += 1
total += 1
これを10万回10セット回して計算してみます。
import random
# ダイアモンドだった時とダイヤじゃなかったときの
# 回数をカウントする変数を用意します。
num_diamonds = 0 # ダイヤだった回数
total = 0 # 3枚がダイヤだった回数
for i in xrange(10):
for j in xrange(100000):
# カードを用意
cards = ['♦'] * 13 + ['♥'] * 13 + ['☘'] * 13 + ['♠'] * 13
# よく混ぜます。
random.shuffle(cards)
# ここから一枚引いて箱に入れます。
box = cards.pop(random.randint(0, len(cards) - 1))
# 残りのカードをよく切ります。
random.shuffle(cards)
# さらに3枚引きます。
card1 = cards.pop(random.randint(0, len(cards) - 1))
card2 = cards.pop(random.randint(0, len(cards) - 1))
card3 = cards.pop(random.randint(0, len(cards) - 1))
# 3枚のカードがすべてダイヤのときでboxの中のカードがダイヤだったら
# num_diamondsをダイヤじゃなかったらnum_not_daiamondsを一つカウントします。
if card1 == card2 == card3 == '♦':
if box == '♦':
num_diamonds += 1
total += 1
# 結果を表示します。
print ' %s/%s (%2.4f%%)' % (num_diamonds,
total,
float(num_diamonds) / total * 100)
結果は以下の通りです。
248/1269 (19.5429%)
499/2505 (19.9202%)
755/3717 (20.3121%)
1021/4991 (20.4568%)
1283/6281 (20.4267%)
1536/7553 (20.3363%)
1816/8788 (20.6645%)
2093/10070 (20.7845%)
2359/11320 (20.8392%)
2612/12583 (20.7582%)
10/49が20.4081%くらいなので大体あってそうです。なんか不思議じゃないですか?
後から引いたカードによって確率が変わるって。
私はしばらく考えた後、こういう極端な問題を考えてなんとなく納得がいきました。
ジョーカーを除いたトランプ52枚の中から1枚のカードを抜き出し
表を見ないで箱の中にしまいます。そして、残りのカードをよく切ってから
さらに13枚引いたところ13枚ともダイヤでした。
このとき、箱の中にしまったカードがダイヤである確率はいくらでしょうか。
YI