एक हालिया उत्तर में एक मोंटे कार्लो सिमुलेशन को बीज बनाने के लिए Fortuna या Mersenne Twister रैंडम नंबर जेनरेटर ( RNG ) के उपयोग का उल्लेख किया गया है । मैंने फोर्टुना के बारे में नहीं सुना था इसलिए मैंने इसे देखा - ऐसा लगता है कि यह मुख्य रूप से क्रिप्टोग्राफ़िक उपयोग के लिए है।
मैं वर्तमान में K- मीन्स एल्गोरिथ्म को बीज बनाने के लिए उत्पादन कोड में एक मेर्सेन ट्विस्टर का उपयोग करता हूं।
कौन सी (Fortuna या Mersenne Twister) "एल्गोरिदमिक सीडिंग" अनुप्रयोगों के लिए सबसे अच्छी मानी जाती है (उदाहरण के लिए, मोंटे कार्लो और के-मीन्स को सीडिंग करना)? या यह "टॉस अप" है - यानी सबसे सुविधाजनक का उपयोग करें।
जहां से मैं बैठा हूं, "सर्वश्रेष्ठ" को उच्चतम गुणवत्ता वाले यादृच्छिक नंबर प्रदान करना चाहिए, जल्दी से काम करना चाहिए, और (संभवतः) कम स्मृति पदचिह्न होना चाहिए। इनमें से, गुणवत्ता शायद हम में से अधिकांश के लिए सबसे महत्वपूर्ण है।
RAND_MAX=32768
संभव मूल्य। मैं वर्तमान में मोंटे कार्लो के लिए एमटी का उपयोग कर रहा हूँ रीमार्टिंग सिम। हालाँकि, मैं अपने प्रोफाईल में एमटी को एक प्रदर्शन अड़चन के रूप में नहीं देखता, शायद इसलिए कि मैं एक पूर्वप्रक्रम के रूप में रे दिशाओं जैसी चीजों की "यादृच्छिक" पीढ़ी कर रहा हूं । उदाहरण के लिए, मैं स्टार्टअप पर १,००,००० किरणों की एक सरणी उत्पन्न कर सकता हूं, उन्हें एक सरणी में संग्रहीत कर सकता हूं, और रनटाइम पर यादृच्छिक रूप से चयनित सरणी प्रारंभ स्थिति (१०,००० किरणों या संग्रह के लिए चल रहा है)। अच्छे यादृच्छिक संख्या वितरण के बदले में यह अपेक्षाकृत उच्च मेमोरी ओवरहेड है।