This site is not complete. The work to converting the volumes of സര്‍വ്വവിജ്ഞാനകോശം is on progress. Please bear with us
Please contact webmastersiep@yahoo.com for any queries regarding this website.

Reading Problems? see Enabling Malayalam

കോഡിങ്‌ സിദ്ധാന്തം

സര്‍വ്വവിജ്ഞാനകോശം സംരംഭത്തില്‍ നിന്ന്

കോഡിങ്‌ സിദ്ധാന്തം

Coding Theory

സരണിയിലെ രവം ഡേറ്റാസ്‌ട്രീമില്‍ സൃഷ്‌ടിക്കുന്ന ബിറ്റ്‌ എററിന്റെ രേഖാചിത്രം

വാര്‍ത്താവിനിമയം, വിവര ശേഖരണം തുടങ്ങി ഡേറ്റ കൈകാര്യം ചെയ്യുന്ന സന്ദര്‍ഭങ്ങളില്‍ ഡേറ്റയുടെ ശരിയായ പ്രേഷണം ഉറപ്പുവരുത്താനായി ഉപയോഗിക്കുന്ന കോഡിങ്‌ രീതികളുടെ സവിശേഷതകളെ വിലയിരുത്തുന്ന കംപ്യൂട്ടര്‍ സയന്‍സ്‌ ശാസ്‌ത്രശാഖ. ഇവ കൂടാതെ ഡേറ്റ കംപ്രഷന്‍, ക്രിപ്‌റ്റോഗ്രാഫി, വിവര സിദ്ധാന്തം, ഗണിതശാസ്‌ത്രം, വാര്‍ത്താവിനിമയ എന്‍ജിനീയറിങ്‌ തുടങ്ങി കംപ്യൂട്ടര്‍ സയന്‍സിനോട്‌ ബന്ധമുള്ള ഇതര മേഖലകളിലും കോഡിങ്‌ രീതികള്‍ വ്യാപകമായി ഉപയോഗിക്കപ്പെടുന്നുണ്ട്‌. സ്രോതസ്സില്‍ നിന്ന്‌ ലക്ഷ്യത്തിലേക്ക്‌ പരമാവധി കുറഞ്ഞ പിശകുകളോടെ ഏതു രീതിയില്‍ ഡേറ്റ എന്‍കോഡ്‌ ചെയ്‌ത്‌ അയയ്‌ക്കാം, വിനിമയവേളയില്‍ മാധ്യമത്തില്‍വച്ച്‌ ഡേറ്റയില്‍ പിശകുകള്‍ സംഭവിച്ചാല്‍ അത്‌ തിരിച്ചറിഞ്ഞ്‌ നീക്കം ചെയ്‌ത്‌ യഥാര്‍ഥ ഡേറ്റ എങ്ങനെ വീണ്ടെടുക്കാം മുതലായവ കോഡിങ്‌ സിദ്ധാന്തത്തിലെ സുപ്രധാന പ്രശ്‌നങ്ങളാണ്‌.

ക്ലാഡ്‌. ഇ. ഷാനണ്‍ 1948-ല്‍ എ മാത്തമാറ്റിക്കല്‍ തിയറി ഒഫ്‌ കമ്യൂണിക്കേഷന്‍ എന്ന ഗവേഷണ പേപ്പര്‍ പ്രസിദ്ധപ്പെടുത്തിയത്‌ കോഡിങ്‌ സിദ്ധാന്തത്തിന്റെ തുടക്കമായി കരുതപ്പെടുന്നു. ഡേറ്റാ സ്‌ട്രീമില്‍ ഡേറ്റാ ബിറ്റുകള്‍ പല ആവൃത്തി ഉപയോഗിച്ച്‌ ഡേറ്റയില്‍ ആവര്‍ത്തനം സൃഷ്‌ടിച്ചാല്‍ പ്രഷണ വേളയില്‍ സംഭവിക്കുന്ന ബിറ്റ്‌ നഷ്‌ടം ഒരളവുവരെ പരിഹരിക്കാനാകുമെന്ന്‌ ഇദ്ദേഹം സൈദ്ധാന്തികമായി തെളിയിച്ചു.

