कौमा कोड: Difference between revisions

From Vigyanwiki
(Created page with "अल्पविराम कोड एक प्रकार का उपसर्ग-मुक्त कोड है जिसमें अल्पविराम,...")
 
(text)
Line 1: Line 1:
अल्पविराम कोड एक प्रकार का [[उपसर्ग-मुक्त कोड]] है जिसमें अल्पविराम, एक विशेष प्रतीक या प्रतीकों का क्रम, एक कोड शब्द के अंत में होता है और अन्यथा कभी नहीं होता है।<ref name="Wade1994">{{cite book |last=Wade |first=Graham |title=सिग्नल कोडिंग और प्रोसेसिंग|url=https://books.google.com/books?id=CJswCy7_W8YC&pg=PA56 |date=8 September 1994 |publisher=Cambridge University Press |isbn=978-0-521-42336-6 |page=56}}</ref> यह सरणियों को व्यक्त करने का एक सहज तरीका है।
कौमा कोड एक प्रकार का [[उपसर्ग-मुक्त कोड]] है जिसमें कौमा, एक विशेष प्रतीक या प्रतीकों का क्रम, एक कोड शब्द के अंत में होता है और अन्यथा कभी नहीं होता है। <ref name="Wade1994">{{cite book |last=Wade |first=Graham |title=सिग्नल कोडिंग और प्रोसेसिंग|url=https://books.google.com/books?id=CJswCy7_W8YC&pg=PA56 |date=8 September 1994 |publisher=Cambridge University Press |isbn=978-0-521-42336-6 |page=56}}</ref> यह सरणियों को व्यक्त करने का एक सहज तरीका है।


उदाहरण के लिए, [[फाइबोनैचि कोडिंग]] एक अल्पविराम कोड है जिसमें अल्पविराम होता है <code>11</code>.  <code>11</code> और <code>1011</code> वैध फाइबोनैचि कोड शब्द हैं, लेकिन <code>101</code>, <code>0111</code>, और <code>11011</code> नहीं हैं।
उदाहरण के लिए, [[फाइबोनैचि कोडिंग]] एक कौमा कोड है जिसमें कौमा <code>11</code>.  <code>11</code> होता है  और <code>1011</code> वैध फाइबोनैचि कोड शब्द हैं, लेकिन <code>101</code>, <code>0111</code>, और <code>11011</code> नहीं हैं।


== उदाहरण ==
== उदाहरण ==
* [[यूनरी कोडिंग]], जिसमें अल्पविराम होता है <code>0</code>. यह NULL मानों की अनुमति देता है (जब कोड और अल्पविराम एकल हो <code>0</code>, मान को NULL या 0) के रूप में लिया जा सकता है।
* [[यूनरी कोडिंग]], जिसमें कौमा <code>0</code> होता है। यह शून्य मानों की अनुमति देता है (जब कोड और कौमा एकल <code>0</code> हो, मान को शून्य या 0) के रूप में लिया जा सकता है।
*फाइबोनैचि कोडिंग, जिसमें अल्पविराम होता है <code>11</code>.
*फाइबोनैचि कोडिंग, जिसमें कौमा <code>11</code> होता है।
* सभी [[हफ़मैन कोडिंग]] को a जोड़कर अल्पविराम कोड में परिवर्तित किया जा सकता है <code>1</code> पूरे कोड के लिए और एक का उपयोग करके <code>0</code> एक कोड और अल्पविराम के रूप में.
* सभी [[हफ़मैन कोडिंग]] सभी हफ़मैन कोड को पूरे कोड में <code>1</code> जोड़कर और कोड और अल्पविराम के रूप में एकल <code>0</code> का उपयोग करके अल्पविराम कोड में परिवर्तित किया जा सकता है।


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
!Symbol
!प्रतीक
!Code
!कोड
!Comma Code
!कौमा कोड
|-
|-
|Comma
|कौमा
| - (N/A)
| - (एन/)
|0
|0
|-
|-
Line 33: Line 33:
|111
|111
|}
|}
शब्द की परिभाषा अल्पविराम में समाप्त होने वाले कई प्रतीकों से होती है, जो एक स्पेस (विराम चिह्न) वर्ण के बराबर है।
शब्द की परिभाषा कौमा में समाप्त होने वाले कई प्रतीकों से होती है, जो एक स्पेस (विराम चिह्न) वर्ण के बराबर है।
* सभी डेटा स्वयंसिद्ध में 50% अल्पविराम - सभी निहित डेटा विशेष रूप से परिवर्तनीय लंबाई विशेषण डेटा को बिल्कुल 50% अल्पविराम से युक्त दिखाया जा सकता है।
* सभी डेटा स्वयंसिद्ध में 50% कौमा - सभी निहित डेटा विशेष रूप से परिवर्तनीय लंबाई विशेषण डेटा को बिल्कुल 50% कौमा से युक्त दिखाया जा सकता है।


सभी क्रमबद्ध डेटा या उपयुक्त रूप से क्यूरेटेड समान-लंबाई डेटा तथाकथित [[निहित संभावना]] प्रदर्शित करते हैं।
सभी क्रमबद्ध डेटा या उपयुक्त रूप से क्यूरेटेड समान-लंबाई डेटा तथाकथित निहित संभावना प्रदर्शित करते हैं।


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


इसे रैंडम वॉक तकनीकों और सांख्यिकीय योग द्वारा देखा जा सकता है कि सभी सामान्य डेटा में औसतन 2 बिट्स का हेडर या अल्पविराम होता है और अतिरिक्त 2 बिट्स (न्यूनतम 1) का डेटा होता है।
इसे रैंडम वॉक तकनीकों और सांख्यिकीय योग द्वारा देखा जा सकता है कि सभी सामान्य डेटा में औसतन 2 बिट्स का हेडर या कौमा होता है और अतिरिक्त 2 बिट्स (न्यूनतम 1) का डेटा होता है।


यह बेस-3 या बेस-5 संचार चैनलों जैसे गैर-बाइनरी संचार चैनलों में ट्रांसमिशन से पहले एक सस्ते आधार वृद्धि एल्गोरिदम की भी अनुमति देता है।
यह बेस-3 या बेस-5 संचार चैनलों जैसे गैर-बाइनरी कम्युनिकेशन चैनलों में ट्रांसमिशन से पहले एक सस्ते आधार वृद्धि एल्गोरिदम की भी अनुमति देता है।
{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
!n
!n
!RL code
!आरएल कोड
!Next code
!नेक्स्ट कोड
!Bijective data (non-NULL)
!विशेषणात्मक डेटा (गैर-शून्य)
!Commas
!कौमा
|-
|-
|1
|1
Line 112: Line 112:
| colspan="5" |...
| colspan="5" |...
|}
|}
कहाँ '?' विशेषण अंक के मान के लिए '1' या '2' है जिसके लिए आगे किसी प्रक्रिया की आवश्यकता नहीं है।
जहाँ '?' विशेषण अंक के मान के लिए '1' या '2' है जिसके लिए आगे किसी प्रक्रिया की आवश्यकता नहीं है।
 
निस्सन्देह हम डेटा के प्रत्येक क्षेत्र को अलग करने के लिए एक एकल कौमा का उपयोग करते हैं, इसलिए यह दर्शाता है कि सभी डेटा में 50% कौमा होते हैं। यह हफमैन बेस 3 कोड में 0 कोड के लिए 50% की निहित संभावना से काफी स्पष्ट है: <code>0</code>,<code>10</code>,<code>11</code> (शुद्ध 2/3 या 66.66% कौमा) या ऊपर दिखाया गया आधार-5 कौमा कोड स्पष्ट है। उच्च आधार संचार के लागत-प्रति-वर्ण भागफल को लघुगणकीय मानों <math display="inline">\frac{log(base)}{log(2)}</math>के निकट बनाए रखना होता है और लागत प्रभावशीलता बनाए रखने के लिए अल्पविराम वर्ण के लिए 2-बिट से कम होना चाहिए।।


बेशक हम डेटा के प्रत्येक क्षेत्र को अलग करने के लिए एक एकल अल्पविराम का उपयोग करते हैं, इसलिए यह दर्शाता है कि सभी डेटा में 50% अल्पविराम होते हैं। यह 50% की निहित संभावना से काफी स्पष्ट है <code>0</code> हफ़मैन बेस 3 कोड में कोड: <code>0</code>,<code>10</code>,<code>11</code> (शुद्ध 2/3 या 66.66% अल्पविराम) या ऊपर दिखाया गया आधार-5 अल्पविराम कोड। उच्च आधार संचार के लागत-प्रति-वर्ण भागफल को लघुगणकीय मानों के निकट बनाए रखना होता है <math display="inline">\frac{log(base)}{log(2)}</math>लागत प्रभावशीलता बनाए रखने के लिए डेटा के लिए और अल्पविराम चरित्र के लिए 2-बिट से कम।
इस पद्धति में प्रत्येक '0' (कौमा) के बाद '1' या '2' का आश्वासन होता है और ट्रांसमिशन में समय संबंधी चिंताओं को अभिकल्पना करते समय यह विशेषता उपयोगी हो सकती है। ज्ञात बाइनरी मान को टर्नरी में परिवर्तित करना कुछ हद तक महंगा हो सकता है जब तक कि टर्नरी बिट लागत को बाइनरी बिट लागत के समान कम नहीं किया जाता है, इसलिए यदि लागत सहमत होती है तो इस बिट को एक अलग बाइनरी चैनल में मल्टीप्लेक्स किया जा सकता है (इसके लिए अतिरिक्त पढ़ने की आवश्यकता हो सकती है) बाइनरी चैनल के लिए 2-बिट शुद्ध डेटा का टेल'/अनुगामी भाग (पहले परिवर्तन के पहले बिट के बाद से क्योंकि यह तुरंत-डिकोड करने योग्य कोड नहीं है, अगर तुरंत डिकोड करने योग्य यूनरी कोड का उपयोग किया जाए तो इसे पढ़ें) के समान होना चाहिए प्राथमिक चैनल पर 2 औसत टर्नरी बिट शेष हैं, लागत तुलना से पहले <math display="inline">2*\frac{log(3)}{log(2)}=3.17</math> बिट्स को ध्यान में रखा जाता है)।


इस पद्धति में प्रत्येक '0' (अल्पविराम) के बाद '1' या '2' का आश्वासन होता है और ट्रांसमिशन में समय संबंधी चिंताओं को डिजाइन करते समय यह संपत्ति उपयोगी हो सकती है। ज्ञात बाइनरी मान को टर्नरी में परिवर्तित करना कुछ हद तक महंगा हो सकता है जब तक कि टर्नरी बिट लागत को बाइनरी बिट लागत के समान कम नहीं किया जाता है, इसलिए यदि लागत सहमत होती है तो इस बिट को एक अलग बाइनरी चैनल में मल्टीप्लेक्स किया जा सकता है (इसके लिए अतिरिक्त पढ़ने की आवश्यकता हो सकती है) बाइनरी चैनल के लिए 2-बिट शुद्ध डेटा का टेल'/अनुगामी भाग (पहले परिवर्तन के पहले बिट के बाद से क्योंकि यह तुरंत-डिकोड करने योग्य कोड नहीं है, अगर तुरंत डिकोड करने योग्य यूनरी कोड का उपयोग किया जाए तो इसे पढ़ें) के समान होना चाहिए प्राथमिक चैनल पर 2 औसत टर्नरी बिट शेष हैं <math display="inline">2*\frac{log(3)}{log(2)}=3.17</math> लागत तुलना से पहले बिट्स को ध्यान में रखा जाता है)।
मल्टीप्लेक्सिंग पर विचार न करते हुए, इस पद्धति में 4 बाइनरी बिट्स या 1.33 बिट्स या <math display="inline">\frac{4/3}\frac{log(3)}{log(2)}=84.12%</math> की रीड के लिए 3 टर्नरी अंकों की रीड दक्षता है।


मल्टीप्लेक्सिंग पर विचार न करते हुए, इस पद्धति में 4 बाइनरी बिट्स या 1.33 बिट्स की रीड के लिए 3 टर्नरी अंकों की रीड दक्षता है। या <math display="inline">\frac{4/3}\frac{log(3)}{log(2)}=84.12%</math> * सभी डेटा स्वयंसिद्ध में 66.66% (2/3) अल्पविराम - सभी निहित डेटा विशेष रूप से परिवर्तनीय लंबाई डेटा को बिल्कुल 66.66% (2/3) अल्पविराम से युक्त दिखाया जा सकता है।
सभी डाटा एक्सिओम में 66.66% (2/3) कौमा - सभी निहित डेटा विशेष रूप से परिवर्तनीय लंबाई डेटा को बिल्कुल 66.66% (2/3) कौमा से युक्त दिखाया जा सकता है।


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
!n
!n
!RL code
!आरएल कोड
!Next code
!Next code
!Bijective data (has NULL)
!Bijective data (has शून्य)
!Commas
!Commas
|-
|-
Line 130: Line 132:
|1
|1
|0
|0
|NULL (or 0)
|शून्य (or 0)
|,
|,
|-
|-
Line 189: Line 191:
| colspan="5" |...
| colspan="5" |...
|}
|}
कहाँ '?' विशेषण अंक के मान के लिए '1' या '2' है जिसके लिए आगे किसी प्रक्रिया की आवश्यकता नहीं है। इस पद्धति के परिणामस्वरूप हफ़मैन बेस 3 कोड के एक सरल 'अंतर्निहित रीड' के समान सांख्यिकीय समानता प्राप्त होती है: <code>0</code>,<code>10</code>,<code>11</code> (शुद्ध 2/3 या 66.66% अल्पविराम)।
जहाँ '?' विशेषण अंक के मान के लिए '1' या '2' है जिसके लिए आगे किसी प्रक्रिया की आवश्यकता नहीं है। इस पद्धति के परिणामस्वरूप हफ़मैन बेस 3 कोड के एक सरल 'इम्प्लॉइड रीड' के समान सांख्यिकीय समानता प्राप्त होती है: <code>0</code>,<code>10</code>,<code>11</code> (शुद्ध 2/3 या 66.66% कौमा)।


