ছোট মামা এবং জাদুর লকার

ছোটবেলায় বার্ষিক পরীক্ষা শেষ হলেই নানার বাড়িতে বেড়াতে যেতাম। সারাবছর এই সময়ের জন্য অধীর আগ্রহে অপেক্ষা করতাম, কারণ বেড়াতে গেলেই মামাদের সাথে এদিক-সেদিক ঘুরে বেড়ানো যেতো, কারো কোন বকুনি খেতে হতো না। ছোট মামা ছিলো বুদ্ধির ঢেঁকি। প্রতিবার গেলে কঠিন কঠিন সব বুদ্ধির প্রশ্ন করতো, আর তার উত্তর নিয়ে ভাবতে ভাবতে আমাদের দিন পেরিয়ে রাত নেমে যেতো। উত্তর দিতে পারলে অবশ্য লাভ হতো, বিজয়ীর বেশে ছোট মামার সাথে বাজারের দোকানে যেয়ে পছন্দমতো জিনিস কেনা যেতো (অবশ্য না পারলেও কেনাকাটা হতো, তখন কম হতো আরকি!)। এজন্য আমরা ছোটরা সবাই আমাদের প্রিয় মামার পেছনে ঘুরঘুর করতাম, তার প্রশ্নের উত্তর দেয়ার জন্য জীবন দিয়ে চেষ্টা করতাম।

একবার ছোট মামা বাড়িতে একটি লকার নিয়ে আসলেন, নাম দিলেন ‘জাদুর লকার’। অদ্ভুত সে লকার, মামার দেয়া একটি ‘গোপন সংখ্যা’ ছাড়া নাকি সেটা খুলবে না। আমাদের বিস্ময়ের কোন শেষ নেই, এমন লকারও বুঝি পৃথিবীতে আছে! ছোট মামা লকারের ‘গোপন সংখ্যা’ বের করার জন্য পুরষ্কার ঘোষণা করলেন। এজন্য তিনি আমাদের কিছু তথ্য দিলেন যাতে আমরা মাথা খাটিয়ে সেটা বের করতে পারি। ছোট মামার তথ্য ছিলো এরকম, ‘লকারের গোপন সংখ্যা বা পাসওয়ার্ড তিন অঙ্কের একটি সংখ্যা যার সবগুলো অঙ্কই বিজোড়। গোপন সংখ্যায় 7 অঙ্কটি নেই, এবং কোন অঙ্কই একবারের বেশি ব্যবহৃত হয়নি। অঙ্কগুলো কোন ক্রমে আছে তাও অজানা।’

তাহলে, এই লকারের গোপন সংখ্যা আমরা কিভাবে বের করবো?
তাও আবার লকারেই সেটা চেষ্টা না করে?
অঙ্ক করে কি এটা বের করা সম্ভব??

প্রথমে আমরা বের করার চেষ্টা করি, চারটি বিজোড় অঙ্ক দিয়ে (1, 3, 59) তিন অঙ্কের কোন কোন সংখ্যা পাওয়া যায়। এখানে মোট 24টি ভিন্ন ভিন্ন তিন অঙ্কের সংখ্যা পাওয়া সম্ভব। যেমন:  

{135, 139, 153, 159, 193, …. 913, 931, 953}

যদিও মোট 24টি ভিন্ন সংখ্যা আমরা পেয়েছি, এবং এদের সবগুলোই স্বার্থক তিন অঙ্কের সংখ্যা, কিন্তু এদের একটিমাত্র সংখ্যা দিয়েই লকারটি খুলবে। বাকি 23টি সংখ্যা ভুল হিসেবে গণ্য হবে কারণ গোপন সংখ্যার ক্ষেত্রে ক্রম খুবই গুরুত্বপূর্ণ ব্যাপার। যেমন: লকারের গোপন সংখ্যাটি যদি 319 হয়, তাহলে এককের স্থানে 9 কেই বসাতে হবে, 3 কিংবা 5 বসালে লকার খুলবে না। যদি আমাদের লকারে কোন ক্রমের শর্ত না থাকতো, নির্দিষ্ট তিনটি অঙ্ক জানলেই লকারটি খোলা যেতো, তাহলে উপরের 24টি সংখ্যার যে কোনটি দিয়েই কিন্তু লকারটি খুলে যেতো। একটা জিনিস তাহলে আমাদের কাছে পরিষ্কার: এ ধরণের সমস্যা সমাধানে ক্রমের শর্ত ‘থাকা’ কিংবা ‘না থাকা’ উভয়টিই খুব গুরুত্বপূর্ণ ব্যাপার।

