উৎসর্গ: নৃপেন্দ্র সরকার

কষ্টকাল্পনিক ১

গত পর্বের শেষ দিকে সাধারণীকরণের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য উল্লেখ করেছিলাম। সেটা হল, সাধারণীকরণ করতে গেলে সব বৈশিষ্ট্য নিয়ে টানাটানি করলে চলে না, গুরুত্বপূর্ণ একটি বা কয়েকটি বৈশিষ্ট্য বেছে নিতে হয়। একথাটা মাথায় নিয়ে চলুন গাণিতিক সাধারণীকরণের দিকে এগোনো যাক।

সংখ্যা
সংখ্যা কি, সবাই জানি। ধরুন ধণাত্মক পূর্ণ সংখ্যাগুলিকে — $latex 1, 2, 3, 4 \ldots $ ইত্যাদি। খুবই পরিচিত। এই সব সংখ্যাগুলিকে একসাথে “স্বাভাবিক সংখ্যা” (natural numbers) বলা হয়। আমরা এও জানি, এদের যেকোন দুটিকে যোগ করা যায়, গুণ করা যায়। দুটি স্বাভাবিক সংখ্যাকে যোগ (বা গুণ) করলে আরেকটি স্বাভাবিক সংখ্যা পাওয়া যায় — এও খুব সাধারণ তথ্য। তারপরও আসুন এসব বৈশিষ্ট্যকে নতুন করে মাথায় রাখি। সংখ্যা অবশ্য আরো আছে। সব পূর্ণ সংখ্যার সাথেও আমরা পরিচিত: $latex \ldots -3, -2, 0, 1, 2, 3, 4 \ldots $ এসব। অর্থাৎ শূণ্য, এবং যাবতীয় ধনাত্মক ও ঋণাত্মক সংখ্যা। এদের এক সাথে পূর্ণ সংখ্যা (integers) বলা হয়। লক্ষ্য করুন, আগের সংখ্যাগুলির মধ্যে যেসব সম্পর্ক ছিল, তার কিছু কিছু এক্ষেত্রেও আছে, যেমন দুটি পূর্ণ সংখ্যাকে যোগ করলে আরেকটা পূর্ণ সংখ্যা পাওয়া যায়। এও শেষ নয়। ধরুন পূর্ণ সংখ্যা ও ভগ্নাংশ মিলে সব সংখ্যাকে — মানে পূর্ণ সংখ্যা ছাড়াও -১.২, ২০০০.৬১৬ এরকম যত সংখ্যা আছে সবাই। এদের বলা হয় rational numbers — আবারো খেয়াল করুন যোগ ও গুণের একই বৈশিষ্ট্য এদের মধ্যেও বিদ্যমান।

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

আমার উত্তর আপাতত এইটা।

সংখ্যা ব্যবস্থা
একটা সংখ্যা ব্যবস্থায় থাকবে কিছু “সংখ্যা”। এসব “সংখ্যা”-র সাথে সংশ্লিষ্ট থাকবে দুটি ধারণা: “যোগ” এবং “গুণ”। যেকোন দুটি “সংখ্যা”-কে “যোগ” করা যাবে, এবং “যোগ” করলে দ্বিতীয় আরেকটি “সংখ্যা” পাওয়া যাবে। একই ভাবে, যেকোন দুটি “সংখ্যা”-কে “গুণ” করা যাবে, এবং “গুণ” করলে দ্বিতীয় আরেকটি “সংখ্যা” পাওয়া যাবে।

সংজ্ঞাটা দেখে হয়ত প্রশ্ন করছেন, এত উদ্ধৃতি চিহ্নের বাতিক কেন — “সংখ্যা”, “যোগ”, “গুণ” এসব কি? এর কারণ হল — এই সংজ্ঞায় “সংখ্যা”, “যোগ”, “গুণ” এগুলো বিমূর্ত ধারণা। উপরের সংজ্ঞা মেনে চলা যেকোন উদাহরণই “সংখ্যা ব্যবস্থা”, তার জন্য তাদের পূর্ণ সংখ্যা বা rational numbers এর মত হবার দরকার নেই।

এ ব্যাপারটা এখন চোখে আঙুল দিয়ে দেখানোর চেষ্টা করব একটা নাটকীয় উদাহরণের মাধ্যমে। আর তার জন্য রঙ্গমঞ্চে দুজন কুশীলবের আগমন ঘটাবো। একজন গণিতবিদ, তার নাম ধরেন গণি। আরেকজন দারুণই অগণিতবিদ, তার নাম ধরেন অগ্নি। ঘনিষ্ঠ বন্ধু দুজন।

