8 মিনিট

ক্লড শ্যাননের তথ্যতত্ত্ব — আধুনিক ডিজিটাল প্রযুক্তিতে

ক্লড শ্যাননের মূল ধারনা—বিট, এন্ট্রপি, এবং চ্যানেল ধারণক্ষমতা—শিখুন এবং দেখুন কিভাবে এগুলো সংকোচন, ত্রুটি সংশোধন, নির্ভরযোগ্য নেটওয়ার্ক, ও আধুনিক ডিজিটাল মিডিয়াকে চালিত করে।

ক্লড শ্যাননের তথ্যতত্ত্ব — আধুনিক ডিজিটাল প্রযুক্তিতে

কেন শ্যানন আজও সাধারণ প্রযুক্তিতে গুরুত্বপূর্ণ

আপনি যখনই একটি টেক্সট পাঠান, ভিডিও দেখেন, বা ওয়াই‑ফাইতে যুক্ত হন—শ্যাননের আইডিয়াগুলো ব্যবহার করছেন। আপনার ফোন কোনোভাবে “শ্যানন জানে” বলে নয়; বরং আধুনিক ডিজিটাল সিস্টেমগুলো একটি সহজ প্রতিশ্রুতি থেকে নির্মিত: কাঁচা বাস্তব-জগতের বার্তাকে বিটে রূপান্তর করে, সেই বিটগুলো ত্রুটিপূর্ণ চ্যানেলে পাঠানো যায়, এবং মূল বিষয়বস্তু উচ্চ বিশ্বাসযোগ্যতায় পুনরুদ্ধার করা যায়।

সহজ ভাষায় তথ্যতত্ত্ব

তথ্যতত্ত্ব হল বার্তাগুলোর অঙ্কশাস্ত্র: একটি বার্তায় কতটা পছন্দ/অনিশ্চয়তা আছে, সেটা কতটা দক্ষভাবে উপস্থাপন করা যায়, এবং গোলমাল, অশান্তি, বা জটিলতা বাধা দিলে কিভাবে নির্ভরযোগ্যভাবে প্রেরণ করা যায়।

এখানে গণিত আছে, কিন্তু ব্যবহারিক ধারণা বোঝার জন্য গাণিতিক পটভূমি বাধ্যতামূলক নয়। আমরা প্রতিদিনের উদাহরণ ব্যবহার করে—কেন কিছু ছবি ভালভাবে সংকুচিত হয়, বা সিগনাল দুর্বল হওয়া সত্ত্বেও কল কেন ঠিক শোনায়—তথ্যগুলো बिना জটিল সূত্রে ব্যাখ্যা করব।

চারটি মূল স্তম্ভ যা সর্বত্র উপস্থিত

এই প্রবন্ধটি চারটি শ্যানন-প্রেরিত স্তম্ভ ঘিরেই:

  • সংকোচন: ডেটা (অডিও, ভিডিও, ফাইল) ছোট করা, এমনভাবে যাতে গুরুত্বপূর্ণ অংশ না হারায়।
  • ত্রুটি সংশোধন: একই মাত্রার অতিরিক্ত বিট যোগ করা যাতে ভ্রান্তি শনাক্ত ও ঠিক করা যায়।
  • নেটওয়ার্ক নির্ভরযোগ্যতা: প্যাকেট হারানো মোকাবেলা করা—রিটারাই, অর্ডারিং, এবং থ্রুপুট ট্রেড‑অফ ব্যবহার করে।
  • এন্ড‑টু‑এন্ড ডিজিটাল যোগাযোগ: উৎস (আপনার বার্তা) থেকে চ্যানেল (ওয়াই‑ফাই, সেলুলার, ফাইবার) পর্যন্ত পুরো চেইন দেখা।

পড়ার পর আপনি কী যুক্তি দাঁড় করাতে পারবেন

শেষে আপনি স্পষ্টভাবে ভাবতে পারবেন: কেন উচ্চতর ভিডিও মান বেশি ব্যান্ডউইথ চায়, কেন “ওর বেশি বার” মানে সবসময় দ্রুত ইন্টারনেট নয়, কেন কিছু অ্যাপ ইনস্ট্যান্ট লাগে আর কিছু বাইরে ব্রাফার করে, এবং কেন প্রতিটি সিস্টেমই সীমায় পৌঁছে—বিশেষত বিখ্যাত শ্যানন সীমা-এ।

ক্লড শ্যানন এক পৃষ্ঠায়: বড় ধারণা

১৯৪৮ সালে গাণিতিক ও ইঞ্জিনিয়ার ক্লড শ্যানন একটি পেপার প্রকাশ করেন—A Mathematical Theory of Communication—যা ধীরে ধীরে কিভাবে আমরা ডেটা প্রেরণ সম্পর্কে ভাবি তা বদলে দেয়। আর্ট হিসেবেই যোগাযোগ দেখার বদলে তিনি এটাকে একটি ইঞ্জিনিয়ারিং সমস্যায় পরিণত করেন: একটি উৎস বার্তা তৈরি করে, একটি চ্যানেল তা বহন করে, গোলমাল তা দূষিত করে, আর একটি রিসিভার পাঠানো পুনর্গঠন করার চেষ্টা করে।

তথ্য হল “অনিশ্চয়তা যা কমে”—অর্থ নয়, sondern নয়

শ্যাননের মূল কৌশল ছিল তথ্যকে একটি মাপযোগ্য ও মেশিন-উপযোগীভাবে সংজ্ঞায়িত করা। তাঁর কাঠামোতে তথ্য মান বা সত্যতার সাথে সম্পর্কিত নয়—এটি চমক বা অনিশ্চয়তা কেমন কমে সে সম্পর্কে।

আপনি যদি আগেই জানেন কি ঘটতে যাচ্ছে, তাহলে বার্তাটি স্থূলভাবে কম তথ্যবহুল। যদি আপনি প্রকৃতপক্ষে অনিশ্চিত থাকেন, ফল জানলে অনেক বেশি তথ্য পাওয়া যায়।

বিট: গোনা যায় এমন সবচেয়ে সাধারণ একক

তথ্য মাপার জন্য শ্যানন বিট (binary digit) প্রচলিত করেন। একটি বিট হল একটি সরল হ্যাঁ/না অনিশ্চয়তা মেটানোর জন্য দরকারি তথ্য।

উদাহরণ: যদি আমি জিজ্ঞেস করি “লাইটটি অন আছে কি?” এবং আপনি আগে কিছুই জানেন না, তাহলে উত্তর (হ্যাঁ বা না) 1 বিট তথ্য সরবরাহ করে। অনেক বাস্তব বার্তা এই ধরণের বাইনারি পছন্দগুলোর দীর্ঘ ক্রমে ভাঙা যায়, সেই কারণেই টেক্সট, ছবি, অডিও—all বিট আকারে সংরক্ষণ ও প্রেরণ করা যায়।

এই পোস্টটি কী করবে (এবং কী করবে না)

এই প্রবন্ধটি শ্যাননের ধারণাগুলোর ব্যবহারিক অন্তর্দৃষ্টি ও কেন সেগুলো সর্বত্র পাওয়া যায়—সংকোচন, ত্রুটি সংশোধন, নেটওয়ার্ক নির্ভরযোগ্যতা, এবং চ্যানেল ধারণক্ষমতা—এইগুলোর উপর ফোকাস করবে।

