जुआरी का पतन एक संज्ञानात्मक पूर्वाग्रह है जहां हम गलती से उन चीजों की अपेक्षा करते हैं जो भविष्य में होने की संभावना कम होती है और ऐसी चीजें जो कुछ समय में नहीं हुई हैं, जल्द ही होने की अधिक संभावना है। आपका कार्य इसके एक विशिष्ट संस्करण को लागू करना है।
चुनौती का स्पष्टीकरण
एक फ़ंक्शन लिखें जो 1 और 6 के बीच एक यादृच्छिक पूर्णांक देता है, समावेशी। पकड़: पहली बार फ़ंक्शन चलाया जाता है, परिणाम समान होना चाहिए (1% के भीतर), हालांकि, प्रत्येक बाद की कॉल उन मूल्यों के पक्ष में तिरछी हो जाएगी जिन्हें पहले कम बार रोल किया गया है। विशिष्ट विवरण इस प्रकार हैं:
- डाई अब तक उत्पन्न संख्याओं को याद करती है।
- प्रत्येक परिणाम निम्न सूत्र के साथ भारित होता है:
- उदाहरण के लिए, यदि रोल अब तक गिना जाता है तो , वजन , यह कहना है कि आप होंगे 4 को से तुलना में अधिक रोल करने की संभावना है ।
- ध्यान दें कि सूत्र का अर्थ है कि एक रोल परिणाम को के समान भारित किया जाता
नियम और मान्यताएँ
- मानक I / O नियम और प्रतिबंधित खामियां लागू होती हैं
- डाई रोल निर्धारक नहीं होना चाहिए। (यानी एक अस्थिर स्रोत से प्राप्त PRNG का उपयोग करें, जैसा कि आमतौर पर एक बेसिन के रूप में उपलब्ध है।)
- आपके यादृच्छिक स्रोत की अवधि कम से कम 65535 होनी चाहिए या सही यादृच्छिकता होनी चाहिए।
- 255 तक के वज़न के लिए वितरण 1% के भीतर होना चाहिए
- 16-बिट RNG उपरोक्त दोनों आवश्यकताओं को पूरा करने के लिए पर्याप्त हैं। अधिकांश बिल्ट-इन RNG पर्याप्त हैं।
- आप वर्तमान वितरण में तब तक पास हो सकते हैं जब तक कि वितरण या तो कॉल द्वारा म्यूट कर दिया जाता है या पोस्ट-रोल वितरण डाई रोल के साथ वापस कर दिया जाता है। वितरण / गणना को अद्यतन करना इस चुनौती का एक हिस्सा है ।
- आप वेट के बजाय वेट का उपयोग कर सकते हैं। ऐसा करते समय, जब भी कोई भार 0 पर गिरता है, तो सभी वज़न को 1 से बढ़ाना चाहिए ताकि स्टोरिंग काउंट के समान प्रभाव प्राप्त हो सके।
- आप इन भारों का उपयोग किसी सरणी में तत्वों की पुनरावृत्ति के रूप में कर सकते हैं।
सौभाग्य। कभी भी बाइट आपके पक्ष में हो सकती है।