Sunteți pe pagina 1din 7

φεφ ∈∉ ≠

1.Retele de transport

Definitie. Fie G=(V,M) un graf orientat. Se numeste retea de transport ansamblul


R=(G,st,fin,c), unde:
- G este graful orientat;
- st ∈ V, si d+ (st)>0, d‫(־‬st)=0 ;
- fin ∈ V, fin≠st, d‫(־‬fin)>0, d + (st)=0.
- c: VXV - > N. Daca [i,j] ∉M, atunci Ci,j=0.
Exemplu: Fie o retea de transport in care st este nodul 1, fin este nodul 7, iar valorile diferite
de 0 ale functiei c sunt trecute pe arcuri:

Semnificatie:
- De la st la fin trebuie transportat ceva anume.
- Functia c are semnificatia de capacitate de transport intre oricare doua noduri.

2. Flux intr-o retea de transport

Definitie: fie reteaua de transport R«(G,st,fin,c), unde G=(V,M).Numim flux al retelei R


o functie φ:VXV->N care indeplineste urmatoarele doua conditii:
1 Pentru orice arc avem: 0<=φ(i,j)<=c(i, j‫ ־‬adica fluxul nu poate depasi capacitatea arcului
respective;
Observatie:pe arce inexistente fluxul e 0.

2 Pentru orice varf din i ∈V-{st,fin} suma valorilor asociate prin φ pentru arcele care ies din i
este egala cu suma valorilor asociate prin φ pentru arcele care intra in i

=>Deci, suma valorilor asociate prin φ pentru arcele care pleaca din st este egala cu suma
valorilor asociate prin φ pentru arcele care ajung in fin.

Definitie. Se numeste valoarea fluxului φ suma;

S= ∑ φ(st , j)= ∑ φ( j , fin¿)¿


j ∈V j∈ V

Exemplu: fie reteaua de transport de mai jos in care st=1, fin=8 si pentru fiecare arc se
asociaza doua numere: primul dintre ele este capacitatea arcului, iar al doilea valoarea
asociata prin φ.

- Pentru fiecare nod valoarea asociata prin φ este mai mica sau egala decat capacitatatea
arcului respectiv. De exemplu, pentru [1,2] capacitatea este 7, iar valoarea asociata prin
φ este 4.
- Pentru orice nod diferit de st si fin, suma valorilor asociate prin φ arcelor care intra
in nodul respectiv este egala cu suma valorilor asociate prin φ arcelor care ies din nodul
respectiv. De exemplu, pentru nodul 7 intra un arc cu valoarea 4 si ies doua arce cu
valorile 1 si 3.
- Valoarea S a fluxului este 9. Ea se obtine ca suma a valorilor asociate arcelor care ies din
st (4+1+4), fie ca suma a valorilor arcelor care intra in fin (1+5+3).
- Fluxul are semnificatia de transport la un moment dat de la st la fin, transport care se
face in limita capacitatii drumurilor intre noduri si in care suma valorilor transportate care
ajung intr-un nod intermediar este egala cu suma celor care ies.
- fiind data o retea de transport exista mai multe functii φ, fiecare avand valoarea ei
(valoarea fluxului).
- Fiecare retea R admite fluxul nul -adica toate valorile lui φ sunt nule.

3.Determinarea fluxului de valoare maxima

Problema. Se da reteaua R-(G,st,fin,c), pe care este definit un flux φ .Se cere un flux de
valoare maxima pentru reteaua respectiva:φmax
Exemplu:fie reteaua urmatoare in care st=1 si fin =8

Fie un drum in reteaua R , de la st la fin, in care orice arc poate fi parcurs fie in sensul in care
este orientat fien in sens invers.

Exemple de drumuri de la st la fin:


a)1 2 3 8 –toate arcele sunt parcurse in sensul pe care il au;
b)1 5 7 6 8 – drum in care arcul [5,7] este parcurs invers;

