Revista Inormatica Economica nr 4 (4)/00 9 Proleme extremale pentru grauri si retele de transport Drd Rodica MIRONENCO A variety o prolems can e constructed using Ford-Fulkerson s maximum-low minimumcut theory; in distriution networks prolems: transport networks telecommunications electrical networks in competition prolems or in covering prolems Keywords: transport networks conex graph maximum low minimum cut chain capacity unction multi-product network U n gra orientat G(XU) se numeste retea de transport daca el satisace urmatoarele conditii: a)exista un vâr unic a X în care nu intra nici un arc adica ω (a) ø care desemneaza multimea arcelor care intra în vârul a; ) Exista un vâr unic X din care nu iese nici un arc adica ω () ø prin care se noteaza multimea arcelor care ies din vârul ; c) G este conex si exista drumuri de la a la în G; d) S-a deinit o unctie c : U R c( 0 ( Vârul a se numeste intrarea retelei (sursa) vârul se numeste iesirea retelei (destinatia) iar c( este capacitatea arcului u O unctie : U R ( 0 ( se numeste lux în reteaua de transport G cu unctia de capacitate c care se noteaza G(XUc) daca sunt îndeplinite urmatoarele doua conditii: (C) Conditia de conservare a luxului: Pentru orice vâr x a suma luxurilor pe arcele care intra în x este egala cu suma luxurilor pe arcele care ies din x adica: ( ( ( x X \ { a } (M) Conditia de marginire a luxului: Pentru orice u U ( adica se impune ca luxul de la un vâr la altul sa nu depaseasca valoarea capacitatii date Pentru orice multime de vâruri A X deinim o taietura ca iind multimea arcelor care intra în multimea A de vâruri: ω { \ x A y A Se noteaza cu ω { \ x A y A adica multimea arcelor care ies din multimea A de vâruri Capacitatea taieturii ω (A) se noteaza c( ω ) Sunt importante doua proprietati care vor i demonstrate în continuare P ) ( ( ( ) ( a) ( ) P ) Pentru orice multime de vâruri A X a A A luxul () la iesirea retelei veriica relatia: ( ) ( ( ω ) Calculam în doua moduri suma: ( ( x X () Datorita conditiei de conservare a luxului pentru orice vâr x a termenul corespunzator al sumei este nul Deci suma se reduce la: ( ( deoarece ( ) ( a) ω ( a) ω ( ) Ø Dar iecare arc U ω ω ( ; de aici rezulta regrupând termenii: ( ( ( ) 0 si rezulta P u U Pentru a demonstra P consideram suma: ( ( () x A
30 Revista Inormatica Economica nr 4 (4)/00 Pentru orice vâr x termenul corespunzator al sumei de mai sus deci suma se reduce la: u ω ( ) ( deoarece ω () Ø a A Regrupând termenii putem scrie: ( ( ( ) ( ( ( u U A ( unde s-a notat prin U A -multimea arcelor cu amele extremitati în A Daca arcul u ω (A) luxul ( apare în () cu semnul plus iar daca u ω (A) ( apare în () cu semnul minus deoarece vor exista vârurile x x A u ω ( x ) ω ( ) x Rezulta ( ( ( c( ω ) olosind conditia de marginire a luxului pe iecare arc al retelei de transport luxul având valori nenegative Teorema lui Ford-Fulkerson: Pentru orice retea de transport G ( X U c) cu intrarea a si iesirea valoarea maxima a luxului la iesire este egala cu capacitatea minima a unei taieturi: max min c( ω ) A\ a A A Pentru demonstratie consideram v un lant care uneste intrarea a cu iesirea Se noteaza cu v multimea arcelor lui v orientate de la a la iar cu v multimea arcelor lui v orientate în sens invers cu sensul de parcurgere al lantului v de la a la Fie ε min min( c ( ( ) min ( Daca ε > 0 vom mari luxul cu ε pe iecare arc u v si vom micsora cu ε pe iecare arc u v Vom otine un nou lux care veriica: 0 ( ( si conditia de conservare în iecare vâr x a Fluxul la iesire creste ε > ultimul arc al lantului v care intra în apar- tinând multimii v Un lant v pentru care ε 0 se numeste saturat Daca este un lux maxim în reteaua G consideram toate lanturile elementare de la a la Suprimam toate arcele u pentru care exista un lant elementar v astel încât: u v ( sau u v ( 0 ( un astel de arc este primul când ne deplasam pe lantul v de la a la ) Otinem un gra partial care are cel putin doua componente conexe deoarece în caz contrar ar mai exista un lant nesaturat de la a la ceea ce contrazice maximalitatea luxului Notam cu A-multimea vârurilor unei astel de componenta care contine iesirea si nu contine intrarea a A-deineste taietura ω (A) Arcele u ω (A) au aceiasi orientare cu lanturile de la a la astel încât (c( Pentru ( u ω ( 0 acestea având o orientare opusa orientarii lanturilor de la a la care olosesc aceste arce Arcele din ω (A) sau ω (A) au ost arce suprimate din retea deoarece în caz contrar componenta conexa A nu ar i maximala în raport cu incluziunea ceea ce contrazice deinitia unei componente conexe Otinem: ( ( c( ω )
Revista Inormatica Economica nr 4 (4)/00 3 Dar ω ) pentru orice lux si orice taietura indusa de multimea A X a A A Rezulta ca taietura ω (A) are capacitatea minima egala cu valoarea maxima a luxului la iesire Algoritm pentru otinerea unui lux maxim: Vom considera ca unctia de capacitate c ( 0 ia numai valori intregi ) Se deineste luxul initial având componente nule pe iecare arc al retelei: ( 0( ) Se determina lanturile nesaturate de la a la pe care luxul poate i marit prin urmatorul procedeu de etichetare: Se marcheaza intrarea cu []; Un vâr x iind marcat se va marca cu [x] oricare vâr y nemarcat cu proprietatea ca arcul u este nesaturat adica ( < c( iar cu [-x] oricare vâr y nemarcat cu proprietatea ca arcul u are un lux nenul Daca prin acest mod de marcare se eticheteaza iesirea nu avem un lux maxim la pasul curent Vom considera un lant ormat din vâruri etichetate în sensul de la a la notat v Se determina ε min( min ( c( ( );min ( ); ε > 0 Marim luxul cu ε pe iecare arc u v si micsoram cu ε luxul pe arcele u v astel încât luxul la iesire va avea valoarea ε Se repeta ) cu luxul nou otinut Demonstram ca la iesire prin acest procedeu de etichetare luxul va avea valoarea maxima iar multimea arcelor care unesc vârurile marcate cu vârurile care nu au putut i marcate constituie o taietura de capacitate minima Se ajunge la acest rezultat dupa un numar init de pasi Din proprietatile anterioare pentru orice taietura a retelei ω (A) max ω ) Luam A{} deci ω ω ( ) max ω ) ( ) Se pleaca initial cu luxul nul pe iecare arc si la iecare pas luxul creste cu ε Cum capacitatea arcelor este un întreg nenegativ valorile luxului pe arce si a lui ε sunt întregi deci ε La iecare pas luxul creste cu o unitate numarul pasilor este init iind majorat de capacitatea unei taieturi Daca notam prin A multimea vârurilor care nu au ost etichetate prin algoritmul descris otinem o taietura ω (A) a retelei de transport cu a A A Pentru orice u ω (A) avem ( u x A y A Daca am avea ( < c( atunci vârul y ar putea i etichetat contradictie cu y A Pentru ( u ω ( 0 u ( y x) y A x A Daca ( > 0 y ar i etichetat contradictie cu y A Otinem: ( ( c( ω Deoarece pentru luxul si orice taietura ω (A) gasita inegalitatea ω ) este chiar egalitate rezulta ca luxul este
3 Revista Inormatica Economica nr 4 (4)/00 maxim iar taietura are o capacitate minima În cazul când capacitatile arcelor sunt numere rationale prolema poate i redusa la cea anterioara procedând în elul urmator: pi Notam c ( ui) qi 0 i m pi qi - qi numere întregi nenegative Vom înmulti capacitatea arcelor cu [ q qm ] Otinem o retea de transport având acelasi gra si capacitatilor tuturor arcelor exprimate prin numere întregi ( g( [ q qm] Din ( ( ( x a se otine: g( g( 0 ( [ q qm] c( u Iar din ) se otine: 0 g( ( Daca este maxim în reteaua G atunci g este maxim în reteaua G Airmatia este demonstrata presupunând contrariul Presupunem ca exista un lux h în reteaua G astel încât: h > g Vom deini apoi luxul ce are componentele [ q qm] h( ( ) u G Am otinut [ q qm] h > [ q qm] g ceea ce contrazice maximalitatea lui deci g este maxim în reteaua G daca si numai daca este maxim în reteaua G Fluxul poate i determinat cu algoritmul prezentat ce are un numar init de pasi deoarece în reteaua G toate capacitatile arcelor sunt numere întregi Oservatii: Algoritmul prezentat nu are neaparat un numar init de pasi si nu conduce întotdeauna la lux maxim la iesire daca unc- c : U R ia va- tia de capacitate a arcelor lori irationale (LR Ford DR Fulkerson Flows in Networks Princeton Univ Press 96) O prolema de lux maxim poate avea mai multe surse si mai multe destinatii iar aceasta se poate reduce la o prolema de lux maxim într-o retea cu o singura sursa si o singura destinatie Adaugam o noua sursa (supersursa) s si arcele orientate ( s xi ) cu capacitatea c ( s xi ) pentru i m si o noua destinatie t si arcele orientate ( y j t) cu capacitatea c( y j t) j n Modelele analizate de retea de transport permite lucrul cu luxuri cu un singur tip de produs O retea de transport multiprodus permite lucrul cu p produse între o multime de p vâruri sursa S x x x } si o multime de p vâruri { p destinatie T { y y y p } Fluxul celui de-al i-lea produs de la x la y se noteaza prin i Proprietatea de conservare este valaila independent pentru iecare produs în parte: luxul pentru iecare produs este zero în iecare vâr dierit de sursa si destinatia produsului respectiv Suma luxurilor de la x la y pentru toate produsele nu poate depasi capacitatea c(x Valoarea luxului pentru iecare produs este luxul în vârul sursa pentru produsul respectiv iar valoarea luxului total este suma valorilor pentru cele p luxuri Metoda lui Ford-Fulkerson se azeaza pe trei idei importante: retele reziduale drumuri de ameliorare si taieturi Este o metoda iterativa Reteaua reziduala se poate spune intuitiv ca este ormata din arcele care admit un lux mai mare Cantitatea de lux aditional care poate i transportata de la x la y ara a depasi capacitatea c(x este capacitatea reziduala a arcului (x c x Data iind o retea de transport G(XU) si un lux reteaua reziduala a lui G indus de este G ( X U ) U { X X c > 0}
Revista Inormatica Economica nr 4 (4)/00 33 Dându-se o retea de transport G(XU) si un lux un drum de ameliorare este un drum simplu de la intrarea a la iesirea în reteaua reziduala G Fiecare arc (x pe un drum de ameliorare admite un lux pozitiv aditional ara a încalca restrictia de capacitate Vom numi capacitate reziduala a lui p cantitatea maxima a luxului care se poate transporta de-a lungul drumului de ameliorare p si este data de : c ( p) min{ c \ p} Metoda lui Ford-Fulkerson mareste luxul în mod repetat de-a lungul drumurilor de ameliorare pâna când ajunge la un lux maxim Teorema de lux maxim- taietura minima exprima aptul ca un lux este maxim daca si numai daca în reteaua lui reziduala nu exista nici un drum de ameliorare Analiza timpului de executie a algoritmului Ford-Fulkerson Timpul de executie a algoritmului depinde de modul de determinare a drumului de ameliorare p Daca drumul este ales gresit se poate întâmpla ca algoritmul nu se opreste dupa un numar init de pasi valoarea luxului creste succesiv dar nu converge catre valoarea maxima Se va olosi un algoritm de cautare în latime unul din cei mai simpli algoritmi de cautare într-un gra Timpul de gasire a unui drum în reteaua reziduala este O(U)O(E) unde G(XU) E { \ U sau ( y x) Fiecare iteratie a ciclului se executa în O(U) unitati de timp timpul total este de O ( U ) - este luxul maxim otinut Atât timp cât valoarea optimala a luxului este mica si capacitatile sunt numere întregi sau rationale timpul de executie al algoritmului este un Perectionarea algoritmului Ford-Fulkerson poate i îmunatatita daca implementam cautarea drumului de ameliorare p printr-o cautare în latime adica cel mai scurt drumaceasta implementare se numeste algoritmul lui Edmond-Karp Cei mai rapizi algoritmi de lux maxim pâna la ora actuala sunt algoritmii de prelux cu ajutorul carora se pot rezolva eicient si alte proleme de lux cum ar i prolema luxului de cost minim Astel amintim algoritmul generic de lux maxim al lui Golderg care are o implementare simpla ce se executa într-un timp O ( X U) îm- unatatind limita de O ( XU ) a algoritmului Edmond-Karp sau o rainare a algoritmului generic numit algoritmul mutare în ata care este un algoritm de prelux de 3 complexitate temporala O( X ) -asimptotic cel putin la el la el de un ca si O ( X U) Biliograie Tomescu I Proleme de cominatorica si teoria graurilor 98 Editura Didactica si Pedagogica Bucuresti Thomas H Cormen Charles E Leiserson Ronald R Rivest Introduction to Algorithm 990 Massachusetts Institute o Technology 3Kenneth H Rosen Handook o Discrete and Cominatorial Mathematics 000 CRC Press