कोडिंग थ्योरी: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Short description|Study of the properties of codes and their fitness}}
[[File:Hamming.jpg|thumb|[[हैमिंग दूरी]] का द्वि-आयामी दृश्य, कोडिंग सिद्धांत में एक महत्वपूर्ण उपाय।]]'''कोडिंग थ्योरी''' विशिष्ट अनुप्रयोगों के लिए कोड के गुणों और उनकी उपयुक्तता का अध्ययन है। कोड का उपयोग डेटा संपीड़न, [[क्रिप्टोग्राफी]], त्रुटि का पता लगाने और सुधार, [[डेटा ट्रांसमिशन]] और डेटा [[आधार सामग्री भंडारण|भंडारण]] के लिए किया जाता है। कुशल और विश्वसनीय डेटा ट्रांसमिशन विधियों की रचना करने के उद्देश्य से विभिन्न वैज्ञानिक विषयों जैसे [[सूचना सिद्धांत]], [[विद्युत अभियन्त्रण]], गणित, [[भाषा विज्ञान]] और [[कंप्यूटर विज्ञान]] द्वारा कोड का अध्ययन किया जाता है। इसमें आमतौर पर अतिरेक को हटाना और संचरित डेटा में त्रुटियों का सुधार या पता लगाना सम्मिलित है।
[[File:Hamming.jpg|thumb|[[हैमिंग दूरी]] का द्वि-आयामी दृश्य, कोडिंग सिद्धांत में एक महत्वपूर्ण उपाय।]]कोडिंग सिद्धांत विशिष्ट अनुप्रयोगों के लिए कोड के गुणों और उनकी उपयुक्तता का अध्ययन है। कोड का उपयोग डेटा संपीड़न, [[क्रिप्टोग्राफी]], त्रुटि का पता लगाने और सुधार, [[डेटा ट्रांसमिशन]] और डेटा [[आधार सामग्री भंडारण|भंडारण]] के लिए किया जाता है। कुशल और विश्वसनीय डेटा ट्रांसमिशन विधियों को डिजाइन करने के उद्देश्य से विभिन्न वैज्ञानिक विषयों-जैसे [[सूचना सिद्धांत]], [[विद्युत अभियन्त्रण]], गणित, [[भाषा विज्ञान]] और [[कंप्यूटर विज्ञान]] द्वारा कोड का अध्ययन किया जाता है। इसमें आमतौर पर अतिरेक को हटाना और संचरित डेटा में त्रुटियों का सुधार या पता लगाना शामिल है।