Definitie:Fiind dat un drum de la st la fin, fiecarui arc i se asociaza un numar numit valoare
reziduala, astfel:

C(i,j) – φ(i,j), pt [i,j] parcurs direct


Vr(i,j)= φ(i,j), pentru [i,j] parcurs invers
Exemplu:pentru drumul 1 5 7 6 8 avem vr(1,5)=2-1=1; vr(5,7)=1;vr(7,6)=8-3=5;
Vr(6,8)=6-3=3;
Definitie:Se numeste drum in crestere in reteaua R un drum de la st la fin in care orice arc poate fi
parcurs, fie in sensul in care este dat, fie in sens invers, si in care valoarea reziduala a fiecarui arc e
diferita de 0

Exemple:
a)1 5 6 7 8 este un drum in crestere pentru ca este de la st la fin si valoarea reziduala a
fiecarui arc e diferita de 0.

b)1 2 3 8 nu este un drum in crestere pentru ca valoarea reziduala a arcului [1,2] este 0.

Definitie:Capacitatea reziduala a unui drum in crestere este minimul valorilor reziduale ale
arcelor care il alcatuiesc, si se noteaza cu ε.

Exemplu:pentru drumul in crestere 1 5 7 6 8


ε=min(1,1,5,3)=1
Criteriul de marire a fluxului :fiind dat un drum in crestere de capacitate reziduala ε, modificam valorile
de terminate de φ pentru a obtine un flux de valoare mai mare φ’:
φ(i,j), daca (i,j) nu apartine drumului in crestere

φ’(i,j)= φ(i,j)+ ε, daca (i,j) este parcurs in sens direct

φ(i,j)- ε, daca (i,j) este parcurs in sens invers

Exemplu: pentru reteaua anterioara si drumul in crestere1 5 7 6 8

φ’(1,5)=1+1=2;
φ’(5,7)=1-1=0;
φ’(7,6)=3+1=4;
φ’(6,8)=3+1=4;
- φ’> φ , pentru a fi marita valoarea pe un arc care iese din st
- drumul respecta conditia 2 a fluxului pentru ca , un nod prin care trece drumul in crestere
- se poate gasi in una din situatiile:

Se mareste valoare pe ambele arce, deci ce intra =ce iese

Pe primul arc se mareste valoarea ,pe al doilea scade

deci ce intra=ce iese

Pe primul arc se scade valoarea , pe al doilea se mareste

deci ce intra=ce iese

Pentru a gasi fluxul de valoare maxima trebuie sa gasim un drum in crestere pentru care
putem mari fluxul prin capacitatea sa reziduala, apoi sa gasim un alt drum in crestere
pentru care sa marim din nou fluxul….pana cand nu mai avem drumuri in crestere. Atunci
cand nu mai avem drumuri in crestere vom avea fluxul de valoare maxima.

Algoritmul lui FORD FULKERSON


Se porneste de la o retea de transport R.

P 1. Se asociaza retelei un flux φ.Pentru simplitate, φ este fluxul nul


P 2. Se cauta un drum in crestere cu un numar minim de muchii => se face o parcurgere bf a
grafului.
P3. In cazul in care acesta a fost gasit, ceea ce
este echivalent cu introducerea in coada a nodului
fin, se actualizeaza valorile fluxului pe drumul
gasit si se trece la P2. Altfel, se trece la P4.

P4. Se afiseaza fluxul maxim.

Exemplu. Fie reteaua de transport urmatoare, la

care am asociat fluxul nul.

Drumul in crestere cu numar minim de muchii este: 1 2 3 7. El are valoarea reziduala 1.


Dupa actualizare, se obtine un flux, mai mare cu 1:

Se cauta un alt drum in crestere. El este 1 4 3 2 5 6 7. Valoarea sa reziduala este 1.


Dupa actualizare se obtine:
Intrucat nu mai exista drumuri in crestere, am obtinut fluxul de valoare maxima care este 2.

S-ar putea să vă placă și