Revizia anterioară Revizia următoare
Flux maxim intr-o retea de transport, algoritmul lui Dinic
(Categoria Grafuri, autor(i) Alexandru Mosoi)
Introducere
Acest articol presupune o familiarizare anterioara cu grafuri si retele de transport. Pentru a elimina neclaritati vom da urmatoarea definitie: O retea de transport este un graf orientat in care avem un nod sursa, un nod destinatie, iar fiecarei muchii ii este asociata o capacitate superioara. Problema este clasica: cat flux putem baga de la sursa la destinatie fara a depasi capacitatea fiecarei muchii. Algoritmul pe care probabil deja il cunoasteti poarta numele Edmonds-Karp si are complexitatea O(N*M*M). Algoritmul Dinic, prezentat in acest articol, are complexitatea O(N*N*M). Am folosit notatiile obisnuite: N - numarul de noduri, M - numarul de muchii.
Exemplu
Pentru o mai buna intelegere a articolului vom lucra cu urmatorul exemplu (imagine preluata de pe "Wikipedia"http://en.wikipedia.org"):
Descriere
Algoritmul Edmonds-Karp presupune gasirea unui drum de crestere in reteaua reziduala si marirea fluxului total pana cand nu mai exista un drum de crestere. O observatie importanta este ca la fiecare pas in reteua reziduala exista mai multe drumuri de crestere