ক্রমের শর্তের উপর ভিত্তি করে সংখ্যা বা অন্য যে কোনো জিনিস কত উপায়ে সাজানো যায়, কতভাবে তৈরি করা যায়, এমনকি কতভাবে বাদ দেয়া যায় ইত্যাদি জিনিস গণিতের কিছু সুন্দর ধারণা ব্যবহার করে সমাধান করা যায়। এদের একটি হলো ‘বিন্যাস’ (Permutation), আরেকটি হলো ‘সমাবেশ’ (Combination)।

উপরে দেয়া চারটি অঙ্ক ব্যবহার করে (যেখানে প্রত্যেকটি একবার করে ব্যবহৃত হয়েছে) আমরা সম্ভাব্য চব্বিশটি ভিন্ন তিন অঙ্কের সংখ্যা পেয়েছি। এখানে ক্রম গুরুত্বপূর্ণ ছিলো, অর্থাৎ আগে বা পরে কোন অঙ্কটি বসবে সেটা গুরুত্বপূর্ণ ছিলো। এ ধরণের ঘটনাকে আমরা বলবো ‘বিন্যাস’। অপরদিকে, যদি ক্রমের শর্ত গুরুত্বপূর্ণ না হতো, নির্দিষ্ট তিনটি অঙ্ক যেভাবে ইচ্ছা বসিয়ে তিন অঙ্কের একটা সংখ্যা হলেই আমাদের উদ্দেশ্য পূর্ণ হতো, এমন ঘটনাকে আমরা বলবো ‘সমাবেশ’।     

গাণিতিকভাবে আমরা আরেকটু বুঝার চেষ্টা করি। ধরো, তোমার কাছে r সংখ্যক বাক্স আছে যার প্রতিটিতে একটি করে বস্তু বা জিনিস রাখা যায়। তুমি যদি n সংখ্যক বল দিয়ে এই বাক্সগুলো পূর্ণ করতে চাও, তাহলে কতভাবে সেটা সম্ভব? ক্রম থাকা বা না থাকার উপর কি হিসেব নির্ভর করবে? চলো আমরা কিছু হিসেব-নিকেশ করার চেষ্টা করি─

প্রথম বাক্স বল দ্বারা পূর্ণ করার উপায় হবে: n টি

দ্বিতীয় বাক্স বল দ্বারা পূর্ণ করার উপায় হবে: n – 1 টি

তৃতীয় বাক্স বল দ্বারা পূর্ণ করার উপায় হবে: n – 2 টি

…………………………………………………………………………

r তম বক্স বল দ্বারা পূর্ণ করার উপায় হবে: [n – (r – 1)] টি

তাহলে, n সংখ্যক বল দ্বারা r সংখ্যক বাক্স পূর্ণ করার (যেখানে ক্রম গুরুত্বপূর্ণ, প্রত্যেকটি বল একবারই নেয়া হবে, 0 < r <= n) মোট উপায় হবে─

n * (n – 1) * (n – 2) * (n – 3) … … …(n – r + 1)

বা, P(n, r) = n * (n – 1) * (n – 2) … … …(n – r + 1)

বা, nPr = n! / (n – r)!

(এখানে, n! = n * (n – 1) * (n – 2) … … … 3 * 2 * 1)। P(n, r) কে আরেকভাবে লিখার উপায় হলো nPr, দুইটি টার্ম একই উদ্দেশ্যে ব্যবহৃত হয়)

অর্থাৎ, বিন্যাসের ক্ষেত্রে আমরা লিখতে পারি─

nPr = n! / (n – r)!

অপরদিকে, সমাবেশের ক্ষেত্রে ‘ক্রম’ গুরুত্বপূর্ণ না। কাজেই, উপরের উদাহরণের ক্ষেত্রে সমাবেশ সংখ্যা হবে (প্রতিটি বল একবার করেই নেয়া হবে)─

