"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > प्रतिस्थापन के साथ और प्रतिस्थापन के बिना कुशल भारित यादृच्छिक चयन कैसे करें?

प्रतिस्थापन के साथ और प्रतिस्थापन के बिना कुशल भारित यादृच्छिक चयन कैसे करें?

2024-11-09 को प्रकाशित
ब्राउज़ करें:113

How to Perform Efficient Weighted Random Selection with and Without Replacement?

प्रतिस्थापन के साथ और बिना प्रतिस्थापन के भारित यादृच्छिक चयन

एक प्रोग्रामिंग चुनौती के जवाब में, हम एक सूची से भारित यादृच्छिक चयन के लिए कुशल एल्गोरिदम की तलाश करते हैं, प्रतिस्थापन के साथ और प्रतिस्थापन के बिना दोनों। यह तकनीक प्रत्येक भारित तत्व के लिए समान आकार के डिब्बे का एक सेट बनाती है। बिट ऑपरेशंस का उपयोग करके, हम बाइनरी खोज का सहारा लिए बिना इन बिन्स को कुशलतापूर्वक अनुक्रमित कर सकते हैं। प्रत्येक बिन मूल भारित तत्वों के बीच की सीमा का प्रतिनिधित्व करने वाला एक प्रतिशत संग्रहीत करता है।

समान भार वाले पांच तत्वों के उदाहरण पर विचार करें: (ए, बी, सी, डी, ई)।

उपनाम विधि कार्यान्वयन

वजन को सामान्य करें: प्रत्येक वजन को कुल 1.0 से विभाजित करें।

संख्या से अधिक या उसके बराबर 2 की सबसे छोटी शक्ति निर्धारित करें तत्वों का (यहां, 8)।

प्रत्येक तत्व के लिए एक खाली विभाजन निर्दिष्ट करें।

    सभी भार वितरित होने तक निम्नलिखित चरणों को दोहराएं:
  1. खाली विभाजन में कम से कम शेष वजन के साथ अधिक से अधिक तत्व रखें।
  2. यदि कोई विभाजन नहीं भरा है, तो शेष सबसे भारी तत्व जोड़ें।
    • हमारे उदाहरण के लिए, कई पुनरावृत्तियों के बाद, हमारे पास निम्नलिखित विभाजन है:
    • p1: {a, 1.0}
    p2: {a, b, 0.6}

रनटाइम चयन
  • 0 और 1 के बीच एक यादृच्छिक संख्या उत्पन्न करें।
विभाजन सूचकांक खोजने के लिए यादृच्छिक संख्या को बिटशिफ्ट करें।

यदि विभाजन विभाजित है, तो बिटशिफ्ट संख्या के दशमलव भाग का उपयोग यह तय करने के लिए करें कि कौन सा तत्व वापस करना है।

  1. प्रतिस्थापन के बिना भारित चयन
  2. जबकि एल्गोरिदम प्रतिस्थापन के बिना अभारित चयन के लिए मौजूद भारित जलाशय विधि की तरह, यह समस्या अनसुलझी है।
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729734152 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3