নেটওয়ার্ক উপাখ্যান ০১ – অতি-বেসিক

 

“নেটওয়ার্ক” শব্দটার সাথে সবাইকে নতুন করে পরিচয় করিয়ে দিতে গেলে বর্গমূলের পাঠকরা আমাকে কান ধরে উঠবস করাবে। এটা এমন একটা আইডিয়া, যেটা সব্বাই বোঝে। কিসের কিসের নেটওয়ার্ক হতে পারে – এও তেমন কোন কঠিন প্রশ্ন নয়। নিচের ছবিটাই জলজ্যান্ত উত্তর।

networks

ফেসবুক প্রতিমুহূর্তে জানান দিচ্ছেঃ এ তার বন্ধু, সে ওমুকের বন্ধু, তমুক আবার আমার বন্ধু… এলাহি কান্ড। এই এলাহি কান্ডকে আমরা “সোশাল নেটওয়ার্ক” নামে ডাকি। শতকোটি অণু মিলে একটা চিনি বা লবনের যে ক্রিস্টাল তৈরি করে, সেটাও একটা নেটওয়ার্ক। মলিকুলার নেটওয়ার্ক। ঢাকাশহরে মেগাসিটি, তরঙ্গ, ফালগুন, ৬ নাম্বার, উইনার – এই বাস গুলোর কথাই বলি, কিংবা লুফথানসা, এমিরেটস, রায়ানএয়ার, বাংলাদেশ বিমানের ফ্লাইট গুলো – সবাই নিজের নিজের জায়গায় যাত্রী পারাপার করে নেটওয়ার্ক তৈরি করে আছে। একই ভাবে সারাদেশের (বা ইউরোপের ক্ষেত্রে পুরো মহাদেশের) ইলেকট্রিক পাওয়ার গ্রীড, কিংবা আমাদের শরীরের  মেটাবলিজমের কেমিক্যাল রিএ্যাকশনে অংশ নেওয়া প্রোটিন, কিংবা আমাদের মস্তিষ্কের নিউরন-সিন্যাপ্স, কিংবা একটা বনের প্রাণীদের ভেতরকার ফুডচেইন, কিংবা সারা পৃথিবীর ইন্টারনেট (www) – অনেক অনেক অনেক জায়গায় নেটওয়ার্কের উপস্থিতি।

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

গ্রাফ জিনিসটা কী? নিচের ছবির জিনিসটাই হচ্ছে গ্রাফ।
borgomul-networkছবিতে তো শুধু কিছু নাম্বার লাগানো গোল্লা আর কিছু লাইন দেখা যাচ্ছে। এটাই কি গ্রাফ? হ্যাঁ এটাই গ্রাফ বাই ডেফিনিশন! গোল্লা গুলোর নাম রাখা হয়েছে Vertex (বা Node), আর লাইন গুলো হল Edge (বা Link). গ্রাফ হচ্ছে জাস্ট কিছু ভার্টেক্স এবং এজ-এর একটা সেট। উপরের সব গুলো নেটওয়ার্কই কিন্তু একেকটা গ্রাফ। যেমন ফেসবুক নেটওয়ার্কে ভার্টেক্স বা নোড গুলো হচ্ছে একেকটা মানুষ। এবং এজ হচ্ছে তাদের মধ্যেকার ফেসবুক-ফ্রেন্ডশিপ। এ্যাভিয়েশন নেটওয়ার্কের ক্ষেত্রে ভার্টেক্স হচ্ছে একেকটা এয়ারপোর্ট। আর এজ হচ্ছে একেকটা ফ্লাইট।

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

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

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

ডিগ্রী
একটা ভার্টেক্সের সাথে যতগুলো এজ যুক্ত, সেটাই তার ডিগ্রী। উপরের ছবিতে ভার্টেক্স-১ এর ডিগ্রী দুই। ভার্টেক্স-১৫ এর ডিগ্রী চার। $i$-তম ভার্টেক্সের ডিগ্রীকে সাধারনত মানুষ $k_i$ দিয়ে লেখে। সুতরাং ছবিতে
$$k_1 = 2,\quad k_{15} = 4, \quad k_8 = 0,\quad \ldots$$
ইত্যাদি।

আমরা সবসময় একটা নেটওয়ার্কের ভার্টক্সের সংখ্যাকে $n$ দিয়ে, এবং এজ-এর সংখ্যাকে $m$ দিয়ে লিখব। গুনে দেখুন, ছবিটায়
$$n=18, \quad m=17$$


কম্পনেন্ট
আমি চাইলেই ভার্টেক্স-১ থেকে ভার্টেক্স-৪ -এ পৌঁছতে পারিনা। তেমনি, ১ থেকে ১৪-তেও পৌঁছতে পারিনা। তবে
১ থেকে ২ বা ৩ -এ যেতে পারি।
১৪ থেকে ১৫, ১৬ তে যেতে পারি।
১০ থেকে ৬-এ যেতে পারি।
৮ এবং ৫ থেকে কোথাও যেতে পারিনা।