C(n, r) বা nCr = n! / [ (n – r)!* r! ]

এখানে কেন r! দিয়ে ভাগ দেয়া হলো? বিন্যাস ও সমাবেশের মধ্যে কি তাহলে কোন সম্পর্ক আছে? থাকলে সেটা কিভাবে বের করা যাবে?

বিন্যাস ও সমাবেশ সংক্রান্ত তত্ত্বীয় আলোচনা এবং গাণিতিক সমস্যা আমাদের দেশে কলেজ পর্যায়ে পড়ানো হয়। কেউ আরো জানতে চাইলে এই লিঙ্কে গিয়ে বিস্তারিত পড়া যাবে।

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

‘এককের ঘরে অঙ্ক যে আছে রে,
তার উৎপাদকদের পাইবে তুমি অন্য দুটি ঘরে,
সবচে ছোটজন থাকিবে সবার শুরুতে,
সংখ্যাটি কি হবে তা বলিতে কি পারিবে?’

আমি সাথে সাথেই চিৎকার দিয়ে গোপন সংখ্যাটি বলে দিলাম। তুমি কি বলতে পারবে সেটা কত ছিলো?

হ্যাপি প্রব্লেম সলভিং!!
(প্রব্লেম সলভিং সক্রান্ত নতুন আর্টিকেল পড়োতে চাইলে এই লিঙ্কে ক্লিক করুন।) 

লেখক: মাহ্‌তাব হোসাইন (মেইল: mahtabhossain1893@gmail.com)

গণিত এবং মামার বাড়ি

কাসেম, খালেক ও গালিব, তিন ভাই। শহরে একসঙ্গে থাকে ওদের বাবা-মার সঙ্গে। তিন ভাই বেশ বুদ্ধিমান এবং যুক্তি দিয়ে কাজ করতে আগ্রহী। ৩০০ কিলোমিটার দূরে অন্য একটি শহরে ওদের বড় মামার বাড়ি। । অতিমারীর সময় ওরা একদিন খবর পেল তাদের মামা বিপদে পড়েছেন এবং তার সহায়তা দরকার। মামাকে সাহায্য করার জন্য তিনজনই যাবে ঠিক করলো। কিন্তু আন্তঃশহর বা দূরপাল্লার ট্রেন, বাস বন্ধ। কাজে, মামার বাড়ি পৌঁছানোর একমাত্র বাহন হলো বাসার মোটরসাইকেল। কিন্তু সেটি একবারে মাত্র দুইজনকে নিতে পারে। ওরা তিনজনের প্রত্যেকে ঘণ্টায় ১৫ কি.মি. বেগে হাঁটতে পারে এবং মোটরসাইকেলটি ঘণ্টায় ৬০ কিলোমিটার বেগে চলতে পারে। বাবা-মাকে বলে ওরা তিনভাই সকালে রাস্তায় নেমে আসলো। প্রশ্ন হচ্ছে, সবচেয়ে কম কতো সময়ের মধ্যে তিন ভাই বড় মামার বাড়ি গিয়ে পৌঁছাতে পারবে?

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

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

ক. কাসেম ও গালিব মোটর সাইকেল নিয়ে খালেকের আগেই মামার বাড়িতে পৌঁছে যাবে। কিন্তু সেক্ষেত্রে খালেক আসা পর্যন্ত তাদের অলস সময় পার করতে হবে।

খ. কাসেম ও গালিব আসার আগে খালেক হেঁটে হেঁটে মামার বাড়িতে পৌঁছে যাবে আগেভাগে। সেক্ষেত্রে, তাকেও অলস সময় কাটাতে হবে।

কাজে, আমাদের পথের মধ্যে সে পয়েন্টটা বের করতে হবে যেখান থেকে খালেক হেঁটে যে সময়ে মামার বাড়িতে পৌঁছাবে, একই সময়ে কাসেম ও গালিবও এসে পৌঁছাবে। তখন তারা তিনজনই একই সময়ে গন্তব্যে বা মামার বাড়িতে পৌঁছাবে।

