ÎncepețiÎncepe gratuit

Distribuții de intrare incorecte

Vei continua să lucrezi cu exemplul pentru pi în acest exercițiu: A graph of a circle inside a square with randomly sampled points

Ce se întâmplă dacă înlocuiești distribuția de probabilitate de intrare – distribuția uniformă continuă (random.uniform()) – cu distribuția uniformă discretă (random.randint())? Rezultatele nu vor fi fiabile, deoarece random.randint() eșantionează numere întregi discrete, în timp ce random.uniform() eșantionează numere reale (float) continue.

Urmărește valoarea estimată a lui pi pe care o generează simularea. Deoarece a fost aleasă o distribuție de probabilitate incorectă, aceasta nu va fi prea precisă! Alegerea distribuțiilor de probabilitate corecte este esențială în simulările Monte Carlo. În lecțiile următoare vom intra în mai multe detalii despre diferitele distribuții, astfel încât să te simți sigur că alegi mereu distribuția potrivită.

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

  • Eșantionează coordonatele x și y în intervalul de la -1 la 1 folosind random.randint() în loc de funcția corectă random.uniform() utilizată î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):
    # 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)
Editează și rulează codul