এটি ভারী প্রমাণপত্র কভার করবে না। অগ্রভাগে যাওয়ার জন্য জটিল গাণিতিক দক্ষতার প্রয়োজন নেই: তথ্য মাপতে পারলেই আপনি সিস্টেম ডিজাইন করতে পারবেন যা প্রায়ই শ্যাননের তাত্ত্বিক সীমার কাছাকাছি কাজ করে।

বিট, প্রতীক, এবং কোড: ব্যবহারিক শব্দভাণ্ডার

এন্ট্রপি, সংকোচন, বা ত্রুটি সংশোধন নিয়ে কথা বলার আগে কয়েকটি সাধারণ শব্দ পরিষ্কার করে নেওয়া ভাল। শ্যাননের ধারণাগুলো তখন সহজে বোঝা যায়।

প্রতীক, আলফাবেট, এবং বার্তা

একটি প্রতীক হল একটি নির্দিষ্ট টোকেন যা আপনি সম্মত হয়েছেন ব্যবহার করবেন। সেই সেটকে বলা হয় আলফাবেট। ইংরেজিতে আলফাবেট হতে পারে অক্ষর (স্পেস ও পাংচুয়েশনসহ)। কম্পিউটার ফাইলের ক্ষেত্রে আলফাবেট হতে পারে 0–255 এর বাইট ভ্যালুগুলো।

একটি বার্তা হল ঐ আলফাবেট থেকে প্রতীকগুলোর একটি ক্রম: একটি শব্দ, বাক্য, ছবির ফাইল, বা অডিও স্যাম্পলের স্ট্রীম।

কনক্রিট রাখতে, একটি ছোট আলফাবেট কল্পনা করুন: {A, B, C}. একটি বার্তা হতে পারে:

A A B C A B A ...

বিট এবং কোড

একটি বিট হলো 0 বা 1। কম্পিউটার বিট সংরক্ষণ ও প্রেরণ করে কারণ হার্ডওয়্যার দুটি অবস্থাকে নির্ভরযোগ্যভাবে পৃথক করতে পারে।

একটি কোড হলো প্রতীকগুলিকে বিট (বা অন্যান্য প্রতীকে) উপস্থাপনের নিয়ম। উদাহরণস্বরূপ, আমাদের {A, B, C} আলফাবেটের জন্য একটি সম্ভাব্য বাইনারি কোড হল:

  • A → 0
  • B → 10
  • C → 11

এখন যেকোনো A/B/C-র বার্তাকে বিটের স্ট্রিমে রূপান্তর করা যায়।

এনকোডিং বনাম সংকোচন বনাম এনক্রিপশন

এই শব্দগুলো প্রায়ই মিশে যায়:

  • এনকোডিং: ডেটা নির্দিষ্ট ফরম্যাটে রূপান্তর করা (যেমন A/B/C-কে বিটে ম্যাপ করা বা টেক্সটকে UTF‑8 এ কনভার্ট করা)।
  • সংকোচন: এমন এনকোডিং যা গড়ে কম বিট ব্যবহার করে, প্যাটার্ন ও অসমান ফ্রিকোয়েন্সি কাজে লাগিয়ে।
  • এনক্রিপশন: কী দিয়ে ডেটা গুটিয়ে রাখা যাতে বাইরের কেউ পড়তে না পারে; এটি গোপনীয়তার উদ্দেশ্য, আকার নয়।

দ্রুত সম্ভাব্যতাগত ধারণা

বাস্তব বার্তাগুলো র‍্যান্ডম নয়: কিছু প্রতীক অন্যগুলোর তুলনায় বেশি ঘনীভূত। ধরা যাক A ঘটে 70% সময়, B 20%, C 10%. একটি ভাল সংকোচন-স্কিম সাধারণত সাধারণ প্রতীকে ছোট বিট প্যাটার্ন দেবে (A), এবং বিরল প্রতীকে বড় প্যাটার্ন (C)। এই অসমানতা পরবর্তীতে এন্ট্রপি দ্বারা পরিমাপ করা হবে।

এন্ট্রপি: চমক মাপা (এবং কেন এটি সংকোচন পূর্বাভাস দেয়)

শ্যাননের সবচেয়ে পরিচিত ধারণা হল এন্ট্রপি: কোনো উৎসে কতটা “চমক” আছে তা পরিমাপ করার একটি উপায়। এখানে চমক মানে আবেগগত নয়—চমক মানে পূর্বাভাসহীনতা। যত বেশি অনিশ্চিত পরবর্তী প্রতীক, তত বেশি তথ্য তা বহন করে।

এন্ট্রপি হিসাবে "গড় চমক"

ধরা যাক কয়েন উল্টানো দেখছেন।

  • ফেয়ার কয়েন (50/50): প্রতিটি ফ্লিপ পূর্বানুমান করা কঠিন। হেড বা টেইল সমানভাবে সম্ভব, তাই নিয়মিতভাবে “চমক” ঘটে—এর মানে উচ্চ এন্ট্রপি
  • লোডেড কয়েন (ধরা যাক 95% হেড): বেশিরভাগ ফ্লিপ হেড হবে। কয়েকবার পরে আপনি হেড আশা করতে শুরু করবেন, তাই হেড খুব কম নতুন তথ্য দেয়; কেবল বিরল টেইলই চমক। গড়ে এই ক্রমে কম এন্ট্রপি আছে।

এই “গড় চমক” ধারণা দৈনন্দিন প্যাটার্নে মানায়: পুনরাবৃত্তি করা টেক্সট ফাইল র‍্যান্ডম ক্যারেক্টারের ফাইলে অপেক্ষায় সহজেই পূর্বানুমান করা যায়।

কেন পূর্বানুমানীয়তা সংকোচনযোগ্যতার অর্থ

সংকোচন সাধারণত সাধারণ প্রতীকে ছোট কোড দান করে এবং বিরল প্রতীকে বড় কোড। যদি উৎসটি পূর্বানুমানীয় (কম এন্ট্রপি) হয়, আপনি বেশি সময় ছোট কোড ব্যবহার করে জায়গা বাঁচাতে পারবেন। যদি উৎস প্রায় র‍্যান্ডম হয় (উচ্চ এন্ট্রপি), তখন কম কমানোর উপায় থাকে—কিছুই বারবার অনুপস্থিত।

এন্ট্রপি এবং সেরা সম্ভাব্য গড় কোড দৈর্ঘ্য

শ্যানন দেখিয়েছেন এন্ট্রপি একটি ধারণাগত ব্যাঞ্চমার্ক: এটি প্রতীক প্রতি গড় বিট সংখ্যার জন্য সর্বনিম্ন সম্ভাব্য সীমা নির্ধারণ করে যখন উৎসটি থেকে ডেটা এনকোড করা হয়।

গুরুত্বপূর্ণ: এন্ট্রপি কোনো সংকোচন অ্যালগরিদম নয়। তা আপনাকে বলবে কি তত্ত্বগতভাবে সম্ভব—আর কখন আপনি সীমার কাছাকাছি পৌঁছেছেন।

