Nesprávné vstupní rozdělení
V tomto cvičení budeš dál pracovat s příkladem výpočtu čísla pí:

Co se stane, když změníš vstupní pravděpodobnostní rozdělení ze spojitého rovnoměrného rozdělení (random.uniform()) na diskrétní rovnoměrné rozdělení (random.randint())? Výsledky nebudou spolehlivé, protože random.randint() vzorkuje diskrétní celá čísla, zatímco random.uniform() vzorkuje spojitá desetinná čísla.
Všimni si odhadované hodnoty pí, kterou tato simulace vygeneruje. Protože bylo zvoleno nesprávné pravděpodobnostní rozdělení, výsledek nebude příliš přesný! Výběr správného pravděpodobnostního rozdělení je pro Monte Carlo simulace zásadní – v dalších lekcích se různými rozděleními budeme zabývat podrobněji, abys při jejich výběru měl/a jistotu.
random je již naimportován.
Toto cvičení je součástí kurzu
Monte Carlo simulace v Pythonu
Pokyny k cvičení
- Vzorkuj souřadnice
xayv intervalu od -1 do 1 pomocírandom.randint()místo správné funkcerandom.uniform()použité ve videu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)