इसे रैंडम वॉक तकनीकों और सांख्यिकीय सारांश द्वारा देखा जा सकता है कि सभी सामान्य डेटा में औसतन 2 बिट का हेडर या अल्पविराम होता है और अतिरिक्त 1 बिट (न्यूनतम 0) का डेटा होता है।
इसे रैंडम वॉक तकनीकों और सांख्यिकीय सारांश द्वारा देखा जा सकता है कि सभी सामान्य डेटा में औसतन 2 बिट का हेडर या कौमा होता है और अतिरिक्त 1 बिट (न्यूनतम 0) का डेटा होता है।


इसमें प्रत्येक '0' (अल्पविराम) के बाद '1' या '2' का कोई आश्वासन नहीं है, एक ऐसी संपत्ति जो ट्रांसमिशन में समय संबंधी चिंताओं को डिजाइन करते समय उपयोगी हो सकती है।
इसमें प्रत्येक '0' (कौमा) के बाद '1' या '2' का कोई आश्वासन नहीं है, एक ऐसी विशेषता जो ट्रांसमिशन में समय संबंधी चिंताओं को अभिकल्पना करते समय उपयोगी हो सकती है।


इस विधि में 3 बाइनरी बिट्स या 1.5 बाइनरी बिट्स/टर्नरी डिजिट की रीड के लिए 2 टर्नरी अंकों की रीड दक्षता है। या <math display="inline">\frac{3/2}\frac{log(3)}{log(2)}=94.64%</math>
इस विधि में 3 बाइनरी बिट्स या 1.5 बाइनरी बिट्स/टर्नरी डिजिट की रीड के लिए 2 टर्नरी अंकों की रीड दक्षता है। अथवा <math display="inline">\frac{3/2}\frac{log(3)}{log(2)}=94.64%</math>
*34.375% | 31.25% (~ 1/3) संख्या विभाजन का उपयोग करके दक्षता लाभ के लिए अल्पविराम लिखते हैं - चेन-हो एन्कोडिंग के समान संख्या विभाजन तकनीकों ('एम' संख्याओं को 'एन' विभाजनों में विभाजित करने पर एन^एम क्रमपरिवर्तन होता है) का उपयोग करके निहित रूप से पढ़ता और लिखता है। चेन-हो और [[हर्ट्ज़ एन्कोडिंग]] लगभग यादृच्छिक वितरण के समान पढ़ने और लिखने दोनों की अधिक दक्षता दिखाते हैं। इस प्रकार कोड का उपयोग कम अर्थपूर्ण होता है और उच्च आधारों का उपयोग अधिक महत्वपूर्ण हो जाता है। इसी तरह, 'लिखें' अल्पविराम आधार में कोई भी संख्या बन जाता है, 'पढ़ें' अल्पविराम नीचे दिखाया गया हेडर है, हफ़मैन आधार 4 कोड: <code>0</code>,<code>10</code>,<code>110</code>,<code>111</code>.
*34.375% | 31.25% (~ 1/3) संख्या विभाजन का उपयोग करके दक्षता लाभ के लिए कौमा लिखते हैं - चेन-हो एन्कोडिंग के समान संख्या विभाजन तकनीकों ('एम' संख्याओं को 'एन' विभाजनों में विभाजित करने पर एन^एम क्रमपरिवर्तन होता है) का उपयोग करके निहित रूप से पढ़ता और लिखता है। चेन-हो और [[हर्ट्ज़ एन्कोडिंग]] लगभग यादृच्छिक वितरण के समान पढ़ने और लिखने दोनों की अधिक दक्षता दिखाते हैं। इस प्रकार कोड का उपयोग कम अर्थपूर्ण होता है और उच्च आधारों का उपयोग अधिक महत्वपूर्ण हो जाता है। इसी तरह, 'लिखें' कौमा आधार में कोई भी संख्या बन जाता है, 'पढ़ें' कौमा नीचे दिखाया गया हेडर है, हफ़मैन आधार 4 कोड: <code>0</code>,<code>10</code>,<code>110</code>,<code>111 हैं।</code>
उच्च दक्षता के अलावा इस तकनीक का मुख्य लाभ यह है कि इसमें किसी आधार रूपांतरण की आवश्यकता नहीं होती है जिसके लिए पूरी स्ट्रीम को पहले पढ़ना होगा और फिर परिवर्तित करना होगा। नुकसान यह है कि औसत संख्या की लंबाई अधिक हो जाती है और यादृच्छिक संख्या पीढ़ी के समान होती है और टर्नरी ट्रांसमिशन को नियंत्रित करने वाली समय संबंधी चिंताएं सामने आती हैं। एम=2 और एन=2 के साथ, हम पाते हैं, यह न भूलें कि '(2)' का मान अनिवार्य रूप से 0-बिट है:
उच्च दक्षता के अतिरिक्त इस तकनीक का मुख्य लाभ यह है कि इसमें किसी आधार रूपांतरण की आवश्यकता नहीं होती है जिसके लिए पूरी स्ट्रीम को पहले पढ़ना होगा और फिर परिवर्तित करना होगा। हानि यह है कि औसत संख्या की लंबाई अधिक हो जाती है और यादृच्छिक संख्या पीढ़ी के समान होती है और टर्नरी ट्रांसमिशन को नियंत्रित करने वाली समय संबंधी चिंताएं सामने आती हैं। एम=2 और एन=2 के साथ, हम पाते हैं, यह न भूलें कि '(2)' का मान अनिवार्य रूप से 0-बिट है:


