Dumitru Fanache TEORIA ALGORITMICĂ A GRAFURILOR NOŢIUNI FUNDAMENTALE. Volumul I EDITURA PARALELA 45

Σχετικά έγγραφα
Examen AG. Student:... Grupa: ianuarie 2016

Examen AG. Student:... Grupa:... ianuarie 2011

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Metode iterative pentru probleme neliniare - contractii

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

Curs 4 Serii de numere reale

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Curs 1 Şiruri de numere reale

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

Criptosisteme cu cheie publică III

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

7.2 Problema săptămânii Seminar Seminar Seminar Seminar Conexitate Teorie...

Aplicaţii ale principiului I al termodinamicii la gazul ideal

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

decembrie 2016 Grafuri. Noţiuni fundamentale. Grafuri euleriene şi grafuri hamilto

Sisteme diferenţiale liniare de ordinul 1

Cursul 11. Cuplaje. Sisteme de reprezentanti distincţi. Arbori de acoperire. Enumerarea tuturor arborilor cu număr fixat de noduri.

Metode de interpolare bazate pe diferenţe divizate

Asupra unei inegalităţi date la barajul OBMJ 2006

Subiecte Clasa a VII-a


Integrala nedefinită (primitive)

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Capitolul IC.07. Grafuri

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

riptografie şi Securitate

Curs 4. I.4 Grafuri. Grafuri orientate

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

Grafuri. Liviu P. Dinu University of Bucharest Faculty of Mathematics and Computer Science

Laborator 11. Mulţimi Julia. Temă

Grafuri planare Colorarea grafurilor. Curs 12. Grafuri planare. Colorarea grafurilor. Polinoame cromatice. 23 decembrie 2016.

ELEMENTE DE TEORIA GRAFURILOR

Subiecte Clasa a VIII-a

MARCAREA REZISTOARELOR

Seminar 5 Analiza stabilității sistemelor liniare

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

a. 11 % b. 12 % c. 13 % d. 14 %

Geometrie computationala 2. Preliminarii geometrice

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...

5.4. MULTIPLEXOARE A 0 A 1 A 2

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Curs 2 Şiruri de numere reale

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

4/29/2011. Arbori minimi de acoperire

Problema a II - a (10 puncte) Diferite circuite electrice

Esalonul Redus pe Linii (ERL). Subspatii.

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

VII.2. PROBLEME REZOLVATE

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

2 Transformări liniare între spaţii finit dimensionale

Arbori și structuri decizionale

1.3 Baza a unui spaţiu vectorial. Dimensiune

6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi

ALGORITMICA GRAFURILOR. C. Croitoru

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

14. Grinzi cu zăbrele Metoda secţiunilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Curs 4. RPA (2017) Curs 4 1 / 45

IX. GRAFURI. e 1. e 2

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Asemănarea triunghiurilor O selecție de probleme de geometrie elementară pentru gimnaziu Constantin Chirila Colegiul Naţional Garabet Ibrãileanu,

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt.

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25

Asist. Dr. Oana Captarencu. otto/pn.html.

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

V O. = v I v stabilizator

Tranzistoare bipolare şi cu efect de câmp

Să se arate că n este număr par. Dan Nedeianu

Criterii de comutativitate a grupurilor

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Transcript:

Dumitru Fanache TEORIA ALGORITMICĂ A GRAFURILOR NOŢIUNI FUNDAMENTALE Volumul I