আমাদের নেটওয়ার্কটিতে ভার্টেক্স ১,২,৩ এবং তার এজ গুলোর সেট টা একটা কম্পনেন্ট। এদের ভেতর ঘোরাফেরা করা যায়। কিন্তু এদের থেকে বাইরে কোন লিঙ্ক নেই। একই ভাবে ৪,৬,৭,৯,১০,১১,১২,১৩ নম্বর ভার্টেক্স এবং তাদের এজ গুলো নিয়ে যেই সেট, সেটা আরেকটা কম্পনেন্ট। আবার, ১৪,১৫,১৬,১৭,১৮ নিয়ে আরেকটা কম্পনেন্ট। ৫ নিজেই একটা কম্পনেন্ট। ৮-ও ৫-এর মত একটা একলা কম্পনেন্ট।

কানেক্টেডনেস
একটা গ্রাফে যদি একটাই কম্পনেন্ট থাকে, তাহলে সেটাকে বলা হয় কানেক্টেড গ্রাফ। ছবির নেটওয়ার্কটা কি কানেক্টেড? মোটেই না। কারন ওখানে ৫টা কম্পনেন্ট জ্বলজ্বল করছে। বোঝাই যাচ্ছে, একটা কম্পনেন্ট নিজেই একটা গ্রাফ। এবং অবশ্যই কানেক্টেড।

সেলফ-এজ, মাল্টি-এজ, সিম্পল গ্রাফ
কোন ভার্টেক্সের নিজের সাথে নিজেরই যদি এক বা একাধিক এজ থাকে, তাহলে সেই এজ হচ্ছে সেলফ-এজ। আবার দুটো ভার্টেক্সের ভেতর যদি একের বেশি এজ থাকে, সেই এজ গুলো হচ্ছে মাল্টি-এজ। একটা গ্রাফে যদি কোন ভার্টেক্সের সাথেই এমন সেলফ-এজ বা মাল্টি-এজ কোনটাই না থাকে, তাহলে গ্রাফটা একটা সিম্পল গ্রাফ। ছবির গ্রাফটা সিম্পল না। কারন ভার্টেক্স ১৪-এর একটা সেলফ এজ আছে। আবার ভার্টেক্স ১৬ থেকে ১৭ তে মাল্টি-এজ।

আমি গ্রাফ এবং নেটওয়ার্ক শব্দ দুটোকে একই অর্থে ব্যবহার করছি।

পাথ, পাথ-লেংথ, জিওডেসিক
আমরা কি ভার্টেক্স-৬ থেকে ১২ ‘তে যেতে পারি? নিশ্চয়ই পারি। কী কী রাস্তায় যেতে পারি?
একটা হল ক্রমান্বয়ে ৬,৪,৭,১১,১২।
আরেকটা রাস্তা হল, ৬,৪,৭,১০,১৩,১২।
আরেকটা হল, ৬,৪,৭,১০,৯,১১,১২।
আরেকটা ৬,৪,৭,১০,১১,৯,৭,১১,১০,৯,১১,১০,১৩,১২।

এরকম হয়ত আরও চাইলে খুঁজে বের করা যাবে। এই রাস্তা গুলোর প্রতিটিই একেকটা পাথ (Path). একটা পাথে যতগুলো এজ ব্যবহার করে আমরা গন্তব্যে পৌঁছেছি, সেটাই হল তার পাথ-লেংথ। যেমন ওপরের চারটা পাথের লেংথ গুলো হচ্ছে যথাক্রমে চার, পাঁচ, ছয় এবং তের।

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

curzon-hall-to-nilkhet.

একটা নেটওয়ার্কে জিওডেসিক পাথ যে একটাই হবে, এমন কোন কথা নেই। কয়েকটা থাকতেই পারে। যেমন আগের ছবির নেটওয়ার্কটিতে ১২ থেকে ১০ নম্বর ভার্টেক্সে পৌঁছানোর জিওডেসিক দুটো। ১২,১১,১০ এবং ১২,১৩,১০।

এখন যদি প্রশ্ন করা হয়, ৬ থেকে ১৩ ‘তে কতগুলো পথে যাওয়া সম্ভব, তাহলে কি আমরা বসে থেকে গুনে গুনে উত্তর বের করব? বা জিগেস করা হল, ৬ থেকে ১৩ ‘তে ছয়-লেংথের কয়টা পথ সম্ভব, তাহলেই বা কী করব?

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

এ্যাডজেসেন্সি ম্যাট্রিক্সটা তাহলে কী জিনিস?

পরের পোস্টেই বলি।
: -)

 

 


নেটওয়ার্ক উপাখ্যান সিরিজের পোস্ট গুলোঃ            

Galib Hassan
Author: Galib Hassan

Mischief Managed.. 😉

Permanent link to this article: https://www.borgomul.com/kada-mati/4358/


