यूनरी कोडिंग

From Vigyanwiki

यूनरी कोडिंग,[nb 1] या यूनरी अंक प्रणाली और जिसे कभी-कभी ज्वरमापी कोड भी कहा जाता है, एक एन्ट्रापी एन्कोडिंग जो एक प्राकृतिक संख्या, n का प्रतिनिधित्व करती है, विस्तार कोड n + 1 (या n) के साथ, सामान्यतः n के बाद एक शून्य (यदि प्राकृतिक संख्या को गैर-ऋणात्मक पूर्णांक के रूप में समझा जाता है) या n − 1 के बाद शून्य (यदि प्राकृतिक संख्या को सख्ती से सकारात्मक पूर्णांक के रूप में समझा जाता है)।उदाहरण के लिए 5 को 111110 या 11110 के रूप में दर्शाया गया है। कुछ निरूपण में n या n - 1 शून्य के बाद एक का उपयोग किया जाता है। इकाई और शून्य व्यापकता की हानि के बिना विनिमेय होता हैं। यूनरी कोडिंग एक उपसर्ग-मुक्त कोड और एक स्व- तुल्यकालन संकेत कोड दोनों होते है।

n (गैर-नकारात्मक) n ( केवल सकारात्मक) यूनरी कोड विकल्प
0 1 0 1
1 2 10 01
2 3 110 001
3 4 1110 0001
4 5 11110 00001
5 6 111110 000001
6 7 1111110 0000001
7 8 11111110 00000001
8 9 111111110 000000001
9 10 1111111110 0000000001

निम्नलिखित असतत संभाव्यता वितरण के लिए यूनरी कोडिंग एक इष्टतम रूप से सक्षम एन्कोडिंग होते है

के लिए .

प्रतीक-दर-प्रतीक कोडिंग में, यह किसी भी ज्यामितीय वितरण के लिए इष्टतम होते है

जिसके लिए k ≥ φ = 1.61803398879…, बहुमुल्य अनुपात, या, अधिक सामान्यतः, किसी भी असतत वितरण के लिए होते है

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

यूनरी कोड आज उपयोग में है

यूनरी कोड उपयोग के उदाहरणों में सम्मलित हैं:

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

जैविक नेटवर्क में यूनरी कोडिंग

पक्षियों के गायन के उत्पादन के लिए जिम्मेदार तंत्रिका परिपथ में यूनरी कोडिंग का उपयोग किया जाता है।[1][2] गीतकार पक्षियों के मस्तिष्क में केंद्रक जो पक्षी गीत सीखने और उत्पादन दोनों में भूमिका निभाता है, वह एचवीसी (उच्च स्वर केंद्र) है। पक्षियों के गायन में विभिन्न स्वरों के लिए कमांड सिग्नल एचवीसी में विभिन्न बिंदुओं से निकलते हैं। यह कोडिंग स्पेस संकेतीकरण के रूप में काम करती है जो अपनी अंतर्निहित सादगी और मजबूती के कारण जैविक परिपथ के लिए एक सक्षम योजना होती है।

मानक रन-लंबाई यूनरी कोड

सभी बाइनरी डेटा को 1s और 0s की वैकल्पिक रन-लंबाई में एकात्मक संख्याओं का प्रतिनिधित्व करने की क्षमता द्वारा परिभाषित किया गया है। यह यूनरी की मानक परिभाषा के अनुरूप है यानी समान संख्या 1 या 0 के एन अंक। परिभाषा के अनुसार सभी गति-विस्तार में कम से कम एक अंक होता है और इस प्रकार सख्ती से सकारात्मक पूर्णांक का प्रतिनिधित्व करता है।

n आरएल कोड अगला कोड
1 1 0
2 11 00
3 111 000
4 1111 0000
5 11111 00000
6 111111 000000
7 1111111 0000000
8 11111111 00000000
9 111111111 000000000
10 1111111111 0000000000
...

इन कोडों को डेटा की किसी भी लम्बाई मे (मनमाना डेटा पढ़ते समय) पर वैध रूप से समाप्त होने की गारंटी देते हैं और (अलग) लेखन चक्र में समग्र रूप से बनाए रखते हुए एक अतिरिक्त बिट (पहले बिट के लिए उपयोग किया जाने वाला) के उपयोग और संचरण की अनुमति देते हैं।

औऔर प्रति-पूर्णांक यूनरी कोड की लंबाई बिल्कुल N होती है।

विशिष्ट रूप से डिकोड करने योग्य गैर-उपसर्ग यूनरी कोड

निम्नलिखित विशिष्ट रूप से डिकोड करने योग्य कोड यूनरी का एक उदाहरण है जो एक उपसर्ग कोड नहीं है और तुरंत डिकोड करने योग्य नहीं होता है (डीकोड करने के लिए आगे देखने की आवश्यकता होती है))

n यूनरी कोड वैकल्पिक
1 1 0
2 10 01
3 100 011
4 1000 0111
5 10000 01111
6 100000 011111
7 1000000 0111111
8 10000000 01111111
9 100000000 011111111
10 1000000000 0111111111
...

