Documente Academic
Documente Profesional
Documente Cultură
Cap X Elemente de Teoria Grafurilor PDF
Cap X Elemente de Teoria Grafurilor PDF
§ 1. Noţiuni generale
102
Un graf G este cone.1: dacă pentru orice dou ă Y lrfuri ale sale, x ş i y, exislă
un lanţ o= {x, cx 1, •.. , cx 1,, y}. Vîrfurile x, yale unui graf G se zic .,adi acente",
dacă [:r, y] este o muchie în G; alunci se sp une că virfurile .1: ş i y s înt inci-
dente la mu chia [.r, y].
F ie G = (X, A ) un graf şi fie Y C X : spu nem că arcul (cx1 , o: 2) este
incident inlerior mulpmii r, dacă cxl ~ y şi CXz E 1'. Dacă ayem 0(1 E ) ',
o: 2 rţ. Y şi (o:1 , cx2) e A, atu nci arcul (o:1, cx2) este incident exterior mulţimii Y.
Vom nota cu w- (Y) mulpmea arcelor incidente interior lui Y, iar cu
w+(n - mulţimea arcelor incidente exlerior lui Y: mu l ţim ea w(l"J = .
= (·)-Cl') U w+(Y) se numeşlc mulţime de arce incidente lui Y. Fie G =
= (X, A) - un graf: atunci graful G1 = (X, B) se numeşte "gTaf partial·'
al lui G, dacă B CA şi "subgraf", d acă are strict m ai puţine vîrfuri decî t G,
iar a rcele sale se obţin prin preh!area arcelor lui G care unesc vîrfuril e sub-
grafului. Aşadar, G2 = (Y, C) este subgraf al lui G, dacă Y C X şi dacă
C = ( Y X Y) n A.
103
Fie G = (X, A) un graf, şi f ie X; e X; vom introduce următoarele
notaţii:
- r <l) (Xti mulpmea de vîrfuri din G la care se poate ajunge din vîrful Xt
fol os ind drumuri formaLe dintr-un singur arc ;
- r <2>(:v,) - m u l-ţim ea de vî rfuri din G la care se poale ajunge din Xt
fol osind drumuri elementar<' formate din două arce;
- r <t> (.c;) - mulţim ea de vîrfuri din G la care se p oa te ajunge din Xt
folosind drumuri elementare formate din k arce.
1n a ces te condij ii es te valabilă următoarea a firm a-ţ i e :
PJ'OJlOZiţia 2. Fie G w1 graf ai' lnd " n" virfuri : atunci elementul d ti(i :f j)
al matricii (/) a d rum urilor grafului G este egal cu 1, d acă şi numai dacă
a\'cm relaţia
n-1
XJ e U r <·•> (:t: t).
S= l
104
ele
De exemplu, pentru gr.aful G din figura 1, matricea conexiunilor directe
este
X;
o
~ (~ ~)
1
o o
d 1 o
o o
j) Matricea drumurilor, obţinută din matricea precedentă, est e
t"ă
0 ~ (l
1
1
1 ] ;)
o o o,
intrucit d11 = 1, in grafu l G din figura 1 ex istă circuite.
ln ceea ce priveşte puterile de atingere ale Yirfurilor, avem p(x1 ) =
= p(x2) = p(x3 ) = 4 ; p(x4 ) = O.
Algoritmul de determinare a matricii drumurilor prezentat anterior
este destul de lent in ce priveşte aplicarea pe calculator, avînd complexi-
tatea O(n 2 ), dar este util in aplicaţi i efectuate manual pe grafuri de dimensiuni
reduse.
Se poate observa de asemenea caracteru l prea sin tetic al acestui algoritm,
in sensul că prezenţa unei valori de "1" in matricea drumurilor nu dă infor-
maţii asupra vîrfurilor din care se compun drumurile corespunzătoare, bine-
inţeles ş i nici asupra numărului de drumuri intre vîrfurile care corespu nd
acelor valori de " 1".
Ca un exemplu de algoritm capabil să răsp und ă aces tor deziderate, pre-
zentăm a lgoritmul fundamental datorat lui A. Kaufmann, numit al " înmu l-
ţirii latine". Drept punct de plecare, acest algoritm foloseşte o matri ce a
conexiunilor directe, notată .:::<:: (1>, care, in locul \·alorilor de "1 '·utilizate de
matricea obişnuită a arcelor, utilizează însu şi arcul respectiv, reprezen tat
prin virfurile care il compun: astfel, pentru graful din figura 1, matricea x<IJ
e este
105
Kotind această regulă de compunere prin "&", ŞI introducînd relaţia
de recurenţă :
x<r+l) = x<r>&x<o>, r ~ 1,
se obsen·ă că matricea x<m> conţine lista tuturor drumurilor formate din "m"
arce in graful dat. Pentru exemplul analizat, avem
* 3
* * 4:*) ·, _:x 121 = _:xco & _:x <o>=
2 *
* *
~ c·
x3, :r2, XI) * .* *
* (x2, xl, x3, x~) * *
* * (x3, Xz, Xl, x3) (:t:3, x2, xl, x,) )-
* * * *
i = 1, n
106
Demonstraţie. Fie d = (x1 , x 2 , ••• , x,.) drumul hamiltonian în G; aturrci :
- dacă· i >
j, din x 1 nu se poate atinge vîrful Xt, deoarece în caz contrar
în G ar exista circuite ;
- din drful Xt (i = -:-1-,.-n-~1 ) se pot atinge virfurile Xt+t• X t.L , •• • ,
2
x,.,
deci p(."Ct) = n - i ;
din vîrful Xn nu se poate atinge nici un vîrf.
în total avem deci :
Invers, să presupunem că :
~ p(Xt) = n·(n -1) .
LJ
i= l ,Il
2 '
10.8
i- Demonstraţia propoziţiei este evidentă, deoarece un drum de cel mult
L
le + 1 arce cu destinaţia Xn se poate ob-ţine dintr-un drum de cel mult k arce
cu dcslinapa Xn, prin adăugarea unui arc la începutul său . Aşadar,
m?'+l 1 = minim {v 0 + minim {p(d.~;)}} = minim {v 11 + m ~t>}.
j = t;li {d d j=~
!-
t
a) m ~kJ = m ~•> , (V) i = 0, (V)s ~ 1.: 1; +
b) mf = i = 0-
m ;, (V)
Demonslra!ie. Vom demonstra proprietatea a) prin inducţie după s:
penlru s = 1.: + 1, proprietatea esle adevărată conform enunţul u i;
- presupunînd proprielalea adevă rată pentru o v aloare s ~ h, ave m
mf11 - l> = minim {vu + m ~M} = minim {v11 + mfk'} = mf+ 1.
j =~ j =~
atunci primul arc din drumul minim de la x 1 la Xn este arcul (x 1, x 1). In con-
tinuare, se adună linia " j" din V cu 11 m <~+l > 11, reţinînd noua valoare minimă,
aflată pe coloana .,!.:" ; atu nci al doilea arc este (x,, x.~:) etc.
Exemplul 3. F ie graful valuat din
figura 3 : ne propunem să determinăm lun-
gimile drumurilor m axime cu desti naţia x 5 •
Pent ru acest graf avem p 12 = 2 ; p 13 = 2
.109
X2
o 2 8 1 - 00
- oo o -00 12 2
- 00 9 o 3 1
-00 -00 - Y) o 10
- 00 - 00 -00 -00 o
-00 2 1 10 o
1
Il ml 2 ' 11 11 22 13 10 o
24 22 31 10 o
-
39 22 31 10 o
3H 22 31 10 o
aşadar, al doilea arc corespunde lui v32 , fiind deci arcul (x3 , X 2 ). Se contiuuă
în mod asemănător pînă la dc.terrninarca tuturor ar.celor.
ln cazul unor grafuri de dimensiuni mari, această metodă nu este con-
venabilă, deoarece presupune memorarea tuturor vectorilor Il m~ll 11.11 mi!> Il, ...
Varianta de organizare prezentat[! în cont inuare uiilizează u·u mai· vectol·ul
110
11 m~"> Il final şi matricea V, ceea ce poate insemna degrevarea unui însemnat
volum de memorie în cazul rezolvării problemei pe calculator.
La exemplul prezentat, urmărim dacă este posibil să avem
mi4> - m~4> = v1" pentru {m~4> fm~4) ~ m{4> }.
Cum se constată că mt4 > - m~ 4 > = 39 - 31 = v13, rezultă că primul arc
este (.1:1, x 3) , rămînînd acum de urmărit provenienţa celorlalte 31 de unităţi
din care este format drumul rămas. Pentru aceasta, se studiază egalitatea
m~ 4 > - m~ 4 > = v3 , ; aYînd m~4 > - m~ 4 > = v32 , se deduce că al doilea arc al
drumului poate fi (x~, x 2 ) etc.
111
Cantitatea :
c[w-(Y)] = ~ Po
(~·t. X J) E <·>-(Y)
Demonstraţie. Cum avem relaţia evidentă w- (xJ = (v+(x,.) = f/J, deducem că:
~ f ~ <p(Xt, .'t;) - ~ ? (XJ. X 11 ) ) =
XJ E V (a·;, X; ) E <U- (o·, ) ( Xj, l'!.J E w+ (x J)
Demonstraţie : avem
~ <p(X ;, .'I:J) - ~ <p (Xt, XJ) = ~ f ~ cp(Xt, X A·) -
(x r, x ; ) E w-(Y) (a·, ,o';) E w+( \ ' ) ,., E Y (x,, >'t) E w-(xd
112
2. Utilizînd operaţiile de marcare ce vor fi prezentate ulterior, se cer-
cetează dacă fluxul iniţial <p0 este maxim : operaţiunile de marcare constau
în · următoarele :
a. marcăm sursa x 1 a reţelei cu semnul "+" ;
b. vîrfurile x 1 e w+(x1 ) sînt marcate cu "+x1 ", dacă arcul (x1 , x 1) este
nesaturat;
e. dacă vîrful x, este deja marcat, şi dacă pentru un vîrf X.~: e w+(x1)
arcul (x 1, xk) este nesaturat, atunci marcăm vîrful X.~: prin "+x/' ;
d. dacă vîrful x 1 este deja marcat, şi dacă pentru un vîrf X.t e w-(x 1)
arcul (xk, x 1) are flux nenul, marcăm vîrful x" prin "-x/'.
In urma terminării operaţiei de marcare, se pot prezenta următoarele
situaţii :
- dacă nu s-a marcat destinaţia Xn a reţelei, atunci fluxul este maxim
şi aplicarea algoritmului se termină ;
- dacă s-a marcat destinaţia Xn, fluxul nu este maxim, şi se va trece
la majorarea fluxului prin aplicarea următoarelor proceduri :
a. se alege un drum "d" de la x1 Ia Xn ;
b. pe arcele drumului marcat cu "+", fluxul se majorează (de
exemplu, cu o unitate) ;
c. pe arcele drumului marcat cu " -", ~luxul se micşorează (de
exemp lu, cu o unitate) ;
d. flu~ul arcelor de pe drumurile nemarcate nu se schimbă;
e. se revine la pasul 2.
Justificarea algoritmului este bazată pe următoarele:
Propoziţia 3. Pentru o refea de transport G = (X, A, p), p: A -+ N
algoritmul Ford-Fulkerson se termină după un număr finit de paşi : fluxul
maxim cp se atinge cînd nu mai ·poate fi marcată destinaţia Xn a reţelei.
Demonstratie. Pentru orice Y C X cu proprietăţile x1 fi/= y, x" e Y ştim
că valoarea <I> a oricărui flu x t? verifică
A A
Aşadar, pentru valoarea <I> a fluxului maxim cp avem de asemenea
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 şi vîrful x 1. În mod asemănător.
dacă 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,, :r1)e w-(Y)
.
deci fluxul <I> este maxim, iar
(XI, XJ)E wi(Y)
tăietura
(:r1, :r1) ew-(Y)
114
b. vom proceda prin reducere la absurd : să presupunem că prin supri-
marea muchiei [xî, x,], graful parţial G1 rezultat ar fi conex, deci că între
x 1 şi x 1 ar exista un lanţ d în G1 . Atunci, prin completarea lanţului d cu muchia
[x 1, x 1] s-ar obţine un ciclu în graful iniţial G, ceea ce ar contrazice definiţia
arborelui;
e. fie G = (X, A) un arbore pentru care [xt, x,] .;tA : să presupunem că
graful Gz obţinut păstrînd vîrfurile şi adăugînd muchia [x1, x1] la mulţimea A
de muchii iniţiale nu ar conţine cicluri; dar cum in G există deja un lanţ d
intre x 1 şi x" reunind lanţul d cu muchia [x,, x,] se va obţine un ciclu în Gz;
d. presupunem că ar exista un arbore G = (X, A) avînd "n" vîrfuri
(n ~ 2), care ar avea cel mult o destinaţie ; fie d = (x1 , x 2 , ••• , x,.) un lanţ
elementar maxim în G. Atunci x 1 are gra'dul cel puţin egal cu 2, deci este
adiacent cu altul dintre vîrfurile lui d, ceea ce face să apară în G un ciclu ;
e. vom proceda prin inducţie după "n", n ~ 2 ; în cazul n = 2, arbo-
rele este format dintr-o singură muchie care uneşte cele două vîrfuri, deci
afirmaţia este adeYărată.
Presupunem că orice arbore cu "m" vîrfuri are m - 1 muchii.
Pen Lru un arbore G1 cu m + 1 vîrfuri, există cel puţin un vîrf terminal x0 •
Suprimîndu-1 pe :1·0 împreună . cu muchia incidentă lui, din G1 se obţine un
graf cu " m'' Yirfuri, care nu conţine cicluri. Să arătăm că G astfel o bţinut
es le şi el conex: fie x 1 , :r2 - două vîrfuri oarecare din G, diferite de x 0 • Atunci
in G1 exis lă llll )anţ d, adnd extremităţile X1 Şi Xz, lanţ care nu trece prin x 0
şi ca re este l a nţ ş i in graful G, deci G1 este conex, adică este arbore.
115
E:r:emplul 5. Fie graful neorienlat Ya-
luat din figura 5: ne propunem să det ermi-
năm arborele minimal co respu nzător.
a. muchia de valoare minimă este
[x 2, x 5 ] ;
h. selectăm muchia [x2 , :r~] care are
Yaloare minimă dintre muchiţ\e rămase;
c. muchia [x4 , x5 ] avînd următoarea
Yaloare în ordinea crescătoare a mărimilor
trebuie omisă deoarece formează un ciclu
cu precedentele două, deci acum vo m se-
Fig. 5 lecta muchia [x4 , x3] de Yaloare 4 ;
~ d. muchia [x 2 , x3 ] d e valoare 5 urmă-
toare formează ciclu cu precedentele trei, deci la această etapă selectă m
muchia [.r1 , :r2 ] de valoare 6 ; intrucit am acoperit toate Yirfu rile graful ui
dat, a lgoritmu l se opreşte aici: a rborele minimal obpnut arc va loare
to ta lă de 13.
De observat că pretenţ i a ca între orice două \'Îrfuri să existe o muchie
este nee~enţială : dacă există ş i muc hii de Ya lori egale, este posibil ca problema
să admită mai multe solu ţ ii.
116
L
:J.- Evenimentele necritice permit anumite întîrzieri în execuţie, dar între
IÎ- limite ce pot fi determinate exact. Fie astfel E , un eveniment necritic: de-
t erminînd valoarea drumului maxim (deci cel mai nefavorabil) de la Et la E,.,
te ne asigurăm că toate operaţiile care urmează lui E, Yor putea fi efectiv rea-
lizate. Aşadar, pentru fiecare eveniment ne critic E, se pot determina două
mă rimi:
- valoarea t;, reprezentînd lungimea drumului maxim de la E 1 la Et;
aceas tă valoare reprezintă data cea mai apropiată în care trebuie terminată
)T operapunea co respunzătoare lui E,; ·
u - valoarea t;·, reprezentînd diferenţa dintre valoarea t + şi valoarea
dru mului maxim de la E; la E".
Intervalul [1;, ( ] se numeşte "interval de fluctuaţie " al evenimentului E,
necritic, reprezentînd momentul terminării acestuia, care nu perturbă des-
făş u rarea ce lorla lte eYenimente .
..
[