সংকোচন: এন্ট্রপিকে ছোট ফাইলে রূপান্তর করা

সংকোচন ঘটে যখন আপনি এমন একটি বার্তা নেন যেটা কম বিটে বর্ণনা করা যেতে পারে, এবং সত্যিই তা করে ফেলেন। শ্যাননের মূল অন্তর্দৃষ্টি হল: নিম্ন এন্ট্রপি (অর্থাৎ বেশি পূর্বানুমানীয়তা) যেসব ডেটার মধ্যে থাকে সেগুলো সংকোচনের জন্য "জায়গা" থাকে; আর উচ্চ-এন্ট্রপি ডেটা কম সংকুচিত হয়।

কেন প্যাটার্ন ও অসমান ফ্রিকোয়েন্সি ভালভাবে সংকুচিত হয়

পুনরাবৃত্ত প্যাটার্নই স্পষ্ট জয়লাভ: যদি ফাইলে একই ক্রমবার দেখা যায়, আপনি ঐ ক্রম একবার সংরক্ষণ করে বহুবার রেফার করতে পারবেন। কিন্তু পরিষ্কার পুনরাবৃত্তি ছাড়াও তীব্র প্রতীকি ভিন্নতা সহ ডেটা উপকার পায়।

যদি এক টেক্সটে “e” অনেক বেশি আসে, আর “z” খুব কম, তাহলে প্রতিটি অক্ষরের জন্য একই সংখ্যক বিট দেওয়ার দরকার নেই। যত বেশি ফ্রিকোয়েন্সি অসমানতা, তত বেশি পূর্বানুমানযোগ্যতা, এবং তত বেশি সংকোচন-সুবিধা।

পরিবর্তনশীল দৈর্ঘ্যের কোডিং (মূল ধারণা)

অবশ্যই অভ্যন্তরীণভাবে এই অসমানতাগুলো কাজে লাগাতে একটি সহজ উপায় হল পরিবর্তনশীল‑দৈর্ঘ্যের কোডিং:

  • ঘনীভূত প্রতীকে সংক্ষিপ্ত কোড
  • বিরল প্রতীকে দীর্ঘ কোড

সতর্কভাবে করলে এতে গড়ে প্রতীক প্রতি বিট সংখ্যা কমে যায়, তথ্য হারানো ছাড়াই।

বাস্তব‑জীবনের লসলেস কম্প্রেসার সাধারণত একাধিক ধারণা মিশ্রিত করে, কিন্তু আপনি সাধারণত এই পরিবারগুলোর নাম শুনবেন:

  • হাফম্যান কোডিং: একটি কার্যকর “সাধারণ-জন্য-শর্ট” কোডবুক বানায়
  • আরিথমেটিক কোডিং: প্রতীকগুলোকে ভগ্নাংশ রেঞ্জে প্যাক করে, প্রায়শই এন্ট্রপি সীমার কাছে កাচে।
  • LZ (Lempel–Ziv): পুনরাবৃত্ত সাবস্ট্রিং খুঁজে সেগুলোকে রেফারেন্স দিয়ে প্রতিস্থাপন করে (অনেক ZIP-স্টাইল ফরম্যাটে ব্যবহৃত)

লসলেস বনাম লসি (ZIP বনাম JPEG/MP3)

লসলেস সংকোচন মূলটি সম্পূর্ণভাবে পুনরুদ্ধার করে (উদা., ZIP, PNG)। সফটওয়্যার, ডকুমেন্ট, এবং যেগুলোতে একটুকরো ভুলও সমস্যা করে—সেগুলোর জন্য অপরিহার্য।

লসি (lossy) সংকোচন ইচ্ছাকৃতভাবে এমন তথ্য বাদ দেয় যা মানুষের কাছে সাধারণত খেয়াল না পড়ে (উদা., JPEG ছবি, MP3/AAC অডিও)। লক্ষ্য বদলে যায়: “আগের অভিজ্ঞতার সমান” ফিরে পেতে, ফলে অনেক বেশি ছোট ফাইল পাওয়া যায়।

ত্রুটি ঘটে: কেন রিডান্ড্যান্সি দরকার

ভয়ের ছাড়াই পুনরাবৃত্তি করুন
রিট্রাই, বাফারিং এবং পেলোড সাইজ নিয়ে পরীক্ষা-নিরীক্ষা করুন এবং প্রয়োজন হলে নিরাপদে রোলব্যাক করুন।

প্রতিটি ডিজিটাল সিস্টেম একটি ভঙ্গুর অনুমানের ওপর দাঁড়ায়: একটি 0 হল 0, একটি 1 হল 1। বাস্তবে বিট উল্টে যেতে পারে।

ত্রুটি কোথা থেকে আসে

প্রেরণে বৈদ্যুতিক হস্তক্ষেপ, দুর্বল ওয়াই‑ফাই সিগনাল, বা রেডিও গোলমাল সিগনালকে ঘুরিয়ে দিয়ে রিসিভারকে ভুল ব্যাখ্যা করতে পারে। স্টোরেজে ছোট ছোট শারীরিক প্রভাব—ফ্ল্যাশ মেমরি পরিধান, অপটিক্যাল মিডিয়ার স্ক্র্যাচ, এমনকি অতিরিক্ত কণিকাও—একটি স্টোর করা চার্জ বা চৌম্বকীয় অবস্থা পরিবর্তন করে দিতে পারে।

ত্রুটি অনিবার্য, তাই ইঞ্জিনিয়াররা ইচ্ছাকৃতভাবে রিডান্ড্যান্সি যোগ করে: অতিরিক্ত বিট যা নতুন তথ্য বহন করে না, কিন্তু ক্ষতি সনাক্ত বা মেরামত করতে সাহায্য করে।

আপনি যে সহজ রিডান্ড্যান্সিগুলো আগে থেকেই ব্যবহার করেছেন

প্যারিটি বিট (দ্রুত সনাক্তকরণ). একটি অতিরিক্ত বিট যোগ করা হয় যাতে 1-গুলোর মোট সংখ্যা জোড় (ইভেন) বা বিজোড় (অড) থাকে। যদি একটি বিট উল্টে যায়, প্যারিটি চেক ফেল করে।

  • শক্তি: সস্তা ও দ্রুত।
  • সীমা: সাধারণত কোন বিট ভুল হয়েছে তা বলে না; দুইটি ফ্লিপ একে অপরকে বাতিল করে ঠিক দেখাতে পারে।

চেকসাম (চাঙ্ক-স্তরে ভাল সনাক্তকরণ). একটিমাত্র বিটের বদলে একটি ছোট সারাংশ সংখ্যার হিসাব রাখা হয় (যেমন অ্যাডিটিভ চেকসাম, CRC)। রিসিভার পুনরায় হিসাব করে তুলনা করে।

  • শক্তি: ব্লকের উপর বহু-বিট ত্রুটি ধরা পড়ে।
  • সীমা: এখনও সনাক্ত-only; ফেল করলে সাধারণত পুনরায় পাঠানো বা ব্যাকআপ কপি লাগে।