{| class="wikitable" border="1" style="text-align:center"
{| class="wikitable" border="1" style="text-align:center"
! colspan="6" scope="col" |Binary encoding
! colspan="6" scope="col" |बाइनरी एन्कोडिंग
| rowspan="6" |
| rowspan="6" |
! colspan="3" scope="col" |Ternary digits
! colspan="3" scope="col" |टर्नेरी डिजिट
|-
|-
! scope="col" |READS - Code&nbsp;space (128&nbsp;states)
! scope="col" |रीड्स - कोड स्पेस (128&nbsp;स्टेट)
! scope="col" |b3
! scope="col" |b3
! scope="col" |b2
! scope="col" |b2
Line 210: Line 212:
! scope="col" |b0
! scope="col" |b0
! rowspan="5" scope="col" |
! rowspan="5" scope="col" |
!Values encoded
!वैल्यू एनकोडेड
! scope="col" |Description
! scope="col" |वर्णन
! scope="col" |WRITES - Occurrences (100&nbsp;states)
! scope="col" |राइट्स - उपस्थिति (100&nbsp;स्टेट)
|-
|-
|50% (64&nbsp;states)
|50% (64&nbsp;स्टेट)
|'''0'''
|'''0'''
| bgcolor="#cef2e0" |a
| bgcolor="#cef2e0" |a
Line 220: Line 222:
|
|
|(0–1) (0–1)
|(0–1) (0–1)
|Two lower digits
|दो निचले अंक
|44.44% (45&nbsp;states)
|44.44% (45&nbsp;स्टेट)
|- bgcolor="#f2f2f2"
|- bgcolor="#f2f2f2"
|25% (32&nbsp;states)
|25% (32&nbsp;स्टेट)
|'''1'''
|'''1'''
|'''0'''
|'''0'''
Line 229: Line 231:
|
|
|(2) (0–1)
|(2) (0–1)
| rowspan="2" |One lower digit,
| rowspan="2" |एक निचला अंक,
one higher digit
एक उच्चतर अंक
|22.22% (22&nbsp;states)
|22.22% (22&nbsp;स्टेट)
|-
|-
|12.5% (16&nbsp;states)
|12.5% (16&nbsp;स्टेट)
|'''1'''
|'''1'''
|'''1'''
|'''1'''
Line 239: Line 241:
| bgcolor="#cedff2" |b
| bgcolor="#cedff2" |b
|(0–1) (2)
|(0–1) (2)
|22.22% (22&nbsp;states)
|22.22% (22&nbsp;स्टेट)
|- bgcolor="#f2f2f2"
|- bgcolor="#f2f2f2"
|12.5% (16&nbsp;states)
|12.5% (16&nbsp;स्टेट)
|'''1'''
|'''1'''
|'''1'''
|'''1'''
Line 247: Line 249:
|
|
|(2) (2)
|(2) (2)
|Two higher digits
|दो उच्चतर अंक
|11.11% (11&nbsp;states)
|11.11% (11&nbsp;स्टेट)
|}
|}
इसलिए इस विधि में पढ़ने के लिए 2 टर्नरी अंकों की पढ़ने की दक्षता है <math display="inline">50*3+25*3+12.5*4+12.5*3=3.125</math> बाइनरी बिट्स या 1.5625 बाइनरी बिट्स/टर्नरी अंक। या <math display="inline">\frac{3.125*\frac{1}2}\frac{log(3)}{log(2)}=98.58%</math>.
इसलिए इस विधि में पढ़ने के लिए 2 टर्नरी अंकों की पढ़ने की दक्षता <math display="inline">50*3+25*3+12.5*4+12.5*3=3.125</math> बाइनरी बिट्स या 1.5625 बाइनरी बिट्स/टर्नरी अंक या <math display="inline">\frac{3.125*\frac{1}2}\frac{log(3)}{log(2)}=98.58%</math>.


