2016-05-07 5 views
8

पायथन की numpy लाइब्रेरी में, np.random.seed विधि दो अलग-अलग प्रकार के पैरामीटर स्वीकार कर सकती है: int और array_like[int]np.random.seed (int) और np.random.seed (array_like) के बीच का अंतर?

उनके बीच क्या अंतर है? जैसे: np.random.seed(2) और np.random.seed([2013, 1, 4])

उत्तर

9

अंतर्निहित Mersenne Twister PRNG की स्थिति सटीक होने के लिए बहुत बड़ी, 624 32-बिट पूर्णांक है। यदि एक पूर्णांक बीज दिया जाता है, तो प्रारंभिक दिनचर्या पूर्ण 624-तत्व स्थिति में उस एकल 32-बिट पूर्णांक को विस्तारित करने के लिए एक छोटा पीआरएनजी चलाएगी। इसका मतलब यह है कि आप संभावित राज्यों के विशाल बहुमत तक नहीं पहुंच सकते हैं।

इसी तरह, यदि बीज के रूप में पूर्णांक का अनुक्रम दिया जाता है, तो एक अलग छोटा पीआरएनजी इसका उपयोग 624 तत्वों तक विस्तारित करने के लिए करेगा, लेकिन वह जो आप इसे पारित करने वाले पूरे सरणी का उपयोग कर सकते हैं। यह आपको प्रारंभिक राज्यों की पूरी जगह तक पहुंचने देता है, अगर ऐसी कोई बात आपके लिए महत्वपूर्ण है। यह एल्गोरिदम मानक लाइब्रेरी के random मॉड्यूल और numpy.random के बीच साझा किया जाता है।

+0

तो एकल पूर्णांक और array_like पैरामीटर के बीच एकमात्र अंतर यह है कि प्रारंभिक स्थिति की जगह का आकार? यह यादृच्छिक संख्या की पीढ़ी के लिए कोई फर्क नहीं पड़ता? – zbtong

+0

यह सही है। प्रारंभिकरण के बाद एल्गोरिदम ठीक वही है। –

+0

बहुत बहुत धन्यवाद! – zbtong

संबंधित मुद्दे