#3 【頭の体操】 乱数 ✕ 確率: 3つの一様乱数の大小の確率

前回は2つの一様乱数の大小の確率を求めてみましたが、今回は3つを対象にしてみましょう。

※ 本文は全て読めますが、「投銭」として最後に購入ボタンを設定していますので、気に入っていただけましたら応援宜しくお願いします。

それでは、今回の問題はこちらです。

【問題】

画像1


答えは 0.5 (50%) になります。この答えはなんとなくイメージはできるかと思いますが、きちんと式計算で考えてみましょう。

では、解説に入っていきます。


【解説】

前回同様、それぞれの乱数がある値を取ったとして式変形をしていきます。

画像2

今回は領域Dに関しては少し説明が必要でしょう。k に関しては一様分布上の任意の値を取って良いことは分かるかと思いますが、r についてはどうでしょうか?

これは、下式から得られるものになります。確率が 0 以上であることから得られれるものですね。

画像3

今回の領域Dを図示してみると下図のグレーの部分のようになります。

画像4

ということで、求めるべきは

画像5

…とするのは大きな間違いで、もう一箇所、気をつけなければならないところがあります。

先ほど「確率が 0 以上」から領域Dを考えましたが、それと同時に「確率は 1 以下」なので、r ≦ k  ならば、確率は 1 となることに注意が必要です。

領域Dの図において、D内の破線(斜線)の下のところが r ≦ k の領域となるので、領域Dを破線の上と下の2つに分けて計算する必要があります。

よって、最終的に求めるべきは下式となります。

画像6

ということで、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という結果が確認できました!


※ 内容は以上が全てです。これ以降文章はありませんが、「投銭」として最後に購入ボタンを設定しています。気に入っていただけましたら応援宜しくお願いします。


ここから先は

0字

¥ 110

この記事が気に入ったらサポートをしてみませんか?