कोडिंग चार प्रकार की होती है:<ref>{{cite book  
कोडिंग चार प्रकार की होती है:<ref>{{cite book  
Line 17: Line 16:
डेटा संपीड़न किसी स्रोत से डेटा को अधिक कुशलता से प्रसारित करने के लिए अवांछित अतिरेक को हटाने का प्रयास करता है। उदाहरण के लिए, [[ज़िप (फ़ाइल स्वरूप)|ज़िप डेटा संपीड़न]] इंटरनेट ट्रैफ़िक को कम करने जैसे उद्देश्यों के लिए डेटा फ़ाइलों को छोटा बनाता है। डेटा संपीड़न और त्रुटि सुधार का संयोजन में अध्ययन किया जा सकता है।
डेटा संपीड़न किसी स्रोत से डेटा को अधिक कुशलता से प्रसारित करने के लिए अवांछित अतिरेक को हटाने का प्रयास करता है। उदाहरण के लिए, [[ज़िप (फ़ाइल स्वरूप)|ज़िप डेटा संपीड़न]] इंटरनेट ट्रैफ़िक को कम करने जैसे उद्देश्यों के लिए डेटा फ़ाइलों को छोटा बनाता है। डेटा संपीड़न और त्रुटि सुधार का संयोजन में अध्ययन किया जा सकता है।


त्रुटि का पता लगाने और सुधार ट्रांसमिशन  माध्यम पर मौजूद गड़बड़ी के लिए ट्रांसमिशन को अधिक मजबूत बनाने के लिए स्रोत से डेटा में उपयोगी [[अतिरेक (सूचना सिद्धांत)|अतिरेक]] जोड़ता है। त्रुटि सुधार का उपयोग करने वाले कई अनुप्रयोगों के बारे में सामान्य उपयोगकर्ता को पता नहीं हो सकता है। एक विशिष्ट म्यूजिक [[कॉम्पैक्ट डिस्क डिजिटल ऑडियो|कॉम्पैक्ट डिस्क]] (सीडी) खरोंच और धूल को ठीक करने के लिए रीड-सोलोमन कोड का उपयोग करता है। इस एप्लिकेशन में ट्रांसमिशन  माध्यम सीडी ही है। उच्च आवृत्ति रेडियो प्रसारण के लुप्त होने और शोर को ठीक करने के लिए सेल फोन भी कोडिंग तकनीकों का उपयोग करते हैं। डेटा मोडेम, टेलीफोन प्रसारण, और [[नासा डीप स्पेस नेटवर्क]] सभी बिट्स प्राप्त करने के लिए  माध्यम कोडिंग तकनीकों को नियोजित करते हैं, उदाहरण के लिए [[टर्बो कोड]] और [[एलडीपीसी कोड]]।<!--Kvng RTH-->
त्रुटि का पता लगाने और सुधार ट्रांसमिशन  माध्यम पर मौजूद गड़बड़ी के लिए ट्रांसमिशन को अधिक मजबूत बनाने के लिए स्रोत से डेटा में उपयोगी [[अतिरेक (सूचना सिद्धांत)|अतिरेक]] जोड़ता है। त्रुटि सुधार का उपयोग करने वाले कई अनुप्रयोगों के बारे में सामान्य उपयोगकर्ता को पता नहीं हो सकता है। एक विशिष्ट म्यूजिक [[कॉम्पैक्ट डिस्क डिजिटल ऑडियो|कॉम्पैक्ट डिस्क]] (सीडी) खरोंच और धूल को ठीक करने के लिए रीड-सोलोमन कोड का उपयोग करता है। इस एप्लिकेशन में ट्रांसमिशन  माध्यम सीडी ही है। उच्च आवृत्ति रेडियो प्रसारण के लुप्त होने और शोर को ठीक करने के लिए सेल फोन भी कोडिंग तकनीकों का उपयोग करते हैं। डेटा मोडेम, टेलीफोन प्रसारण, और [[नासा डीप स्पेस नेटवर्क]] सभी बिट्स प्राप्त करने के लिए  माध्यम कोडिंग तकनीकों को नियोजित करते हैं, उदाहरण के लिए [[टर्बो कोड]] और [[एलडीपीसी कोड]]।
== कोडिंग सिद्धांत का इतिहास ==
== कोडिंग थ्योरी का इतिहास ==
1948 में, [[क्लाउड शैनन]] ने बेल सिस्टम टेक्निकल जर्नल के जुलाई और अक्टूबर के अंक में दो भागों में एक लेख, [[संचार का एक गणितीय सिद्धांत]] प्रकाशित किया। यह कार्य इस समस्या पर केंद्रित है कि एक प्रेषक जिस सूचना को संचारित करना चाहता है, उसे कैसे सर्वोत्तम तरीके से एन्कोड किया जाए। इस मूलभूत कार्य में उन्होंने [[नॉर्बर्ट वीनर]] द्वारा विकसित संभाव्यता सिद्धांत के साधनों का उपयोग किया, जो उस समय संचार सिद्धांत पर लागू होने के अपने शुरुआती चरणों में थे। शैनन ने सूचना सिद्धांत के क्षेत्र का अनिवार्य रूप से आविष्कार करते हुए संदेश में अनिश्चितता के उपाय के रूप में [[सूचना एन्ट्रापी]] विकसित की।
1948 में, [[क्लाउड शैनन]] ने बेल सिस्टम टेक्निकल जर्नल के जुलाई और अक्टूबर के अंक में दो भागों में एक लेख, [[संचार का एक गणितीय सिद्धांत]] प्रकाशित किया। यह कार्य इस समस्या पर केंद्रित है कि एक प्रेषक जिस सूचना को संचारित करना चाहता है, उसे कैसे सर्वोत्तम तरीके से एन्कोड किया जाए। इस मूलभूत कार्य में उन्होंने [[नॉर्बर्ट वीनर]] द्वारा विकसित संभाव्यता सिद्धांत के साधनों का उपयोग किया, जो उस समय संचार सिद्धांत लागू होने के अपने शुरुआती चरणों में थे। शैनन ने सूचना सिद्धांत के क्षेत्र का अनिवार्य रूप से आविष्कार करते हुए संदेश में अनिश्चितता के उपाय के रूप में [[सूचना एन्ट्रापी]] विकसित की।


[[बाइनरी भाषा में कोड]] 1949 में विकसित किया गया था। यह एक त्रुटि-सुधार कोड है जो प्रत्येक 24-बिट शब्द में तीन त्रुटियों को ठीक करने और चौथे का पता लगाने में सक्षम है।
[[बाइनरी भाषा में कोड]] 1949 में विकसित किया गया था। यह एक त्रुटि-सुधार कोड है जो प्रत्येक 24-बिट शब्द में तीन त्रुटियों को ठीक करने और चौथे का पता लगाने में सक्षम है।
Line 42: Line 41:
<math>C(x)</math> से जुड़ा कोड वर्ड <math>x</math> है |
<math>C(x)</math> से जुड़ा कोड वर्ड <math>x</math> है |


कूट शब्द की लंबाई इस रूप में लिखा जाता है
कूट शब्द की लंबाई इस रूप में लिखी जाती है


:<math>l(C(x)).</math>
:<math>l(C(x)).</math>
Line 54: Line 53:
:<math>C(\epsilon) = \epsilon</math>
:<math>C(\epsilon) = \epsilon</math>
=== गुण ===
=== गुण ===
# <math>C:\mathcal{X}\to\Sigma^*</math> गैर-एकवचन अगर [[इंजेक्शन समारोह|अंत:क्षेपक]]
# <math>C:\mathcal{X}\to\Sigma^*</math> गैर-एकवचन अगर [[इंजेक्शन समारोह|अंत:क्षेपक है।]]
# <math>C:\mathcal{X}^*\to\Sigma^*</math>विशिष्ट रूप से डिकोड करने योग्य कोड यदि अंत:क्षेपक है।
# <math>C:\mathcal{X}^*\to\Sigma^*</math>विशिष्ट रूप से डिकोड करने योग्य कोड यदि अंत:क्षेपक है।
# <math>C:\mathcal{X}\to\Sigma^*</math> तात्कालिक यदि <math>C(x_1)</math>, <math>C(x_2)</math>का उपसर्ग नहीं है (और इसके विपरीत भी)।
# <math>C:\mathcal{X}\to\Sigma^*</math> तात्कालिक यदि <math>C(x_1)</math>, <math>C(x_2)</math>का उपसर्ग नहीं है (और इसके विपरीत भी)।


=== सिद्धांत ===
=== थ्योरी ===
किसी स्रोत की एन्ट्रापी सूचना का माप है। मूल रूप से, स्रोत कोड स्रोत में मौजूद अतिरेक को कम करने का प्रयास करते हैं, और स्रोत का प्रतिनिधित्व कम से कम  बिट्स में करते हैं जो अधिक जानकारी रखते हैं।
किसी स्रोत की एन्ट्रापी सूचना का माप है। मूल रूप से, स्रोत कोड स्रोत में मौजूद अतिरेक को कम करने का प्रयास करते हैं, और स्रोत का प्रतिनिधित्व कम से कम  बिट्स में करते हैं जो अधिक जानकारी रखते हैं।


Line 70: Line 69:
== माध्यम कोडिंग ==
== माध्यम कोडिंग ==
{{main|त्रुटि का पता लगाना और सुधार}}
{{main|त्रुटि का पता लगाना और सुधार}}
माध्यम कोडिंग सिद्धांत का उद्देश्य उन कोडों को खोजना है जो जल्दी से प्रसारित होते हैं, जिनमें कई मान्य [[कोड शब्द]] होते हैं और कम से कम त्रुटि का पता लगाने में कई त्रुटियों को ठीक कर सकते हैं। जबकि परस्पर अनन्य नहीं है, इन क्षेत्रों में प्रदर्शन एक समझौता है। इसलिए, अलग-अलग अनुप्रयोगों के लिए अलग-अलग कोड इष्टतम हैं। इस कोड के आवश्यक गुण मुख्य रूप से संचरण के दौरान होने वाली त्रुटियों की संभावना पर निर्भर करते हैं। एक विशिष्ट सीडी में, हानि मुख्य रूप से धूल या खरोंच होती है।
माध्यम कोडिंग थ्योरी का उद्देश्य उन कोडों का पता लगाना है जो शीघ्रता से प्रसारित होते हैं, जिनमें कई मान्य [[कोड शब्द]] होते हैं और कम से कम त्रुटि का पता लगाने में कई त्रुटियों को ठीक कर सकते हैं। जबकि परस्पर अनन्य नहीं है, इन क्षेत्रों में प्रदर्शन एक समझौता है। इसलिए, अलग-अलग अनुप्रयोगों के लिए अलग-अलग कोड इष्टतम हैं। इस कोड के आवश्यक गुण मुख्य रूप से संचरण के दौरान होने वाली त्रुटियों की संभावना पर निर्भर करते हैं। एक विशिष्ट सीडी में, हानि मुख्य रूप से धूल या खरोंच होती है।


डिस्क पर डेटा को लिखने के लिए सीडी क्रॉस-इंटरलीव्ड रीड-सोलोमन कोडिंग का उपयोग करती हैं।<ref>
डिस्क पर डेटा को लिखने के लिए सीडी क्रॉस-इंटरलीव्ड रीड-सोलोमन कोडिंग का उपयोग करती हैं।<ref>
Line 77: Line 76:
</ref>
</ref>


हालांकि यह एक बहुत अच्छा कोड नहीं है, एक साधारण दोहराव वाला कोड समझने योग्य उदाहरण के रूप में काम कर सकता है। मान लीजिए हम डेटा बिट्स का एक ब्लॉक लेते हैं और इसे तीन बार भेजते हैं। रिसीवर पर हम तीन दोहरावों की बिट दर बिट जांच करेंगे और बहुमत वोट लेंगे। इसमें समस्या यह है कि हम केवल बिट्स को क्रम में नहीं भेजते हैं बल्कि हम उन्हें निकालते भी हैं। डेटा बिट समूह को पहले 4 छोटे समूहों में बांटा जाता है। फिर हम समूह के बिट भेजने का सिलसिला शुरू करते हैं और पहले एक बिट भेजते हैं, फिर दूसरा, आदि। यह डिस्क की सतह पर डेटा को लिखने के लिए तीन बार किया जाता है। सरल दोहराने वाले कोड के संदर्भ में, यह प्रभावी प्रतीत नहीं हो सकता है। हालांकि, अधिक शक्तिशाली कोड ज्ञात हैं जो इस इंटरलीविंग तकनीक का उपयोग करते समय खरोंच या धूल के धब्बे की बौछार त्रुटि को ठीक करने में बहुत प्रभावी होते हैं।
हालांकि यह बहुत अच्छा कोड नहीं है, एक साधारण दोहराव वाला कोड समझने योग्य उदाहरण के रूप में काम कर सकता है। मान लीजिए हम डेटा बिट्स का एक ब्लॉक लेते हैं और इसे तीन बार भेजते हैं। रिसीवर पर हम तीन दोहरावों की बिट दर बिट जांच करते हैं और बहुमत वोट लेते हैं। इसमें समस्या यह है कि हम केवल बिट्स को क्रम में नहीं भेजते हैं बल्कि हम उन्हें निकालते भी हैं। डेटा बिट समूह को पहले 4 छोटे समूहों में बांटा जाता है। फिर हम समूह के बिट भेजने का सिलसिला शुरू करते हैं और पहले एक बिट भेजते हैं, फिर दूसरा, आदि। यह डिस्क की सतह पर डेटा को लिखने के लिए तीन बार किया जाता है। सरल दोहराने वाले कोड के संदर्भ में, यह प्रभावी प्रतीत नहीं हो सकता है। हालांकि, अधिक शक्तिशाली कोड ज्ञात हैं जो इस इंटरलीविंग तकनीक का उपयोग करते समय खरोंच या धूल के धब्बे की बौछार त्रुटि को ठीक करने में बहुत प्रभावी होते हैं।


अन्य कोड विभिन्न अनुप्रयोगों के लिए अधिक उपयुक्त हैं। गहन अंतरिक्ष संचार, रिसीवर के [[थर्मल शोर]] से सीमित होते हैं जो बौछार वाली प्रकृति की तुलना में निरंतर प्रकृति का अधिक होता है। इसी तरह, नैरोबैंड मोडेम टेलीफोन नेटवर्क में मौजूद शोर से सीमित होते हैं और निरंतर गड़बड़ी के रूप में भी बेहतर तरीके से तैयार किए जाते हैं।{{Citation needed|date=July 2008}} सेल फोन रैपिड फेडिंग के अधीन हैं। उच्च आवृत्तियाँ का उपयोग, सिग्नल के रैपिड फेडिंग होने का कारण बन सकती हैं, भले ही रिसीवर कुछ इंच आगे बढ़ जाए। फिर से  माध्यम कोड का एक वर्ग है जो कॉम्बैट फेडिंग के लिए डिज़ाइन किया गया है।{{Citation needed|date=July 2008}}
अन्य कोड विभिन्न अनुप्रयोगों के लिए अधिक उपयुक्त हैं। गहन अंतरिक्ष संचार, रिसीवर के [[थर्मल शोर]] से सीमित होते हैं जो बौछार वाली प्रकृति की तुलना में निरंतर प्रकृति का होता है। इसी तरह, नैरोबैंड मोडेम टेलीफोन नेटवर्क में मौजूद शोर से सीमित होते हैं और निरंतर गड़बड़ी के रूप में भी बेहतर तरीके से तैयार किए जाते हैं। सेल फोन रैपिड फेडिंग के अधीन होते हैं। उच्च आवृत्तियाँ का उपयोग, सिग्नल के रैपिड फेडिंग होने का कारण बन सकती हैं, भले ही रिसीवर कुछ इंच आगे बढ़ जाए। फिर से  माध्यम कोड का एक वर्ग है जो कॉम्बैट फेडिंग के लिए डिज़ाइन किया गया है।
=== रैखिक कोड ===
=== रैखिक कोड ===
{{Main|रैखिक कोड}}
{{Main|रैखिक कोड}}
बीजगणितीय कोडिंग सिद्धांत शब्द कोडिंग सिद्धांत के उप-क्षेत्र को दर्शाता है जहां कोड के गुणों को बीजगणितीय पदों में व्यक्त किया जाता है और फिर आगे शोध किया जाता है।{{Citation needed|date=July 2008}}
बीजगणितीय कोडिंग थ्योरी शब्द कोडिंग थ्योरी के उप-क्षेत्र को दर्शाता है जहां कोड के गुणों को बीजगणितीय पदों में व्यक्त किया जाता है और फिर आगे शोध किया जाता है।


बीजगणितीय कोडिंग सिद्धांत को मूल रूप से दो प्रमुख प्रकार के कोड में विभाजित किया गया है:{{Citation needed|date=July 2008}}
बीजगणितीय कोडिंग थ्योरी को मूल रूप से दो प्रमुख प्रकार के कोड में विभाजित किया गया है:
* रैखिक ब्लॉक कोड
* रैखिक ब्लॉक कोड
* कोंवोलुशनल कोड
* कोंवोलुशनल कोड


यह कोड के निम्नलिखित तीन गुणों का विश्लेषण करता है - मुख्य रूप से:{{Citation needed|date=July 2008}}
यह कोड के निम्नलिखित तीन गुणों का विश्लेषण करता है - मुख्य रूप से:
* कोड शब्द की लंबाई
* कोड शब्द की लंबाई
* मान्य कोड शब्दों की कुल संख्या
* मान्य कोड शब्दों की कुल संख्या
Line 108: Line 107:
# पुनरावृत्ति कोड
# पुनरावृत्ति कोड
# [[समता द्वियक|समतुल्य कोड]]
# [[समता द्वियक|समतुल्य कोड]]
# [[बहुपद कोड]] (जैसे, BCH कोड)
# [[बहुपद कोड]] (जैसे, बीसीएच कोड)
# रीड-सोलोमन कोड
# रीड-सोलोमन कोड
# [[बीजगणितीय ज्यामितीय कोड]]
# [[बीजगणितीय ज्यामितीय कोड]]
Line 116: Line 115:
ब्लॉक कोड [[गोलाकार पैकिंग|स्फीयर पैकिंग]] समस्या से जुड़े हैं, जिस पर पिछले कुछ वर्षों में कुछ ध्यान दिया गया है। दो आयामों में, कल्पना करना आसान है। टेबल पर सिक्कों का  गुच्छा लें और उन्हें एक साथ बिखेर दें। नतीजा मधुमक्खी के घोंसले की तरह एक हेक्सागोन पैटर्न है। लेकिन ब्लॉक कोड अधिक आयामों पर निर्भर करते हैं जिन्हें आसानी से नहीं देखा जा सकता है। गहरे अंतरिक्ष संचार में प्रयुक्त शक्तिशाली (24,12) बाइनरी गोले कोड 24 आयामों का उपयोग करता है। यदि एक बाइनरी कोड के रूप में उपयोग किया जाता है (जो कि यह आमतौर पर होता है) तो आयाम कोडवर्ड की लंबाई को संदर्भित करते हैं जैसा कि ऊपर परिभाषित किया गया है।
ब्लॉक कोड [[गोलाकार पैकिंग|स्फीयर पैकिंग]] समस्या से जुड़े हैं, जिस पर पिछले कुछ वर्षों में कुछ ध्यान दिया गया है। दो आयामों में, कल्पना करना आसान है। टेबल पर सिक्कों का  गुच्छा लें और उन्हें एक साथ बिखेर दें। नतीजा मधुमक्खी के घोंसले की तरह एक हेक्सागोन पैटर्न है। लेकिन ब्लॉक कोड अधिक आयामों पर निर्भर करते हैं जिन्हें आसानी से नहीं देखा जा सकता है। गहरे अंतरिक्ष संचार में प्रयुक्त शक्तिशाली (24,12) बाइनरी गोले कोड 24 आयामों का उपयोग करता है। यदि एक बाइनरी कोड के रूप में उपयोग किया जाता है (जो कि यह आमतौर पर होता है) तो आयाम कोडवर्ड की लंबाई को संदर्भित करते हैं जैसा कि ऊपर परिभाषित किया गया है।


कोडिंग का सिद्धांत N-आयामी गोलाकार मॉडल का उपयोग करता है। उदाहरण के लिए, टेबलटॉप पर एक सर्कल में कितने सिक्के पैक किए जा सकते हैं, या 3 आयामों में कितने कंचे ग्लोब में पैक किए जा सकते हैं। अन्य विचार एक कोड की पसंद दर्ज करते हैं। उदाहरण के लिए, आयताकार बॉक्स की सीमा में हेक्सागोन पैकिंग कोनों पर खाली जगह छोड़ देगी। जैसे-जैसे आयाम बड़े होते जाते हैं, रिक्त स्थान का प्रतिशत छोटा होता जाता है। लेकिन कुछ आयामों पर, पैकिंग सभी जगह का उपयोग करती है और ये कोड तथाकथित [[हैमिंग बाध्य|संपन्न]] कोड होते हैं। केवल अतुच्छ और उपयोगी [[हैमिंग बाध्य|संपन्न]] कोड दूरी -3 हैमिंग कोड हैं जो पैरामीटर संतोषजनक (2r - 1, 2r - 1 - r, 3), और [23,12,7] बाइनरी और [11,6,5] टर्नरी गोले-कोड के साथ हैं।<sup><ref name="terras">
कोडिंग का सिद्धांत N-आयामी गोलाकार मॉडल का उपयोग करता है। उदाहरण के लिए, टेबलटॉप पर एक सर्कल में कितने सिक्के पैक किए जा सकते हैं, या 3 आयामों में कितने कंचे ग्लोब में पैक किए जा सकते हैं। अन्य विचार एक कोड की पसंद दर्शाते करते हैं। उदाहरण के लिए, आयताकार बॉक्स की सीमा में हेक्सागोन पैकिंग कोनों पर खाली जगह छोड़ देगी। जैसे-जैसे आयाम बड़े होते जाते हैं, रिक्त स्थान का प्रतिशत छोटा होता जाता है। लेकिन कुछ आयामों पर, पैकिंग सभी जगह का उपयोग करती है और ये कोड तथाकथित [[हैमिंग बाध्य|संपन्न]] कोड होते हैं। केवल अतुच्छ और उपयोगी [[हैमिंग बाध्य|संपन्न]] कोड दूरी -3 हैमिंग कोड हैं जो पैरामीटर संतोषजनक (2r - 1, 2r - 1 - r, 3), और [23,12,7] बाइनरी और [11,6,5] टर्नरी गोले-कोड के साथ हैं।<sup><ref name="terras">
{{cite book | title = Fourier Analysis on Finite Groups and Applications |first=Audrey |last=Terras |author-link=Audrey Terras| publisher = [[Cambridge University Press]] | year = 1999 | isbn = 978-0-521-45718-7 | url = https://archive.org/details/fourieranalysiso0000terr | url-access = registration | page = [https://archive.org/details/fourieranalysiso0000terr/page/195 195] }}</ref><ref name="blahut">{{cite book |title = डेटा ट्रांसमिशन के लिए बीजगणितीय कोड|first=Richard E. |last=Blahut | publisher = Cambridge University Press | year = 2003 | isbn = 978-0-521-55374-2 | url = https://books.google.com/books?id=n0XHMY58tL8C&pg=PA60}}
{{cite book | title = Fourier Analysis on Finite Groups and Applications |first=Audrey |last=Terras |author-link=Audrey Terras| publisher = [[Cambridge University Press]] | year = 1999 | isbn = 978-0-521-45718-7 | url = https://archive.org/details/fourieranalysiso0000terr | url-access = registration | page = [https://archive.org/details/fourieranalysiso0000terr/page/195 195] }}</ref><ref name="blahut">{{cite book |title = डेटा ट्रांसमिशन के लिए बीजगणितीय कोड|first=Richard E. |last=Blahut | publisher = Cambridge University Press | year = 2003 | isbn = 978-0-521-55374-2 | url = https://books.google.com/books?id=n0XHMY58tL8C&pg=PA60}}
</ref>
</ref>
Line 130: Line 129:
  }}</ref><sup>एक उदाहरण के रूप में फिर से सिक्कों पर विचार करें। पहले हम सिक्के को एक आयताकार ग्रिड में पैक करते हैं। प्रत्येक सिक्के में 4 निकटवर्ती पड़ोसी होंगे (और 4 कोनों पर जो दूर हैं)। एक षट्भुज में, प्रत्येक सिक्के में 6 निकट पड़ोसी होंगे। जब हम आयाम बढ़ाते हैं तो निकट पड़ोसियों की संख्या बहुत तेजी से बढ़ती है। नतीजा यह है कि रिसीवर को पड़ोसी चुनने के लिए शोर के तरीकों की संख्या (इसलिए एक त्रुटि) भी बढ़ती है। यह ब्लॉक कोड और वास्तव में सभी कोड की मूलभूत सीमा है। किसी एक पड़ोसी के लिए त्रुटि करना कठिन हो सकता है, लेकिन पड़ोसियों की संख्या काफी बड़ी हो सकती है, इसलिए कुल त्रुटि संभावना वास्तव में समस्या होती है।<ref name="schlegel" /></big>
  }}</ref><sup>एक उदाहरण के रूप में फिर से सिक्कों पर विचार करें। पहले हम सिक्के को एक आयताकार ग्रिड में पैक करते हैं। प्रत्येक सिक्के में 4 निकटवर्ती पड़ोसी होंगे (और 4 कोनों पर जो दूर हैं)। एक षट्भुज में, प्रत्येक सिक्के में 6 निकट पड़ोसी होंगे। जब हम आयाम बढ़ाते हैं तो निकट पड़ोसियों की संख्या बहुत तेजी से बढ़ती है। नतीजा यह है कि रिसीवर को पड़ोसी चुनने के लिए शोर के तरीकों की संख्या (इसलिए एक त्रुटि) भी बढ़ती है। यह ब्लॉक कोड और वास्तव में सभी कोड की मूलभूत सीमा है। किसी एक पड़ोसी के लिए त्रुटि करना कठिन हो सकता है, लेकिन पड़ोसियों की संख्या काफी बड़ी हो सकती है, इसलिए कुल त्रुटि संभावना वास्तव में समस्या होती है।<ref name="schlegel" /></big>


कई अनुप्रयोगों में रैखिक ब्लॉक कोड के गुणों का उपयोग किया जाता है। उदाहरण के लिए, रेखीय ब्लॉक कोड के सिंड्रोम-कोसेट विशिष्टता गुण का उपयोग ट्रेलिस को आकार देने में किया जाता है,<ref>{{cite journal |first=G.D. Jr. |last=Forney |author-link=Dave Forney |title=ट्रेलिस को आकार देना|journal=IEEE Transactions on Information Theory |volume=38 |issue=2 Pt 2 |pages=281–300 |date=March 1992 |doi=10.1109/18.119687 |s2cid=37984132 }}</ref> सबसे प्रचलित [[आकार देने वाले कोड]] में से एक।
कई अनुप्रयोगों में रैखिक ब्लॉक कोड के गुणों का उपयोग किया जाता है। उदाहरण के लिए, रेखीय ब्लॉक कोड के सिंड्रोम-कोसेट विशिष्टता गुण का उपयोग ट्रेलिस शेपिंग, सबसे प्रचलित [[आकार देने वाले कोड]] में से एक, में किया जाता है,<ref>{{cite journal |first=G.D. Jr. |last=Forney |author-link=Dave Forney |title=ट्रेलिस को आकार देना|journal=IEEE Transactions on Information Theory |volume=38 |issue=2 Pt 2 |pages=281–300 |date=March 1992 |doi=10.1109/18.119687 |s2cid=37984132 }}</ref>


==== कोंवोलुशनल कोड ====
==== कोंवोलुशनल कोड ====
Line 148: Line 147:
{{main|क्रिप्टोग्राफी}}
{{main|क्रिप्टोग्राफी}}


क्रिप्टोग्राफी या क्रिप्टोग्राफिक कोडिंग तीसरे पक्ष (जिसे [[विरोधी (क्रिप्टोग्राफी)|विरोधी]] कहा जाता है) की उपस्थिति में [[सुरक्षित संचार]] के लिए तकनीकों का अभ्यास और अध्ययन है।<ref name="rivest90">{{cite book|first=Ronald L.|last=Rivest|author-link=Ron Rivest|editor=J. Van Leeuwen|title=सैद्धांतिक कंप्यूटर विज्ञान की पुस्तिका|chapter=Cryptology|volume=1|publisher=Elsevier|year=1990}}</ref> अधिक सामान्यतः, यह [[संचार प्रोटोकॉल]] के निर्माण और विश्लेषण के बारे में है जो विरोधियों को रोकता है;<ref name="modern-crypto">{{Cite book|first1=Mihir|last1=Bellare|first2=Phillip|last2=Rogaway|title=आधुनिक क्रिप्टोग्राफी का परिचय|chapter=Introduction|page=10|date=21 September 2005}}</ref> [[सूचना सुरक्षा]] में विभिन्न पहलू जैसे डेटा [[गोपनीयता]], [[डेटा अखंडता]], [[प्रमाणीकरण]] और गैर-अस्वीकृति<ref name="hac">{{cite book |first1=A. J. |last1=Menezes |first2=P. C. |last2=van Oorschot |first3=S. A. |last3=Vanstone |url=https://archive.org/details/handbookofapplie0000mene |title=एप्लाइड क्रिप्टोग्राफी की पुस्तिका|isbn=978-0-8493-8523-0 |year=1997 |url-access=registration }}</ref> आधुनिक क्रिप्टोग्राफी के केंद्र हैं। आधुनिक क्रिप्टोग्राफी गणित, [[संगणक]] विज्ञान और इलेक्ट्रिकल इंजीनियरिंग के विषयों के इंटरसेक्शन पर मौजूद है। क्रिप्टोग्राफी के अनुप्रयोगों में स्वचालित टेलर मशीन, कंप्यूटर [[पासवर्ड]] और [[इलेक्ट्रॉनिक वाणिज्य]] शामिल हैं।
क्रिप्टोग्राफी या क्रिप्टोग्राफिक कोडिंग तीसरे पक्ष (जिसे [[विरोधी (क्रिप्टोग्राफी)|प्रतिपक्षी]] कहा जाता है) की उपस्थिति में [[सुरक्षित संचार]] के लिए तकनीकों का अभ्यास और अध्ययन है।<ref name="rivest90">{{cite book|first=Ronald L.|last=Rivest|author-link=Ron Rivest|editor=J. Van Leeuwen|title=सैद्धांतिक कंप्यूटर विज्ञान की पुस्तिका|chapter=Cryptology|volume=1|publisher=Elsevier|year=1990}}</ref> अधिक सामान्यतः, यह [[संचार प्रोटोकॉल]] के निर्माण और विश्लेषण के बारे में है जो प्रतिपक्षियों को रोकता है;<ref name="modern-crypto">{{Cite book|first1=Mihir|last1=Bellare|first2=Phillip|last2=Rogaway|title=आधुनिक क्रिप्टोग्राफी का परिचय|chapter=Introduction|page=10|date=21 September 2005}}</ref> [[सूचना सुरक्षा]] में विभिन्न पहलू जैसे डेटा [[गोपनीयता]], [[डेटा अखंडता]], [[प्रमाणीकरण]] और गैर-अस्वीकृति<ref name="hac">{{cite book |first1=A. J. |last1=Men