एक लेखन के लिए 2 टर्नरी अंकों की लेखन दक्षता <math display="inline">\frac{4}9*3+\frac{2}9*3+\frac{2}9*4+\frac{1}9*3=3.22</math> बिट्स या 1.61 बाइनरी बिट्स/टर्नरी अंक, या <math display="inline">\frac{\frac{log(3)}{log(2)}}{\frac{29}{9}*\frac{1}2}=98.38%</math>
एक लेखन के लिए 2 टर्नरी अंकों की लेखन दक्षता <math display="inline">\frac{4}9*3+\frac{2}9*3+\frac{2}9*4+\frac{1}9*3=3.22</math> बिट्स या 1.61 बाइनरी बिट्स/टर्नरी अंक, या <math display="inline">\frac{\frac{log(3)}{log(2)}}{\frac{29}{9}*\frac{1}2}=98.38%</math> है। 
* कुशल आधार रूपांतरण के लिए कार्डिनल नंबर - चूंकि यह पता चला है कि अल्पविराम कोड आधार रूपांतरण के समान हैं, एकमात्र चिंता दक्षता और समय है, 19 बाइनरी बिट्स का प्रत्यक्ष रूपांतरण/मैपिंग <math display="inline">2^{19} = 524288</math> 12 टर्नरी ट्रिट्स की संख्या <math display="inline">3^{12} = 531441</math> संख्याएँ दक्षता की अनुमति देती हैं <math display="inline">\frac{2^{19}}{3^{12}}=98.65%</math> या <math display="inline">\frac{log_3{2^{19}}}{12}=99.9%</math> गणना की विधि के आधार पर दक्षता। यह इसलिए काम करता है <math display="inline">2^{19} < 3^{12}</math> और <math display="inline">2^{19}</math>≃ <math display="inline">3^{12}</math>. यह निश्चित रूप से एक सैद्धांतिक निर्माण है और इसे टर्नरी ट्रांसमिशन विधियों पर लागू करने का प्रयास करते समय समय के बारे में कोई उल्लेख नहीं है। हालाँकि यह छूट जाता है <math display="inline">531441 - 524288 = 7153</math> समय संबंधी चिंताओं के अनुरूप डिजाइन करने के लिए कोड।
* कुशल आधार रूपांतरण के लिए कार्डिनल नंबर - चूंकि यह पता चला है कि कौमा कोड आधार रूपांतरण के समान हैं, एकमात्र चिंता दक्षता और समय है, 19 बाइनरी बिट्स का प्रत्यक्ष रूपांतरण/मैपिंग <math display="inline">2^{19} = 524288</math> 12 टर्नरी ट्रिट्स की संख्या <math display="inline">3^{12} = 531441</math> गणना की विधि के आधार पर दक्षता <math display="inline">\frac{2^{19}}{3^{12}}=98.65%</math> या <math display="inline">\frac{log_3{2^{19}}}{12}=99.9%</math> संख्याएँ दक्षता की अनुमति देती हैं। यह इसलिए काम करता है क्यूकि <math display="inline">2^{19} < 3^{12}</math> और <math display="inline">2^{19}</math>≃ <math display="inline">3^{12}</math> है। यह निश्चित रूप से एक सैद्धांतिक निर्माण है और इसे टर्नरी ट्रांसमिशन मेथड पर लागू करने का प्रयास करते समय समय के बारे में कोई उल्लेख नहीं है। हालाँकि, यह समय संबंधी चिंताओं के अनुरूप अभिकल्पना करने के लिए <math display="inline">531441 - 524288 = 7153</math> कोड छोड़ता है।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 21:29, 12 December 2023

