Ошибочное детерминированное вычисление
В этом и следующем упражнениях вы поэкспериментируете с вычислением числа пи из видео, чтобы лучше понять роль каждого шага в процессе симуляции.
Вспомните: симуляция для нахождения числа пи генерирует случайные точки \((x, y)\), где \(x\) и \(y\) принимают значения от -1 до 1, как показано на графике ниже.

Что произойдёт, если допустить ошибку в детерминированном вычислении — том, где проверяется, нужно ли добавить точку в circle_points? Как это повлияет на итоговый результат? Неожиданное значение числа пи, которое вы получите, наглядно покажет: корректное задание детерминированных вычислений крайне важно для метода Монте-Карло!
Библиотека random уже импортирована.
Это упражнение является частью курса
Симуляции Монте-Карло на Python
Инструкции к упражнению
- Увеличивайте
circle_pointsдля каждой точки, расстояние которой от начала координат меньше 0,75 (вместо расстояния, равного единице, как было показано в видео).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
n = 10000
circle_points = 0
square_points = 0
for i in range(n):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
dist_from_origin = x**2 + y**2
# Increment circle_points for any point with a distance from origin of less than .75
if ____:
circle_points += 1
square_points += 1
pi = 4 * circle_points / square_points
print(pi)