शुरू करेंमुफ़्त में शुरू करें

युग्मित पासा सिमुलेशन

लेसन के उदाहरण की तरह, आप दो थैलों से दो पासे फेंकेंगे, और हर थैले में तीन पक्षपाती (biased) पासे हैं.

bag1 = [[1, 2, 3, 6, 6, 6], [1, 2, 3, 4, 4, 6], [1, 2, 3, 3, 3, 5]]
bag2 = [[2, 2, 3, 4, 5, 6], [3, 3, 3, 4, 4, 5], [1, 1, 2, 4, 5, 5]]

फर्क यह है कि दोनों थैलों के पासे जोड़ों में बँधे हैं: यदि आप bag1 से दूसरा पासा चुनते हैं, तो आप bag2 से भी दूसरा पासा ही चुनेंगे. हर ट्रायल में:

  • आप दोनों थैलों से एक जोड़ी पासों को रैंडमली चुनकर फेंकेंगे
  • सफलता तब होगी जब dice1 और dice2 पर आए अंकों का योग आठ हो; अन्यथा असफलता

आपका काम roll_paired_biased_dice() फंक्शन में for-loop को पूरा करना है और इस फंक्शन का इस्तेमाल करके dice1 और dice2 पर आने वाले अंकों के हर यूनिक कॉम्बिनेशन के लिए सफलता की प्रायिकता निकालनी है.

आपके लिए निम्नलिखित पहले से इम्पोर्ट किए गए हैं: random, numpy as np, pandas as pd, seaborn as sns और matplotlib.pyplot as plt.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Monte Carlo Simulations

पाठ्यक्रम देखें

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

def roll_paired_biased_dice(n, seed=1231):
    random.seed(seed)
    results={}
    for i in range(n):
        bag_index = random.randint(0, 1)
        # Obtain the dice indices
        dice_index1 = ____
        dice_index2 = ____
        # Sample a pair of dice from bag1 and bag2
        point1 = ____
        point2 = ____
        key = "%s_%s" % (point1,point2)
        if point1 + point2 == 8: 
            if key not in results:
                results[key] = 1
            else:
                results[key] += 1
    return(pd.DataFrame.from_dict({'dice1_dice2':results.keys(),
		'probability_of_success':np.array(list(results.values()))*100.0/n}))
कोड संपादित करें और चलाएँ