कौमा कोड एक प्रकार का उपसर्ग-मुक्त कोड है जिसमें कौमा, एक विशेष प्रतीक या प्रतीकों का क्रम, एक कोड शब्द के अंत में होता है और अन्यथा कभी नहीं होता है। [1] यह सरणियों को व्यक्त करने का एक सहज तरीका है।

उदाहरण के लिए, फाइबोनैचि कोडिंग एक कौमा कोड है जिसमें कौमा 11. 11 होता है और 1011 वैध फाइबोनैचि कोड शब्द हैं, लेकिन 101, 0111, और 11011 नहीं हैं।

उदाहरण

  • यूनरी कोडिंग, जिसमें कौमा 0 होता है। यह शून्य मानों की अनुमति देता है (जब कोड और कौमा एकल 0 हो, मान को शून्य या 0) के रूप में लिया जा सकता है।
  • फाइबोनैचि कोडिंग, जिसमें कौमा 11 होता है।
  • सभी हफ़मैन कोडिंग सभी हफ़मैन कोड को पूरे कोड में 1 जोड़कर और कोड और अल्पविराम के रूप में एकल 0 का उपयोग करके अल्पविराम कोड में परिवर्तित किया जा सकता है।
प्रतीक कोड कौमा कोड
कौमा - (एन/ए) 0
0 00 100
1 01 101
2 10 110
3 11 111

