এতো কিছু পরিবর্তন তো হয়েছে পৃথিবীতে গত শতকে, কিন্তু একশো-দেড়শো বছর আগের কাউকে যদি টাইম মেশিনে করে আজকের দিনে নিয়ে আসা হয়, তাঁরা বোধহয় সবচেয়ে অবাক হবেন যোগাযোগ ব্যবস্থার অগ্রগতি দেখে। দুঃখী ও হতে পারেন আজকাল কেউ আর কাগজে কলমে চিঠি লেখে না দেখে। ভাবো তো, ইন্টারনেট থেকে হোয়াটস্যাপ, মোবাইল ফোন থেকে ভিডিও কলিং, ডিশ-টিভি থেকে সোশ্যাল মিডিয়া, কিভাবে হলো কমিউনিকেশন বা যোগাযোগের এই অসাধারণ অগ্রগতি?
আমাদের ছোটবেলায়, নব্বই-এর দশকে, একটা জিনিস একদম-ই জানতাম না, কিন্তু এখন প্রাইমারি স্কুল-এর বাচ্চারাও বলে দিতে পারে: যেকোনো সংখ্যাকে শুধু দুটো প্রতীক ব্যবহার করেই লেখা যায় – শূন্য (0) আর এক (1) ! যেমন আমরা সাধারণত গুনি 0, 1, 2, 3, 4, 5… তার বদলে, 0, 1, 10, 11, 100, 101… এই বাইনারি সংখ্যা পদ্ধতির ব্যাপারে এখন অনেকেই জানে। বৈদ্যুতিন মাধ্যমে যোগাযোগ এবং তথ্য জমিয়ে রাখার জন্য বাইনারি সংখ্যা খুবই সুবিধেজনক, কারণ আছে-নেই, হ্যা-না, উঁচু-নিচু, এদিক-ওদিক, এইসব দ্বিচারিতা আমাদের চেনা-পরিচিত অনেক পদার্থের মধ্যে বা স্বাভাবিক ঘটনার (natural phenomenon) মধ্যে দেখা যায়। তাই সেগুলো ইলেকট্রিকাল বা মেকানিকাল মাধ্যমে বাস্তবায়িত করা সহজ।
এই বাইনারি সংখ্যা নিয়ে এতো ভানতারা করছি, কারণ আমরা কিভাবে একে অপরের সঙ্গে যোগাযোগ করি তার মধ্যে এক গভীর তত্ত্ব রয়েছে। শুধু একটি বাইনারি সংখ্যা (0 বা 1) এক জায়গা থেকে অন্য জায়গায় পাঠাতে গেলেই সেই রহস্যের আঁচ পাওয়া যায়।
ভাষা আমাদের মনের ভাব প্রকাশ করার উপায়। সেই মনের ভাব অন্যের কাছে পৌঁছে দেওয়াই কমিউনিকেশন বা যোগাযোগ।আমরা সারাক্ষণই যোগাযোগ মাধ্যমে ভাব এবং তথ্যের আদান প্রদান করে চলেছি। বৈজ্ঞানিক দৃষ্টিভঙ্গিতে ভাব এবং তথ্যের মধ্যে তেমন কোনো তফাৎ নেই [1]! বৈদ্যুতিন মাধ্যমে সবকিছুই শেষ পর্যন্ত রূপান্তরিত হয়ে যায় সারিবদ্ধ অনেক 0 এবং 1-এ।
আমরা যখন 0 বা 1 এক জায়গা থেকে অন্য জায়গায় পাঠাচ্ছি, কিভাবে আমরা 100 শতাংশ নিশ্চিত হবো যে প্রেরক যা পাঠিয়েছে প্রাপক তাই পেয়েছে? আমরা সবসময়ই কোনো প্রাকৃতিক মাধ্যম ব্যবহার করে যোগাযোগ করছি। যেমন, ইলেকট্রিক তার, হাওয়া-বাতাস, বা তড়িৎ-চুম্বকীয় ক্ষেত্র। এই ধরণের প্রাকৃতিক মাধ্যমের সমস্ত বৈশিষ্ট সবসময় যথাযথভাবে পরিমাপ করা যায় না। তাছাড়া এই মাধ্যমগুলো অনেক রকমের আলাদা আলাদা বস্তুর সমাহার বলে পদার্থবিদ্যার যে তত্ত্ব এসব নিয়ন্ত্রণ করে সেগুলো খুবই জটিল এবং শুধু পরিসংখ্যানগতভাবে সঠিক (statistically true), প্রত্যেকবার সঠিক নয়। তাই আমরা কখনোই নিশ্চিত হতে পারিনা প্রেরক 1 পাঠালে প্রাপক 1 পাচ্ছে কিনা। এই সম্ভাবনা থেকেই যায় যে উঁচু ভোল্টেজ পরিবর্তিত হয়ে গেলো নিচু ভোল্টেজ-এ, বা তড়িৎ-চুম্বকীয় ক্ষেত্রের দিক পরিবর্তন হয়ে গেলো। সাধারণত এই ঘটনাগুলোকে একসঙ্গে বলা হয় যোগাযোগ মাধ্যমের noise!
এই noise ব্যাপারটা যেকোনো প্রাকৃতিক যোগাযোগ ব্যবস্থার মধ্যে রয়েছে কিন্তু অঙ্কের সুবিধের খাতিরে একটা আদর্শ যোগাযোগ ব্যবস্থা বানানো যায় যেখানে noise-টাকে একটু সহজভাবে ধরা যায়। ছবিতে সেরকম একটা আদর্শায়িত মাধ্যম দেখানো হয়েছে। একে বলে বাইনারি প্রতিসম মাধ্যম (বা Binary Symmetric Channel), সংক্ষেপে BSC। এখানে 0 পাঠানো হলে 25% সম্ভাবনা (probability) থাকে যে 1 পৌঁছবে আর 1 পাঠানো হলে 25% সম্ভাবনা থাকে যে 0 পৌঁছবে। অর্থাৎ, 75% সম্ভাবনা থাকে যে এই মাধ্যমে কোনো ভুল হয়নি এবং সঠিক যোগাযোগ হয়েছে।

