क्या एक यादृच्छिक संख्या जनरेटर कभी भी समान बीज दिए गए विभिन्न आउटपुट का उत्पादन कर सकता है?


10

शीर्षक इसे गाता है। मुझे यह जानने में दिलचस्पी है कि क्या कोई एल्गोरिथ्म मौजूद है जो कि रैंडमनेस के लिए किसी अन्य स्रोत पर निर्भर किए बिना वैरिएबल आउटपुट देने में सक्षम है जैसे कि डेटटाइम। नाउ या लाइट सेंसर से उत्पन्न संख्या आदि। इसके अलावा, एल्गोरिथ्म नहीं चलाया जा सकता है। अनुक्रम में, बस दो अलग-अलग, असंबंधित रन जो अलग-अलग आउटपुट का उत्पादन करते हैं।


आप जिस बारे में बात कर रहे हैं वह विशिष्ट होने के लिए एक छद्म यादृच्छिक-संख्या जनरेटर है।
मार्सेल

अधिकांश भाषाओं में बीज को निर्दिष्ट किए बिना यादृच्छिक संख्या जनरेटर को तुरंत चालू करने की संभावना है ताकि बीज "यादृच्छिक" भी हो। बीज का उपयोग करने का एक कारण है।
नील

1
@ नील: उन मामलों में, अभी भी एक बीज है, यह सिर्फ अंतर्निहित है, आमतौर पर सिस्टम समय है।
माइकल बोर्गवर्ड

@MichaelBorgwardt, मैंने बस कहा कि बीज यादृच्छिक रूप में अच्छी तरह से होगा। बेशक कुछ भी वास्तव में यादृच्छिक नहीं है, लेकिन आमतौर पर सिस्टम समय एक सभ्य बीज प्रदान करता है, इसलिए जब तक आप अक्सर एक बीज को पारित किए बिना एक यादृच्छिक संख्या जनरेटर को तुरंत नहीं करते हैं, तो उस स्थिति में आपको एक ही बीज "यादृच्छिक" बीज दो बार मिल सकता है।
नील

अनुभवहीन हार्डवेयर में एक दिलचस्प शोध क्षेत्र है, जिसमें सांख्यिकीय रूप से अच्छी तरह से परिभाषित अशुद्धि है। संभावित लाभ कम बिजली का उपयोग है। 2.0 + 2.0ऐसी प्रणाली पर गणना करने पर समान परिणाम नहीं मिलेंगे। इसे यादृच्छिकता के किसी अन्य स्रोत की आवश्यकता नहीं है।
MSalters

जवाबों:


15

मुझे यह जानने में दिलचस्पी है कि क्या कोई एल्गोरिथ्म मौजूद है जो कि रैंडमनेस के लिए अन्य स्रोतों पर निर्भर किए बिना वैरिएबल आउटपुट देने में सक्षम है जैसे कि डेटटाइम।अब या एक लाइट सेंसर से उत्पन्न संख्या आदि।

नहीं, यह मौलिक रूप से असंभव है, क्योंकि एल्गोरिथ्म की बहुत परिभाषा यह है कि यह अच्छी तरह से परिभाषित और नियतात्मक है, अर्थात एक ही इनपुट हमेशा एक ही आउटपुट का उत्पादन करेगा। यादृच्छिक एल्गोरिदम हैं, लेकिन उन्हें इनपुट के रूप में यादृच्छिकता की आवश्यकता होती है।

इसके अलावा, नियतिवाद है कंप्यूटर हार्डवेयर का सबसे महत्वपूर्ण डिजाइन लक्ष्य। एक सीपीयू जो एक ही आउटपुट नहीं देता है, जो एक ही इनपुट को दिया जाता है, अधिकांश उद्देश्यों के लिए बिलकुल बेकार होगा।


14

नहीं, एक छद्म यादृच्छिक संख्या पीढ़ी एल्गोरिदम हमेशा एक ही बीज (इसलिए छद्म -आयामी) दिए गए एक ही आउटपुट का उत्पादन करेगा ।