शब्द की परिभाषा कौमा में समाप्त होने वाले कई प्रतीकों से होती है, जो एक स्पेस (विराम चिह्न) वर्ण के बराबर है।

  • सभी डेटा स्वयंसिद्ध में 50% कौमा - सभी निहित डेटा विशेष रूप से परिवर्तनीय लंबाई विशेषण डेटा को बिल्कुल 50% कौमा से युक्त दिखाया जा सकता है।

सभी क्रमबद्ध डेटा या उपयुक्त रूप से क्यूरेटेड समान-लंबाई डेटा तथाकथित निहित संभावना प्रदर्शित करते हैं।

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

इसे रैंडम वॉक तकनीकों और सांख्यिकीय योग द्वारा देखा जा सकता है कि सभी सामान्य डेटा में औसतन 2 बिट्स का हेडर या कौमा होता है और अतिरिक्त 2 बिट्स (न्यूनतम 1) का डेटा होता है।

यह बेस-3 या बेस-5 संचार चैनलों जैसे गैर-बाइनरी कम्युनिकेशन चैनलों में ट्रांसमिशन से पहले एक सस्ते आधार वृद्धि एल्गोरिदम की भी अनुमति देता है।

n आरएल कोड नेक्स्ट कोड विशेषणात्मक डेटा (गैर-शून्य) कौमा
1 1? 0? ? (1=1,2=2) ,
2 1?1? 0?0? ?? (3,4,5,6=11,12,21,22) ,,
3 1?1?1? 0?0?0? ??? ,,,
4 1?1?1?1? 0?0?0?0? ???? ,,,,
5 1?1?1?1?1? 0?0?0?0?0? ????? ,,,,,
6 1?1?1?1?1?1? 0?0?0?0?0?0? ?????? ,,,,,,
7 1?1?1?1?1?1?1? 0?0?0?0?0?0?0? ??????? ,,,,,,,
8 1?1?1?1?1?1?1?1? 0?0?0?0?0?0?0?0? ???????? ,,,,,,,,
9 1?1?1?1?1?1?1?1?1? 0?0?0?0?0?0?0?0?0? ????????? ,,,,,,,,,
10 1?1?1?1?1?1?1?1?1?1? 0?0?0?0?0?0?0?0?0?0? ?????????? ,,,,,,,,,,
...

