Каргеров алгоритам

У информатици и теорији графова, Каргеров алгоритам је алгоритам насумичне методе који одређује минималан рез повезаног графа. Измислио га је Дејвид Каргер и први пут објавио 1993.[1]

Граф са два пресецања. Тачкаста црвена линија сече три гране графа. Зелена испрекидана линија представља минимални рез графа, пресецајући само две гране.

Идеја алгоритма је базирана на концепту скраћивања грана у неоријентисаном графу . Неформално говорећи, , скраћивање броја грана спаја чворове и у један, смањујући укупан број чворова у графу за један. Све остале гране које спајају или су "поново накачене" за спојени чвор, ефективно стварајући мултиграф. Каргеров основни алгоритам итеративно скраћује насумично одабране гране све док не остану само два чвора; ти чворови представљају рез у оригиналном графу. Понављајући овај основни алгоритам довољан број пута налазимо, уз велику вероватноћу, минимални рез.

Глобални проблем минималног реза

уреди

Рез   у неоријентисаном графу   партиционише чвор   у два непразна, раздвојена сета  . Исечак реза се састоји од грана   које се налазе између два дела. Величина (или тежина) реза у не-тежинском графу је кардиналност исечка, нпр., број грана измедју два дела,

 

Постоји   начина да се изабере за сваку највишу тачку, било да припада   или  , али два од ових избора чине   или   празним, и самим тим не повећавају број резова. Међу преосталим изборима, замењивањем улога   и   се не мења рез, тако да се сваки рез броји два пута; стога, постоји   различитих резова. Проблем минималног реза је да нађе рез најмање величине од ових резова.

За тежинске графове са гранама позитивне тежине   тежина реза представља суму тежине грана измедју чворова у сваком делу

 

што се и слаже са не-тежинском дефиницијом за  .

Рез се понекад назива и “глобални рез” како би се разликовао од “ -  реза” за дати пар темена, који има и додатни захтев(услов) да   и  . Сваки глобални рез је  -  рез за неке  . Према томе, проблем минималног реза мозе бити решен у полиномијалном времену тако што ћемо да итеришемо(означимо) све случајеве   и решавајући резултујући минимум  -  проблема реза користећи теорему о максималном протоку-минималном резу и алгоритам полиномијалног времена за максимални проток, као што је Форд-Фулкерсонов алгоритам, иако овај приступ није препоручљив (оптималан). Постоји детерминистички алгоритам за глобални проблем минималног реза који се извршава у времену  .[2]

Алгоритам скраћивања

уреди

Фундаментална операција Каргеровог алгоритма је форма скраћивања броја грана. Резултат скраћивања гране   је нови чвор  . Свака грана   или   за   до крајњих тачака скраћене гране је замењена граном   до новог чвора. Коначно, скраћени чворови   и   са свим својим старим гранама су уклоњени. Резултујући граф не садржи петље. Резултат скраћене гране   се означава као  .

 

Алгоритам скраћивања изнова и изнова смањује насумично изабране гране графа све док не остану само два чвора, а у том тренутку постоји само један рез.

 
Успешан пролазак кроз граф са 10 чворова користећи Каргеровог алгоритам. Минималан број резова је 3.
   procedura skraćivanje( ):
   dok  
       izaberi   nasumično ravnomerno
        
   vrati jedini rez iz   

Када је граф представљен листом суседства или матрицом повезаности, операција скраћивања једне гране може бити имплементирана линеарним бројем ажурирања главне структуре, уз укупно време извршавања  . Алтернативно, процедура може бити прегледана уз помоћ Крускаловог алгоритма за констурисање минималног разапињућег стабла где су гране тежине   на основу насумичне пермутације  . Уклањањем најтеже гране овог стабла се добијају две компоненте које описују рез. На овај начин, процедура скраћивања може бити имплементирана уз помоћ Крускаловог алгоритма у времену  .

 
Избори насумичних грана уз помоћ Каргеровог алгоритму кореспондира са извршавањем Крускаловог алгоритма у графу са гранама насумичног ранга све док не остану само две компоненте.

Најбоља позната имплементација је   временске и просторне сложености, или у   времену и   простору.[1]

Вероватноћа успешности алгоритма за скраћивање

уреди

У графу   са   чворова, алгоритам скраћивања враћа минималан рез са полиномијално малом вероватноћом  . Сваки граф има   резова,[3] међу којима највише може бити   минималних резова. Стога, вероватноћа успешности овог алгоритма је много боља од вероватноће одабирања реза насумично, што је највише  

На пример, циклични граф са   чворова има тачно   минималних резова, гледавши на сваки избор од по 2 гране. Процедура скраћивања налази сваку од наведених са једнаком вероватноћом.

