Documente Academic
Documente Profesional
Documente Cultură
8 = v
13
primul arc al drumului corespunde lui v
13
, este deci arcul (xt, x
3
).
In continuare, se lui
= maxim {mi
2
> + v
13
} = maxim {Il - oo; 22 + 9; 13 +O; 10+ 3;
:-::- 1,5
O + 1} = 22 + 9, unde 22 =
iar 9 = v
32
;
al doilea arc corespunde lui v
32
, fiind deci arcul (x
3
, X
2
). Se
n mod la dc.terrninarca tuturor ar.celor.
ln cazul unor grafuri de dimensiuni mari, nu este con-
deoarece presupune memorarea tuturor vectorilor Il 11.11 mi!> Il , ...
Varianta de organizare prezentat[! n cont inuare uumai vectolul
110
11 Il final matricea V, ceea ce poate insemna degrevarea unui nsemnat
volum de memorie n cazul problemei pe calculator.
La exemplul prezentat, este posibil avem
mi
4
> - = v
1
" pentru m{4> }.
Cum se mt
4
> -
= 39 - 31 = v
13
, primul arc
este (.1:
1
, x
3
) , acum de celorlalte 31 de
din care este format drumul Pentru aceasta, se egalitatea
= v
3
,; aYnd
= v
32
, se deduce al doilea arc al
drumului poate fi x
2
) etc.
5. Flux maxim intr-o de transport
Un graf orientat valuat G =(V, A, p), circuite, se
de transport ", -
a. X = (x
1
, x
2
, , x .. ) atunci (V) i = l,'n, avem .(Xt, Xt) f/= A ;
b. x
1
arc proprietatea (Xt, x
1
) f/= A, (V) i = T,Tl, fiind singurul vrf
cu aceste acest vrf se "sursa"
c. Yrful x,. are proprietate (x,., x
1
) A, (V) i = 1, n, fiind singurul
virf cu proprietate: vrful x,. se
d. pentru orice Yrf x
1
e X"'-{xt, x,.}, cel un drum d de Ia
x
1
la x", care trece prin vrful x
1
Definijie. O cp : A -+ n+ se " flux" pe G = (X, A, p),
-
l. (V) (xi, x,) e A, avem O cp(Xt, Xt) Po ;
2. penlm orice virf x
1
e X"'-{x
1
, Xn}, avem
x
1
) =
k=l,n
(Xt , XJ) EA
!fl(Xt, xh).
11 = 1, Il
(x j, x.) e A
Problema n vedere este a "fluxului
n care, dintre toate fluxurile cp : A -+ R+ posrbde in
"
G = (X, A, p), se se determine fluxul cp pentru care
"
1 n vederea fluxului maxim cp, vom prezenta n prealabil
unele concepte.
Astfel, un arc (xt, x,) e A se "arc saturat", in raport
cu fluxul cp are loc : cp(Xt, x,) = Plf
Fiind o Y C X, se de suport Y"
de arce
w-(Y) = {(xt, x,) e A/Xt f/= Y; x, e Y} C ;1.
in mod analog, se :
w+(Y) = {xt
1
, x,) e A/xt e Y; XJ f/= Y} CA.
111
Cantitatea :
c[w-(Y)] = Po
X J) E <>-(Y)
se "capacitate a w- (Y).
1n cu aceste nopuni, au loc :
1. Fie G = (X, A, p) o refea de transport avnd sursa .x
1
x,.; fie <p : n+ un flux oarecare in reJeaua G: atunci
<p(:l;l, Xt ) = cp(XJ, Xn),
i = l.n j = l ,n
(x,, E .1l (l'J, x ,.) E A
Cum avem w- (xJ = (v+(x,.) = f/J, deducem
f <p(Xt, .'t ;) - ?(XJ. X
11
) ) =
X J E V (a;, X; ) E <U- (o , ) ( Xj, l'!.J E w+ (x J)
cp(Xt, x,.) - 'P(x
1
, XJ) = O,
(x; , a,.) E w- (.r n) (x, ,a, ) E w- (x
1
)
ceea ce
Valoarea:
ci> = cp(x ,, .1'n) = ,l: -:p(x
1
, X J)
.rn
1
E l.J-(lt,) (.:ri ,Xj ) '2 w+(x, )
se ,.Yaloare a fluxului cp : A -> n .
2. Fie G = (X, A, p) o refea de transport, fie Y C X o
cu :
- pentru sursa xt a lui G auem .T
1
fi/= Y;
- pentru x" a lui G avem Xn e Y:
Atunci, pentru orice flux cp : A -> n+ avem :
cj> = cp(Xt, XJ) - <p(Xt, XJ) C[w- (1' )].
(.r, , .1:1) E w-(Y) (.1:t ,XJ ) E co+(Y)
: avem
<p(X;, .'I: J) - <p (Xt, XJ) = f cp(Xt, X A ) -
(xr, x; ) E w-(Y) (a, , o';) E w+( \ ' ) ,., E Y (x, , >' t) E w-(xd
cp(.l: ,,., XJ)) =
(x, , XJ) E o.+ ; .l't ) x,. E l '
( :p(.l:t, x,.)- ?(Xk, XJ)) -
(X;, Xt ) E <U-(x.) (.r, ., x ; ) E
f cp(X;, :rh) - cp(.rh, .1' j)) = q;(.T
1
, Xt) = $,
Xh E V/1 ' (a.,,tl E w- (x,, ) (Xh, x ; ) E w+(x) (:r., x
1
) E co""(l ,)
ceea ce egalitatea, inlrucL
cj> = cp(Xt, XJ) - cp(Xt, X; )
(Xi , X
1
) E w-(1' ) (.1' ; , J';) E w+ (Y)
cp(.t;, XJ) p(Xt, l :J) = C (w- (Y)).
(Xt , l'J) E w-(l' ) (XI, Xj ) E o>-( }')
Pentru simplificare vom considera toate snt numere
sau, ntruct total de arce este finit, chiar numere nat urale.
Pe baza precedente, se deduce al goritm
(Ij'ord-Fulkers<{!l) pentru determinarea fluxului maxim ntr-o de trans-
port:
1. Se un flux oarecare, cp
0
: A -> N; se poate lu a chiar
cp
0
(Xt, x,) = O, (V) (xt, x,) e A, dar interesul este de a dispune de la nceput
de un flux care asigure ct mai multe arce saturate.
112
2. Utiliznd de marcare ce vor fi prezentate ulterior, se cer-
fluxul <p
0
este maxim : de marcare constau
n :
a. sursa x
1
a cu semnul "+" ;
b. vrfurile x
1
e w+(x
1
) snt marcate cu "+x
1
", arcul (x
1
, x
1
) este
nesaturat;
e. vrful x, este deja marcat, pentru un vrf e w+(x
1
)
arcul (x
1
, xk) este nesaturat, atunci vrful prin "+x/' ;
d. vrful x
1
este deja marcat, pentru un vrf X.t e w-(x
1
)
arcul (xk, x
1
) are flux nenul, vrful x" prin "-x/'.
In urma de marcare, se pot prezenta
:
- nu s-a marcat Xn a atunci fluxul este maxim
aplicarea algoritmului se ;
- s-a marcat Xn, fluxul nu este maxim, se va trece
la majorarea fluxului prin aplicarea proceduri :
a. se alege un drum "d" de la x
1
Ia Xn ;
b. pe arcele drumului marcat cu "+", fluxul se (de
exemplu, cu o unitate) ;
c. pe arcele drumului marcat cu "-", se (de
exemplu, cu o unitate) ;
d. arcelor de pe drumurile nemarcate nu se
e. se revine la pasul 2.
Justificarea algoritmului este pe
3. Pentru o refea de transport G = (X, A, p), p: A -+ N
algoritmul Ford-Fulkerson se un finit de : fluxul
maxim cp se atinge cnd nu mai poate fi Xn a
Demonstratie. Pentru orice Y C X cu x
1
fi/= y, x" e Y
valoarea <I> a flux t?
A A
pentru valoarea <I> a fluxului maxim cp avem de asemenea
Fie Y = fx,. } ; atu nci
"
<I> c[w-(:t:n)] = 2:; p(x1, Xn) = K.
(>,, Xn)E w- (xn)
Cum la fiecare apli care a algoritmului flu xul cu cel
o unitate, deducem snt posibile cel mult K ale algoritmului.
Fie acum Y mulpmea vrfurilor ce nu pot fi marcate: aYem evident
xl fi/= Y, Xn E y .
Pentru orice arc (x1, x ,) e w- (Y) avem cp(.'t:;, x
1
) = PtJ. deoarece n cazul
contrar, cp(xt, XJ) < fJ iJ, s-ar putea marca vrful x
1
. n mod
am avea (x ,, x
1
) e w+(Y), atunci cp(X;, x
1
) = O. n final,
<f> = 2:; cp(Xt, XJ) - 2:; <p(Xt, Xt) = 2:; p(Xt, x
1
) = c[w-(g)}
(x,, :r
1
)e w-(Y) (XI, XJ)E wi(Y) (:r
1
, :r
1
) ew-(Y)
.
deci fluxul <I> este maxim, iar w-(Y) are capacitate
8 - Ma temati c! aplicate, voi. Il - cel. 229
113
Exemplul 4. Se de
transport din figura 4, n care nume-
rele din afara parantezelor ca-
arcelor, iar numerele din inte-
rior, . Yalorile unui flux care nu
nici un arc. Se
tomele ale fluxului :
- folosind drumul d
1
= (x,, :r
2
, x
4
, X
5
),
Fig. 4 fluxul se poate majora cu valo.area minim
(40-20, 15-{i, 22- 16)=6;
pe arcele acestui drum, fluxurile devin cp
12
= 26; cp
24
= 12 ; cp
4
.:; = 22;
folosi nd drumul d
2
= (xl> x
2
, x
5
), flu xul cu cantitatea minim
( 40 - 26 ; 8 - 6) = 2 ;
pe arcele acestui drum, flu xurile devin 9
12
= 28, 9
25
= 8;
folosi nd drumul d
3
= (x
1
, x
2
, x
3
, x
5
), fluxul se poate majora cu val oarea
minim (40 - 28; 12- 8, 18- 8) = 4; .
pe arcele acestui drum, fluxurile devin cp
23
= 12, '?
1
" = 12;
folosind drumul d
4
= (x
1
, x
3
, x
5
), fluxul se poate maj ora cu valoarea
minim (18 - 10, 18- 12) = 6;
- pe arcele acestui drum, flu xurile devin cp
13
= 16, '?:P = 18;
1ntruct orice drum ntre x
1
x
5
acum cel un arc saturat,
se trece la marcare : astfel, primesc :
vrful x
2
marcarea ,;+x
1
".;
vrful x
3
marcarea "+x
1
";
vrful x
4
ma.rcarea "+x
2
" "+x
3
";
vrful x
5
nu nici o marcare.
fluxul final construit este maxim, iar valoarea lui este
de 48.
6. Problema arborelui de valoare
Algoritmul Kruskal
1. Un graf neorientat finit se este
nu are cicluri.
ale unui arbore snt evidente:
1. Un arbore G are :
a. ntre orice virfuri un singur ;
b. graful din G prin suprimarea muchii este neconex;
e. graful din G prin unei muchii ntre vrfuri
oarecare cel un ciclu ;
d. un arbore avnd "n" vrfuri, cel
n;;.:: 2;
c. un arbore avnd " n" vrfuri are n - 1 muchii.
a. ntre vrfuri Xt XJ nu ar exista nici un graful nu
ar fi conex, ceea ce ar contrazice arborelui; n ceea ce
unicitatea, ntre vrfurile x, XJ ar exista atunci
un ciclu prin reuniunea celor ceea ce este imposibil ;
114
b. vom proceda prin reducere la absurd : presupunem prin supri-
marea muchiei [x, x,], graful G
1
rezultat ar fi conex, deci ntre
x
1
x
1
ar exista un d n G
1
. Atunci, prin completarea d cu muchia
[x
1
, x
1
] s-ar un ciclu n graful G, ceea ce ar contrazice
arborelui;
e. fie G = (X, A) un arbore pentru care [xt, x,] .;tA : presupunem
graful Gz vrfurile muchia [x
1
, x1] la A
de muchii nu ar cicluri; dar cum in G deja un d
intre x
1
x" reunind d cu muchia [x,, x,] se va un ciclu n Gz;
d. presupunem ar exista un arbore G = (X, A) avnd "n" vrfuri
(n 2), care ar avea cel mult o ; fie d = (x
1
, x
2
, , x,.) un
elementar maxim n G. Atunci x
1
are gra'dul cel egal cu 2, deci este
adiacent cu altul dintre vrfurile lui d, ceea ce face n G un ciclu ;
e. vom proceda prin "n", n 2 ; n cazul n = 2, arbo-
rele este format dintr-o muchie care cele vrfuri, deci
este
Presupunem orice arbore cu "m" vrfuri are m - 1 muchii.
Pen Lru un arbore G
1
cu m + 1 vrfuri, cel un vrf terminal x
0
Suprimndu-1 pe :1
0
. cu muchia lui, din G
1
se un
graf cu " m'' Y irfuri, care nu cicluri. G astfel
esle el conex: fie x
1
, :r
2
- vrfuri oarecare din G, diferite de x
0
Atunci
in G
1
llll d, adnd X
1
Xz, care nu trece prin x
0
care este in graful G, deci G
1
este conex, este arbore.
Definit-ia 2. Un graf S al grafului G, cu proprietatea cel S este
arbore, se n "arbore al grafului G.
Propozit-ia 2. Un graf este conex, numai admite un arbore
parjial.
este n mod evident : n ceea ce
G nu este el un arbore, atunci n G
cel o muchie [xt, x
1
J, care prin suprimare conduce la un graf G
1
conex. G
1
devine un arbore, atunci se ; n caz
contrar, din. G
1
sepoate suprima o muchie, un graf G
2
conex etc.
Problema pe care dorim o acum este fiind
dat un graf G neorienLat, conex valuat, ne propunem extragem din G
un arbore pentru care suma valorilor muchiilor fie
Pentru simplificare, vom presupune nti ntre orice vrfuri
ale grafului G cite o muchie, toate valorile muchiilor snt dife-
rite ele Fie X = (a
1
, a
2
, , a".), unde valoarea muchiei a
1
este cu p(a, ) = Pl Vom presupune p
1
< p
2
< ... < Pn Alg2:
ritmul (Kruskal) de determinare a arborelui minimal n
1. se alege muchia a
1
de valoare
2. se muchia az de Yaloare ;
3. fie S = {a
1
, Uz};
4. nu este cumva dat la punctul precedent, se alege
muchia de Yaloare din .1"" S, care nu cicluri cu muchiile
lui S; fie a, muchie ;
5. nlocuim S cu S U {ar} reYenim la pasul 4.
115
L
E:r:emplul 5. Fie graful neorienlat Ya-
luat din figura 5: ne propunem det ermi-
arborele minimal
a. muchia de valoare este
[x
2
, x
5
] ;
h. muchia [x
2
, care are
Yaloare dintre
c. muchia [x
4
, x
5
] avnd
Yaloare n ordinea a
trebuie deoarece un ciclu
cu precedentele deci acum vom se-
Fig. 5 lecta muchia [x
4
, x
3
] de Yaloare 4 ;
d. muchia [x
2
, x
3
] de valoare 5
toare ciclu cu precedentele trei, deci la
muchia [.r
1
, :r
2
] de valoare 6 ; intrucit am acoperit toate Yirfuril e graful ui
dat, algoritmul se aici: arborel e minimal obpnut arc valoare
de 13.
De observat ca ntre orice \'rfuri existe o muchie
este : muchii de Ya lori egale, este posibil ca problema
mai multe
7. Aplicarea problemei drumului optim in probleme
de organizare : metoda drumului critic
n scmtele prezentate mai j os, vom numi "program"
o de care conduc la realizarea unui obiectiv eco-
nomic, de exemplu, realizarea unei efectuarea unui proces teh-
nologic, etc., n care ordi nea etapelor componente este mai mult
sau mai la lati tudinea organizatorului ntre unele
etape a fi realizate se poate ntmpla existe de
obligatorii (de exemplu, cazul n care una dintre preia
produsul realizat n cadrul anterioare precizate). Un astfel de plan
de poate fi reprezentat printr-un graf,' numit .,graf de progr..1m"
sau .. graf de arcele acestui graf corespund tocmai
ce se vor executa, iar valorile ce se trec pe arce snt tocmai du ratele proiec-
tate de Vrfurile acestui graf au un rol mai mult
reprezent nd, de exemplu, evenimentul
prin a rcul ce se n acel v rf. :Qe altfel, v rfurile grafufui
de se numesc "evenimente", le vom nota prin E
1
, E
2
, . En.
Scopul studiului este stabilirea datei ntregului ansamblu de
Acest timp total nu poate fi inferior sumei timpilor cei mai nefa-
Yorabili dintre toate de la E
1
l a E,., tocmai Yalorii drumului
maxim de la E
1
la E,. n graful de Acest drum se va numi "drum
critic", iar valoarea sa va fi prin t+. .
n raport cu drumul critic, evenimentele E
1
, . , E,. se mpart n
categorii, anume : . .
- evenimentele care <lrumului critic, numite "evenimente cri-
tice": ele trehuiesc realizate l a momentui precis dat de valoarea drumului
maxim de la E
1
l a fiecare eveniment critic n parte;
- evenimentele care nu drumului critic, numite .,evenimente
necritice".
116
:J. -
I-
te
) T
u
[
Evenimentele necritice permit anumite ntrzieri n dar ntre
limite ce pot fi determinate exact. Fie astfel E, un eveniment necritic: de-
t erminnd valoarea drumului maxim (deci cel mai nefavorabil) de la Et la E,.,
ne toate care lui E, Yor putea fi efectiv rea-
lizate. pentru fiecare eveniment ne critic E, se pot determina
- valoarea t;, reprezentnd lungimea drumului maxim de la E
1
la Et;
valoare data cea mai n care trebuie
operapunea lui E,;
- valoarea t;, reprezentnd dintre valoarea t + valoarea
dru mului maxim de la E; la E".
Intervalul [1;, ( ] se "interval de al evenimentului E,
necritic, reprezentnd momentul acestuia, care nu des-
celorlalte eYenimente .
..