গণি: আমি একটা নতুন “সংখ্যা ব্যবস্থা” তৈরি করেছি।
অগ্নি: অ।
গণি: সংখ্যা ব্যবস্থা-টার নাম দিয়েছি — সুকুমার
অগ্নি: অ।
গণি: কেন যেন মনে হচ্ছে, তোর তেমন আগ্রহ নেই।
অগ্নি: না না, আগ্রহ আছে। নামটা তো ভালই। জিনিসটা কি?
গণি: এই সংখ্যা ব্যবস্থায় চারটি সংখ্যা থাকবে।
অগ্নি: মোটে চার?
গণি: হুঁ। সংখ্যাগুলি হল — হলদে, সবুজ, ওরাং, ওটাং। তাদের মধ্যে যোগ এবং গুণের নিয়ম এরকম:
হলদে + সবুজ = ওরাংফুটনোট ১
হলদে + ওরাং = ওটাং
হলদে + ওটাং = হলদে
সবুজ + ওরাং = ওটাং
সবুজ + ওটাং = ওটাং
ওরাং + ওটাং = সবুজ
হলদে + হলদে = হলদে
সবুজ + সবুজ = সবুজ
ওরাং + ওরাং = ওটাং
ওটাং + ওটাং = ওটাং

হলদে $latex \times$ সবুজ = ওটাং
হলদে $latex \times$ ওরাং = সবুজ
হলদে $latex \times$ ওটাং = ওটাং
সবুজ $latex \times$ ওরাং = হলদে
সবুজ $latex \times$ ওটাং = ওটাং
ওরাং $latex \times$ ওটাং = ওরাং
হলদে $latex \times$ হলদে = হলদে
সবুজ $latex \times$ সবুজ = সবুজ
ওরাং $latex \times$ ওরাং = ওটাং
ওটাং $latex \times$ ওটাং = ওটাং

অগ্নি (স্তম্ভিত): আমার কিছু কথা ছিল।
গণি: বল।
অগ্নি: কস্মিনকালে জানতাম না — হলদে, ওরাং, ওটাং এসব সংখ্যা হতে পারে। এগুলি তো শব্দ।
গণি: তাতে কিছু এসে যায় না। এটাই আমার সংজ্ঞা। এগুলিকে আমি সংখ্যা হিসেবে সংজ্ঞায়িত করলাম। “সংখ্যা” বিমূর্ত ধারণা, কাজেই এটা বৈধ।
অগ্নি: অ। আরো কিছু কথা আছে। ওরাং এবং ওটাং আলাদা সংখ্যা — এটা যেন কেমন। “ওরাং ওটাং” মিলে একটা প্রাণীর নাম।
গণি: তাতে কিছু এসে যায় না। ভাষায় ওটা কিভাবে ব্যবহার হয় তার সাথে আমার সংখ্যা ব্যবস্থার কোন সংশ্লিষ্টতা নেই।
অগ্নি: কিছুতেই দেখছি কিছু এসে যায় না। কিন্তু আমার আরো আপত্তি আছে। হলদে + সবুজ = ওরাং কেন? আমরা তো জানি হলুদ আর সবুজ রং মিশালে নীল রং হয়।
গণি: প্রথমত, সেটা সত্যি নয়। নীল আর হলুদ মিশালে সবুজ হয় বরং। কিন্তু সত্যি হলেও তাতে কিছু এসে যায় না। আমার সংখ্যা ব্যবস্থা রং-য়ের বৈশিষ্ট্যকে মডেল করে, এমন কিছুতো আমি বলিনি।
অগ্নি: তাহলে এর উপযোগিতা কি?
গণি: আপাতত কিছুই না।

উপরের উদাহরণটি পাঠককে হজম করার অনুরোধ করা হচ্ছে। হজম করা হয়ে গেলে এগিয়ে চলুন…

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