এই সমস্যার সমাধান নানাভাবে করা যেতে পারে। এখানে দুইটি কাল্পনিক চিত্রের সহায়তা নিচ্ছি।
ধরা যাক, A বিন্দুতে ওদের বাড়ি এবং B তাদের মামার বাড়ি।

কাসেম ও খালেক মোটরসাইকেলে করে D বিন্দুতে যাওয়ার পর কাসেম খালেককে সেখানে নামিয়ে দিল। একই সময়ে, গালিব হেঁটে হেঁটে A বিন্দু থেকে C বিন্দুতে পৌঁছাবে।
ধরি, AC=x;
যেহেতু মটরসাইকেলের গতিবেগ হাঁটার চারগুণ, কাজে একই সময়ে কাসেম ও খালেক কিন্তু চারগুণ দূরত্ব অতিক্রম করবে। তার মানে হলো,
AD=4x এবং CD=3x

এখন D বিন্দুতে খালেককে নামিয়ে কাসেম গালিবকে নেওয়ার জন্য ফিরতি পথে যাত্রা করবে। কাসেম যতক্ষণে গালিবের কাছে পৌঁছাবে ততক্ষণ গালিব ও খালেক কিন্তু হাঁটতেই থাকবে। ধরি, এই সময়ে গালিব C থেকে E এবং খালেক D থেকে F বিন্দুতে পৌঁছাবে। যেহেতু তারা দুজনের হাঁটার গতি সমান,
কাজে, CE=DF=p (মনে করি)

এই সময়ে কাসেম মোটরসাইকেলে করে D থেকে E-তে এসে গালিবের কাছে পৌঁছাবে। যেহেতু, মোটরসাইকেলের গতি হাঁটার চারগুণ, কাজে এখন আমরা বলতে পারি─

ED=4CE-4p

এবার, গালিবকে নিয়ে কাসেম মামার বাড়িতে পৌঁছাবে যে সময়ে খালেকও হেঁটে হেঁটে মামার বাড়িতে পৌঁছাবে। খালেক F থেকে B-তে এবং কাসেম ও গালিব E থেকে B তে যাবে। হাঁটার গতির চেয়ে মোটর সাইকেলের গতি যেহেতু চারগুণ কাজে আমরা লিখতে পারি

ধরি, FB=y;

তাহলে EB=4y

বা, ED+DF+FB=4y

বা, 4p+p+y=4y

সুতরাং,  y=(5/3)p

অন্যদিকে,  AD-AC=CE+ED

বা, 4x-x=p+4p

বা, x=(5/3)p

আমরা জানি তিনভাই-এর বাড়ি থেকে মামার বাড়ির দূরত্ব ৩০০ কিমি। কাজে আমরা লিখতে পারি─

(5/3)p+p+4p+p+(5/3)p = 300 km

বা, P=(900/28) = 32.14 km

এখন আমরা বিভিন্ন পয়েন্টের দূরত্ব বের করে ফেলতে পারি।
এই দূরত্ব অতিক্রমে তিন ভাইয়ের কতো সময় লাগলো, সেটা আমরা বের করে যে কোন একজনের সময় বের করবো, কারণ তারা সবাই একই সময়ে বের হয়েছে এবং একই সময়ে মামার বাড়িতে পৌঁছেছে।

গালিব A থেকে C বিন্দু পর্যন্ত হেটে এবং বাকী পথ মোটরসাইকেলে করে গেছে।

AC=53.57+32.14=85.71 KM
এবং হেঁটে হেঁটে গালিব সময় নিয়েছে = 85.71/15 = 5.71 ঘণ্টা।

বাকী পথ গালিব গিয়েছে মোটর সাইকেলে এবং সময় লেগেছে
= (300-85.71)/60=3.57 ঘণ্টা।

কাজে মোট সময় = 5.71+3.57=9.28 ঘণ্টা বা ৯ ঘণ্টা ১৭ মিনিট

এটি তাদের সবচেয়ে কম সময়ে মামার বাড়ি যাওয়ার উপায়। খালেক বা কাসেমের জন্য হিসাব করলেও একই সময় পাওয়া যাবে।

হ্যাপি প্রব্লেম সলভিং!! 

