गलत निर्धारक गणना
इस अभ्यास और अगले वाले में, आप वीडियो के pi कैलकुलेशन के साथ प्रयोग करेंगे ताकि सिम्युलेशन प्रोसेस के हर स्टेप के महत्व को बेहतर समझ सकें।
याद करें कि pi निकालने वाली सिम्युलेशन रैंडम पॉइंट्स \((x, y)\) जनरेट करती है, जहाँ \(x\) और \(y\) का मान -1 और 1 के बीच होता है, जैसा कि नीचे दिए गए ग्राफ में दिखाया गया है।

क्या होगा अगर आप उस निर्धारक (deterministic) गणना को ग़लती से बदल दें जहाँ आप चेक करते हैं कि किसी पॉइंट को circle_points में जोड़ा जाना चाहिए या नहीं? इससे अंतिम नतीजे पर क्या असर पड़ेगा? pi के अटपटे मान से आप देखेंगे कि Monte Carlo सिम्युलेशन्स में निर्धारक गणनाओं को सही तरह से बताना कितना ज़रूरी है!
random आपके लिए इम्पोर्ट किया गया है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Monte Carlo Simulations
अभ्यास निर्देश
- किसी भी पॉइंट के लिए, यदि origin से दूरी 0.75 से कम हो, तो
circle_pointsको इंक्रीमेंट करें (वीडियो में दिखाए गए एक की दूरी के बजाय)।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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)