കോഡുകളുടെ ആവശ്യകത. സംസാരഭാഷകള്‍, ആംഗ്യവിക്ഷേപങ്ങള്‍ തുടങ്ങിയവയിലൂടെയാണ്‌ പൊതുവേ നാം ആശയവിനിമയം നടത്തുന്നത്‌. ഇതിനാവശ്യമായ ഭാഷകളും, വിവരങ്ങള്‍ ലിഖിതരൂപത്തില്‍ രേഖപ്പെടുത്തി സൂക്ഷിക്കാനുള്ള ലിപികളും ലഭ്യമാണ്‌. കംപ്യൂട്ടര്‍ സാങ്കേതികവിദ്യ വികസിച്ചതോടെ പല പ്രവര്‍ത്തനങ്ങള്‍ക്കും കംപ്യൂട്ടറുകള്‍ ഉപയോഗിച്ചു തുടങ്ങി. കംപ്യൂട്ടറുകളില്‍ വിവരങ്ങള്‍ ശേഖരിച്ചു വയ്‌ക്കാന്‍ ഭാഷകളോ ലിപികളോ പ്രയോജനരഹിതമാണ്‌. ഡിജിറ്റല്‍ രീതിയില്‍ പ്രവര്‍ത്തിക്കുന്ന കംപ്യൂട്ടറില്‍ അക്ഷരങ്ങള്‍, അക്കങ്ങള്‍ മുതലായവ മാനനം ചെയ്‌ത്‌ സൂചിപ്പിക്കാന്‍ ദ്വയാംഗ സമ്പ്രദായം (binary system)) അടിസ്ഥാനമാക്കിയ ക്രമീകരണങ്ങളാണ്‌ സ്വീകരിക്കാറുള്ളത്‌. ഇതിന്‌ സൗകര്യമേകുന്നവയാണ്‌ കോഡുകള്‍. വിവരങ്ങളെ അക്ഷര ലിപികള്‍ക്കു പകരം ഏതാനും അക്കങ്ങള്‍ ഉപയോഗിച്ച്‌ എളുപ്പത്തില്‍ മനസ്സിലാകാത്ത തരത്തില്‍ ചിട്ടപ്പെടുത്തേണ്ട സന്ദര്‍ഭങ്ങളും സംജാതമാകാറുണ്ട്‌. പ്രസ്‌തുത വേളകളിലും കോഡുകള്‍ ആവശ്യമായിത്തീരാറുണ്ട്‌. തന്മൂലം അക്ഷരഗണത്തിലെ അംഗങ്ങളെ അക്ക ഗണത്തിലെ അംഗങ്ങളായി പരിവര്‍ത്തനം ചെയ്യുന്ന ഒരു സംവിധാനമാണ്‌ കോഡ്‌ എന്ന്‌ വിലയിരുത്താം. അക്ഷര ഗണത്തെ Σ, അക്ക ഗണത്തെ 𝜋 എന്ന്‌ നിര്‍വചിച്ചാല്‍ (Σ,𝜋 )ജോടിയാണ്‌ കോഡ്‌. അതായത്‌ Σ ഗണത്തിലെ S അംഗത്തെ 𝜋 ഗണത്തിലെ P കോഡിലേക്ക്‌ മാനനം ചെയ്യുന്നു (S → P). 𝜋 ഗണത്തിലെ P1, P2,... , Pn അക്കങ്ങളാണ്‌ കോഡ്‌ രൂപീകരിക്കാന്‍ ആവശ്യമെങ്കില്‍ S→P1 P2 ... Pn എന്നും കോഡിനെ സൂചിപ്പിക്കാം. ഒരുദാഹരണത്തിലൂടെ ഇത്‌ വിശദമാക്കാനാകും. ഇംഗ്ലീഷ്‌ ഭാഷയിലെ A ... Z അക്ഷരങ്ങളെ രണ്ടക്കങ്ങള്‍ ഉപയോഗിച്ച്‌ നിര്‍വചിക്കാനാകുന്ന കോഡിങ്‌ രീതിയില്‍ A ≡ 01, B ≡ 02, ... ,Z ≡ 26 എന്ന്‌ സൂചിപ്പിക്കാം. ഇത്തരത്തില്‍ ഡേറ്റയുടെ എന്‍കോഡിങ്ങിനായി കംപ്യൂട്ടറില്‍ വ്യത്യസ്‌ത കോഡുകള്‍ - ദശാംശ, ഭാരിത, 7421, XS3, MBQ, ഗ്രേ,... ആവശ്യാനുസരണം പ്രയോജനപ്പെടുത്താറുണ്ട്‌.


