اویلر هرکدام از چهار بخش شهر را که توسط پلها از هم جدا شده بودند، با چهار حرف A، B، C و D نشان داد (شکل ۲-۱). سپس هر دو بخشی را که توسط یک پل به هم متصل بودند، با یک خط به هم وصل کرد. بدین ترتیب گرافی ساخت که رأس-هایش بخشهای شهر و یالهایش پلها بودند. اویلر متوجه نکته سادهای شد: اگر مسیری وجود داشته باشد که از همه پلها عبور کند ولی از هیچ پلی دو بار نگذرد، رأسهای با درجه فرد باید یا رأس شروع و یا رأس پایان باشند. دلیل این مطلب این است که اگر وارد یک رأس با تعداد فرد یال شویم، چون برای خارج شدن باید از یال دیگری استفاده کنیم، پس از چند بار وارد شدن سرانجام یال استفادهنشدهای برای خروج باقی نخواهد ماند.
مسیری که از این هفت پل میگذرد، تنها میتواند یک نقطه شروع و یک نقطه پایان داشته باشد. بنابراین چنین مسیری نمیتواند در گرافی که بیش از یک رأس با تعداد یال¬های فرد دارد، وجود داشته باشد. در گراف کونیگسبرگ چهار رأس A، B، C و D تعداد یال¬هایشان فرد است، بنابراین هیچ مسیری که شرایط مسئله را ارضا کند، در این گراف وجود ندارد.
عملا اویلر برای نخستین بار یک مسئله را با استفاده از نظریه گراف اثبات کرد. این اثبات دو پیام مهم داشت: نخست اینکه حل برخی مسائل وقتی به شکل گراف مدلسازی شوند، سادهتر میشود. دوم اینکه پیدا کردن چنین مسیری ربطی به نبوغ و مهارت افراد ندارد، بلکه خاصیت ذاتی گراف به شمار می¬آید. درواقع هرچقدر هم که کسی باهوش باشد، نمیتواند چنین مسیری را در گراف کونیگسبرگ پیدا کند. بهبیاندیگر، گرافها ویژگیهایی دارند که در ساختارشان نهفته است، و باعث می شود رفتارهای خاصی از آنها بروز کند یا تشدید شود و در مواردی نیز محدود گردد.
نظریه گراف، شاخهای از ریاضیات است که از اثبات اویلر نشأت گرفت. آشنایی با نظریه گراف برای فهم نحوه تأثیرگذاری شبکهها بر خصوصیات سیستمها ضرورت دارد. در این فصل با نحوه نمایش یک شبکه بهصورت گراف و مبانی گراف شامل درجه رأس¬ها، توزیع درجهها، مسیر، و فاصله بین رأس¬ها آشنا خواهیم شد. همچنین تفاوتهای بین گرافهای وزندار، جهتدار، و دوبخشی را خواهیم آموخت. مبانی نظری گراف و نمادهایی که در این فصل معرفی میشود، در کل کتاب و در فصلهای آتی مورد استفاده قرار میگیرد.
اگر بخواهیم درک درستی از یک سیستم پیچیده به دست آوریم، نخست باید نحوه برهم¬کنش اجزای آن را بشناسیم. بهبیاندیگر، نیاز به یک نقشه از نحوه اتصال اجزای آن که اصطلاحاً به آن نمودار سیمکشی گفته میشود داریم. یک شبکه از مجموعهای از اجزای سیستم، که اغلب آنها را گره یا رأس مینامند، و تعاملات بین آنها، که اغلب پیوند یا یال خوانده میشود، تشکیل میشود (نکته 2-۱). این نحوه توصیف شبکه یک زبان مشترک برای مطالعه شبکهها علیرغم تفاوت در ماهیت، ظاهر، یا دامنه کاربرد آن¬ها ارائه میدهد. همانطور که در شکل 2-۲ نشان داده شده، سه نوع شبکه متفاوت، در قالب شبکه، نمایشی کاملاً یکسان دارند.
شکل ۲-۲ دو پارامتر اصلی شبکه را معرفی میکند:
در شبکههایی که در شکل 2-۲ نشان داده شده، N=۴ و L=۴ است
پیوندها در یک شبکه میتوانند جهتدار یا بدون جهت باشند. برخی سیستمها مانند شبکه وب یا شبکه تماسهای تلفنی پیوندهای جهتدار دارند، هر صفحه وب به یک یا چند صفحه دیگر پیوند دارد. هر تماس تلفنی هم از سوی تماسگیرنده بهطرف مقابل انجام میشود. برخی سیستمهای دیگر مانند روابط دوستانه یا شبکه انتقال برق پیوندهای بدون جهت دارند. در شبکه روابط دوستانه اگر فردی با فرد دیگر در رابطه باشد، فرد دوم هم با فرد اول در رابطه خواهد بود. در خطوط انتقال در شبکه انرژی، جریان برق در هر دو جهت میتواند انتقال یابد.
یک شبکه را جهتدار مینامیم، اگر تمام پیوندهایش جهتدار باشند، و آن را بدون جهت مینامیم، اگر تمام پیوندهایش بدون جهت باشند. برخی شبکهها همزمان هم یالهای جهتدار و هم یالهای بدون جهت دارند. برای مثال، در شبکه متابولیک بعضی از برهمکنشها برگشتپذیر هستند (دوطرفه یا بدون جهت) و بعضی برگشتناپذیر هستند، و تنها در یک جهت قرار میگیرند (جهتدار).
استفاده موفقیتآمیز از علم شبکه برای حل یک مسئله خاص مستلزم این است که بتوانیم سیستم مورد نظر را با یک شبکه مناسب طراحی و مدل کنیم. به عبارتی باید بتوانیم مفاهیمی را که نقش گره و پیوند را بازی می کنند به درستی انتخاب کنیم. برای مثال، نحوه تعریف پیوند بین افراد منجر به ایجاد شبکه¬های مختلفی می¬شود:
بااینکه پیوندهای زیادی در این چهار شبکه همپوشانی دارند (بعضی از همکاران ممکن است باهم دوست باشند یا رابطه داشته باشند)، این شبکهها کاربردها و اهداف متفاوتی خواهند داشت.
همچنین ممکن است شبکهای بسازیم که از دیدگاه نظریه گراف پذیرفته شود، اما در عمل کاربرد چندانی نداشته باشد. برای مثال اگر همه افرادی را که نام کوچک آنها یکی است به هم متصل کنیم، گرافی به دست میآید که تمام قواعد نظریه گراف را رعایت میکند و میتوان ویژگیهایش را با استفاده از ابزارهای علم شبکه تحلیل کرد، اما چنین شبکه¬ای کاربرد مشخصی ندارد. بنابراین، برای به¬کار¬بستن نظریه شبکه روی یک سیستم، انتخاب گرهها و پیوندها باید با دقت انجام شود، تا با مسئلهای که میخواهیم حل کنیم، مرتبط باشند.
در این کتاب ما برای نشان دادن ابزارهای علوم شبکه از ده شبکه استفاده خواهیم کرد. این شبکههای مرجع که شامل سیستمهای اجتماعی (گراف تماس تلفن همراه یا شبکه پست الکترونیکی)، شبکههای همکاری (همکاری علمی یا شبکه بازیگران هالیوود)، سیستمهای اطلاعاتی (وب)، سیستمهای فناوری و زیرساختی (اینترنت و شبکه توزیع برق)، سیستمهای بیولوژیکی (شبکه برهم¬کنش¬های پروتئینی و متابولیک)، و شبکههای ارجاع (ارجاع به مقالات علمی) هستند در جدول 2-۱ فهرست شدهاند. اندازه این شبکهها کاملا با هم متفاوت است: از ۱۰۳۹ گره در شبکههای متابولیک E coli گرفته تا حدود نیم میلیون گره در شبکههای ارجاعات علمی. همانطور که در جدول 2-۱ نشان داده شده، تعدادی از این شبکهها جهتدار و تعدادی بدون جهت هستند. در فصلهای بعدی بهمنظور فهم شبکههای پیچیده، در مورد ویژگیها و ماهیت هرکدام از این شبکه بهتفصیل بحث خواهیم کرد.
| شبکه | گره ها | پیوند ها | جهتدار / بدون جهت | N | L | ‹K› |
|---|---|---|---|---|---|---|
| شبکه اینترنت | دستگاه های روتر | ارتباطات اینترنتی | بدون جهت | 192,244 | 609,066 | 6.34 |
| شبکه جهانی وب | صفحات وب | پیوند ها | جهتدار | 325,729 | 1,497,134 | 4.60 |
| شبکه برق قدرت | نیروگاه ها و ترانسفورماتورها | کابل ها | بدون جهت | 4,941 | 6,594 | 2.67 |
| تماس های تلفن همراه | مشترکین | تماس های تلفنی | جهتدار | 36,595 | 91,826 | 2.51 |
| پست الکترونیکی | آدرس ایمیل | ایمیل ها | جهتدار | 57,194 | 103,731 | 1.81 |
| همکاری های علمی | دانشمندان | مقالات مشترک | بدون جهت | 23,133 | 93,437 | 8.08 |
| شبکه هنرپیشگان | هنرپیشگان | بازی در فیلم مشترک | بدون جهت | 702,388 | 29,397,908 | 83.71 |
| شبکه ارجاعات علمی | مقالات | ارجاع به مقاله | جهتدار | 449,673 | 4,689,479 | 10.43 |
| متابولیسم باکتری اشریشیا کُلی | متابولیتها | واکنش های شیمیایی | جهتدار | 1,039 | 5,802 | 5.58 |
| برهمکنش پروتئین ها | پروتئین ها | پیوند | بدون جهت | 2,018 | 2,930 | 2.90 |
ویژگیهای اصلی ده شبکه که در این کتاب برای نمایش ابزارهای علم شبکه استفاده میشوند.
این جدول ماهیت گرهها و پیوندهای این شبکهها را با نشان دادن جهتدار یا بدون جهت بودن پیوندها، تعداد گرهها (N) و پیوندها (L)، و میانگین درجه هر شبکه فهرست میکند. برای شبکههای جهتدار میانگین درجهها عبارت است از میانگین درجههای ورودی یا خروجی (رابطه (۲-۵) را ببینید). ‹k› = ‹kin›=‹kout›
ویژگی کلیدی هر گره درجه آن است، که بیانگر تعداد پیوندهایی است که با دیگر گرهها دارد. درجه میتواند بیانگر تعداد مخاطبین تلفن همراه یک فرد در گراف تماس تلفنی (تعداد افراد مختلفی که فرد با آنها تماس برقرار کرده)، یا تعداد ارجاعات دریافتی یک مقاله در شبکه ارجاعات علمی باشد.
درجه iامین گره در شبکه را با ki نمایش میدهیم. برای مثال، برای گراف بدون جهتی که در شکل۲-۲ نمایش داده شده، داریم: k1=2, k2=3, k3=2, k4=1
در یک گراف بدون جهت تعداد کل پیوندها را میتوان با جمع درجه¬های همه گرهها محاسبه کرد:
در اینجا ضریب ۲\۱ به این دلیل استفاده میشود که در جمع (2-۱) هر پیوند دو بار شمرده میشود. برای مثال، پیوندی که در شکل۲-۲ گرههای ۲ و ۴ را به هم وصل میکند، یکبار در درجه گره ۲ و یکبار در درجه گره ۴ لحاظ میشود.
یک ویژگی مهم شبکه، میانگین درجههایش است(نکته ۲-۲)، که برای شبکههای بدون جهت عبارت است از:
در شبکههای جهتدار بین درجه ورودی kiin ، که بیانگر تعداد پیوندهایی است که به گره i اشاره میکنند، و درجه خروجی kiout، که بیانگر تعداد پیوندهایی است که از سمت گره i به دیگر گرهها اشاره می¬کند، تمایز قائل میشویم. درنهایت درجه کلی یک گره، ki ، عبارت است از:
فاکتور ۲\۱ که در رابطه (۲-۱) استفاده شده بود، اینجا وجود ندارد، زیرا در گراف جهتدار، دو جمع موجود در رابطه (2-۴) درجههای ورودی و خروجی را بهطور جداگانه شمارش میکنند. میانگین درجه شبکه جهتدار عبارت است از:
توزیع درجه، pk ، عبارت است از احتمال اینکه درجه یک گره که بهطور تصادفی انتخاب شده، برابر با k باشد. ازآنجاییکه pk یک احتمال است، باید نرمال¬سازی شود:
برای یک شبکه با N گره، توزیع درجات یک هیستوگرام نرمال¬سازی¬شده است (شکل 2-3)، که عبارت است از:
که در آن Nk عبارت است از تعداد گرههای با درجه k. بنابراین تعداد گرههای با درجه k با استفاده از توزیع درجه Nk = Npk. به دست میآید.
با کشف شبکههای بدون مقیاس، توزیع درجات اهمیت ویژهای در نظریه شبکه پیدا کرد. یکی از دلایل آن این است که محاسبات بسیاری از مشخصات شبکهها نیازمند دانستن pk است. برای مثال، میانگین درجه یک شبکه را میتوان به شکل زیر نوشت:
دلیل دیگر این است که مطالعه شکل کارکردی دقیق pk تعیینکننده بسیاری از پدیدههای شبکه، از تاب¬آوری شبکه گرفته تا انتشار ویروسها است.
برای مدل کردن یک شبکه باید اطلاعات یالهای آن را به نحوی نگهداری کرد. سادهترین راه این است که لیست کاملی از پیوندها نگهداری شود. برای مثال شبکه شکل 2-۲ با استفاده از لیست چهار پیوندش: {(2،4)، (2،3)، (1،3)، (1،2)} بهطور یکتا تعریف میشود. در ریاضیات اغلب یک شبکه را با ماتریس مجاورت نمایش میدهیم. ماتریس مجاورت یک شبکه جهتدار با N گره شامل N سطر و N ستون است، و درایه¬های آن عبارتاند از:
• Aij = 1 اگر از گره i به گره j یال وجود داشته باشد.
• Aij = 0 اگر بین گرههای i و j یالی وجود نداشته باشد.
در ماتریس مجاورت یک گراف بدون جهت، هر یال دوبار تکرار می شود، برای مثال پیوند (2,1) به شکل A12=1 و A21=1 نمایش داده میشود. بنابراین ماتریس گراف بدون جهت، متقارن است،Aij = Aji (شکل 2-۵ ب) .
درجه ki برای گره i را میتوان مستقیماً از ماتریس مجاورت به دست آورد. برای شبکههای بدون جهت درجه گره عبارت است از مجموع مقادیر درایه¬ها روی سطرها یا ستونها:
برای شبکههای جهتدار مجموع مقادیر درایه¬ها روی سطرها و ستونها به ترتیب درجههای ورودی و خروجی را بیان میکند:
با توجه به اینکه در گراف بدون جهت تعداد یال¬های ورودی و خروجی باهم برابر است، داریم:
تعداد عناصر غیر صفر ماتریس مجاورت دو برابر تعداد یالها یا همان 2L است. درواقع یک یال بدون جهت که گرههای i و j را به هم وصل میکند، دو بار در ماتریس ظاهر میشود: Aij = 1 ، پیوندی که از j به i اشاره میکند، و Aji = 1 ، پیوندی که از i به j اشاره میکند (شکل 2-۵ ب) .
در شبکههای واقعی تعداد گرهها (N) و تعداد پیوندها (L) میتوانند بسیار متنوع باشند. برای مثال در شبکه عصبی کرم الگانس سی، که تنها سیستم عصبی از یک موجود زنده است که نقشه آن موجود است، N = 302 نورون (گره) وجود دارد. در مقابل تخمین زده میشود که مغز انسان حدود صد میلیارد نورون (N ≈ 1011) داشته باشد. شبکه ژنتیک سلولی انسان حدود ۲۰،۰۰۰ ژن بهعنوان گره دارد، شبکه اجتماعی شامل هفت میلیارد نفر (N ≈ 7×109) ، و وب حدودا بیش از یک تریلیون صفحه (N > 1012) دارد.
این تفاوتهای گسترده در اندازه شبکهها در جدول 2-۱ نشان داده شده است و تعداد گرهها و یالها برای برخی از شبکههای معروف در این جدول آورده شده است. تعدادی از این نقشهها مانند شبکه بازیگران، یا شبکه متابولیک نمودار سیمکشی کل سیستم مربوطه را ارائه میدهند، درحالیکه نقشه بقیه شبکه¬ها مانند وب یا گراف تماس تلفن همراه، تنها بخشی از کل شبکه را نشان میدهد.
جدول 2-۱ نشان میدهد که تعداد پیوندها نیز تفاوتهای گستردهای دارد. در یک شبکه که شامل N گره است، تعداد پیوندها میتواند بین L = 0 و Lmax تغییر کند، که در آن:
عبارت است از تعداد کل یالهای موجود در یک گراف کامل با اندازه N (شکل 2-6). در یک گراف کامل هر گره به تمام گرههای دیگر متصل است.
در شبکههای واقعی L خیلی کوچکتر از Lmax است، که نشان می¬دهد بیشتر شبکههای واقعی تُنک هستند. یک شبکه را تنک مینامیم، اگر L‹‹ Lmax باشد. برای مثال، گراف وب در جدول 2-۱حدود ۱.۵ میلیون پیوند دارد. اما اگر وب یک گراف کامل بود، باید طبق رابطه 2-۱۲ به تعداد Lmax ≈ 5x1010 پیوند میداشت. بدین ترتیب، گراف وب تنها کسر 3x10-5 از کل پیوندهای ممکن را دارد. این مطلب برای همه شبکههای جدول 2-۱ صحیح است: میتوان بررسی کرد که تعداد پیوندهای آنها تنها کسر کوچکی از تمام پیوندهای ممکن برای یک گراف کامل با همان تعداد گره است.
تُنک بودن شبکههای واقعی بدین معناست که ماتریسهای مجاورت هم تُنک هستند. در یک گراف کامل به ازای تمام i و j ها Aij = 1 است، بنابراین تمام درایههای ماتریس نیز با 1 پر میشود. در عوض در شبکههای واقعی تنها بخش کوچکی از درایههای ماتریس مجاورت مقداری غیر 0 دارند. این موضوع در شکل 2-7 نشان داده شده است. این شکل ماتریس مجاورت شبکه برهم-کنش پروتئین-پروتئین مطرح¬شده در جدول 2-۱ و شکل 2-4 (الف) را نشان میدهد. مشاهده میشود که این ماتریس تقریباً خالی است.
تنک بودن ماتریس یک نتیجه مهم را در پیمایش و ذخیرهسازی شبکههای واقعی به دنبال دارد. وقتی یک شبکه بزرگ را در کامپیوتر ذخیره میکنیم، بهتر است بهجای ذخیره کل ماتریس مجاورت، فقط لیست پیوندهای موجود را ذخیره کنیم (عناصری که برای آنها Aij ≠ 0)، چراکه بخش بزرگی از عناصر Aij صفر هستند. بنابراین نمایش ماتریسی بخش عظیمی از حافظه را هدر خواهد داد، درحالیکه بخش عمده آن با صفر پر شده است (شکل 2-۷).
تاکنون تنها در مورد شبکههایی بحث کردیم که وزن تمام یالهای آن¬ها یکسان بود، Aij = 1. در بسیاری از کاربردها نیاز به مطالعه شبکههای وزندار داریم، که در آن هر پیوند (i,j) یک وزن یکتا wij دارد. در شبکههای تماس تلفن همراه، وزن میتواند نشاندهنده مجموع دقایقی باشد که دو نفر با تلفن همراه باهم صحبت کرده¬اند، در شبکه انرژی، وزن نشاندهنده مقدار جریانی است که در طول خط انتقال مییابد.
برای شبکههای وزندار درایه¬های ماتریس مجاورت، حامل وزن پیوندها هستند:
بیشتر شبکههایی که ازنظر علمی موردتوجه قرار می¬گیرند، وزندار هستند، اما همیشه اندازهگیری وزنها میسر نیست. بنابراین اغلب این شبکهها، به عنوان گراف بدون وزن در نظر گرفته میشوند. در این کتاب ما عمدتاً روی شبکههای بدون وزن متمرکز میشویم، اما هر زمان لازم بود، در مورد اینکه چگونه وزنها خاصیت شبکه را تغییر میدهند نیز بحث میکنیم (نکته 2-۳).
یک گراف دوبخشی گرافی است که گرههایش به دو مجموعه مجزای U و V تقسیم میشوند، بهطوریکه هر پیوند یک گره از U را به یک گره از V وصل میکند. بهبیاندیگر، اگر گرههای U را با سبز و گرههای V را با بنفش رنگآمیزی کنیم، هر پیوند باید گرههای با رنگهای متفاوت را به هم وصل کند (شکل 2-۹).
برای شبکه دوبخشی میتوان دو طرح ارائه داد. در طرح اول دو گره U به هم متصل میشوند، اگر در نمایش دوبخشی، هردوی آنها به یک گره از V متصل باشند. در طرح دوم دو گره از V به هم متصل میشوند، اگر هردوی آنها به یک گره از U متصل شده باشند (شکل 2-۹).
در نظریه شبکه با تعداد زیادی شبکه دوبخشی سروکار داریم. یکی از شبکههای معروف، شبکه بازیگران هالیوود است که یک مجموعه از گرهها (U) به فیلمها و مجموعه دوم (V) به بازیگران اختصاص دارد. یک فیلم به یک بازیگر متصل میشود اگر آن بازیگر در آن فیلم بازی کرده باشد. یک تصویر از این شبکه، شبکه بازیگران است که در آن دو گره (بازیگر) به هم متصل هستند اگر هر دو در یک فیلم بازی کرده باشند. این شبکه در جدول 2-1 نشان داده شده است. تصویر دیگر شبکه فیلمها است که در آن دو فیلم به هم متصل میشوند اگر حداقل یک بازیگر مشترک داشته باشند.
یکی دیگر از شبکههای دوبخشی، شبکه بیماریهای انسان است که به حوزه پزشکی بازمی¬گردد. این شبکه بیماریها را به ژنهایی که جهش آنها منجر به آن بیماری میشود، متصل میکند (شکل 2-10).
علاوه بر این، امکان تعریف شبکههای چندبخشی نیز وجود دارد. بهعنوانمثال شبکه سهبخشی دستور پخت-مواد لازم-ترکیب که در شکل 2-11 نشان داده شده است.
فاصله فیزیکی نقش مهمی در تعیین تعاملات بین اجزای سیستمهای فیزیکی ایفا میکند. برای مثال فاصله بین دو اتم در یک کریستال، یا دو کهکشان در عالم هستی میزان ارتباط بین آنها را تعیین میکند.
در شبکهها، فاصله مفهوم چالشبرانگیزی است. در حقیقت، ماهیت فاصله بین دو صفحه وب، یا دو فردی که همدیگر را نمیشناسند چیست؟ در اینجا مفهوم فاصله به فاصله فیزیکی ارتباطی ندارد: دو صفحه وب میتوانند روی کامپیوترهایی در دو طرف جهان نشانده شوند، اما به یکدیگر پیوند داشته باشند. همانطور که دو فرد میتوانند در یک ساختمان زندگی کنند، اما همدیگر را نشناسند.
در شبکه فاصله فیزیکی با طول مسیر جایگزین میشود. یک مسیر عبارت است از خط سیری که در طول پیوندهای شبکه حرکت میکند. طول یک مسیر عبارت است از تعداد پیوندهایی که در آن مسیر قرار دارند (شکل 2-۱۲a). برخی از متون الزام دارند که هیچ گرهی در یک مسیر دو بار تکرار نشود.
در علم شبکه مسیرها نقش کلیدی ایفا میکنند. در بخش بعدی در مورد مهمترین ویژگیهای آن¬ها بحث میکنیم بیشتر این ویژگی¬ها در (شکل 2-۱۳) خلاصه شدهاند.
کوتاهترین مسیر بین دو گره i و j مسیری است با کمترین تعداد پیوند (شکل 2-۱۲b). کوتاهترین مسیر را اغلب فاصله بین گرههای i و j مینامند، و با dij یا d نمایش میدهند. میتوان بین یک جفت گره چندین کوتاهترین مسیر با طول یکسان داشت (شکل 2-۱۲b). کوتاهترین مسیر هیچگاه شامل حلقه یا طوقه نمیشود.
در یک شبکه بدون جهت dij = dji است، بدین معنی که فاصله بین گره i و j با فاصله بین گره j و i برابر است. در یک شبکه جهتدار اغلب dij ≠ dji است. بهعلاوه، در یک شبکه جهتدار وجود یک مسیر از گره i به گره j به معنای وجود مسیر از گره j به گره i نیست.
در شبکههای واقعی معمولاً نیاز به تعیین فاصله بین دو گره داریم. برای یک شبکه کوچک مانند شبکهای که در شکل 2-۱۲ نشان داده شده، این کار آسان است. برای شبکهای با میلیونها گره، پیدا کردن کوتاهترین مسیر بین دو گره میتواند زمانبر باشد. طول کوتاهترین مسیر و تعداد این مسیرها را میتوان با استفاده از ماتریس مجاورت به دست آورد (نکته 2-۴). در عمل برای این کار از الگوریتم جستجوی سطح-اول (BFS) که در نکته 2-۵ در مورد آن بحث شده، استفاده میکنیم.
قطر یک شبکه که با dmax نشان داده میشود، عبارت از بیشینه کوتاهترین مسیر در شبکه است. بهبیاندیگر، قطر شبکه طولانیترین فاصلهای است که بین هر دو گره در شبکه مشاهده شده است. میتوان بررسی کرد که قطر شبکه نشان داده شده در شکل 2-۱۳ برابر با dmax = 3 است. برای شبکههای بزرگتر قطر شبکه را میتوان با استفاده از الگوریتم جستجوی سطح-اول که در نکته 2-۵ شرح داده شده، تعیین کرد.
میانگین طول مسیر که با
دقت کنید که رابطه (۲-۱۴) تنها برای جفت گرههایی که در یک مؤلفه قرار دارند، قابل اندازهگیری است (بخش ۲-۹). میتوانیم برای تعیین میانگین فاصله در شبکههای بزرگ از الگوریتم BFS استفاده کنیم. بدین منظور، ابتدا فاصله اولین گره تا دومین گره و تمام گرههای دیگر را با استفاده از الگوریتم نکته 2-۵ محاسبه میکنیم. سپس فاصله گره دوم و تمام گرههای دیگر بهجز گره اول را محاسبه میکنیم (اگر شبکه بدون جهت باشد). سپس همین روند را برای تمام گرههای دیگر تکرار میکنیم.
اگر با استفاده از یک تلفن نتوانیم با هر شماره معتبری تماس برقرار کنیم، آن تلفن یک وسیله ارتباطی با کاربری محدود خواهد بود، همچنین پست الکترونیکی هم اگر با استفاده از آن نتوانیم به هر آدرسی رایانامه ارسال کنیم، بلااستفاده به شمار میآید. از دیدگاه شبکه این امر بدین معنی است که شبکه پشت تلفن یا پست الکترونیکی باید قابلیت برقراری ارتباط و ساخت مسیر بین هر دو گره دلخواه را داشته باشد. درواقع این مسئله کلیدی کارایی بیشتر شبکهها به شمار میآید: شبکه باید همبندی را تضمین کند. در این بخش مبانی نظری همبندی را در نظریه گراف توضیح میدهیم.
در یک شبکه بدون جهت گرههای i و j به هم متصل هستند، اگر مسیری بین آنها وجود داشته باشد. این گرهها از هم جدا هستند، اگر چنین مسیری وجود نداشته باشد، که در این صورت داریم: dij = ∞. این مفهوم در شکل 2-۱۵a ، که شبکهای با دو خوشه مجزا است، نشان داده شده است. درحالیکه بین هر دو گره در یک خوشه مسیری وجود دارد (برای مثال گرههای ۴ و ۶)، بین گرههایی که متعلق به خوشههای مجزا هستند(گرههای ۱ و ۶)، هیچ مسیری وجود ندارد.
یک شبکه همبند است، اگر تمام جفت گرههای شبکه به هم متصل باشند. یک شبکه ناهمبند است اگر حداقل یک جفت گره وجود داشته باشد، که به ازای آن dij = ∞ باشد. واضح است که شبکه نشان داده شده در شکل 2-۱۵a ناهمبند است. دو زیرشبکه آن را مؤلفه یا خوشه مینامیم. یک مؤلفه، زیرمجموعهای از گرههای شبکه است، بهطوریکه بین هر دو گره متعلق به آن مؤلفه مسیری وجود داشته باشد، اما نتوان گرههای بیشتری به این مجموعه اضافه کرد و درعینحال این خاصیت حفظ شود.
اگر یک شبکه شامل دو مؤلفه باشد، با استفاده از یک پیوند میتوان آنها را به هم متصل کرد، و بدین ترتیب شبکه را همبند نمود (شکل 2-۱۵b). چنین پیوندی را پل مینامند. در کل پل عبارت است از هر پیوندی که اگر حذف شود، شبکه نا¬همبند گردد.
درحالیکه برای یک شبکه کوچک، از طریق جستجوی بصری میتوان فهمید که آیا شبکه همبند است یا نه، برای شبکههایی که شامل میلیونها گره هستند، همبند یا ناهمبند بودن شبکه یک مسئله چالشبرانگیز است. ابزارهای ریاضیاتی و الگوریتمی میتواند در شناسایی مؤلفههای همبند به ما کمک کنند. برای مثال، ماتریس مجاورت یک شبکه ناهمبند میتواند به شکل قطری-بلوکی بازچینی شود، بهطوریکه تمام عناصر غیر صفر ماتریس در بلوکهای مربعی در طول قطر ماتریس قرار گیرد و سایر عناصر صفر باشند (شکل 2-۱۵ a ). هر بلوک مربعی متناظر با یک مؤلفه است. با استفاده از ابزارهای جبر خطی میتوان تشخیص داد که آیا یک ماتریس قطری-بلوکی است یا نه، و بدین ترتیب مؤلفههای همبندی را شناسایی کرد.
در عمل، الگوریتم BFS روش کارآمدتری برای شناسایی مؤلفههای همبندی در شبکههای بزرگ به شمار می¬آید.
ضریب خوشهبندی بیان میکند که همسایگان یک گره با چه درجهای به همدیگر متصل شدهاند. برای یک گره i با درجه kiضریب خوشهبندی محلی طبق رابطه زیر تعریف میشود [۱۲]:
که در آن Li عبارت است از تعداد پیوندهای بین ki همسایه گره i. دقت کنید که مقدار Ci بین ۰ و ۱ است (شکل 2-۱۶a):
بهطور خلاصه، Ci چگالی پیوندهای محلی شبکه را اندازهگیری میکند: هرچه همسایههای گره i با چگالی بیشتری به هم متصل باشند، ضریب خوشهبندی محلی آن بالاتر است.
درجه خوشهبندی کل شبکه با میانگین ضریب خوشهبندی،
درجه خوشه¬بندی 〈C〉 عبارت است از احتمال اینکه دو همسایه یک گره دلخواه به هم متصل باشند.
بااینکه رابطه (2-۱۶) برای شبکههای بدون جهت تعریف شده، میتوان آن¬را برای گرافهای جهتدار و وزندار نیز تعمیم داد [۱۳،۱۴،۱۵،۱۶]. در متون مربوط به شبکه با ضریب خوشهبندی سراسری نیز مواجه می¬شویم که در بخش موضوعات پیشرفته 2-A در مورد آن بحث شده است.
مباحثی که در این فصل ارائه شد، برخی از مفاهیم پایهای نظریه گراف و ابزارهای مورداستفاده در علم شبکه را معرفی نمود. مجموعه مشخصات پایهای شبکه که بهطور خلاصه در شکل 2-۱۷ بیان شده است، زبان رسمی علم شبکه را فراهم میآورد که میتوان از آن برای مطالعه شبکهها استفاده کرد.
بسیاری از شبکههایی که در علم شبکه آنها را مطالعه میکنیم، شامل هزاران یا حتی میلیونها گره و پیوند هستند (جدول 2-۱). برای کاوش این شبکهها، نیاز داریم از گرافهای کوچکی که در شکل 2-۱۷ نشان داده شده، فراتر برویم. در شبکه پروتئین-پروتئین مخمر شکل 2-۴aa، یک چشمانداز اجمالی از مباحثی که قرار است مطرح شود، ارائه شده است. شبکه پیچیدهتر از آن است که با بررسی بصری بتوان ویژگیهایش را فهمید. بنابراین نیاز داریم تا برای مشخص کردن توپولوژی آن به ابزارهای علوم شبکه رویآوریم.
در علم شبکه اغلب شبکهها را با برخی ویژگیهای اساسی گراف از هم متمایز میکنیم. در این شکل متداولترین نوع شبکهها به اجمال مرور شده است. بسیاری از شبکههای واقعی ترکیبی از این ویژگیهای اساسی را دارند. برای مثال، وب یک شبکه جهتدار چندگرافی با ویژگی پیوند به خود (طوقه) است، شبکه تماس تلفن همراه یک شبکه جهتدار و وزندار، و بدون طوقه است.
گراف بدون جهت
شبکهای که پیوندهایش جهت مشخصی ندارند.
مثال: اینترنت، شبکه توزیع برق، شبکه همکاری علمی
طوقه
در بسیاری از شبکهها گرهها با خودشان تعاملی ندارند، بنابراین درایههای قطری ماتریس مجاورت صفر هستند، Aii = 0, i = 1,2,…N. در برخی سیستمها امکان تعامل با خود وجود دارد، ارتباط یک گره با خودش را طوقه یا خود-پیوندی می¬نامیم.
مثال: وب، شبکه برهمکنش پروتئینها.
گراف چندگانه/ گراف ساده
در یک گراف چندگانه گرهها میتوانند چندین پیوند باهم داشته باشند (پیوندهای موازی). بنابراین Aii میتواند هر مقدار صحیح مثبتی بگیرد. به شبکههایی که اجازه پیوند چندگانه ندهند، شبکههای ساده میگویند.
مثالی از گراف چندگانه: شبکههای اجتماعی، که در آن روابط دوستی، خانوادگی و حرفهای را متمایز میکنیم.
شبکه جهتدار
شبکهای که پیوندها جهت مشخص دارند.
مثال: وب، تماسهای تلفن همراه، ارجاعات علمی.
شبکه وزندار
شبکهای که به پیوندهایش وزن، قدرت، یا پارامتر جریان تخصیص مییابد. اگر بین گره i و j پیوندی با وزن wijباشد، درایه¬های ماتریس مجاورت، به شکل Aij = wij خواهند بود. برای شبکههای بدون وزن (باینری)، ماتریس مجاورت تنها نشاندهنده وجود (Aij = 1) یا عدم وجود (Aij = 0) پیوند است.
مثال: تماسهای تلفن همراه، شبکه پست الکترونیکی.
گراف کامل (کلیک)
در یک گراف کامل یا کلیک، تمام گرهها به هم متصل هستند.
مثال: بازیگرانی که در یک فیلم بازی میکنند، که در شبکه بازیگران همگی به هم متصل هستند.
اجازه دهید از معیارهایی که تاکنون معرفی کردهایم، برای کشف برخی از ویژگیهای اساسی این شبکهها استفاده کنیم. گراف بدون جهتی که در شکل 2-4a نمایش داده شده، تعداد N = 2,018 پروتئین بهعنوان گره، و L = 2,930 برهم¬کنش بهعنوان پیوند دارد. بنابراین طبق (2-۲)، میانگین درجاتش برابر با
الگوریتم جستجوی سطح- اول (نکته 2-۵) به ما کمک ميکند قطر شبکه (14=dmax ) را محاسبه کنیم. ممکن است انتظار تغییر گستردهای در فاصله را داشته باشیم، چراکه برخی گرهها به یکدیگر نزدیک هستند، درحالیکه دیگر گرهها ممکن است از یکدیگر دور باشند. توزیع فاصله (شکل 2-۱۸a) نشان میدهد pd مقدار حداکثری بین ۵ و ۶ دارد، یعنی بیشتر فاصلهها کوتاه، و در حدود
الگوریتم جستجوی سطح اول همچنین نشان میدهد که شبکه برهم¬کنش پروتئینی هم¬بند نیست و شامل ۱۸۵ مؤلفه است که به شکل خوشه و گرههای مجزا در شکل 2-۴a نشان داده شدهاند. بزرگترین آنها که به آن مؤلفه غولپیکر میگویند، ۱،۶۴۷ گره از ۲،۰۱۸ گره را شامل میشود، و بقیه مؤلفهها کوچک هستند. همانطور که در فصلهای بعدی خواهیم دید، وجود این نسبت از گرهها در یک مؤلفه در شبکه¬های واقعی رایج است.
میانگین ضریب خوشهبندی یک شبکه برهم¬کنش پروتئینی برابر است با
درنهایت بررسی بصری شبکه الگوی جالبی را نشان میدهد: هابها تمایل دارند که به گرههای کوچک متصل شوند (شکل 2-۴a) و شبکه را به شکل منظومه شمسی درآورند (قطب و اقمار). این امر نتیجه همبستگیهای درجهای است که در فصل ۷ بررسی شده است. چنین همبستگیهایی روی تعدادی از فرایندهای مبتنی بر شبکه، از پدیده انتشار گرفته تا تعداد گرههای موردنیاز برای کنترل شبکه تأثیر میگذارد.
شکلهای 2-۴ و 2.18 باهم نشان میدهند که کمیتهایی که در این فصل معرفی کردیم، میتوانند در تشخیص تعدادی از ویژگیهای کلیدی شبکههای واقعی مفید باشند. هدف فصلهای آینده مطالعه نظام¬مند این ویژگیهای شبکهها و تفسیر ارتباط آن¬ها با سیستمهای پیچیده خاص است.
کدام مورد از شکل 2-۱۹ را میتوانید بدون برداشتن مداد از روی کاغذ بکشید، درحالیکه از روی هیچ خطی بیشتر از یکبار عبور نکنید؟ چرا؟
فرض کنید A یک ماتریس مجاورت NxNبرای یک شبکه بدون جهت، بدون وزن و بدون طوقه است. فرض کنید ۱ یک بردار ستونی از N درایه باشد که همگی برابر با ۱ هستند. بهبیاندیگر، 1 =T(1, 1, ..., 1) ) ، که در آن T نشاندهنده عملگر ترانهاده است. عبارات زیر را با استفاده از عملگرهای ریاضی و ماتریسی مانند ضرب یک عدد ثابت، ضرب سطر در ستون و ترانهاده بهغیراز نماد جمع S، بنویسید:
ماتریس مجاورت برای بسیاری از محاسبات تحلیلی، روش مناسبی از مدل¬سازی گراف است. اما زمانی که نیاز داریم یک شبکه را در کامپیوتر ذخیره کنیم، میتوانیم از لیست پیوندی در قالب ماتریس Lx2، که سطرهای آن شامل گرههای شروع و پایان i و j از هر پیوند هستند، استفاده کنیم. بدین ترتیب در مصرف حافظه صرفهجویی خواهد شد. لیست پیوندی مذکور را برای شبکههای (a) و (b) در شکل 2-۲۰ ایجاد نمایید:
شبکه دوبخشی شکل 2-۲۱ را در نظر بگیرید.
یک شبکه دوبخشی با N1 و N2 گره را در دو مجموعه در نظر بگیرید.
در متون مربوط به علم شبکه گاهی با ضریب خوشهبندی سراسری مواجه میشویم، که تعداد کل مثلثهای بسته در شبکه را اندازه میگیرد. درواقع Li در رابطه (2-۱۵) عبارت است از تعداد مثلثهایی که گره i در آن شرکت دارد، بهطوریکه هر پیوند بین دو همسایه i مثلث را ببندد (شکل 2-۱۷). بنابراین درجه خوشهبندی سراسری شبکه را میتوان با استفاده از ضریب خوشهبندی سراسری به دست آورد:
که در آن سهتاییهای متصل عبارت است از مجموعه مرتب از سه گره ABC بهطوریکه A به B و B به C متصل است. برای مثال مثلث A، B، C از سه سهتایی ABC، BCA و CAB تشکیل شده است. در مقابل، زنجیره گرههای متصل A، B، C، که در آن B به A و C متصل است، اما A به C متصل نیست، یک سهتایی باز ABC را تشکیل میدهد. ضریب ۳ در رابطه (2-۱۷) به این دلیل آمده که هر مثلث در شمارش سهتاییها سه بار شمرده میشود. ریشه ضریب خوشهبندی سراسری به متون مربوط به شبکههای اجتماعی در دهه ۱۹۴۰ [۱۷، ۱۸] برمیگردد، که در آن CΔ اغلب نسبت سهتاییهای تراگذر خوانده میشود.
دقت کنید که میانگین ضریب خوشهبندی ‹C› که در (2-۱۶) تعریف شده، و ضریب خوشهبندی سراسری (2-۱۷) معادل نیستند. شبکهای دو ستاره با N گره را در نظر بگیرید که در آن گرههای ۱ و ۲ به یکدیگر و به تمام گرههای دیگر متصل هستند و هیچ پیوند دیگری در شبکه وجود ندارد. ضریب خوشهبندی محلی Ci برای i ≥ 3 برابر با ۱ است، و برای i=1,2 برابر است با 2/(N-1). بنابراین میانگین ضریب خوشهبندی شبکه برابر است با
[1] K.-I. Goh, M. E. Cusick, D. Valle, B. Childs, M. Vidal, and A.-L. Barabási. The human disease network. PNAS, 104:8685–8690, 2007.
[2] H.U. Obrist. Mapping it out: An alternative atlas of contemporary cartographies. Thames and Hudson, London, 2014.
[3] I. Meirelles. Design for Information. Rockport, 2013.
[4] K. Börner. Atlas of Science: Visualizing What We Know. The MIT Press, 2010.
[5] L. B. Larsen. Networks: Documents of Contemporary Art. MIT Press. 2014.
[6] L. Euler, Solutio Problemat is ad Geometriam Situs Pertinentis. Commentarii Academiae Scientiarum Imperialis Petropolitanae 8:128-140, 1741.
[7] G. Alexanderson. Euler and Königsberg’s bridges: a historical view. Bulletin of the American Mathematical Society 43: 567, 2006.
[8] A.-L. Barabási and R. Albert. Emergence of scaling in random networks. Science, 286:509–512, 1999.
[9] G. Gilder. Metcalfe’s law and legacy. Forbes ASAP, 1993.
[10] B. Briscoe, A. Odlyzko, and B. Tilly. Metcalfe’s law is wrong. IEEE Spectrum, 43:34–39, 2006.
[11] Y.-Y. Ahn, S. E. Ahnert, J. P. Bagrow, A.-L. Barabási. Flavor network and the principles of food pairing, Scientific Reports, 196, 2011.
[12] D. J. Watts and S. H. Strogatz. Collective dynamics of ‘small-world’ networks. Nature, 393:440–442, 1998.
[13] A. Barrat, M. Barthélemy, R. Pastor-Satorras, and A. Vespignani. The architecture of complex weighted networks. PNAS, 101:3747–3752, 2004.
[14] J. P. Onnela, J. Saramäki, J. Kertész, and K. Kaski. Intensity and coherence of motifs in weighted complex networks. Physical Review E, 71:065103, 2005.
[15] B. Zhang and S. Horvath. A general framework for weighted gene coexpression network analysis. Statistical Applications in Genetics and Molecular Biology, 4:17, 2005.
[16] P. Holme, S. M. Park, J. B. Kim, and C. R. Edling. Korean university life in a network perspective: Dynamics of a large affiliation network. Physica A, 373:821–830, 2007.
[17] R. D. Luce and A. D. Perry. A method of matrix analysis of group structure. Psychometrika, 14:95–116, 1949.
[18] S. Wasserman and K Faust. Social Network Analysis: Methods and Applications. Cambridge University Press, 1994.
[19] B. Bollobás and O. M. Riordan. Mathematical results on scale-free random graphs, in Stefan Bornholdt, Hans Georg Schuster, Handbook of Graphs and Networks: From the Genome to the Internet (2003 Wiley-VCH Verlag GmbH & Co. KGaA).