রিপিটিশন কোড (সহজ সংশোধন). প্রতিটি বিট তিনবার পাঠান: 0 → 000, 1 → 111। রিসিভার সংখ্যাগরিষ্ঠ ভোট ব্যবহার করে ঠিক করে।

  • শক্তি: প্রতিটি তিনটি গ্রুপে একটি ফ্লিপ ঠিক করতে পারে।
  • সীমা: অত্যন্ত অকার্যকর—তথ্যকে তিনগুণ করে দেয়।

সনাক্তকরণ বনাম সংশোধন (কখন কোনটা ব্যবহার)

ত্রুটি সনাক্তকরণ উত্তর দেয়: "কিছু খারাপ হয়েছে কি না?" যখন পুনরায় পাঠানো সস্তা—নেটওয়ার্ক প্যাকেটের মতো—তবে এটি প্রচলিত।

ত্রুটি সংশোধন উত্তর দেয়: "মূল বিটগুলো কী ছিল?" যখন পুনরায় পাঠানো ব্যয়বহুল বা অসম্ভব—স্ট্রিমিং অডিও, গভীর-স্পেস কমিউনিকেশন, বা স্টোরেজ—তখন দরকার হয়।

রিডান্ড্যান্সি অপচয় মনে হলেও এটি নির্ভরযোগ্যতার বিনিময়ে গুরুত্বপূর্ণ।

চ্যানেল ধারণক্ষমতা ও শ্যানন সীমা (কোন কঠোর গণিত নয়)

রিয়েল চ্যানেলে—ওয়াই‑ফাই, সেলুলার, ইউএসবি, এমনকি হার্ড ড্রাইভ—গোলমাল ও হস্তক্ষেপ বিট উলটে দিতে পারে বা প্রতীকগুলো ঝাপসা করে ফেলতে পারে। শ্যাননের বড় প্রতিশ্রুতি ছিল চমকপ্রদ: শব্দবিহীন চ্যানেলেও নির্ভরযোগ্য কমিউনিকেশন সম্ভব, যদি আপনি খুব বেশি তথ্য চাইলেন না।

সহজ ভাষায় চ্যানেল ধারণক্ষমতা

চ্যানেল ধারণক্ষমতা হল চ্যানেলের "গতি সীমা": সর্বোচ্চ হার (বিট/সেকেন্ড) যা আপনি নির্দিষ্ট গোলমাল স্তরে ত্রুটিকে যতটা ইচ্ছা কমিয়ে প্রেরণ করতে পারেন, ব্যান্ডউইথ ও পাওয়ার মতো সীমাবদ্ধতা ধরে রেখে।

এটি কাঁচা সিম্বল রেটের সমান নয় (কত দ্রুত সিগনাল টগল করা হয়) — এটি কতটা অর্থপূর্ণ তথ্য গোলমাল পার হয়ে বাঁচে, যখন আপনি বুদ্ধিমান এনকোডিং, রিডান্ড্যান্সি, এবং ডিকোডিং ব্যবহার করেন।

শ্যানন সীমা: ইঞ্জিনিয়াররা যা তাড়া করে

শ্যানন সীমা হলো সেই সীমা: এর নিচে সঠিক কৌশল নিয়ে আপনি নির্ভরযোগ্যতা যতটা ইচ্ছা বাড়াতে পারেন; এর উপরে আপনি যতই বুদ্ধিমান হন—কিছু ত্রুটি থাকা ছাড়া চলবে না।

ইঞ্জিনিয়াররা উন্নত মোডুলেশন ও ত্রুটি-সংশোধন কোড ব্যবহার করে এই সীমার কাছাকাছি কাজ করতে চায়। আধুনিক সিস্টেমগুলো (LTE/5G, Wi‑Fi) উন্নত কোডিং ব্যবহার করে এই সীমার কাছে অপারেট করে যাতে সংকম বা পাওয়ার অপচয় কম হয়।

মূল ট্রেড‑অফ (রেট বনাম ত্রুটি সম্ভাবনা)

এটাকে ভাঙলেট ভারি ট্রাকের মত ভাবুন:

  • অত্যন্ত কাদা করে প্যাক করলেই (চাহিদা চ্যানেল-ক্যাপাসিটির ওপরে), কিছু আইটেম সবসময় ভাঙবে (ত্রুটি থাকবে)।
  • খালি জায়গা ও প্যাডিং রাখলেই (রেট নীচে), তুমি ভাঙ্গনকে কতটা ইচ্ছা কমাতে পারবে—কিন্তু থ্রুপুট কমবে।

শ্যানন আমাদের কোনও একক “সেরা কোড” দিলেন না; তিনি প্রমাণ করলেন যে সীমা আছে—এবং সেটার দিকে যাওয়ার চেষ্টা করলে লাভ আছে।

বাস্তব সিস্টেমে ত্রুটি-সংশোধন কোডসমূহ

বিল্ড করার জন্য পুরস্কৃত হন
Koder.ai-এ আপনি যা তৈরি করেছেন ও শিখেছেন তা শেয়ার করে ক্রেডিট অর্জন করুন।

শ্যাননের noisy-channel theorem সাধারণত একটি প্রতিশ্রুতি হিসেবে ধরা হয়: যদি আপনি চ্যানেলের ধারণক্ষমতার নিচে ডেটা পাঠান, এমন কোড আছে যা ত্রুটিকে অত্যন্ত বিরল করে তুলতে পারে। বাস্তব ইঞ্জিনিয়ারিং হল সেই "অস্তিত্ব‑প্রমাণ"কে ব্যবহারযোগ্য কৌশলে পরিণত করা—যা চিপ, ব্যাটারি, এবং ডেডলাইন-সীমার মধ্যে বসে।

ব্যবহারিক টুলকিট: ব্লক, ইন্টারলিভিং, এবং স্মার্ট অনুমান

অধিকাংশ সিস্টেম ব্লক কোড (একসঙ্গে একটি ব্লক বিটকে রক্ষা করে) বা স্ট্রিম-অরিয়েন্টেড কোড (চালিত ক্রমকে রক্ষা করে) ব্যবহার করে।

ব্লক কোডে, প্রতিটি ব্লকের সাথে কৌশলী রিডান্ড্যান্সি যোগ করা হয় যাতে রিসিভার ভুল সনাক্ত ও সংশোধন করতে পারে। ইন্টারলিভিং দিয়ে আপনি পাঠানোর সময় বিটগুলোর ক্রম পরিবর্তন করে ব্যুর্স-নয়েজ (একটিতে অনেক ত্রুটি) কে ছড়িয়ে দেন, ফলে তা বহু ব্লকে ছিটিয়ে যায়—বেতার ও স্টোরেজে জরুরি।

রিসিভার কিভাবে সিদ্ধান্ত নেয় তার ওপরও বড় প্রভাব পড়ে:

  • হার্ড ডিসিশন: প্রতিটি সিগনালকে সরাসরি 0 বা 1 ধরা হয়।
  • সফট ডিসিশন: রিসিভার আত্মবিশ্বাসও রাখে (উদা., “এটা সম্ভবত 1, কিন্তু পুরোপুরি নিশ্চিত না”)।

সফট ডিসিশন ডিকোডারে আরও তথ্য দেয় এবং নির্ভরযোগ্যতা উল্লেখযোগ্যভাবে বাড়ায়—বিশেষত Wi‑Fi ও সেলুলারে।