লেখক: মুনির হাসান (ইমেইল: munir.hasan@bdosn.org)

বাতি বিভ্রাট

এটি কিছুদিন আগের ঘটনা। গেছিলাম এক স্কুলে। গিয়ে দেখি দোতলায় এক বিশাল অডিটোরিয়াম। ১০০ টা বাতি আছে ওখানে। কিন্তু বাতির সুইচগুলো সেখানে নাই! মানে কী?

হেড স্যার জানালেন- ঠিকাদার ভুল করে ১০০টা বাতির সুইচ নিচতলায় সিঁড়ির ঘরে লাগিয়ে দিয়েছে।

ভাবলাম ওখানে নিশ্চয়ই নম্বর ট্যাগ লাগানো। কিন্তু নিচে গিয়ে দেখলাম কোন সুইচে কোন নম্বর লাগানো নাই।

– হায় হায়। আপনার কেমন করে কম সংখ্যক নির্দিষ্ট বাতি জ্বালান?

আমরা সব সময় সব জ্বালায় রাখি!!!

তো, অনুষ্ঠান করতে করতে আমি ভাবছিলাম কীভাবে, কতো কম কষ্টে সুইচগুলোকে বাতি অনুসারে লেবেলিং করা যায়?

প্রথম উপায় হচ্ছে। বাতিগুলোকে ১ থেকে ১০০ পর্যন্ত মার্কিং করা। তারপর নিচে গিয়ে ১টা সুইচ জ্বালানো। ওপরে এসে দেখা কত নম্বর জ্বলে। তখন নিচে গিয়ে সেটাতে ঐ নম্বর দেওয়া। তারপর আর একটা সুইচ অন করে আবার ওপরে যাওয়া। এভাবে ৯৯ বারে সব সুইচকে লেবেলিং করা হবে।

প্রশ্ন হচ্ছে – সবচেয়ে কম কতো বার দৌড়াদৌড়ি করে সব সুইচকে লেবেলিং করা যাবে?

ভাবনা শেষ হলে মিলিয়ে নিতে পারেন

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

যাকগে সেসব কথা। আমরা বরং এই সমস্যার সমাধান করার চেষ্টা করি। ধরি আমাদের একটা মাত্র বাতি আর একটা মাত্র সুইচ থাকতো তাহলে আমাদের কোন সমস্যাই থাকতো না।

যদি দুইটা বাতি আর দুইটা সুইচ হতো? তাহলে তাহলেও একবারে আমরা সমাধান পেতাম। নিচে একটা সুইচ অন করে উপরে এসে দেখতাম কোন বাতিটা জ্বলে। যে সুইচটা আমি জ্বালিয়ে এসেছি সেটাই এই বাতির। অন্যটি অন্য বাতির।

এখন আমরা বাতির সংখ্যা বাড়াই। এখন আমরা বাতিগুলোকে A, B, C, D এভাবে নামকরণ করি আর সুইচগুলোকে 1,2,3,4…. এভাবে নাম্বার দেই।

ধরা যাক আমাদের বাতি আছে তিনটা (A, B, C)। তাহলে প্রথমে 1 নং সুইচ অন করে ওপরে যাবো এবং ১ নং সুইচের বাতিকে চিহ্নিত করবো। তাহলে আমাদের বাকী থাকবে দুইটা। আর দুইটা তো আমরা জানি। তার মানে তিনটে বাতির সুইচকে চিহ্নিত করতে আমাদের ২ বার ওঠানামা করতে হবে।

এবার আমরা চারটে বাতি নিয়ে আগাই। এখানেও প্রথম দুইবারে দুইটাকে চিহ্নিত করে তৃতীয়বারে বাকী দুইটাকে চিহ্নিত করে ফেলতে পারবো। তার মানে আমাদের প্যাটার্ন হবে  – যতোটা বাতি, তার চেয়ে একটা কম। তাই না?

তাইলে তো আমাদের তেমন একটা উপকার হচ্ছে না। অন্য কিছু কী করা যায়? আমরা জানি ২টার সমাধান করা যায় ১ বারে। তাহলে আমরা যদি ২টার জোড়ে যেতে পারি তাহলে হয়তো ৪টার অন্য সমাধান হতে পারে।

