यह प्रश्न मुख्य रूप से एक व्यावहारिक सॉफ्टवेयर-इंजीनियरिंग समस्या से संबंधित है, लेकिन मुझे यह सुनने के लिए उत्सुक होना होगा कि क्या सिद्धांतकार इसमें अधिक जानकारी प्रदान कर सकते हैं।
सीधे शब्दों में कहें, मेरे पास एक मोंटे कार्लो सिमुलेशन है जो एक छद्म आयामी संख्या जनरेटर का उपयोग करता है, और मैं इसे समानांतर करना चाहूंगा ताकि समानांतर में एक ही सिमुलेशन चलाने वाले 1000 कंप्यूटर हों। इसलिए मुझे छद्म आयामी संख्या के 1000 स्वतंत्र धाराओं की आवश्यकता है।
क्या हमारे पास निम्नलिखित गुणों के साथ 1000 समानांतर धाराएं हो सकती हैं? यहां को सभी प्रकार के अच्छे सैद्धांतिक और अनुभवजन्य गुणों के साथ एक बहुत प्रसिद्ध और व्यापक रूप से अध्ययन किया जाने वाला PRNG होना चाहिए।
धाराएं काफी अच्छी हैं क्योंकि मुझे बस उपयोग करने और एक्स द्वारा उत्पन्न धारा को 1000 धाराओं में विभाजित करने पर मुझे क्या मिलेगा ।
किसी भी स्ट्रीम में अगला नंबर जेनरेट करना (लगभग) साथ अगला नंबर जेनरेट करना जितना तेज़ है ।
अन्यथा डालें: क्या हम "स्वतंत्र" के लिए कई स्वतंत्र स्ट्रीम प्राप्त कर सकते हैं?
बेशक, अगर हम केवल उपयोग करते हैं , तो हमेशा 999 नंबर को छोड़ना और 1 को चुनना, तो हमारे पास निश्चित रूप से संपत्ति 1 होगी, लेकिन हम चल रहे समय में फैक्टर 1000 से हार जाएंगे।
एक सरल विचार की 1000 प्रतियों का उपयोग बीज 1, 2, ..., 1000 के साथ करना होगा। यह निश्चित रूप से तेज होगा, लेकिन यह स्पष्ट नहीं है कि धाराओं में अच्छे सांख्यिकीय गुण हैं या नहीं।
कुछ Googling के बाद, मैंने पाया है, उदाहरण के लिए, निम्नलिखित:
SPRNG पुस्तकालय वास्तव में इस प्रयोजन के लिए डिजाइन किया जा रहा है, और यह समर्थन करता है, कई PRNGs ।
Mersenne ट्विस्टर आजकल एक लोकप्रिय PRNG प्रतीत हो रहा है, और मुझे एक वेरिएंट के कुछ संदर्भ मिले जो समानांतर में कई धाराओं का उत्पादन करने में सक्षम है।
लेकिन यह सब मेरे अपने अनुसंधान क्षेत्रों से इतना दूर है, कि मैं यह पता नहीं लगा सका कि वास्तव में अत्याधुनिक क्या है, और कौन से निर्माण न केवल सिद्धांत में, बल्कि व्यवहार में भी अच्छी तरह से काम करते हैं।
कुछ स्पष्टीकरण: मुझे किसी भी प्रकार के क्रिप्टोग्राफिक गुणों की आवश्यकता नहीं है; यह वैज्ञानिक गणना के लिए है। मुझे अरबों यादृच्छिक संख्याओं की आवश्यकता होगी, इसलिए हम की अवधि के साथ किसी भी जनरेटर को भूल सकते हैं ।
संपादित करें: मैं एक सच्चे RNG का उपयोग नहीं कर सकता; मुझे एक निर्धारित पीआरएनजी की जरूरत है। सबसे पहले, यह डिबगिंग के साथ बहुत मदद करता है और सब कुछ दोहराता है। दूसरे, यह मुझे ऐसा करने की अनुमति देता है, उदाहरण के लिए, इस तथ्य का फायदा उठाते हुए कि यह बहुत ही कुशलता से है कि मैं मल्टी-पास मॉडल का उपयोग कर सकता हूं ( यह प्रश्न देखें )।
संपादन 2: एक निकट संबंधी प्रश्न है @ StackOverflow: क्लस्टर वातावरण के लिए छद्म यादृच्छिक संख्या जनरेटर ।