ভেবে দেখো, এটা খুবই যন্ত্রণাদায়ক মাধ্যম – প্রতি চারটে কথায় একটি ভুল! এই মাধ্যমে কাউকে যদি বলতে যাই আমি তোমায় ভালোবাসি, সে হয়তো শুনবে আমার হয়েছে হুপিং কাশি। বাস্তবের সমস্ত যোগাযোগ মাধ্যমই কমবেশি এরকম। ভেবে দেখো, যদি দূরের কাউকে ডেকে কোনো কথা বলতে হয়, তাহলে সে হামেশাই ভুল শোনে। আমার স্ত্রীকে আবার বলতে শুনেছি আমি নাকি কোনো কথাই শুনতে পাই না, কানের মধ্যে এসে চিৎকার করে না বললে (যদিও আমার ধারণা এটা সম্পূর্ণ সত্যি নয়)!
যদি আমরা বিশ্বাসযোগ্যভাবে এই আদর্শায়িত BSC মাধ্যমে তথ্য আদান প্রদান করতে পারি তাহলে আমরা বাস্তবের সব noisy মাধ্যমেও তা পারবো। বিশ্বাসযোগ্য বলতে এখানে বোঝায়, যা পাঠানো হয়েছে তা সঠিক ভাবে পুনরুদ্ধার করা যাবে। কিন্তু কিভাবে তা করা সম্ভব?
একটা সোজা রাস্তা কিন্তু আছে। একই কথা বারবার বলা। যদি আমাদের 0 পাঠাতে হয় আমরা তিনটে শূন্য, অর্থাৎ 0, 0, 0 পাঠাবো। আর যদি আমাদের 1 পাঠাতে হয়, তাহলে আমরা পাঠাবো 1, 1, 1। তার মানে আমরা মাধ্যম বা চ্যানেলটি তিনবার ব্যবহার করব একবারের বদলে। অন্যদিকে প্রাপক একটি বাইনারি সংখ্যার বদলে তিনটে বাইনারি সংখ্যা (বা বিট) পাবে। তার মধ্যে যে সংখ্যাটা অন্তত দুবার দেখা যাচ্ছে অর্থাৎ যেটা সংখ্যাগরিষ্ঠ, প্রাপক সেই সংখ্যাটিই পাঠানো হয়েছে ধরে নেবে। যদি ধরে নি আমাদের BSC মাধ্যম স্বতন্ত্রভাবে বিট পরিবর্তন করে দিচ্ছে, তাহলে এই তিনবার পুনরাবৃত্তির ফলে ভুল শোনার সম্ভাবনা হয়ে যাবে [2]! এতো খুবই ভালো ব্যাপার! মনে করে দেখো, ভুল শোনার সম্ভাবনা আগে ছিল
, এখন কমে হয়ে গেলো
। এই জন্যই আমার স্ত্রী মাঝে মাঝে বলে যে আমি এক কথা তিন বার বললে তবে শুনতে পাই।
তাহলে তো একই কথা পাঁচবার বললেও হয়? যদি আমাদের 0 পাঠাতে হয় তো আমরা 0, 0, 0, 0, 0 পাঠাবো। আর যদি আমাদের 1 পাঠাতে হয়, তাহলে আমরা পাঠাবো 1, 1, 1, 1, 1। এবার ভুল শোনার সম্ভাবনা হয়ে যাবে 10 শতাংশ। আরো কম! একই কথা যদি আমরা একশো-এক বার বলি, তাহলে ভুল শোনার সম্ভাবনা হয়ে যাবে ! অযুগ্ম সংখ্যা ব্যবহার করছি যেহেতু প্রাপককে একটা সংখ্যাগরিষ্ঠ দেখতে হবে। একশো-এক-এর জায়গায় এক হাজার একবার পুনরাবৃত্তি করলে ভুল শোনার সম্ভাবনা হবে দশমিকের পরে 74টি শূন্য। অর্থাৎ এতো কম যে ভুল নেই বললেই চলে।
তাহলে আমরা যোগাযোগ মাধ্যমে noise এর সমস্যাটার সমাধান করে ফেলেছি। কিন্তু বাস্তব অভিজ্ঞতা থেকে জানি একই কথা হাজার বার বলতে কেউই পছন্দ করে না। তাই না? যখন আমরা একটি বিট পাঠানোর জন্য তিনবার মাধ্যমটি ব্যবহার করছি, তখন আমাদের উপযোগিতা (efficiency) হয়ে দাঁড়াচ্ছে – একে যোগাযোগের হারও বলা হয়। একটি বিট এর জন্য যখন
টি বিট পাঠাচ্ছি তখন উপযোগিতা মাত্র
! তার মানে ভুল শোনার সম্ভাবনা শূন্যের কাছে পৌঁছেছে বটে, কিন্তু যোগাযোগের হারও চলে গেছে শূন্যের কাছাকাছি।
1930 আর 40-এর দশকে অনেক ইঞ্জিনিয়ার বিশ্বাস করতেন যে সম্পূর্ণ বিশ্বাসযোগ্য যোগাযোগ হতে গেলে যোগাযোগের হার হতে হবে শূন্য। পদার্থবিদ্যার ভাষায় 100 শতাংশ সঠিক আদান-প্রদান হতে গেলে অসীম এনার্জি বা শক্তি দরকার। তাহলে অনেক দূরপাল্লার যোগাযোগ, যেখানে noise অনেক বেশি, সেগুলো হওয়ার তো কোনো সম্ভাবনাই নেই।
আশ্চর্যজনকভাবে দেখা যায়, এই আদর্শায়িত BSC মাধ্যমেই বিশ্বাসযোগ্য যোগাযোগ সম্ভব। যোগাযোগের হার শূন্য হতে হবে না, হলেই চলবে (যেটা
-এর চেয়ে অনেক বড়)। আরো দেখা যায়, এর থেকে যোগাযোগের হার বেশি করলে বিশ্বাসযোগ্য যোগাযোগ অসম্ভব। 1948 সালে প্রকাশিত হওয়া একটি যুগান্তকারী প্রবন্ধে ক্লদ এলউড শ্যানন এই উপপাদ্যটি প্রমাণ করেন। সত্যি বলতে কি, এই ইঞ্জিনিয়ারিং সমস্যাটিকে যে একটি গণিতের সমস্যায় পরিণত করা যায়, তাও শ্যানন এখানেই দেখান।