വിനിമയ വേളയില്‍ സരണിയിലുള്ള ഇലക്‌ട്രാണിക രവം (noise) മൂലം ഡേറ്റാ ബിറ്റുകളില്‍ മാറ്റം സംഭവിക്കാം. പ്രേഷിത ഡേറ്റയില്‍ ഇത്തരത്തില്‍ ഉണ്ടാകുന്ന പിശകുകള്‍ കണ്ടെത്തുവാനും അവ തിരിച്ചറിഞ്ഞ്‌ യഥാര്‍ഥ ഡേറ്റ പുനര്‍നിര്‍മിക്കാനും സൗകര്യമേകുന്നവയാണ്‌ എറര്‍ ഡിറ്റക്ഷന്‍ ആന്‍ഡ്‌ കറക്ഷന്‍ കോഡുകള്‍. ഡേറ്റാ സ്‌ട്രീമില്‍ ഒന്നിലേറെ ഡേറ്റാ ബിറ്റുകള്‍ പല തവണ ഉപയോഗിച്ച്‌ ഡേറ്റയില്‍ ആവര്‍ത്തനം സൃഷ്‌ടിച്ചാല്‍, പ്രസ്‌തുത ഡേറ്റാ സ്‌ട്രീം പ്രഷണം ചെയ്യുമ്പോള്‍ സരണിയിലൂടെയുള്ള പ്രയാണത്തിനിടയില്‍ ഡേറ്റാ നഷ്‌ടം സംഭവിച്ചാലും ലക്ഷ്യത്തില്‍ വച്ച്‌ തെറ്റു തിരുത്തി യഥാര്‍ഥ ഡേറ്റ കണ്ടെത്താന്‍ കൂടുതല്‍ സൗകര്യം ലഭിക്കും. ഇതിനുള്ള സരള ഉദാഹരണമാണ്‌ പാരിറ്റിബിറ്റ്‌. ഡേറ്റയുടെ കൂടെ ആവശ്യമെങ്കില്‍ "1' ബിറ്റ്‌ കൂടി ചേര്‍ത്ത്‌ ഡേറ്റാ ബിറ്റിലെ ആകെ "1' ബിറ്റുകളുടെ എണ്ണം ഒറ്റ സംഖ്യയായി ക്രമീകരിക്കുന്നത്‌ ഓഡ്‌ പാരിറ്റി (odd parity); ബിറ്റുകളുടെ എണ്ണം ഇരട്ട സംഖ്യകളായി ചിട്ടപ്പെടുത്തുന്നത്‌ ഈവെന്‍ പാരിറ്റി (even parity). ലക്ഷ്യത്തിലെത്തിച്ചേരുന്ന ഡേറ്റാ സ്‌ട്രീമിലെ "1' ബിറ്റുകളുടെ എണ്ണം ഒറ്റസംഖ്യ അല്ലെന്ന്‌ കണ്ടാല്‍ ഡേറ്റാ സ്‌ട്രീമില്‍ മാറ്റം വന്നു എന്ന്‌ തിരിച്ചറിയാനാകും. ഇതുപോലെ ഈവെന്‍ പാരിറ്റി ക്രമീകരണത്തിലൂടെയും തെറ്റ്‌ തിരിച്ചറിയാനാകും. പല സന്ദര്‍ഭങ്ങളിലും ഡേറ്റയില്‍ വ്യത്യാസം വന്നു എന്ന്‌ തിരിച്ചറിഞ്ഞാല്‍ മാത്രം മതിയാകും; പിശക്‌ തിരുത്തേണ്ടതില്ല; പരിഹാരമായി സ്രോതസ്സില്‍നിന്ന്‌ ഡേറ്റയുടെ പുനഃപ്രേഷണം ആവശ്യപ്പെടാവുന്നതാണ്‌. ഇന്റര്‍നെറ്റിലൂടെയുള്ള ഡേറ്റാവിനിമയം ഇതിനൊരുദാഹരണ മാണ്‌.

ചില അവസരങ്ങളില്‍ പിശക്‌ തിരിച്ചറിഞ്ഞാല്‍ മാത്രം പോര അത്‌ തിരുത്തി യഥാര്‍ഥ ഡേറ്റ കണ്ടെത്തേണ്ടതായും വരാം. ഉദാഹരണമായി കോംപാക്‌റ്റ്‌ ഡിസ്‌കിലെ ഡേറ്റ വായിക്കുമ്പോള്‍ പിശകു സംഭവിച്ചാല്‍ അത്‌ തിരുത്തേണ്ടതുണ്ട്‌. പ്രേഷണസരണിയിലൂടെ ലക്ഷ്യത്തിലെത്തിച്ചേരുന്ന ഡേറ്റാ സ്‌ട്രീമിലെ ഒരു ബിറ്റിന്റെ മൂല്യത്തില്‍ മാത്രം വ്യത്യാസം വരുന്ന സന്ദര്‍ഭങ്ങളില്‍ അത്‌ തിരിച്ചറിഞ്ഞ്‌ നീക്കം ചെയ്യുന്നവ, ഡേറ്റാ സ്‌ട്രീമിലെ രണ്ടു ബിറ്റുകളുടെ മൂല്യത്തില്‍ മാറ്റം വന്നാല്‍ അത്‌ കണ്ടെത്തി ശരിയാക്കാനുള്ളവ, എന്നിങ്ങനെ വിവധതരം എറര്‍ ഡിറ്റക്ഷന്‍ ആന്‍ഡ്‌ കറക്ഷന്‍ കോഡിങ്‌ രീതികള്‍ പ്രചാരത്തിലുണ്ട്‌. നോ. ഹഫ്‌മാന്‍ കോഡ്‌, ഹാമിങ്‌ കോഡ്‌, റീഡ്‌-മുള്ളെര്‍ കോഡ്‌, റീഡ്‌-സോളമന്‍ കോഡ്‌

(ഡോ. കെ. സുരേഷ്‌ബാബു; സ.പ.)

താളിന്റെ അനുബന്ധങ്ങള്‍
സ്വകാര്യതാളുകള്‍