Како би генерално поставили вероватноћу успешности, нека   буде ознака за ивице одредјеног минималног реза величине  . Алгоритам скраћивања враћа   ако ниједна од насумичних грана не припада исечку од  . У ствари, скраћивање прве ивице избегава  , а то се догађа са вероватноћом  . Минимални степен   је најмање   (у супротном највиша тачка најмањег степена би индицирала мањи рез), тако да је  . Стога, вероватноћа да алгоритам скраћивања изабере грану из   је

 

Вероватноћа   да алгоритам скраћивања на  -чворни граф избегне   задовољава рекурентну једначину  , са  , што се може проширити

 

Понављање алгоритма скраћивања

уреди
 
10 понављања процедуре скраћивања. Пето понављање налази минилани рез величине 3.

Понављањем алгоритма скраћивања   пута са независним насумичним изборима и враћањем најмањег реза, вероватноћа да се не нађе минималан рез је

 

Укупно време одрадјивања за   понављања за граф са   чворова и   грана је  .

Каргер-Штајнов алгоритам

уреди

Наставак (продужетак) Каргеровог алгоритма услед David Karger и Clifford Stein достиже унапређење за ниво више.[4]

Основна идеја је да се извршава процедура скраћивања све док граф не достигне   чворова.

   procedura skraćivanje( ,  ):
   dok  
       izaberi  nasumično ravnomerno
        
   vrati  

Вероватноћа   да ова процедура скраћивања избегне одређен рез   у  -чворном графу је

 

Овај израз је   и постаје мањи него од   око  . Вероватноћа да је грана из   скраћена расте како се приближава крају. Ово мотивише идеју пребацивања на спорији алгоритам после одређеног броја скраћивања (корака скраћивања).

   procedura brziminrez( ):
   ako  :
       vrati minrez( )
   u suprotnom:
        
         skrati( ,  )
         skrati( ,  )
       vrati min {brziminrez( ), brziminrez( )}


Анализа

уреди

Вероватноћа   да ће алгоритам пронаћи одређени исечак   је задата рекурентном релацијом

 

са решењем  . Време трајање(извршавања) фунцкије брзиминрез задовољава

 

са решењем  . Како би се достигла вероватноћа грешке  , алгоритам може бити понављан   пута, за свеукупно време  . Ово је унапредјење у односу на Каргеров оригинални алгоритам.

Проналажење свих минималних резова

уреди

Теорема: Са великом вероватноћом можемо наћи све минималне резове у времену  .

Доказ: Пошто знамо да је  , стога након извршавања овог алгоритма  пута, вероватноћа да се минимални рез не пронађе је

 .

Постоји најмање   минималних резова, отуда је вероватноћа за не-налажење било ког минималног реза

 

Вероватноћа за неуспех у проналажењу је изузетно мала када је н довољно велико.∎

Побољшање

уреди

Како би се одредио минимални рез мора се проћи кроз све гране графа бар једном, што се обавља за у   времену у густом графу. Каргер-Штајнов алгоритам за одређивање минималног реза се извршава у   времену, што је приближно горе наведеном.

Референце

уреди
  1. ^ а б Каргер, Дејвид (1993). „Глобални минимални резови у РНЦ-у и Отхер Последице Једноставног Алгоритма За Минамалне Резове”. Проц. 4тх Аннуал АЦМ-СИАМ Сyмпосиум он Дисцрете Алгоритхмс. 
  2. ^ Стоер, Мецхтхилд; Wагнер, Франк (1997). „А симпле мин-цут алгоритхм”. Јоурнал оф тхе АЦМ. 44 (4): 585—591. С2ЦИД 15220291. дои:10.1145/263867.263872. 
  3. ^ Патригнани, Мауризио; Пиззониа, Мауризио (2001), „Тхе цомплеxитy оф тхе матцхинг-цут проблем”, Ур.: Брандстäдт, Андреас; Ле, Ван Банг, Грапх-Тхеоретиц Цонцептс ин Цомпутер Сциенце: 27тх Интернатионал Wорксхоп, WГ 2001, Болтенхаген, Германy, Јуне 14ÔÇô16, 2001, Процеедингс, Лецтуре Нотес ин Цомпутер Сциенце, 2204, Берлин: Спрингер, стр. 284—295, МР 1905640, дои:10.1007/3-540-45477-2_26 .
  4. ^ Каргер, Давид Р.; Стеин, Цлиффорд (1996). „А неw аппроацх то тхе минимум цут проблем”. Јоурнал оф тхе АЦМ. 43 (4): 601—640. С2ЦИД 5385337. дои:10.1145/234533.234534.