মন্তব্য করুন আপনার ফেসবুক প্রোফাইল ব্যবহার করে

2 comments

  1. আমি কোনদিনও নেটওয়ার্ক সায়েন্স পড়ি নি। ৫ মিনিটে যা বুঝলাম সেটাই একটু হাবিজাবি লিখব।

    “আমি চাইলেই ভার্টেক্স-১ থেকে ভার্টেক্স-৪ -এ পৌঁছতে পারিনা।”

    Path dependency এর একটা আভাস পাচ্ছি।
    আমি গালিব ভাইকে অ্যাড করলে ধীমান দা কে দেখতে পাব ফ্রেন্ড সাজেশন এ, এছাড়া পাওয়ার সম্ভাবনা কম। কারন আমার ফ্রেন্ড লিস্টে এমন কেউ নাই যারা উনাদের সাথে পড়েন। যদিও অনেক মানুষজন কারনে অকারনে তাদের অ্যাড মেরে বসে আছে। যতক্ষন কানেকশন এর ইন্টেন্সিটি একটা সারটেন লেভেলে না যাবে ততক্ষন আমি তাদের আমার ফ্রেন্ড সাজেশনে দেখব না, বা দেখার সম্ভাবনা কম।

    “১৪ থেকে ১৫, ১৬ তে যেতে পারি”

    ১৫ থেকে ৩ দিকে যাওয়া যায়, কিন্তু ১৪ থেকে শুধু ১৫ তে যাওয়া যায়। এখানে ফেসবুকের সাথে মিলিয়ে কোন কিছু তৈরি করতে পারলাম না। যদি ধরে নেই, ১৫ হচ্ছে আমার ফেসবুকের সেটিং এবং ১৪,১৬,১৭,১৮ একেক টা সেটিং এর ট্যাব, যেমন প্রাইভেসি সেটিং, নোটিফিকেশন, ইত্যাদি। যেটা স্বাভাবিক ভাবেই আমাকে বলে দিচ্ছে ১৪ থেকে ১৬ তে যেতে হলে ১৫ তে এসে তারপর যেতে হবে। কিন্তু এখানে আমি আমার উদাহরণ ব্যাবহার করলে আটকে যাব, আগে ব্যাক করে আলাদা আলাদা সেটিংস এ যেতে হত, আজকাল ওগুলো আলাদা আলাদা ট্যাবে থাকে বা’ দিকে, ধরে নিচ্ছি তাদের নতুন ডিজাইন বানানোর সময় এই গ্রাফটা ভালোমতন অদল বদল করা হয়েছে।

    আরও কিছু উদাহরণ দেয়ার ছিল, কিন্তু এতটুকেই মনে হয় আমার মাইর খাইতে হবে।

    একমাত্র ফেসবুক থেকে দূরে থাকলেই মনে হয় এসব হাবিজাবি উদাহরণ দেয়া যায়। ফাইজলামি করার আর জায়গা নাই তো আমার। এখানেই একটু করলাম, কিছু মনে করবেন না ভাই।

    1. হাহাহা! কিছু মনে করবো কেন অনোন? আমি তো বরং খুশি হলাম, যে তুমি নেটওয়ার্কটা নিয়ে কিছুখন ভেবেছো।

      আসলে এই পোস্টের নেটওয়ার্কটা কোন ভাবেই ফেসবুক বা ইন্টারনেটকে রিপ্রেজেন্ট করেনা। কারন ইন্টারনেট মানেই কানেক্টিভিটি। এই নেটওয়ার্কের {১,২,৩} এবং {১৪,১৫,১৬,১৭,১৮} ভার্টেক্স সেট দুটো আলাদা আলাদা কম্পোনেন্ট। ওয়ার্ল্ডওয়াইডওয়েব (www)-এ তুমি নতুন একটা ওয়েবপেজ (বা এই পোস্টের ভাষায় একটা ভার্টেক্স) এ্যাড করলে, সেটা যদি অন্য ওয়েবসাইট গুলোর সাথে কানেক্টেড না হয়, তাহলে তার ওয়েবসাইট হওয়ার কোন যোগ্যতাই নেই। তাই, www নিজে একটা ১-কম্পনেন্ট বিশিষ্ট জায়ান্ট নেটওয়ার্ক। আমার মনে হয়, ফেসবুকের ব্যাপারটাও তাই।

      হয়ত প্রশ্ন উঠতে পারে, তাহলে এই ধরনের আলাদা আলাদা কম্পনেন্ট ওয়ালা নেটওয়ার্ক নিয়ে ঘেঁটে কী লাভ?

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

      আমি এই নেটওয়ার্কটি বানিয়েছি যাতে করে সংজ্ঞা গুলো বোঝাতে বার বার ছবি আঁকতে না হয়। এছাড়া এটার তেমন কোন বাস্তবতা নেই। জাস্ট একটা থিওরেটিকাল গ্রাফ।

মন্তব্য করুন