यादृच्छिक संख्या जनरेटर
एक सीमा के भीतर यादृच्छिक संख्याएँ उत्पन्न करें। सांख्यिकी, गेमिंग, लॉटरी और प्रयोगों के लिए। यह मुफ्त ऑनलाइन रैंडम नंबर जेनरेटर आज़माएं।
क्या है एक अनियमित संख्या जनरेटर?
एक अनियमित संख्या जनरेटर (RNG) एक उपकरण या एल्गोरिथ्म है जो कोई भी अनियमित संख्या उत्पन्न करता है - प्रत्येक आउटपुट में कोई भी पैटर्न का पता नहीं है - प्रत्येक मूल्य की संभावना समान होती है। अनियमित संख्याएँ सांख्यिकी, खेल, क्रिप्टोग्राफी, वैज्ञानिक सिमुलेशन, और कंप्यूटर प्रोग्रामिंग में मूलभूत हैं।
सच्ची अनियमितता वास्तविक दुनिया की घटनाओं से आती है जो पूर्वानुमानित नहीं हैं: रेडियोधर्मी विघटन, वायुमंडलीय शोर, इलेक्ट्रॉनिक सर्किटों में तापमान शोर, या क्वांटम टनलिंग इवेंट्स। हार्डवेयर RNGs इन घटनाओं को मापते हैं ताकि वास्तविक अनियमित बिट स्ट्रीम प्राप्त हो सकें। सेवाएं जैसे कि random.org वायुमंडलीय शोर से रेडियो रिसीवरों से वास्तविक अनियमित संख्याएँ प्राप्त करती हैं।
कंप्यूटर-जनित अनियमित संख्याएँ तकनीकी रूप से प्रोसेड्यूरल हैं - वे एक निश्चित मूल्य के साथ पूरी तरह से निर्धारित होते हैं जिसे बीज कहा जाता है। एक ही बीज के साथ एक प्रोसेड्यूरल नंबर जनरेटर (PRNG) एक ही सीरीज़ पैदा करता है। यह वास्तव में वैज्ञानिक सिमुलेशन में पुनरावृत्ति के लिए उपयोगी है: बीज को सेट करें, उसे रिकॉर्ड करें, और आप बाद में अपने परिणामों को पुनर्प्राप्त कर सकते हैं।
कैसे प्रोसेड्यूरल नंबर जनरेटर काम करते हैं
आधुनिक PRNGs में गणितीय एल्गोरिदम का उपयोग किया जाता है जो उत्कृष्ट सांख्यिकीय गुणों वाली सीरीज़ पैदा करते हैं। सबसे अधिक उपयोग किया जाने वाला एल्गोरिथ्म Mersenne Twister (MT19937) है, जिसे 1997 में Matsumoto और Nishimura द्वारा विकसित किया गया था। इसका एक काला 2^19937 − 1 (लगभग 6,000 अंकों का एक संख्या) है जिसमें पुनरावृत्ति होती है, सभी मानक सांख्यिकीय परीक्षणों को पार करता है, और पायथन, PHP, रूबी, आर, और अन्य भाषाओं में डिफ़ॉल्ट RNG है।
नए एल्गोरिदम में xoshiro/xoroshiro (बहुत तेज़, छोटा राज्य) और PCG (Permuted Congruential Generator) (छोटे राज्य के साथ उत्कृष्ट सांख्यिकीय गुण) शामिल हैं। क्रिप्टोग्राफिक अनुप्रयोगों के लिए, ये मानक PRNG पर्याप्त नहीं हैं - क्रिप्टोग्राफिक सुरक्षित PRNGs (CSPRNGs) की आवश्यकता होती है क्योंकि मानक PRNGs को पर्याप्त जानकारी के साथ एक हमलावर द्वारा अनुमानित किया जा सकता है।
वेब ब्राउज़र वेब क्रिप्टोग्राफिक सुरक्षित PRNG को crypto.getRandomValues() API के माध्यम से एक्सेस प्रदान करते हैं, जो इस कैलकुलेटर द्वारा उपयोग की जाने वाली अनियमित संख्याएँ पैदा करता है। यह Math.random() से बहुत अधिक सुरक्षित है, जो एक सरल PRNG का उपयोग करता है और सुरक्षा संवेदनशील अनुप्रयोगों के लिए कभी नहीं होना चाहिए।
| एल्गोरिथ्म | काला | गति | क्रिप्टोग्राफिक? | उपयोग किया जाता है |
|---|---|---|---|---|
| Math.random() | निर्भर करता है | बहुत तेज | नहीं | ब्राउज़र जेएस (नॉन-क्रिप्टो) |
| Mersenne Twister | 2^19937 − 1 | तेज | नहीं | पायथन, आर, MATLAB |
| xoshiro256** | 2^256 − 1 | बहुत तेज | नहीं | रस्ट, .NET, जूलिया |
| PCG-64 | 2^128 | तेज | नहीं | NumPy, कई भाषाएँ |
| ChaCha20 | — | तेज | हाँ | लिनक्स /dev/urandom, TLS |
| Fortuna | — | मध्यम | हाँ | मैकओएस, आईओएस, विंडोज |
अनियमित संख्याओं के सामान्य उपयोग
खेल और मनोरंजन: डाइस रोल, कार्ड शफ़ल, प्रक्रियात्मक स्तर उत्पादन, लूट ड्रॉप सिस्टम, NPC व्यवहार अनियमितकरण। रोगुएलाइक गेम्स (नेथैक, स्पेलंकी, हेड्स) का पूरा अनुभव उच्च गुणवत्ता वाली अनियमितता पर निर्भर करता है जो निष्पक्ष लगती है लेकिन अनुमानित नहीं है।
लॉटरी और राफल: पुरस्कारों के लिए अनियमित चयन, दावत, जूरी चयन, ड्राफ्ट पिक्स, और प्रतियोगियों के बीच सीमित संसाधनों का निष्पक्ष आवंटन। वास्तविक अनियमितता सुनिश्चित करती है।
वैज्ञानिक सिमुलेशन (मोंटे कार्लो विधियाँ): अनियमित संख्याएँ मोंटे कार्लो सिमुलेशन चलाती हैं, जो पुनरावृत्ति के साथ विभिन्न अनियमित नमूनों का उपयोग करके जटिल गणितीय परिणामों का अनुमान लगाती हैं। अनुप्रयोगों में शामिल हैं: π का अनुमान, वित्तीय विकल्पों की कीमतें लगाना, परमाणु प्रतिक्रियाओं का मॉडलिंग, मौसम का अनुमान, और दवा के प्रभावों का अध्ययन।
सांख्यिकी और अनुसंधान: सर्वेक्षणों के लिए अनियमित नमूना, क्लिनिकल परीक्षणों में अनियमित आवंटन (संगत नियंत्रित परीक्षण), बूटस्ट्रैप नमूना के लिए अनियमितता (आश्वासन के लिए सीमाएँ), और मशीन लर्निंग में क्रॉस-वैलिडेशन में अनियमितता की आवश्यकता होती है।
क्रिप्टोग्राफी और सुरक्षा: एन्क्रिप्शन के लिए कुंजी पैदा करना, सत्र टोकन पैदा करना, CAPTCHA चुनौतियाँ, एक-मौका पासवर्ड (OTP/2FA), पासवर्ड हैशिंग के लिए नमक मान, और क्रिप्टोग्राफिक प्रोटोकॉल में नॉन्स की आवश्यकता होती है।
कंप्यूटर प्रोग्रामिंग: परीक्षण डेटा पैदा करना, लोड परीक्षण, फुजिंग (सॉफ्टवेयर को अनियमित इनपुट देकर बग खोजना), ए/बी परीक्षण आवंटन, शफ़ल एल्गोरिदम (जैसे कि स्पॉटिफाई का "शफ़ल" फीचर), और सिमुलेशन परीक्षण।
समानता और सांख्यिकीय अपेक्षाएं
एक समान संख्या जनरेटर प्रत्येक मान को समान संभावना देता है। एक रेंज 1–6 (एक डाई जैसा) के लिए, प्रत्येक संख्या लगभग 1/6 ≈ 16.67% के समय दिखाई देनी चाहिए। लेकिन छोटे रन के लिए, विचलन सामान्य और अपेक्षित हैं - यही संख्या वास्तव में हमें बताती है।
बड़ी संख्या का नियम यह कहता है कि परीक्षणों की संख्या बढ़ती है, देखी गई आवृत्तियां सिद्धांतिक संभावनाओं की ओर जाती हैं। एक डाई को 12 बार घुमाएं और आप {1,3,5,6,2,1,4,3,2,6,5,4} देख सकते हैं - ठीक 2 प्रत्येक संख्या नहीं। इसे 60,000 बार घुमाएं और आप लगभग 10,000 प्रत्येक संख्या देखेंगे। यह संगति बड़े रन के लिए निश्चित है, लेकिन छोटे रन के पैटर्न नहीं।
गेमर्स की गलत धारणा यह गलत विश्वास है कि स्वतंत्र संभावित घटनाओं में पिछले परिणाम भविष्य के परिणामों को प्रभावित करते हैं। 5 सिर के साथ 5 सिर आने से पीछे के सिर "देय" नहीं होते हैं। प्रत्येक फ्लिप स्वतंत्र है; मुद्रा को कोई याद नहीं है। इसी तरह, एक संख्या जनरेटर जो हाल ही में 7 उत्पन्न किया है, भविष्य के कॉल पर 7 को फिर से उत्पन्न करने की संभावना कम नहीं है।
| रेंज | संभावना प्रति मान | आशा की आवृत्ति (प्रति 1000) | आमतौर पर उपयोग का मामला |
|---|---|---|---|
| 1–2 | 50% | 500 | मुद्रा फ्लिप सिमुलेशन |
| 1–6 | 16.67% | 167 | डाई रोल सिमुलेशन |
| 1–10 | 10% | 100 | दसवें चयन |
| 1–52 | 1.92% | 19 | कार्ड डेक |
| 1–100 | 1% | 10 | प्रतिशताइल/सामान्य उपयोग |
| 1–1,000,000 | 0.0001% | 0.001 | लॉटरी टिकट सिमुलेशन |
विज्ञान में संख्या जनरेशन: मोंटे कार्लो विधियाँ
मोंटे कार्लो विधियाँ संभावित समस्याओं को हल करने के लिए संभावितता का उपयोग करती हैं जो विश्लेषणात्मक रूप से कठिन या असंभव हैं। नाम मोनाको कैसीनो (स्पष्ट कारणों से) के बाद, ये विधियाँ कठिन निश्चित समस्याओं को संभाव्यता के माध्यम से हल करने के लिए परिवर्तित करती हैं।
π का अनुमान: एक इकाई वर्ग में संख्याओं को स्वतंत्र रूप से उत्पन्न करें (x,y प्रत्येक [0,1] में)। इकाई वृत्त (x² + y² ≤ 1) के भीतर कितने गिरते हैं, गिनें। अनुपात है π/4। 1 मिलियन संख्याओं के साथ, आप π को लगभग 3-4 अंकों तक अनुमानित कर सकते हैं। यह π की गणना करने का एक कारगर तरीका नहीं है, लेकिन यह संख्या जनरेशन की शक्ति को सुंदर रूप से प्रदर्शित करता है।
वित्तीय मॉडलिंग: ब्लैक-शोल्स विकल्प मूल्यांकन और मूल्य के जोखिम की गणना में संभावित भविष्य की कीमतों के हजारों मार्गों का उपयोग करते हैं। प्रत्येक सिमुलेशन मार्ग एक संभावित भविष्य का प्रतिनिधित्व करता है। संभावित परिणामों की वितरण सैकड़ों मिलियन सिमुलेशन के माध्यम से पोर्टफोलियो रिटर्न की संभावना वितरण देता है।
ड्रग विकास: मोंटे कार्लो सिमुलेशन ड्रग मॉलिक्यूल के साथ प्रोटीन के लक्ष्यीकरण का अनुमान लगाते हैं, भविष्य की उम्मीद है कि एक उम्मीदवार दवा कितनी संभावना है। यह प्रयोगशाला परीक्षणों की संख्या को कम करता है, अरबों डॉलर के फार्मास्यूटिकल विकास में बचाता है।
विशिष्ट संख्या जनरेट करना (बिना प्रतिस्थापन)
कभी-कभी आपको दोहराव रहित संख्याएँ चाहिए - उदाहरण के लिए, कार्ड का एक डेक शफ़ल करना, भागीदारों को समूहों में विभाजित करना, या लॉटरी विजेताओं का चयन करना। यह सैंपलिंग बिना प्रतिस्थापन (सैंपलिंग के साथ प्रतिस्थापन के विपरीत, जहां एक ही मान कई बार दिखाई दे सकता है) कहलाता है।
स्टैंडर्ड एल्गोरिथ्म के लिए यह है फिशर-येट्स शफ़ल (क्नूथ शफ़ल के रूप में भी जाना जाता है)। एक सरणी में n तत्वों के लिए: अंतिम तत्व से शुरू करें, इसे पूरी सरणी (अपने आप में शामिल) से एक स्वतंत्र रूप से चुने गए तत्व के साथ स्वैप करें, फिर दूसरे-से-अंतिम तत्व पर जाएं, शेष तत्वों से एक स्वतंत्र रूप से चुने गए तत्व के साथ स्वैप करें, और जारी रखें। परिणाम एक समान संभावित परिवर्तन है O(n) समय में।
की जनरेट करने के लिए की संख्या के एक से max]: एक सरणी बनाएं जिसमें रेंज के सभी मान हों, फिशर-येट्स को लागू करें, पहले के तत्वों को लें। यह सुनिश्चित करता है कि की का प्रत्येक संयोजन समान संभावना है - एक वास्तविक रूप से समान सैंपल बिना प्रतिस्थापन।
दैनिक निर्णय लेने में अंधाधुंध संख्याएं
अंधाधुंध संख्या जनरेटर दैनिक दैनिक निर्णयों के लिए आश्चर्यजनक रूप से उपयोगी हैं:
टाई तोड़ना: जब दो समान अच्छे विकल्प होते हैं, तो एक अंधाधुंध संख्या निर्णय ले सकती है बिना बहुत अधिक विचार करने के। शोध सुझाव देता है कि जब लोग वास्तव में समान विकल्पों पर बहुत लंबे समय तक विचार करते हैं, तो वे अपने परिणाम के लिए कम खुश होते हैं जैसे कि उन्होंने अंधाधुंध से चुना होता।
सcheduling और Planning: अंधाधुंध घड़ी के समय की गारंटी देता है कि समय के साथ समानता। कौन फैंटेसी ड्राफ्ट में पहले चुनता है, कौन प्राथमिक शिफ्ट का चयन करता है, कौन सा विषय पहले मीटिंग में चर्चा का विषय बनता है — अंधाधुंध निर्धारण अन्याय और अन्याय की भावना को समाप्त करता है।
शिक्षा और अभ्यास: छात्रों को फ्लैशकार्ड का लाभ होता है जब अंधाधुंध क्रम का उपयोग किया जाता है — यह सीखने के "संदर्भ संकेत" (कार्ड 15 का उत्तर जानते हैं क्योंकि आपने कार्ड 14 का उत्तर दिया है) को रोकता है। अंधाधुंध अभ्यास के बीच में प्रथाओं का अनुकूलन एक सिद्ध तकनीक है (अनुकूलित अभ्यास) जो लंबे समय की स्थायित्व की तुलना में ब्लॉक प्रथाओं की तुलना में मजबूत बनाता है।
क्रिएटिव इनस्पिरेशन: लेखक, कलाकार और संगीतकार अंधाधुंध शब्द जनरेटर, प्रोम्प्ट जनरेटर और अंधाधुंध प्रतिबंध उपकरणों का उपयोग करते हैं ताकि क्रिएटिव ब्लॉक को पार कर सकें। अंधाधुंध रूप से लगाए गए प्रतिबंध अक्सर अप्रत्याशित और रुचिकर क्रिएटिव समाधानों को मजबूत करते हैं।
सामान्य पूछे जाने वाले प्रश्न
क्या यह जनरेटर वास्तव में अनियमित है?
यह आपके ब्राउज़र का crypto.getRandomValues() API उपयोग करता है, जो एक क्रिप्टोग्राफ़िक रूप से सुरक्षित प्राकृतिक संख्या जनक (CSPRNG) है। खेलों के लिए, निर्णय, सांख्यिकी, और रैफल के लिए यह वास्तविक अनियमितता से अलग नहीं है। वास्तविक अनियमितता (भौतिक घटनाओं) के लिए, हार्डवेयर RNGs या random.org जैसी सेवाओं का उपयोग करें।
क्या मैं बिना पुनरावृत्ति के संख्याएं जनरेट कर सकता हूँ?
हाँ — यह सैंपलिंग बिना पुनरावृत्ति कहलाता है। कैलकुलेटर फ़िशर-येट्स शफल एल्गोरिथ्म का उपयोग करता है: सभी मानों की सूची बनाएँ, उन्हें अनियमित रूप से शफल करें, पहले N को वापस करें। यह सुनिश्चित करता है कि प्रत्येक मान एक बार से अधिक नहीं होता है और प्रत्येक संयोजन समान संभावना है।
क्या मैं दो बार एक ही संख्या प्राप्त करने की संभावना है?
रिप्लेसमेंट (मानक मोड) में, एक सीमा N मानों के लिए, दो साथी ड्रॉ के लिए एक ही मान प्राप्त करने की संभावना 1/N है। रेंज 1–100: 1% प्रति जोड़ी। कई ड्रॉ के साथ, पुनरावृत्तियाँ अपेक्षित और सामान्य हैं। "नो रिप्लेसमेंट" मोड में, साथी दोहराव असंभव है डिज़ाइन द्वारा।
क्या मैं इसे लॉटरी नंबर चुनने के लिए उपयोग कर सकता हूँ?
बिल्कुल। सीमा को अपनी लॉटरी (उदाहरण के लिए, 1–49) से मेल खाता है और "नो रिप्लेसमेंट" को सक्षम करें ताकि अद्वितीय संख्याएं चुन सकें। प्रत्येक संयोजन समान संभावना है — कोई भी संख्या या संयोजन जीतने के लिए अधिक या कम संभावना नहीं है। लॉटरी खुद अनियमित है, इसलिए कोई भी चयन विधि समान रूप से वैध है।
क्या एक बीज है जनरेट करने के लिए संख्या?
एक बीज जनरेटर के लिए शुरुआती मान है। एक ही बीज हमेशा एक ही श्रृंखला उत्पन्न करता है। यह उपयोगी है पुनरावर्ती सिमुलेशन के लिए — बीज को सेट करें, सिमुलेशन चलाएँ, रिकॉर्ड करें, और आप बाद में एक ही अनियमित श्रृंखला को पुनर्प्राप्त कर सकते हैं सत्यापन या डिबगिंग के लिए।
मैं एक सूची से एक अनियमित पद कैसे चुन सकता हूँ?
संख्याओं को 1 से N तक नंबर करें, फिर 1 से N तक एक अनियमित संख्या जनरेट करें। संबंधित पद आपका अनियमित चयन है। उदाहरण के लिए, 7 टीम सदस्यों से एक अनियमित पद चुनने के लिए, 1 से 7 तक एक अनियमित संख्या जनरेट करें। प्रत्येक व्यक्ति के लिए एक समान 1/7 ≈ 14.3% का चयन है।
क्या जावास्क्रिप्ट में Math.random() वास्तव में अनियमित है?
नहीं। Math.random() एक सरल PRNG है जिसमें सुरक्षा की कोई गारंटी नहीं है। यह खेलों और गैर-संवेदनशील अनुप्रयोगों के लिए ठीक है, लेकिन क्रिप्टोग्राफ़िक उद्देश्यों (कुंजी उत्पादन, टोकन, पासवर्ड) के लिए कभी नहीं होना चाहिए। सुरक्षा अनुप्रयोगों के लिए हमेशा crypto.getRandomValues() या सर्वर-साइड CSPRNG का उपयोग करें।
PRNG और CSPRNG के बीच क्या अंतर है?
PRNG (प्राकृतिक संख्या जनक) निर्धारित है और तेज है लेकिन यदि आप पर्याप्त जानकारी के बारे में जानते हैं तो यह भविष्यवाणी की जा सकती है। एक CSPRNG (क्रिप्टोग्राफ़िक रूप से सुरक्षित PRNG) का गुण है कि प्रवाह कंप्यूटेशनली अनियमितता से अलग नहीं है यह देखकर कि एक हमलावर कुछ प्रवाहों को देखता है। CSPRNGs को पासवर्ड, कुंजियाँ, और टोकन के लिए आवश्यक हैं।
क्या एक मोंटे कार्लो सिमुलेशन है?
एक मोंटे कार्लो सिमुलेशन बहुत सारे अनियमित नमूनों का उपयोग करता है जटिल मात्राओं का अनुमान लगाने के लिए। उदाहरण: π का अनुमान लगाने के लिए एक वर्ग में एक वृत्त में बिंदुओं को अनियमित रूप से रखें — वर्ग में बिंदुओं का अनुपात वृत्त के अनुपात से π/4 की ओर जाता है। मोंटे कार्लो विधियों का उपयोग वित्त, भौतिकी, इंजीनियरिंग, और सांख्यिकी में किया जाता है।
क्या अनियमित संख्या जनक हो सकते हैं?
गुणवत्ता के साथ खराब RNGs में विचलन हो सकता है — कुछ मान अधिक बार दिखाई देते हैं या संबंधित मानों के बीच संबंध होते हैं। गुणवत्ता को सांख्यिकीय परीक्षणों (NIST परीक्षण सूट, TestU01 BigCrush) द्वारा मापा जाता है। आधुनिक एल्गोरिदम जैसे Mersenne Twister, PCG, और xoshiro सभी मानक परीक्षणों को पारित करते हैं और व्यावहारिक उद्देश्यों के लिए अनियमित हैं।
गेम्स और प्रक्रियात्मक उत्पादन में अनियमित संख्याएं
वीडियो गेम अनियमितता पर बने हुए हैं। माइनक्राफ्ट की दुनिया रचना में अनियमित टाइल उत्पादन से लेकर दुश्मन AI व्यवहार के शफल तक, उच्च गुणवत्ता वाली अनियमितता दोहराव, अनपेक्षित अनुभव पैदा करती है। प्रक्रियात्मक सामग्री उत्पादन (PCG) का उपयोग अनियमित संख्याओं के साथ गणितीय सीमाओं को उपयोग करता है जिससे कम मैनुअल प्रयास के साथ विशाल सामग्री बनाई जा सकती है - नो मैन्स स्काई में 18 क्विंटिलियन ग्रह सभी अनियमित बीजों से प्रक्रियात्मक रूप से उत्पन्न हुए थे।
रोगेलाइक गेम्स जैसे नेथैक, स्पलंकी, और हेड्स ने प्रक्रियात्मक स्तर उत्पादन के माध्यम से जेनरा किया है। प्रत्येक रन एक अलग डंकन, दुश्मन की स्थिति और आइटम वितरण उत्पन्न करता है। खेल ने इस अनियमितता को बीजिता किया है ताकि रन फेयर महसूस हो (RNG तुरंत मरने का निर्णय नहीं करता है) जबकि अनपेक्षित बना रहता है। कई रोगेलाइक्स डिस्प्ले करते हैं ताकि खिलाड़ी एक ही रन को दोहरा सकें या दूसरों के साथ रुचि के बीज साझा कर सकें।
टेबलटॉप गेम्स ने सदियों से शारीरिक अनियमितता (डाई, शफल्ड कार्ड, स्पिनर) का उपयोग किया है। डिजिटल समकक्षों को इन वितरणों को बिल्कुल अनुकरण करना होगा। एक मानक डी6 डाई रोल का उपयोग करता है जो {1,2,3,4,5,6} पर एक समान वितरण का उपयोग करता है। एक शफल्ड डेक से एक निकाला जाता है जो एक अनियमित परिवर्तन का उपयोग करता है। कुछ गेम डाई पूल (मल्टीपल डाई को रोल करें, उच्चतम लें) या डाई के साथ लाभ/हानि का उपयोग करते हैं - जिसके लिए सावधानी से सांख्यिकीय डिज़ाइन की आवश्यकता होती है ताकि इच्छित संभाव्यता वितरण प्राप्त किया जा सके।
अन्य वितरणों को अनियमित संख्याओं से उत्पन्न करना
अधिकांश आरजीएनपी 0 और 1 के बीच समान रूप से वितरित संख्याएं उत्पन्न करते हैं (या एक सीमित संख्या में अंतर). अक्सर हमें अन्य वितरण के अनुसार अनियमित संख्याएं चाहिए - सामान्य, व्युत्क्रम, पॉइसन, आदि। ये अनियमित संख्याओं के माध्यम से परिवर्तन के माध्यम से प्राप्त किए जा सकते हैं।
बॉक्स-मुलर ट्रांसफॉर्म दो अनियमित संख्याओं U₁ और U₂ से सामान्य रूप से वितरित अनियमित संख्याएं उत्पन्न करता है: Z₁ = √(−2ln(U₁)) × cos(2πU₂) और Z₂ = √(−2ln(U₁)) × sin(2πU₂)। दोनों Z₁ और Z₂ मानक सामान्य वितरण N(0,1) का पालन करते हैं। Z × σ + μ के साथ स्केल करने से N(μ,σ²) प्राप्त होता है।
इनवर्स ट्रांसफॉर्म मेथड एक संग्रहणात्मक वितरण कार्य (सीडीएफ) के विपरीत का उपयोग करता है। एक व्युत्क्रम वितरण के लिए दर λ: X = −ln(1−U)/λ जहां U एक समान रूप से वितरित होता है [0,1]। यह सीधे एक समान रूप से वितरित एक अनियमित चर को एक व्युत्क्रम वितरित में परिवर्तित करता है। यह किसी भी वितरण के लिए काम करता है जिसका संग्रहणात्मक वितरण कार्य व्यावहारिक रूप से विपरीत हो।
असंगतता के लिए सांख्यिकीय परीक्षण
क्या हम यह जांचते हैं कि एक संगत संख्या जनक वास्तव में संगत है या नहीं? सांख्यिकीय परीक्षण यह जांचते हैं कि एक संख्या की श्रृंखला में कोई ऐसे पैटर्न हैं जो एक वास्तविक संगत श्रृंखला में असंभव हों। एनआईएसटी सांख्यिकीय परीक्षण सूट में 15 परीक्षण हैं जो संगतता के लिए उपयोग के लिए RNG का मूल्यांकन करने के लिए उपयोग किए जाते हैं। मुख्य परीक्षणों में शामिल हैं:
सामान्यता परीक्षण (Monobit): यह जांच करता है कि 0 और 1 की संख्या समान आवृत्ति से होती है जो संगत संख्याओं की द्विआवृत्ति में होती है। एक पक्षपाती मुद्रिका जो 60% समय सिर होती है, इस परीक्षण में विफल हो जाएगी।
रन्स परीक्षण: यह जांच करता है कि कितनी अधिक संख्याएं एक ही हैं (रन्स)। बहुत अधिक लंबे रन्स के समान बिट्स का संकेत है कि एक गैर-संगत पैटर्न है। एक वास्तविक संगत श्रृंखला में रन की लंबाई का एक संभावित वितरण होता है।
श्रृंखला परीक्षण: यह जांच करता है कि जोड़ों, त्रिपल, या चतुर्थांश मूल्यों की आवृत्ति समान है या नहीं। यदि जनक 1,2,3,4,5,6,1,2,3,4,5,6... की श्रृंखला उत्पन्न करता है, तो आवृत्ति परीक्षण को पारित करता है लेकिन श्रृंखला परीक्षण में विफल हो जाता है - जोड़े संगत नहीं हैं।
| सांख्यिकीय परीक्षण | यह क्या पता लगाता है | NIST परीक्षण सूट? |
|---|---|---|
| सामान्यता (Monobit) | 0/1 की असमान आवृत्ति | हाँ |
| रन्स परीक्षण | कई/कम समान ही मूल्य | हाँ |
| अतिसंवाद | पिछली मूल्यों से मूल्यों का संबंध | हाँ |
| चाय-चार्ट | अनियमित वितरण | हाँ (सामान्यता परीक्षण) |
| जन्मदिन की दूरी | कम-नियमित दूरी | टेस्टयू01 के माध्यम से |
| डाईहार्ड | मल्टीपल पैटर्न परीक्षण | विभाजित सूट |
टेस्टयू01 "बिगक्रश" परीक्षण सूट को सबसे सख्त व्यावहारिक परीक्षण माना जाता है - यह 106 परीक्षण चलाता है और छोटे परीक्षण सूट को पारित करने वाले कई एल्गोरिदम को अस्वीकार करता है। आधुनिक एल्गोरिदम जैसे कि पीसीजी और xoshiro बिगक्रश को पारित करते हैं; पुराने एल्गोरिदम जैसे कि लाइनर कांग्रुएंसियल जनक जो प्रारंभिक सी लाइब्रेरी में उपयोग किया जाता था कई परीक्षणों में विफल हो जाते हैं और गुणवत्ता के लिए उपयुक्त नहीं हैं।
इस संगत संख्या जनक का उपयोग करना
न्यूनतम और अधिकतम मान निर्धारित करें ताकि आपका दायरा परिभाषित हो सके। "कितने" को सेट करें ताकि एक साथ कई संख्याएं उत्पन्न की जा सकें। "कोई पुनरावृत्ति" विकल्प को सक्षम करें ताकि एक अद्वितीय संख्याओं की सूची उत्पन्न की जा सके (नमूना के बिना नमूना लेना) - लॉटरी के लिए उपयुक्त है , कार्ड ड्रॉ, या समूहों को बिना पुनरावृत्ति के आवंटित करने के लिए। उत्पन्न श्रृंखला आपके ब्राउज़र के क्रिप्टोग्राफिक रैंडम एपीआई का उपयोग करती है ताकि उच्च गुणवत्ता वाले परिणाम प्राप्त किए जा सकें जो किसी भी गैर-सुरक्षा उद्देश्य के लिए उपयुक्त हों। लॉटरी के लिए, लॉटरी के दायरे में आवश्यक चयन गणना के बराबर संख्याएं उत्पन्न करें। रैफल के लिए, प्रविष्टियों को क्रमिक संख्याएं आवंटित करें और संबंधित संख्या को निकालें। परिणाम प्रत्येक बार क्लिक करते समय ताज़ा उत्पन्न होते हैं - पिछले परिणामों को संग्रहीत या ट्रैक नहीं किया जाता है।