मुझे यह दिलचस्प लगता है कि आपने "प्रोग्राम" के बजाय "एल्गोरिथम" शब्द का इस्तेमाल किया। यह हां उत्तरों के एक निश्चित वर्ग को निकालता है (रैम में नरम त्रुटियां, बहु-थ्रेडेड आरएनजी, आदि में अलग-अलग थ्रेड इंटरलेविंग्स)। यदि आप इसे इस रूप में लेते हैं कि आपके एल्गोरिथ्म का प्रत्येक रन प्रत्येक इनपुट पर समान इनपुट लेता है, बिना किसी यादृच्छिकता के अच्छी तरह से निर्दिष्ट किया जाता है, तो यह प्रत्येक रन पर समान आउटपुट उत्पन्न करेगा।

यह कहा जा रहा है, यहां तक ​​कि सीपीयू तापमान जैसी बुनियादी चीजें अप्रत्याशित रूप से एक एन्ट्रापी स्रोत के रूप में कार्य करने के लिए पर्याप्त हैं यदि वे उचित रूप से सामान्यीकृत हैं। इसलिए, यह मत समझिए कि एक "क्रिप्टोग्राफिक रूप से सुरक्षित" यादृच्छिक संख्या जनरेटर की भविष्यवाणी की जा सकती है यदि आप जानते हैं कि यह किस समय चलाया गया था; उनमें से कई सिस्टम-जनित एंट्रॉपी फ़ीड का उपयोग करते हैं।


एल्गोरिथम सही शब्द था :) मैं विशेष रूप से एन्ट्रापी, मेमोरी दोष, थ्रेड ऑर्डर, अप्रत्याशित इनपुट जैसे प्रकाश स्रोत, आदि के बाहरी स्रोतों को खत्म करने की कोशिश कर रहा हूं। मुझे लगता है कि मेरा प्रश्न यादृच्छिक एल्गोरिदम की समझ में कमी और शायद मैं सवाल को अधिक सामान्य बना सकता था। मैं वास्तव में सोच रहा हूं कि क्या किसी भी फ़ंक्शन को बनाना संभव है जो समान इनपुट दिए गए विभिन्न परिणाम देता है (एंट्रोपी के सभी स्रोतों सहित)। जवाब की तरह लगता है नहीं है
ConditionRacer

7

क्या आप जानते हैं कि लोग यह सुनिश्चित करने के लिए बहुत मेहनत करते हैं कि एक ही बीज को देखते हुए, हर बार यादृच्छिक संख्याओं का एक ही क्रम उत्पन्न होता है? यह मोंटे कार्लो सिमुलेशन जैसी चीजों के लिए एक वांछनीय संपत्ति है, क्योंकि इसका मतलब है कि परिणाम पूरी तरह से प्रतिलिपि प्रस्तुत करने योग्य हैं। यदि आप बीज को निर्दिष्ट नहीं करते हैं, तो समय जैसी किसी चीज़ का उपयोग किया जाएगा, लेकिन यह वास्तव में प्रतिलिपि प्रस्तुत करने योग्य है।

एकमात्र आरएनजी जहां यह वास्तव में अवांछित है, क्रिप्टोग्राफी के लिए उपयोग किए जाते हैं, और वे आमतौर पर ऑपरेटिंग सिस्टम के अपने यादृच्छिक संख्या स्रोत (जो सामान्य परिस्थितियों में प्रतिकूल नहीं है और जो फैंसी हार्डवेयर का उपयोग कर सकते हैं) का उपयोग करके अपने बीज प्रदान करते हैं।


हां, मैं समझता हूं कि आप क्या कह रहे हैं। मैं कुछ नया लागू करने की कोशिश नहीं कर रहा हूं, यह सिर्फ एक देर रात की जिज्ञासा थी।
ConditionRacer

1

मुझे लगता है कि अगर आपने अलग-अलग हार्डवेयर प्लेटफार्मों पर एल्गोरिदम को लागू किया था और यह एक पूर्णांक से मध्य एन बिट्स लेने जैसी तकनीकों का उपयोग करता था, तो आप अनुमान लगा सकते हैं कि पूर्णांक एन्कोडिंग अलग था (बड़ा / थोड़ा / मध्य-एंडियन)। आप उन एफपीयू के साथ मशीनों पर चलने वाले मुद्दों में भी दौड़ सकते हैं, जो अगर आप फ्लोटिंग-पॉइंट संख्याओं में हेरफेर नहीं करते हैं। शायद डेस्कटॉप-क्लास मशीनों पर कोई समस्या नहीं है, लेकिन फोन पर एक मुद्दा हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.