रैंडम नाम पिकर
नतीजा
निकाले गए नाम
- सूची में नाम
- 8
- किसी एक नाम के निकलने की संभावना
- 37.50%
रैंडम नाम पिकर एक नाम चुनने का टूल है: आप नामों की सूची चिपकाइए, बताइए कि कितने नाम निकालने हैं, और पेज उतने अलग-अलग नाम लौटा देता है — बिना दोहराव, यानी एक ही नाम एक ही नतीजे में दो बार नहीं आ सकता। नतीजे के बग़ल दो संख्याएँ भी दिखती हैं: सूची में असल में कितने नाम पढ़े गए, और किसी एक नाम के निकलने की संभावना क्या थी। यही वह तरीक़ा है जिससे लॉटरी निकाली जाती है, पुरस्कार बाँटा जाता है, बोलने का क्रम तय होता है, बैठने की जगह बँटती है, या घर के कामों का बँटवारा होता है — सूची इनपुट है, निकासी नतीजा है, और साथ की संख्याएँ आपको यह बताने देती हैं कि क्या हुआ, केवल यह दावा करने के बजाय कि हुआ। दो बातें साफ़ कहने लायक़ हैं। निकासी बिना दोहराव होती है और हर नाम का मौक़ा बराबर रहता है: आठ में से तीन नाम निकालने पर हर नाम का हिस्सा 3 ÷ 8 = 37.5% है। और नतीजा दोहराया जा सकता है — रैंडम सीड वह शुरुआती बिंदु है जहाँ से निकासी चलती है, और वही सीड, वही सूची तथा वही गिनती दोबारा डालने पर बिल्कुल वही नाम उसी क्रम में लौटते हैं। इसीलिए छपा हुआ नतीजा जाँचा जा सकता है, केवल भरोसे पर नहीं छोड़ा जाता।
फ़ॉर्मूला
किसी एक नाम के निकलने की संभावना = निकाले जाने वाले नाम ÷ सूची में नाम और निकासी रैंडम सीड से चलने वाला फेरबदल है, जिसमें से पहले उतने नाम लिए जाते हैं जितने आपने पूछे
- सूची में नाम
- सूची को बाँटने के बाद उसमें बचे नामों की गिनती। बाँटने वाले चिह्न तीन हैं — लाइन बदलना, अर्धविराम और अल्पविराम; साधारण स्पेस उनमें नहीं है, इसीलिए बीच में स्पेस वाला नाम एक ही प्रविष्टि रहता है और स्पेस से लिखी गई अंकों की सूची एक ही नाम बन जाती है
- निकाले जाने वाले नाम
- कितने नाम बाहर निकालने हैं। यह सूची के आकार से बड़ा नहीं हो सकता, क्योंकि निकासी बिना दोहराव है: तीन नामों की सूची से चार माँगना मुश्किल नतीजा नहीं, असंभव माँग है
- रैंडम सीड
- जनरेटर की शुरुआती अवस्था, 4,29,49,67,295 तक। वही सूची, वही गिनती और वही सीड हमेशा वही नाम देते हैं, और यही वह गुण है जिससे किसी छपे हुए नतीजे को दोबारा चलाकर जाँचा जा सकता है; सीड बदलते ही पूरी निकासी बदल जाती है
- किसी एक नाम के निकलने की संभावना
- किसी एक तय नाम के बाहर आने का हिस्सा। यह किसी एक निकासी के बारे में वादा नहीं है — 37.5% वाला नाम लगातार दस बार भी चूक सकता है — पर बहुत सारी स्वतंत्र निकासियों में वह नाम जिनमें आता है उनका हिस्सा इसी संख्या की ओर सिकुड़ता जाता है
- निकाले गए नाम
- निकाले गए नाम उसी क्रम में जिसमें निकासी ने उन्हें दिया, अल्पविराम से अलग। क्रम नतीजे का हिस्सा है, सजावट नहीं: वही सीड वही क्रम दोहराता है, इसलिए इसी से बोलने का क्रम या पहले-से-आख़िर तक की सूची बनाई जा सकती है
इसे तब लगाइए जब निकासी दिखनी चाहिए और बाद में उसकी निष्पक्षता जाँची भी जा सके: विजेता चुनना, क्रम तय करना, काम बाँटना, या कई विकल्पों में से एक चुनना। रैंडम सीड ही इस चीज़ को उस अपारदर्शी रैंडम बटन से अलग करता है जिस पर किसी को भरोसा करने के अलावा कोई रास्ता नहीं होता — नतीजे के साथ सीड भी बाँट दीजिए और कोई भी वही निकासी दोबारा चला सकता है, जिससे «निकासी साफ़ थी या नहीं» का झगड़ा भरोसे का नहीं, अंकगणित का सवाल बन जाता है। सेटिंग चुनते समय दो बातें ध्यान में रखिए। जहाँ पूरा क्रम चाहिए, वहाँ सूची के सारे नाम निकालिए, क्योंकि सबको निकालना फेरबदल के बराबर है और नतीजा चलने वाला क्रम बन जाता है। और निकासी पर भरोसा करने से पहले देख लीजिए कि सूची में पेज कितने नाम मान रहा है: नतीजे के पास छपी गिनती ही असल में पढ़ी गई प्रविष्टियों की संख्या है, और यह पकड़ने का सबसे तेज़ तरीक़ा है कि कोई चिह्न वैसे नहीं बँटा जैसे आपने सोचा था।
हल किए हुए उदाहरण
आठ में से तीन नाम
- सूची अर्धविरामों पर बँटकर आठ प्रविष्टियाँ बनती है
- सीड वाली निकासी उनमें से तीन बिना दोहराव उठाती है: पहले 6, फिर 1, फिर 5
- हर नाम का मौक़ा शुरू में बराबर था: 3 ÷ 8 = 0.375, यानी 37.5%
- सीड 1 के साथ वही निकासी दोबारा चलाने पर वही तीन नाम उसी क्रम में लौटते हैं
यहाँ सबसे पहले तीन नामों को नहीं, गिनती 8 को देखिए। वह पेज का यह बताना है कि उसने असल में कितनी प्रविष्टियाँ पढ़ीं, और यह जाँचने का सबसे तेज़ ज़रिया है कि सूची आपके इरादे के मुताबिक़ बँटी भी या नहीं — जो सूची चुपचाप एक ही प्रविष्टि बन गई हो, वह भी उतना ही पक्का दिखने वाला नतीजा देती है। 37.5% हर नाम का अपना हिस्सा है, चलता-फिरता जोड़ नहीं: आठों को जोड़ने पर 300% बनते हैं, क्योंकि तीन नाम निकाले जा रहे हैं और हर निकासी सूची पर अपना अलग दावा है।
जिन नामों के बीच में स्पेस है
- हर नाम अपनी अलग लाइन पर है, इसलिए सूची में चार प्रविष्टियाँ हैं — आठ नहीं
- निकासी उन चारों में से दो उठाती है: Mary Jane और Peter Parker
- हर नाम का हिस्सा 2 ÷ 4 = 50% है
- वही चार नाम John Smith; Mary Jane; Peter Parker; Bruce Wayne की तरह लिखने पर भी नतीजा बिल्कुल वही आता है
चार प्रविष्टियाँ, आठ नहीं — पूरी बात यही है: इस पेज पर स्पेस नामों को नहीं बाँटता, क्योंकि असली नामों में वह आम तौर पर होता ही है। अर्धविराम और लाइन बदलना बाँटते हैं, और दोनों रूप एक ही सीड से एक ही निकासी देते हैं। अगर नतीजे के पास की गिनती आपके चिपकाए हुए लोगों की संख्या से कभी ज़्यादा आए, तो सूची ज़रूरत से ज़्यादा बारीक़ बँट गई है — ऐसा तब होता है जब उल्टे क्रम में लिखे नाम के अंदर वाला अल्पविराम बाँटने वाला चिह्न बन जाए।
पूरी सूची निकालना
- आठ नामों की सूची से आठ नाम, बिना दोहराव
- हर नाम ठीक एक बार निकलना ही है, इसलिए नतीजा पूरी सूची है — बस नए क्रम में
- किसी भी तय नाम का हिस्सा 8 ÷ 8 = 100% है, और पूरी निकासी की यही ईमानदार पढ़ाई है
- नतीजे का क्रम निकासी का क्रम है, इसलिए यही फेरबदल का काम भी कर देता है
100% का मौक़ा ग़लती लगता है जब तक सवाल ध्यान से न पढ़ा जाए: यह उस नाम के निकलने का हिस्सा है जब हर नाम निकल रहा हो, और यह इस बारे में कुछ नहीं कहता कि वह क्रम में कहाँ बैठेगा। जब क्रम बदलना हो, टुकड़ा नहीं चाहिए, तब यही सेटिंग इस्तेमाल कीजिए — एक ही नतीजा दोनों काम कर देता है, और क्रम बाक़ी सब की तरह सीड से दोहराया जा सकता है।
स्पेस से लिखे अंक, जो एक ही नाम बन गए
- इस पेज पर स्पेस बाँटने वाला चिह्न नहीं है, इसलिए सूची में ठीक एक प्रविष्टि है
- एक की सूची से एक नाम निकालने पर वही लौटता है, जैसा था
- हिस्सा 1 ÷ 1 = 100% है
- उसी सूची को अर्धविरामों के साथ लिखने पर आठ प्रविष्टियाँ बनती हैं और निकासी वैसी होती है जैसी चाहिए थी
स्पेस का नियम जब काटता है तो ऐसा दिखता है: स्पेस से लिखे आठ अंक एक ही नाम हैं, इसलिए निकासी वही अकेली प्रविष्टि लौटा देती है और गिनती 1 तथा हिस्सा 100% बताती है। पैनल में कुछ भी टूटा नहीं दिखता, और इसीलिए नतीजे के पास की गिनती पर हर बार नज़र डालनी चाहिए। सुधार यह है कि बाँटने वाला चिह्न स्पेस के अलावा कुछ हो — 1; 2; 3; 4; 5; 6; 7; 8, या हर प्रविष्टि अपनी अलग लाइन पर।
सीमाएँ
नतीजे को किसी अहम काम में इस्तेमाल करने से पहले तीन व्यावहारिक सीमाएँ जान लीजिए। सूची में 200 नाम तक आ सकते हैं, और निकासी उतने ही नाम उठा सकती है जितने सूची में हैं। स्पेस कभी नामों को नहीं बाँटता, क्योंकि असली नामों में वह होता है — बाँटने वाले चिह्न लाइन बदलना, अर्धविराम और अल्पविराम हैं — इसलिए उपनाम-पहले लिखे नाम के अंदर वाला अल्पविराम उसे दो हिस्सों में तोड़ देगा, और चेतावनी के तौर पर सिर्फ़ नतीजे के पास की गिनती मिलती है। रैंडम सीड दोहराने का साधन है, सुरक्षा का नहीं। इसके पीछे का जनरेटर एक छोटा, तेज़ और पूरी तरह नियतात्मक जनरेटर है — इस पेज जैसी जगह के लिए बिल्कुल ठीक, और जहाँ असली पैसा दाँव पर हो वहाँ बिल्कुल अनुपयुक्त, क्योंकि सीड और तरीक़ा जानने वाला कोई भी नतीजा पहले ही निकाल सकता है; ऐसी जगह सत्यापनीय सार्वजनिक स्रोत ही सही औज़ार है। और संभावना कोई समय-सारणी नहीं है। सूची के हर नाम का मौक़ा बराबर है, पर आठ में एक का मौक़ा का मतलब यह नहीं कि नाम हर आठ निकासियों में एक बार आएगा — इसका मतलब है कि बहुत लंबी दौड़ में उसका हिस्सा आठवें भाग की ओर सिकुड़ता है, जो लंबी दौड़ के बारे में बयान है, अगली कोशिश के बारे में नहीं।
अक्सर पूछे जाने वाले सवाल
- क्या निकासी सच में रैंडम है, या कुछ नामों को तरजीह देती है?
- सूची के हर नाम का मौक़ा बराबर है, और पेज बिना दोहराव ही नाम निकालता है, इसलिए एक ही नतीजे में कोई नाम दो बार नहीं आ सकता। जो चीज़ आप जाँच सकते हैं वह नतीजे के पास की गिनती है: वह बताती है कि पेज ने कितनी प्रविष्टियाँ पढ़ीं, और अगर वह संख्या आपके चिपकाए हुए लोगों से मेल न खाए, तो सूची आपके इरादे से अलग बँटी है और निकासी ग़लत समूह पर निष्पक्ष हुई है। छिपा हुआ पक्षपात नहीं, यही आम वजह है जिससे कोई निकासी ग़लत लगती है — और इसीलिए सूची को एक नाम प्रति लाइन चिपकाना सबसे सुरक्षित आदत है।
- वही रैंडम सीड वही नाम क्यों देता है?
- क्योंकि जनरेटर नियतात्मक है: सीड उसकी शुरुआती अवस्था तय करता है और उसके बाद क्रम बँधा हुआ है। यह कमज़ोरी नहीं, ख़ूबी है, क्योंकि इससे निष्पक्षता का दावा ऐसी चीज़ बन जाता है जिसे कोई भी जाँच सकता है — सूची, निकाले जाने वाले नामों की गिनती और सीड बाँट दीजिए, और वही नतीजा किसी भी डिवाइस पर, किसी भी भाषा में, बिना कोई रिकॉर्ड रखे लौट आता है। दूसरा सीड पूरी तरह अलग निकासी देता है, इसलिए सूची बदले बिना नया नतीजा चाहिए तो वही एक संख्या बदल दीजिए। यही नियतात्मकता यह भी तय करती है कि जहाँ कोई पहले से नतीजा जानकर उसका फ़ायदा उठा सकता हो, वहाँ यह निकासी ठीक नहीं बैठती।
- क्या आठ में एक का मौक़ा का मतलब है कि नाम हर आठ निकासियों में एक बार आएगा?
- नहीं, और किसी भी संभावना की सबसे आम ग़लत पढ़ाई यही है। आठ में एक का मौक़ा का मतलब है कि बहुत लंबी दौड़ में उन निकासियों का हिस्सा, जिनमें वह नाम आता है, आठवें भाग के आसपास ठहरता है, पर निकासियों की कोई भी तय कड़ी उसे लगातार कई बार चूक सकती है या दो बार एक के बाद एक ला सकती है। औसत को कोई ज़ोर पकड़ने के लिए आठ निकासियाँ बहुत कम हैं। संख्या फिर भी काम की है — इसी से दो नामों की तुलना होती है, और इसी से पता चलता है कि आठ में से चार निकालने पर हर नाम का हिस्सा 50% हो जाता है — पर यह लंबी दौड़ का बयान है, कोई समय-सारणी नहीं।
- मेरी अंकों की सूची एक ही नाम क्यों पढ़ ली गई?
- क्योंकि इस पेज पर स्पेस नामों को नहीं बाँटता। असली नामों में स्पेस आम है, इसलिए उसे बाँटने वाला चिह्न मानने पर John Smith दो टुकड़ों में टूट जाता, और जो नियम नामों को साबुत रखता है वही 1 2 3 4 5 6 7 8 को एक प्रविष्टि बना देता है। नतीजे के पास की गिनती यह दिखा देती है: वहाँ 8 के बजाय 1 पढ़ने को मिलेगा और हिस्सा 100% आएगा। सुधार यह है कि बाँटने वाला चिह्न स्पेस के अलावा कुछ हो — अर्धविराम, अल्पविराम या हर प्रविष्टि अलग लाइन पर — और तीनों में से कोई भी एक ही सीड से एक ही निकासी देता है।
- क्या एक ही नाम दो बार निकल सकता है?
- एक ही निकासी में नहीं। नाम चुने जाते ही सूची से हटा दिए जाते हैं, इसलिए हर नतीजा अलग-अलग नामों का समूह होता है, और लॉटरी या बोलने के क्रम के लिए यही चाहिए — एक ही व्यक्ति का नाम दो बार पुकारा जाना अचरज नहीं, ख़राबी होती। इसका एक नतीजा जान लेना ज़रूरी है: निकाले जाने वाले नामों की गिनती सूची के आकार से बड़ी नहीं हो सकती। तीन लोगों की सूची से चार नाम माँगना ऐसी प्रक्रिया है जो चल ही नहीं सकती, और पेज चुपचाप तीन लौटाने के बजाय यह बता देता है। सूची में जितने नाम हैं उतने ही निकालिए और नतीजा पूरी सूची ही नए क्रम में आता है।
- इस पेज पर निकासियों की कोई तालिका या उदाहरण सूची क्यों नहीं है?
- क्योंकि नतीजा पूरी तरह उन नामों पर निर्भर है जो आप चिपकाते हैं और उस गिनती पर जो आप चुनते हैं, और तालिका इनमें से कुछ भी नहीं देख सकती। छपी हुई उदाहरण-सूची किसी और सूची का नतीजा होती, और जहाँ वह ऊपर के पैनल से टकराती, वहाँ सही पैनल होता — अपने ही आँकड़ों से लड़ता पेज ऐसे पेज से बुरा है जिस पर अतिरिक्त कुछ न हो। पैनल ख़ुद ही जवाब है, और उसके बग़ल की दो संख्याएँ यहाँ तालिका में डालने लायक़ अकेले सामान्य तथ्य हैं: सूची में असल में कितनी प्रविष्टियाँ हैं, और उनमें से हर एक का निकलने का हिस्सा क्या था।
संदर्भ
- Math.random() — JavaScript reference (a built-in generator with no seed parameter, and the explicit warning that it is not cryptographically secure) — MDN Web Docs, Mozilla
- 3.1 Terminology — Introductory Statistics 2e (the law of large numbers: the relative frequency of heads on a fair coin approaches one half as the number of tosses grows) — OpenStax, Rice University
- 1.3.6.1. What is a Probability Distribution — e-Handbook of Statistical Methods (the frequency reading of probability, which is what a one in eight chance is a statement about) — National Institute of Standards and Technology (NIST)