Cuprins Cuvânt-înainte...9 Capitolul I. Noţiuni generale despre grafuri...15 I.1. Scurt istoric al teoriei grafurilor...15 I.2. Teoria grafurilor în optimizarea combinatorie...18 I.3. Câteva aplicaţii de colorare şi acoperire cu vârfuri...20 I.4. Utilizarea grafurilor în biologia computaţională...22 I.5. Grafuri neorientate, incidenţă, izomorfism...24 I.6. Subgrafuri, supergrafuri, grafuri parţiale, cicluri...28 I.7. Conexitate, operaţii cu grafuri...34 I.8. Probleme propuse pentru grafuri neorientate...42 I.9. Grafuri orientate, mulţimi dominante...48 I.10. Algoritmul Havel Hakimi...57 I.11. Probleme propuse pentru grafuri orientate...60 I.12. Probleme rezolvate...63 Capitolul II. Memorarea grafurilor...72 II.1. Reprezentarea matriceală a grafurilor neorientate...72 II.1.1. Spaţiul vectorial asociat unui graf...72 II.1.2. Matricea de adiacenţă...73 II.1.3. Matricea de incidenţă...84 II.1.4. Matricea ciclurilor...88 II.1.5. Matricea lanţurilor între două vârfuri fixate...91 II.1.6. Matricea ciclurilor fundamentale...93 II.2. Reprezentarea matriceală a grafurilor orientate...95 II.3. Graful tranzitiv asociat unui graf orientat...100 II.4. Reprezentarea grafurilor prin liste de adiacenţă...102 II.5. Probleme rezolvate...105 II.6. Probleme propuse...119 Capitolul III. Arbori de acoperire de cost minim...128 III.1. Arbori, proprietăţi...128 III.2. Reprezentarea mulţimilor disjuncte prin păduri de arbori...132 III.3. Caracterizări ale arborilor de acoperire...138 III.4. Arbori de acoperire în grafuri ponderate...140 III.4.1. Algoritmul lui Prim...144 III.4.2. Algoritmul lui Kruskal...147 III.4.3. Algoritmul lui Borüvka...152

III.5. Arbori Steiner...153 III.6. Enumerarea arborilor...157 III.6.1. Reprezentarea arborilor prin codul lui Prüfer...157 III.6.2. Teorema matriceală pentru arbori...162 III.7. Probleme propuse...165 Capitolul IV. Algoritmi de traversare...178 IV.1. Traversarea în lăţime...178 IV.2. Implementări ale algoritmului BFS...185 IV.3. Traversarea în adâncime...187 IV.3.1. Principii de execuţie a traversării în adâncime...187 IV.3.2. Proprietăţi ale căutării în adâncime...189 IV.3.3. Clasificarea muchiilor...192 IV.4. Implementări ale algoritmului DF...194 IV.5. Aplicații ale traversării grafurilor...196 IV.5.1. Componente conexe...196 IV.5.2. Verificarea existenţei unui lanţ între două vârfuri...197 IV.5.3. Distanță minimă într-un graf grid...199 IV.5.4. Componente tari conexe...201 IV.5.4.1. Algoritmul Kosaraju Sharir...201 IV.5.4.2. Algoritmul lui Tarjan...204 IV.5.5. Sortarea topologică a vârfurilor unui graf...206 IV.5.6. Puncte de articulație...209 IV.5.7. Muchii critice...213 IV.5.8. Componente biconexe...214 IV.5.9. Supraveghere eficientă...217 IV.5.10. Reamenajări cu costuri minime...218 IV.5.11. Excentricitatea unui vârf, diametrul unui graf...220 IV.5.12. Partiţionarea mulţimii vârfurilor unui graf...222 IV.6. Probleme propuse...223 Capitolul V. Drumuri optime, centre, mediane...228 V.1. Problema celui mai scurt drum...228 V.2. Drumuri minime cu sursă unică...229 V.2.1. Algoritmul lui Dijkstra...229 V.2.2. Analiza algoritmului lui Dijkstra...238 V.2.3. Algoritmul lui Dantzig...240 V.2.4. Algoritmul lui Bellman Ford...243 V.2.5. Algoritmul lui Bellman Kalaba...247 V.3. Drumuri minime între toate perechile de vârfuri...250 V.3.1. Algoritmul Roy Floyd Warshall...250 V.3.2. Comparaţie între algoritmul lui Floyd şi algoritmul lui Dijkstra...253

