বিজ্ঞান ব্লগ

দাবা: গণিত ও মুভ নিয়ে মাতামাতি!

একটা প্রশ্ন দিয়েই শুরু করা যাক।

ধরো, তুমি দাবা খেলতে বসলে। তুমি কতভাবে এই গেমে চাল দিতে পারবে? অথবা, তোমার গেমে সম্ভাব্য কতগুলো মোট চাল হওয়া সম্ভব?

এসেছে কখনো মাথায় এই প্রশ্নটা?

আচ্ছা চিন্তা করার দরকার নেই। আমিই উত্তর দিয়ে দিচ্ছি।

একটা দাবার গেমে তোমার আর তোমার প্রতিপক্ষের – দুইজনেরটা মিলিয়ে মোট সম্ভাব্য ১০^১২০ ভাবে চাল হওয়া সম্ভব!

হ্যাঁ, ঠিকই পড়েছো। ১০^১২০। ১-এর পরে ১২০ টা শূণ্য!

কি, বিশ্বাস হচ্ছে না আমার কথা?

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

Related Article:সংবাদপত্র থেকে গাছ? অবিশ্বাস্য নয় সত্যি

আচ্ছা শুরু করা যাক।

শুরু করি একজন বিজ্ঞানীর কাহিনী দিয়ে।

জাতে আমেরিকান এই ভদ্রলোকের নাম ছিলো ক্লড শ্যানন। উনি একাধারে ছিলেন একজন গণিতবিদ, একজন ইলেক্ট্রিক্যাল ইঞ্জিনিয়ার, একজন ক্রিপ্টোগ্রাফার, এবং একজন প্রোগ্রাম রাইটার! কত ট্যালেন্ট একজন মানুষের, তাই না?

উনি ১৯৫০ এর দশকে কম্পিউটারের দাবা খেলার উপর একটা প্রোগ্রাম লিখেন। এখনকার যুগে এই প্রোগ্রাম লেখা জিনিসটা সহজ হলেও সে সময় প্রোগ্রাম লেখা কিন্ত এতটা সহজ ছিলো না! তিনি দিনের পর দিন দাবা খেলা দেখতে দেখতে অনেক ভাবনা-চিন্তা করে কাঠখড় পুড়িয়ে শেষমেশ এই প্রোগ্রামটা লিখে ফেললেন।

এই ভদ্রলোকের নামানুসারে, একটা দাবা বোর্ডে সম্ভাব্য যতগুলো চাল হতে পারে, তাকে শ্যানন নাম্বার বলা হয়। আচ্ছা তোমাদের জন্যে প্রশ্ন, বলো তো, শ্যানন নাম্বারের মান কত?

হ্যাঁ ঠিকই ধরেছো। ১০^১২০। যাদের মনে আছে, তাদের কনগ্র‍্যাচুলেশন্স! যাদের মনে নেই, তারা আবার প্রথম থেকে পড়া শুরু করে দাও!

শ্যানন নাম্বার, অর্থাৎ ১০^১২০ যে কত বড় সংখ্যা, সেই বিষয়ে একটা ধারণা দেয়া দরকার।

এই সংখ্যাটা হচ্ছে মিলিয়ন-ট্রিলিয়ন গুগল নাম্বারের সমষ্টি। গুগল নাম্বার কি, চেনো না? সমস্যা নেই। একটা কাগজ নাও। এবার সেখানে ১-এর পরে একশোটা শূণ্য বসাও। ব্যস, যা পাবে সেটাই গুগল নাম্বার।

Related Article:স্প্যানিশ ফ্লু: মানব ইতিহাসের সবচেয়ে প্রাণঘাতী এই মহামারির ইতিহাস

এবার কি ধারণা করতে পারছো?

আচ্ছা আরেকটা তুলনা দেয়া যাক।

এই যে আমাদের দৃশ্যমান ইউনিভার্স, এই ইউনিভার্সে যতগুলো পরমাণু আছে, তার সংখ্যা হচ্ছে ১০^৮০। আর শ্যানন নাম্বার একাই হচ্ছে ১০^১২০।

মানে কি দাঁড়ালো? এই দৃশ্যমান মহাজগতে যতগুলো পরমাণু আছে, তার চেয়েও এই শ্যানন নাম্বার ট্রিলিয়ন-ট্রিলিয়ন গুণ বড়! কি, এবার মাথা ঘুরছে?