অগ্নি: হাহ্। এরকম সংখ্যা ব্যবস্থা আমি গণ্ডায় গণ্ডায় বের করতে পারি।
গণি: পারারই কথা। দেখা করে একটা।
অগ্নি: সংখ্যাগুলি ধর আগের মতই থাকল।
গণি: মানে ওই চারটা সংখ্যাই — হলদে, সবুজ, ওরাং, ওটাং?
অগ্নি: হ্যাঁ। যোগ-গুণই সবই প্রায় আগের মত রাখলাম। শুধু একটি পরিবর্তন করব —
ওরাং + ওরাং = ইট পাটকেল চিৎ পটাং
গণি: হল না।
অগ্নি: কেন?
গণি: সংজ্ঞায় বলছে — দুটি সংখ্যাকে যোগ করলে আরেকটা সংখ্যা পাওয়া যাবে। ইট পাটকেল চিৎ পটাং তো কোন সংখ্যা নয়। তুই আগেই বলেছিস সংখ্যা আগের চারটাই।
অগ্নি: তাহলে ওটাকে আমি যোগ করে নিলাম। এখন সংখ্যা পাঁচটা — আগের চারটা, আর “ইট পাটকেল চিৎ পটাং”। আচ্ছা সংখ্যার মধ্যে space থাকলে সমস্যা নাই তো? নাকি “ইটপাটকেলচিৎপটাং” হতে হবে?
গণি: এরকম কোন নিয়ম কি সংখ্যা ব্যবস্থার সংজ্ঞার মধ্যে দেয়া আছে?
অগ্নি: না তা অবশ্য নাই। তাহলে ওটা সমস্যা না? ঠিক আছে, তাহলে এটাই আমার নতুন সংখ্যা ব্যবস্থা।
গণি: হল না।
অগ্নি: :-Y কেন রে বাবা?
গণি: সংজ্ঞায় বলছে — যে কোন দুটি সংখ্যাকে যোগ করা যাবে, তেমনি যে কোন দুটি সংখ্যাকে গুণ করা যাবে। “ইট পাটকেল চিৎ পটাং” এর সাথে অন্যান্য সংখ্যা গুলির প্রত্যেকটা যোগ বা গুণ করলে কি ঘটবে সেটা তোর বলতে হবে।
অগ্নি: :deadrose: আমার দ্বারা এ কাজ হবে না।

উপযোগিতার প্রশ্নটা আবার নিয়ে আসার একটা ভাল জায়গা এটা। “সংখ্যা ব্যবস্থার” বিমূর্ত সংজ্ঞা এবং উপরের উদাহরণটা যদি আপনি গ্রহণ করেও থাকেন, হয়ত আপনার মনে প্রশ্ন উঠতে পারে — এসব করে লাভ কি? এমন কোন “সংখ্যা ব্যবস্থা” কি আছে, যেটা ঠিক সাধারণ সংখ্যা নয়, কিন্তু তার একটা বাস্তব প্রয়োগ আছে? নাকি সবই হলদে সবুজ ওরাং ওটাং?

কাল্পনিক সংখ্যা এমন একটা সংখ্যা ব্যবস্থার অন্তর্গত। কিন্তু সেটা আসবে পরে। আগে আরেকটি উদাহরণ দিই।

আমার নতুন সংখ্যা ব্যবস্থাটিতে দুটি সংখ্যা — ০ আর ১। যোগ আর গুণ এরকম:
$latex 1 + 1 = 1$
$latex 1 + 0 = 0$
$latex 0 + 0 = 0$

$latex 1 \times 1 = 1$
$latex 1 \times 0 = 0$
$latex 0 \times 0 = 0$

এই সংখ্যা ব্যবস্থার প্রায়োগিক ব্যবহার এই মুহুর্তে আক্ষরিক ভাবেই আপনার চোখের সামনে রয়েছে — কম্পিউটার।

কম্পিউটারকে একটা বিরাট বৈদ্যুতিক সুইচ মনে করা চলে। ছোট সুইচের সমন্বয়ে আস্তে আস্তে বড় সুইচ বানানোর মাধ্যমে শেষ অব্দি একটা সম্পূর্ণ কম্পিউটারে পৌঁছানো যায়।

অতএব, কম্পিউটারের একটা গাণিতিক মডেল যদি সংখ্যা ব্যবস্থার মাধ্যমে করতে হয়, তবে আমাদের যা করতে হবে তা হল:

১) সুইচ কে “সংখ্যা” দিয়ে মডেল করতে হবে।
২) একাধিক সুইচের সমন্বয়কে “গুণ” আর “যোগ” দিয়ে মডেল করতে হবে।

উপরের সংখ্যা ব্যবস্থাটি ঠিক সেই কাজই করে। সুইচ নানান রকম হতে পারে — তৈরি হতে পারে তামা, লোহা, কাঁচ, সিলিকন অনেক কিছু দিয়েই; কিন্তু কম্পিউটারের ক্ষেত্রে দুটি মাত্র ধরণ প্রাসঙ্গিক — ১) অন অবস্থায় থাকা সুইচ ২) অফ অবস্থায় থাকা সুইচ। অন অবস্থায় থাকলে সুইচটির মধ্য দিয়ে বিদ্যুৎ প্রবাহিত হবে, নচেৎ নয়।

switch1