আপনি যা ইতিমধ্যে ব্যবহার করেছেন এমন কোড

  • Reed–Solomon: সিম্বল-স্তরে কাজ করে এবং ব্যুর্সের বিরুদ্ধে দুর্দান্ত; QR কোড, CD/DVD, কিছু ব্রডকাস্ট/স্টোরেজ সিস্টেমে ব্যবহৃত।
  • Convolutional: ধারাবাহিক স্ট্রীমের জন্য ক্লাসিক; স্যাটেলাইট লিংকে ঐতিহাসিকভাবে প্রচলিত।
  • Turbo: 1990-এর দশকে বড় লাফ; 3G/4G-তে ব্যাপক ব্যবহার।
  • LDPC (Low-Density Parity-Check): আধুনিক, উচ্চ-দক্ষ ব্লক কোড; Wi‑Fi, 5G, এবং উচ্চ-থ্রুপুট সিস্টেমে ব্যবহৃত।

এসব কোথায় গুরুত্বপূর্ণ

গভীর-স্পেস কমিউনিকেশন (যেখানে পুনরায় প্রেরণ মহা-দামি বা অসম্ভব), স্যাটেলাইট, Wi‑Fi, এবং 5G—এই সব জায়গায় ত্রুটি-সংশোধন কোডগুলো শ্যাননের তত্ত্বকে বাস্তবে রূপ দেয়: অতিরিক্ত বিট ও গণনা দিয়ে ড্রপড কল, ধীর ডাউনলোড, এবং অবিশ্বস্ত লিঙ্ক এড়ানো যায়।

নেটওয়ার্ক নির্ভরযোগ্যতা: প্যাকেট, রিটারাই, এবং থ্রুপুট

ইন্টারনেট কাজ করে যদিও লিংকগুলো অনিয়মিত। ওয়াই‑ফাই ম্লান হয়, সেল সিগন্যাল ব্লক হয়, এবং তার সত্বেও কপার ও ফাইবার গোলমালভোগী—তবুও ইন্টারনেট স্থির। শ্যাননের মূল বার্তা—গোলমাল অনিবার্য, তবু নির্ভরযোগ্যতা অর্জনযোগ্য—নেটওয়ার্কিংয়ে প্রতিফলিত হয় একটি মিশ্র রীতিনীতির মাধ্যমে: ত্রুটি সনাক্ত/সংশোধন এবং পুনরায় প্রেরণ

প্যাকেট: এক বড় ঝুঁকির বদলে ছোট‑ছোট শর্ত

ডেটাকে প্যাকেটে ভাগ করলে নেটওয়ার্ক সমস্যা এলাকা এড়াতে পারে এবং ক্ষতি হলে সব কিছু পুনরায় না পাঠিয়ে ক্ষতিগ্রস্ত অংশটুকু পুনরুদ্ধার করা যায়। প্রতিটি প্যাকেটে অতিরিক্ত বিট থাকে (হেডার ও চেক) যাতে রিসিভার বিচার করতে পারে।

একটি সাধারণ প্যাটার্ন হল ARQ (Automatic Repeat reQuest):

  • রিসিভার একটি প্যাকেট পরীক্ষা করে (সাধারণত চেকসাম/CRC)।
  • যদি ঠিক থাকে, এটি একটি স্বীকৃতি (ACK) পাঠায়।
  • যদি অনুপস্থিত বা দূষিত হয়, প্রেরক একটি টাইমআউট বা নেতিবাচক স্বীকৃতির পরে পুনরায় প্রেরণ করে।

ঠিক করা বনাম পুনরায় প্রেরণ: লেটেন্সি ট্রেড‑অফ

কখন একটি প্যাকেট ভুল হয়, তখন দুটো বড় অপশন থাকে:

  • এখনই ঠিক করা (FEC ব্যবহার করে): রিসিভার কিছু ত্রুটি পুনরায় অনুরোধ ছাড়াই ঠিক করতে পারে।
  • পুনরায় প্রেরণ (ARQ): সামনে কম রিডান্ড্যান্সি পাঠান, কিন্তু ভুল হলে অতিরিক্ত সময় ব্যয় হবে।

FEC ল্যাটেন্সি কমাতে সাহায্য করে সেই লিঙ্কগুলোতে যেখানে রিটারাই ব্যয়বহুল (উচ্চ ল্যাটেন্সি বা বিরতিপূর্ণ সংযোগ)। ARQ তখন কার্যকর যখন হারানো বিরল হয়, কারণ প্রতিটি প্যাকেটে ভারী রিডান্ড্যান্সি রাখা অকার্যকর।

থ্রুপুট, কনজেশন, এবং কেন নির্ভরযোগ্যতা ফ্রি নয়

নির্ভরযোগ্যতা ব্যবস্থাগুলো ক্ষমতা খায়: অতিরিক্ত বিট, অতিরিক্ত প্যাকেট, এবং অতিরিক্ত অপেক্ষা। পুনরায় প্রেরণ লোড বাড়ায়, যা কনজেশন বাড়িয়ে দেয়; কনজেশন বাড়লে বিলম্ব এবং লস বাড়ে, ফলে আরও রিটারাই লাগে।

ভালো নেটওয়ার্ক নকশা একটি ভারসাম্য খোঁজে: যথেষ্ট নির্ভরযোগ্যতা যাতে সঠিক ডেটা পৌঁছায়, কিন্তু ওভারহেড এতটাই না যে নেটওয়ার্ক ভাঙে এবং থ্রুপুট কমে যায়।

এন্ড‑টু‑এন্ড ডিজিটাল কমিউনিকেশন: উৎস থেকে চ্যানেল পর্যন্ত

আধুনিক ডিজিটাল সিস্টেমগুলোকে একটি পাইপলাইনের মতো ভাবা যেতে পারে যার দুটি কাজ আছে: বার্তাকে ছোট করা এবং বার্তাটি যাত্রায় টিকে থাকা নিশ্চিত করা। শ্যাননের মূল ধারণা হলো সাধারণত আপনি এসবকে আলাদা করে ভাবতে পারেন—যদিও বাস্তবে পণ্যগুলো মাঝে মাঝে মিশে যায়।

ধাপ 1: সোর্স কোডিং (সংকোচন)

শুরু হয় स्रोत থেকে: টেক্সট, অডিও, ভিডিও, সেন্সর রিডিং। সোর্স কোডিং পূর্বানুমানযোগ্য কাঠামো সরিয়ে দেয় যাতে আপনি বিট অপচয় না করেন। এটি হতে পারে ZIP (ফাইলের জন্য), AAC/Opus (অডিও), বা H.264/AV1 (ভিডিও)।

সংকোচনই যেখানে এন্ট্রপি বাস্তবে আসে: যত বেশি পূর্বানুমানযোগ্য কন্টেন্ট, গড়ে তত কম বিট লাগে।

ধাপ 2: চ্যানেল কোডিং (ত্রুটি সংশোধন)

তারপরে সংকুচিত বিটগুলোকে গোলমাল-চ্যানেল পেরোতে হবে: ওয়াই‑ফাই, সেলুলার, ফাইবার, USB। চ্যানেল কোডিং যত্নসহ অতিরিক্ত রিডান্ড্যান্সি যোগ করে যাতে রিসিভার ত্রুটি সনাক্ত ও সংশোধন করতে পারে। এটি CRC, Reed–Solomon, LDPC এবং অন্যান্য FEC পদ্ধতির জগৎ।

