আগের পোস্টে নেটওয়ার্ক সায়েন্সের খুব বেসিক কিছু ধারনা আলোচনা করতে করতে আমরা বুঝতে পেরেছি, জিনিসটাকে ওভাবে এগিয়ে নিয়ে যাওয়াটা একটু বোরিং। আজকের ম্যাজিক দিয়ে সেই বোরডমটা কেটে যাবে। নিচের পিচ্চি নেটওয়ার্কটার দিকে তাকান।
গত পোস্ট থেকে আমরা জেনেছি, নেটওয়ার্কটিতে
– ভার্টেক্স বা নোডের সংখ্যা ,
– এজের সংখ্যা .
– এজের সংখ্যা .
এবার এমন একটা স্কয়্যার ম্যাট্রিক্স চিন্তা করা যাক, যেটার সাইজ . অর্থাৎ আমাদের এই ক্ষেত্রে . ম্যাট্রিক্সের নাম রাখলাম . যদি আমাদের নেটওয়ার্কের ভার্টেক্স- এবং ভার্টেক্স- এর মধ্যে একটা এজ থাকে, তাহলে এই ম্যাট্রিক্সের -তম রোও এবং -তম কলামে আমরা একটা বসিয়ে দেব। আর যদি এজ না থাকে, তাহলে বসাব . ব্যস! হয়ে গেল এ্যাডজেসেন্সি ম্যাট্রিক্স!
আমাদের নেটওয়ার্কের তাহলে দেখতে কেমন হবে? ভার্টেক্স ১ এবং ২ এর মধ্যে একটা এজ আছে। তাহলে ম্যাট্রিক্স -এর ১ম রোও এবং ২য় কলামে একটি বসবে। আবার ভার্টেক্স ১ থেকে ৩ -এ কোন এজ নেই। তাহলে ১ম রোও এবং ৩য় কলামে বসবে . অর্থাৎ
ইত্যাদি। আমরা প্রথাগত নিয়মেই ইনডেক্সিং করছি। অর্থাৎ -এর হল রোও-ইনডেক্স, আর হল কলাম-ইন্ডেক্স।
ইত্যাদি। আমরা প্রথাগত নিয়মেই ইনডেক্সিং করছি। অর্থাৎ -এর হল রোও-ইনডেক্স, আর হল কলাম-ইন্ডেক্স।
আমাদের নেটওয়ার্কের সব জানা অজানা তথ্য আমরা এই এ্যাডজেন্সি ম্যাট্রিক্সের ভেতরে এনকোড করে ফেলেছি। আমরা ধীরে ধীরে জানব। তবে কিছু রহস্য এখনি উন্মোচন করে ফেলি।
ডিগ্রী
আগের পোস্ট থেকে আমরা জানি, ভার্টেক্স ৪ -এর ডিগ্রী, . কারন ভার্টেক্স ৪ এর সাথে তিনটে এজ যুক্ত। এ্যাডজেসেন্সি ম্যাট্রিক্স এটা নিয়ে কী বলে? ভার্টেক্স ৪ এর জন্য এর চার-নম্বর রোও বরাবর এন্ট্রি গুলো যোগ করে দিনতো? রেজাল্ট তিন। তারমানে -এর i’th Row-sum হচ্ছে নেটওয়ার্কটির -তম ভার্টেক্সের ডিগ্রী!
আগের পোস্ট থেকে আমরা জানি, ভার্টেক্স ৪ -এর ডিগ্রী, . কারন ভার্টেক্স ৪ এর সাথে তিনটে এজ যুক্ত। এ্যাডজেসেন্সি ম্যাট্রিক্স এটা নিয়ে কী বলে? ভার্টেক্স ৪ এর জন্য এর চার-নম্বর রোও বরাবর এন্ট্রি গুলো যোগ করে দিনতো? রেজাল্ট তিন। তারমানে -এর i’th Row-sum হচ্ছে নেটওয়ার্কটির -তম ভার্টেক্সের ডিগ্রী!
মনে করিয়ে দেই, কোন ম্যাট্রিক্সের রোও বরাবর সামেশন চাইলে তার একটা রোও’কে ফিক্স করে সব কলামের ওপর সামেশন রান করতে হয়। অর্থাত আমাদের ভার্টেক্স ৪ এর ক্ষেত্রে সেটা হয়েছে
তাই সামেশনের ইনডেক্সটা .
তাই সামেশনের ইনডেক্সটা .
আনডিরেক্টেড গ্রাফ
আমাদের নেটওয়ার্কের ক্ষেত্রে ম্যাট্রিক্সটি সিমেট্রিক। অর্থাৎ সে নিজেই তার ট্রান্সপোজ।
আমাদের নেটওয়ার্কের ক্ষেত্রে ম্যাট্রিক্সটি সিমেট্রিক। অর্থাৎ সে নিজেই তার ট্রান্সপোজ।
এটার কারন হল, থেকে ‘তে একটা এজ আছে মানেই তো থেকে ‘তে একটা এজ আছে। নো সারপ্রাইজ। এই ধরনের গ্রাফ গুলোকে বলা হয় আনডিরেক্টেড গ্রাফ।
ডিরেক্টেড গ্রাফ
আমাদের নেটওয়ার্কের এজ গুলোতে কিছু ডিরেকশন জুরে দেই।
আমাদের নেটওয়ার্কের এজ গুলোতে কিছু ডিরেকশন জুরে দেই।
লক্ষ্য করুন, এখন ভার্টেক্স ৪ থেকে ১ -এ যাওয়ার রাস্তা আছে। কিন্তু ১ থেকে ৪ -এ যাওয়ার কোন রাস্তা নেই। এই ধরনের গ্রাফ গুলোকে বলে ডিরেক্টেড গ্রাফ। এদের ক্ষেত্রে ডিগ্রী’র ডেফিনিশনও তাই অন্য রকম।
ইন-ডিগ্রী, আউট ডিগ্রী
ডিরেক্টেড গ্রাফে একটা ভার্টেক্সের সাথে কানেক্টেড এজ গুলোর মধ্যে যত গুলো এজ তার দিকে তীর চিহ্ন তাক করে বসে থাকে, সেই সংখ্যা হচ্ছে ইন-ডিগ্রী। সোজা কথা, ভার্টেক্সটির দিকে ইনওয়ার্ড এজের সংখ্যা হল ইন-ডিগ্রী। একই ভাবে ভার্টেক্সটি থেকে অউটওয়ার্ড এজের সংখ্যা হচ্ছে আউট-ডিগ্রী। এগুলোকে যথাক্রমে এবং দিয়ে লেখা হয়। যেমন আমাদের ডিরেক্টেড নেটওয়ার্কটিতে ভার্টেক্স ১ এর ক্ষেত্রে,
ইত্যাদি।
ডিরেক্টেড গ্রাফে একটা ভার্টেক্সের সাথে কানেক্টেড এজ গুলোর মধ্যে যত গুলো এজ তার দিকে তীর চিহ্ন তাক করে বসে থাকে, সেই সংখ্যা হচ্ছে ইন-ডিগ্রী। সোজা কথা, ভার্টেক্সটির দিকে ইনওয়ার্ড এজের সংখ্যা হল ইন-ডিগ্রী। একই ভাবে ভার্টেক্সটি থেকে অউটওয়ার্ড এজের সংখ্যা হচ্ছে আউট-ডিগ্রী। এগুলোকে যথাক্রমে এবং দিয়ে লেখা হয়। যেমন আমাদের ডিরেক্টেড নেটওয়ার্কটিতে ভার্টেক্স ১ এর ক্ষেত্রে,
ইত্যাদি।
ডিরেক্টেড গ্রাফের এ্যাডজেসেন্সি ম্যাট্রিক্স
ডিরেক্টেড গ্রাফের ক্ষেত্রে যেহেতু থেকে এর লিঙ্ক মানেই থেকে -এর লিঙ্ক নয়, তাই তার এ্যাডজেসেন্সি ম্যাট্রিক্সটিও সিমেট্রিক নয়। এই ক্ষেত্রে ‘কে আমরা তৈরি করব একটু অন্য ভাবে। যদি থেকে -এর দিকে একটা এজ থাকে, তাহলে আমরা বসাব। আর থেকে -এর দিকে কোন এজ না থাকে, তাহলে বসাব।
ডিরেক্টেড গ্রাফের ক্ষেত্রে যেহেতু থেকে এর লিঙ্ক মানেই থেকে -এর লিঙ্ক নয়, তাই তার এ্যাডজেসেন্সি ম্যাট্রিক্সটিও সিমেট্রিক নয়। এই ক্ষেত্রে ‘কে আমরা তৈরি করব একটু অন্য ভাবে। যদি থেকে -এর দিকে একটা এজ থাকে, তাহলে আমরা বসাব। আর থেকে -এর দিকে কোন এজ না থাকে, তাহলে বসাব।
এবার যদি আমি -এর ’তম রোও বরাবর সামেশন চালিয়ে দেই, তাহলে কি কোন ডিগ্রী পাব? নিশ্চয়ই পাব! নেটওয়ার্কটির দিকে তাকান এবং ভার্টেক্স ৪ কথা ভাবুন। তার ইন-ডিগ্রী শুন্য। কিন্তু আউট-ডিগ্রী তিন। এ্যাডজেসেন্সি ম্যাট্রিক্স কী বলছে? চতুর্থ রোও বরাবর সামেশন = শুন্য, এবং চতুর্থ কলাম বরাবর সামেশন = তিন! ব্যস, হয়ে গেল ডিগ্রীর রহস্য ভেদ।
-এর ক্ষেত্রে সামেশনটা কিন্তু একটা কলাম-সাম। তাই সামেশনের ইনডেক্সটা .
স্বভাবতই দেখা যাচ্ছে, এক্ষেত্রে এ্যাডজেসেন্সি ম্যাট্রিক্সটি সিমেট্রিক নয়। এই কারনে ডিরেক্টেড নেটওয়ার্ক সবসময়ই একটু কমপ্লিকেটেড।
একটু একটু করেই গল্প চলুক। পরের পোস্টে পাথ লেংথ নিয়ে ফিরছি।
নেটওয়ার্ক উপাখ্যান ০৩ – পাথ লেংথ এবং এ্যাডজেন্সি ম্যাট্রিক্স
পাথ লেংথের কথা সবার মনে আছে নিশ্চয়ই? একটা নোড থেকে আরেকটা নোডে যাওয়ার রাস্তায় যত গুলো এজ পার হতে হবে, সেই সংখ্যাটাই পাথ লেংথ। এবার গতদিনের আঁকা ডিরেক্টেড নেটওয়ার্কটার দিকে আবার একটু তাকানো যাক।
এই নেটওয়ার্কটিতে ভার্টেক্স ৪ থেকে ২ -এ যেতে কতগুলি পথ আছে? আমার মনে হয়, তিনটিঃ
– একটা হল, ৪,১,২। যেহেতু এই রাস্তায় দুটো এজ পার হতে হয়, তাই এই পথটির লেংথ = .
– আরেকটা পথ, ৪,৫,১,২। এবার এজ ব্যবহার করেছি তিনটে। তাই এই পথের লেংথ = .
– আরেকটা পথই বাকি। ৪,২। এই পথের লেংথ = .
– আরেকটা পথ, ৪,৫,১,২। এবার এজ ব্যবহার করেছি তিনটে। তাই এই পথের লেংথ = .
– আরেকটা পথই বাকি। ৪,২। এই পথের লেংথ = .
এদের মধ্যে জিওডেসিক কোনটা? অবশ্যই ৪,২ পথটি। কারন এই পথের লেংথ সবচে ছোট।
এখন যদি প্রশ্ন করা হয়, যেকোন ভার্টেক্স থেকে পর্যন্ত কতগুলো পথে পৌঁছানো সম্ভব, এবং তাদের মধ্যে জিওডেসিক কোনটি – তাহলে কি আমরা মাথায় হাত দেব?
মোটেই না! এ্যাডজেসেন্সি ম্যাট্রিক্স থাকতে মাথায় হাত? প্রশ্নই আসেনা। নেটওয়ার্কটির এ্যাডজেসেন্সি ম্যাট্রিক্সের দিকে তাকাচ্ছিঃ
এখান থেকে পাথ-লেংথ কিভাবে বের হবে?
এক কাজ করি। ম্যাট্রিক্সটাকে স্কয়্যার করে দিই।
স্কয়্যার করা হয়ে গেল। পুরানো গল্পে ফেরা যাক। আমরা ভার্টেক্স ৪ থেকে ২ -এ যাবার রাস্তা খুঁজছিলাম। এবার ম্যাট্রিক্সের ২ নম্বর রোও এবং ৪ নম্বর কলাম কী বলছে দেখুন তো? দেখা যাচ্ছে, . মজার ব্যাপার হচ্ছে, এই -টাই নির্দেশ করছে যে, ভার্টেক্স-৪ থেকে ভার্টেক্স-২ পর্যন্ত লেংথের পথের সংখ্যা = . ব্যাপারটা ভাক্কাবাজি মনে হলে আসুন -এর কাঁধে কিউব চড়িয়ে দেই।
-এর কাঁধে পাওয়ার যখন তুললাম, তখন ম্যাট্রিক্সটির মধ্যে একটিই মাত্র নন-জিরো এন্ট্রি দ্যাখা যাচ্ছে, সেটা হল, . তাহলে কি এই -নির্দেশ করছে লেংথের পাথের সংখ্যা = ? নিশ্চয়ই! ছবি থেকেও আমরা তাই দেখতে পাচ্ছি। তিন-লেংথের কেবল মাত্র একটাই পথ, এবং সেটা ভার্টেক্স ৪ থেকে ২ -এ।
নেটওয়ার্কটিতে -লেংথের কোন পথ নেই। তাহলে কি প্রিতিটি হবে? করে দ্যাখা যাকঃ
ব্যাপারটা মজার না? আসলে এই ঘটনাটা একটা জেনারেল রেজাল্ট। একটা নেটওয়ার্কে এ্যাডজেসেন্সি ম্যাট্রিক্স এবং যেকোন এর জন্য হচ্ছে ভার্টেক্স থেকে -এ -লেংথের পথের সংখ্যা।
আনডিরেক্টেড গ্রাফের ক্ষেত্রে জিনিসটা কেমন যেন ভজঘট পাকিয়ে যায়। আমি স্ট্যাকএক্সচেইঞ্জে প্রশ্ন করেছিলাম, যে আনডিরেক্টেড গ্রাফের ক্ষেত্রে এই নিয়মটা কাজ করেনা কেন। উত্তর এল, উপরের নিয়মে আসলে -লেংথের “Walk” বের হয়, “path” নয়। বিড়ম্বনাটা দুটো সংজ্ঞা দিয়ে ক্লিয়ার করছি।
হ্যামিল্টনিয়ান পাথ
যেই পাথে ভ্রমন করলে কোন একটা ভার্টেক্স একবারের বেশি ভিজিটেড হয়না, সেটা হ্যামিল্টনিয়ান পাথ।
যেই পাথে ভ্রমন করলে কোন একটা ভার্টেক্স একবারের বেশি ভিজিটেড হয়না, সেটা হ্যামিল্টনিয়ান পাথ।
অয়লারিয়ান পাথ
যেই পাথে ভ্রমন করলে, কোন একটা এজ একবারের বেশি ভিজিটেড হয়না, সেটা অয়লারিয়ান পাথ।
যেই পাথে ভ্রমন করলে, কোন একটা এজ একবারের বেশি ভিজিটেড হয়না, সেটা অয়লারিয়ান পাথ।
আমার বিড়ম্বনাটা যেখানে দাঁড়িয়েছিল সেটা হল, স্ট্যাকএক্সচেইঞ্জের লোকজন Path বলতে শুধু হ্যামিল্টনিয়ান বা Eularian Path বোঝাচ্ছিল। আর Walk বলতে যেকোন পাথ বোঝাচ্ছিল, যেক্ষেত্রে একটা ভার্টেক্স বা এজ এক বা তারচে’ বেশি সংখকবার ভিজিটেড হতে পারে।
নেটওয়ার্ক উপাখ্যান ০৪ – হ্যান্ডশেকিং লেমা, কো’নিগসবার্গের সপ্তসেতু
বর্গমূলের জন্মদিনটা কবে? আমাদের মডারেটরদের দৃষ্টি আকর্ষন করছি। জন্মদিন কবে জানিয়ে দাও! সেদিন আমরা দু’টো কাজ করব। প্রথমটা হল, একটা দামড়া কেক নিয়ে হ্যাপিবার্থডেটুইউ শব্দে কিচিরমিচির করে কেক কাটব, এবং দ্বিতীয়টি হল, গ্রাফথিওরির হ্যান্ডশেকিং লেমা’র প্রুফ হাতে কলমে শিখে ফেলব। সবার কাজ হচ্ছে, নিজে কয়জনের সাথে সেই পার্টিতে হাত মেলালো, তার হিসেব রাখা। ব্যাপারটা ভাবতেই মজা লাগছে। ছেলেমেয়েরা হ্যান্ডশেক করেই সশব্দে ঘোষণা করছে “তেরো!” “…একুশ! “…চৌত্রিশ!”
ধরাযাক, বর্গমূলের জন্মদিনে ৫০ জন মানুষ এসেছে। প্রত্যেকেই কারও না কারও সাথে হ্যান্ডশেক করেছে। কেউ করেছে ১ জনের সাথে, কেউ করেছে একচল্লিশ জনের সাথে। তো সবমিলিয়ে মোট কতগুলো হ্যান্ডশেক হয়েছে? এই উত্তরটাই দেবে হ্যান্ডশেকিং লেমা।
এই লেমা অনুযায়ী, প্রত্যেকে আলাদা আলাদা ভাবে যতগুলো হ্যান্ডশেক করেছে, তার যোগফল সম্মিলিত ভাবে মোট হ্যান্ডশেকের সংখ্যার দ্বিগুন।
প্রত্যেকটি মানুষকে একেকটা ভার্টেক্স এবং প্রত্যেকটি হ্যান্ডশেককে একেকটা এজ হিসেবে ভাবলে, বর্গমূলের জন্মদিনের গেটটুগেদারটাকে রাতারাতি একটা নিখুঁত আনডিরেক্টেড গ্রাফ হিসেবে চালিয়ে দেয়া যায়। বর্গমূলের -তম সদস্য যদি বার হ্যান্ডশেক করে, এবং সম্মিলিত ভাবে যদি মোট সংখ্যক হ্যান্ডশেক সম্পন্ন হয়, তাহলে আমরা গ্যারান্টি দিয়ে বলতে পারি,
যারা আগের পোস্ট গুলো পড়েছেন, তারা বুঝে ফেলেছেন যে আমি বলতে চাচ্ছি, একটা আনডিরেক্টেড নেটওয়ার্কে সবগুলো ভার্টেক্সের ডিগ্রীর সামেশন নিলে যে রেজাল্ট পাওয়া যাবে, সেটা হল সেই নেটওয়ার্কে সব এজের যোগফলের দ্বিগুণ। এটিই হ্যান্ডশেকিং লেমা।
প্রমাণটা মোটেও কঠিন নয়। একটা শিশু-নেটওয়ার্ক দিয়েই আগাই। গুনতে সুবিধা।
ছবির নেটওয়ার্কটিতে দ্যাখা যাচ্ছে, ভার্টেক্স ১ এর ডিগ্রী = , এবং তা ভার্টেক্স-২ এবং ভার্টেক্স-৩ এর সাথে যুক্ত। তাহলে . একই ভাবে, . এখন আমরা সব ’কে যোগ করে দেব। যোগফল .
কিন্তু আমরা যখন হিসেব করেছি, তখন ভার্টেক্স-১ থেকে ভার্টেক্স-২ পর্যন্ত এজ’টিকে একবার তো গুনেছিই, আবার যখন হিসেব করেছি, তখন ঐ একই এজ’কে আবার গুনেছি। সুতরাং, এভাবে যোগ করলে, প্রতিটি ভার্টেক্সকে আমরা দুই বার করে গুনছি। গ্রাফ যত দামড়া সাইজেরই হোকনা কেন, এই ঘটনা খুবই সত্য। তাই আসলে এজ’এর মোট সংখ্যা হবে এভাবে যোগ করে পাওয়া রেজাল্টকে ২ দিয়ে ভাগ। অর্থাৎ মোট এজের সংখ্যা যদি হয় তাহলে,
প্রুফ শেষ হয়ে গেল! এই ছবির ক্ষেত্রে, .
এই সিনারিওটা আসলে এ্যাডজেসেন্সি ম্যাট্রিক্সের মধ্যেই জ্বলজ্বল করে। ছবির গ্রাফের এ্যাডজেসেন্সি ম্যাট্রিক্স হলঃ
আগের কোন একটা পোস্ট থেকে আমরা জানি, এ্যাডজেসেন্সি ম্যাট্রিক্স -এর th Row-sum হচ্ছে ভার্টেক্স- এর ডিগ্রী। তাহলে সবগুলো রোও-সাম নিয়ে যোগ করে দিলে সব ভার্টেক্সের ডিগ্রী’র যোগফল পাওয়া যাবে।
কিন্তু আগের পোস্টে আমরা এটাও দেখেছি যে আনডিরেক্টেড গ্রাফের ক্ষেত্রে এ্যাডজেসেন্সি ম্যাটরিক্সটা সিমেট্রিক। মানে, থেকে ’তে এজ থাকা মানেই থেকে ’তে এজ থাকা। সুতরাং ’তে আমরা প্রতিটি এজকে দুইবার কাউন্ট করছি। তাই মোট এজের সংখ্যা নিঃসন্দেহে
.
ব্যস! প্রমাণ হয়ে গেল!।
কো’নিগসবার্গের সপ্তসেতু
এবার একটু অন্য প্রসঙ্গে আসি। শুধু হ্যান্ডশেকিং লেমা দিয়ে পোস্ট লিখে পলায়নটা ফাঁকিবাজি মনে হচ্ছিল। তাই একটু অবকাশযাপনের উদ্দেশ্যে অষ্টাদশ শতাব্দি থেকে ঘুরে আসা যাক। এই ঘটনাটা অনেকেরই জানা। তবু আবার বলি আড্ডাবাজির খাতিরে।
এবার একটু অন্য প্রসঙ্গে আসি। শুধু হ্যান্ডশেকিং লেমা দিয়ে পোস্ট লিখে পলায়নটা ফাঁকিবাজি মনে হচ্ছিল। তাই একটু অবকাশযাপনের উদ্দেশ্যে অষ্টাদশ শতাব্দি থেকে ঘুরে আসা যাক। এই ঘটনাটা অনেকেরই জানা। তবু আবার বলি আড্ডাবাজির খাতিরে।
প্রুশিয়ার কো’নিগসবার্গ শহরটি বেড়ে উঠেছিল প্রেগলিয়া নদীর চারপাশে। নদীর মাঝে ছিল একটা দ্বীপ, আর সেই দ্বীপের চারপাশের নদীর অন্য পাড়ে তিনটে ভুমি বা মেইনল্যান্ড। এই চার জায়গার মধ্যে যোগাযোগ রক্ষা করার জন্য দাঁড় করানো হয়েছিল সাতটি ব্রিজ। এই হচ্ছে ১৭৩৬ সালের কো’নিগসবার্গের গুগল-ম্যাপস।
একসময় ব্রিজ গুলো নিয়ে একটা জটিল ধাঁধা তৈরি হল। ধরাযাক, আমাদের আরিফিন ডেঙ্গু থেকে উঠেই ব্রিজগুলো দিয়ে হাঁটাহাঁটি শুরু করে দিয়েছে। তাকে কন্ডিশন ধরিয়ে দেওয়া হল, “তোমাকে প্রতিটি ব্রিজে অন্তত একবার পা রাখতেই হবে। এবং একটি ব্রিজে একবারের বেশি পা রাখলেই মাইর! নদীটাও সাঁতরে বা নৌকায় করে পার হওয়া চলবেনা, কেবলমাত্র ব্রিজ দিয়েই পার হতে হবে। তবে, দ্বীপে বা তিনটি মেইনল্যান্ডেই তুমি বিভিন্ন ব্রিজ’দিয়ে যতবার খুশি আসতে-যেতে পারবে। তোমার কাজ হল, সব গুলো ভুমিতে অন্তত একবার করে পদধুলি দিয়ে আসা। যেই ভুমি থেকে শুরু করবে, সেখানেই এসে শেষ করতে হবে -এমন কোন কথা নেই। যেখান থেকে খুশি, হাঁটা শুরু কর!”
প্রশ্ন হল, এই শর্ত গুলো মেনে এরকম কতগুলো পথ আরিফিন বের করতে পারবে? আরিফিনের এই ব্রিজব্রাজন সেসময়ের ম্যাথম্যাটিশিয়ানদের মধ্যে বেশ আলোচিত হতে লাগল, কিন্তু কেউই কোন সলিউশন বের করতে পারলেন না। একসময় লিওনার্ড অয়লার এগিয়ে এলেন। অয়লারের হস্তক্ষেপ মানেই মোটামুটি যেকোন ম্যাথম্যাটিকাল সমস্যার সমাধান। তিনি খুবই সহজ একটা আর্গুমেন্ট দিয়ে প্রমান করে ফেললেন, এরকম কোন পথ আরিফিন আদৌ বের করতে পারবেনা! ইন ফ্যাক্ট, অয়লার এই কথাটা বলে গণিতের গ্রাফ-থিওরী শাখাটাই আবিষ্কার করে ফেললেন। এখন আর্গুমেন্টটা সহজ মনে হলেও, আঠারো শতকে মনে হয়না এটা সহজ ছিল।
যা হোক, অয়লারের নবউদ্ভাবিত গ্রাফ থিওরির চোখে প্রমানটার দিকে তাকালেই সব ফকফকা। প্রথমে দ্বীপ আর মেইনল্যান্ড গুলোকে চারটা ভার্টেক্স এবং ব্রিজগুলোকে সাতটা এজ ধরে নিলাম।
আগের পোস্টে অয়লারিয়ান পাথ ডিফাইন করেছিলাম। আবারও করছি।
ধরা যাক, একটা নেটওয়ার্কে এমন একটা পাথ আছে, যেটা অনুযায়ী ভ্রমণ করলে সবগুলো ভার্টেক্সেই যাওয়া যায়। তবে শর্ত হল, ভ্রমনের সময় একটা এজ অন্তত একবার, এবং কেবল মাত্র একবারই ভিজিটেড হয়। এরকম পাথের নাম রাখা হয়েছে অয়লারিয়ান পাথ। আমরা বুঝতে পারছি, আরিফিনকে ঐ শর্ত গুলো স্যাটিসফাই করতে হলে একটা অয়লারিয়ান পাথ খুঁজে বের করতে হবে।
ধরে নিচ্ছি, একটা নেটওয়ার্কে অয়লারিয়ান পাথ আছে। সেই অয়লারিয়ান পাথে ভ্রমনের মধ্যে যেসব ভার্টেক্স পড়বে, সেসব ভার্টেক্সকে যতবার খুশি ভিজিট করা যাবে, কিন্তু একই এজ দিয়ে না। অর্থাৎ, একটা ভার্টেক্স যদি আমাদের রাস্তায় একবার পড়ে যায়, তাহলে আমরা সেখানে একটা এজ দিয়ে ঢুকব, আরেকটা এজ দিয়ে বেরিয়ে যাব। অর্থাৎ ভার্টেক্সটির ডিগ্রী হবে = . এই এজ দুটো আর কখনোই ব্যবহার করা যাবেনা। আবার এই ভার্টেক্সটিই যদি দুইবার ভিজিট করতে হয়, তাহলে দ্বিতীয়বার,সম্পুর্ন নতুন একটা এজ দিয়ে ঢুকব, এবং নতুন আরেকটা এজ দিয়ে বেরিয়ে যাব। ডিগ্রী হবে চার। যার অর্থ দাঁড়াচ্ছে, একটা ভার্টেক্সকে বার ভিজিট করলে তার ডিগ্রী হবে , যেটা একটা ইভেন নাম্বার।
মজার শুরু এখানেই। এবার বলুন দেখি, এরকম অয়লারিয়ান পাথ সমৃদ্ধ কোনো নেটওয়ার্কে কি একটাও ভার্টেক্স পাওয়া যাবেনা যার ডিগ্রী বেজোড় সংখ্যা?
যদি একটা ভার্টেক্সের ডিগ্রী বেজোড় সংখ্যা হয়, ধরা যাক তিন, তাহলে সেটার মানে কী দাঁড়ায়? প্রতিটি এজকে তো একবার ব্যবহার করতেই হবে অয়লারিয়ান পাথ হতে হলে। তাই তিনের মধ্যে দুটো এজ দিয়ে নিশ্চয়ই আমরা ভার্টেক্সটিতে ঢুকব-বেরুবো। অন্য এজটি দিয়ে হয় ঢুকব, নয়ত বেরুবো। অন্য সব বেজোড় সংখ্যা -এর জন্যও তাহলে সংখ্যক এজ দিয়ে আমরা ঢুকব বেরুবো, এবং বাকি একটা এজ দিয়ে হয় ঢুকব, নয়ত বেরুবো।
এরকম দুটো পসিবলিটি কোন ভার্টেক্সের সাথে মেলে বলুন দেখি? নিশ্চিত ভাবেই ভার্টেক্স দুটি হচ্ছে স্টার্টিং আর এন্ডিং ভার্টেক্স। প্রথমটার বেজোড়তম এজটি দিয়ে বেরিয়ে যাত্রা শুরু করব, আর শেষটার বেজোড় তম এজটি দিয়ে ঢুকে যাত্রা শেষ করব।
তো, এই বেজোড় বা অড ডিগ্রী ওয়ালা কতগুলো ভার্টেক্স একটা অয়লারিয়ান পাথ সমৃদ্ধ নেটওয়ার্কে থাকতে পারে? উত্তর হল, সর্বোচ্চ দুটি ।
আথবা
কো’নিগসবার্গের সপ্তসেতুর দিকে তাকান, -চারটি নোডের প্রতিটির ডিগ্রীই বেজোড়। তাই আমাদের নিবিষ্ট হন্টক আরিফিন নদীর এপারওপারে সবগুলো ভুমিতে পৌঁছানোর জন্য এমন কোন রাস্তা কখনোই খুঁজে পাবেনা যেটা অনুসরণ করে চললে প্রতিটি ব্রিজে অন্তত একবার এবং কেবল মাত্র একবারই তার পা পড়ে। সুতরাং, সে মাঠে নামলেই, মাইর!
0 comments:
Post a Comment