আচ্ছা শ্যানন নাম্বারের কথা গেলো। এবার নিশ্চয়ই মাথায় ঘুরছে, এই ভদ্রলোক কি করে এই জিনিস বের করলেন? চলো আমরা এবার সেটাই একটু দেখার চেষ্টা করি।

ব্যাখ্যায় যাওয়ার আগে একটু দাবা খেলার নিয়মকানুন গুলো বলে নেই। একটা দাবা খেলা হচ্ছে ৫০ মুভের। মানে হচ্ছে, সাদা-কালো উভয়েরই ৫০ টা করে মুভ। তুমি যদি সাদা নাও, তোমার ঝুলিতে থাকবে ৫০ টা মুভ, আমি যদি কালো নেই, আমার ভাগেও পড়বে ৫০ টা মুভ। অর্থাৎ, ৫০ মুভের খেলা বলা হলেও আসলে কিন্তু দুইপক্ষ মিলে দিচ্ছে ১০০ টা মুভ! এর মাঝে যদি খেলা শেষ না হয়, তাহলে খেলা ড্র হয়ে যায়।

কিন্তু, এই আর্টিকেলে আমি হিসাবের সুবিধার্থে ৪০ মুভের খেলা ধরেই হিসাব করবো। পুরো আর্টিকেল জুড়েই আমি ৪০ মুভের হিসেবেই বোঝানোর চেষ্টা করবো। অর্থাৎ দুইপক্ষেরই ঝুলিতে ৪০ টা করে মুভ থাকবে। পড়ে নাও ভালো করে, তোমরা আবার কনফিউজড হয়ে যেও না যেন!

হ্যাঁ, এবার ব্যাখ্যায় আসি।

শ্যানন দাবা খেলার সময় লক্ষ্য করেন, এক-একটা মুভে প্রায় ৩০ রকম ভিন্ন ভাবে চাল দেয়া যায়।

তাহলে এবার চিন্তা করো, তুমি তোমার বন্ধুর সাথে দাবা খেলতে বসলে। তোমার গুটি সাদা, তোমার বন্ধুর গুটি কালো।

তোমার একটা মুভে তোমার বন্ধু পরের মুভে ৩০ রকম ভিন্নভাবে চাল দিতে পারে। অর্থাৎ, তোমার একটা চালের জন্যে তোমার বন্ধুর সম্ভাব্য চালের সংখ্যা ৩০ টা।

কিন্তু তুমিও তো তোমার প্রথম মুভে সম্ভাব্য ৩০ রকম ভিন্নভাবে চাল দিতে পারো! তাহলে ব্যাপারটা কি দাঁড়াচ্ছে?

সিম্পল ব্যাপার, ঐকিক নিয়ম করো!

তোমার একটা চালের কারণে সম্ভাব্য চাল ৩০ টা।
তাহলে তোমার ৩০ টা চালের কারণে সম্ভাব্য চাল (৩০*৩০ = ৯০০) টা!

চিন্তা করতে পারছো? দুটো মুভেই সম্ভাব্য চালের সংখ্যা হতে পারতো ৯০০ টা! অর্থাৎ ৯০০ রকম ভিন্নভাবে চাল দেয়া সম্ভব ছিলো!

একটু আগেই বলেছি, দাবা গেম আন্তর্জাতিক নিয়মে মোট ৮০ মুভের খেলা।

একটা মুভে ৩০ টা চাল।
দুটো মুভে (৩০*৩০) = ৩০^২ = ৯০০ টা চাল।
তিনটে মুভে (৩০*৩০*৩০) = ৩০^৩ টা চাল।
….
৮০ টা মুভে (৩০*৩০*৩০….. এরকম করে ৮০ টা ৩০) = ৩০^৮০ টা চাল।
৩০^৮০ = ১০^১২০। (approximately)

এবার বুঝতে পারছো শ্যানন নাম্বারের রহস্য?

এবার কিছু মজার কথা বলি।

কম্পিউটার যদি প্রতি চালের জন্যে এভাবে সম্ভাব্য প্রতিটা চাল হিসেব করে দেখতো, তাহলে সে জীবনেও কোনো চাল দিতে পারতো না! হিসেব করতে করতে পুরো ইউনিভার্স ধ্বংস হয়ে যেতো, তাও কম্পিউটারের ক্যালকুলেশন শেষ হতো না!

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