শ্যাননের “বিয়োগ” ধারণা (মানসিক মডেল হিসেবে)

শ্যানন দেখিয়েছেন যে তত্ত্বগতভাবে আপনি সোর্স কোডিংকে সবচেয়ে ভালো সংকোচনের দিকে নিয়ে যেতে পারেন, এবং চ্যানেল কোডিংকে চ্যানেল ধারণক্ষমতার কাছে নির্ভরযোগ্যতার দিক থেকে নিয়ে যেতে পারেন—স্বতন্ত্রভাবে।

প্র্যাকটিসে, আলাদা করা একটি ভাল ডিবাগিং মডেল: যদি পারফরম্যান্স খারাপ হয়, আপনি জিজ্ঞাসা করতে পারেন—এটা কি সংকোচনে (সোর্স কোডিং), লিংকে (চ্যানেল কোডিং), না কি রিটারাই ও বাফারিংয়ে অতিরিক্ত লেটেন্সি হচ্ছে?

বাস্তব উদাহরণ: ওয়াই‑ফাইতে স্ট্রিমিং ভিডিও

যখন আপনি ভিডিও স্ট্রিম করেন, অ্যাপ একটি কোডেক ব্যবহার করে ফ্রেমগুলিকে সংকুচিত করে। ওয়াই‑ফাইতে প্যাকেট হারিয়ে যেতে বা দূষিত হতে পারে, তাই সিস্টেম ত্রুটি সনাক্ত করে, কখনও FEC যোগ করে, এবং কখনও রিটারাই করে (ARQ)। যদি কানেকশন খারাপ হয়, প্লেয়ার নীচু বিটরেট স্ট্রিমে স্যুইচ করে।

বাস্তব সিস্টেমগুলো সময়ের গুরুত্বের কারণে বিভাজনটি অস্পষ্ট করে: রিটারাই অপেক্ষা করলে ব্রাফারিং ঘটবে, এবং ওয়্যারলেস কন্ডিশন দ্রুত বদলে যায়। তাই স্ট্রিমিং স্ট্যাকগুলো সংকোচন, রিডান্ড্যান্সি, এবং অভিযোজন একসাথে ব্যবহার করে—সম্পূর্ণ আলাদা না হলেও শ্যাননের মডেল দ্বারা গাইডেড।

সাধারণ ভুল ধারনা ও ব্যবহারিক ট্রেড‑অফ

মোবাইল পারফরম্যান্স মাপুন
কীভাবে দুর্বল সিগন্যাল UX ও বাফারিংকে প্রভাবিত করে তা দেখতে একটি Flutter ক্লায়েন্ট প্রোটোটাইপ করুন।

তথ্যতত্ত্ব অনেকবার উদ্ধৃত হয়, এবং কয়েকটি ধারণা অতিরঞ্জিতভাবে সহজীকরণ হয়। এখানে সাধারণ ভুল ধারণা এবং প্রকৃত বাস্তব ইঞ্জিনিয়ারদের ট্রেড‑অফগুলো:

ভুল ধারণা 1: “এন্ট্রপি মানে র‍্যান্ডমনেস”

সাধারণ কথোপকথনে “র‍্যান্ডম” বলতে অনিয়ম বা বিশৃঙ্খলা বোঝায়। শ্যাননের এন্ট্রপি নির্দিষ্টভাবে পরিমাপ করে চমক দেওয়ার মাত্রা একটি সম্ভাব্যতা মডেল ধরে নেওয়ার পরে।

  • পুরোপুরি পূর্বানুমানযোগ্য স্ট্রিম (যেমন সব জিরো) কম এন্ট্রপি রাখে।
  • উৎসটি কেমন আচরণ করে তা জানলে সম্ভাব্যতা অনুযায়ী এন্ট্রপি গণনা করা যায়।

এন্ট্রপি একটা অনুভূতি নয়; এটা মডেল-সংযুক্ত একটি সংখ্যা।

ভুল ধারণা 2: “আরও সংকোচন সবসময় ভাল”

সংকোচন রিডান্ড্যান্সি কমায়। ত্রুটি সংশোধন প্রায়ই উদ্দেশ্যমূলকভাবে রিডান্ড্যান্সি যোগ করে।

  • যদি আপনি খুব আক্রমণাত্মকভাবে সংকুচিত করে তারপর গোলমালযুক্ত চ্যানেলে পাঠান, আপনার কাছে ত্রুটি মোকাবেলায় কম জায়গা থাকবে।
  • ভাল ডিজাইন সাধারণত প্রথমে সংকোচন করে (পূর্বানুমানীয়তা সরিয়ে), তারপর চ্যানেলের জন্য কাঠামোবদ্ধ রিডান্ড্যান্সি যোগ করে।

ভুল ধারণা 3: “আমরা যেকোনও গতি-এ পরিপূর্ণ নির্ভরযোগ্য হতে পারি”

শ্যাননের চ্যানেল ধারণক্ষমতা বলে প্রতিটি চ্যানেলের একটি সর্বোচ্চ নির্ভরযোগ্য থ্রুপুট আছে প্রদত্ত গোলমাল-শর্তে। সীমার নিচে থাকলে সঠিক কোডিং দিয়ে ত্রুটি অত্যন্ত ছোট করা যায়; সীমার উপরে গেলে কিছু ত্রুটি থাকা অনিবার্য।

এই কারণেই “যেকোনও গতি‑এ পরিপূর্ণ নির্ভরযোগ্য” সম্ভব নয়: গতি বাড়ালে প্রায়ই ত্রুটি সম্ভাব্যতা বাড়ে, লেটেন্সি বাড়ে (রিটারাই), বা অতিরিক্ত ওভারহেড লাগে (মজবুত কোডিং)।

বাস্তব সিস্টেমের জন্য এক সহজ চেকলিস্ট

প্রোডাক্ট বা আর্কিটেকচার মূল্যায়ন করলে জিজ্ঞাসা করুন:

  1. সোর্স স্ট্যাটস: ডেটা কি পূর্বানুমানীয় (টেক্সট, লগ) না প্রায়-র‌্যান্ডম (এনক্রিপ্টেড, ইতিমধ্যেই সংকুচিত)?
  2. গোলমাল: কী করruption ঘটাতে পারে—বেতার হস্তক্ষেপ, বিট রট, প্যাকেট লস?
  3. লেটেন্সি বাজেট: রিটারাই ও বাফারিং সামলাতে পারবেন কি, নাকি রিয়েল‑টাইম থাকা জরুরি?
  4. ওভারহেড পছন্দ: আপনি বিট ব্যয় করছেন কি সংকোচনে, ত্রুটি সংশোধনে, রিটারাই-এ, নাকি সব মিশ্র?

এই চারটা ঠিক করা তুলনামূলকভাবে বেশি কাজ করে ফর্মুলা মনে রাখার চেয়ে।

মূল সার সংক্ষেপ ও কোথায় আরও যাবেন