V.3.3. Determinarea traseelor drumurilor minime...255 V.4. Algoritmul lui Johnson...257 V.5. Centrul relativ al unui graf...257 V.6. Centrul absolut al unui graf, metoda Hakimi...259 V.7. Mediana unui graf...262 V.8. Problema acoperirii cu vârfuri...263 V.9. Probleme propuse...269 Capitolul VI. Grafuri hamiltoniene, grafuri euleriene...275 VI.1. Grafuri hamiltoniene...275 VI.2. Algoritmi pentru determinarea ciclurilor hamiltoniene...279 VI.2.1. Problema comis-voiajorului...282 VI.2.2. Algoritmul lui Foulkes...285 VI.2.3. Algoritmul lui Chen...287 VI.2.4. Algoritmul lui Kauffman...291 VI.3. Grafuri euleriene...294 VI.3.1. Construcția lanțurilor şi ciclurilor euleriene...298 VI.3.2. Algoritmul lui Fleury...299 VI.3.3. Algoritmul lui Hierholzer...302 VI.4. Algoritmul lui Christofides...306 VI.5. Problema poştaşului chinez...308 VI.6. Probleme propuse...310 Bibliografie... 316

Capitolul I Noţiuni generale despre grafuri I.1. Scurt istoric al teoriei grafurilor În problemele care apar în matematică, economie, inginerie, în general, şi în multe alte domenii, apare adeseori necesitatea reprezentării unor relaţii arbitrare între diferite obiecte, respectiv a interconexiunilor dintre acestea. Spre exemplu, dându-se traseele aeriene ale unui stat, se cere să se precizeze drumul optim dintre două oraşe. Criteriul de optimalitate poate fi timpul sau preţul, drumul optim putând să difere pentru cele două situaţii. Circuitele electrice sunt alte exemple în care interconexiunile dintre obiecte joacă un rol central. Piesele (tranzistoare, rezistenţe, condensatoare) sunt interconectate prin fire electrice. Astfel de circuite pot fi reprezentate şi prelucrate de către un sistem de calcul în scopul rezolvării unor probleme simple, cum ar fi: Sunt toate piesele date conectate în acelaşi circuit? Sau a unor probleme mai complicate, de tipul: Este funcţional un anumit circuit electric? Un al treilea exemplu îl reprezintă planificarea activităţilor, în care obiectele sunt task-uri (activităţi, procese), iar interconexiunile precizează care dintre activităţi trebuie finalizate înaintea altora. Întrebarea la care trebuie să oferim un răspuns este: Când trebuie planificată fiecare activitate? Structurile de date care pot modela în mod natural situaţii de genul celor de mai sus sunt cele derivate din conceptul matematic cunoscut sub denumirea de graf. Probleme care conduceau implicit la grafuri erau cunoscute de foarte multă vreme, fără să se cunoască însă prezenţa acestora. Oficial, actul de naştere al teoriei grafurilor poate fi reprezentat de rezolvarea problemei celor şapte poduri din Königsberg de către L. Euler în anul 1736: două insule A şi B, formate de râul Pragel în Königsberg (Prusia orientală, acum oraşul Kaliningrad din vestul Rusiei) sunt conectate între ele şi de malurile C şi D prin şapte poduri, fig.i.1.(a), formând, în acea vreme, patru cartiere. În plimbările lor, localnicii încercau să traverseze toate cele şapte poduri, astfel încât, plecând dintr-un anumit cartier, să se înapoieze în acesta trecând o singură dată peste fiecare pod. Nu reuşeau să facă acest lucru.

