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

From Vigyanwiki
No edit summary
No edit summary
 
(21 intermediate revisions by 7 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 11: Line 10:
</ref>
</ref>
# डेटा संपीड़न (या स्रोत कोडिंग)
# डेटा संपीड़न (या स्रोत कोडिंग)
# त्रुटि नियंत्रण (या चैनल कोडिंग)
# त्रुटि नियंत्रण (या माध्यम कोडिंग)
# क्रिप्टोग्राफी
# क्रिप्टोग्राफी
# [[लाइन कोड]]
# [[लाइन कोड]]
Line 17: Line 16:
डेटा संपीड़न किसी स्रोत से डेटा को अधिक कुशलता से प्रसारित करने के लिए अवांछित अतिरेक को हटाने का प्रयास करता है। उदाहरण के लिए, [[ज़िप (फ़ाइल स्वरूप)|ज़िप डेटा संपीड़न]] इंटरनेट ट्रैफ़िक को कम करने जैसे उद्देश्यों के लिए डेटा फ़ाइलों को छोटा बनाता है। डेटा संपीड़न और त्रुटि सुधार का संयोजन में अध्ययन किया जा सकता है।
डेटा संपीड़न किसी स्रोत से डेटा को अधिक कुशलता से प्रसारित करने के लिए अवांछित अतिरेक को हटाने का प्रयास करता है। उदाहरण के लिए, [[ज़िप (फ़ाइल स्वरूप)|ज़िप डेटा संपीड़न]] इंटरनेट ट्रैफ़िक को कम करने जैसे उद्देश्यों के लिए डेटा फ़ाइलों को छोटा बनाता है। डेटा संपीड़न और त्रुटि सुधार का संयोजन में अध्ययन किया जा सकता है।


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


[[बाइनरी भाषा में कोड]] 1949 में विकसित किया गया था। यह एक त्रुटि-सुधार कोड है जो प्रत्येक 24-बिट शब्द में तीन त्रुटियों को ठीक करने और चौथे का पता लगाने में सक्षम है।
[[बाइनरी भाषा में कोड]] 1949 में विकसित किया गया था। यह एक त्रुटि-सुधार कोड है जो प्रत्येक 24-बिट शब्द में तीन त्रुटियों को ठीक करने और चौथे का पता लगाने में सक्षम है।
Line 28: Line 27:


== स्रोत कोडिंग ==
== स्रोत कोडिंग ==
{{main|Data compression}}[[बेचा]]{{main|Data compression}}
{{main|आधार - सामग्री संकोचन}}[[बेचा]]{{main|आधार - सामग्री संकोचन}}
स्रोत कोडिंग का उद्देश्य स्रोत डेटा लेना और उसे छोटा करना है।
स्रोत कोडिंग का उद्देश्य स्रोत डेटा लेना और उसे छोटा करना है।


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 68: Line 67:
[[फैक्स]] ट्रांसमिशन एक साधारण [[रन-लेंथ एन्कोडिंग|रन-लेंथ कोड]] का उपयोग करता है। स्रोत कोडिंग ट्रांसमीटर की आवश्यकता के लिए अनावश्यक सभी डेटा को हटा देता है, जिससे ट्रांसमिशन के लिए आवश्यक बैंडविड्थ कम हो जाती है।
[[फैक्स]] ट्रांसमिशन एक साधारण [[रन-लेंथ एन्कोडिंग|रन-लेंथ कोड]] का उपयोग करता है। स्रोत कोडिंग ट्रांसमीटर की आवश्यकता के लिए अनावश्यक सभी डेटा को हटा देता है, जिससे ट्रांसमिशन के लिए आवश्यक बैंडविड्थ कम हो जाती है।


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


डिस्क पर डेटा को फैलाने के लिए सीडी क्रॉस-इंटरलीव्ड रीड-सोलोमन कोडिंग का उपयोग करती हैं।<ref>
डिस्क पर डेटा को लिखने के लिए सीडी क्रॉस-इंटरलीव्ड रीड-सोलोमन कोडिंग का उपयोग करती हैं।<ref>
Todd Campbell.
Todd Campbell.
[https://abcnews.go.com/Technology/story?id=119305&page=1 "Answer Geek: Error Correction Rule CDs"].
[https://abcnews.go.com/Technology/story?id=119305&page=1 "Answer Geek: Error Correction Rule CDs"].
</ref>
</ref>
हालांकि एक बहुत अच्छा कोड नहीं है, एक साधारण दोहराव वाला कोड समझने योग्य उदाहरण के रूप में काम कर सकता है। मान लीजिए हम डेटा बिट्स (ध्वनि का प्रतिनिधित्व) का एक ब्लॉक लेते हैं और इसे तीन बार भेजते हैं। रिसीवर पर हम तीन दोहरावों की बिट दर बिट जांच करेंगे और बहुमत वोट लेंगे। इसमें ट्विस्ट यह है कि हम केवल बिट्स को क्रम में नहीं भेजते हैं। हम उन्हें इंटरलीव करते हैं। डेटा बिट के ब्लॉक को पहले 4 छोटे ब्लॉक में बांटा जाता है। फिर हम ब्लॉक के माध्यम से साइकिल चलाते हैं और पहले से एक बिट भेजते हैं, फिर दूसरा, आदि। यह डिस्क की सतह पर डेटा को फैलाने के लिए तीन बार किया जाता है। सरल दोहराने वाले कोड के संदर्भ में, यह प्रभावी प्रतीत नहीं हो सकता है। हालांकि, अधिक शक्तिशाली कोड ज्ञात हैं जो इस इंटरलीविंग तकनीक का उपयोग करते समय खरोंच या धूल के धब्बे की फट त्रुटि को ठीक करने में बहुत प्रभावी होते हैं।


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


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


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


यह कोड के निम्नलिखित तीन गुणों का विश्लेषण करता है - मुख्य रूप से:{{Citation needed|date=July 2008}}
यह कोड के निम्नलिखित तीन गुणों का विश्लेषण करता है - मुख्य रूप से:
* कोड शब्द की लंबाई
* कोड शब्द की लंबाई
* मान्य कोड शब्दों की कुल संख्या
* मान्य कोड शब्दों की कुल संख्या
* मुख्य रूप से हैमिंग [[दूरी]] का उपयोग करते हुए दो वैध कोड शब्दों के बीच न्यूनतम दूरी, कभी-कभी [[ली दूरी]] जैसी अन्य दूरी भी
* मुख्य रूप से हैमिंग [[दूरी]] का उपयोग करते हुए दो वैध कोड शब्दों के बीच न्यूनतम दूरी, कभी-कभी [[ली दूरी|ली-दूरी]] जैसी अन्य दूरी भी


==== रैखिक ब्लॉक कोड ====
==== रैखिक ब्लॉक कोड ====
{{Main|Block code}}
{{Main|ब्लॉक कोड}}
रैखिक ब्लॉक कोड में [[रैखिकता]] का गुण होता है, अर्थात किन्हीं दो कोडवर्ड का योग भी एक कोड शब्द होता है, और उन्हें ब्लॉक में स्रोत बिट्स पर लागू किया जाता है, इसलिए नाम रैखिक ब्लॉक कोड होता है। ऐसे ब्लॉक कोड हैं जो रैखिक नहीं हैं, लेकिन यह साबित करना मुश्किल है कि इस संपत्ति के बिना एक कोड अच्छा है।<ref name=terras/>
रैखिक ब्लॉक कोड में [[रैखिकता]] का गुण होता है, अर्थात किन्हीं दो कोडवर्ड का योग भी एक कोड शब्द होता है, और उन्हें ब्लॉक में स्रोत बिट्स पर लागू किया जाता है, इसलिए नाम रैखिक ब्लॉक कोड होता है। ऐसे ब्लॉक कोड भी हैं जो रैखिक नहीं हैं, लेकिन यह साबित करना मुश्किल है कि इस विशेषता के बिना कोई कोड अच्छा है या नहीं।<ref name=terras/>


रेखीय ब्लॉक कोड को उनके प्रतीक अक्षर (जैसे, बाइनरी या टर्नरी) और पैरामीटर (एन, एम, डी) द्वारा संक्षेपित किया जाता है<sub>min</sub>)<ref name=blahut/>कहाँ पे
रेखीय ब्लॉक कोड को उनके प्रतीक अक्षर (जैसे, बाइनरी या टर्नरी) और पैरामीटर (''n'',''m'',''d<sub>min</sub>'') द्वारा संक्षेपित किया जाता है <ref name=blahut/> जहाँ पर


# n कोडवर्ड की लंबाई है, प्रतीकों में,
# n कोडवर्ड की लंबाई है, प्रतीकों में,
# एम स्रोत प्रतीकों की संख्या है जो एक बार में एन्कोडिंग के लिए उपयोग की जाएगी,
# m स्रोत प्रतीकों की संख्या है जो एक बार में एन्कोडिंग के लिए उपयोग की जाएगी,
# डी<sub>min</sub>कोड के लिए न्यूनतम हैमिंग दूरी है।
# ''d<sub>min</sub>'' कोड के लिए न्यूनतम हैमिंग दूरी है।


कई प्रकार के रैखिक ब्लॉक कोड हैं, जैसे
कई प्रकार के रैखिक ब्लॉक कोड हैं, जैसे
Line 107: Line 106:
# [[चक्रीय कोड]] (जैसे, हैमिंग कोड)
# [[चक्रीय कोड]] (जैसे, हैमिंग कोड)
# पुनरावृत्ति कोड
# पुनरावृत्ति कोड
# [[समता द्वियक]]
# [[समता द्वियक|समतुल्य कोड]]
# [[बहुपद कोड]] (जैसे, BCH कोड)
# [[बहुपद कोड]] (जैसे, बीसीएच कोड)
# रीड-सोलोमन त्रुटि सुधार|रीड-सोलोमन कोड
# रीड-सोलोमन कोड
# [[बीजगणितीय ज्यामितीय कोड]]
# [[बीजगणितीय ज्यामितीय कोड]]
# रीड-मुलर कोड
# रीड-मुलर कोड
# [[हैमिंग बाध्य]]
# [[हैमिंग बाध्य|संपन्न कोड]]


ब्लॉक कोड [[गोलाकार पैकिंग]] समस्या से जुड़े हैं, जिस पर पिछले कुछ वर्षों में कुछ ध्यान दिया गया है। दो आयामों में, कल्पना करना आसान है। टेबल पर पेनीज़ का एक गुच्छा लें और उन्हें एक साथ धकेलें। नतीजा मधुमक्खी के घोंसले की तरह एक हेक्सागोन पैटर्न है। लेकिन ब्लॉक कोड अधिक आयामों पर निर्भर करते हैं जिन्हें आसानी से नहीं देखा जा सकता है। गहरे अंतरिक्ष संचार में प्रयुक्त शक्तिशाली (24,12) बाइनरी गोले कोड 24 आयामों का उपयोग करता है। यदि एक बाइनरी कोड के रूप में उपयोग किया जाता है (जो कि यह आमतौर पर होता है) तो आयाम कोडवर्ड की लंबाई को संदर्भित करते हैं जैसा कि ऊपर परिभाषित किया गया है।
ब्लॉक कोड [[गोलाकार पैकिंग|स्फीयर पैकिंग]] समस्या से जुड़े हैं, जिस पर पिछले कुछ वर्षों में कुछ ध्यान दिया गया है। दो आयामों में, कल्पना करना आसान है। टेबल पर सिक्कों का गुच्छा लें और उन्हें एक साथ बिखेर दें। नतीजा मधुमक्खी के घोंसले की तरह एक हेक्सागोन पैटर्न है। लेकिन ब्लॉक कोड अधिक आयामों पर निर्भर करते हैं जिन्हें आसानी से नहीं देखा जा सकता है। गहरे अंतरिक्ष संचार में प्रयुक्त शक्तिशाली (24,12) बाइनरी गोले कोड 24 आयामों का उपयोग करता है। यदि एक बाइनरी कोड के रूप में उपयोग किया जाता है (जो कि यह आमतौर पर होता है) तो आयाम कोडवर्ड की लंबाई को संदर्भित करते हैं जैसा कि ऊपर परिभाषित किया गया है।


कोडिंग का सिद्धांत एन-आयामी क्षेत्र मॉडल का उपयोग करता है। उदाहरण के लिए, टेबलटॉप पर एक सर्कल में कितने पैसे पैक किए जा सकते हैं, या 3 आयामों में कितने मार्बल्स ग्लोब में पैक किए जा सकते हैं। अन्य विचार एक कोड की पसंद दर्ज करते हैं। उदाहरण के लिए, एक आयताकार बॉक्स की बाधा में हेक्सागोन पैकिंग कोनों पर खाली जगह छोड़ देगी। जैसे-जैसे आयाम बड़े होते जाते हैं, रिक्त स्थान का प्रतिशत छोटा होता जाता है। लेकिन कुछ आयामों पर, पैकिंग सभी जगह का उपयोग करती है और ये कोड तथाकथित सही कोड होते हैं। पैरामीटर संतोषजनक (2<sup>आर</सुप> - 1, 2<sup>r</sup> - 1 - r, 3), और [23,12,7] बाइनरी और [11,6,5] टर्नरी गोले कोड।<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>
एक अन्य कोड गुण पड़ोसियों की संख्या है जो एक एकल कोडवर्ड हो सकता है।<ref name=schlegel>
 
<sup><big>एक अन्य कोड गुण पड़ोसियों की संख्या है जो एक एकल कोडवर्ड हो सकता है।<ref name="schlegel">
{{cite book
{{cite book
  | title = Trellis and turbo coding
  | title = Trellis and turbo coding
Line 127: Line 127:
  | page = 73
  | page = 73
  | url = https://books.google.com/books?id=9wRCjfGAaEcC&pg=PA73
  | url = https://books.google.com/books?id=9wRCjfGAaEcC&pg=PA73
  }}</ref>
  }}</ref><sup>एक उदाहरण के रूप में फिर से सिक्कों पर विचार करें। पहले हम सिक्के को एक आयताकार ग्रिड में पैक करते हैं। प्रत्येक सिक्के में 4 निकटवर्ती पड़ोसी होंगे (और 4 कोनों पर जो दूर हैं)। एक षट्भुज में, प्रत्येक सिक्के में 6 निकट पड़ोसी होंगे। जब हम आयाम बढ़ाते हैं तो निकट पड़ोसियों की संख्या बहुत तेजी से बढ़ती है। नतीजा यह है कि रिसीवर को पड़ोसी चुनने के लिए शोर के तरीकों की संख्या (इसलिए एक त्रुटि) भी बढ़ती है। यह ब्लॉक कोड और वास्तव में सभी कोड की मूलभूत सीमा है। किसी एक पड़ोसी के लिए त्रुटि करना कठिन हो सकता है, लेकिन पड़ोसियों की संख्या काफी बड़ी हो सकती है, इसलिए कुल त्रुटि संभावना वास्तव में समस्या होती है।<ref name="schlegel" /></big>
एक उदाहरण के रूप में फिर से पेनीज़ पर विचार करें। पहले हम पैसे को एक आयताकार ग्रिड में पैक करते हैं। प्रत्येक पेनी में 4 निकटवर्ती पड़ोसी होंगे (और 4 कोनों पर जो दूर हैं)। एक षट्भुज में, प्रत्येक पैसे में 6 निकट पड़ोसी होंगे। जब हम आयाम बढ़ाते हैं तो निकट पड़ोसियों की संख्या बहुत तेजी से बढ़ती है। नतीजा यह है कि रिसीवर को पड़ोसी चुनने के लिए शोर के तरीकों की संख्या (इसलिए एक त्रुटि) भी बढ़ती है। यह ब्लॉक कोड और वास्तव में सभी कोड की मूलभूत सीमा है। किसी एक पड़ोसी के लिए त्रुटि करना कठिन हो सकता है, लेकिन पड़ोसियों की संख्या काफी बड़ी हो सकती है, इसलिए कुल त्रुटि संभावना वास्तव में पीड़ित होती है।<ref name=schlegel/>


कई अनुप्रयोगों में रैखिक ब्लॉक कोड के गुणों का उपयोग किया जाता है। उदाहरण के लिए, रेखीय ब्लॉक कोड के सिंड्रोम-कोसेट विशिष्टता गुण का उपयोग ट्रेलिस को आकार देने में किया जाता है,<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>


==== संवादात्मक कोड ====
==== कोंवोलुशनल कोड ====
{{Main|Convolutional code}}
{{Main|कोंवोलुशनल कोड}}
कनवल्शनल कोड के पीछे का विचार यह है कि प्रत्येक कोडवर्ड प्रतीक को विभिन्न इनपुट संदेश प्रतीकों का भारित योग बनाया जाए। जब आप इनपुट और आवेग प्रतिक्रिया जानते हैं, तो यह सिस्टम के आउटपुट को खोजने के लिए [[रैखिक समय अपरिवर्तनीय]] प्रणालियों में उपयोग किए जाने वाले कनवल्शन की तरह है।


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


मौलिक रूप से, कनवल्शनल कोड समतुल्य ब्लॉक कोड की तुलना में शोर से अधिक सुरक्षा प्रदान नहीं करते हैं। कई मामलों में, वे आम तौर पर समान शक्ति के ब्लॉक कोड पर कार्यान्वयन की अधिक सरलता प्रदान करते हैं। एनकोडर आमतौर पर एक साधारण सर्किट होता है जिसमें स्टेट मेमोरी और कुछ फीडबैक लॉजिक होता है, आमतौर पर XOR गेट्स। डिकोडिंग विधियों को सॉफ्टवेयर या फर्मवेयर में लागू किया जा सकता है।
इसलिए हम आम तौर पर सिस्टम कोंवोलुशनल एनकोडर का आउटपुट पाते हैं, जो कि कोंवोलुशन एनकोडर, रजिस्टरों की स्थिति के विरुद्ध इनपुट बिट का कोंवोलुशन है।


Viterbi एल्गोरिथ्म इष्टतम एल्गोरिथ्म है जिसका उपयोग दृढ़ कोड को डिकोड करने के लिए किया जाता है। कम्प्यूटेशनल लोड को कम करने के लिए सरलीकरण हैं। वे केवल सबसे संभावित रास्तों की खोज पर भरोसा करते हैं। हालांकि इष्टतम नहीं, वे आमतौर पर कम शोर वाले वातावरण में अच्छे परिणाम देते पाए गए हैं।
मौलिक रूप से, कोंवोलुशनल कोड समतुल्य ब्लॉक कोड की तुलना में शोर से अधिक सुरक्षा प्रदान नहीं करते हैं। कई मामलों में, वे आम तौर पर समान शक्ति के ब्लॉक कोड पर कार्यान्वयन की अधिक सरलता प्रदान करते हैं। एनकोडर आमतौर पर एक साधारण सर्किट होता है जिसमें स्टेट मेमोरी और कुछ फीडबैक लॉजिक होता है, आमतौर पर XOR गेट्स। डिकोडिंग विधियों को सॉफ्टवेयर या फर्मवेयर में लागू किया जा सकता है।


[[घुमाव]] कोड वॉयसबैंड मोडेम (वी.32, वी.17, वी.34) और जीएसएम मोबाइल फोन के साथ-साथ उपग्रह और सैन्य संचार उपकरणों में उपयोग किए जाते हैं।
वितेर्बी एल्गोरिथ्म इष्टतम एल्गोरिथ्म है जिसका उपयोग कोंवोलुशनल कोड को डिकोड करने के लिए किया जाता है। कम्प्यूटेशनल लोड को कम करने के लिए सरलीकरण हैं। वे केवल सबसे संभावित रास्तों की खोज पर भरोसा करते हैं। हालांकि इष्टतम नहीं, वे आमतौर पर कम शोर वाले वातावरण में अच्छे परिणाम देते पाए गए हैं।
 
[[घुमाव|कोंवोलुशनल]] कोड वॉयसबैंड मोडेम (वी.32, वी.17, वी.34) और जीएसएम मोबाइल फोन के साथ-साथ उपग्रह और सैन्य संचार उपकरणों में उपयोग किए जाते हैं।


== क्रिप्टोग्राफिक कोडिंग ==
== क्रिप्टोग्राफिक कोडिंग ==
{{main|Cryptography}}
{{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=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> आधुनिक क्रिप्टोग्राफी के केंद्र हैं। आधुनिक क्रिप्टोग्राफी गणित, [[संगणक]] विज्ञान और इलेक्ट्रिकल इंजीनियरिंग के विषयों के संगम पर मौजूद है। क्रिप्टोग्राफी के अनुप्रयोगों में स्वचालित टेलर मशीन, कंप्यूटर [[पासवर्ड]] और [[इलेक्ट्रॉनिक वाणिज्य]] सम्मिलित हैं।


आधुनिक युग से पहले क्रिप्टोग्राफी प्रभावी रूप से [[कूटलेखन]] का पर्यायवाची थी, एक पठनीय स्थिति से स्पष्ट [[बकवास]] में सूचना का रूपांतरण। एक एन्क्रिप्टेड संदेश के प्रवर्तक ने मूल जानकारी को पुनर्प्राप्त करने के लिए आवश्यक डिकोडिंग तकनीक को केवल इच्छित प्राप्तकर्ताओं के साथ साझा किया, जिससे अवांछित व्यक्तियों को ऐसा करने से रोका जा सके। प्रथम विश्व युद्ध और कंप्यूटर के आगमन के बाद से, क्रिप्टोलॉजी करने के लिए उपयोग की जाने वाली विधियाँ तेजी से जटिल हो गई हैं और इसका अनुप्रयोग अधिक व्यापक हो गया है।
आधुनिक युग से पहले क्रिप्टोग्राफी प्रभावी रूप से [[कूटलेखन|कूटलेखन, स्पष्ट]] [[बकवास|अनर्थक]] सूचना का पठनीय स्थिति से रूपांतरण, का पर्यायवाची था। एन्क्रिप्टेड संदेश के प्रवर्तक ने मूल जानकारी को पुनर्प्राप्त करने के लिए आवश्यक डिकोडिंग तकनीक को केवल इच्छित प्राप्तकर्ताओं के साथ साझा किया, जिससे अवांछित व्यक्तियों को ऐसा करने से रोका जा सके। प्रथम विश्व युद्ध और कंप्यूटर के आगमन के बाद से, क्रिप्टोलॉजी करने के लिए उपयोग की जाने वाली विधियाँ तेजी से जटिल हो गई हैं और इसका अनुप्रयोग अधिक व्यापक हो गया है।


आधुनिक क्रिप्टोग्राफी काफी हद तक गणितीय सिद्धांत और कंप्यूटर विज्ञान अभ्यास पर आधारित है; क्रिप्टोग्राफ़िक एल्गोरिदम को कम्प्यूटेशनल कठोरता मान्यताओं के आसपास डिज़ाइन किया गया है, ऐसे एल्गोरिदम को किसी भी विरोधी द्वारा व्यवहार में तोड़ना कठिन बना दिया गया है। इस तरह की प्रणाली को तोड़ना सैद्धांतिक रूप से संभव है, लेकिन किसी ज्ञात व्यावहारिक माध्यम से ऐसा करना संभव नहीं है। इसलिए इन योजनाओं को कम्प्यूटेशनल रूप से सुरक्षित कहा जाता है; सैद्धांतिक प्रगति, उदाहरण के लिए, पूर्णांक गुणनखंड एल्गोरिदम में सुधार, और तेज़ कंप्यूटिंग तकनीक के लिए इन समाधानों को लगातार अनुकूलित करने की आवश्यकता होती है। [[सूचना सैद्धांतिक सुरक्षा]] मौजूद है। सूचना-सैद्धांतिक रूप से सुरक्षित योजनाएं हैं {{not a typo|provably}} असीमित कंप्यूटिंग शक्ति के साथ भी नहीं तोड़ा जा सकता है - एक उदाहरण एक बार का पैड है - लेकिन इन योजनाओं को लागू करना सैद्धांतिक रूप से भंग करने योग्य लेकिन कम्प्यूटेशनल रूप से सुरक्षित तंत्र की तुलना में अधिक कठिन है।
आधुनिक क्रिप्टोग्राफी काफी हद तक गणितीय सिद्धांत और कंप्यूटर विज्ञान के अभ्यास पर आधारित है; क्रिप्टोग्राफ़िक एल्गोरिदम को कम्प्यूटेशनल कठोरता मान्यताओं के आसपास डिज़ाइन किया गया है, ऐसे एल्गोरिदम को किसी भी [[विरोधी (क्रिप्टोग्राफी)|प्रतिपक्षी]] द्वारा व्यवहार में तोड़ना कठिन बना दिया गया है। इस तरह की प्रणाली को तोड़ना सैद्धांतिक रूप से संभव है, लेकिन किसी ज्ञात व्यावहारिक माध्यम से ऐसा करना संभव नहीं है। इसलिए इन योजनाओं को कम्प्यूटेशनल रूप से सुरक्षित कहा जाता है; सैद्धांतिक प्रगति, उदाहरण के लिए, पूर्णांक गुणनखंड एल्गोरिदम में सुधार, और तेज़ कंप्यूटिंग तकनीक के लिए इन समाधानों को लगातार अनुकूलित करने की आवश्यकता होती है। [[सूचना सैद्धांतिक सुरक्षा]] मौजूद है। सूचना-सैद्धांतिक रूप से सुरक्षित योजनाएं हैं जो असीमित कंप्यूटिंग शक्ति के साथ भी नहीं तोड़ी जा सकती हैं - एक उदाहरण वन-टाइम पैड है - लेकिन इन योजनाओं को लागू करना, सैद्धांतिक रूप से भंग करने योग्य लेकिन कम्प्यूटेशनल रूप से सुरक्षित तंत्र की तुलना में अधिक कठिन है।


== लाइन कोडिंग ==
== लाइन कोडिंग ==
{{main|Line code}}
{{main|लाइन कोड}}
एक लाइन कोड (जिसे डिजिटल [[बेसबैंड]] मॉड्यूलेशन या डिजिटल बेसबैंड ट्रांसमिशन विधि भी कहा जाता है) बेसबैंड ट्रांसमिशन (दूरसंचार) उद्देश्यों के लिए [[संचार प्रणाली]] के भीतर उपयोग के लिए चुना गया कोड है। लाइन कोडिंग का उपयोग अक्सर डिजिटल डेटा ट्रांसपोर्ट के लिए किया जाता है।
 
लाइन कोड (जिसे डिजिटल [[बेसबैंड]] मॉड्यूलेशन या डिजिटल बेसबैंड ट्रांसमिशन विधि भी कहा जाता है) बेसबैंड ट्रांसमिशन उद्देश्यों के लिए [[संचार प्रणाली]] के भीतर उपयोग के लिए चुना गया कोड है। लाइन कोडिंग का उपयोग अक्सर डिजिटल डेटा ट्रांसपोर्ट के लिए किया जाता है।


लाइन कोडिंग में [[डिजिटल सिग्नल (इलेक्ट्रॉनिक्स)]] का प्रतिनिधित्व एक आयाम- और समय-असतत सिग्नल द्वारा किया जाता है जो भौतिक चैनल (और प्राप्त करने वाले उपकरण) के विशिष्ट गुणों के लिए इष्टतम रूप से ट्यून किया जाता है। ट्रांसमिशन लिंक पर डिजिटल डेटा के 1s और 0s का प्रतिनिधित्व करने के लिए उपयोग किए जाने वाले वोल्टेज या करंट के [[तरंग]] पैटर्न को लाइन एन्कोडिंग कहा जाता है। लाइन एन्कोडिंग के सामान्य प्रकार यूनि[[ध्रुवीय कोडिंग]], पोलर एन्कोडिंग, [[द्विध्रुवी एन्कोडिंग]] और [[मैनचेस्टर एन्कोडिंग]] हैं।
लाइन कोडिंग में [[डिजिटल सिग्नल (इलेक्ट्रॉनिक्स)|डिजिटल सिग्नल]] का प्रतिनिधित्व आयाम- और समय-असतत सिग्नल द्वारा किया जाता है जो भौतिक माध्यम (और प्राप्त करने वाले उपकरण) के विशिष्ट गुणों के लिए इष्टतम रूप से ट्यून किया जाता है। संचरण कड़ी पर डिजिटल डेटा के 1s और 0s का प्रतिनिधित्व करने के लिए उपयोग किए जाने वाले वोल्टेज या करंट के [[तरंग]] पैटर्न को लाइन एन्कोडिंग कहा जाता है। लाइन एन्कोडिंग के सामान्य प्रकार एकल[[ध्रुवीय कोडिंग|ध्रुवीय एन्कोडिंग]], पोलर एन्कोडिंग, [[द्विध्रुवी एन्कोडिंग]] और [[मैनचेस्टर एन्कोडिंग]] हैं।


== कोडिंग सिद्धांत के अन्य अनुप्रयोग ==
== कोडिंग थ्योरी के अन्य अनुप्रयोग ==
{{misleading|date=August 2012}}
कोडिंग थ्योरी की एक और चिंता कोड डिजाइन करना है जो [[तादात्म्य|तुल्यकालन]] में मदद करती है। कोड डिज़ाइन किया जा सकता है ताकि फेज शिफ्ट को आसानी से पता लगाया जा सके और ठीक किया जा सके और एक ही माध्यम पर कई सिग्नल भेजे जा सकें।
कोडिंग सिद्धांत की एक और चिंता कोड डिजाइन करना है जो [[तादात्म्य]] में मदद करती है। एक कोड डिज़ाइन किया जा सकता है ताकि एक चरण (तरंगों) को आसानी से पता लगाया जा सके और ठीक किया जा सके और एक ही चैनल पर कई सिग्नल भेजे जा सकें।{{Citation needed|date=July 2008}}
कोड का एक अन्य अनुप्रयोग, जिसका उपयोग कुछ मोबाइल फोन प्रणालियों में किया जाता है, [[कोड डिवीजन मल्टीपल एक्सेस]] (सीडीएमए) है। प्रत्येक फोन को एक कोड अनुक्रम दिया जाता है जो अन्य फोन के कोड से लगभग असंबद्ध होता है।{{Citation needed|date=July 2008}} संचारण करते समय, ध्वनि संदेश का प्रतिनिधित्व करने वाले डेटा बिट्स को संशोधित करने के लिए कोड शब्द का उपयोग किया जाता है। रिसीवर पर, डेटा को पुनर्प्राप्त करने के लिए एक डिमॉड्यूलेशन प्रक्रिया की जाती है। कोड के इस वर्ग के गुण कई उपयोगकर्ताओं (विभिन्न कोडों के साथ) को एक ही समय में एक ही रेडियो चैनल का उपयोग करने की अनुमति देते हैं। रिसीवर के लिए, अन्य उपयोगकर्ताओं के सिग्नल डेमोडुलेटर को केवल निम्न-स्तर के शोर के रूप में दिखाई देंगे।{{Citation needed|date=July 2008}}
कोड का एक अन्य सामान्य वर्ग स्वचालित रिपीट-रिक्वेस्ट (ARQ) कोड हैं। इन कोडों में प्रेषक प्रत्येक संदेश में त्रुटि जाँच के लिए अतिरेक जोड़ता है, आमतौर पर चेक बिट्स जोड़कर। यदि चेक बिट आने पर बाकी संदेश के अनुरूप नहीं है, तो रिसीवर प्रेषक से संदेश को फिर से भेजने के लिए कहेगा। सरलतम [[वाइड एरिया नेटवर्क]] प्रोटोकॉल को छोड़कर सभी ARQ का उपयोग करते हैं। सामान्य प्रोटोकॉल में [[तुल्यकालिक डेटा लिंक नियंत्रण]] (IBM), [[ट्रांसमिशन कंट्रोल प्रोटोकॉल]] (इंटरनेट), X.25 (इंटरनेशनल) और कई अन्य शामिल हैं। एक नए पैकेट के खिलाफ एक अस्वीकृत पैकेट के मिलान की समस्या के कारण इस विषय पर शोध का एक व्यापक क्षेत्र है। क्या यह नया है या यह एक पुन: प्रसारण है? आमतौर पर नंबरिंग स्कीम का इस्तेमाल किया जाता है, जैसा कि टीसीपी में होता है।{{cite web |url= http://tools.ietf.org/html/rfc793 |title= उसने इसे लात मारी|work= RFCs|publisher= [[Internet Engineering Task Force]] (IETF) |date= September 1981}}


कोड का एक अन्य अनुप्रयोग, जिसका उपयोग कुछ मोबाइल फोन प्रणालियों में किया जाता है, [[कोड डिवीजन मल्टीपल एक्सेस|कोड डिवीजन मल्टीपलएक्सेस]] (सीडीएमए) है। प्रत्येक फोन को एक कोड अनुक्रम दिया जाता है जो अन्य फोन के कोड से लगभग असंबद्ध होता है। संचारण करते समय, ध्वनि संदेश का प्रतिनिधित्व करने वाले डेटा बिट्स को संशोधित करने के लिए कोड शब्द का उपयोग किया जाता है। रिसीवर पर, डेटा को पुनर्प्राप्त करने के लिए एक डिमॉड्यूलेशन प्रक्रिया की जाती है। कोड के इस वर्ग के गुण कई उपयोगकर्ताओं (विभिन्न कोडों के साथ) को एक ही समय में एक ही रेडियो माध्यम का उपयोग करने की अनुमति देते हैं। रिसीवर के लिए अन्य उपयोगकर्ताओं के सिग्नल, डेमोडुलेटर को केवल निम्न-स्तर के शोर के रूप में ही दिखाई देंगे।


कोड का एक अन्य सामान्य वर्ग स्वचालित रिपीट-रिक्वेस्ट (एआरक्यू) कोड हैं। इन कोडों में प्रेषक प्रत्येक संदेश में त्रुटि जाँच के लिए आमतौर पर चेक बिट्स जोड़कर, अतिरेक जोड़ता है, । यदि चेक बिट आने पर बाकी संदेश के अनुरूप नहीं है, तो रिसीवर प्रेषक से संदेश को फिर से भेजने के लिए कहेगा। सरलतम [[वाइड एरिया नेटवर्क]] प्रोटोकॉल को छोड़कर सभी एआरक्यू का उपयोग करते हैं। सामान्य प्रोटोकॉल में [[तुल्यकालिक डेटा लिंक नियंत्रण]] (आईबीएम), [[ट्रांसमिशन कंट्रोल प्रोटोकॉल]] (इंटरनेट), X.25 (इंटरनेशनल) और कई अन्य सम्मिलित हैं। नए पैकेट के खिलाफ एक अस्वीकृत पैकेट के मिलान की समस्या के कारण इस विषय पर शोध का एक व्यापक क्षेत्र है। क्या यह नया है या यह एक पुन: प्रसारण है? सामान्यतः नंबरिंग स्कीम का उपयोग किया जाता है, जैसा कि टीसीपी में होता है।{{cite web |url= http://tools.ietf.org/html/rfc793 |title= आमतौर पर नंबरिंग योजनाओं का उपयोग किया जाता है|work= RFCs|publisher= [[इंटरनेट इंजीनियरिंग टास्क फोर्स]] (आईईटीएफ) |date= September 1981}}
=== [[समूह परीक्षण]] ===
=== [[समूह परीक्षण]] ===
समूह परीक्षण एक अलग तरीके से कोड का उपयोग करता है। वस्तुओं के एक बड़े समूह पर विचार करें जिसमें बहुत कम एक विशेष तरीके से भिन्न होते हैं (उदाहरण के लिए, दोषपूर्ण उत्पाद या संक्रमित परीक्षण विषय)। समूह परीक्षण का विचार यह निर्धारित करना है कि यथासंभव कुछ परीक्षणों का उपयोग करके कौन सी वस्तुएँ भिन्न हैं। समस्या की उत्पत्ति की जड़ें द्वितीय विश्व युद्ध में हैं जब संयुक्त राज्य सेना की वायु सेना को [[उपदंश]] के लिए अपने सैनिकों का परीक्षण करने की आवश्यकता थी।<ref>{{cite journal |last1=Dorfman |first1=Robert |title=बड़ी आबादी के दोषपूर्ण सदस्यों का पता लगाना|journal=Annals of Mathematical Statistics |date=1943 |volume=14 |issue=4 |pages=436–440|doi=10.1214/aoms/1177731363 |doi-access=free }}</ref>
समूह परीक्षण एक अलग तरीके से कोड का उपयोग करता है। वस्तुओं के एक बड़े समूह पर विचार करें जिसमें बहुत कम एक विशेष तरीके से भिन्न होते हैं (उदाहरण के लिए, दोषपूर्ण उत्पाद या संक्रमित परीक्षण विषय)। समूह परीक्षण का विचार यह निर्धारित करना है कि यथासंभव कुछ ही परीक्षणों का उपयोग करके पता लगाएं कि कौन सी वस्तुएँ भिन्न हैं। इस समस्या की उत्पत्ति की जड़ें द्वितीय विश्व युद्ध में हैं जब संयुक्त राज्य सेना की वायु सेना को सिफलिस के लिए अपने सैनिकों का परीक्षण करने की आवश्यकता थी।<ref>{{cite journal |last1=Dorfman |first1=Robert |title=बड़ी आबादी के दोषपूर्ण सदस्यों का पता लगाना|journal=Annals of Mathematical Statistics |date=1943 |volume=14 |issue=4 |pages=436–440|doi=10.1214/aoms/1177731363 |doi-access=free }}</ref>
 
 
=== एनालॉग कोडिंग ===
=== एनालॉग कोडिंग ===
सूचना को [[दिमाग]] के [[तंत्रिका नेटवर्क]], [[एनालॉग सिग्नल प्रोसेसिंग]] और [[एनालॉग इलेक्ट्रॉनिक्स]] में समान रूप से एन्कोड किया गया है। एनालॉग कोडिंग के पहलुओं में एनालॉग एरर करेक्शन शामिल है,<ref>{{cite journal | title = अराजक गतिशील प्रणालियों के आधार पर एनालॉग त्रुटि-सुधार कोड| citeseerx = 10.1.1.30.4093 | first1 = Brian | last1 = Chen | first2 = Gregory W. | last2 = Wornell | journal = IEEE Transactions on Communications | volume = 46 | issue = 7 | date = July 1998 | pages = 881–890 | doi = 10.1109/26.701312 | url = http://allegro.mit.edu/dspg/publications/Journals/pdf/98Chen.pdf | access-date = 2013-06-30 | archive-url = http://webarchive.loc.gov/all/20010927045421/http://allegro.mit.edu/dspg/publications/journals/pdf/98chen.pdf | archive-date = 2001-09-27 | url-status = dead }}</ref>
सूचना को [[दिमाग]] के [[तंत्रिका नेटवर्क|तंत्रिका तंत्र]], [[एनालॉग सिग्नल प्रोसेसिंग]] और [[एनालॉग इलेक्ट्रॉनिक्स]] में समान रूप से एन्कोड किया गया है। एनालॉग कोडिंग के पहलुओं में एनालॉग एरर करेक्शन,<ref>{{cite journal | title = अराजक गतिशील प्रणालियों के आधार पर एनालॉग त्रुटि-सुधार कोड| citeseerx = 10.1.1.30.4093 | first1 = Brian | last1 = Chen | first2 = Gregory W. | last2 = Wornell | journal = IEEE Transactions on Communications | volume = 46 | issue = 7 | date = July 1998 | pages = 881–890 | doi = 10.1109/26.701312 | url = http://allegro.mit.edu/dspg/publications/Journals/pdf/98Chen.pdf | access-date = 2013-06-30 | archive-url = http://webarchive.loc.gov/all/20010927045421/http://allegro.mit.edu/dspg/publications/journals/pdf/98chen.pdf | archive-date = 2001-09-27 | url-status = dead }}</ref>एनालॉग डेटा संपीड़न<ref>
एनालॉग डेटा संपीड़न<ref>
{{cite conference | title = On Analog Signature Analysis | citeseerx=10.1.1.142.5853 | first1 = Franc | last1 = Novak | first2 = Bojan | last2 = Hvala | first3 = Sandi | last3 = Klavžar | book-title = Proceedings of the conference on Design, automation and test in Europe | year = 1999 | isbn = 1-58113-121-6 }}
{{cite conference | title = On Analog Signature Analysis | citeseerx=10.1.1.142.5853 | first1 = Franc | last1 = Novak | first2 = Bojan | last2 = Hvala | first3 = Sandi | last3 = Klavžar | book-title = Proceedings of the conference on Design, automation and test in Europe | year = 1999 | isbn = 1-58113-121-6 }}
</ref> और एनालॉग एन्क्रिप्शन।<ref>
</ref> और एनालॉग एन्क्रिप्शन सम्मिलित है।<ref>
{{cite journal |author1=Shujun Li |author2=Chengqing Li |author3=Kwok-Tung Lo |author4=Guanrong Chen |title=Cryptanalyzing an Encryption Scheme Based on Blind Source Separation |journal=IEEE Transactions on Circuits and Systems I |volume=55 |issue=4 |pages=1055–63 |date=April 2008 |doi=10.1109/TCSI.2008.916540 |arxiv=cs/0608024 |s2cid=2224947 |url=http://epubs.surrey.ac.uk/532452/1/IEEETCASI2008.pdf }}
{{cite journal |author1=Shujun Li |author2=Chengqing Li |author3=Kwok-Tung Lo |author4=Guanrong Chen |title=Cryptanalyzing an Encryption Scheme Based on Blind Source Separation |journal=IEEE Transactions on Circuits and Systems I |volume=55 |issue=4 |pages=1055–63 |date=April 2008 |doi=10.1109/TCSI.2008.916540 |arxiv=cs/0608024 |s2cid=2224947 |url=http://epubs.surrey.ac.uk/532452/1/IEEETCASI2008.pdf }}
</ref>
</ref>
== न्यूरल कोडिंग ==
== न्यूरल कोडिंग ==
[[तंत्रिका कोडिंग]] एक [[तंत्रिका विज्ञान]] से संबंधित क्षेत्र है जो मस्तिष्क में [[न्यूरॉन्स]] के तंत्रिका नेटवर्क द्वारा संवेदी और अन्य जानकारी का प्रतिनिधित्व करता है। तंत्रिका कोडिंग का अध्ययन करने का मुख्य लक्ष्य [[उत्तेजना (फिजियोलॉजी)]] और व्यक्ति या पहनावा न्यूरोनल प्रतिक्रियाओं और पहनावा में न्यूरॉन्स की विद्युत गतिविधि के बीच संबंध को चिह्नित करना है।<ref name="Brown">{{cite journal |vauthors=Brown EN, Kass RE, Mitra PP |title=एकाधिक न्यूरल स्पाइक ट्रेन डेटा विश्लेषण: अत्याधुनिक और भविष्य की चुनौतियाँ|journal=Nature Neuroscience |volume=7 |issue=5 |pages=456–461 |date=May 2004 | url = http://www.stat.columbia.edu/~liam//teaching/neurostat-fall13/papers/brown-et-al/brown-kass-mitra.pdf |pmid=15114358 |doi=10.1038/nn1228 |s2cid=562815 }}</ref> ऐसा माना जाता है कि न्यूरॉन्स डिजिटल डेटा और [[एनालॉग संकेत]] सूचना दोनों को एन्कोड कर सकते हैं,<ref>{{cite book |first=S.J. |last=Thorpe |chapter=Spike arrival times: A highly efficient coding scheme for neural networks |chapter-url=http://pop.cerco.ups-tlse.fr/fr_vers/documents/thorpe_sj_90_91.pdf |format=PDF |pages=91–94 |editor1-first=R. |editor1-last=Eckmiller |editor2-first=G. |editor2-last=Hartmann |editor3-first=G. |editor3-last=Hauske | editor3-link= Gert Hauske |title=तंत्रिका तंत्र और कंप्यूटर में समानांतर प्रसंस्करण|url=https://books.google.com/books?id=b9gmAAAAMAAJ |access-date=30 June 2013 |year=1990 |publisher=North-Holland |isbn=978-0-444-88390-2}}</ref> और वह न्यूरॉन सूचना सिद्धांत के सिद्धांतों का पालन करते हैं और सूचना को संकुचित करते हैं,<ref>{{cite journal |first1=T. |last1=Gedeon |first2=A.E. |last2=Parker |first3=A.G. |last3=Dimitrov |title=सूचना विरूपण और तंत्रिका कोडिंग|journal=Canadian Applied Mathematics Quarterly |volume=10 |issue=1 |pages=10 |date=Spring 2002 |url=http://www.math.ualberta.ca/ami/CAMQ/table_of_content/vol_10/10_1c.htm |citeseerx=10.1.1.5.6365 }}</ref> और पता लगाएँ और ठीक करें<ref>
[[तंत्रिका कोडिंग]] एक [[तंत्रिका विज्ञान]] से संबंधित क्षेत्र है जो मस्तिष्क में [[न्यूरॉन्स]] के तंत्रिका [[तंत्रिका नेटवर्क|तंत्र]] द्वारा संवेदी और अन्य जानकारी का प्रतिनिधित्व करता है। तंत्रिका कोडिंग का अध्ययन करने का मुख्य लक्ष्य [[उत्तेजना (फिजियोलॉजी)|उत्तेजना]] और व्यक्ति या पहनावा न्यूरोनल प्रतिक्रियाओं और पहनावा में न्यूरॉन्स की विद्युत गतिविधि के बीच संबंध को चिह्नित करना है।<ref name="Brown">{{cite journal |vauthors=Brown EN, Kass RE, Mitra PP |title=एकाधिक न्यूरल स्पाइक ट्रेन डेटा विश्लेषण: अत्याधुनिक और भविष्य की चुनौतियाँ|journal=Nature Neuroscience |volume=7 |issue=5 |pages=456–461 |date=May 2004 | url = http://www.stat.columbia.edu/~liam//teaching/neurostat-fall13/papers/brown-et-al/brown-kass-mitra.pdf |pmid=15114358 |doi=10.1038/nn1228 |s2cid=562815 }}</ref> ऐसा माना जाता है कि न्यूरॉन्स डिजिटल डेटा और [[एनालॉग संकेत]] सूचना दोनों को एन्कोड कर सकते हैं,<ref>{{cite book |first=S.J. |last=Thorpe |chapter=Spike arrival times: A highly efficient coding scheme for neural networks |chapter-url=http://pop.cerco.ups-tlse.fr/fr_vers/documents/thorpe_sj_90_91.pdf |format=PDF |pages=91–94 |editor1-first=R. |editor1-last=Eckmiller |editor2-first=G. |editor2-last=Hartmann |editor3-first=G. |editor3-last=Hauske | editor3-link= Gert Hauske |title=तंत्रिका तंत्र और कंप्यूटर में समानांतर प्रसंस्करण|url=https://books.google.com/books?id=b9gmAAAAMAAJ |access-date=30 June 2013 |year=1990 |publisher=North-Holland |isbn=978-0-444-88390-2}}</ref> और वह न्यूरॉन सूचना सिद्धांत के सिद्धांतों का पालन करते हैं और सूचना को संकुचित करते हैं,<ref>{{cite journal |first1=T. |last1=Gedeon |first2=A.E. |last2=Parker |first3=A.G. |last3=Dimitrov |title=सूचना विरूपण और तंत्रिका कोडिंग|journal=Canadian Applied Mathematics Quarterly |volume=10 |issue=1 |pages=10 |date=Spring 2002 |url=http://www.math.ualberta.ca/ami/CAMQ/table_of_content/vol_10/10_1c.htm |citeseerx=10.1.1.5.6365 }}</ref> और <ref>
{{cite journal |first=M. |last=Stiber |title=Spike timing precision and neural error correction: local behavior |journal=Neural Computation |volume=17 |issue=7 |pages=1577–1601 |date=July 2005 |doi=10.1162/0899766053723069
{{cite journal |first=M. |last=Stiber |title=Spike timing precision and neural error correction: local behavior |journal=Neural Computation |volume=17 |issue=7 |pages=1577–1601 |date=July 2005 |doi=10.1162/0899766053723069
|pmid=15901408 |arxiv=q-bio/0501021|s2cid=2064645 }}
|pmid=15901408 |arxiv=q-bio/0501021|s2cid=2064645 }}
</ref>
</ref>पूरे मस्तिष्क और व्यापक तंत्रिका तंत्र में भेजे जाने वाले संकेतों में त्रुटियों का पता लगाते हैं और उन्हें ठीक करते हैं।
संकेतों में त्रुटियां जो पूरे मस्तिष्क और व्यापक तंत्रिका तंत्र में भेजी जाती हैं।


== यह भी देखें ==
== यह भी देखें ==
{{Portal|Telecommunication}}
* [[कोडिंग लाभ]]
* [[कोडिंग लाभ]]
* [[कवरिंग कोड]]
* [[कवरिंग कोड]]
* [[त्रुटि सुधार कोड]]
* [[त्रुटि सुधार कोड]]
* मुड़ा हुआ रीड-सोलोमन कोड
* फोल्डेड रीड-सोलोमन कोड
* समूह परीक्षण
* समूह परीक्षण
* हैमिंग दूरी, [[हैमिंग वजन]]
* हैमिंग दूरी, [[हैमिंग वजन]]
* ली दूरी
* ली दूरी
* [[बीजगणितीय कोडिंग सिद्धांत विषयों की सूची]]
* [[बीजगणितीय कोडिंग सिद्धांत विषयों की सूची|बीजगणितीय कोडिंग थ्योरी विषयों की सूची]]
* एकाधिक एंटीना अनुसंधान में स्थानिक कोडिंग और एमआईएमओ
* एकाधिक एंटीना अनुसंधान में स्थानिक कोडिंग और एमआईएमओ
** स्पेस-टाइम कोड स्थानिक कोडिंग है जो डेटा ट्रांसमिशन की विश्वसनीयता बढ़ाने के लिए विभिन्न स्थानिक पथों के साथ सूचना सिग्नल की प्रतिकृतियां प्रसारित करता है।
** स्पेस-टाइम कोड स्थानिक कोडिंग है जो डेटा ट्रांसमिशन की विश्वसनीयता बढ़ाने के लिए विभिन्न स्थानिक पथों के साथ सूचना सिग्नल की प्रतिकृतियां प्रसारित करता है।
** [[डर्टी पेपर कोडिंग (डीपीसी)]]
** [[डर्टी पेपर कोडिंग (डीपीसी)|स्पाटिअल इंटरफेरेंस कैंसलेशन कोडिंग]]
** [[स्थानिक बहुसंकेतन]]
** [[स्थानिक बहुसंकेतन|स्पाटिअल मल्टीप्लेक्स कोडिंग]]
* सूचना सिद्धांत की समयरेखा | सूचना सिद्धांत की समयरेखा, डेटा संपीड़न, और त्रुटि सुधार कोड
* सूचना सिद्धांत की समयरेखा, डेटा संपीड़न, और त्रुटि सुधार कोड


==टिप्पणियाँ==
==टिप्पणियाँ==
{{reflist}}
{{reflist}}
==कोडिंग सिद्धांतकोडिंग सिद्धांत==
*
*
==संदर्भ==
==संदर्भ==
Line 214: Line 203:
* [[Vera Pless]] (1982), ''[[Introduction to the Theory of Error-Correcting Codes]]'', John Wiley & Sons, Inc., {{isbn|0-471-08684-3}}.
* [[Vera Pless]] (1982), ''[[Introduction to the Theory of Error-Correcting Codes]]'', John Wiley & Sons, Inc., {{isbn|0-471-08684-3}}.
* Randy Yates, ''[https://web.archive.org/web/20110710143034/http://www.digitalsignallabs.com/tutorial.pdf A Coding Theory Tutorial]''.
* Randy Yates, ''[https://web.archive.org/web/20110710143034/http://www.digitalsignallabs.com/tutorial.pdf A Coding Theory Tutorial]''.
{{Industrial and applied mathematics}}
{{Authority control}}
{{Authority control}}
[[Category:कोडिंग सिद्धांत| ]]
[[Category: त्रुटि पहचान और सुधार]]


[[Category: Machine Translated Page]]
[[Category:All articles with unsourced statements]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Articles with short description]]
[[Category:Articles with unsourced statements from July 2008]]
[[Category:CS1 français-language sources (fr)]]
[[Category:CS1 maint]]
[[Category:CS1 Ελληνικά-language sources (el)]]
[[Category:Citation Style 1 templates|W]]
[[Category:Collapse templates]]
[[Category:Created On 15/12/2022]]
[[Category:Created On 15/12/2022]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates based on the Citation/CS1 Lua module]]
[[Category:Templates generating COinS|Cite web]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates used by AutoWikiBrowser|Cite web]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia fully protected templates|Cite web]]
[[Category:Wikipedia metatemplates]]
[[Category:कोडिंग सिद्धांत| ]]
[[Category:त्रुटि पहचान और सुधार]]

Latest revision as of 12:13, 12 September 2023

हैमिंग दूरी का द्वि-आयामी दृश्य, कोडिंग सिद्धांत में एक महत्वपूर्ण उपाय।

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

कोडिंग चार प्रकार की होती है:[1]

  1. डेटा संपीड़न (या स्रोत कोडिंग)
  2. त्रुटि नियंत्रण (या माध्यम कोडिंग)
  3. क्रिप्टोग्राफी
  4. लाइन कोड

डेटा संपीड़न किसी स्रोत से डेटा को अधिक कुशलता से प्रसारित करने के लिए अवांछित अतिरेक को हटाने का प्रयास करता है। उदाहरण के लिए, ज़िप डेटा संपीड़न इंटरनेट ट्रैफ़िक को कम करने जैसे उद्देश्यों के लिए डेटा फ़ाइलों को छोटा बनाता है। डेटा संपीड़न और त्रुटि सुधार का संयोजन में अध्ययन किया जा सकता है।

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

कोडिंग थ्योरी का इतिहास

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

बाइनरी भाषा में कोड 1949 में विकसित किया गया था। यह एक त्रुटि-सुधार कोड है जो प्रत्येक 24-बिट शब्द में तीन त्रुटियों को ठीक करने और चौथे का पता लगाने में सक्षम है।

रिचर्ड हैमिंग ने 1968 में बेल लैब्स में संख्यात्मक तरीकों, स्वचालित कोडिंग सिस्टम, और त्रुटि-पता लगाने और त्रुटि-सुधार कोड में अपने काम के लिए ट्यूरिंग अवार्ड जीता। उन्होंने हैमिंग कोड, हैमिंग विंडो, हैमिंग नंबर और हैमिंग दूरी के रूप में जानी जाने वाली अवधारणाओं का आविष्कार किया।

1972 में, एन. अहमद ने असतत कोज्या परिवर्तन (डीसीटी) का प्रस्ताव रखा, जिसे उन्होंने 1973 में टी. नटराजन और के.आर. राव के साथ विकसित किया।[2] डीसीटी सबसे व्यापक रूप से इस्तेमाल किया जाने वाला लॉसी संपीड़न एल्गोरिदम है, जो जेपीईजी, एमपीईजी और एमपी3 जैसे मल्टीमीडिया प्रारूपों का आधार है।

स्रोत कोडिंग

बेचा

स्रोत कोडिंग का उद्देश्य स्रोत डेटा लेना और उसे छोटा करना है।

परिभाषा

डेटा को एक यादृच्छिक चर के रूप में देखा जा सकता है , जहाँ पे संभावना से प्रकट होता है|

डेटा वर्णमाला पर स्ट्रिंग्स (शब्दों) द्वारा एन्कोड किया गया है|

कोड एक फलन है

(या अगर खाली स्ट्रिंग वर्णमाला का हिस्सा नहीं है)।

से जुड़ा कोड वर्ड है |

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

कोड की अपेक्षित लंबाई है

कूट शब्दों का योग .

खाली स्ट्रिंग का कोड शब्द ही खाली स्ट्रिंग है:

गुण

  1. गैर-एकवचन अगर अंत:क्षेपक है।
  2. विशिष्ट रूप से डिकोड करने योग्य कोड यदि अंत:क्षेपक है।
  3. तात्कालिक यदि , का उपसर्ग नहीं है (और इसके विपरीत भी)।

थ्योरी

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

डेटा संपीड़न जो स्पष्ट रूप से एक विशेष अनुमानित संभाव्यता मॉडल के अनुसार संदेशों की औसत लंबाई को कम करने की कोशिश करता है, एन्ट्रापी एन्कोडिंग कहलाता है।

स्रोत कोडिंग योजनाओं द्वारा उपयोग की जाने वाली विभिन्न तकनीकें स्रोत की एन्ट्रापी की सीमा को प्राप्त करने का प्रयास करती हैं। C(x) ≥ H(x), जहां H(x) स्रोत (बिटरेट) की एन्ट्रापी है, और C(x) संपीड़न के बाद बिटरेट है। विशेष रूप से, स्रोत की एंट्रॉपी से बेहतर कोई स्रोत कोडिंग योजना नहीं हो सकती है।

उदाहरण

फैक्स ट्रांसमिशन एक साधारण रन-लेंथ कोड का उपयोग करता है। स्रोत कोडिंग ट्रांसमीटर की आवश्यकता के लिए अनावश्यक सभी डेटा को हटा देता है, जिससे ट्रांसमिशन के लिए आवश्यक बैंडविड्थ कम हो जाती है।

माध्यम कोडिंग

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

डिस्क पर डेटा को लिखने के लिए सीडी क्रॉस-इंटरलीव्ड रीड-सोलोमन कोडिंग का उपयोग करती हैं।[3]

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

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

रैखिक कोड

बीजगणितीय कोडिंग थ्योरी शब्द कोडिंग थ्योरी के उप-क्षेत्र को दर्शाता है जहां कोड के गुणों को बीजगणितीय पदों में व्यक्त किया जाता है और फिर आगे शोध किया जाता है।

बीजगणितीय कोडिंग थ्योरी को मूल रूप से दो प्रमुख प्रकार के कोड में विभाजित किया गया है:

  • रैखिक ब्लॉक कोड
  • कोंवोलुशनल कोड

यह कोड के निम्नलिखित तीन गुणों का विश्लेषण करता है - मुख्य रूप से:

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

रैखिक ब्लॉक कोड

रैखिक ब्लॉक कोड में रैखिकता का गुण होता है, अर्थात किन्हीं दो कोडवर्ड का योग भी एक कोड शब्द होता है, और उन्हें ब्लॉक में स्रोत बिट्स पर लागू किया जाता है, इसलिए नाम रैखिक ब्लॉक कोड होता है। ऐसे ब्लॉक कोड भी हैं जो रैखिक नहीं हैं, लेकिन यह साबित करना मुश्किल है कि इस विशेषता के बिना कोई कोड अच्छा है या नहीं।[4]

रेखीय ब्लॉक कोड को उनके प्रतीक अक्षर (जैसे, बाइनरी या टर्नरी) और पैरामीटर (n,m,dmin) द्वारा संक्षेपित किया जाता है [5] जहाँ पर

  1. n कोडवर्ड की लंबाई है, प्रतीकों में,
  2. m स्रोत प्रतीकों की संख्या है जो एक बार में एन्कोडिंग के लिए उपयोग की जाएगी,
  3. dmin कोड के लिए न्यूनतम हैमिंग दूरी है।

कई प्रकार के रैखिक ब्लॉक कोड हैं, जैसे

  1. चक्रीय कोड (जैसे, हैमिंग कोड)
  2. पुनरावृत्ति कोड
  3. समतुल्य कोड
  4. बहुपद कोड (जैसे, बीसीएच कोड)
  5. रीड-सोलोमन कोड
  6. बीजगणितीय ज्यामितीय कोड
  7. रीड-मुलर कोड
  8. संपन्न कोड

ब्लॉक कोड स्फीयर पैकिंग समस्या से जुड़े हैं, जिस पर पिछले कुछ वर्षों में कुछ ध्यान दिया गया है। दो आयामों में, कल्पना करना आसान है। टेबल पर सिक्कों का गुच्छा लें और उन्हें एक साथ बिखेर दें। नतीजा मधुमक्खी के घोंसले की तरह एक हेक्सागोन पैटर्न है। लेकिन ब्लॉक कोड अधिक आयामों पर निर्भर करते हैं जिन्हें आसानी से नहीं देखा जा सकता है। गहरे अंतरिक्ष संचार में प्रयुक्त शक्तिशाली (24,12) बाइनरी गोले कोड 24 आयामों का उपयोग करता है। यदि एक बाइनरी कोड के रूप में उपयोग किया जाता है (जो कि यह आमतौर पर होता है) तो आयाम कोडवर्ड की लंबाई को संदर्भित करते हैं जैसा कि ऊपर परिभाषित किया गया है।

कोडिंग का सिद्धांत N-आयामी गोलाकार मॉडल का उपयोग करता है। उदाहरण के लिए, टेबलटॉप पर एक सर्कल में कितने सिक्के पैक किए जा सकते हैं, या 3 आयामों में कितने कंचे ग्लोब में पैक किए जा सकते हैं। अन्य विचार एक कोड की पसंद दर्शाते करते हैं। उदाहरण के लिए, आयताकार बॉक्स की सीमा में हेक्सागोन पैकिंग कोनों पर खाली जगह छोड़ देगी। जैसे-जैसे आयाम बड़े होते जाते हैं, रिक्त स्थान का प्रतिशत छोटा होता जाता है। लेकिन कुछ आयामों पर, पैकिंग सभी जगह का उपयोग करती है और ये कोड तथाकथित संपन्न कोड होते हैं। केवल अतुच्छ और उपयोगी संपन्न कोड दूरी -3 हैमिंग कोड हैं जो पैरामीटर संतोषजनक (2r - 1, 2r - 1 - r, 3), और [23,12,7] बाइनरी और [11,6,5] टर्नरी गोले-कोड के साथ हैं।[4][5]

एक अन्य कोड गुण पड़ोसियों की संख्या है जो एक एकल कोडवर्ड हो सकता है।[6]एक उदाहरण के रूप में फिर से सिक्कों पर विचार करें। पहले हम सिक्के को एक आयताकार ग्रिड में पैक करते हैं। प्रत्येक सिक्के में 4 निकटवर्ती पड़ोसी होंगे (और 4 कोनों पर जो दूर हैं)। एक षट्भुज में, प्रत्येक सिक्के में 6 निकट पड़ोसी होंगे। जब हम आयाम बढ़ाते हैं तो निकट पड़ोसियों की संख्या बहुत तेजी से बढ़ती है। नतीजा यह है कि रिसीवर को पड़ोसी चुनने के लिए शोर के तरीकों की संख्या (इसलिए एक त्रुटि) भी बढ़ती है। यह ब्लॉक कोड और वास्तव में सभी कोड की मूलभूत सीमा है। किसी एक पड़ोसी के लिए त्रुटि करना कठिन हो सकता है, लेकिन पड़ोसियों की संख्या काफी बड़ी हो सकती है, इसलिए कुल त्रुटि संभावना वास्तव में समस्या होती है।[6]

कई अनुप्रयोगों में रैखिक ब्लॉक कोड के गुणों का उपयोग किया जाता है। उदाहरण के लिए, रेखीय ब्लॉक कोड के सिंड्रोम-कोसेट विशिष्टता गुण का उपयोग ट्रेलिस शेपिंग, सबसे प्रचलित आकार देने वाले कोड में से एक, में किया जाता है,[7]

कोंवोलुशनल कोड

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

इसलिए हम आम तौर पर सिस्टम कोंवोलुशनल एनकोडर का आउटपुट पाते हैं, जो कि कोंवोलुशन एनकोडर, रजिस्टरों की स्थिति के विरुद्ध इनपुट बिट का कोंवोलुशन है।

मौलिक रूप से, कोंवोलुशनल कोड समतुल्य ब्लॉक कोड की तुलना में शोर से अधिक सुरक्षा प्रदान नहीं करते हैं। कई मामलों में, वे आम तौर पर समान शक्ति के ब्लॉक कोड पर कार्यान्वयन की अधिक सरलता प्रदान करते हैं। एनकोडर आमतौर पर एक साधारण सर्किट होता है जिसमें स्टेट मेमोरी और कुछ फीडबैक लॉजिक होता है, आमतौर पर XOR गेट्स। डिकोडिंग विधियों को सॉफ्टवेयर या फर्मवेयर में लागू किया जा सकता है।

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

कोंवोलुशनल कोड वॉयसबैंड मोडेम (वी.32, वी.17, वी.34) और जीएसएम मोबाइल फोन के साथ-साथ उपग्रह और सैन्य संचार उपकरणों में उपयोग किए जाते हैं।

क्रिप्टोग्राफिक कोडिंग

क्रिप्टोग्राफी या क्रिप्टोग्राफिक कोडिंग तीसरे पक्ष (जिसे प्रतिपक्षी कहा जाता है) की उपस्थिति में सुरक्षित संचार के लिए तकनीकों का अभ्यास और अध्ययन है।[8] अधिक सामान्यतः, यह संचार प्रोटोकॉल के निर्माण और विश्लेषण के बारे में है जो प्रतिपक्षियों को रोकता है;[9] सूचना सुरक्षा में विभिन्न पहलू जैसे डेटा गोपनीयता, डेटा अखंडता, प्रमाणीकरण और गैर-अस्वीकृति[10] आधुनिक क्रिप्टोग्राफी के केंद्र हैं। आधुनिक क्रिप्टोग्राफी गणित, संगणक विज्ञान और इलेक्ट्रिकल इंजीनियरिंग के विषयों के संगम पर मौजूद है। क्रिप्टोग्राफी के अनुप्रयोगों में स्वचालित टेलर मशीन, कंप्यूटर पासवर्ड और इलेक्ट्रॉनिक वाणिज्य सम्मिलित हैं।

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

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

लाइन कोडिंग

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

लाइन कोडिंग में डिजिटल सिग्नल का प्रतिनिधित्व आयाम- और समय-असतत सिग्नल द्वारा किया जाता है जो भौतिक माध्यम (और प्राप्त करने वाले उपकरण) के विशिष्ट गुणों के लिए इष्टतम रूप से ट्यून किया जाता है। संचरण कड़ी पर डिजिटल डेटा के 1s और 0s का प्रतिनिधित्व करने के लिए उपयोग किए जाने वाले वोल्टेज या करंट के तरंग पैटर्न को लाइन एन्कोडिंग कहा जाता है। लाइन एन्कोडिंग के सामान्य प्रकार एकलध्रुवीय एन्कोडिंग, पोलर एन्कोडिंग, द्विध्रुवी एन्कोडिंग और मैनचेस्टर एन्कोडिंग हैं।

कोडिंग थ्योरी के अन्य अनुप्रयोग

कोडिंग थ्योरी की एक और चिंता कोड डिजाइन करना है जो तुल्यकालन में मदद करती है। कोड डिज़ाइन किया जा सकता है ताकि फेज शिफ्ट को आसानी से पता लगाया जा सके और ठीक किया जा सके और एक ही माध्यम पर कई सिग्नल भेजे जा सकें।

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

कोड का एक अन्य सामान्य वर्ग स्वचालित रिपीट-रिक्वेस्ट (एआरक्यू) कोड हैं। इन कोडों में प्रेषक प्रत्येक संदेश में त्रुटि जाँच के लिए आमतौर पर चेक बिट्स जोड़कर, अतिरेक जोड़ता है, । यदि चेक बिट आने पर बाकी संदेश के अनुरूप नहीं है, तो रिसीवर प्रेषक से संदेश को फिर से भेजने के लिए कहेगा। सरलतम वाइड एरिया नेटवर्क प्रोटोकॉल को छोड़कर सभी एआरक्यू का उपयोग करते हैं। सामान्य प्रोटोकॉल में तुल्यकालिक डेटा लिंक नियंत्रण (आईबीएम), ट्रांसमिशन कंट्रोल प्रोटोकॉल (इंटरनेट), X.25 (इंटरनेशनल) और कई अन्य सम्मिलित हैं। नए पैकेट के खिलाफ एक अस्वीकृत पैकेट के मिलान की समस्या के कारण इस विषय पर शोध का एक व्यापक क्षेत्र है। क्या यह नया है या यह एक पुन: प्रसारण है? सामान्यतः नंबरिंग स्कीम का उपयोग किया जाता है, जैसा कि टीसीपी में होता है।"आमतौर पर नंबरिंग योजनाओं का उपयोग किया जाता है". RFCs. इंटरनेट इंजीनियरिंग टास्क फोर्स (आईईटीएफ). September 1981.

समूह परीक्षण

समूह परीक्षण एक अलग तरीके से कोड का उपयोग करता है। वस्तुओं के एक बड़े समूह पर विचार करें जिसमें बहुत कम एक विशेष तरीके से भिन्न होते हैं (उदाहरण के लिए, दोषपूर्ण उत्पाद या संक्रमित परीक्षण विषय)। समूह परीक्षण का विचार यह निर्धारित करना है कि यथासंभव कुछ ही परीक्षणों का उपयोग करके पता लगाएं कि कौन सी वस्तुएँ भिन्न हैं। इस समस्या की उत्पत्ति की जड़ें द्वितीय विश्व युद्ध में हैं जब संयुक्त राज्य सेना की वायु सेना को सिफलिस के लिए अपने सैनिकों का परीक्षण करने की आवश्यकता थी।[11]

एनालॉग कोडिंग

सूचना को दिमाग के तंत्रिका तंत्र, एनालॉग सिग्नल प्रोसेसिंग और एनालॉग इलेक्ट्रॉनिक्स में समान रूप से एन्कोड किया गया है। एनालॉग कोडिंग के पहलुओं में एनालॉग एरर करेक्शन,[12]एनालॉग डेटा संपीड़न[13] और एनालॉग एन्क्रिप्शन सम्मिलित है।[14]

न्यूरल कोडिंग

तंत्रिका कोडिंग एक तंत्रिका विज्ञान से संबंधित क्षेत्र है जो मस्तिष्क में न्यूरॉन्स के तंत्रिका तंत्र द्वारा संवेदी और अन्य जानकारी का प्रतिनिधित्व करता है। तंत्रिका कोडिंग का अध्ययन करने का मुख्य लक्ष्य उत्तेजना और व्यक्ति या पहनावा न्यूरोनल प्रतिक्रियाओं और पहनावा में न्यूरॉन्स की विद्युत गतिविधि के बीच संबंध को चिह्नित करना है।[15] ऐसा माना जाता है कि न्यूरॉन्स डिजिटल डेटा और एनालॉग संकेत सूचना दोनों को एन्कोड कर सकते हैं,[16] और वह न्यूरॉन सूचना सिद्धांत के सिद्धांतों का पालन करते हैं और सूचना को संकुचित करते हैं,[17] और [18]पूरे मस्तिष्क और व्यापक तंत्रिका तंत्र में भेजे जाने वाले संकेतों में त्रुटियों का पता लगाते हैं और उन्हें ठीक करते हैं।

यह भी देखें

टिप्पणियाँ

  1. James Irvine; David Harle (2002). "2.4.4 Types of Coding". डेटा संचार और नेटवर्क. p. 18. ISBN 9780471808725. कोडिंग चार प्रकार की होती है
  2. Nasir Ahmed. "मैं असतत कोसाइन परिवर्तन के साथ कैसे आया". Digital Signal Processing, Vol. 1, Iss. 1, 1991, pp. 4-5.
  3. Todd Campbell. "Answer Geek: Error Correction Rule CDs".
  4. 4.0 4.1 Terras, Audrey (1999). Fourier Analysis on Finite Groups and Applications. Cambridge University Press. p. 195. ISBN 978-0-521-45718-7.
  5. 5.0 5.1 Blahut, Richard E. (2003). डेटा ट्रांसमिशन के लिए बीजगणितीय कोड. Cambridge University Press. ISBN 978-0-521-55374-2.
  6. 6.0 6.1 Christian Schlegel; Lance Pérez (2004). Trellis and turbo coding. Wiley-IEEE. p. 73. ISBN 978-0-471-22755-7.
  7. Forney, G.D. Jr. (March 1992). "ट्रेलिस को आकार देना". IEEE Transactions on Information Theory. 38 (2 Pt 2): 281–300. doi:10.1109/18.119687. S2CID 37984132.
  8. Rivest, Ronald L. (1990). "Cryptology". In J. Van Leeuwen (ed.). सैद्धांतिक कंप्यूटर विज्ञान की पुस्तिका. Vol. 1. Elsevier.
  9. Bellare, Mihir; Rogaway, Phillip (21 September 2005). "Introduction". आधुनिक क्रिप्टोग्राफी का परिचय. p. 10.
  10. Menezes, A. J.; van Oorschot, P. C.; Vanstone, S. A. (1997). एप्लाइड क्रिप्टोग्राफी की पुस्तिका. ISBN 978-0-8493-8523-0.
  11. Dorfman, Robert (1943). "बड़ी आबादी के दोषपूर्ण सदस्यों का पता लगाना". Annals of Mathematical Statistics. 14 (4): 436–440. doi:10.1214/aoms/1177731363.
  12. Chen, Brian; Wornell, Gregory W. (July 1998). "अराजक गतिशील प्रणालियों के आधार पर एनालॉग त्रुटि-सुधार कोड" (PDF). IEEE Transactions on Communications. 46 (7): 881–890. CiteSeerX 10.1.1.30.4093. doi:10.1109/26.701312. Archived from the original (PDF) on 2001-09-27. Retrieved 2013-06-30.
  13. Novak, Franc; Hvala, Bojan; Klavžar, Sandi (1999). "On Analog Signature Analysis". Proceedings of the conference on Design, automation and test in Europe. CiteSeerX 10.1.1.142.5853. ISBN 1-58113-121-6.
  14. Shujun Li; Chengqing Li; Kwok-Tung Lo; Guanrong Chen (April 2008). "Cryptanalyzing an Encryption Scheme Based on Blind Source Separation" (PDF). IEEE Transactions on Circuits and Systems I. 55 (4): 1055–63. arXiv:cs/0608024. doi:10.1109/TCSI.2008.916540. S2CID 2224947.
  15. Brown EN, Kass RE, Mitra PP (May 2004). "एकाधिक न्यूरल स्पाइक ट्रेन डेटा विश्लेषण: अत्याधुनिक और भविष्य की चुनौतियाँ" (PDF). Nature Neuroscience. 7 (5): 456–461. doi:10.1038/nn1228. PMID 15114358. S2CID 562815.
  16. Thorpe, S.J. (1990). "Spike arrival times: A highly efficient coding scheme for neural networks" (PDF). In Eckmiller, R.; Hartmann, G.; Hauske, G. (eds.). तंत्रिका तंत्र और कंप्यूटर में समानांतर प्रसंस्करण (PDF). North-Holland. pp. 91–94. ISBN 978-0-444-88390-2. Retrieved 30 June 2013.
  17. Gedeon, T.; Parker, A.E.; Dimitrov, A.G. (Spring 2002). "सूचना विरूपण और तंत्रिका कोडिंग". Canadian Applied Mathematics Quarterly. 10 (1): 10. CiteSeerX 10.1.1.5.6365.
  18. Stiber, M. (July 2005). "Spike timing precision and neural error correction: local behavior". Neural Computation. 17 (7): 1577–1601. arXiv:q-bio/0501021. doi:10.1162/0899766053723069. PMID 15901408. S2CID 2064645.

संदर्भ