শ্যাননের মূল বার্তা: তথ্যকে পরিমাপ করা যায়, সরানো যায়, সুরক্ষিত করা যায়, এবং সংকুচিত করা যায় কিছু সাধারণ ধারণা ব্যবহার করে।

  • একটি বিট হল ইউনিভার্সাল মুদ্রা যা টেক্সট, অডিও, ভিডিও, ও সেন্সর ডেটাকে এক রকম করে দেয় একবার এনকোড করলে।
  • এন্ট্রপি মাপ করে উৎস কতটা অনিশ্চিত—এবং এই অনিশ্চয়তা সংকোচনযোগ্যতা পূর্বাভাস দেয়।
  • গোলমাল ও লস অনিবার্য, তাই নির্ভরযোগ্য সিস্টেম রিডান্ড্যান্সি যোগ করে ত্রুটি সনাক্ত ও সংশোধনের জন্য।
  • চ্যানেল ধারণক্ষমতা একটি বাস্তব ছাদ স্থাপন করে: নির্দিষ্ট রেটে আপনি যতই চেষ্টা করুন ত্রুটি থাকতেই পারে; রেট কমাতে, চ্যানেল উন্নত করতে, বা কোডিং বদলাতে হবে।

আধুনিক নেটওয়ার্ক ও স্টোরেজ সিস্টেম মূলত রেট, নির্ভরযোগ্যতা, লেটেন্সি, ও গণনার মধ্যে একটানা ট্রেড‑অফ করে।

নির্মাতাদের জন্য একটি ব্যবহারিক নোট

আপনি বাস্তব প্রোডাক্ট—API, স্ট্রিমিং ফিচার, মোবাইল অ্যাপ, টেলিমেট্রি পাইপলাইন—নির্মাণ করলে, শ্যাননের কাঠামো একটি কার্যকর ডিজাইন চেকলিস্ট: যা সংকোচন করা যায় তা সংকুচিত করুন, যা বাধ্যতামূলক সুরক্ষিত করুন, এবং লেটেন্সি/থ্রুপুট বাজেট স্পষ্ট রাখুন। একটি দ্রুত প্রোটোটাইপ তৈরি করে পরবর্তীতে ইটারেট করলে এই বিষয়গুলো দ্রুত পরীক্ষা করা যায়: payload সাইজ, রিটারাই আচরণ, বাফারিং আচরণ—সবই অর্ন্তভুত পরীক্ষার সময় প্রকাশ পায়।

Koder.ai-এর মতো প্ল্যাটফর্ম ব্যবহার করে দলগুলো দ্রুত একটি React ওয়েব অ্যাপ, Go ব্যাকএন্ড সঙ্গে PostgreSQL, এবং এমনকি Flutter মোবাইল ক্লায়েন্ট চ্যাট-চালিত স্পেক থেকে তৌরি করে পরীক্ষার মাধ্যমে বাস্তব‑বিশ্ব ট্রেড‑অফ (মজবুত নির্ভরযোগ্যতা বনাম কম ওভারহেড) পরীক্ষা করতে পারে—পরিকল্পনা মোড, স্ন্যাপশট, ও রোলব্যাকের মত ফিচারগুলো পরিবর্তন করে পরীক্ষা করা সহজ করে।

কে আরও গভীরভাবে পড়া উচিত

অধিক পড়া মানে লাভ:

  • ছাত্ররা যারা সম্ভাব্যতাকে সংকোচন ও কোডিংয়ের সাথে যুক্ত করে একটি পরিষ্কার মানসিক মডেল চাই
  • প্রোডাক্ট ম্যানেজাররা যারা মান, লেটেন্সি, ব্যান্ডউইথ, ও খরচের ট্রেড‑অফ নেবেন
  • ইঞ্জিনিয়াররা যারা নেটওয়ার্কিং, কডেক, স্টোরেজ, টেলিমেট্রি, বা ML ডেটা পাইপলাইনে কাজ করছেন

আরো জানতে /blog-এ সম্পর্কিত ব্যাখ্যাগুলি দেখুন, এবং আমাদের পণ্যের কীভাবে কমিউনিকেশন ও সংকোচন-সংক্রান্ত সেটিংস ও API প্রকাশ করে তা জানতে /docs দেখুন। পরিকল্পনা বা থ্রুপুট সীমা তুলনা করতে /pricing-এ যান।

সাধারণ প্রশ্ন

Claude Shannon আসলে কমিউনিকেশন সম্পর্কে কিভাবে আমাদের চিন্তাচক্রে পরিবর্তন এনেছিলেন?

শ্যাননের মূল পরিবর্তনটি ছিল তথ্যকে "অর্থ" বা "গুরুত্ব" হিসেবে না দেখে ঘটা-ঘটনার অনিশ্চয়তা কমানো হিসেবে সংজ্ঞায়িত করা। এটি তথ্যকে পরিমাপযোগ্য করে তোলে, ফলে ইঞ্জিনিয়াররা এমন সিস্টেম ডিজাইন করতে পারেন যা:

  • বার্তাগুলো দক্ষভাবে উপস্থাপন করে (সংকোচন)
  • গোলমাল এবং বিঘ্নতা সহ্য করতে পারে (ত্রুটি সনাক্তকরণ/সংশোধন)
  • ভৌত সীমা মাথায় রেখে কার্যক্ষমতা নির্ধারণ করে (চ্যানেল ধারণক্ষমতা / শ্যানন সীমা)
বাস্তব অর্থে একটি “বিট” কী এবং এটি এতই সর্বজনীন কেন?

একটি বিট হল একটি হ্যাঁ/না অনিশ্চয়তা মেটানোর জন্য দরকারি তথ্যের পরিমাণ। ডিজিটাল হার্ডওয়্যার দুইটি অবস্থাকে নির্ভরযোগ্যভাবে পৃথক করতে পারে, তাই বিভিন্ন ধরণের ডেটা 0 ও 1-এর দীর্ঘ ক্রমে রূপান্তর করে একইভাবে সংরক্ষণ ও প্রেরণ করা যায়।

এন্ট্রপি কী, এবং এটি সংকোচনের সম্পর্কে আমাকে কী বলে?

এন্ট্রপি হল কোনো উৎসের গড় অনিশ্চয়তা মাপ। এটা সংকোচনের ধারনা-গত কারণেই গুরুত্বপূর্ণ:

  • নিম্ন এন্ট্রপি (পূর্বানুমানযোগ্য, পুনরাবৃত্তি) সাধারণত ভালোভাবে সংকুচিত হয়।
  • উচ্চ এন্ট্রপি (প্রায় র‍্যান্ডম-আকর্ষক ডেটা) সংকোচনের জন্য খুব কম সুযোগ রেখে দেয়।

এন্ট্রপি নিজে কোনো কম্প্রেসার নয়; এটি গড়ে কী সম্ভব তার একটি সীমা বলে দেয়।

কেন কিছু ফাইল অনেক সংকুচিত হয় আর কিছু মোটেও ছোট হয় না?

সংকোচন সাইজ কমায় কারণ এটি প্যাটার্ন ও অসমান প্রতীয়মানতার সুবিধা নেয়।

  • যদি কোনো চিহ্ন বা বাক্যাংশ বেশি বার আসে, তা ছোট প্রতিস্থাপনে নেওয়া যায়।
  • পুনরাবৃত্ত উপস্ট্রিংগুলোকে রেফারেন্সে বদলে ফেলা যায়।

