ÎncepețiÎncepe gratuit

Calcul determinist greșit

În acest exercițiu și în cel următor, vei experimenta cu calculele pentru pi din video, pentru a înțelege mai bine importanța fiecărui pas din procesul de simulare.

Reține că simularea pentru calculul lui pi generează puncte aleatoare \((x, y)\), unde \(x\) și \(y\) sunt valori între -1 și 1, așa cum se arată în graficul de mai jos.

A graph of a circle inside a square with randomly sampled points

Ce s-ar întâmpla dacă ai modifica incorect calculul determinist prin care verifici dacă un punct trebuie adăugat la circle_points? Cum ar afecta asta rezultatul final? Valoarea neașteptată pe care o vei obține pentru pi îți va demonstra că specificarea corectă a calculelor deterministe este esențială în simulările Monte Carlo!

random a fost deja importat pentru tine.

Acest exercițiu face parte din cursul

Simulări Monte Carlo în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Incrementează circle_points pentru orice punct a cărui distanță față de origine este mai mică de 0,75 (în loc de o distanță de unu, așa cum s-a demonstrat în video).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul