कुछ अध्यायों ने कहा:
जो कोई भी नियतात्मक साधनों द्वारा यादृच्छिक संख्या उत्पन्न करने का प्रयास करता है, वह निश्चित रूप से पाप की स्थिति में रहता है।
इसका मतलब हमेशा यह माना जाता है कि आप केवल कंप्यूटर के साथ सही यादृच्छिक संख्या उत्पन्न नहीं कर सकते। और उन्होंने कहा कि जब कंप्यूटर एकल इंटेल 8080 माइक्रोप्रोसेसर (~ 6000 वाल्व) के बराबर आकार के थे। कंप्यूटर अधिक जटिल हो गए हैं, और मुझे विश्वास है कि वॉन वॉन न्यूमैन का कथन अब सच नहीं हो सकता है। विचार करें कि एक कार्यान्वित सॉफ़्टवेयर केवल एल्गोरिथम असंभव है। वे भौतिक हार्डवेयर पर चलते हैं। ट्रू रैंडम नंबर जेनरेटर और उनके एंट्रोपी स्रोत भी हार्डवेयर से बने होते हैं।
यह जावा टुकड़ा एक पाश में डाल दिया:
file.writeByte((byte) (System.nanoTime() & 0xff));
एक डेटा फ़ाइल बना सकते हैं, जिसका मैंने चित्र के रूप में प्रतिनिधित्व किया है:
आप संरचना देख सकते हैं, लेकिन बहुत यादृच्छिकता के साथ भी। दिलचस्पी की बात यह है कि यह पीएनजी फ़ाइल 232KB आकार की है, फिर भी इसमें 250,000 ग्रे स्केल पिक्सल हैं। पीएनजी संपीड़न स्तर अधिकतम था। यह केवल 7% का एक संपीड़न अनुपात है, अर्थात। काफी गैर संकुचित। यह भी दिलचस्प है कि फ़ाइल अद्वितीय है। इस फ़ाइल की प्रत्येक पीढ़ी थोड़ा अलग पैटर्न है और इसकी ~ 7% संपीड़ितता समान है। मैं इस पर प्रकाश डालता हूं क्योंकि यह मेरे तर्क के लिए महत्वपूर्ण है। यह ~ 7बिट्स / बाइट एन्ट्रापी है। यह एक मजबूत संपीड़न एल्गोरिथ्म के उपयोग पर निश्चित रूप से कम हो जाएगा। लेकिन 0 बिट्स / बाइट के पास कुछ भी कम न करें। एक बेहतर छाप उपरोक्त छवि को ले कर और यादृच्छिक रूप से इसके रंगीन मानचित्र को प्रतिस्थापित करने से हो सकती है: -
अधिकांश संरचना (शीर्ष आधे में) गायब हो जाती है क्योंकि यह समान लेकिन थोड़े अलग मूल्यों के अनुक्रम थे। क्या यह एक बहुत ही ऑपरेटिंग सिस्टम पर एक जावा प्रोग्राम को निष्पादित करके बनाया गया एक सच्चा एन्ट्रोपी स्रोत है? एक समान रूप से वितरित यादृच्छिक संख्या जनरेटर नहीं है, लेकिन एक के लिए एन्ट्रापी स्रोत? भौतिक हार्डवेयर पर चलने वाले सॉफ़्टवेयर से बनाया गया एक एन्ट्रापी स्रोत जो सिर्फ एक पीसी होता है।
पूरक
यह पुष्टि करने के लिए कि प्रत्येक छवि सभी के लिए एक निश्चित पैटर्न के बिना ताजा एन्ट्रापी उत्पन्न करती है, लगातार 10 छवियां उत्पन्न हुई थीं। ये तब एकत्र किए गए थे और सबसे मजबूत अभिलेखागार के साथ संपीड़ित किया गया था जिसे मैं संकलित कर सकता हूं (paq8px)। यह प्रक्रिया सभी सामान्य डेटा को समाप्त कर देगी, जिसमें ऑटो सहसंबंध भी केवल परिवर्तन / एनट्रॉपी को छोड़ देगा।
संक्षिप्त फ़ाइल ~ 66% तक संपीड़ित होती है, जो ~ 5.3 बिट्स / बाइट या 10.5Mbit / छवि की एक एंट्रोपी दर की ओर ले जाती है। एक आश्चर्यजनक मात्रा में एन्ट्रापी
पूरक २
नकारात्मक टिप्पणियां आई हैं कि संपीड़न परीक्षण पद्धति से मेरी एन्ट्रापी त्रुटिपूर्ण है, केवल एक ढीले ऊपरी बाध्य अनुमान देता है। इसलिए मैं अब एनआईएएसटी की आधिकारिक क्रिप्टोग्राफिक एन्ट्रापी मूल्यांकन परीक्षण, SP800-90B_EntropyAssessment हालांकि समवर्ती फ़ाइल चला रहा हूं । यह उतना ही अच्छा है जितना कि गैर-आईआईडी एन्ट्रापी माप के लिए मिलता है। यह रिपोर्ट है (खेद है कि यह प्रश्न लंबा हो रहा है, लेकिन मुद्दा जटिल है): -
Running non-IID tests...
Entropic statistic estimates:
Most Common Value Estimate = 7.88411
Collision Test Estimate = 6.44961
Markov Test Estimate = 5.61735
Compression Test Estimate = 6.65691
t-Tuple Test Estimate = 7.40114
Longest Reapeated Substring Test Estimate = 8.00305
Predictor estimates:
Multi Most Common in Window (MultiMCW) Test: 100% complete
Correct: 3816
P_avg (global): 0.00397508
P_run (local): 0.00216675
Multi Most Common in Window (Multi MCW) Test = 7.9748
Lag
Test: 100% complete
Correct: 3974
P_avg (global): 0.00413607
P_run (local): 0.00216675
Lag Prediction Test = 7.91752
MultiMMC Test: 100% complete
Correct: 3913
P_avg (global): 0.00407383
P_run (local): 0.00216675
Multi Markov Model with Counting (MultiMMC) Prediction Test = 7.9394
LZ78Y Test: 99% complete
Correct: 3866
P_avg (global): 0.00402593
P_run (local): 0.00216675
LZ78Y Prediction Test = 7.95646
Min Entropy: 5.61735
परिणाम यह है कि एनआईएसटी का मानना है कि मैंने एन्ट्रापी के 5.6 बिट्स / बाइट उत्पन्न किए हैं। मेरा DIY संपीड़न अनुमान 5.3 बिट्स / बाइट पर लगाता है, थोड़ा अधिक रूढ़िवादी।
-> सबूत इस धारणा का समर्थन करते हैं कि एक कंप्यूटर जो केवल सॉफ्टवेयर चला रहा है, वास्तविक एंट्रॉपी उत्पन्न कर सकता है। और वह वॉन न्यूमैन गलत था (लेकिन शायद अपने समय के लिए सही था)।
मैं निम्नलिखित संदर्भ प्रस्तुत करता हूं जो मेरे दावे का समर्थन कर सकते हैं: -
क्या कार्यक्रम निष्पादन की दर में गैर-नियतात्मकता के कोई स्टोकेस्टिक मॉडल हैं?
संभावित वास्तविक समय प्रणालियों के WCET विश्लेषण
क्या कोई सॉफ्टवेयर एल्गोरिदम है जो एक गैर-नियतात्मक अराजकता पैटर्न उत्पन्न कर सकता है? और अराजक प्रभावों की प्रासंगिकता।
क्वांटम एन्ट्रापिक अनिश्चितता सिद्धांत के साथ समानताएं
अलेक्सी शिपिलव के ब्लॉग में नैनो टाइम () के अराजक व्यवहार के बारे में बताया गया है। उसका बिखराव कथानक मेरे प्रति असहमति नहीं है।
System.nanoTime()
।