#3 【頭の体操】 乱数 ✕ 確率: 3つの一様乱数の大小の確率
前回は2つの一様乱数の大小の確率を求めてみましたが、今回は3つを対象にしてみましょう。
※ 本文は全て読めますが、「投銭」として最後に購入ボタンを設定していますので、気に入っていただけましたら応援宜しくお願いします。
それでは、今回の問題はこちらです。
【問題】
答えは 0.5 (50%) になります。この答えはなんとなくイメージはできるかと思いますが、きちんと式計算で考えてみましょう。
では、解説に入っていきます。
【解説】
前回同様、それぞれの乱数がある値を取ったとして式変形をしていきます。
今回は領域Dに関しては少し説明が必要でしょう。k に関しては一様分布上の任意の値を取って良いことは分かるかと思いますが、r についてはどうでしょうか?
これは、下式から得られるものになります。確率が 0 以上であることから得られれるものですね。
今回の領域Dを図示してみると下図のグレーの部分のようになります。
ということで、求めるべきは
…とするのは大きな間違いで、もう一箇所、気をつけなければならないところがあります。
先ほど「確率が 0 以上」から領域Dを考えましたが、それと同時に「確率は 1 以下」なので、r ≦ k ならば、確率は 1 となることに注意が必要です。
領域Dの図において、D内の破線(斜線)の下のところが r ≦ k の領域となるので、領域Dを破線の上と下の2つに分けて計算する必要があります。
よって、最終的に求めるべきは下式となります。
ということで、50%という答えが得られました。前回と同様実装でも確認してみましょう。
import numpy as np
np.random.seed(1234)
N = 1000000
c = 0
for _ in range(N):
u1 = np.random.uniform(0, 30)
u2 = np.random.uniform(0, 20)
u3 = np.random.uniform(0, 50)
if u1 + u2 > u3:
c += 1
print(c / N) # => 0.499674
無事に約0.5という結果が確認できました!
※ 内容は以上が全てです。これ以降文章はありませんが、「投銭」として最後に購入ボタンを設定しています。気に入っていただけましたら応援宜しくお願いします。
ここから先は
¥ 110
この記事が気に入ったらサポートをしてみませんか?