ماتریس همسایگی

در ریاضی گسسته و دانش رایانه، ماتریس همسایگی یال‌های میان گره‌های گراف را می‌نمایاند. به سخنی دیگر، ماتریس همسایگی نشان می‌دهد که آیا جفت‌گره‌ها با یالی همسایه‌ی یکدیگرند. در گراف‌های ناساده، این ماتریس شمار یال‌های میان جفت‌گره‌ها را نمایش می‌دهد. برای گراف با گره، اندازه ماتریس همسایگی × است. درایه ماتریس همسایگی برای گرافی ساده نشان می‌دهد که آیا یالی میان دو گره و هست یا نه. در گرافی ناساده، درایه برابر است با شمار یال‌هایی که دو گره و را به هم می‌پیونداند. در گراف ساده، درآیه بودن یالی از گره به خود این گره و در گراف ناساده شمار یال‌هایی از گره به خود این گره را نشان می‌دهد. برای هر گراف، ماتریس همسایگی یکتایی هست.
نمایش گراف با ماتریس همسایگی
در گراف می‌پنداریم که گره‌ها از یک تا شمار گره‌ها ( ) شماره‌گذاری شده‌اند. اگر شمار گره‌های گراف باشد، ماتریس همسایگی درآیه دارد و هر درآیه شمار یال‌های میان گره‌های شماره‌گذاری با و را نشان می‌دهد. اگر گراف ساده باشد، درآیه تنها می‌تواند صفر یا یک باشد. ارزش صفر نشان دهنده نبود یال است و ارزش یک نشان‌دهنده بودن یال.
ویژگی‌های ماتریس همسایگی
ماتریس همسایگی گرافی ساده دارای ویژگی‌های زیر است:
ماتریس همسایگی همامون (متقارن) است.
در گراف کامل، همه درایه‌های ماتریس همسایگی جز درایه‌های قطر یک‌اند.
همه درایه‌های ماتریس همسایگی گرافی تهی صفر اند.
ماتریس همسایگی گراف دو بخشی
برای گرافی دوبخشی که یک بخش دارای گره و بخش دیگر دارای گره است، ماتریس همسایگی چنین است:
زیرماتریس دارای درآیه است و ماتریس و به ترتیب ماتریس‌های صفر با اندازه‌های و هستند. گاه این ماتریس، ماتریس همسایگی دوبخشی نیز خوانده می‌شود.
ویژگی‌ها
ماتریس همسایگی گرافی ساده بی‌سو همامون (متقارن) است و بنابراین مجموعه‌ای کامل از مقدار ویژه‌های حقیقی و یک بردار ویژه متعامد دارد. (basis) مجموعه مقدار ویژه‌های یک گراف، طیف آن گراف را تشکیل می‌دهند.
فرض کنید ۲ گراف (باسو یا با سو) و با ماتریس همسایگی‌های و داده شده‌اند. و هم ریخت (متناظر/isomorphic) اند، اگر و فقط اگر وجود داشته باشد ماتریس جایگشت P به طوری که :
و در خصوصیات شبیه یه یکدیگرند، بنابراین، مینیمم، چندجمله‌ای، چند جمله‌ای ویژه، دترمینان و مجموع عناصر قطر داخلی آنها یکسان است. درنتیجه به عنوان گراف‌های متناظر یکدیگر در نظر گرفته می‌شوند.
با این حال ممکن است دو گراف مجموعه مقدار ویژه‌های برابر داشته باشند ولی متناظر نباشند.
اگر Aماتریس همسایگی گراف باسو یا با سو G باشد، ماتریس تفسیر جالبی دارد: درایه ردیف i ام و ستون j ام، تعداد مسیرهای به طول n بین دو گره و را نشان می‌دهد.
قطر اصلی ماتریس همسایگی هر گراف بدون طوقه‌ای، تماما صفر است.
برای گراف (d)-منتظم (که d همچنین یک مقدار ویژه A هم هست)، برای بردار ، گراف G همبند است اگر و تنها اگر تعدد dها بیش از ۱ نباشد. می‌توان نشان داد که اگر G گراف همبند دوبخشی باشد،–d نیز یک مقدار ویژه آن است. تمام اینها نتایج نظریه پرن-فربنیوس (Perron–Frobenius theorem) است.
این جمله غلط است که: ماتریس I-A (که I ماتریس همانی n×n است) وارون پذیر هستند اگر و فقط اگر هیچ دور مستقیمی در گراف G نباشد. در این مورد، وارون این گراف یعنی چنین تفسیری دارد:
درایه ردیف i ام و ستون j ام، تعداد مسیرهای مستقیم از گره i به گره j را نشان می‌دهد (که اگر دور مستقیمی وجود نداشته باشد، همیشه این تعداد متناهی است.). این را می‌توان با استفاده از سری هندسی برای ماتریس‌ها فهمید :
که این متناظر است با اینکه تعداد مسیرها بین i و j برابر است با تعداد مسیرها به طول ۱ بعلاوه تعداد مسیرها به طول ۲، بعلاوه تعداد مسیرها به طول ۳ الی آخر.
نمونه‌ها
گراف
ماتریس همسایگی
219x219پیکسل
\begin{pmatrix
1 - 1 - 0 - 0 - 1 - 0\\
1 - 0 - 1 - 0 - 1 - 0\\
0 - 1 - 0 - 1 - 0 - 0\\
0 - 0 - 1 - 0 - 1 - 1\\
1 - 1 - 0 - 1 - 0 - 0\\
0 - 0 - 0 - 1 - 0 - 0\\
\end{pmatrix هم‌آرایی‌ها ۱ تا ۶ هستند
250x250پیکسل
250x250پیکسل
هم‌آرایی‌ها ۰ تا ۲۳ هستند. درآیه‌های بی‌رنگ صفر و درآیه‌های رنگی یک را می‌نمایانند. چون گراف بی‌سو است، ماتریس همسایگی همامون (متقارن) است.
250x250پیکسل
گراف کیلی
250x250پیکسل
هم‌آرایی‌ها ۰ تا ۲۳ هستند. درآیه‌های بی‌رنگ صفر و درآیه‌های رنگی یک را می‌نمایانند. چون گراف باسو است، ماتریس همسایگی ناهمامون (نامتقارن) است.
ساختمان داده
در زمینه ساختمان داده، اصلی‌ترین چیزی که با ماتریس همسایگی رقابت می‌کند، لیست همسایگی است. چون هر درایه در ماتریس همسایگی تنها ۱ بیت نیاز دارد، پس می‌توانند به صورت فشرده‌ای تنها با اشغال کردنn۲/۸ فضای پیوسته، نشان داده شوند (که n تعداد گره هاست.). علاوه بر جلوگیری از هدر رفتن فضا، این فشردگی باعث بهبود و نزدیک‌تر شدن مکانی ارجاع‌ها می‌شود.
از طرف دیگر، در گراف‌های کم یال، لیست همسایگی برنده‌است، زیرا آنها برای نشان دادن یال‌هایی که اصلا نبوده‌اند فضایی استفاده نمی‌کنند. با استفاده از یک پیاده سازی ساده با آرایه بر روی یک کامپیوتر ۳۲ بیتی، یک لیست همسایگی برای یک گراف با سو حدود ۸e بایت حافظه نیاز دارد که e تعداد یال هاست.