ایدهٔ الگوریتم مبنی بر مفهوم تلفیق یال در گراف بدون جهت است. به بیان غیر رسمی، تلفیق یک یال رأسهای و را در هم ادغام میکند و تعداد کل رأسهای گراف را یکی کاهش میدهد. همهٔ یالهای دیگر که یا به یا به متصل هستند، به رأس ادغامی «دوباره ضمیمه میشوند» و در عمل یک گراف چندگانه تولید میشود. الگوریتم اصلی کارگر یکی پس از دیگری یالهایی را که به صورت تصادفی انتخاب شدهاند با هم تلفیق میکند تا فقط دو رأس باقی بماند؛ آن دو رأس نمایانگر یک برش در گراف اولیه هستند. با تکرار این الگوریتم تا زمانی که دو راس باقی بماند، با احتمال موفقیت زیادی میتوان یک برش کمینه پیدا کرد.
یک برش در یک گراف بدون جهت افرازی از رأسهای به دو مجموعهٔ غیر تهی و مجزای است.
مجموعه برش یک برش، از یالهای بین دو بخش برش تشکیل میشود. اندازه (یا وزن) یک برش در یک گراف بدون جهت تعداد اعضای مجموعه برش، یعنی تعداد یالهای بین دو بخش، است،
.
روش انتخاب برای هر رأس چه متعلق به و چه وجود دارد، اما دو مورد از این انتخابها یا را تهی میکنند و برش تولید نمیکنند. در میان انتخابهای باقیمانده، تعویض نقشهای و برش را تغییر نمیدهد، بنابراین هر برش دو بار شمارش میشود؛ پس برش متمایز وجود دارد.
مسئلهٔ برش کمینه میخواهد برشی با کوچکترین اندازه در میان این برشها بیابد.
برای گرافهای وزن دار با یالهایی با وزن مثبت وزن برش، حاصل جمع وزنهای یالهای بین رئوس در هر بخش است
که با تعریف بدون وزن برای مطابقت دارد.
یک برش گاهی یک «برش جهانی» نامیده میشود تا از یک «برش -» برای زوج داده شدهای از رئوس، که شرط اضافهٔ و را دارد، تمایز داده شود. هر برش جهانی یک برش - برای یک است. بنابراین، مسئلهٔ برش کمینه میتواند با یکی یکی پیش رفتن در میان همهٔ انتخابهای و حل مسئلهٔ برش - کمینهٔ حاصله با استفاده از قضیهٔ جریان بیشینهٔ برش کمینه و یک الگوریتم با زمان چندجملهای برای مسئله بیشینه جریان، مانند الگوریتم فورد-فالکرسون، در زمان چندجملهای حل شود، گرچه این رویکرد بهینه نیست. یک الگوریتم تعیینکننده برای مسئلهٔ برش کمینه با زمان اجرای وجود دارد.[۲]
عملکرد بنیادی الگوریتم کارگر شکلی از تلفیق یالی است. نتیجهٔ تلفیق یال رأس تازهٔ خواهد بود. هر یال یا برای در دو انتهای یال تلفیقی با یک یال به رأس تازه جایگزین میشود. سرانجام، رئوس تلفیقی و با همهٔ یالهای واقع بر آن حذف میشوند. به ویژه گراف حاصل هیچ حلقهای را در بر ندارد. نتیجهٔ تلفیق یال با نشان داده میشود.
الگوریتم تلفیق مرتباً یالهای تصادفی را در گراف تلفیق میکند تا زمانی که فقط دو رأس باقی بماند که آنگاه فقط یک برش یکتا وجود دارد.
procedure contract():
while
choose uniformly at random
return the only cut in
وقتی گراف با استفاده از لیستهای مجاورت یا ماتریس مجاورت نمایش داده میشود، یک عمل یکتای تلفیق یالی را میتوان با تعدادی بروزرسانی با زمان اجرای خطی روی داده ساختار، با زمان اجرای کل ، پیادهسازی کرد. از سوی دیگر، این روند را میتوان به منزلهٔ اجرای الگوریتم کروسکال برای ایجاد درخت فراگیر کمینه در گرافی که یالهایش بر اساس یک جایگشت تصادفی وزنهای دارند دید. حذف سنگینترین یال این درخت به ایجاد دو مؤلفه میانجامد که یک برش را توصیف میکنند. به این روش، روند تلفیق را میتواند مانند الگوریتم کروسکال در زمان پیادهسازی کرد.
بهترین پیاده سازیهای شناخته شده، به ترتیب از زمان و فضای یا زمان و فضای
استفاده میکنند.
در گراف با رأس، الگوریتم تلفیقی با احتمال یک برش کمینه برمی گرداند. در میان برش گراف، حد اکثر برش کمینه وجود دارد، بنابراین این احتمال بسیار بهتر از انتخاب یک برش به صورت تصادفی است.
برای مثال، گراف دوری روی رأس، دقیقاً برش کمینه دارد، که از انتخاب هر دو یال به دست میآید. روند تلفیق با احتمال برابر هر یک از این یالها را مییابد.
برای آن که کران احتمال موفقیت را بهطور کلی به دست آوریم، اگر یالهای یک برش کمینهٔ خاص با اندازهٔ را با نشان دهیم آنگاه الگوریتم تلفیق را برمی گرداند اگر و فقط اگر هیچ یک از یالهای تصادفی در مجموعهٔ برش نباشد. به ویژه، اولین تلفیق یالی از اجتناب میکند، که با احتمال رخ میدهد. درجهٔ کمینهٔ حد اقل است (در غیر این صورت یک رأس با درجهٔ کمینه یک برش کوچک تر را سبب میشد)، بنابراین . پس احتمال این که الگوریتم تلفیق، یالی از را برگزیند برابر است با:
.
احتمال که الگوریتم تلفیق روی یک گراف رأسی از اجتناب کند، در رابطهٔ بازگشتی با صدق میکند که میتوان آن را به صورت زیر بسط داد:
یک بسط الگوریتم کارگر، توسط دیوید کارگر و کلیفورد اشتاین (به انگلیسی: Clifford Stein) به بهبود مرتبهٔ زمانی حالت قبل منجر میشود.[۳]
ایدهٔ اصلی این است که رویهٔ تلفیق تا زمانی که گراف به رأس برسد انجام شود.
procedure contract(, ):
while
choose uniformly at random
return
احتمال که این رویهٔ تلفیق از یک برش خاص در یک گراف رأسی اجتناب کند چنین است:
این عبارت از است و از حول
کمتر میشود. به ویژه احتمال این که یک یال از تلفیق شود تا پایان افزایش مییابد. این انگیزهٔ ایدهٔ تغییر به یک الگوریتم کندتر پس از تعداد معینی گامهای تلفیقی است.
برای تعیین برش کمینه، باید از هر یال در گراف حداقل یک بار بگذریم، که در یک گراف چگال از است. الگوریتم برش کمینهٔ کارگر_اشتاین زمان اجرای میبرد، که خیلی به آن نزدیک است.