मुझे पता है कि यह पद लगभग 4 साल पुराना है, लेकिन मैं एक शौक़ीन क्रिप्टोकरंसी हूं, और कार्ड सिफर खेल रहा हूं । परिणामस्वरूप, मैं इस पोस्ट पर बार-बार डेक के फेरबदल के रूप में व्याख्या करने के लिए आया हूं ताकि डेक को बेतरतीब ढंग से कीपिंग के लिए एन्ट्रॉपी के स्रोत के रूप में समझा जा सके। अंत में, मैंने हाथ से डेक को फेरबदल करके और प्रत्येक फेरबदल के बाद डेक एन्ट्रापी का आकलन करके स्टैच्यारा द्वारा उत्तर को सत्यापित करने का निर्णय लिया।
डेक एंट्री को अधिकतम करने के लिए TL, DR:
- केवल राइफल फेरबदल के लिए, आपको 11-12 फेरबदल चाहिए।
- डेक को काटने के लिए पहले शिफिंग को रफ करें, इसके लिए आपको केवल 6-7 कट-एंड-शफल्स की आवश्यकता होती है।
सबसे पहले, शैनन एन्ट्रॉपी की गणना के लिए स्टैच्य्रा का उल्लेख किया गया सब कुछ सही है। इसे इस तरह उबाला जा सकता है:
- संख्यात्मक रूप से डेक में 52 कार्डों में से प्रत्येक के लिए एक अद्वितीय मूल्य असाइन करें।
- डेक को फेरबदल करें।
- N = 0 से n = 51 के लिए, (n - (n + 1) mod 52) mod 52 का प्रत्येक मान रिकॉर्ड करें
- 0, 1, 2, ..., 49, 50, 51 की घटनाओं की संख्या की गणना करें
- 52 से प्रत्येक को विभाजित करके उन रिकॉर्डों को सामान्य करें
- I = 1 से i = 52 के लिए, गणना -p_i * लॉग (p_i) / लॉग (2)
- मान बढ़ाओ
जहां स्टैच्य्रा एक सूक्ष्म धारणा बनाता है, वह यह है कि कंप्यूटर प्रोग्राम में मानव फेरबदल को लागू करने के लिए कुछ सामान के साथ आने वाला है। पेपर-आधारित प्लेइंग कार्ड के साथ, जैसा कि वे उपयोग करते हैं, आपके हाथों से तेल कार्ड में स्थानांतरित होता है। एक विस्तारित समय में, तेल के निर्माण के कारण, कार्ड एक साथ चिपकना शुरू हो जाएंगे, और यह आपके फेरबदल में समाप्त हो जाएगा। अधिक भारी डेक का उपयोग किया जाता है, अधिक संभावना है कि दो या अधिक आसन्न कार्ड एक साथ चिपकेंगे, और अधिक बार ऐसा होगा।
इसके अलावा, माना जाता है कि दो क्लब और जैक के दिल एक साथ हैं। वे आपके फेरबदल की अवधि के लिए एक साथ अटक सकते हैं, कभी अलग नहीं हो सकते। यह एक कंप्यूटर प्रोग्राम में नकल किया जा सकता है, लेकिन स्टैच्य्रा के आर रूटीन के साथ ऐसा नहीं है।
इसके अलावा, स्टैच्यारा में हेरफेर चर "मिक्सप्रोब" है। इस चर को पूरी तरह से समझने के बिना, यह एक ब्लैक बॉक्स का एक छोटा सा है। आप परिणामों को प्रभावित करते हुए इसे गलत तरीके से सेट कर सकते हैं। इसलिए, मैं यह सुनिश्चित करना चाहता था कि उनका अंतर्ज्ञान सही था। इसलिए मैंने इसे हाथ से सत्यापित किया।
मैंने हाथ से 20 बार डेक को दो अलग-अलग उदाहरणों (40 कुल फेरबदल) में फेरबदल किया। पहले उदाहरण में, मैंने सिर्फ दाएं और बाएं कट को समीप रखते हुए, फेरबदल किया है। दूसरे उदाहरण में, मैंने राइफल फेरबदल के लिए एक समान कटौती करने से पहले डेक को जानबूझकर डेक (1/3, 2/5, 1/4, आदि) के बीच से दूर कर दिया। दूसरे उदाहरण में मेरी आंत महसूस कर रही थी कि फेरबदल से पहले डेक को काटने से, और बीच से दूर रहने से, मैं स्टॉक राइफल फेरबदल की तुलना में अधिक तेजी से डेक में प्रसार का परिचय दे सकता था।
यहाँ परिणाम हैं। सबसे पहले, सीधे राइफल फेरबदल:
और यहाँ राइफल फेरबदल के साथ संयुक्त डेक काट रहा है:
ऐसा लगता है कि स्ट्रोयरा द्वारा लगभग 1/2 में दावे के समय में एन्ट्रापी को अधिकतम किया जाता है। इसके अलावा, मेरा अंतर्ज्ञान सही था कि डेक को जानबूझकर बीच में पहले से काट दिया गया था, इससे पहले कि राइफल फेरबदल ने डेक में अधिक प्रसार शुरू किया। हालांकि, लगभग 5 फेरबदल के बाद, यह वास्तव में ज्यादा मायने नहीं रखता था। आप देख सकते हैं कि लगभग 6-7 फेरबदल के बाद, एन्ट्रापी को अधिकतम किया जाता है, बनाम 10-12 के रूप में दावे ने मेरा स्टैच्रा बनाया। क्या यह संभव हो सकता है कि 7 फेरबदल पर्याप्त हैं, या क्या मुझे अंधा कर दिया जा रहा है?
आप मेरा डेटा Google शीट्स पर देख सकते हैं । यह संभव है कि मैंने एक प्लेइंग कार्ड या दो गलत दर्ज किए, इसलिए मैं डेटा के साथ 100% सटीकता की गारंटी नहीं दे सकता।
यह महत्वपूर्ण है कि आपके निष्कर्ष भी स्वतंत्र रूप से सत्यापित हों। हार्वर्ड विश्वविद्यालय में गणित विभाग के ब्रैड मान ने अध्ययन किया कि डेक में किसी भी कार्ड की पूर्वानुमेयता पूरी तरह से अप्रत्याशित होने से पहले कार्ड के डेक को फेरबदल करने में कितनी बार लगेगा (शैनन एन्ट्रोपी अधिकतम है)। उसका परिणाम इस 33-पृष्ठ पीडीएफ में पाया जा सकता है ।
उनके निष्कर्षों के साथ जो दिलचस्प है, वह यह है कि वह वास्तव में Persi Diaconis द्वारा 1990 के न्यूयॉर्क टाइम्स के लेख की स्वतंत्र रूप से पुष्टि कर रहे हैं, जो दावा करते हैं कि 7 फेरबदल राइफल फेरबदल के माध्यम से ताश के पत्तों के डेक को अच्छी तरह से मिलाने के लिए पर्याप्त हैं।
ब्रैड मान फेरफिंग में कुछ अलग गणितीय मॉडल के माध्यम से चलता है, जिसमें मार्कोव चेन भी शामिल है, और निम्नलिखित निष्कर्ष पर आते हैं:
यह n = 52 के लिए लगभग 11.7 है, जिसका अर्थ है कि, इस दृष्टिकोण के अनुसार, हम कार्ड के एक वास्तविक डेक को यादृच्छिक बनाने के लिए औसत 11 या 12 फेरबदल की उम्मीद करते हैं। ध्यान दें कि यह 7 से काफी बड़ा है।
ब्रैड मान ने केवल स्वतंत्र रूप से स्टैचरी के परिणाम का सत्यापन किया, और मेरा नहीं। इसलिए, मैंने अपने डेटा को करीब से देखा, और मुझे पता चला कि 7 फेरबदल पर्याप्त नहीं हैं। सबसे पहले, डेक में किसी भी कार्ड के लिए बिट्स में सैद्धांतिक अधिकतम शैनन एंट्रोपी लॉग (52) / लॉग (2) ~ = 5.7 बिट्स है। लेकिन मेरा डेटा कभी भी 5 बिट्स से अधिक नहीं टूटता है। जिज्ञासु, मैंने पायथन में 52 तत्वों की एक सरणी बनाई, उस सरणी को बदल दिया:
>>> import random
>>> r = random.SystemRandom()
>>> d = [x for x in xrange(1,52)]
>>> r.shuffle(d)
>>> print d
[20, 51, 42, 44, 16, 5, 18, 27, 8, 24, 23, 13, 6, 22, 19, 45, 40, 30, 10, 15, 25, 37, 52, 34, 12, 46, 48, 3, 26, 4, 1, 38, 32, 14, 43, 7, 31, 50, 47, 41, 29, 36, 39, 49, 28, 21, 2, 33, 35, 9, 17, 11]
इसकी एन्ट्रापी-प्रति-कार्ड पैदावार की गणना लगभग 4.8 बिट्स करती है। एक दर्जन बार ऐसा करना या ऐसा ही परिणाम 5.2 बिट्स और 4.6 बिट्स के बीच भिन्नता दिखाता है, औसत के रूप में 4.8 से 4.9। इसलिए मेरे डेटा के कच्चे एन्ट्रापी मूल्य को देखने के लिए पर्याप्त नहीं है, अन्यथा मैं इसे 5 फेरबदल में अच्छा कह सकता था।
जब मैं अपने डेटा को करीब से देखता हूं, तो मैंने "शून्य बाल्टियों" की संख्या पर ध्यान दिया। ये वो बकेट हैं जहां उस नंबर के कार्ड चेहरे के बीच डेल्टास के लिए कोई डेटा नहीं है। उदाहरण के लिए, दो आसन्न कार्डों के मूल्य को घटाते समय, सभी 52 डेल्टास की गणना के बाद "15" परिणाम नहीं होता है।
मैं देखता हूं कि यह अंततः लगभग 11-12 फेरबदल के आसपास 17-18 "शून्य बाल्टियां" बसाता है। निश्चित रूप से, पायथन औसत 17-18 "शून्य बाल्टियों" के माध्यम से मेरा फेरबदल डेक, 21 की ऊँचाई के साथ और 14. 14. कम 17-18 का परिणाम क्यों है, मैं समझा नहीं सकता ... अभी तक। लेकिन, ऐसा प्रतीत होता है कि मैं दोनों ~ 4.8 बिट्स ऑफ एन्ट्रोपी और 17 "जीरो बकेट" चाहता हूं।
मेरे स्टॉक में फेरबदल के साथ, यह 11-12 फेरबदल है। मेरे कट-एंड-शफल के साथ, यह 6-7 है। इसलिए, जब खेलों की बात आती है, तो मैं कट-एंड-शफल्स की सिफारिश करूंगा। न केवल यह गारंटी देता है कि शीर्ष और नीचे के कार्ड प्रत्येक फेरबदल में डेक में मिश्रित हो रहे हैं, यह 11-12 फेरबदल की तुलना में सिर्फ सादा तेज है। मैं आपके बारे में नहीं जानता, लेकिन जब मैं अपने परिवार और दोस्तों के साथ कार्ड गेम खेल रहा हूं, तो वे मेरे लिए पर्याप्त नहीं हैं कि मैं 12 राइफल रफल्स कर सकूं।