একই কথা বার বার না বলে কিভাবে পাওয়া সম্ভব বিশ্বাসযোগ্য যোগাযোগ? সেই প্রক্রিয়াটা একটু জটিল – এবং শ্যানন তেমন কোনো প্রক্রিয়া বলেও দেন নি। ধরা যাক আর
দুটি বিট। এদেরকে দুবার করে পাঠানোর বদলে,
,
এবং
, এই তিনটি বিট পাঠালে সমান পরিমানে noise প্রতিহার করা যায়; কিন্তু যোগাযোগের হার বাড়ে।
এই মৌলিক ভিত্তির ওপর নির্ভর করে তৈরী হয়েছে অনেক খটোমটো ম্যাপিং, যাদেরকে বলা হয় error-correcting codes, বা ভুল-সংশোধনী সংকেতাবলী। আদর্শায়িত BSC মাধ্যমের ক্ষেত্রে শ্যানন দেখিয়েছিলেন যে একটা code রয়েছে কিন্তু বাস্তবে কার্যকর code আবিষ্কার হয়েছে এই 2008 সালে, শ্যানন-এর প্রবন্ধের 60 বছর পরে [3]।
কিন্তু এই হার কিভাবে এলো? শ্যানন দেখিয়েছিলেন যেকোনো যোগাযোগের মাধ্যমের জন্যই এরকম একটি অনুষঙ্গী সংখ্যা আছে, যাকে বলে ক্যাপাসিটি (capacity)! এই সংখ্যাটির থেকে বেশী হারে তথ্য পাঠানো সম্ভব নয়। যদি যোগাযোগের হার সেই ক্যাপাসিটির থেকে কম থাকে, তাহলে আসল তথ্যের সাথে ভুল-সংশোধনী তথ্য জুড়ে ভুলটাকে প্রায় শূন্য করে দেওয়া যায়। আর যোগাযোগের হার বেশী হলে কোনোভাবেই সেই ভুলটাকে এড়ানো যাবে না।
এই ক্যাপাসিটি গণনা করার জন্য শ্যানন অনেকগুলো নতুন ধারণা এবং সংজ্ঞা দেন, তাদের মধ্যে সবচেয়ে জনপ্রিয় হলো শ্যানন এনট্রপি (Shannon Entropy)! একটা ঘটনার যদি -টা ফলাফল থাকে, তাহলে গড়ে সেই ঘটনা থেকে যতটা অপ্রত্যাশিত তথ্য পাওয়া যাবে, সেটা হলো:
যেখানে হলো সেই ঘটনাটার সম্ভাবনা। এটাই শ্যানন এনট্রপির সংজ্ঞা।
একটা BSC যোগাযোগ মাধ্যমে একটা বিট পাঠালে সেটা প্রাপকের কাছে 0 কিম্বা 1 হিসেবে পৌঁছতে পারে। দুটো ফলাফল — একটার সম্ভাবনা , আরেকটার
। উপরের ফর্মুলাতে এই সংখ্যাগুলো বসালে পাওয়া যাবে:
BSC মাধ্যমে যেহেতু একটা করে বিট প্রাপকের কাছে আসছে, 1 থেকে এই 0.81 সংখ্যাটাকে বাদ দিলেই যোগাযোগ মাধ্যমের ক্যাপাসিটি পাওয়া যায়। এক্ষেত্রে সেটা 0.19।
শ্যানন এনট্রপি একটি ভীষণ প্রভাবশালী এবং ফলপ্রসূ ধারণা, যার ব্যবহার যোগাযোগ মাধ্যমের গন্ডি ছাড়িয়ে কম্পিউটার সায়েন্স, স্ট্যাটিসটিক্স, পদার্থবিদ্যা, অর্থনীতি, ভাষাবিদ্যা, ইত্যাদিতে এখন বহুল পরিমান। শ্যাননের এই প্রবন্ধেই প্রথম “বাইনারি ডিজিট” (binary digit) সংক্ষেপ করা হয় এবং “বিট” (bit) শব্দটি ব্যবহার হয়। দেখা যায় যে তথ্যের পরিমাপ কিভাবে করা সম্ভব, এবং কিভাবে তার সংকোচন করা যায় – এই সবই যোগাযোগ মাধ্যমের এই সমস্যার সঙ্গে সম্পর্কিত। Information Theory নামে ফলিত গণিতের একটি শাখাও তৈরী হয়ে যায় শ্যাননের প্রবন্ধের প্রকাশিত হওয়ার পরে।
শ্যানন-এর প্রবন্ধের পরে খুব তাড়াতাড়ি ব্যবহারযোগ্য error-correcting codes আবিষ্কার হতে থাকে। ভীষণ noisy মাধ্যম, যেমন মহাকাশে যোগাযোগের জন্য ও এই সংকেতাবলী ব্যবহার হয় – 1977 সালে নাসার Voyager ব্যবহার করে Reed-Solomon Codes ইত্যাদি। পঞ্চম প্রজন্মের পর থেকে সেলুলার ফোন-এ ব্যবহার হয় Polar Codes – তাই আমরা খুব অনিশ্চিত মাধ্যমেও এখন যোগাযোগ বিশ্বাসযোগ্য করতে পারি।
আমাদের কাজ এখন এই যোগাযোগ মাধ্যমগুলোকে দায়িত্ত্ব সহকারে ব্যবহার করা।
অন্যান্য টুকিটাকি:
[1] “বৈজ্ঞানিক দৃষ্টিভঙ্গিতে ভাব এবং তথ্যের মধ্যে তেমন কোনো তফাৎ নেই” এই কথাটি সম্পূর্ণ সত্যি নয় – তবে সে আরেকদিনের গল্প।
[2] যদি প্রতি বিট-এ ভুল হওয়ার সম্ভাবনা হয়, তাহলে তিনটে বিট পাঠালে দুভাবে ভুল হতে পারে:
- তিনটে বিট-ই ভুল। এই ঘটনার সম্ভাবনা
।
- তিনটের মধ্যে দুটো বিট ভুল (যেহেতু ভুলটা সংখ্যাগরিষ্ঠ, গোটাটাই ভুল এক্ষেত্রে)। এই ঘটনা তিনভাবে হতে পারে এবং এর সম্ভাবনা
দুইয়ের যোগফল ভুল হওয়ার পুরো সম্ভাবনাটা দেয়, , অর্থাৎ
।
[3] BSC মাধ্যমের জন্য প্রযোজ্য error-correcting code-কে বলে Polar Code, আবিষ্কারক এরডাল আরিকান। এভাবে ওই যোগাযোগের হার পাওয়া সম্ভব।
[4] শ্যাননের সহকর্মী জন ভন নয়মান “শ্যানন এনট্রপি” নামটি দেন, সংশ্লিষ্ট ধারণা স্ট্যাটিসটিক্স এবং থার্মোডাইনামিক্স এ ইতিমধ্যে ছিল।