আমরা তাহলে অন্যভাবে আগানোর চেষ্টা করি। ধরা যাক আমাদের বাতিগুলোর সঙ্গে সুইচের সম্পর্ক এরকম

বাতি -> A B C D
সুইচ -> 1 3 4 2

যা আমরা জানি না।

এখন আমরা কী করতে পারি? আমরা কী কোন প্যাটার্ন খুঁজতে পারি? যেহেতু আমরা চিহ্নিত করার কাজ করবো তাই আমরা একটা কোন চিহ্ন ব্যবহার করবো। এজন্য আমরা 0 আর 1 ব্যবহার করবো। যেমন যে সুইচ অন সেটা 1 এবং যে বাতি জ্বলে সেটা 1। উল্টোটা 0।

প্রথমে আমরা  1 ও 2 সুইচ অন করবো। বাকী দুইটা অফ থাকবে। সেখানে 0 এবং 1 দিয়ে দেই। তাহলে সেটা হবে

সুইচ 1 2 3 4
লেবেল 1 1 0 0

আমরা যেহেতু জানি কানেকশটা কাজে ওপরে গিয়ে আমরা দেখবো A ও D  জ্বলে থাকবে। অন্য দুটো নেভা। এখন বাতির নিচে আমরা লেবেলিং করি-

বাতি A B C D
লেবেল 1 0 0 1

ফিরে আসবো সুইচের কাছে। আমি কিন্তু স্পষ্টতই ৪টি বাতি ও সুইচকে দুইটি জোড়ায় ভাগ করে ফেলেছি। এখন প্রতি জোড়ার জন্যএকই কাজ করবো। যেমন প্রথম দুইটি সুইচের যা অন ছিল তার একটি (অর্ধেক) অন রেখে অন্যটি অফ করে দিবো। এবং একই ভাবে অন্য জোড়ার একটি অফ রেখে অন্যটি অন করে দিবো এবারও দুইটি অন থাকবে। আগের নিয়মে সুইচের লেবেল 0 এবং 1 আগের লেবেলের পাশে নতুন 0 ও 1 যোগ করি। ধরা যাক আমরা 1 নং ও 3 নংকে অন রেখেছি।

সুইচ 1 2 3 4
লেবেল 11 10 01 00

স্পষ্টতই আমাদের A ও B জ্বলে থাকবে। কাজে বাতির লেবেল হবে

বাতি A B C D
লেবেল 11 01 00 10

ওয়াও। এখন দেখেন বাতি আর সুইচের লেবেলগুলো প্রত্যেকটি ভিন্ন। এখন যে বাতি আর সুইচের লেবেল একই তারাই পরস্পর কানেকটেড। সেটা হলো

বাতি A B C D
লেবেল 11 01 00 10
সুইচ 1 3 4 2

ওয়াও। দুইবারে কিন্তু আমরা এখন চারটা বাতির চারটা সুইচকে শনাক্ত করে লেবেলিং করে ফেলেছি!

এই কার্যক্রমে আমরা দেখছি আমাদের বুদ্ধি হচ্ছে অর্ধেক করে ফেলা।

এবার ধরা যাক ৮টা বাতি ও ৮টা সুইচ আছে। তাহলে এই পদ্ধতি কেমন করে কাজ করবে?

এবার আমরা ধরি আমাদের আটটা বাতির প্রকৃত কানেকশন হলো এরকম

বাতি -> A B C D E F G H
সুইচ -> 1 2 5 6 7 8 3 4
বাতি সুইচের প্রকৃত কানেকশন

এখন আমরা অর্ধেক সুইচ প্রথমে অন করবো

সুইচ 1 2 3 4 5 6 7 8
লেবেল 1 1 1 1 0 0 0 0

এই কাজের পর দোতলায় গিয়ে আমরা দেখবো A, B, G ও H বাতি জ্বলে আছে। তাহলে বাতির লেবেল হবে

বাতি A B C D E F G H
লেবেল 1 1 0 0 0 0 1 1

