کات ست در گراف — به زبان ساده
در آموزشهای قبلی مجله فرادرس درباره درخت در گراف بحث شد. در این آموزش قصد داریم مفهوم کات ست در گراف را بررسی کنیم. اگر با برخی اصطلاحات این آموزش آشنا نیستید، به آموزش «گراف — تعاریف و انواع به زبان ساده» مراجعه کنید.
در ابتدا به بیان یک قضیه ساده راجع به گراف همبند میپردازیم.
قضیه ۱
هر گراف ساده با راس و تعداد یالهای بیشتر از ، همبند است.
در گرافهای همبند همواره این سوال مطرح میشود که همبندی گراف به چه ترتیب است. یک تفسیر ساده این است که پرسیده شود چه تعداد یال یا راس باید حذف شود تا گراف ناهمبند شود. این سوالها در این آموزش، پاسخ داده میشود.
مجموعه ناهمبند کننده
یک «مجموعه ناهمبند کننده» (Disconneting Set) در گراف همبند ، به مجموعه یالهایی گفته میشود که حذف آنها باعث ناهمبند شدن گراف میشود. برای مثال گراف زیر را در نظر بگیرید:
در این گراف، مجموعههای و ، مجموعههای ناهمبند کننده گراف هستند. با حذف یالهای دومین مجموعه اشاره شده از این گراف، به گراف ناهمبند زیر خواهیم رسید:
کات ست گراف
«کات ست» (cutset) یک گراف، یک مجموعه ناهمبند کننده است که هیچ زیرمجموعهای از آن ناهمبند کننده نیست. در مثال بالا، مجموعه ناهمبندکننده دوم، کات ست است و مجموعه اول کات ست نیست، به این دلیل که زیرمجموعه از مجموعه اول نیز، ناهمبند کننده است.
باید توجه کرد که با حذف یالهای کات ست، گراف دقیقا به دو مولفه تقسیم میشود.
فرض کنید کات ست گراف، فقط یک یال دارد. این یال، «پل» (Bridge) نامیده میشود. یک مثال از پل در شکل زیر نشان داده شده است:
تعریفهای بالا را میتوان به گرافهای ناهمبند نیز تعمیم داد. مجموعه ناهمبند کننده در گراف ناهمبند ، به مجموعه یالهایی گفته میشود که با حذف آنها، مولفههای گراف افزایش پیدا میکند. به همین ترتیب، کات ست گراف به مجموعه ناهمبند کنندهای گفته میشود که هیچ زیرمجموعهای از آن، ناهمبند کننده نیست.
در گراف همبند ، «همبندی یالها» (Edge Connectivity) به اندازه کوچکترین کات ست گراف گفته میشود. همبندی یالهای گراف با نماد نشان داده میشود. بنابراین کمترین تعداد از یالها است که برای ناهمبند شدن گراف لازم است. در مثال شکل (۱)، داریم:
این عدد، مربوط به کات ست این گراف یعنی است. همچنین اگر باشد، گفته میشود که گراف یک گراف - یال همبند است. بنابراین گراف شکل (۱)، یک یال همبند و دو یال همبند است، اما سه یال همبند نیست.
مجموعه جدا کننده
در این قسمت از آموزش به بررسی این سوال میپردازیم که اگر یک یا چند رأس از گراف حذف شود، چه اتفاقی میافتد. «مجموعه جدا کننده» (Seperating Set) در گراف همبند ، به مجموعه رئوسی گفته میشود که حذف آنها موجب ناهمبند شدن خواهد شد. ذکر این نکته ضروری است که با حذف یک رأس از گراف، یالهای متصل به آن رأس نیز باید حذف شوند.
مثلا در گراف شکل (۱)، مجموعههای و ، مجموعههای جدا کننده گراف هستند. پس از حذف اولین مجموعه جدا کننده از گراف شکل (۱)، گراف ناهمبند زیر حاصل میشود:
اگر مجموعه جداکننده فقط شامل یک رأس باشد، آن را «رأس برشی» (Cut-Vertex) گراف مینامند. همچنان که بیان شد، میتوان این تعریفها را برای گرافهای ناهمبند نیز به کار برد. برای مثال در شکل زیر، رأس یک راس برشی است، زیرا با حذف این رأس کل گراف ناهمبند میشود:
«همبندی رئوس» (Vertex Connectivity) در گراف همبند ، به اندازه کوچکترین مجموعه جدا کننده گراف گفته میشود. همبندی رئوس با نماد نشان داده میشود. بنابراین کمترین تعداد رئوس است که گراف را ناهمبند میکند. در گراف شکل (۱)، است. این عدد مربوط به مجموعه جدا کننده است.
در گراف ، اگر باشد، آن را همبند مینامند. بنابراین گراف شکل (۱)، یک همبند و دو همبند هست اما سه همبند نیست.
میتوان ثابت کرد که اگر یک گراف همبند باشد، آنگاه .
درجه حلقه و درجه کاتست
همانطور که در تعریف درخت پوشا در مبحث درخت در گراف مطرح کردیم، میتوان با در نظر گرفتن گراف همبند و حذف هر یال از حلقه گراف و ادامه این عمل به درخت پوشای گراف رسید.
به طور عمومیتر ، اگر یک گراف دلخواه با رأس و یال و مولفه باشد، میتوان این فرآیند را برای هریک از مولفههای این گراف تکرار کرد. نتیجه این عمل را «جنگل پوشا» (Spanning Forest) مینامند. کل تعداد یالهای حذف شده در این فرآیند، درجه حلقه نامیده میشود. «درجه حلقه» (Cycle Rank) گراف ، با نماد نشان داده میشود. درجه حلقه یک گراف برابر است با:
که در آن، یک عدد صحیح غیر منفی است.
به تعداد یالهای یک جنگل پوشا، «درجه کات ست» (Cutset Rank) گفته میشود. درجه کات ست با نماد نشان داده میشود و برابر است با:
در ادامه چند خاصیت جالب جنگلهای پوشا را ذکر کنیم.
مکمل جنگل پوشای از گراف غیر ساده ، گرافی است که با حذف یالهای از گراف به دست میآید.
قضیه ۲
اگر ، یک جنگل پوشای دلخواه از گراف باشد،
- هر کاتست گراف ، یک یال مشترک با دارد.
- هر حلقه از گراف ، یک یال مشترک با مکمل دارد.
اثبات:
- فرض کنید ، کاتست گراف باشد. حذف این کاتست، یکی از مولفههای را به دو زیر گراف و تقسیم میکند. میدانیم که یک جنگل پوشا است. پس باید شامل یک یال باشد که یک رأس از را به یک راس از متصل میکند. و این یال، یک یال ضروری است.
- فرض کنید ، حلقهای از باشد که هیچ یال مشترکی با ندارد. پس گراف باید حلقه را در برداشته باشد که این گزاره یک تناقض است.
ایده جنگل پوشای از گراف به مجموعه حلقههای بنیادی بسیار مرتبط است.
فرض کنید یک یال به اضافه شود که در وجود دارد، اما در وجود ندارد. به این ترتیب در گراف ، یک حلقه یکتا خواهیم داشت. حال فرض کنید این فرآیند ادامه یابد و به گراف، یالهایی اضافه شود که در جنگل وجود ندارند و در وجود دارند. با اضافه شدن این یالها، مجموعه بنیادی حلقهها مربوط به جنگل تشکیل میشود.
در برخی موارد، ما به این جنگل پوشای خاص تمایلی نداریم، بنابراین این مجموعه را «مجموعه حلقههای بنیادی» (Fundamental Set of Cycles) از گراف مینامیم. ذکر این نکته ضروری است که تعداد حلقههای موجود در هر مجموعه حلقه بنیادی با درجه حلقه گراف ، برابر است.
در شکل زیر یک گراف و درخت پوشای آن نشان داده شده است:
در شکل زیر، زیر مجموعه حلقههای بنیادی گراف شکل (۶) نشان داده شده است:
حال به تعریف یک مجموعه بنیادی از کاتستهای گراف مربوط به جنگل پوشای میپردازیم. با حذف هر یال از ، مجموعه رئوس گراف به دو مجموعه گسسته و تبدیل میشود. مجموعهای از همه یالهای که یکی از رئوس را به یکی از رئوس متصل میکند، کاتست گراف است.
با ادامه این فرآیند و حذف هر یال از ، میتوان به مجموعه کاتستهای مربوط به رسید. تعداد کاتستها در هر مجموعه بنیادی باید با درجه کاتست ، برابر باشد. برای درخت پوشای داده شده در شکل (۶)، مجموعه کاتستهای گراف برابر است با:
^^