Неправильні вхідні розподіли
У цій вправі ви продовжите працювати з прикладом числа пі:

Що станеться, якщо змінити вхідний імовірнісний розподіл із неперервного рівномірного (random.uniform()) на дискретний рівномірний (random.randint())? Результати будуть ненадійними, адже random.randint() вибирає дискретні цілі числа, тоді як random.uniform() — неперервні числа з плаваючою крапкою.
Зверніть увагу на оцінене значення пі, яке генерує ця симуляція. Оскільки обрано неправильний імовірнісний розподіл, точність буде невисокою! Вибір коректних розподілів є критично важливим для моделювання Монте-Карло. У наступних уроках ми детальніше розглянемо різні розподіли, щоб ви впевнено обирали потрібний надалі.
random уже імпортовано для вас.
Ця вправа є частиною курсу
Моделювання Монте-Карло в Python
Інструкції до вправи
- Виберіть координати
xтаyв інтервалі від -1 до 1 за допомогоюrandom.randint()замість правильної функціїrandom.uniform(), використаної у відео.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
n = 10000
circle_points = 0
square_points = 0
for i in range(n):
# Sample the x and y coordinates from -1 to 1 using random.randint()
x = ____
y = ____
dist_from_origin = x**2 + y**2
if dist_from_origin <= 1:
circle_points += 1
square_points += 1
pi = 4 * circle_points / square_points
print(pi)