আবার শুরু করি। যদি তোমার কাছে দাবার বোর্ড থাকে, সামনে নিয়ে বসো। এবার ক্যালকুলেশনে দাবার বোর্ড সামনে রাখাটা জরুরী, তোমার ভিজুয়ালাইজেশনে অনেক কাজে লাগবে!

দাবার বোর্ড নিয়েছো সামনে? কি ব্যাপার! গুটি সাজাবে না? গুটি সাজাও। সাজিয়ে আবার পড়তে বসো। তুমি নেবে সাদা, প্রতিপক্ষ নেবে কালো।

হ্যাঁ, আবার শুরু করি।

তুমি সাদা নিয়েছো। তুমি প্রথম মুভে কিভাবে চাল দিতে পারো? চলো একটু গবেষণা করি।

১) সামনে যে আটটা সৈন্য আছে, যেকোনো একটাকে এক-ঘর সামনে আগাতে পারো। তাহলে আটটা সৈন্যের জন্যে সম্ভাব্য চাল কয়টা? ৮টাই তো!

২) আবার একই জিনিস, শুধু পার্থক্য হচ্ছে সামনে যে আটটা সৈন্য আছে, তাদের যে কোনো একটাকে এবার একঘর করে না, দুই-ঘর করে সামনে আগাবে। সৈন্য আছে কয়টা? আটটা। আটটা সৈন্যের জন্যে আবার সম্ভাব্য চাল ৮টা!

৩) সৈন্য তো গেলো, আর কিছু কি চাল দেওয়ার নেই? হ্যাঁ, ঘোড়া আছে তো! ভালো করে দেখো, একটা ঘোড়া দুটো ভিন্ন জায়গায় যেতে পারে। তাহলে দুটো ঘোড়া কয়ভাবে চালা যাবে? সিম্পল ব্যাপার, ৪ ভাবে!

ব্যস। উপরের তিনটা কন্ডিশন ছাড়া প্রথম মুভে আর কোনো ভাবেই চাল দেওয়া সম্ভব না। তাহলে প্রথম মুভে মোট চালের সংখ্যা কয়টা দাঁড়ালো? (৮+৮+৪) = ২০ টা।

এক কাজ করি। মুভের সংখ্যাগুলোকে n দিয়ে লিখি। তাহলে জিনিসটা বুঝতে আরো-একটু সুবিধা হবে।

যখন n=1, তখন সম্ভাব্য চালের সংখ্যা ২০ টা।

তাহলে যখন n=2 , তখন চালের সংখ্যা কয়টা হবে? একটু চিন্তা করো।

n=2 মানে কি? সেকেন্ড মুভ। সেকেন্ড মুভ দিবে কে? তোমার প্রতিপক্ষ। প্রতিপক্ষও তো তার মুভে ২০ ভাবেই চাল দিতে পারে। (কিভাবে ২০টা, বোঝার জন্যে উপরে তিনটা কন্ডিশন আবার পড়ো।)

তাহলে যখন n=2 , তখন চালের সংখ্যা ২০*২০= ৪০০ টা। সহজ ব্যাপার।

কিন্তু তৃতীয় মুভে ব্যাপারটা এমন থাকবে না। এরপর সংখ্যাটা হুট করেই বেড়ে যাবে। কিভাবে বাড়বে সেই ব্যাখ্যায় আর যাচ্ছি না। গেলে ব্যাপারটা অনেক জটিল হয়ে যাবে।

যাই হোক, প্রতি মুভে টোটাল চালের সংখ্যাটা লিখছি। দেখতে থাকো।

n=1 , ২০ টা চাল।
n=2, ৪০০ টা চাল।
n=3, ৮,৯০২ টা চাল।
n=4, ১,৯৭,৭৪২ টা চাল।

মানে ভাবতে পারছো? চারটা মুভেই সম্ভাব্য দুইলক্ষ ভাবে চাল হতে পারতো! দুইলক্ষ! ভাবতে পারছো?

এবার একটু ভিন্ন প্রসঙ্গে যাই। যারা এখনো পড়ছো, আর একটু কষ্ট করে পড়ো। এই লেখার প্রায় শেষদিকে চলে এসেছি।

একটু আগে বলেছি, দাবা খেলায় ৮০ মুভের ভেতর খেলা শেষ করার নিয়ম। কি হতো, যদি ৮০ মুভে খেলা শেষ করার নিয়ম না থাকতো? খেলা শেষ না হওয়া অব্দি মুভ চলতে থাকতো?

