برش بیشینه

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
یک برش بیشینه.

برش بیشینه در یک گراف، برشی است که اندازه آن از تمام برش‌های ممکن در گراف بزرگتر است.

تعریف[ویرایش]

در نظریه گراف، برش، تقسیم رئوس گراف به دو زیرمجموعه جدا از هم می‌باشد.
"مجموعه-برش" در یک برش، مجموعه یال‌هایی است که دو سر آن‌ها، هر یک، در یک بخش است.
یال‌های "عبور" از یک برش به یال‌هایی گویند که در مجموعه-برش آن باشند.
در گراف بی وزن، اندازه یا وزن یک برش، تعداد یال‌های عبور برش است. و در گراف‌های وزن دار، جمع وزن یال‌های عبور است.
برش بیشینه در یک گراف، برشی است که اندازه آن از تمام برش‌های ممکن در گراف بزرگتر است.
بیان ساده برش بیشینه: برشی که تعداد یال‌های عبور آن بیشینه باشد.
نمونه پیشرفته این مسئله، برش بیشینه وزن دار نامیده می‌شود. در این مورد، به هر یال یک عدد نسبت داده می‌شود (وزن یال) و هدف، یافتن برشی است که وزن یال‌های عبوری آن بیشینه باشد. توجه شود که وزن یال‌ها در این مساله باید مثبت باشد، چون مقادیر منفی حاصل جمع را تضعیف می‌کنند.

پیچیدگی الگوریتم[ویرایش]

به دلیل اینکه مسئله برش بیشینه ان‌پی کامل است، هیچ الگوریتمی از مرتبه چند جمله‌ای برای برش بیشینه شناخته نشده است. این در حالی است که این مرتبه برای یافتن برش بیشینه در گراف‌های سطحی موجود است.

الگوریتم‌های تخمین[ویرایش]

"الگوریتم تخمین (۰٫۵)" تصادفی و ساده‌ای بری این مسئله وجود دارد: برای هر راس یک سکه در نظر می‌گیریم تا تصمیم بگیریم که به کدام قسمت آن را اختصاص دهیم. انتظار داریم، نیمی از یال‌ها، یال‌های برش باشند. این الگوریتم می‌تواند مجدداً به صورت تصادفی با تابع احتمال شرطی بیان شود؛ بدین منظور، "الگوریتم تخمین (۰٫۵)" ساده و معینی وجود دارد:
گراف G = (V,E) \! داده شده است. با تقسیم دلخواه از V \! شروع کنید ودر صورت پیشرفت روند حل مسئله، َ یک راس را از یک طرف به طرف دیگر جابجا کنید. تا وقتی که چنین راسی موجود نباشد، این کار را ادامه دهید. این الگوریتم، برش را با حداقل یک عمل در هر گام، جلو می‌برد، پس تعداد تکرار این عمل، از مرتبه یا پیچیدگی زمانی O(|E|) \! است. وقتی که الگوریتم متوقف می‌شود، حداقل نیمی از یال‌های هر راس v \!، در برش قرار دارد. (در غیر این صورت، برای پیشرفت در حل مسئله باید راس v \! را به زیر مجموعه دیگر، منتقل کنیم.) بنابراین، اندازه برش حداقل 0.5|E| \! است.
بهترین الگوریتم برش بیشینه شناخته شده، "الگوریتم تخمین(۰٫۸۷۸)" می‌باشد که توسط ژئومنز و ویلیامسون ارائه شده است. گفتنی است که این بهترین تخمین ممکن برای برش بیشینه است.

بزرگترین زیر گراف دوبخشی[ویرایش]

برش، گراف را به گراف دوبخشی تبدیل می‌کند. در نتیجه مسئله یافتن برش بیشینه، معادل مسئله یافتن زیر گراف دو بخشی با بیشترین یال می‌باشد.
فرض کنید G = (V,E) \! گراف اصلی و H = (V,X) \! زیر گرافی دوبخشی از G \! است. پس بخش (S,T) \! از V \! وجود دارد که هر یال در X \! یک انتها در S \! و یک انتها در T \! داشته باشد. وگرنه، برشی در H \! وجود دارد که "مجموعه-برش" شامل یال‌های X \! می‌باشد. بنابراین، برشی در G \! وجود دارد که X \!، زیر مجموعه "مجموعه-برش" G \! می‌باشد.
به طور خلاصه، اگر زیر گراف دو بخشی با k \! یال وجود داشته باشد، برشی با حداقل k \! "یال عبوری" وجود دارد؛ و اگر برشی با k \! یال عبوری وجود داشته باشد، یک زیر گراف دو بخشی با k \! یال موجود می‌باشد. پس مسئله پیدا کردن زیر گراف دو بخشی بیشینه، معادل مسئله پیدا کردن برش بیشینه است.

صفحات مربوط[ویرایش]

منابع[ویرایش]