ये कोड भी (अहस्ताक्षरित पूर्णांक लिखते समय) एक अतिरिक्त बिट (पहले बिट के लिए उपयोग किया जाने वाला) के उपयोग और ट्रांसमिशन की अनुमति देते हैं। इस प्रकार वे डेटा के m*N बिट्स के भीतर 'm' पूर्णांक * N यूनरी बिट्स और 1 अतिरिक्त बिट जानकारी संचारित करने में सक्षम होते हैं।

सममित यूनरी कोड

यूनरी कोड का निम्नलिखित समुच्चय सममित होते है और इसे किसी भी दिशा में पढ़ा जा सकता है। यह किसी भी दिशा में तुरंत डिकोड करने योग्य भी होते है।

n ( केवल सकारात्मक)) यूनरी कोड वैकल्पिक n (गैर-नकारात्मक)
1 1 0 0
2 00 11 1
3 010 101 2
4 0110 1001 3
5 01110 10001 4
6 011110 100001 5
7 0111110 1000001 6
8 01111110 10000001 7
9 011111110 100000001 8
10 0111111110 1000000001 9
...


कैनोनिकल यूनरी कोड

यूनरी मानों के लिए जहां अधिकतम ज्ञात है, कोई कैनोनिकल यूनरी कोड का उपयोग कर सकताऔर प्रत्येक चरण के लिए अंकों की अधिकतम संख्या, अंकों की संख्या को एक से कम करना और परिणाम को संख्यात्मक '1' से बढ़ाना/घटाना होता है।

n यूनरी कोड वैकल्पिक
1 1 0
2 01 10
3 001 110
4 0001 1110
5 00001 11110
6 000001 111110
7 0000001 1111110
8 00000001 11111110
9 000000001 111111110
10 0000000000 1111111111

कैनोनिकल कोड को को डिकोड करने के लिए कम प्रसंस्करण समय की आवश्यकता होती है जब उन्हें संख्याओं के रूप में संसाधित किया जाता है, स्ट्रिंग के रूप में नहीं। यदि प्रति प्रतीक लंबाई के लिए आवश्यक कोड की संख्या 1 से भिन्न है, यानी कुछ लंबाई के अधिक गैर-यूनरी कोड आवश्यक हैं, तो उस स्थिति में लंबाई को कम किए बिना संख्यात्मक रूप से मानों को बढ़ाकर/घटाकर प्राप्त किया जाता है।

सामान्यीकृत यूनरी कोडिंग

मानक यूनरी कोडिंग की तुलना में संख्याओं को अधिक सक्षमता से दर्शाने के लिए सुभाष काक द्वारा यूनरी कोडिंग का एक सामान्यीकृत संस्करण प्रस्तुत किया गया था।[3]यहां 0 से 15 तक पूर्णांकों के लिए सामान्यीकृत यूनरी कोडिंग का एक उदाहरण दिया गया है जिसके लिए केवल 7 बिट्स की आवश्यकता होती है (जहां संख्या दिखाने के लिए मानक यूनरी में एक के स्थान पर तीन बिट्स को यादृच्छिक रूप से चुना जाता है)। ध्यान दें कि प्रतिनिधित्व चक्रीय है जहां कोई उच्च चक्रों में उच्च पूर्णांकों का प्रतिनिधित्व करने के लिए मार्करों का उपयोग करता है।

n यूनरी कोड सामान्यीकृत यूनरी
0 0 0000000
1 10 0000111
2 110 0001110
3 1110 0011100
4 11110 0111000
5 111110 1110000
6 1111110 0010111
7 11111110 0101110
8 111111110 1011100
9 1111111110 0111001
10 11111111110 1110010
11 111111111110 0100111
12 1111111111110 1001110
13 11111111111110 0011101
14 111111111111110 0111010
15 1111111111111110 1110100

सामान्यीकृत यूनरी कोडिंग के लिए आवश्यक है कि प्रदर्शित की जाने वाली संख्याओं की श्रेणी पूर्व-निर्दिष्ट हो क्योंकि यह सीमा आवश्यक बिट्स की संख्या निर्धारित करती है।

यह भी देखें

  • एकात्मक अंक प्रणाली

टिप्पणियाँ

  1. The equivalent to the term "unary coding" in German scientific literature is "BCD-Zählcode", which would translate into "binary-coded decimal counting code". This must not be confused with the similar German term "BCD-Code" translating to BCD code in English.


संदर्भ

  1. Fiete, I. R.; Seung, H. S. (2007). "Neural network models of birdsong production, learning, and coding". In Squire, L.; Albright, T.; Bloom, F.; Gage, F.; Spitzer, N. (eds.). New Encyclopedia of Neuroscience. Elsevier.
  2. Moore, J. M.; et al. (2011). "Motor pathway convergence predicts syllable repertoire size in oscine birds". Proc. Natl. Acad. Sci. USA. 108 (39): 16440–16445. Bibcode:2011PNAS..10816440M. doi:10.1073/pnas.1102077108. PMC 3182746. PMID 21918109.
  3. Kak, S. (2015). "Generalized unary coding". Circuits, Systems and Signal Processing. 35 (4): 1419–1426. doi:10.1007/s00034-015-0120-7. S2CID 27902257.