जहाँ '?' विशेषण अंक के मान के लिए '1' या '2' है जिसके लिए आगे किसी प्रक्रिया की आवश्यकता नहीं है।

निस्सन्देह हम डेटा के प्रत्येक क्षेत्र को अलग करने के लिए एक एकल कौमा का उपयोग करते हैं, इसलिए यह दर्शाता है कि सभी डेटा में 50% कौमा होते हैं। यह हफमैन बेस 3 कोड में 0 कोड के लिए 50% की निहित संभावना से काफी स्पष्ट है: 0,10,11 (शुद्ध 2/3 या 66.66% कौमा) या ऊपर दिखाया गया आधार-5 कौमा कोड स्पष्ट है। उच्च आधार संचार के लागत-प्रति-वर्ण भागफल को लघुगणकीय मानों के निकट बनाए रखना होता है और लागत प्रभावशीलता बनाए रखने के लिए अल्पविराम वर्ण के लिए 2-बिट से कम होना चाहिए।।

इस पद्धति में प्रत्येक '0' (कौमा) के बाद '1' या '2' का आश्वासन होता है और ट्रांसमिशन में समय संबंधी चिंताओं को अभिकल्पना करते समय यह विशेषता उपयोगी हो सकती है। ज्ञात बाइनरी मान को टर्नरी में परिवर्तित करना कुछ हद तक महंगा हो सकता है जब तक कि टर्नरी बिट लागत को बाइनरी बिट लागत के समान कम नहीं किया जाता है, इसलिए यदि लागत सहमत होती है तो इस बिट को एक अलग बाइनरी चैनल में मल्टीप्लेक्स किया जा सकता है (इसके लिए अतिरिक्त पढ़ने की आवश्यकता हो सकती है) बाइनरी चैनल के लिए 2-बिट शुद्ध डेटा का टेल'/अनुगामी भाग (पहले परिवर्तन के पहले बिट के बाद से क्योंकि यह तुरंत-डिकोड करने योग्य कोड नहीं है, अगर तुरंत डिकोड करने योग्य यूनरी कोड का उपयोग किया जाए तो इसे पढ़ें) के समान होना चाहिए प्राथमिक चैनल पर 2 औसत टर्नरी बिट शेष हैं, लागत तुलना से पहले बिट्स को ध्यान में रखा जाता है)।

मल्टीप्लेक्सिंग पर विचार न करते हुए, इस पद्धति में 4 बाइनरी बिट्स या 1.33 बिट्स या की रीड के लिए 3 टर्नरी अंकों की रीड दक्षता है।

सभी डाटा एक्सिओम में 66.66% (2/3) कौमा - सभी निहित डेटा विशेष रूप से परिवर्तनीय लंबाई डेटा को बिल्कुल 66.66% (2/3) कौमा से युक्त दिखाया जा सकता है।

n आरएल कोड Next code Bijective data (has शून्य) Commas
1 1 0 शून्य (or 0) ,
2 1?1 0?0 ? (1=1,2=2) ,,
3 1?1?1 0?0?0 ?? (3,4,5,6=11,12,21,22) ,,,
4 1?1?1?1 0?0?0?0 ??? ,,,,
5 1?1?1?1?1 0?0?0?0?0 ???? ,,,,,
6 1?1?1?1?1?1 0?0?0?0?0?0 ????? ,,,,,,
7 1?1?1?1?1?1?1 0?0?0?0?0?0?0 ?????? ,,,,,,,
8 1?1?1?1?1?1?1?1 0?0?0?0?0?0?0?0 ??????? ,,,,,,,,
9 1?1?1?1?1?1?1?1?1 0?0?0?0?0?0?0?0?0 ???????? ,,,,,,,,,
10 1?1?1?1?1?1?1?1?1?1 0?0?0?0?0?0?0?0?0?0 ????????? ,,,,,,,,,,
...

