1次元幾何学的確率とPython


最近、私は1次元確率で問題を解決するYouTubeのビデオを発表しました.0と3の間で選ばれた乱数が1に対して0に近づく確率は何ですか?閉じるこの動画はお気に入りから削除されています
どうやってこの問題にアプローチするの?従来の確率式は使えません.

Probability = (Number of desired events / Number of all possible events)


あなたはなぜ我々はこの数式を使用することはできません考えている可能性がありますか?
さて、その理由は、私たちが数えられる数のイベントがあるときだけ、上記の公式を使用することができます.しかし、この場合、すべての可能なイベントと同様に所望の数は無限です.この数行を考慮してください.

確率を計算するための上記の式はここで失敗します.私たちの前に残っている唯一の計算は、幾何学的確率を使用することです.
イベントがカウントされない場合は、それらを幾何学図形として表すことができます.1つの独立変数を持っているなら、私たちはそれらを表現するために長さを使います.
ここで独立変数の数は1ですので、長さを使って表現できます.
今、私たちはグラウンドワークを敷設しました.上記の数字行について考えると、任意の数は0と1から等間隔になります.
数が0.5の左にあるならば、それは0により近いです、そして、それが0.5まで右に3であるならば、それは1により近いでしょう.したがって、0から0.5までのセグメントが望ましい結果を表し、0から3までのセグメントはすべての可能な結果を表すと言える.確率の式は今までに減少する

Probability = (length of the desired line segment/length of the entire possible line segment)


値を入れると、我々は得る
0.6/3 = 1/6 = 0.1666 .
0.6/3 = 1/6 = 0.1666 .
0.6/3 = 1/6 = 0.1666 .
まあ、それは理論-右!Pythonを使ってテストする時.

コード


最初のステップではrandom 関数からrandom モジュールは乱数を生成する必要があるからです.
from random import random
第二に、0と3の間の乱数を生成し、ゼロまたは1で近接チェックを実行する関数を作成します.
def one_trial():
    # Code goes here
    # and here
私たちはこの関数をonetestトライアルという名前を付けます.この関数の中で、以前にインポートしたランダム関数を使用して乱数Xを生成します.この関数は0から1までの値を生成するので、0と3の間に乱数を生成するように3を掛ける必要があります.
def one_trial():
    x = random() * 3
次に、この数Xが0.5未満かどうかを調べる.もしそうなら、1を返します.
def one_trial():
    x = random() * 3

    if x <=0.5:
        return 1
    return 0
それはすべて、この関数にある.
今、私たちはこの関数を何度も実行しなければならず、結果が数学を使って決定されたのと同じであるかどうかをチェックしなければなりません.
一万回の繰り返しを調べましょう.
n = 10000
次に、我々はどのように何度も我々は0.5未満の数である目的の結果を得て追跡する変数';成功';を行います.この変数を0で初期化します.
success = 0
次に、我々はfor ループは、この実験をN回実行し、すべての反復で、各試行関数からの結果は成功した場合に成功した場合、成功した場合は0、成功した場合は0になります.
for _ in range(n):
    success += one_trial()
アフターfor ループは、その結果は、確率、すなわち反復の繰り返しによって分割の形式で結果を印刷するために終了します.
print(f"The probability is {success/n}")
この関数を実行する時刻.期待される答えは0.1666です.
私は10000万回の0.1761を取得しています.
したがって、幾何学的確率の我々の計算は、確かに正しい人々です.この記事をお楽しみください.
感謝とバイバイ.次の方でお会いしましょう.