ঠিক আছে। এখন আসুন ১ সংখ্যাটি দিয়ে অন সুইচ, আর ০ সংখ্যাটি দিয়ে অফ সুইচকে প্রকাশ করলাম। অর্থাৎ দুরকম সুইচের সাথে দুটি সংখ্যা সংশ্লিষ্ট করলাম।

এরপর সমন্বয়ের প্রশ্ন। সুইচের মধ্যে দুরকম সমন্বয় হতে পারে — ক্রম-সমন্বয় আর সমান্তরাল সমন্বয়। এসব স্কুলের পদার্থবিদ্যার ক্লাসে পড়ানো হয়েছিল, কিন্তু আরেকবার দেখে নিই।

ক্রম-সমন্বয় মানে দুটি সুইচ নিচের ছবির মত পাশাপাশি জোড়া লাগানো। একটু ভাবলেই দেখবেন যে এরকম পাশাপাশি দুটি সুইচ থাকলে বিদ্যুৎ প্রবাহের জন্য দুটিই অন অবস্থায় থাকা চাই।

switch2

এই ক্রম-সমন্বয়কে যদি “গুণ” করা নাম দিই, তাহলে ক্রম-সমন্বয়ের নিয়ম দাঁড়ালো:

$latex 1 \times 1 = 1$ (দুটিই অন, তাই পুরোটি মিলে অন)
$latex 1 \times 0 = 0$ (এটি অফ মানেই আদৌ বিদ্যুৎ প্রবাহিত হচ্ছে না)
$latex 0 \times 0 = 0$ (দুটিই অফ হলে তো কথাই নেই)

সমান্তরাল সমন্বয় নিচের ছবিতে দেখুন। বিদ্যুৎ দুটি ভিন্ন পথ দিয়ে যেতে পারে, দুটি পথ দুটি সুইচ দিয়ে নিয়ন্ত্রিত হচ্ছে। সেক্ষেত্রে একটি সুইচ অন থাকলেই বিদ্যুৎ প্রবাহ ঘটবে।

switch32

এই সমান্তরাল সমন্বয়কে যদি “যোগ” করা বলি, তাহলে যোগ করার নিয়ম হচ্ছে:
$latex 1 + 1 = 1$ (দুটিই অন, কাজেই পুরোটা মিলে অন)
$latex 1 + 0 = 1$ (একটি অন থাকলেও বিদ্যুৎ যাবে)
$latex 0 + 0 = 0$ (দুটিই অফ, এক্ষেত্রে আর উপায় নেই)

নিচের সমীকরণটি তাহলে একটি ছোট খাট কম্পিউটারের মডেল:
$latex (1 + 1 + 0) \times (1 \times (1 \times 0)) + (1 + 0) \times (1 \times 0)$
চাইলে এর মান বের করে দেখতে পারেন। একই জিনিসের সুইচ সার্কিটও এঁকে দেখতে পারেন চাইলে।

তাহলে দেখলাম কমপিউটারের কার্যক্রম কিভাবে একটি বিমূর্ত গাণিতিক সংজ্ঞার মধ্যে ধরা পড়ল।ফুটনোট ২

এরপর আর দেরী নয়। আগামী পর্বে কাল্পনিক সংখ্যা।

চলবে…

ফুটনোট
একটি জিনিস পরিষ্কার করে ফেলি। যোগ বা গুণ করার সময় কোন সংখ্যাটি আগে লিখছেন তাতে কিছু এসে যায় না। হলদে + সবুজ আর সবুজ + হলদে একই জিনিস, তেমনি ওরাং $latex \times$ ওটাং আর ওটাং $latex \times$ ওরাং একই জিনিস। “সংখ্যা ব্যবস্থা”-র সংজ্ঞায় এটা একেবারে পরিষ্কার করে দিই নি জটিলতা বাড়ানোর ভয়ে, এখানে স্পষ্ট দিলাম। এই বৈশিষ্ট্যকে বলে commutativity। গণিতবিদরা এসব ছোট খাট ব্যাপরেও খুব সাবধান থাকার চেষ্টা করেন।

আসলে কম্পিউটার পুরোপুরি মডেল করতে গেলে আরো কিছু জিনিস লাগে। এমনকি এই সুইচ সমন্বয়ের পুরো বিবরণেও যোগ আর গুণ ছাড়াও not operator বলে আরেকটি জিনিস প্রয়োজন। শুধু যোগ-গুণ দিয়েও করা যায়, তবে তার জন্য আরেকটু কসরৎ করতে হবে। আগ্রহ থাকলে ওয়েবে Boolean logic ঘেঁটে দেখুন।