मोंटे कार्लो प्रक्रिया

Python में Monte Carlo Simulations

Izzy Weber

Curriculum Manager, DataCamp

सिमुलेशन के चरण

  1. इनपुट वैरिएबल तय करें और उनके लिए प्रायिकता वितरण चुनें

  2. इन वितरणों से सैंपल लेकर इनपुट जनरेट करें

  3. सिम्युलेटेड इनपुट पर निर्धारक गणना करें

  4. परिणामों का सार बनाएं

Python में Monte Carlo Simulations

pi का मान निकालना

रैंडम पॉइंट्स $(x, y)$ जनरेट करें, जहाँ $x$ और $y$ का मान -1 से 1 के बीच हो.

एक वर्ग के अंदर वृत्त का ग्राफ, जिसमें रैंडम सैंपल किए गए बिंदु हैं

$$Area_{circle} = \pi $$

$$Area_{square} = 2 \times 2 = 4 $$

$$\frac{Area_{circle}}{Area_{square}} = \frac{\pi}{4} $$

$$\frac{n_{red}}{n_{all}} = \frac{\pi}{4} $$

$$ \pi = 4 \times \frac{n_{red}}{n_{all}}$$

Python में Monte Carlo Simulations

चरण 1

इनपुट वैरिएबल तय करें और उनके लिए प्रायिकता वितरण चुनें

  • इनपुट: $(x, y)$ कोऑर्डिनेट्स से दर्शाए गए अलग-अलग बिंदु
  • प्रायिकता वितरण: $x$ और $y$ -1 से 1 तक यूनिफॉर्म वितरण का पालन करते हैं।

 

circle_points = 0 
square_points = 0
Python में Monte Carlo Simulations

चरण 2

इन वितरणों से सैंपल लेकर इनपुट जनरेट करें

 

-1 से 1 के बीच यूनिफॉर्म रूप से वितरित रैंडम $x$ और $y$ कोऑर्डिनेट वैल्यू सैंपल करें:

for i in range(n):
    x = random.uniform(-1, 1)
    y = random.uniform(-1, 1)
Python में Monte Carlo Simulations

चरण 3

सिम्युलेटेड इनपुट की निर्धारक गणना करें

जाँचें कि हर बिंदु वृत्त के भीतर है या नहीं: दिए गए $x$ और $y$ के लिए निर्धारक

dist_from_origin = x**2 + y**2

अगर हाँ, तो बिंदु circle_points में जोड़ें; हर बार बिंदु square_points में जोड़ें

if dist_from_origin <= 1:
     circle_points += 1
square_points += 1
Python में Monte Carlo Simulations

चरण 4

दिलचस्प प्रश्नों के उत्तर के लिए परिणामों का सार बनाएं

 

कई राउंड के सिमुलेशन के बाद, pi का मान निकालें!

pi = 4 * circle_points/ square_points
Python में Monte Carlo Simulations

सब कुछ एक साथ

n = 4000000
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 if dist_from_origin <= 1: circle_points += 1 square_point += 1
pi = 4 * circle_points / square_points print(pi)
3.142518
Python में Monte Carlo Simulations

अभ्यास करते हैं!

Python में Monte Carlo Simulations

Preparing Video For Download...