ПочатиПочніть безкоштовно

Неправильні вхідні розподіли

У цій вправі ви продовжите працювати з прикладом числа пі: A graph of a circle inside a square with randomly sampled points

Що станеться, якщо змінити вхідний імовірнісний розподіл із неперервного рівномірного (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)
Редагувати та запускати код