Documente Academic
Documente Profesional
Documente Cultură
Cap X Elemente de Teoria Grafurilor PDF
Cap X Elemente de Teoria Grafurilor PDF
1.
Noiuni generale
102
lungimea
lanului.
Un graf G este cone.1: dac pentru orice dou Y lrfuri ale sale, x i y, exisl
{x, cx 1, .. , cx 1,, y}. Vrfurile x, yale unui graf G se zic .,adi acente",
y] este o muchie n G; alunci se sp une c virfurile .1: i y s nt incidente 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 mulimii Y.
Vom nota cu w- (Y) mulpmea arcelor incidente interior lui Y, iar cu
w+(n - mulimea arcelor incidente exlerior lui Y: mu l im ea w(l"J = .
= ()-Cl') U w+(Y) se numelc mulime de arce incidente lui Y. Fie G =
= (X, A) - un graf: atunci graful G1 = (X, B) se numete "gTaf partial'
al lui G, dac B CA i "subgraf", d ac are strict m ai puine vrfuri dec t G,
iar a rcele sale se obin prin preh!area arcelor lui G care unesc vrfuril e subgrafului. Aadar, G2 = (Y, C) este subgraf al lui G, dac Y C X i dac
C = ( Y X Y)
A.
lan
dac [:r,
un
o=
= Il
UtJ 1
leai
a rce.
P .-opozipa 1. intr-un graf G avnd ,.n" vrfuri, orice dmm elemen tar are
!Hngimea de cel mult n- 1.
Demonstraie. Afirmai a este ev ident pentru cazu l n = 2, ntrueit
ntr-u n graf cu numai dou Yirfuri, orice drum elemenlar est e format dintr-un
singu r arc.
Presupunem c ntr-un g ra f av nd k virfuri, orice drum elementar are
ce l mul t k - 1 arce.
F ie acum un graf G ad nd k
1 virfuri, i fie :r A-+ 1 - un Yirf fixat a l
acestu ia . D ac G = (X, .1 ), atunc i subgraful G1 corespu nzind m ul !imii
X "-{:r,.+1 } are k Yirfuri. Pentru a obpne din drumuril e g ra fului G1 , mulimea
de drumuri din graful G, o bse rv m c snt posibile trei metode :
- fiind dat un drum d 1 = fxt1 , . , Xt.~:} in g raful G1 , se poale obpne
drumu l d = {:r;1, . . . , 1't1-, xA-+d in .graful G, d ac (:r1k> xH 1) e .tl;
- dac d 1 = {xt 1, , Xt.~:} este drum in grafu l G1, se poale obpne
drum ul d = {xHI Xt1, ... , x,.tJ dac Sn graful G aYe m (:r H I xc1) e A;
- aYnd drumu l i.l1 = {xt1 , . , Xt", x'v+J .. ., :t;.t} n g rafu l G1 se
poate obine drumul d = {x;1, ... , x,", :r,.+I X t" +t . . , X tk} n g raful G,
ori de cite ori (xt", .1 1-+ 1) i (x 1.+ l Xt"+ 1) s nl a rce n G. Se observ aadar c
trecerea de la drumuril e din subgraful G1 la drumurile din g ra ful G presupune
ad u garea unu i singur arc, deci drumuril e din g r a ful G Yor aYCa cel mult k
arce.
103
f ie
X;
notaii:
- r <l) (Xti mulpmea de vrfuri din G la care se poate ajunge din vrful
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
fol osind drumuri elementar<' formate din dou arce;
- r <t> (.c;) - mulim ea de vrfuri din G la care se p oa te ajunge din
folosind drumuri elementare formate din k arce.
1n a ces te condij ii es te valabil urmtoarea a firm a- i e :
Xt
Xt
Xt
PJ'OJlOZiia 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 relaia
n-1
XJ e
S= l
104
ele
De exemplu, pentru gr.aful G din figura 1, matricea conexiunilor directe
este
X;
d
j)
t"
Matricea drumurilor,
~ (~
obinut
0 ~ (l
o
o
1
o
o
o
din matricea
1
1
1
~)
precedent,
est e
;)
o,
105
aceast regul
Kotind
de
recuren
introducnd
relaia
x<r+l) = x<r>&x<o>, r
1,
se obsen c matricea x<m> conine lista tuturor drumurilor formate din "m"
arce in graful dat. Pentru exemplul analizat, avem
~ ((x,,
*
*
(xv
:r2, xJ)
~ c
x3, :r2,
*
*
*
X;~,
*
*
*
XI)
*
*
x2)
*
(x2,
Xl,
*
x3) (x2, x,,
*
*
*
*
.*
*
*
(x3, Xz,
Xl,
x3)
x,) )-
~ p(Xt) = n (n 2- 1)
i = 1, n
106
conine
>
n G ar exista circuite ;
- din drful Xt (i = -:-1-,.-n-~1 ) se pot atinge virfurile
deci p(."Ct) = n - i ;
din vrful Xn nu se poate atinge nici un vrf.
n total avem deci :
L: p(~t) = L:
i=l,n
Invers,
presupunem
(n _ i)
n G; aturrci :
n caz contrar
Xt+t X t.L , ,
2
x,.,
n(n; 1).
i = l,n
:
~ p(Xt)
LJ
i= l ,
n(n -1) .
2
'
Il
o o o
o () 1
()
1
1
o o ()
o o o
fJ.
o o o
o o 1
1
o 1
o o o
o o o o
lJ.
d~ (l
'0
0
Fig. 2
~ (l
107
deci p(x1 ) = 1, p(x2 ) = 3, p(x3 ) = 4, p(x4 ) = 2, p (:t5 ) = O. Cum este verificat condii a teoremei, deducem c n graful dat exist drum hamiltonian.
Cum avem p(.1:3 ) > p(:c2 ) > p(x4 ) > p(x1 ) > p(x5 ), acest drum va fi du =
= (:r3 , x 2 , x 4 , x 1 , X;;) .
.:\Ienionm c p rincipalul algoritm (elementar) de determinare a drumurilor hamiltoniene n grafuri avnd circuite rmne algoritmul Kaufmann :preze na unui clement diferit de ., *" pe diago nala uneia dintre matricile _x <h)
din cadrul acestui algoritm indic att prezena, de exemplu, a unui circuit
hamiltonian, ct i o rdinea vrfurilo r. n ceea ce iHivete drumurile hamiltoniene intr-un graf avnd "n' vrfuri, ele coresp und elementelor diferite de "*"
di n matricea _x<n>.
4. Drumuri de valoare
V ;J
O, pentru i = j,
PtJ. pen~tr~t (.1:~, ~J) e A ,
co, daca z =1= J t (."C;, XJ) f{= A.
i =T.Ii
10.8
+ m?>}.
i-
le + 1 arce
cu
!-
1)
{p(d.~;)}} =
mult
arce
minim {v 11 + m ~t>}.
j=~
{d d
pentru
mf =
m ;, (V)
m ~M}
atunci primul arc din drumul minim de la x 1 la Xn este arcul (x 1, x 1). In continuare, se adun linia " j" din V cu 11 m <~+l > 11, reinnd 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 determinm lungimile drumurilor m axime cu desti naia 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; p45 = 10. n matricea V, din cauza
faptului c se urmrete deter~inarea
valorilor drumurilor maxime, vom pune :
(xt. x,) </::. A => v 0 = _:.._ w. Se obine matricea urmtoare, la care s-au adugat i
liniile si1plimentare din pagina urm toare .
) 7ig. 3
.109
X2
- oo
00
-00
-00
-00
-00
00
00
Y)
00
12
10
-00
10
11
22
13
10
24
22
31
10
39
22
31
10
3H
22
31
10
-00
Il ml 2 ' 11
Vt1 }
1= 1.:>
oo; 22 + 9; 13 +O; 10 + 3;
:-::-1,5
O + 1}
aadar,
22
+ 9,
32 ;
al doilea arc corespunde lui v32 , fiind deci arcul (x3 , X 2 ). Se contiuu
n mod asemntor pn la dc.terrninarca tuturor ar.celor.
ln cazul unor grafuri de dimensiuni mari, aceast metod nu este convenabil, deoarece presupune memorarea tuturor vectorilor Il m~ll 11.11 mi!> Il, ...
Varianta de organizare prezentat[! n cont inuare uiilizeaz uu mai vectolul
110
dac:
-+
(X, A, p),
cp(x~:, x 1) =
k=l,n
EA
(Xt , X J )
!fl(Xt, xh).
11 = 1, Il
(x j, x.) e A
x,
e Y}
C ;1.
XJ
f/= Y} CA.
111
Cantitatea :
c[w-(Y)] =
Po
(~t. X J) E <>-(Y)
numete
<p(:l;l, Xt )
Demonstraie.
E V
~
~
ceea ce demonstreaz
Valoarea:
ci> =
( Xj, l'!.J
(x,,a, ) E w- (x 1)
X 11 ) )
'P(x 1, XJ)
O,
afirmaia.
cp(x ,,
.1'n )
,l:
a fluxului cp : A
total "
,.Yaloare
? (XJ.
E w+ (x J)
cp(Xt, x,.) -
(x ~ , .rn 1 E l.J-(lt,)
numete
<p(Xt, .'t;) -
se
cp(XJ, Xn),
j = l ,n
(l'J, x ,.) E A
~
XJ
i = l.n
(x,, ~, ) E .1l
->
-:p(x 1,
X J)
n .
A, p) o refea de transport,
fie Y C X o
cj> =
Demonstraie
<p(X ;, .'I:J) -
ceea ce
=
~
(
l'
:p(.l:t, x,.)-
cp(Xt, X A) -
,., E Y
?(Xk, XJ)) -
(.r,., x ; ) E w+ (.~A')
(X;, Xt ) E <U-(x.)
(Xh,
demon streaz
cj>
x,. E
cp(X;, :rh) -
(a.,,tl E w - (x,, )
~
cp(.l: ,,., XJ))
(x, , XJ ) E o.+ ; .l't )
E V /1 '
: avem
(x r, x ; ) E w-(Y)
Xh
cp(Xt, XJ) -
cp(.rh, .1'j)) =
x ; ) E w+ (x)
(:r., x 1) E co""(l ,)
q;(.T1, Xt) = $,
egalitatea, inlrucL
~
cp(.t;, XJ) ~
cp(Xt, XJ) -
(Xi , X 1 ) E w-(1' )
(.1'; ,
cp(Xt, X; ) ~
J';) E w+ (Y)
p(Xt, l :J)
= C (w- (Y)).
112
2. Utiliznd operaiile de marcare ce vor fi prezentate ulterior, se cerfluxul iniial <p0 este maxim : operaiunile de marcare constau
n urmtoarele :
a. marcm sursa x 1 a reelei cu semnul "+" ;
b. vrfurile x 1 e w+(x1 ) snt marcate cu "+x1 ", dac arcul (x1 , x 1) este
nesaturat;
e. dac vrful x, este deja marcat, i dac pentru un vrf X.~: e w+(x1)
arcul (x 1, xk) este nesaturat, atunci marcm vrful X.~: prin "+x/' ;
d. dac vrful x 1 este deja marcat, i dac pentru un vrf X.t e w-(x 1)
arcul (xk, x 1) are flux nenul, marcm vrful x" prin "-x/'.
In urma terminrii operaiei de marcare, se pot prezenta urmtoarele
situaii :
- dac nu s-a marcat destinaia Xn a reelei, atunci fluxul este maxim
i aplicarea algoritmului se termin ;
- dac s-a marcat destinaia Xn, fluxul nu este maxim, i se va trece
la majorarea fluxului prin aplicarea urmtoarelor 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 micoreaz (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 urmtoarele:
ceteaz dac
Aadar,
2:;
p(x1, Xn)
= K.
<f> =
2:;
cp(Xt, XJ) -
.
deci fluxul <I> este maxim, iar
(x,, :r1)e w-(Y)
2:;
<p(Xt, Xt) =
tietura
2:;
(:r1, :r1) ew-(Y)
p(Xt, x 1) = c[w-(g)}
113
minim
Algoritmul Kruskal
Definiia 1. Un graf neorientat finit se numete~. dac este
nu are cicluri.
Urmtoarele proprieti ale unui arbore snt evidente:
Propoziia 1.
Un
a. ntre orice
dou
conex_,i
b. vom proceda prin reducere la absurd : s presupunem c prin suprimarea muchiei [x, x,], graful parial G1 rezultat ar fi conex, deci c ntre
x 1 i x 1 ar exista un lan d n G1 . Atunci, prin completarea lanului d cu muchia
[x 1, x 1] s-ar obine un ciclu n graful iniial G, ceea ce ar contrazice definiia
arborelui;
e. fie G = (X, A) un arbore pentru care [xt, x,] .;tA : s presupunem c
graful Gz obinut pstrnd vrfurile i adugnd muchia [x1, x1] la mulimea A
de muchii iniiale nu ar conine cicluri; dar cum in G exist deja un lan d
intre x 1 i x" reunind lanul d cu muchia [x,, x,] se va obine un ciclu n Gz;
d. presupunem c ar exista un arbore G = (X, A) avnd "n" vrfuri
(n ~ 2), care ar avea cel mult o destinaie ; fie d = (x1 , x 2 , , x,.) un lan
elementar maxim n G. Atunci x 1 are gra'dul cel puin egal cu 2, deci este
adiacent cu altul dintre vrfurile lui d, ceea ce face s apar n G un ciclu ;
e. vom proceda prin inducie dup "n", n ~ 2 ; n cazul n = 2, arborele este format dintr-o singur muchie care unete cele dou vrfuri, deci
afirmaia este adeYrat.
Presupunem c orice arbore cu "m" vrfuri are m - 1 muchii.
Pen Lru un arbore G1 cu m
1 vrfuri, exist cel puin un vrf terminal x0
Suprimndu-1 pe :10 mpreun . cu muchia incident lui, din G1 se obine un
graf cu " m'' Yirfuri, care nu conine cicluri. S artm c G astfel o binut
es le i el conex: fie x 1 , :r2 - dou vrfuri oarecare din G, diferite de x 0 Atunci
in G1 exis l llll )an d, adnd extremitile 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.
.1""
115
E:r:emplul 5. Fie graful neorienlat Yaluat din figura 5: ne propunem s det erminm arborele minimal co respu nztor.
a. muchia de valoare minim este
[x 2, x 5 ] ;
h. selectm muchia [x2 , :r~] care are
Yaloare minim dintre muchi\e rmase;
c. muchia [x4 , x5 ] avnd urmtoarea
Yaloare n ordinea cresctoare a mrimilor
trebuie omis deoarece formeaz un ciclu
cu precedentele dou, deci acum vo m seFig. 5
lecta muchia [x4 , x3] de Yaloare 4 ;
~
d. muchia [x 2 , x3 ] d e valoare 5 urmtoare 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 oprete 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~enial : dac exist i muc hii de Ya lori egale, este posibil ca problema
s admit mai multe solu ii.
:J.-
I-
te
aceas t
)T
..