जहाँ '?' विशेषण अंक के मान के लिए '1' या '2' है जिसके लिए आगे किसी प्रक्रिया की आवश्यकता नहीं है। इस पद्धति के परिणामस्वरूप हफ़मैन बेस 3 कोड के एक सरल 'इम्प्लॉइड रीड' के समान सांख्यिकीय समानता प्राप्त होती है: 0,10,11 (शुद्ध 2/3 या 66.66% कौमा)।

इसे रैंडम वॉक तकनीकों और सांख्यिकीय सारांश द्वारा देखा जा सकता है कि सभी सामान्य डेटा में औसतन 2 बिट का हेडर या कौमा होता है और अतिरिक्त 1 बिट (न्यूनतम 0) का डेटा होता है।

इसमें प्रत्येक '0' (कौमा) के बाद '1' या '2' का कोई आश्वासन नहीं है, एक ऐसी विशेषता जो ट्रांसमिशन में समय संबंधी चिंताओं को अभिकल्पना करते समय उपयोगी हो सकती है।

इस विधि में 3 बाइनरी बिट्स या 1.5 बाइनरी बिट्स/टर्नरी डिजिट की रीड के लिए 2 टर्नरी अंकों की रीड दक्षता है। अथवा

  • 34.375% | 31.25% (~ 1/3) संख्या विभाजन का उपयोग करके दक्षता लाभ के लिए कौमा लिखते हैं - चेन-हो एन्कोडिंग के समान संख्या विभाजन तकनीकों ('एम' संख्याओं को 'एन' विभाजनों में विभाजित करने पर एन^एम क्रमपरिवर्तन होता है) का उपयोग करके निहित रूप से पढ़ता और लिखता है। चेन-हो और हर्ट्ज़ एन्कोडिंग लगभग यादृच्छिक वितरण के समान पढ़ने और लिखने दोनों की अधिक दक्षता दिखाते हैं। इस प्रकार कोड का उपयोग कम अर्थपूर्ण होता है और उच्च आधारों का उपयोग अधिक महत्वपूर्ण हो जाता है। इसी तरह, 'लिखें' कौमा आधार में कोई भी संख्या बन जाता है, 'पढ़ें' कौमा नीचे दिखाया गया हेडर है, हफ़मैन आधार 4 कोड: 0,10,110,111 हैं।

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

बाइनरी एन्कोडिंग टर्नेरी डिजिट
रीड्स - कोड स्पेस (128 स्टेट) b3 b2 b1 b0 वैल्यू एनकोडेड वर्णन राइट्स - उपस्थिति (100 स्टेट)
50% (64 स्टेट) 0 a b (0–1) (0–1) दो निचले अंक 44.44% (45 स्टेट)
25% (32 स्टेट) 1 0 a (2) (0–1) एक निचला अंक,

एक उच्चतर अंक

22.22% (22 स्टेट)
12.5% (16 स्टेट) 1 1 0 b (0–1) (2) 22.22% (22 स्टेट)
12.5% (16 स्टेट) 1 1 1 (2) (2) दो उच्चतर अंक 11.11% (11 स्टेट)

इसलिए इस विधि में पढ़ने के लिए 2 टर्नरी अंकों की पढ़ने की दक्षता बाइनरी बिट्स या 1.5625 बाइनरी बिट्स/टर्नरी अंक या .

एक लेखन के लिए 2 टर्नरी अंकों की लेखन दक्षता बिट्स या 1.61 बाइनरी बिट्स/टर्नरी अंक, या है।

  • कुशल आधार रूपांतरण के लिए कार्डिनल नंबर - चूंकि यह पता चला है कि कौमा कोड आधार रूपांतरण के समान हैं, एकमात्र चिंता दक्षता और समय है, 19 बाइनरी बिट्स का प्रत्यक्ष रूपांतरण/मैपिंग 12 टर्नरी ट्रिट्स की संख्या गणना की विधि के आधार पर दक्षता या संख्याएँ दक्षता की अनुमति देती हैं। यह इसलिए काम करता है क्यूकि और है। यह निश्चित रूप से एक सैद्धांतिक निर्माण है और इसे टर्नरी ट्रांसमिशन मेथड पर लागू करने का प्रयास करते समय समय के बारे में कोई उल्लेख नहीं है। हालाँकि, यह समय संबंधी चिंताओं के अनुरूप अभिकल्पना करने के लिए कोड छोड़ता है।

यह भी देखें

संदर्भ

  1. Wade, Graham (8 September 1994). सिग्नल कोडिंग और प्रोसेसिंग. Cambridge University Press. p. 56. ISBN 978-0-521-42336-6.