এই কারণে টেক্সট, লগ, সোজা গ্রাফিক্স ভালোভাবে সংকুচিত হয়; এনক্রিপ্টেড বা ইতিমধ্যেই সংকুচিত ডেটা সাধারণত কম যায়।

এনকোডিং, সংকোচন এবং এনক্রিপশনের পার্থক্য কী?

এনকোডিং হল ডেটাকে নির্দিষ্ট ফরমেটে রূপান্তর করা (উদা., UTF-8 বা প্রতীক→বিট ম্যাপ)।

সংকোচন হল গড় বিট সংখ্যা কমানোর জন্য এরকম রূপান্তর, পূর্বানুমানযোগ্যতা কাজে লাগিয়ে।

এনক্রিপশন হল কী দিয়ে ডেটা গুছিয়ে রাখা—লুকানো রাখতে করা হয়; এটি সাধারণত ডেটাকে ‘র্যান্ডম-সদৃশ’ করে তোলে, ফলে সংকোচন কঠিন হয়ে পড়ে।

কেন আমরা দক্ষতার কথা বলি অথচ অতিরিক্ত পুনরাবৃত্তি যোগ করি?

বাস্তব চ্যানেল ও স্টোরেজ ত্রুটি-প্রবণ। হস্তক্ষেপ, দুর্বল সিগনাল, বা উপকরণগত ক্ষয় ডিভাইসে 0/1 উল্টে দিতে পারে। ইঞ্জিনিয়াররা অতিরিক্ত বিট—পুনরাবৃত্তি বা চেকসাম—যোগ করে ত্রুটি সনাক্ত ও/বা সংশোধন করতে পারে।

  • সনাক্তকরণ: parity, CRC—তুমি জানবে কিছু খারাপ হয়েছে।
  • সংশোধন: FEC কোড—কিছু ত্রুটি ঠিক করে দিতে পারে পুনরায় পাঠানোর দরকার ছাড়াই।
ত্রুটি সনাক্তকরণ ও ত্রুটি সংশোধনের মধ্যে পার্থক্য কী, এবং কখন কোনটা ব্যবহার হয়?

ত্রুটি সনাক্তকরণ বলে দেয় "কিছু ভুল হয়েছে"—সোজা এবং সস্তা, সাধারণত পুনরায় প্রেরণের সাথে ব্যবহার করা হয়।

ত্রুটি সংশোধন বলে দেয় "কী ছিল আসল ডেটা"—যখন পুনরায় পাঠানো ব্যয়বহুল বা অসম্ভব, তখন দরকারি।

অনেক সিস্টেমই মিশায়: দ্রুত সনাক্ত করে, কিছু ত্রুটি স্থানীয়ভাবে ঠিক করে, এবং দরকার হলে পুনরায় পাঠায়।

চ্যানেল ধারণক্ষমতা এবং শ্যানন সীমা দৈনন্দিন কথায় কী বোঝায়?

চ্যানেল ধারণক্ষমতা হল কোনো চ্যানেলের "স্পিড লিমিট": নির্দিষ্ট গোলমাল-স্তর ও সীমার মধ্যে তুমিই কত বিট/সেকেন্ড নির্ভরযোগ্যভাবে পাঠাতে পারো, তাও তখন ত্রুটি যতটা ইচ্ছা কমিয়ে আনা যায়।

শ্যানন সীমা বলছে: সীমার নিচে পাঠালে যথেষ্ট ভালো কোডিং-সহ ত্রুটি অত্যন্ত কম করা যায়; সীমার উপরে গেলে সরাসরি ত্রুটি এড়ানো যায় না—কোথাও একটি অপরিহার্য ত্রুটি-ফ্লোর থাকবে।

ইন্টারনেট কীভাবে নির্ভরযোগ্য থাকে যদি প্যাকেট নষ্ট বা হারিয়ে যায়?

ইন্টারনেট ডেটাকে ছোট ছোট প্যাকেটে ভেঙে পাঠায়। প্রতিটি প্যাকেটে হেডার ও চেকসাম থাকে; রিসিভার যাচাই করে, ঠিক থাকলে ACK পাঠায়, না থাকলে পুনরায় পাঠায় (ARQ)।

আরও কিছু পদ্ধতি: FEC ব্যবহার করে পুনরায় পাঠানোর ঝামেলা কমানো—বিশেষ করে যেখানে লেটেন্সি বেশি (দূর-স্পেস, স্ট্রিমিং)।

তবে পুনরায় পাঠানো ও অতিরিক্ত বিট নেটওয়ার্ক ক্ষমতা খেয়ে ফেলে, তাই ভাল নকশা ভারসাম্য বজায় রাখে।

স্ট্রিমিং অ্যাপ কেন ব্রাফার করে, এবং সেটার শ্যাননের ধারণার সঙ্গে সম্পর্ক কী?

কারণ এখানে তুমি রেট, নির্ভরযোগ্যতা, লেটেন্সি, ও ওভারহেড—এই সবের মধ্যে সমঝোতা করছ।

  • উচ্চ মানের ভিডিও বেশি বিট চায়।
  • শক্তিশালী সুরক্ষা (আরও রিডান্ড্যান্সি) ত্রুটি কমায় কিন্তু ব্যান্ডউইথ খায়।
  • পুনরায় পাঠালে বিলম্ব বাড়ে—শোভাবিত হলে ব্রাফারিং হয়।

স্ট্রিমিং সিস্টেম সাধারণত বিটরেট ও সুরক্ষা অ্যাডজাস্ট করে (অবস্থা খারাপ হলে নীচে নামে) যাতে সর্বোত্তম ট্রেড-অফ বজায় থাকে।

Related posts

কর্মী অফবোর্ডিং অ্যাপ: নিরাপদে অ্যাক্সেসের ফাঁক বন্ধ করুন

এমন একটি কর্মী অফবোর্ডিং অ্যাপের পরিকল্পনা করুন, যা ফেরত দেওয়ার কাজ ভাগ করে, সরঞ্জামের অবস্থা রেকর্ড করে এবং HR, ম্যানেজার ও IT-এর অনুমোদন সংগ্রহ করে।

কর্মীরা ব্যবহারের আগে ব্যবসায়িক অ্যাপের জন্য বাস্তবসম্মত টেস্ট ডেটা

ব্যবসায়িক অ্যাপের জন্য বাস্তবসম্মত টেস্ট ডেটা তৈরি, কর্মীদের অনুমতি মডেল, জটিল পরিস্থিতি পরীক্ষা এবং লঞ্চের আগে ভুল ইনপুট শনাক্ত করার উপায় জানুন।

শিফট কর্মীদের জন্য অ্যাপ: শেয়ার করা ডিভাইস ডিজাইনের টিপস

শেয়ার করা ডিভাইস ব্যবহার করা শিফট কর্মীদের জন্য অ্যাপ কীভাবে ডিজাইন করবেন, তা জানুন। ছোট কাজের ধারা, ভূমিকা-ভিত্তিক অ্যাক্সেস, নির্ভরযোগ্য হ্যান্ডওভার এবং স্পষ্ট স্ট্যাটাস আপডেট তৈরি করুন।