Sunteți pe pagina 1din 16

Capitolul X

ElEMENTE DE TEORIA GRAFURILOR


1. generale
1. Un graf G este o perecJw de forma G = (X, A), unde X este
o nwlfime iar A este o a lui X X X.
Elementele x e X se numesc "vrfuri " sau "noduri" ale grafului G, iar
perechile (x, y) e A - arce ale grafului.
Penlru un arc (x, y) e A, vrful x se extremitate sau
iar vrful y, extremitatea sau "destinafie".
Ca un exemplu, vom considera graful G = (X, A), dat de X = {x
1
, x
2
,
x
3
, x
4
} , iar A = {(x
1
, x
3
), (x
2
, x
1
), (x
3
, x
2
), (x
1
, x
4
) }.
Graful G admite o reprezentare n plan, astfel :
- cele patru vrfuri se n plan n distincte ;
- pentru fiecare a rc (xt, x;) e A, punctele Xt Xi se unesc printr-un
segment orientat.
Se astfel figura 1.
arcele a
1
, a
2
, , ale unui graf G au proprietatea extremi-
tatea a arcului a1(j = 1, k- 1) coincide cu extremitatea a
arcului a i+1 atnnci d = {a
1
, a
2
, . , a"} un
drum n graful G. extremitatea a arcului din drumul men-
tionat anterior coincide cu extremitatea a arcului a
1
, atunci drumul
se "circuit" n graful G: de circuit are o mare
Yom reveni deseori asupra ei.
drumul mai poate fi definit ca o de
vrfuri, ceea ce este de multe ori avantajos: anume, fi e d = {x,
1
, Xt
2
, . , Xt
1
,} C
C X, pentru care avem proprietatea (V) j = 1, h - 1, (X ti, Xi;+
1
) e A .
celor moduri de prezentare este Se spune despre
un drum d "trece" prin arcele prin vrfurile care le un
drnm trece de sau mai multe ori prin Yrf, el se drum
neelementar: n cazul contrar, drumul este elementar. Un drum elementar
care trece prin toate vrfurile grafului se drum hamiltonian. Uneori,
arcelor care compun un drum este numit "lungimea" acelui drum.
Arcele de forma (x
1
, x
1
) e A se numesc " bucle".
ntr-un graf G, se muchie o pereche [xt, XJ] de vrfuri pentru care
avem proprietatea (x
1
, x
1
) e A sau (xJ. Xt) e A : muchiile unui graf re-
prezentat geometric se ca segmente neorientate.
0 SUCcesiune de vrfuri lJ = {Xil Xtz, , X;t}
Fig. 1
102
un n grafulG, (V) j = l, k-1,
avem [x
1
J, XiJ+
1
) e A. se ele-
mentar nu trece de ori prin
vrf. Un avnd X t
1
= toate muchiile
distincte cte se ciclu.
rul de muchii care un se
lungimea
Un graf G este cone.1: pentru orice Y lrfuri ale sale, x y,
un o= {x, cx
1
, .. , cx
1
,, y}. Vrfuril e x, yale unui graf G se zic .,adi acente",
[:r, y] este o muchie n G; alunci se spune virfuri le .1: y snt inci-
dente la muchia [.r, y].
F ie G = (X, A ) un graf fie Y C X : spu nem arcul (cx
1
, o:
2
) este
incident inlerior mulpmii r, cxl y CXz E 1'. ayem 0(1 E ) ',
o:
2
Y (o:
1
, cx
2
) e A, atunci arcul (o:
1
, cx
2
) este incident exterior Y.
Vom nota cu w- (Y) mulpmea arcelor incidente interior lui Y, i ar cu
w+(n - arcelor incidente exlerior lui Y: w(l"J = .
= ()-Cl') U w+(Y) se de arce incidente lui Y. Fie G =
= (X, A) - un graf: atunci graful G
1
= (X, B) se "gTaf partial'
al lui G, B CA "subgraf", are strict mai vrfuri dec t G,
iar a rcele sale se prin preh!area arcelor lui G care unesc vrfuril e sub-
grafului. G
2
= (Y, C) este subgraf al lui G, Y C X
C = ( Y X Y) n A.
2. Matrici asociate unui graf
Fie G = (X, A) un graf aYnd X = {x
1
, X
2
, ... , x .. }. i\Iatricea A = Il UtJ 1
de aH= 1, pentru (x
1
, x ,) e A, Uti =O pentru (xt, x,) f/= A,
se matricea arcelor (malricea conexiunilor directe) pentru graful G.
1\Ialricea r/) = du , de rclapite do= 1 penlru cazul n care n G
cel un drum de la Xt lax, do= O n caz contrar, se
matricea dr11murilor (mat r icea conexiunilor t olale) a gr afului G.
- grafuri au malrice a arcclor
de Yirfuri), at unci cele grafuri coincid:
- grafuri avnd de vrfuri matrice a
d rumurilor, atu nci nu este obligatoriu ca aceste grafuri ace-
a rce.
P.-opozipa 1. intr-un graf G avnd ,.n" vrfuri, orice dmm elementar are
!Hngimea de cel mult n- 1.
este pentru cazul n = 2, ntrueit
ntr-u n graf cu numai Yirfuri, orice drum elemenlar est e format dintr-un
singu r arc.
Presupunem ntr-un gra f avnd k virfuri, orice drum elementar are
cel mul t k - 1 arce.
F ie acum un graf G adnd k + 1 virfuri, fie :r A-+
1
- un Yirf fixat al
acestuia. G = (X, .1), atunci subgraful G
1
corespunzind mul !imii
X"-{:r,.+
1
} are k Yirfuri . Pentru a obpne din drumuril e grafului G
1
,
de drumuri din graful G, snt posibil e trei metode :
- fiind dat un drum d
1
= fxt
1
, . , in graful G
1
, se poale obpne
drumul d = {:r;
1
, ... , 1't
1
-, xA-+d in .graful G, (:r1k> xH
1
) e .tl;
- d
1
= {xt
1
, , este drum in graful G
1
, se poale obpne
drumul d = {xHI Xt
1
, ... , x,.tJ Sn graful G aYe m (:r HI xc
1
) e A;
- aYnd drumul i.l
1
= {xt
1
, . , Xt", x'v+J .. . , :t ;.t} n graful G
1
se
poate drumul d = {x;
1
, ... , x,", :r,.+I X t" +t . . , X tk} n graful G,
ori de cite ori (xt", .1
1
-+
1
) (x
1
.+ l Xt"+
1
) snl a rce n G. Se
trecerea de l a drumuril e din subgraful G
1
l a drumurile din gra ful G presupune
unui singur arc, deci drumuril e din gr aful G Yor aYCa cel mult k
arce.
103
Fie G = (X, A) un graf, f ie X ; e X; vom introduce

- r <l) (Xti mulpmea de vrfuri din G la care se poate ajunge din vrful Xt
fol os ind drumuri formaLe dintr-un singur arc ;
- r <
2
>(:v,) - de v rfuri din G la care se poale ajunge din Xt
fol osind drumuri elementar<' formate din arce;
- r <t> (.c;) - de vrfuri din G la care se p oa t e ajunge din Xt
folosind drumuri elementare formate din k arce.
1 n aces te condij ii est e :
2. Fie G w1 graf ai' lnd " n" virfuri : atunci elementul dti(i :f j)
al matricii (/) a drumurilor grafului G este egal cu 1, numai
a\'cm
n-1
XJ e U r <> (:t: t).
S= l
Afirmapa este deoarece orice drum se p oate
trans forma ntr-un drum elementar prin suprimarea unor arce.
n vederea unor algoritmi de determinare a . matri cii drumu-
rilor, vom introduce o pe din elemen-
t ele O 1, oper a p e de ,.adunare est e
de regulil e O + O = O, O + 1 = 1 + O = 1, 1 + 1 = 1.
Atunci est e evident algoritmul de determinare a matricii drumurilor unui
graf, p lecnd de la malriqea a rcclor, din apli carea clape:
- 1. pentru construirea liniei J' din malricea r?J(i = I:ll> urmanm
ntii elemcnlele egale cu ,. t' pe linia .,i din matricea arcelor: a
1
,. = 1 ;
a ta = 1 ; ... ; a ty = 1, atunci d ta. = 1 ; c/;
13
= 1 ; . . . ; d iy = 1.
- 2. folosind adunarea se liniil e ct., , y din matricea cll
la linia "i " ; noile valori de "1" se trec n li nia " i " a matricei ([);
fi e k, 1, ... , m ocupale de aceste noi val ori n cadrul liniei;
- :1. (boolean) liniile k, 1, . . . , m din d la linia ,.i' , trecnd
noile valori de " 1" n linia " i " a matricei (/), continund procedeul
la uneia din urmr1toarcle
sau toate elrmcnLelc du (j = l. n) deYin egale cu .. 1;
sau nu mai apare nici un element egal cu .,1" , caz in care
Jocurile li bere se cu zerouri se trece
l a linia .. i + 1", pentru care se procedeul.
Una din Lre ce vor fi utilizate n continuare face. obiectul defi-
de mai jos:
3. Puterea de atingere p(x;) a vrfului .t t e X in graful G = (X,A)
este cu de vrfuri la care se poate ajunge din X t, adicil egalli cu
de elemente de "1" de pe linia "i" din matricea fl).
(/) = 11 di J il;, i=G a drumurilor graful ui G poa le indica pre-
sau circuitelor n graful G: astfel, d ii = O, (V) i = T,ll,
atunci graful G nu arc circuite; un indicei, i = 1, n, pentru care
du= 1, atunci n graful G un circuit care are ca vrf final
pe X ;.
104
ele
X;
j)

e
De exemplu, pentru gr.aful G din figura 1, matricea conexiunilor directe
este
d
o 1

o o
1 o
o o
Matricea drumurilor, din matricea est e
(l
1
;)
1
1
]
o o
o,
intrucit d
11
= 1, in graful G din fi gura 1 circuite.
ln ceea ce puterile de atingere ale Yirfuri lor, avem p(x
1
) =
= p(x
2
) = p(x
3
) = 4 ; p(x
4
) = O.
Algoritmul de determinare a matricii drumurilor prezentat anterior
este destul de lent in ce aplicarea pe calculator, avnd complexi-
tatea O(n
2
), dar este util in efectuate manual pe grafuri de dimensiuni
reduse.
Se poate observa de asemenea caracterul prea sintetic al acestui algoritm,
in sensul unei valori de "1" in matricea drumurilor nu infor-
asupra vrfurilor din care se compun drumurile bine-
nici asupra de drumuri intre vrfurile care corespund
acelor valori de "1 ".
Ca un exemplu de algoritm capabil acestor deziderate, pre-
algoritmul fundamental datorat lui A. Kaufmann, numit al "nmul-
latine". Drept punct de plecare, acest algoritm o matri ce a
conexiunilor directe, .:::<:: (
1
>, care, i n locul \alorilor de "1 ' utilizate de
matricea a arcelor, arcul respectiv, reprezentat
prin virfurile care il compun: astfel, pentru graful din figura 1, matricea x<IJ
este
Sensul simbolului "* .. este acela de a arcului".
Prin suprimarea primei litere in matricea .:::<::(ll, se o matrice .:::<:: (0>,
numitii "a posibile". Se compun matricile _::e:(ll .:::e:w> (in
0rdine) prin "concatenare" sau astfel :
se regulile din a matricilor, cu
:
- una din componentele participa nte la calcul este de
si mbolul .,*", atunci rezultatul es te .,*";
- n caz contrar, rezultatul compunerii n Si ricrea n continuare
a Yrfuri lor component e ale simbolurilor participante.
105
Kotind de compunere prin "&",
de :
introducnd
x<r+l) = x<r>&x<o>, r 1,
se matricea x<m> lista tuturor drumurilor formate din "m"
arce in graful dat. Pentru exemplul analizat, avem
3
4:*) ,
_:x 121 = _:xco & _:x <o> =
*
* *
2
*
* *
((x,,
*
(xv x2)
* *
x,)):
* *
(x2, Xl, x3) (x2, x,,
:r2, xJ)
* * *
* * * *

x3, :r2, XI)
* .*
*
(x2, xl, x3,
*
* *
(x3, Xz, Xl, x3)
* * *
3. Determinarea drumurilor hamiltoniene
in grafuri circuite
*
x,) )-
*
(:t:3, x2, xl,
*
Ca acum, vom nota prin p(x) puterea de atingere a virfului x
al unui graf. graful G nu are circuite, vom scrie matricea (/) a drumu-
rilor grafului, ordonind n prealabil vrfurile grafului in ordinea
toare a puterilor de atingere: cum se va prin acest procedeu
toale valorile de "1" din matrice vor apare deas: -pra diagonalei principale.
Pentru a justifica aceasta, intii cJ, n graful G
un drum de Ia x, la x
1
, atunci p(x
1
) < p(x
1
), deoarece orice vrf atins din x
1
poate fi atins din Xt, printr-un drum in cadrul unei de
concatenare. ar mai fi posibil ca dtJ = 1, cu i > j, atunci
p(xr) > p(x
1
), ceea ce, conform privind rearanjarea liniilor
coloanelor, nu mai este posibil.
1
O astfel ele a matricii (/) se
t superior". are proprietatea fiecare
element egal cu "1" de pe fiecare linie a matricii drumului corespunde unui
drum format dintr-un singur arc. presupunem d,.b = 1,
(a< b) este prima valoare de "1" de pe linia "a", un drum de
cel arce, d = (a, h, b), atunci vrful xA ar verifica p(xA) >
> p(.1:b), deci, pe de o parte, csLe sigpr xA va precede pe xb, iar pe de
parle, am avea dAb = 1, ceea ce am presupus nu se
Aceste simple permit elaborarea unui algoritm de determi-
nare a drumurilor hamiltoniene n grafuri circuite, cum :
Teorema (Y. Chen). Un graf circuite, care are "n" vrfuri,
un drum hamillonian, numai avem :
p(Xt) = n (n 2- 1) .
i = 1, n
106
Fie d = (x
1
, x
2
, , x,.) drumul hamiltonian n G; aturrci :
- i > j, din x
1
nu se poate atinge vrful Xt, deoarece n caz contrar
n G ar exista circuite ;
- din drful Xt (i = se pot atinge virfurile Xt+t X t.L
2
, , x,.,
deci p(."Ct) = n - i ;
din vrful Xn nu se poate atinge nici un vrf.
n total avem deci :
L: = L: (n _ i) = n(n; 1).
i=l,n i = l,n
Invers, presupunem :
p(Xt) = n(n -1) .
LJ 2 '
i=l , Il
atunci n matricea-0 se n(n- 1)/2 elemente de "1 . 1riangulariznd
superior matrice, aceste elemente vor ocupa toate locuri le disponi-
bile de deasupra diagonalei : n final, drumul hamiltonian esle claL
de succesiunea Yrfurilor matricii superior.
Se ntr-un graf circuite, cel mult un drum hamil-
tonian. n ar exista drumuri hamiltoniene distinclr,
d)}' atunci n cele drumuri ar exista cel virfuri Xa, .1:
0
n ordine ceea ce ar face un circuit ntre -xa :rb.
Algoritmul fi nal de determinare a drumului hamiltonian n apli-
carea etape :
1. se scrie matricea fZ) = 11 di
1
11 a drumurilor: un indice
,.i" pentru care d11 = 1, aLunci graful are circuite deci algoritmul Y. Chen
nu se poalc aplica:
2. n caz conLrar, n malrice n(n - 1 )/ 2 valori de " 1 ",
graful admiLe drum hamil tonian se poate trece la ct.apa
de valori de "1" este mai mic dect n(n - 1 )/ 2, graful nu arc drum
hamiltonian ;
!l. ordinea virfurilor n cadr ul drumului hamiltonian esle de (lr-
dinea a puterilor de atingere.
Exemplul J.: drumul hamiltonian pent ru graful din
figura 2.
Penlru accsl graf, matricea arcelor malricca drumuri lor sint
tonrelc :
(l
o o o
fJ.
o
()
1
1
()
1
o o
()
o o o
' 0 o o o
lJ.
0 (l
o o 1
1 o 1
o o o
Fig. 2 o o o o
107
deci p(x
1
) = 1, p(x
2
) = 3, p(x
3
) = 4, p(x
4
) = 2, p(:t
5
) = O. Cum este verifi-
teoremei, deducem n graful dat drum hamiltonian.
Cum avem p(.1:
3
) > p(:c
2
) > p(x
4
) > p(x
1
) > p(x
5
), acest drum va fi du =
= (:r
3
, x
2
, x
4
, x
1
, X;;) .
p rincipalul algoritm (elementar) de determinare a dru-
murilor hamiltoniene n grafuri avnd circuite algoritmul Kaufmann :-
unui clement diferit de ., *" pe diagonal a uneia dintre matricile _x<h)
din cadrul acestui algoritm att de exemplu, a unui circuit
hamiltonian, ct ordinea vrfuril or. n ceea ce drumurile hamilto-
ni ene intr-un graf avnd "n' vrfuri, ele coresp und elementelor diferite de "*"
di n matricea _x<n>.
4. Drumuri de valoare ntr-un graf :
algoritmul Bellman - Kalaba
F ie G = (X, A) un graf ; vom introduce o p: X --+ n+, pent ru
care vom nota: (x
1
, x
1
) e A = p(x1, x
1
) = p ;;.
Pii va fi numit .. valoarea" arcului (x;, XJ), iar p- funcpe
de valuare a graful ui. Un graf nzestrat cu o de valuare v a fi numit
:.graf va fi notat cu G = (X, A, p). Pentru un drum d = (x;
1
,
:t;
2
, , XtA:) n graful G, vom numi " valoare a drumul ui , suma valorilor
arcelor componente, :
Ne propunem abordarea probleme : fiind dat u n graf valuat
un vrf Xn e X fixat, drumul " d' de la un virf oarecare X; la
virful Xn, pentru care valoarea p(d) fie
Drept instrument de lucru se o matrice, " matricea
a valorilor a rcelor", V= 1
1
v
11
11, ale elemente se
astfel :
l
O, pentru i = j,
V ;J = PtJ. e A ,
co, daca z =1= J (."C;, XJ) f{= A.
Fie, de asemenea, m!"> - valoarea mtmma a drumului d de la X t la Xn
n graful dat, considerat n drumurilor de cel mult k arce : vom
n ota prin m; - valoarea a drumului de l a X; la Xn, n
mu!J imea t ut uror drumurilor (indiferent de de arce componente).
n determinarea matricilor 11 ll i=G li mt lri=G ne pe
: .
10.8
l. Pentru orice k e N* avem
mfhl) = minim {viJ + m?>}.
i =T.Ii
i -
L
! -
1)
t
este deoarece un drum de cel mult
le + 1 arce cu Xn se poate dintr-un drum de cel mult k arce
cu dcsl inapa Xn, prin unui arc la nceputul
m?'+l
1
= minim {v
0
+ minim minim {v
11
+
j = t;li {dd
2. Dac(t k e N* pentru care mlk' = mlk+l>, pentru
orice i = G, atunci :
a) = (V) i = 0, (V)s 1.: + 1 ;
b) mf = m ;, (V) i = 0-
Demonslra!ie. Vom demonstra proprietatea a) prin s:
penlru s = 1.: + 1, proprietatea esle conform
- presupunnd proprielalea pentru o valoare s h, avem
mf
11
- l> = minim {vu + = minim {v11 + mfk'} = mf+
1
.

P ropri etatea b) n mod evident, de vreme ce de noi
arce nu ma i conduce la drumuri de valoare mai Din cele pre-
zentate deducem algoritmul de construire a Yectorulu i 11 mc l! i=l.fl; acesta
n aplicarea etape :
J. se matricea V = 11 VtJ li;, i=T,li pentru graful dat;
2. se matricii \', liniile suplimentare 11 mf
0
11, 11 ml
2
' 11 . . .. ,
aslfel :
a. linia 11

11 coincide cu coloana 11 v Jn II]=T.n ;
b. presupunnd linia 11 mlk) ll i=f.l1 se linia
11 m\!:+l ) 11 ;=[,11 conform 1 ;
c. se aplicarea fazei (b) la a linii
11 11 , 11 mlk+l J 11 identice.
3. se linia "i " din V cu linia 11 m <f+l> 11, rezultatul '
minim ce se poate : presupunem
atunci primul arc din drumul minim de l a x
1
l a Xn este arcul (x
1
, x
1
). In con-
tinuare, se linia " j" din V cu 11 11, noua valoare
pe coloana .,!.:" ; atunci al doil ea arc este (x,, etc.
Exemplul 3. F ie graful valuat din
figura 3 : ne propunem lun-
gimile drumurilor maxime cu x
5

Pent ru acest graf avem p
12
= 2 ; p
13
= 2
= 8 ; P24 = 12 ; P2s = 2; P32 = 9 ; P 3t> = 1
P
34
= 3; p
45
= 10. n matricea V, din cauza
faptului se
valorilor drumurilor maxime, vom pune :
(xt. x,) </::. A => v
0
= _:.._ w. Se matri-
cea la care s-au
liniile si1plimentare din pagina ) 7ig. 3
.109
o
- oo
- 00
-00
- 00
-00
1
Il ml
2
' 11
11
24
-
39
3H
X
2
2
o
9
-00
- 00
2
22
22
22
22
8 1 - 00
-00
12 2
o
3 1
- Y) o 10
-00 -00 o
1 10 o
13 10 o
31 10 o
31 10 o
31 10 o
Cum m\
4
' =

(V) i = 1, 5, algoritmul ia linia li ml


4
' con-
deja Jungimil e drumurilor maxime de la toate vrfurile grafului, la
vrfu l x5 Ca un exemplu, valoarea m1
4
' = 39 drumul maxim de
la xt la x5 are Yaloarea 39. efectiv arcele care compun acest
drum.
Cum mf
4
> > mi
3
>, deducem acest drum este format din exact 4 arce:
pe de parte,
mf
4
> = n:axi_m {ml
3
' + Vt
1
} = maxim {24 + O; 22 + 2; 3(+ 8_;
1= 1.:>
- oo +O}= 31 + 8, unde 31 =

8 = v
13

primul arc al drumului corespunde lui v
13
, este deci arcul (xt, x
3
).
In continuare, se lui

pentru a determina .cel


de-al doil ea arc al drumului: avem

= 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 .
..

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