Błędne obliczenie deterministyczne
W tym ćwiczeniu i następnym poeksperymentujesz z obliczeniami liczby pi z filmu, aby lepiej zrozumieć znaczenie każdego kroku w procesie symulacji.
Przypomnij sobie, że symulacja wyznaczania liczby pi generuje losowe punkty \((x, y)\), gdzie \(x\) i \(y\) przyjmują wartości z przedziału od -1 do 1, jak pokazano na poniższym wykresie.

Co się stanie, jeśli błędnie zdefiniujesz obliczenie deterministyczne, czyli warunek decydujący o tym, czy punkt powinien być dodany do circle_points? Jak wpłynie to na końcowy wynik? Dziwna wartość liczby pi, którą uzyskasz, pokaże, jak ważne jest poprawne określenie obliczeń deterministycznych w symulacjach Monte Carlo!
Biblioteka random została już zaimportowana.
To ćwiczenie jest częścią kursu
Symulacje Monte Carlo w Pythonie
Instrukcje do ćwiczenia
- Zwiększ
circle_pointsdla każdego punktu, którego odległość od początku układu współrzędnych jest mniejsza niż 0,75 (zamiast odległości równej 1, jak pokazano w filmie).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)