গডফ্রে হার্ডি নামে আরেকজন ভদ্রলোক আছেন, তিনি আরো এককাঠি সরেস। তিনি প্রচুর গবেষণা শেষে বলেন, একটা দাবা খেলায় শেষ পর্যন্ত মোট ১১৮০০ মুভ হওয়া সম্ভব (মতভেদ আছে)।

মানে বুঝতে পারছো? প্রায় ১২০০০ মুভ! তুমি আর তোমার বন্ধু মিলে ১২০০০ মুভ দিচ্ছো শুধু একটা দাবা খেলায়, ভাবতেই তো আমার পেট ফেটে হাসি আসছে!

তাঁর হিসেব মতে, দাবা খেলায় মোট সম্ভাব্য চালক হওয়া সম্ভব ১০^১০^৫০ সংখ্যক। এটা নিয়ে অনেক আর্টিকেল আছে, গুগল করে দেখতে পারো, আমি আর সেদিকে গেলাম না।

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

উনি বলেন, দাবা খেলায় একেকটা মুভে ৩০ টার মত চাল থাকলেও গ্রহণযোগ্য চাল থাকে মাত্র তিনটার কাছাকাছি। তার মানে হচ্ছে, তুমি যখন দাবা খেলো, বেশিরভাগ সময় তুমি তিনটা চাল নিয়েই ভাবো, এই তিনটা চালের মাঝে কোনটা দেয়া যায় সেটা নিয়েই তুমি চিন্তা করো!

এখন, যদি এই তিনটা চাল নিয়েই হিসেব করা হয়, আর খেলাটা হয় ৮০ মুভের (দাবা ৮০ মুভের খেলা), তাহলে মোট চাল কয়টা?

এতক্ষণ লেখাটা ভালো করে পড়ে থাকলে পেরে যাওয়ার কথা, ৩^৮০ টা।

৩^৮০= ১০^৪০।

কি, এখন ছোট লাগছে?
নাহ, তাও যথেষ্ট বড়।

দেখো, মজার ব্যাপার হচ্ছে, আমরা শুধুমাত্র গ্রহণযোগ্য চাল নিয়ে কথা বলছি, তাও মোট চালের সংখ্যা ১০^৪০। মানে, কি একটা অদ্ভুত ব্যাপার, তাই না?

আচ্ছা, এবার এই ১০^৪০ সংখ্যাটার মাহাত্ম্য বলি।

পৃথিবীতে যত মানুষ আছে, সব মানুষকে একটা একটা জোড়া করে সাজানো হলো। এবার প্রত্যেক জোড়াকে একটা করে দাবার বোর্ডে সামনে বসিয়ে বলা হলো, “নে, খেল। এক টিমের চাল অন্য টিম দিতে পারবি না, প্রত্যেককে আলাদা আলাদা চাল দিতে হবে। যখন পৃথিবীর সবার মোট চালের সংখ্যা ১০^৪০ হবে তখন সবার ছুটি। শুরু কর।”

বিশ্বাস করো, তারা যদি প্রত্যেকদিন একটা করে গেম খেলে, এবং তাও যদি প্রত্যেকটা চাল ভিন্ন ভিন্ন ভাবে দেয়, তাহলেও এই ১০^৪০ সংখ্যক চাল দিতে ট্রিলিয়ন ট্রিলিয়ন বছর লাগবে!

বা, ব্যাপারটা এইভাবে বলা যায়, আজ অব্দি পৃথিবীতে যত দাবা খেলা হয়েছে, তাতে সব মিলিয়ে যতগুলো চাল হয়েছে, তা এই ১০^৪০ এর খুবই খুবই ছোট্ট একটা অংশ। কি ভয়ংকর ব্যাপার, তাই না?

দাবার চাল নিয়ে কথাবার্তা আমার এইখানেই শেষ।

যাই হোক, শেষ করছি দুটো প্রশ্ন দিয়ে, যে পারো, আমাকে জানিয়ে দিও।

১) একটা দাবার বোর্ডে মোট কতগুলো বর্গক্ষেত্র থাকে?

২) একটা দাবার বোর্ডে মোট কতগুলো আয়তক্ষেত্র থাকে?

যারা কষ্ট করে এই লেখাটা পড়েছো, তাদের অসংখ্য ধন্যবাদ। গণিতকে ভালোবাসো, গণিতের রঙে ভেসে যাও। সবার জন্যে শুভকামনা রইলো!

Exit mobile version