এবার আবার নিচে আসবো।1 থেকে 4 নম্বর সুইচের দুইটাকে অন রেখে বাকী দুইটাকে অফ করে দেবো। আর 5 থেক 8 পর্যন্ত সুইচের দুইটাকে অফ রেখে দুইটা অন করে আবার লেবেলিং করবো।

সুইচ 1 2 3 4 5 6 7 8
লেবেল 11 11 10 10 01 01 00 00

দেখা যাচ্ছে এ যাত্রায় 1,2,5 ও 6 সুইচ অন। তারমানে A, B, C ও D বাতি জ্বলে থাকবে।

বাতি A B C D E F G H
লেবেল 11 11 01 01 00 00 10 10

এখন সুইচের দিকে তাকানো যাক। দেখবেন সুইচগুলো ৪টা জোড়াতেই ভাগ হয়ে গেছে। জোড়ার সমাধান তো আমরা জানি। প্রতি জোড়ায় একটাকে অন রেখে অন্যটা অফ করে দিতে হবে। তাহলে সুইচের নতুন লেবেল কী হবে?

সুইচ 1 2 3 4 5 6 7 8
লেবেল 111 110 101 100 011 010 001 000

এখন আমাদের 1,3,5 ও 7 নং সুইচ অন করা। তার মানে A, C, E ও G বাতি জ্বলে আছে।

বাতি A B C D E F G H
লেবেল 111 110 011 010 001 000 101 100

বাহ, এখন দেখেন বাতির লেবেল ও সুইচের লেবেল কিন্তু প্রত্যেকটাই ভিন্ন। আপনি এবার বাতির লেবেল আর সুইচের লেবেল মেলালেই পেয়ে যাবেন কোন সুইচের কোন বাতি

বাতি A B C D E F G H
লেবেল 111 110 011 010 001 000 101 100
সুইচ 1 2 5 6 7 8 3 4

যা কিনা প্রকৃত কানেকশন!!! অর্থাৎ আমাদের সমাধান সঠিক!!

তার মানে ৮টি বাতিকে আমরা তিনবারেই চিহ্নিত করতে পারছি।

আমার মনে হয় আমরা প্যাটার্ন পেয়ে গেছি। 8 এর দ্বিগুণ 16টি থাকলে আমরা 4 বারেই সেটা করে ফেলতে পারবো। 32টা থাকলে 5 বার, 64টি থাকলে 6 বার। 128টি থাকলে 7 বার।

আমাদের বাতি আছে 100টি যা 64টি থেকে বড় কিন্তু 128 থেকে ছোট। তারমানে ৭ বারেই আমরা আমাদের সব সুইচকে শনাক্ত করে ফেলতে পারবো!!!

তাহলে আমাদের সমাধান হবে –

আমরা প্রথমে 1-50 পর্যন্ত সুইচ অন করবো। 51-100 অফ রাখবো। ওপরে এসে ৫০টি জ্বলা বাতিকে 1 এবং ৫০টি নেভা বাতিকে 0 দিয়ে চিহ্নিত করবো। ২য় ধাপে 1-50 নং সুইচের অর্ধেক অন রেখে বাকী অর্ধেক অফ করে দিবো। আর 51-100 এর অর্ধেককে অফ রেখে বাকী অর্ধেককে জ্বালিয়ে দেবো। এভাবে প্রতি বারে আমাদের ৫০টা বাতি জ্বলে থাকবে আর ৫০টি বাতি নিভে থাকবে এবং ৭ বারেই আমরা সবক’টাকে লেবেল করে ফেলতে পারবো!!!

আমার ধারণা যারা একটু উচ্চতর গণিতের ধারণা রাখেন তাদের জন্য সমাধান হবে Log2 (n)। কাজে যে কোন সংখ্যক বাতির জন্য আপনি বের করতে পারবেন। আর যারা প্যাটার্নটা আসলে শেষ পর্যন্ত কিসের সঙ্গে মিললো, সেটাও অনেকেই নিশ্চয়ই বুঝে ফেলেছেন।

সবার সেকেন্ড ডিফারেন্সিয়াল নেগেটিভ হোক।
(এই ধরণের আরো আর্টিকেল পড়তে চাইলে এখানে ক্লিক করুন।)


লেখক: মুনির হাসান (ইমেইল: munir.hasan@bdosn.org)