1차원 기하 확률과 파이썬
4690 단어 probabilitypythondicemaths
이 문제에 어떻게 접근합니까? 전통적인 확률 공식을 사용할 수 없습니다.
Probability = (Number of desired events / Number of all possible events)
왜 이 공식을 사용할 수 없는지 생각하실 수 있습니다.
그 이유는 위의 공식은 셀 수 있는 이벤트 수가 있을 때만 사용할 수 있기 때문입니다. 그러나 이 경우 원하는 이벤트의 수와 가능한 모든 이벤트의 수는 무한합니다. 이 수직선을 고려하십시오 -
3단위의 이 선분에는 무한한 숫자가 있을 수 있으므로 확률을 계산하기 위한 위의 공식은 여기서 실패합니다. 우리 앞에 남은 유일한 수단은 기하학적 확률을 사용하는 것입니다.
사건을 셀 수 없을 때 기하학적 도형으로 나타낼 수 있습니다. 독립 변수가 1개이면 길이를 사용하고 2개이면 면적을 사용하고 3개이면 부피를 사용합니다.
여기서 독립변수의 개수는 1개이므로 길이로 나타낼 수 있다.
이제 토대를 마련했으므로 문제를 해결할 때입니다. 위에 표시된 수직선에서 0과 1 사이의 정확히 중간에 있기 때문에 0.5와 같을 때 모든 숫자는 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 사이의 임의의 숫자를 생성하고 0 또는 1로 근접성 검사를 수행하는 함수를 만듭니다.
def one_trial():
# Code goes here
# and here
이 기능을 one_trial이라고 합니다. 이 함수 내에서 이전에 가져온 random 함수를 사용하여 난수 x를 생성합니다. 이 함수는 0과 1 사이의 값을 생성하므로 0과 3 사이의 난수를 생성하도록 3을 곱해야 합니다.
def one_trial():
x = random() * 3
다음으로 x가 0.5보다 작은지 확인하여 이 숫자 x가 0 또는 1에 가까운지 테스트합니다. 그렇다면 1을 반환하고, 그렇지 않으면 0을 반환합니다.
def one_trial():
x = random() * 3
if x <=0.5:
return 1
return 0
이것이 이 기능의 전부입니다.
이제 우리는 이 함수를 여러 번 실행하고 결과가 수학을 사용하여 결정한 것과 동일한지 확인하기만 하면 됩니다.
10,000회 반복을 확인합시다.
n = 10000
다음으로 0.5 미만의 숫자인 원하는 결과를 얻은 횟수를 추적하는 '성공' 변수를 만듭니다. 이 변수를 0으로 초기화합니다.
success = 0
다음으로, 이 실험을 N 번 수행하고 모든 반복에서 각 시행 함수의 결과가 성공 변수에 추가되는
for
루프를 생성합니다. 즉, 성공하면 1, 성공하지 못하면 0입니다.for _ in range(n):
success += one_trial()
for
루프가 종료된 후 확률의 형태로 결과를 인쇄할 시간입니다. 즉 성공을 반복으로 나눈 값입니다.print(f"The probability is {success/n}")
이 기능을 실행할 시간입니다. 예상 답변은 0.1666임을 기억하십시오...
10000회 반복 시 0.1761, 100만 회 반복 시 0.16623을 얻습니다.
따라서 기하학적 확률에 대한 우리의 계산은 실제로 정확합니다. 이 기사를 즐겼기를 바랍니다.
감사합니다. 다음 편에서 뵙겠습니다.
Reference
이 문제에 관하여(1차원 기하 확률과 파이썬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/gsbansal10/one-dimensional-geometric-probability-and-python-32ji텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)