इनपुट
एक मैट्रिक्स Mको पूर्णांक के दो अंतरिक्ष अलग लाइनों के रूप में दर्शाया गया है। प्रत्येक पंक्ति पूर्णांकों का एक ही नंबर प्रति पंक्ति पूर्णांकों की संख्या हो अधिक से अधिक 20 होगा और प्रत्येक पूर्णांक या तो हो जाएगा -1 या 1. Mइसलिए हो जाएगा 2द्वारा nजहां nदो पंक्तियों में से प्रत्येक पर पूर्णांकों की संख्या है।
आपका कोड एक पूर्ण कार्यक्रम होना चाहिए। और इनपुट को मानक में या फ़ाइल से स्वीकार करें (यह आपकी पसंद है)। आप फ़ाइल से या बस एक पैरामीटर के रूप में मानक से इनपुट स्वीकार कर सकते हैं। हालांकि, यदि आप बाद में करते हैं, तो कृपया एक स्पष्ट उदाहरण दें कि आपके कोड को कैसे काम करना चाहिए और याद रखना चाहिए कि यह एक पूर्ण कार्यक्रम होना चाहिए और Mइनपुट में मैट्रिक्स का प्रतिनिधित्व कैसे किया जाएगा। दूसरे शब्दों में, आपको कुछ पार्स करने की संभावना है।
उत्पादन
द्विआधारी शैनन एन्ट्रापी के वितरण की M*xजहां के तत्वों xसमान रूप से और स्वतंत्र रूप से {-1,1} से चुना जाता है। xएक nआयामी स्तंभ वेक्टर है।
असतत संभाव्यता वितरण की एन्ट्रॉपी है
- sum p_i log_2(p_i)
इस मामले में, वें p_iकी संभावना iअद्वितीय है M*x।
उदाहरण और सहायक संकेत
काम किए गए उदाहरण के रूप में, मैट्रिक्स को Mहोने दें
-1 1
-1 -1
अब सभी 2^2अलग-अलग संभावित वैक्टरों को देखें x। प्रत्येक के लिए हम M*xएक सरणी (2-घटक वैक्टर के 4-तत्व सरणी) में सभी परिणामों की गणना करते हैं और डालते हैं। हालांकि 4 में से प्रत्येक वैक्टर के लिए इसके होने की संभावना है 1/2^2 = 1/4, हम केवल प्रत्येक अद्वितीय परिणामी वेक्टर के M*xहोने की संख्या में रुचि रखते हैं , और इसलिए हम उसी अद्वितीय वैक्टर के लिए अग्रणी कॉन्फ़िगरेशन की व्यक्तिगत संभावनाओं को जोड़ते हैं। दूसरे शब्दों में, संभव अद्वितीय M*xवैक्टर वितरण के परिणामों का वर्णन करते हैं जिनकी हम जांच कर रहे हैं, और हमें इन परिणामों में से प्रत्येक की संभावना (जो कि, निर्माण द्वारा, हमेशा एक पूर्णांक के कई 1/2^2, या 1/2^nसामान्य रूप से) निर्धारित करना होगा। एन्ट्रापी की गणना करें।
सामान्य तौर पर nमामला है, पर निर्भर करता है Mके संभावित परिणामों M*xसे "सभी विभिन्न" कर सकते हैं रेंज (इस मामले हमारे पास में nके मूल्यों iमें p_i, और प्रत्येक p_iके बराबर है 1/2^n), (इस मामले में नहीं है एक भी संभव "एक ही सभी के लिए" परिणाम, और p_1 = 1)।
विशेष रूप से, उपरोक्त 2x2मैट्रिक्स के लिए Mहम इसे चार संभव कॉन्फ़िगरेशन ( [+-1; +-1]) के साथ गुणा करके पा सकते हैं , कि प्रत्येक परिणामी वेक्टर अलग है। तो इस मामले में चार परिणाम हैं, और परिणामस्वरूप p_1 = p_2 = p_3 = p_4 = 1/2^2 = 1/4। याद है कि log_2(1/4) = -2हमारे पास है:
- sum p_i log_2(p_i) = -(4*(-2)/4) = 2
तो इस मैट्रिक्स के लिए अंतिम आउटपुट 2 है।
परीक्षण के मामलों
इनपुट:
-1 -1
-1 -1
आउटपुट:
1.5
इनपुट:
-1 -1 -1 -1
-1 -1 -1 -1
आउटपुट:
2.03063906223
इनपुट:
-1 -1 -1 1
1 -1 -1 -1
आउटपुट:
3
x? 2. प्रश्न को स्व-निहित बनाने के हितों में, द्विआधारी शैनन को कैसेMxपरिभाषित किया गया है?