48 I.9. Grafuri orientate, mulţimi dominante TEORIA ALGORITMICĂ A GRAFURILOR Definiţia I.37. Fie V o mulţime finită şi nevidă. Numim graf orientat (digraf) orice pereche G = (V, E) în care E V V este o mulţime finită de perechi ordonate cu componente din V (E este o relaţie binară pe V). Elementele mulţimii V se numesc vârfuri sau noduri, iar elementele lui E se numesc arce. Orice arc are forma (a, b), în care a se numeşte extremitate iniţială, iar b se numeşte extremitate finală a arcului (a, b). Exemplu: Fie graful reprezentat în fig. I.24, unde mulţimea vârfurilor este V = = {1, 2, 3, 4, 5, 6, 7, 8, 9 şi mulţimea arcelor E V V: E = {(1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 4), (8, 7), (3, 8), (8, 9), (9, 2)}. Fig. I.24. Un graf orientat cu 9 vârfuri S Q Un graf orientat se reprezintă printr-o mulţime de puncte corespunzătoare vârfurilor şi printr-o mulţime de segmente orientate (săgeţi) corespunzătoare arcelor. O săgeată este orientată de la extremitatea iniţială spre extremitatea finală a arcului pe care îl reprezintă. Dacă u = (x, y) E, spunem că x şi y sunt adiacente în G şi că nodurile x şi y sunt incidente arcului u sau arcul u este incident nodurilor x şi y. Mai exact, spunem că u este incident exterior nodului x (u pleacă sau iese din x) şi că u este incident interior nodului y (u ajunge sau intră în y). Arcul (x, y) E se mai notează şi prin xy. Definiţia I.38. Pentru graful G = (V, E) mulţimea S V se numeşte mulţime exterior stabilă dacă ( ) x j S, (x i, x j ), x i S. Mulţimea S este una dominantă dacă S + (S) = V. Definiţia I.39. Mulţimea dominantă S se numeşte minimă dacă nu există o altă mulţime dominantă S' pentru care este îndeplinită condiţia S' S. Nu toate mulţimile minime dominante au acelaşi număr de vârfuri S. Prin urmare, modul de selecţie a celei mai bune mulţimi dominante va depinde de condiţiile iniţiale ale problemei studiate. Definiţia I.40. Fie Q mulţimea tuturor mulţimilor dominante ale grafului G = = (V, E). Numărul 0 (G) = min S se va numi indice de dominanţă (număr de stabilitate externă) a grafului G, iar mulţimea S * pentru care el se obţine mulţime dominantă de putere minimă. Legătura dintre mulţimile maxim independente şi mulţimile dominante este evidentă. Algoritmul folosit pentru determinarea mulţimilor dominante va fi organizat după o tehnică similară celui pentru determinarea mulţimilor independente.

Dumitru Fanache TEORIA ALGORITMICĂ A GRAFURILOR REȚELE, CUPLAJE, COLORĂRI, PLANARITATE Volumul II

Cuprins Capitolul VII. Reţele de flux, drumuri critice... 7 VII.1. Rețele de flux... 7 VII.2. Drumuri de ameliorare... 11 VII.3. Algoritmul Ford Fulkerson... 13 VII.3.1. Metoda saturării celui mai scurt drum... 14 VII.3.2. Algoritmul Edmonds Karp... 16 VII.4. Algoritmul lui Dinic... 20 VII.5. Teorema de flux maxim tăietură minimă... 26 VII.6. Problema cuplajului maxim de cost minim tratată ca o problemă de flux maxim... 30 VII.7. Drumuri critice în grafuri de activități... 35 VII.8. Probleme propuse... 43 Capitolul VIII. Cuplaje în grafuri bipartite... 45 VIII.1. Considerații generale despre cuplaje... 45 VIII.2. Determinarea unui cuplaj maxim folosind o rețea de transport... 48 VIII.3. Algoritmul ungar pentru determinarea unui cuplaj maxim... 52 VIII.4. Algoritmul Hopcroft Karp... 59 VIII.5. Algoritmul Kuhn Munkres... 63 VIII.6. Probleme propuse... 68 Capitolul IX. Colorarea grafurilor... 71 IX.1. Colorarea vârfurilor... 71 IX.1.1 Numărul cromatic al unui graf... 72 IX.1.2 Polinomul cromatic... 77 IX.1.3. Teorema Birkhoff Lewis... 79 IX.1.4. Algoritmi clasici de colorare a vârfurilor unui graf... 85 IX.2. Colorarea muchiilor... 96 IX.2.1. Indexul cromatic al unui graf... 96 IX.2.2. Graful conjugat asociat unui graf... 97 IX.2.3. Incidența cromatică... 101 IX.2.4. Colorarea muchiilor grafurilor bipartite... 102 IX.2.5. Teorema lui Vizing, clasificarea grafurilor... 106 IX.3. Elemente de teoria extremală a grafurilor... 111 IX.4 Probleme propuse... 117 Capitolul X. Grafuri planare, grafuri aleatoare... 121 X.1. Caracterizarea grafurilor planare... 121 X.2. Teorema lui Kuratowski... 126

X.3. Reprezentarea pe o g-sferă a unui graf...133 X.4. Planaritate şi hamiltonietate...136 X.5. Algoritmi pentru desenarea/testarea planarității unui graf...138 X.5.1. Algoritmul forței directe...139 X.5.2. Algoritmul Hopcroft Tarjan...140 X.5.3. Algoritmul lui Tutte...142 X.5.4. Algoritmul lui Schnyder...147 X.6. Dualul unui graf planar...147 X.7. Relația dintre un graf şi dualul său...148 X.8. Teorema celor patru culori...151 X.9. De ce avem nevoie de grafuri aleatoare?...153 X.10. Modele de grafuri aleatoare...154 X.11. Grafuri aleatoare cu generatorul Mersenne Twister...159 X.12. Probleme propuse...162 Capitolul XI. Biblioteci de grafuri...170 XI.1. Matgraph Library...170 XI.2. Apelarea funcțiilor în Matgraph prin exemple...173 XI.2.1. Adăugări şi ştergeri...174 XI.2.2. Vecini şi grade...176 XI.2.3. Partiţii...179 XI.2.4. Permutări...181 XI.3. Operații cu grafuri...182 XI.3.1. Calcule în grafuri...186 XI.3.2. Colorarea grafurilor...188 XI.4. Boost Graph Library...190 XI.4.1. Construirea unui graf...192 XI.4.2. Accesarea mulțimii vârfurilor...193 XI.4.3. Accesarea mulțimii muchiilor...194 XI.4.4. Structura de adiacență a grafului...194 XI.4.5. Arce de ieşire, arce de intrare, descriptori de muchii...195 XI.4.6. Vârfuri adiacente...197 XI.4.7. Algoritmul lui Dijkstra în BGL...197 XI.4.8. Utilizarea conceptului de vizitator...199 XI.4.9. Parcurgerea DF folosind BGL...202 XI.4.10. Un arbore de acoperire minim cu BGL...202 Bibliografie...204

Capitolul I VII.1. Rețele de flux Reţele de flux, drumuri critice Definiţia VII.1. O reţea de flux este un graf orientat ponderat şi fără circuite G = (V, E) ce îndeplineşte condiţiile următoare: există un vârf unic s V în care nu intră niciun arc (sursa reţelei); există un vârf unic t V din care nu iese niciun arc (destinaţia reţelei); G este conex şi există drumuri de la s la t; s-a definit o funcţie c : E astfel încât c(u) 0 pentru ( ) u E, numărul c(u) se numeşte capacitatea reţelei. Problema determinării fluxului maxim este cea mai simplă problemă legată de reţelele de flux (transport), care cere să se determine cantitatea maximă de material care poate fi transportată de la sursă la destinaţie ţinând cont de restricţiile de capacitate. Definiţia VII.2. Un flux într-o reţea de transport G = (V, E) este o funcţie ϕ : V V +, care respectă următoarele condiţii: ( ) u, v V, c(u, v) ϕ(u, v) (limitarea impusă de capacităţi); ( ) u, v V, ϕ(u, v) = ϕ(v, u) (antisimetrie); ( ) u V, u s, t, unde s, t V, ϕ( uv, ) = 0 (conservarea fluxului). vv Observaţii: Aceste 3 condiţii reies şi intuitiv: Fluxul pe fiecare muchie nu trebuie să depăşească capacitatea muchiei; Fluxul dintre nodurile u şi v care nu sunt legate prin niciun arc, nu poate fi decât zero. Dacă (u, v) E şi (v, u) E, atunci c(u, v) = c(v, u) = 0; din cauza restricţiei de capacitate avem ϕ(u, v) 0 şi ϕ(v, u) 0. Dar, din condiţia de antisimetrie avem ϕ(u, v) = ϕ(v, u), prin urmare ϕ(u, v) = ϕ(v, u) = 0. Rezultă că existenţa fluxului nenul între vârfurile u şi v implică (u, v) E sau (v, u) E sau ambele; Condiţia de conservare a fluxului afirmă că pentru orice vârf x cu x s şi x t, suma fluxurilor de pe arcele care intră în x este egală cu suma fluxurilor pe arcele care ies din x. Funcţia ϕ nu este unică.

16 VII.3.2. Algoritmul Edmonds Karp TEORIA ALGORITMICĂ A GRAFURILOR Aşa cum am văzut, algoritmul Ford Fulkerson nu defineşte o metodă de alegere a drumului de ameliorare pe baza căruia se modifică fluxul în graf. Edmonds 3 şi Karp au sugerat ca metodă de construcţie a fluxului * în reţeaua reziduală determinarea celui mai scurt drum între sursă şi destinaţie folosind o căutare în lățime în graful rezidual unde fiecare arc are ponderea 1 şi saturarea acestui drum. Se observă intuitiv că fiecare execuţie a acestui proces saturează cel puţin o muchie. După O(m) astfel de execuţii, toate drumurile minime dintre sursă şi destinaţie sunt saturate şi distanţa dintre sursă şi destinaţie trebuie să crească. Aceasta implică faptul că după O(n m) astfel de execuţii, distanţa dintre s şi t va deveni mai mare decât n, sau altfel spus, t nu va mai fi accesibil din s. Folosind algoritmul Edmonds Karp pentru a determina fluxul * în reţeaua reziduală, complexitatea algoritmului Ford Fulkerson devine O(n m 2 ) (vezi codul asociat algoritmului din fig.vii.8). Fig. VII.6. Algoritmul Edmonds Karp În urma execuţiei algoritmului Edmonds Karp, obţinem pentru reţelele din fig.vii.1, fig.vii.5 rezultatele din fig.vii.7(a, b). 3 Jack Edmonds, matematician canadian, considerat ca unul din cei mai importanți specialişti în optimizare combinatorie; în 1985 a primit premiul John von Neumann.

48 TEORIA ALGORITMICĂ A GRAFURILOR VIII.2. Determinarea unui cuplaj maxim folosind o rețea de transport Pentru a determina cuplajul maxim putem transforma graful bipartit într-o reţea de transport adăugând un nod sursă (s) şi un nod destinaţie (t) şi vom atribui capacitatea 1 pe toate arcele (vezi fig. VIII.3). În acest fel am transformat o problemă de afectare într-o problemă de flux (vezi cap. VII). (a) (b) Fig.VIII.3. Transformarea unei probleme de cuplaj într-o problemă de flux (a) rețeaua de transport inițială obținută prin adăugarea a două vârfuri la graful bipartit; (b) rețeaua a fost modificată prin inversarea arcelor pe drumurile de creştere a) Cuplaj maxim pentru un graf memorat prin liste de adiacență Pentru graful bipartit din fig.viii.3, am adăugat vârfurile 0 şi 9, ca fiind sursa şi destinația rețelei de transport. Listele de adiacență, gradele vârfurilor precum şi drumurile de creştere de la vârfurile sursă(0) şi destinație (9) determinate prin parcurgerea BF sunt date în fig.viii.4. Liste d - (x) d + (x) Drumuri de creştere 0: 1,2,3,4 0 4 1: 5,7,8 1 3 2: 6,8 1 2 I).0,1,5,9 3: 5,6 1 2 II). 0,2,8,9 4: 7 1 1 III). 0,3,6,9 5: 9 2 1 IV). 0,4,7,9 6: 9 2 1 7: 9 2 1 8: 9 2 1 9: 0 4 0 Fig.VIII.4. Lista de adiacență a vârfului de start nu este vidă După determinarea unui drum de ameliorare, se schimbă sensul arcelor drumului respectiv şi evident că listele de adiacență se vor modifica astfel că, după patru paşi ele vor arăta ca în fig. VIII.5. Observăm că lista de adiacență a vârfului de start (0) devine vidă.