Sunteți pe pagina 1din 24

74

COMBINATORIC I TEORIA GRAFURILOR



Prof. Dr. Ioan Tomescu

Partea nti: Elemente de combinatoric

I. FUNCTII DE NUMARARE SI FORMULA MULTINOMULUI

n cele ce urmeaz se va lucra cu mulimi finite. Numrul de elemente din
mulimea finit X va fi notat cu X . Unei funcii f de la X n Y , unde X i
Y sunt mulimi finite, astfel nct { }
n
x x X ,...,
1
= i { }
m
y y Y ,...,
1
= , i se pune n
coresponden o aranjare a mulimii X de obiecte n mulimea Y de csue, astfel
nct n csua
i
y s intre obiectele din mulimea { }
i
y x f X x x = ) ( , . Aceast
coresponden este o bijecie. De asemenea, se poate stabili o bijecie ntre
mulimea funciilor Y X f : i mulimea n -uplelor formate cu elemente din Y
sau a cuvintelor de lungime n formate cu litere din mulimea Y astfel: unei funcii
f i se pune n coresponden cuvntul ( ) ( ) ( )
n
x f x f x f ...
2 1
n care ordinea
literelor este esenial.
Propoziia 1. Numrul funciilor Y X f : este egal cu
n
m , dac
n X = i m Y = .
Prin definiie se noteaz | | ) 1 )...( 1 ( + = n x x x x
n
i
| | ) 1 )...( 1 ( + + = n x x x x
n
, ambele produse coninnd cte n factori consecutivi.
Propoziia 2. Numrul funciilor injective Y X f : , unde n X = i
m Y = este egal cu | |
n
m .
Aranjamente de m luate cte n se numesc cuvintele de lungime n
formate cu litere diferite din mulimea Y , iar numrul lor este | |
n
m . Dac n m = ,
aceste cuvinte de lungime n formate cu litere din Y se numesc permutri ale
mulimii Y i numrul lor este egal cu | |
n
n , care se noteaz cu n n = ... 2 1 ! i
se numete n factorial. Prin definiie 1 ! 0 = .
Dac mulimea Y este o mulime ordonat astfel nct
n
y y y < < < ...
2 1
,
un cuvnt de lungime n format cu litere din Y,
n
i i
y y ...
1
se numete cresctor dac
n
i i i
y y y ...
2 1
i strict cresctor dac
n
i i
i
i
y y y < < < ...
2
. Cuvintele strict
cresctoare de lungime n formate cu m simboluri se mai numesc combinri de
m luate cte n , iar cele cresctoare se numesc combinri cu repetiie de m luate
cte n .
75
Propozia 3. Numrul cuvintelor strict cresctoare de lungime n formate
cu m simboluri este egal cu
| |
! n
m
n
. Acest numr este egal i cu numrul
submulimilor cu n elemente ale unei mulimi cu m elemente.
Numerele | |
n
m se mai noteaz prin
|
|
.
|

\
|
n
m
i se numesc numere binomiale
cu parametrii m i n .
Propoziia 4. Numrul cuvintelor cresctoare de lungime n formate cu
m simboluri este egal cu
| |
! n
m
n
.
Numerele binomiale apar drept coeficieni n formula binomului:
( )

=

|
|
.
|

\
|
= +
n
k
k k n n
b a
k
n
b a
0
, (1)
care este valabil pentru orice b a, dintr-un inel comutativ.
Propoziia 5. Numrul de aranjri ale unei mulimi de n obiecte
{ }
n
x x X ,...,
1
= ntr-o mulime de p csue { }
p
y y Y ,...,
1
= , astfel nct csua
i
y s conin
i
n obiecte pentru orice p i 1 ( ) n n n
p
= + +...
1
este egal cu
! !... !
!
2 1 p
n n n
n
.
Acest raport de factoriale se mai noteaz
|
|
.
|

\
|
p
n n n
n
,..., ,
2 1
i se numete
numr multinomial, care generalizeaz numerele binomiale (cazul 2 = p ) i apar
n formula multinomului care extinde relaia (1):
( )

= + +

|
|
.
|

\
|
= + + +
n
p
n n
p
n n
p
n
p
n n
p
n
p
a a a
n n n
n
a a a
...
1
0 ,...,
1
2
2
1
1
2 1
2 1
...
,..., ,
...
.
(2)











76
II. PRINCIPIUL INCLUDERII I AL EXCLUDERII I APLICAII

Principiul includerii i al excluderii constituie o generalizare a identitii:
B A B A B A + = (3)
unde X B A , .
Teorema 1 (Principiul includerii i al excluderii). Dac
I
A ( q i 1 )
sunt submulimi ale unei mulimi X , are loc relaia:
( )
1 1 1
1
1 1
... 1
q q
i i i j
i i j q i
q
q
i j k i
i j k q i
A A A A
A A A A
= < =

< < =
= +
+ +

(4)
Aplicaii
1. Determinarea funciei lui Euler ( ) n
Fiind dat un numr natural n, ( ) n reprezint numrul numerelor
naturale mai mici ca n i relativ prime cu n. Dac descompunerea lui n n
factori primi distinci este
q
i
q
i i
p p p n ...
2
2
1
1
= i se noteaz cu
i
A mulimea
numerelor naturale mai mici sau egale cu n care sunt multipli de
i
p , se
obine
i
i
p
n
A = ,
j i
j i
p p
n
A A = etc. Deci
( )
1 2
1 1
1 1
1
... ...
... ( 1)
...
q
q i i j
i i j q
q
q
i i j q
i i j q
n n A A A n A A A
n n n
n
p p p p p

= <
= <
= = +
= + +





adic
( )
|
|
.
|

\
|

|
|
.
|

\
|

|
|
.
|

\
|
=
q
p p p
n n
1
1 ...
1
1
1
1
2 1
. (5)
2. Determinarea numrului ( ) n D al permutrilor a n elemente fr puncte
fixe
Fie p o permutare a mulimii { } n X ,..., 1 = , adic o bijecie
X X p : . Permutarea are un punct fix n i dac ( ) i i p = . Dac notm
cu
i
A mulimea permutrilor care au un punct fix n i rezult c
( )
1
1 1 1
! ... ! ... ( 1)
n n
n
n i i j i
i i j n i
D n n A A n A A A A
= < =
= = + +




77
Se obine, ( )! ...
2 1
k n A A A
k
i i i
= deoarece o permutare din
mulimea
k
i i
A A ...
1
are puncte fixe n poziiile
k
i i i ,..., ,
2 1
, celelalte
imagini putnd fi alese n ( )! k n moduri. Deoarece k poziii
k
i i ,...,
1
pot
fi alese din mulimea celor n poziii n
|
|
.
|

\
|
k
n
moduri, rezult
( )
|
|
.
|

\
|
+ +

+ + =
!
) 1 (
...
!
) 1 (
...
! 2
1
! 1
1
1 !
n k
n n D
n k
. (6)
3. Determinarea numrului
m n
s
,
al funciilor surjective
Fie mulimile { }
n
x x X ,...,
1
= i { }
m
y y Y ,...,
1
= . Pentru fiecare i ,
m i 1 , s notm prin
i
A mulimea funciilor de la X n Y pentru care
i
y nu este imaginea nici unui element din X, adic
{ } ) ( : X f y Y X f A
i i
= . Se obine.
, 1
1 1 1
... ... ( 1)
m m
n n m
n m m i i j i
i i j m i
s m A A m A A A A
= < =
= = + +



.
i
A este mulimea funciilor definite pe X cu valori n { }
i
y Y \ , deci
n
i
m A ) 1 ( = i n general
n
l
i i
l m A A ) ( ...
1
= . Deoarece fiecare
sum

< < m
l
i i
l
i i
A A
...
1
1
1
... conine
|
|
.
|

\
|
l
m
termeni egali cu
n
l m ) ( ,
deducem:
1
,
( 1) ( 2) ... ( 1)
1 2 1
n n n m
n m
m m m
s m m m
m

| | | | | |
= + +
| | |

\ . \ . \ .

(7)

III. NUMERELE LUI STIRLING, BELL, FIBONACCI I CATALAN

Alturi de numerele binomiale i multinomiale, numerele lui Stirling, Bell
i Fibonacci joac un rol deosebit n probleme de numrare.
Pentru a defini numerele lui Stirling de prima spe, pe care le notm
( ) k n s , , vom dezvolta polinomul | |
n
x n ordinea cresctoare a puterilor lui x.
Coeficienii acestei dezvoltri sunt prin definiie numerele lui Stirling de prima
spe, adic
| | ( )

=
=
n
k
k
n
x k n s x
0
, (8)
78
Numerele ( ) k n s , se pot calcula prin recuren, utiliznd relaiile
( ) 0 0 . = n s , ( ) 1 , = n n s i ( ) ( ) ( ) k n ns k n s k n s , 1 , , 1 = + , ultima relaie
obinndu-se prin egalarea coeficienilor lui
k
x n cei doi membri ai egalitii
| | | | ) (
1
n x x x
n n
=
+
. Se obine tabelul urmtor, unde ( ) 0 , = k n s pentru k n < .

( ) k n s ,
0 = k 1 2 3 4 5
1 = n 0 1 0 0 0 0
2 0 -1 1 0 0 0
3 0 2 -3 1 0 0
4 0 -6 11 -6 1 0
5 0 24 -50 35 -10 1

Numrul lui Stirling de spea a doua, notat ( ) m n S , , este numrul
partiiilor unei mulimi cu n elemente n m clase. S observm c att ordinea
claselor, ct i ordinea elementelor ntr-o clas a unei partiii sunt indiferente. De
exemplu, dac avem { } d c b a X , , , = , partiiile cu trei clase ale acestei mulimi
sunt: ( ) ( ) ( ) { } d c b a , , , , ( ) ( ) ( ) { } d b c a , , , , ( ) ( ) ( ) { } c b d a , , , , ( ) ( ) ( ) { } d a c b , , , ,
( ) ( ) ( ) { } c a d b , , , , ( ) ( ) ( ) { } b a d c , , , , deci 6 ) 3 , 4 ( = S .
Numerele lui Stirling de spea a doua pot fi calculate prin recuren astfel.
Considernd mulimea celor ( ) 1 , k n S partiii ale unei mulimi cu n elemente n
1 k clase, putem obine ( ) 1 , k n S partiii a 1 + n elemente n k clase, adugnd
la fiecare partiie o nou clas format dintr-un singur element i anume al ( ) 1 + n -
lea. S considerm acum o partiie a n elemente n k clase. Deoarece putem aduga
al ( ) 1 + n -lea element la clasele deja existente n k moduri diferite i toate partiiile
a 1 + n elemente cu k clase se obin fr repetiii printr-unul din cele dou
procedee expuse, rezult c
( ) ( ) ( ) k n kS k n S k n S , 1 , , 1 + = +
pentru n k < < 1 i ( ) ( ) 1 , 1 , = = n n S n S . Aceste relaii permit calculul prin
recuren al numerelor ( ) m n S , obinndu-se tabelul urmtor:
( ) m n S ,
1 = m 2 3 4 5
1 = n 1 0 0 0 0
2 1 1 0 0 0
3 1 3 1 0 0
4 1 7 6 1 0
5 1 15 25 10 1

79
Pentru calculul direct al numerelor lui Stirling de spea a doua, vom arta
c ( )
!
,
,
m
s
m n S
m n
= . ntr-adevr, oricrei surjecii f a mulimii { }
n
x x X ,...,
1
= pe
mulimea { }
n
y y Y ,...,
1
= i corespunde o partiie a mulimii X cu m clase i
anume ( ) ( ) ( )
m
y f y f y f
1
2
1
1
1
...

. Deoarece ntr-o partiie nu conteaz ordinea
claselor, rezult c ! n funcii surjective de la X pe Y vor genera o aceeai partiie a
mulimii X. innd seama de (7) rezult:
( )

=

|
|
.
|

\
|
= =
1
0
,
) ( ) 1 (
!
1
!
1
,
m
k
n k
m n
k m
k
m
m
s
m
m n S (9)
Propoziia 6. Polinoamele
n
x se exprim ca sume de polinoamele | |
k
x cu
coeficienii ( ) k n S , , adic:
( )| |

=
=
n
k
k
n
x k n S x
1
, (10)
Ca urmare a rezultatului din propoziia 6 putem scrie i relaia
( ) | | ( )

= =
= + =
n
k
k
n
k
n
k n S n k n S k m m m m
1 1
, , ) 1 )...( 1 ( (11)
Sunstituindu-l n (10) pe | |
k
x cu expresia dat de (8) i egalnd coeficienii
lui
n
x din cei doi membri ai expresiei astfel obinute, se deduce c matricile, de un
ordin fixat, ale numerelor lui Stirling de prima i de a doua spe sunt inverse una
alteia, adic ( ) ( )
q p
n
k
q k s k p S
,
1
, , =

=
pentru orice n numr natural fixat i orice
n q p , 1 , unde
q p,
este simbolul lui Kronecker. Numrul tuturor partiiilor
unei mulimi cu n elemente se noteaz cu
n
B i se numete numrul lui Bell. Deci
conform definiiei, ( )

=
=
n
k
n
k n S B
1
, .
Propoziia 7. Numerele lui Bell verific urmtoarea relaie de recuren:

=
+
|
|
.
|

\
|
=
n
k
k n
B
k
n
B
0
1
(12)
unde 1
0
= B .
Pentru a introduce numerele lui Fibonacci vom rezolva urmtoarea
problem de numrare:





80
Propoziia 8. Se noteaz cu ( ) k n f , numrul submulimilor lui
{ } n X
n
,..., 1 = care au k elemente i nu conin doi intregi consecutivi. Exist
relaia:
( )
|
|
.
|

\
| +
=
k
k n
k n f
1
, .

Rezult c numrul tuturor submulimilor lui
n
x care nu conin doi ntregi
consecutivi (lund n considerare i mulimea vid, creia i corespunde cuvntul
avnd 0 ...
1
= = =
n
), este egal cu:

+
|
|
.
|

\
| +
=
0
1
1
k
n
k
k n
F
(13)
Ultimul indice k pentru care suma de mai sus conine termeni nenuli este
(

+
2
1 n
, deoarece numerele binomiale sunt nenule numai pentru indicele superior
mai mare sau egal cu indicele inferior. Din (13) se obine: 1
0
= F , 1
1
= F ,
2
2
= F , 3
3
= F , 5
4
= F i se observ c
2 1
+ =
n n n
F F F pentru orice 2 n .
Numerele
n
F Se numesc numerele lui Fibonacci.
Pentru a defini numerele lui Catalan, notate
n
C , vom considera
urmtoarea problem de numrare: S se determine n cte moduri putem pune
parantezele ntr-un produs de n factori scrii n ordinea
n
x x x ,..., ,
2 1
. Notnd acest
numr cu
n
C , se deduce 1
2
= C , 2
3
= C , 5
4
= C , deoarece avem ( )
2 1
x x ;
( )
3 2 1
x x x , ( )
3 2 1
x x x ; ( )( )
4 3 2 1
x x x x , ( ) ( )
4 3 2 1
x x x x , ( ) ( )
4 3 2 1
x x x x , ( ) ( )
4 3 2 1
x x x x ,
( ) ( )
4 3 2 1
x x x x . Prin definiie se consider 1
1
= C . Expresia numerelor lui Catalan
este dat de propoziia urmtoare:
Propoziia 9. Exist relaia:
|
|
.
|

\
|

=
1
2 2
1
n
n
n
C
n
(14)
Numerele lui Catalan intervin n multe probleme de numrare, de exemplu
n
C reprezint numrul de arbori binari cu n noduri terminale (frunze), ceea ce se
obine imediat asociind n mod canonic fiecrui mod de a pune parantezele ntr-un
produs cu n factori un arbore binar cu cele n frunze etichetate cu cei n factori ai
produsului sau numrul de moduri n care putem triangulariza suprafaa unui
poligon convex cu 1 + n vrfuri ducnd 2 n diagonale ( 2 n ) (Euler).



81
IV. PARTITII ALE UNUI INTREG

O partiie a numrului natural n cu m pri este o scriere a lui n sub forma:
m
a a a n + + + = ...
2 1

unde numerele naturale
m
a a a ,..., ,
2 1
(numite prile partiiei) verific inegalitile:
1 ...
2 1

m
a a a .
Din cauza condiiei impuse ca numerele
m
a a ,...,
1
s formeze un ir
descresctor, dou partiii ale lui n se deosebesc numai prin natura prilor
m
a a ,...,
1
, nu i prin ordinea lor. Prin ) , ( m n P se va nota numrul partiiilor
numrului natural i pozitiv n n m pri. Aceste numere verific mai multe relaii
de recuren, printre care i cea dat de propoziia urmtoare.
Propoziia 10. Numerele ) , ( m n P verific recurena:
) , ( ) , ( ... ) 2 , ( ) 1 , ( k k n P k n P n P n P + = + + + , (15)
iar 1 ) , ( ) 1 , ( = = n n P n P .
Aceast propoziie ne permite calculul prin recuren al numerelor ) , ( k n P
linie cu linie, aa cum se face n tabelul urmtor.
) , ( m n P 1 = m 2 3 4 5 6 7 ) (n P
1 = n 1 0 0 0 0 0 0 1
2 1 1 0 0 0 0 0 2
3 1 1 1 0 0 0 0 3
4 1 2 1 1 0 0 0 5
5 1 2 2 1 1 0 0 7
6 1 3 3 2 1 1 0 11
7 1 3 4 3 2 1 1 15

Prin ) (n P s-a notat numrul tuturor partiiilor lui n, adic
) , ( ... ) 2 , ( ) 1 , ( ) ( n n P n P n P n P + + + = .
O serie de proprieti ale partiiilor unui ntreg sunt date de propoziiile
urmtoare.
Propoziia 11. Numrul de partiii ale lui n, astfel nct cea mai mare
parte s fie egal cu k, este egal cu numrul partiiilor lui n cu k pri.
De exemplu, pentru 7 = n i 4 = k , partiiile lui 7 cu cea mai mare parte
egal cu 4 sunt: 1 1 1 4 + + + , 1 2 4 + + i 3 4 + , iar partiiile lui 7 cu 4 pri sunt:
1 1 1 4 + + + , 1 1 2 3 + + + i 1 2 2 2 + + + .
Propoziia 12. Numrul partiiilor lui n cu pri distincte este egal cu
numrul partiiilor lui n cu pri impare.
Propoziia 13 (Euler). Se noteaz prin ) (n Q
p
numrul partiiilor lui n cu
un numr par de pri distincte i prin ) (n Q
i
numrul partiiilor lui n cu un
numr impar de pri distincte. Are loc relaia ) ( ) ( n Q n Q
i p
= dac n nu se poate
82
reprezenta sub forma
2
3
2
k k
n

= cu k numr ntreg. n caz contrar, are loc
relaia
k
i p
n Q n Q ) 1 ( ) ( ) ( + = .
Corolar 1 (Identitatea lui Euler). Dac produsul infinat
( )( ) ( )... 1 ... 1 1
2 n
x x x
este scris sub forma unei serii, se obine
... 1 ) ( 1
1
26 22 15 12 7 5 2
+ + + + = +

= n
n
x x x x x x x x x n ,
unde
k
n ) 1 ( ) ( = dac
2
3
2
k k
n

= i 0 ) ( = n dac n nu se poate reprezenta
sub forma
2
3
2
k k
n

= cu k numr ntreg.
Propoziia 14. Funcia generatoare a numerelor ) (n P este:
( )( ) ( )... 1 ... 1 1
1
) (
2
0
n
n
n
x x x
x n P

=

=
,
(16)
unde prin definiie 1 ) 0 ( = P .
Corolar 2 (teorema pentagonal a lui Euler). Pentru orice 3 n
numerele ) (n P verific relaia de recuren
... ) 7 ( ) 5 ( ) 2 ( ) 1 (
2
3
2
3
) 1 ( ) (
0
2 2
1
+ + =
=
|
|
.
|

\
|
|
|
.
|

\
| +
+
|
|
.
|

\
|
=

n P n P n P n P
k k
n P
k k
n P n P
k
K


Bibliografie partea nti

1. I. Tomescu, Introducere n combinatoric, Editura Tehnic, Bucureti, 1972.
Ediia englez: Introduction to combinatorics, Collet's Publishers Ltd., London
and Wellingborough, 1975.
2. I. Tomescu, Combinatoric i teoria grafurilor, Tipografia Universitii din
Bucureti, 1978.
3. I. Tomescu, Probleme de combinatoric i teoria grafurilor, Editura Didactic
i Pedagogic, Bucureti, 1981. Ediia englez: Problems in Combinatorics
and Graph Theory, John Wiley, New York, 1985.
4. M. Aigner, Combinatorial theory, Springer-Verlag, Berlin-Heidelberg, 1979.
5. C. Berge, Principes de combinatoire, Dunod, Paris, 1968.
6. L. Comtet, Analyse combinatoire, I, II, Presses Universitaires de France, Paris,
1970.


83
Partea a doua: Elemente de teoria grafurilor

I. NOTIUNI SI DEFINITII DE BAZA

Prima lucrare de teoria grafurilor a fost scris de Euler n anul 1736, fiind
consacrat ''problemei celor 7 poduri'' din Konigsberg, n care a demonstrat
imposibilitatea realizrii unui traseu care s treac o singur dat peste fiecare pod.
Un graf neorientat este compus din dou mulimi: o mulime de vrfuri i o
mulime de muchii care sunt perechi de vrfuri. Aceste muchii pot reprezenta
legturile chimice dintr-o molecul, rezistenele sau tensiunile electromotoare
dintr-o reea electric, legturile rutiere sau feroviare dintre localiti, muchiile unui
poliedru, legturile dintre nodurile unei reele de calculatoare, ierarhiile dintr-o
structur administrativ, meciurile directe dintre echipele participante la un turneu
sportiv, graniele dintre statele reprezentate pe o hart. n secolul al XIX-lea
dezvoltarea teoriei grafurilor a fost impulsionat de aplicaiile n fizic (teoria
reelelor electrice), chimie (studiul fenomenelor de izomerism, descoperite de
Crum Brown), studiul poliedrelor convexe i a legturii lor cu grafurile planare i
problema celor patru culori. n prezent, teoria grafurilor este o ramur a
matematicii, dar modelul de graf este utilizat n cercetarea operaional pentru
rezolvarea unor probleme de optimizare, n informatic, pentru studiul reelelor de
calculatoare, al algoritmilor de sortare i regsirea informaiei, al reelelor de
interconexiune din calculul paralel, n chimie, precum i n multe alte domenii.
Mai nti vom defini noiunile de baz relative la grafurile neorientate, pe
care le vom numi pe scurt grafuri. Un graf este o pereche ( ) ) ( ), ( G E G V , unde
) (G V este o mulime finit i nevid de elemente numite vrfuri i ) (G E este o
mulime de perechi neordonate de elemente distincte din ) (G V numite muchii.
) (G V se numete mulimea vrfurilor i ) (G E mulimea muchiilor grafului G.
O muchie { } y x, se va nota mai simplu xy i vom spune c ea unete vrfurile x i
y. Orice graf G poate fi desenat n plan reprezentnd vrfurile sale prin puncte i
muchiile prin linii care unesc anumite perechi de vrfuri. ntr-o astfel de
reprezentare nu conteaz distanele dintre vrfuri sau unghiurile dintre muchii.
Dou vrfuri unite printr-o muchie se numesc adiacente. Cele dou vrfuri care
compun o muchie se numesc extremitile muchiei. Gradul unui vrf x este egal cu
numrul muchiilor care au o extremitate n vrful x i se noteaz cu ) (x d . Un vrf
de gradul zero se numete vrf izolat, iar un vrf de gradul unu este numit vrf
terminal.
Propoziia 1. Pentru orice graf suma gradelor este egal cu dublul
numrului de muchii, adic ) ( 2 ) (
) (
G E x d
G V x
=

.
De aici rezult c pentru orice graf numrul vrfurilor de grad impar este
par.

84
Un graf parial al unui graf G este un graf H care are aceeai mulime de
vrfuri cu G, deci ) ( ) ( G V H V = i ) ( ) ( G E H E . Deci un graf parial al lui G
este G sau se obine din G prin suprimarea anumitor muchii din G. Un subgraf al
unui graf G este un graf H astfel nct ) ( ) ( G V H V , iar muchiile lui H sunt toate
muchiile lui G care au ambele extremiti n mulimea de vrfuri ) (H V . Deci un
subgraf H al unui graf G este graful G nsui sau se obine din G prin suprimarea
anumitor vrfuri i a tuturor muchiilor care au cel puin o extremitate n mulimea
vrfurilor care au fost suprimate. Se spune c subgraful H este indus sau generat
de mulimea de vrfuri ) (G V .
Un lan ntr-un graf G este o succesiune finit de vrfuri ale lui G care se
noteaz | |
r
x x x ,..., ,
1 0
, cu proprietatea c oricare dou vrfuri vecine sunt
adiacente, adic ) (
1
G E x x
i i

+
pentru orice 1 0 r i . Vrfurile
0
x i
r
x se
numesc extremitile lanului, iar numrul r care reprezint numrul de muchii ale
lanului se numete lungimea acestui lan. Dac vrfurile
r
x x x ,..., ,
1 0
sunt
distincte, lanul se numete elementar. Un lan poate fi interpretat ca traseul unei
deplasri pe muchiile grafului. De aceea, un lan de extremiti
0
x i
r
x se mai
spune c este un lan de la
0
x la
r
x . O alt noiune fundamental este aceea de
ciclu. Un ciclu ntr-un graf G este o succesiune finit de vrfuri ale lui G, notat
| |
r
x x x ,..., ,
1 0
, cu urmtoarele proprieti:
a) oricare dou vrfuri vecine sunt adiacente, adic ) (
1
G E x x
i i

+
pentru orice
1 0 r i ;
b)
r
x x =
0
;
c) toate muchiile
1 0
x x ,
2 1
x x , ,
r r
x x
1
sunt distincte.
Numrul r, care reprezint numrul de muchii ale ciclului, se numete
lungimea acestui ciclu. Dac toate vrfurile
1 1 0
,..., ,
r
x x x sunt distincte, ciclul se
numete elementar. Deci un ciclu este un lan care se ntoarce n punctul de plecare
i pentru care toate muchiile parcurse sunt distincte. Dac nu am impune condiia
c), atunci orice graf care are o muchie ab ar conine i un ciclu i anume | | a b a , , .
Un graf G se numete conex dac pentru orice pereche de vrfuri distincte
x, y ale lui G, exist un lan de extremiti x i y n G. O component conex C a
unui graf G este un subgraf conex maximal al lui G (maximal n sensul c nu exist
nici un lan care s uneasc un vrf din C cu orice vrf care nu aparine lui C).
Grafurile conexe au o singur component conex.
Graful complementar grafului G se noteaz prin G i el are
( ) ) (G V G V = i ( ) ) (G E G E = , adic complementara mulimii muchiilor lui G,
dou vrfuri distincte fiind adiacente n G dac i numai dac ele nu sunt
adiacente n G.

85
Clase speciale de grafuri

Un graf pentru care oricare dou vrfuri sunt adiacente se numete graf
complet. Graful complet cu n vrfuri se noteaz
n
K i al are
|
|
.
|

\
|
2
n
muchii. Toate
vrfurile grafului
n
K au gradul 1 n . Un graf se numete regulat dac toate
vrfurile sale au un acelai grad. Dac acest grad comun al vrfurilor este egal cu k,
graful se numete k-regulat. Graful complet
n
K este ) 1 ( n -regulat. Un interes
special n clasa grafurilor regulate l reprezint grafurile formate cu vrfurile i
muchiile celor 5 poliedre regulate. Astfel graful tetraedrului regulat este graful
complet
4
K ; graful cubului este 3-regulat (astfel de grafuri se mai numesc cubice);
el are 8 vrfuri. Graful octaedrului este 4-regulat i are 6 vrfuri; graful
dodecaedrului este cubic i are 20 vrfuri, iar graful icosaedrului este 5-regulat i
are 12 vrfuri.
Ciclurile elementare cu p vrfuri se noteaz
p
C . Dac mulimea vrfurilor
unui graf G poate fi partiionat n dou mulimi disjuncte de vrfuri,
2 1
) ( V V G V = , astfel nct fiecare muchie unete un vrf din
1
V cu un vrf din
2
V , graful G se numete bipartit. ntr-un graf bipartit orice ciclu conine un numr
par de vrfuri, deoarece el trece alternativ din
1
V n
2
V i se ntoarce n punctul de
plecare. De exemplu ciclurile impare
1 2 + k
C , unde N k nu sunt bipartite i vom
vedea c inexistena ciclurilor impare caracterizeaz grafurile bipartite. Dac orice
vrf din
1
V este adiacent cu orice vrf din
2
V , graful se numete bipartit complet.
Un graf bipartit complet pentru care m V =
1
i n V =
2
se noteaz
n m
K
,
. Un graf
bipartit complet de forma
n
K
, 1
, format dintr-un vrf central adiacent cu alte n
vrfuri, neadiacente ntre ele se numete graf-stea.
Teorema 1 (Konig). Un graf G este bipartit dac i numai dac nu
conine cicluri impare.
Dou grafuri G i H se numesc izomorfe dac exist o bijecie
) ( ) ( : H V G V f astfel nct: a) dac ) (G E xy atunci ) ( ) ( ) ( H E y f x f ;
b) dac ) (G E xy atunci ) ( ) ( ) ( H E y f x f . Cu alte cuvinte, grafurile G i H
difer eventual printr-o renumerotare a vrfurilor. Deoarece f este o bijecie ntre
mulimile de vrfuri ale celor dou grafuri, rezult c oricare dou grafuri izomorfe
au acelai numr de vrfuri. De asemenea, grafurile izomorfe au acelai numr de
muchii, aceleai iruri ale gradelor vrfurilor, acelai numr de cicluri de o anumit
lungime etc.
Noiunea de izomorfism al grafurilor explic fenomenul de izomerism din
chimie. De exemplu, moleculele de hidrocarburi constau din atomi de carbon de
valen 4 i de hidrogen de valen 1. Astfel moleculele de butan i de 2-
metilpropan (izobutan) conin fiecare patru atomi de carbon i zece atomi de
86
hidrogen, avnd formula
10 4
H C . Grafurile asociate au fiecare cte 14 vrfuri, dar
nu sunt izomorfe. Astel de structuri neizomorfe care au aceeai formul chimic (n
cazul de fa
10 4
H C ) se numesc izomeri. Recunoaterea izomorfismului a dou
grafuri este important n chimie, deoarece o substan nou descoperit trebuie s
aib graful neizomorf cu graful substanelor deja cunoscute.
Exist situaii cnd modelul de graf neorientat nu este suficient pentru a
reprezenta o situaie dat, fiind necesar s definim o anumit orientare a muchiilor.
Un graf orientat G este o pereche ( ) ) ( ), ( G E G V , unde ) (G V este o mulime
finit i nevid de elemente numite vrfuri i ) (G E este o mulime de perechi
ordonate de elemente distincte din ) (G V , numite arce. ) (G V se numete
mulimea vrfurilor i ) (G E mulimea arcelor grafului G. Deci, n cazul
grafurilor orientate mulimea arcelor este o submulime a produsului cartezian
) ( ) ( G V G V care conine numai perechi ( ) y x, de vrfuri distincte. Se spune c x
este extremitatea iniial i y este extremitatea final a arcului ( ) y x, . Ca i n
cazul grafurilor neorientate, un graf orientat poate fi desenat n plan reprezentnd
vrfurile prin puncte i arcele prin sgei orientate de la extremitatea iniial ctre
extremitatea final a oricrui arc. Dou vrfuri unite printr-un arc se numesc
adiacente. Spre deosebire de cazul neorientat, orice vrf x are dou grade: gradul
exterior, notat ( ) x d
+
, este numrul arcelor care l au pe x extremitate iniial, deci
care pleac din vrful x; gradul interior, notat ( ) x d

, este numrul arcelor care l


au pe x extremitate final, deci care intr n vrful x. Urmtorul rezultat este
analogul propoziiei 1 pentru grafuri orientate.
Propoziia 2. Pentru orice graf orientat G suma gradelor de intrare este
egal cu suma gradelor de ieire ale vrfurilor lui G, care este egal cu numrul
de arce ale grafului G.
Noiunile de graf parial i de subgraf al unui graf orientat se definesc la
fel ca i n cazul neorientat, nlocuind peste tot cuvntul muchie prin cuvntul arc.
Un lan ntr-un graf orientat G este o succesiune finit de vrfuri ale lui G
care se noteaz | |
r
x x ,...,
0
, cu proprietatea c oricare dou vrfuri vecine sunt
adiacente, adic ( ) ) ( ,
1
G E x x
i i

+
sau ( ) ) ( ,
1
G E x x
i i

+
pentru orice
1 0 r i . Ca i n cazul neorientat, vrfurile
0
x i
r
x se numesc extremitatea
iniial, respectiv extremitatea final ale lanului, iar numrul de arce r este
lungimea lanului. Un drum ntr-un graf orientat G este un caz particular de lan,
care se obine cnd toate arcele au o aceeai orientare, de la extremitatea iniial
ctre extremitatea final. Deci un drum este o succesiune finit de vrfuri ale lui G
care se noteaz ( )
r
x x ,...,
0
, cu proprietatea c ( ) ) ( ,
1
G E x x
i i

+
pentru orice
1 0 r i .
Un lan nchis pentru care arcele nu se repet se numete ciclu, iar un drum
nchis pentru care arcele nu se repet se numete circuit. Deci un ciclu ntr-un graf
87
orientat G este o succesiune finit de vrfuri ale lui G, notat | |
r
x x ,...,
0
cu
urmtoarele proprieti: a) ( ) ) ( ,
1
G E x x
i i

+
sau ( ) ) ( ,
1
G E x x
i i

+
pentru orice
1 0 r i ; b)
r
x x =
0
; c) toate arcele lanului sunt distincte. Un circuit este o
succesiune finit de vrfuri ale lui G, notat ( )
r
x x ,...,
0
cu urmtoarele proprieti:
a) ( ) ) ( ,
1
G E x x
i i

+
pentru orice 1 0 r i ; b)
r
x x =
0
; c) toate arcele
( )
1 0
, x x , ( )
2 1
, x x , , ( )
r r
x x ,
1
sunt distincte. Numrul arcelor unui ciclu,
respectiv circuit, se numete lungimea sa. Dac toate vrfurile
1 0
,...,
r
x x sunt
distincte, ciclul, respectiv circuitul se numete elementar. Un graf orientat G cu
proprietatea c pentru orice arc ( ) ) ( , G E y x arcul ( ) ) ( , G E x y se numete
simetric. Astfel putem considera grafurile neorientate cazuri particulare de grafuri
orientate i anume grafuri orientate simetrice. Ca i n cazul neorientat, un graf
orientat se numete conex dac ntre oricare dou vrfuri distincte exist un lan
care le unete. n cazul grafurilor orientate mai putem defini i o alt noiune i
anume conexitatea tare: un graf orientat G se numete tare conex dac oricare dou
vrfuri distincte ale lui G sunt unite printr-un drum. Deoarece putem schimba
rolurile celor dou vrfuri, uneori definiia conexitii tare se mai formuleaz astfel:
un graf orientat G se numete tare conex dac oricare ar fi vrfurile ) ( , G V y x ,
y x , exist un drum de la x la y i un drum de la y la x.

II. MATRICI ASOCIATE UNUI GRAF ORIENTAT

Un graf orientat G cu n vrfuri poate fi caracterizat de o matrice ptrat cu
n linii i n coloane, cu elemente 0 i 1 i numit matricea de adiacen a grafului.
Dac vrfurile grafului sunt
n
x x ,...,
1
, matricea de adiacen, notat
( )
n i i
ij
a A
,..., 1 , =
= se definete astfel: 1 =
ij
a dac exist arcul ( ) ) ( , G E x x
j i
i
0 =
ij
a n caz contrar. Dac graful G este neorientat, matricea sa de adiacen are
proprietatea c 1 =
ij
a dac exist muchia
j i
x x ntre vrfurile
i
x i
j
x i 0 =
ij
a
n caz contrar. n acest caz matricea de adiacen este simetric, adic
ji ij
a a =
pentru orice n j i ,..., 1 , = . O alt matrice util n studiul conexitii unui graf este
matricea drumurilor (sau matricea nchiderii tranzitive a relaiei binare asociate
grafului orientat), care se noteaz ( )
n j i
ij
a A
,..., 1 ,
* *
=
= i are se definete astfel:
1
*
=
ij
a dac exist n graful G un drum care pleac din vrful
i
x i ajunge n
vrful
j
x i 0
*
=
ij
a n caz contrar. Vom avea 1
*
=
ii
a dac exist un circuit care
trece prin
i
x i 0
*
=
ii
a n caz contrar.


88
O alt matrice care caracterizeaz un graf orientat i este util n studiul
circuitelor electrice este matricea de inciden nod-arc. Dac graful orientat G are
n vrfuri
n
x x ,...,
1
i m arce
m
e e ,...,
1
, matricea de inciden nod-arc este o matrice
dreptunghiular cu n linii i m coloane, pe care o notm ( )
m j
n i
ij
b B
,..., 1
,..., 1
=
= = i o
definim astfel: 1 =
ij
b dac arcul
j
e pleac din vrful
i
x , 1 =
ij
b dac arcul
j
e
intr n vrful
i
x i 0 =
ij
b n caz cantrar, deci dac
i
x nu este extremitate a
arcului
j
e . S observm c fiecare coloan a matricii de inciden B conine un 1,
un 1 i 2 n zerouri. Fixnd un sens al curentului pe fiecare latur a unei reele
electrice, care devine astfel un graf orientat i notnd cu ( )
m
i i i ,...,
1
= vectorul
intensitilor curentului pe arcele reelei electrice, prima lege a lui Kirchhoff se
scrie sub forma:
T T
Bi 0 = , unde T reprezint transpusul unui vector, iar 0
reprezint vectorul linie cu n componente nule.
n cazul grafurilor neorientate, matricea de inciden nod-muchie va
conine doi de 1 pe fiecare coloan. Suma oricror r linii ale matricii B pentru un
graf G conex cu n vrfuri conine cel puin o component nenul pentru n r < .
ntr-adevr, n caz contrar ar rezulta c din mulimea de vrfuri corespunztoare
celor r linii nu mai pleac nici un arc n exterior i nu mai sosete nici un arc din
exterior, ceea ce contrazice faptul c G este conex. Deci, oricare r linii n r < ale
matricii B sunt linear independente. Dar suma celor n linii ale matricii B este
vectorul nul, deci ele sunt linear dependente. Am obinut urmtorul rezultat:
Propoziia 3 (Kirchhoff). Dac graful G are n vrfuri i este conex,
rangul matricii sale de inciden nod-arc este 1 n .
Aplicnd acest rezultat submatricilor corespunztoare componentelor
conexe ale lui G, se afl c rangul matricii B este p n dac graful are p
componente conexe.

Algoritmul lui Roy-Warshall

Acest algoritm servete la obinerea matricii drumurilor
*
A plecnd de la
matricea de adiacen A a unui graf G cu n vrfuri i const n urmtoarele:
1. Se face 1 = k .
2. Pentru n i ,..., 1 = i n j ,..., 1 = i k j i , se nlocuiesc elementele 0 =
ij
a
prin ( )
kj ik
a a , min .
3. Se repet pasul 2 pentru n k ,..., 2 = .
Vom arta c, la sfritul aplicrii, algoritmului matricea obinut este
tocmai matricea drumurilor
*
A . Acest algoritm poate fi exprimat i n limbaj
operatorial, definind operatorul
k
T ce acioneaz asupra unei matrici ptrate de
89
ordinul n cu 0 i 1 n felul urmtor: B A T
k
= ) ( , unde ( )
n j i
ij
b B
,..., 1 , =
= este o
matrice ptrat de ordinul n, definit astfel:
( ) ( )
kj ik ij kj ik ij ij
a a a a a a b = = , min , max
pentru n j i ,..., 1 , = . Pentru simplificarea scrierii am notat operaia maximum prin
, iar operaia de minimum este tocmai operaia produs n algebra boolean { } 1 , 0 .
Din cauza proprietii de absorbie mai rezult c
ij ij
a b = dac i sau j este egal cu
k. La pasul 2 al algoritmului se calculeaz tocmai matricea ) ( A T
k
, deoarece
elementele 1 =
ij
a rmn invariante din definiia operatorilor
k
T .
Propoziia 4. Transformrile
k
T sunt idempotente, iar oricare dou
transformri
k
T ,
h
T comut ntre ele.
Teorema 2. Exist egalitatea
*
1
) ( A A T
n
k
k
=

=

pentru orice matrice de adiacen A de ordinul n.
S observm c transformarea
k
T const n nlocuirea tuturor elementelor
0 care nu se gsesc pe linia sau coloana k prin 1, dac ambele lor proiecii pe linia
i coloana k sunt egale cu 1. Deoarece sunt ( )
2
1 n elemente care nu se gsesc pe
linia i coloana k, rezult c att numrul de operaii minimum, ct i numrul de
operaii maximum necesitate de aplicarea algoritmului este egal fiecare cu
( )
2
1 n n , care este complexitatea acestui algoritm.
S notm cu ( )
i
x S mulimea vrfurilor care sunt extremiti terminale ale
unor drumuri care pleac din
i
x i cu ( )
i
x P mulimea vrfurilor care sunt
extremiti iniiale ale unor drumuri care se termin n
i
x . Componenta tare conex
care conine vrful
i
x este tocmai mulimea ( ) ( ) { }
i i i
x x P x S . Dar mulimile
( )
i
x S , respectiv ( )
i
x P se obin imediat din matricea drumurilor
*
A : ( )
i
x S este
compus din acele vrfuri
j
x pentru care indicele j verific 1
*
=
ij
a , deci
corespund coloanelor care conin un 1 n linia i , iar ( )
i
x P este compus din acele
vrfuri
j
x pentru care 1
*
=
ji
a , deci care corespund liniilor care conin un 1 n
coloana i . De aici rezult un algoritm pentru gsirea componentelor tare conexe
ale unui graf orientat G plecnd de la matricea drumurilor
*
A , innd seama c
aceste componente tare conexe constituie o partiie a mulimii de vrfuri ) (G V .



90
III. ARBORI SI ALGORITMUL LUI KRUSKAL

Un graf conex i fr cicluri se numete arbore. Terminologia ine seama
de asemnarea cu arborii din natur. Am vzut c vrfurile de gradul 1 ale unui
graf se numesc vrfuri terminale, care n cazul unui arbore se mai numesc i
frunze. Astfel, unei expresii aritmetice i se asociaz n mod natural un arbore, n
vrfurile cruia se reprezint att operatorii, ct i operanzii. Frunzele au asociai
operanzi, iar celelalte vrfuri conin operatori. Deoarece unele operaii (scderea,
ridicarea la putere, mprirea) nu sunt comutative, avem de a face cu un tip special
de arbori, numii arbori binari. Astfel, vrful n care este reprezentat ultima
operaie se numete rdcina arborelui binar. Rdcina are un subarbore stng i
un subarbore drept. Subarborii stng i drept ai rdcinii sunt, la rndul lor, arbori
binari. n cazul arborilor binari se face distincie ntre stnga i dreapta. Aceti
arbori sunt utilizai n multe capitole ale informaticii. Se observ din desenul unui
arbore c, oricum am suprima o muchie a unui arbore se obine un graf neconex, cu
dou componente conexe. De asemenea, oricum am uni printr-o nou muchie dou
vrfuri neadiacente ale unui arbore, n graful astfel obinut apare un ciclu. Aceste
proprieti au loc pentru orice arbore.
Teorema 3. Urmtoarele afirmaii sunt echivalente pentru un graf G:
a) G este conex i fr cicluri;
b) G este un graf conex minimal, adic G este conex, dar devine neconex prin
suprimarea unei muchii oarecare;
c) G este un graf fr cicluri maximal, adic G nu conine cicluri, dar prin unirea
printr-o muchie a oricror dou vrfuri neadiacente ale lui G, graful obinut
conine cicluri.
Am vzut c un graf parial H al grafului G, este graful G sau se obine din
G prin suprimarea anumitor muchii. Dac graful parial H este arbore, el se
numete arbore parial al lui G.
Corolar 1. Un graf G are un arbore parial dac i numai dac G este
conex.
Propoziia 5. Orice arbore cu 2 n vrfuri are cel puin dou vrfuri
terminale.
Arborii au o proprietate remarcabil, dat de teorema urmtoare.
Teorema 4. Orice arbore cu n vrfuri are 1 n muchii.
Proprietatea unui arbore de a fi un graf conex minimal face ca arborii s
apar ntr-o serie de probleme de optimizare, cum este urmtoarea:

Problema arborelui parial minim

Fie G un graf conex i c o funcie ( ) , 0 ) ( : G E c care asociaz
fiecrei muchii a grafului G un numr real pozitiv numit costul acelei muchii.
Costul unui graf parial al lui G este egal prin definiie cu suma costurilor asociate
muchiilor lui H, ceea ce vom scrie:

=
) (
) ( ) (
H E u
u c H c . Se pune problema
91
determinrii unui graf parial H al lui G care trebuie s fie conex i s aib un cost
minim. Un astfel de graf parial conex de cost minim trebuie s fie un arbore
parial, deoarece arborii sunt singurele grafuri conexe minimale. Deci orice graf
parial de cost minim care este conex este un arbore parial al lui G. Acest arbore
parial exist conform corolarului 1. Pentru gsirea unui arbore parial de cost
minim al unui graf conex, pe care l vom numi, pe scurt, arbore parial minim,
descriem n continuare algoritmul lui Kruskal.

Algoritmul lui Kruskal

Fie G un graf conex cu 2 n vrfuri i o funcie cost ( ) , 0 ) ( : G E c .
Muchiile unui arbore parial minim sunt selectate una cte una, dup cum urmeaz:
Pasul 1: Dintre muchiile nealese ale lui ) (G E se selecteaz o muchie de cost
minim cu condiia s nu formeze cicluri cu muchiile deja alese.
Pasul 2: Au fost selectate 1 n muchii? Dac da, ne oprim. Muchiile selectate
sunt muchiile unui arbore parial minim al lui G. Dac nu, se repet
pasul 1.
Teorema 5. Algoritmul lui Kruskal produce un arbore parial de cost
minim.
Se observ c la pasul curent al aplicrii algoritmului muchiile selectate, n
ordinea cresctoare a costurilor, formeaz un numr de componente conexe care
toate sunt arbori. Acetia se unesc n final pentru a forma un singur arbore, care
este un arbore parial de cost minim. Dac atribuim o aceeai etichet (de exemplu
un numr natural cuprins ntre 1 i n) tuturor vrfurilor dintr-o aceeai component,
avnd grij ca componentele diferite s aib etichete diferite, selectarea unei noi
muchii se poate face acum uor, verificnd numai ca etichetele extremitilor ei s
fie diferite; apoi cele dou componente n care se gsesc extremitile ei se unific
ntr-o singur component, deci toate etichetele celor dou componente trebuie
unificate (de exemplu, cu eticheta cea mai mic). Folosind un vector cu n
componente V se iniializeaz i i V = ) ( pentru n i ,..., 1 = , apoi se aplic algoritmul
descris de unificare a etichetelor la alegerea unei noi muchii pq astfel nct
) ( ) ( q V p V . Dac G are n vrfuri i m muchii, sortarea prealabil a muchiilor n
ordinea cresctoare a costurilor necesit o complexitate de calcul de ordinul
( ) m m O log , iar parcurgerea de 1 n ori a vectorului V al etichetelor i unificarea
etichetelor vrfurilor din componentele care se unesc la fiecare pas mai necesit o
complexitate de ( )
2
n O . Rezult n total o complexitate timp de ordinul
( )
2
log n m m O + , al doilea termen fiind absorbit de primul dac graful are multe
muchii.




92
IV. DISTANTE SI DRUMURI MINIME IN GRAFURI ORIENTATE

Pentru un graf orientat G s presupunem c pe mulimea arcelor sale
) (G E s-a definit o funcie distan ( ) , 0 ) ( : G E d care asociaz fiecrui arc
al grafului G lungimea sa 0 ) , ( > j i d , care va fi notat n continuare cu
ij
d . n
cazul unui astfel de graf ponderat vom defini lungimea unui drum D ca fiind egal
cu suma lungimilor arcelor drumului D. S observm c n cazul unui graf
neponderat lungimea unui drum (respectiv lan n cazul neorientat) s-a definit
analog dac se asociaz fiecrui arc (respectiv muchii) o lungime egal cu 1. Pentru
dou vrfuri ) ( , G V y x pot exista n graful G mai multe drumuri care pleac din
x i sosesc n y. Vom defini distana minim de la vrful x la vrful y n graful G
( y x ) i o vom nota cu ( ) y x d ,
*
, minimul lungimilor drumurilor din graful G
care au extremitatea iniial n x i extremitatea final n y. Dac nu exist nici un
drum de la x la y n G vom defini ( ) = y x d ,
*
.
Lungimile
ij
d ale arcelor grafului se mai numesc i distanele directe
dintre vrfurile grafului i formeaz matricea distanelor directe care se definete
n felul urmtor pentru un graf G cu n vrfuri notate n ,..., 1 : ( )
n j i
ij
d D
,..., 1 , =
= , unde
0 =
ii
d pentru orice n i ,..., 1 = ,
ij
d reprezint lungimea arcului ) , ( j i dac
) ( ) , ( G E j i i =
ij
d dac ) ( ) , ( G E j i . Matricea distanelor minime,
notat ( )
n j i
ij
d D
,..., 1 ,
* *
=
= , se definete n modul urmtor: 0
*
=
ii
d pentru orice
n i ,..., 1 = ,
*
ij
d reprezint distana minim de la vrful i la vrful j dac exist cel
puin un drum de la i la j i =
*
ij
d dac nu exist nici un drum de la i la j n
graful G. Algoritmul lui Floyd permite calcularea matricii
*
D plecnd de la
matricea D a distanelor directe i este analog algoritmului lui Roy-
Warshall pentru obinerea matricii drumurilor plecnd de la matricea de adiacen a
unui graf. Se schimb numai operaiile de maximum i minimum prin minimum i
respectiv +, definite pe mulimea numerelor reale pozitive, iar elementele de pe
diagonala principal nu se mai calculeaz, ele rmnnd egale cu 0.

Algoritmul lui Floyd are urmtorii pai:

1. Se face 1 = k .
2. Pentru n i ,..., 1 = i n j ,..., 1 = , j i , k i , k j , se nlocuiete elementul
ij
d prin ( )
kj ik ij
d d d + , min .
3. Se repet pasul 2 pentru n k ,..., 2 = .
La sfritul aplicrii algoritmului, n locul matricii D apare matricea
*
D .
La fel ca n cazul gsirii matricii drumurilor, acest algoritm se poate exprima n
limbaj operatorial i se poate justifica n mod asemntor.
93
Deoarece elementele de pe diagonala principal a matricii D rmn
neschimbate, numrul de adunri ct i numrul de comparaii pentru algoritmul lui
Floyd este egal cu ( )( ) 2 1 n n n .
n continuare vom prezenta un algoritm pentru determinarea att a
distanelor, ct i a drumurilor minime de la un vrf fixat s al unui graf orientat la
toate celelalte vrfuri, avnd complexitatea timp de ordinul ( )
2
n O dac graful are
n vrfuri. Pentru a descrie modul n care se obin drumurile minime, vom defini
mai nti noiunea de arborescen. O arborescen se obine dintr-un arbore A n
modul urmtor: se alege un vrf r al arborelui A i se orienteaz toate muchiile
arborelui (care astfel devin arce) n mod unic astfel nct pentru orice vrf r x al
arborelui s existe un drum de la r la x. Vrful r se numete rdcina arborescenei.
Algoritmul care va fi descris calculeaz distanele i drumurile minime de la un
vrf s la toate celelalte vrfuri ale unui graf orientat G cu lungimile arcelor numere
nenegative. La sfritul aplicrii algoritmului se obine o arborescen A cu
rdcina s i mulimea vrfurilor V(G) cu proprietatea c pentru orice vrf s i
drumul unic de la s la i n A este un drum de lungime minim n G. Arborescena
A este definit folosind funcia predecesor, notat pred, astfel nct dac
( ) ) ( , A E j i atunci i j pred = ) ( . Algoritmul eticheteaz fiecare vrf i al
grafului cu o etichet notat ) (i l care este un majorant al distanei minime de la
vrful s la vrful i , iar n final va fi egal chiar cu distana minim de la s la i . La
fiecare pas intermediar algoritmul partiioneaz vrfurile n dou mulimi:
mulimea S a vrfurilor cu etichete permanente i complementara sa S , a
vrfurilor cu etichete temporare. Etichetele permanente ale vrfurilor din S
reprezint distanele minime de la s la vrfurile respective, n timp ce etichetele
temporare ale vrfurilor din S reprezint nite majorri ale distanelor minime. La
fiecare pas un vrf din S cu cea mai mic etichet temporar este trecut din S n
S. La sfritul aplicrii algoritmului = S , iar ) (i l va reprezenta pentru orice
vrf i distana minim de la s la i .

Algoritmul lui Dijkstra

Se consider un graf orientat cu n vrfuri notate n ,..., 1 pentru care
lungimea fiecrui arc ( ) j i, se noteaz cu 0
ij
d . Se fixeaz un vrf s din G. La
sfritul aplicrii algoritmului ) (i l va fi distana minim de la vrful s la vrful i
pentru orice n i 1 . Prin definiie, 0 ) ( = s l . Dac la sfritul aplicrii
algoritmului pentru un vrf k se obine = ) (k l , aceasta semnific inexistena
drumurilor de la vrful s la vrful k n graf. n acest caz arborescena drumurilor
minime nu va conine vrful k. Arborescena A a drumurilor minime de la s la
celelalte vrfuri are 1 n arce, care sunt perechile ordonate ( ) i i pred ), ( pentru
orice n i ,..., 1 = i s i . Paii algoritmului sunt urmtorii:
94
1. S , ) (G V S .
2. 0 ) ( s l i ) (i l pentru orice s i .
3. Ct timp n S < se execut urmtoarele operaii:
a) se selecteaz un vrf S i pentru care
{ } S j j l i l = ) ( min ) ( ;
b) {} i S S , {} i S S \ ;
c) pentru fiecare arc ( ) j i, care are extremitatea iniial n i i extremitatea
final n S j , dac
ij
d i l j l + > ) ( ) ( ,
atunci
ij
d i l j l + ) ( ) ( i i j pred ) ( .
Distanele minime se obin n ordinea apropierii vrfurilor respective de
originea s. Aplicnd de n ori acest algoritm i lund de fiecare dat ca vrf surs s
fiecare din vrfurile n ,..., 1 , se pot obine distanele i drumurile minime pentru
toate perechile ordonate de vrfuri ( ) j i, cu j i i n j i , 1 .
Aceste algoritm se aplic i grafurilor neorientate, nlocuind la pasul 3c)
arcul ( ) j i, prin muchia ij care are una dintre extremiti n vrful i selectat
la acel pas i cealalt extremitate ntr-un vrf S j . n acest caz arborescena
drumurilor minime devine un arbore al drumurilor minime care au o extremitate
n s.
Complexitatea timp a algoritmului se evalueaz astfel: Dac S are k
elemente ( n k 1 ),determinarea minimului din numerele ) ( j l pentru S j se
face cu ajutorul a 1 k comparaii. Deoarece exist cel mult 1 k arce de forma
( ) j i, cu i fixat n S i j variabil n S , la compararea lui ) ( j l cu suma
ij
d i l + ) (
se fac cel mult 1 k comparaii i 1 k adunri. Deci numrul total de adunri
este cel mult egal cu
2
) 1 (
) 1 ( ... 2 1

= + + +
n n
n i un numr dublu de
comparaii, adic ) 1 ( n n .
Dac graful conine i arce cu lungimea negativ, se poate ca anumite
distane minime dintre vrfurile sale s nu existe. De exemplu, ntre vrfurile
situate pe un circuit cu suma lungimilor arcelor sale negativ nu exist un minim al
distanelor ntre vrfurile sale, acestea putnd fi fcute s tind la . Exist
algoritmi (de exemplu algoritmul lui Dantzig) care detecteaz existena circuitelor
negative, iar n cazul inexistenei acestora gsesc distanele minime ntre vrfurile
unui graf pentru care distanele directe intre vrfuri pot lua i valori negative.



95
V. FLUX MAXIM IN RETELE DE TRANSPORT

n cazul reelelor de transport vom nota prin ( ) x

, respectiv ( ) x
+

mulimea arcelor care intr, respectiv ies din vrful ) (G V x , adic
( ) ( ) ( ) { } ) ( , ), ( , G E x y G V y x y x =


i
( ) ( ) ( ) { } ) ( , ), ( , G E y x G V y y x x =
+
.
Vom extinde aceste definiii la o mulime de vrfuri ) (G V A n felul
urmtor:
( ) ( ) { } ) ( , , , , ) ( G E y x A y A x y x A =

,
iar
( ) ( ) { } ) ( , , , , ) ( G E y x A y A x y x A =
+
.
Un graf orientat G se numete reea de transport dac verific urmtoarele
condiii:
a) Exist un vrf unic ) (G V s n care nu intr nici un arc, adic =

) (s ,
numit intrarea reelei.
b) Exis un vrf unic ) (G V t din care nu pleac nici un arc, adic =
+
) (t ,
numit ieirea reelei.
c) G este conex i exist drumuri de la s la t.
d) S-a definit o funcie pe mulimea arcelor ) (G E cu valori numere reale
nenegative:
+
R G E c ) ( : .
Numrul ) (u c se numete capacitatea arcului u. O funcie definit pe
mulimea arcelor cu valori numere reale nenegative,
+
R G E ) ( : se numete
flux n reeaua de transport G, dac sunt ndeplinite urmtoarele dou condiii:
A. Condiia de conservare a fluxului n orice vrf diferit de intrare i ieire:
pentru orice vrf s x i t x , suma fluxurilor pe arcele care intr n x este
egal cu suma fluxurilor pe arcele care ies din x, ceea ce se scrie

+


=
) ( ) (
) ( ) (
x u x u
u u .
B. Condiia de mrginire a fluxului pe arcele reelei: fluxul asociat oricrui arc nu
trebuie s depeasc capacitatea arcului respectiv, adic ) ( ) ( u c u pentru
orice arc ) (G E u .
Se noteaz fluxul pe arcele de intrare cu
s
i fluxul pe arcele de ieire cu
t
, adic
( )
( )

+

=
s u
s
u


96
i


=
) (
) (
t u
t
u .
Propoziia 6. Pentru orice reea de transport exist egalitatea
t s
= .
Pentru o reea de transport G cu intrarea s i ieirea t vom considera o
submulime de vrfuri ) (G V A astfel nct A s i A t . Mulimea ) ( A

a
arcelor grafului pentru care extremitatea iniial nu se gsete n A, dar
extremitatea final aparine mulimii A se numete tietur de suport A.
Capacitatea tieturii ) ( A

este egal prin definiie cu suma capacitilor arcelor


tieturii i vom nota
( )

=
) (
) ( ) (
A u
u c A c
S observm c orice drum care leag intrarea s de ieirea t conine cel
puin un arc dintr-o tietur oarecare ) ( A

. ntr-adevr, deoarece A s i
A t , vor exista dou vrfuri vecine ale drumului, x i y astfel nct A x i
A y , deci ( ) ) ( , A y x

.
Propoziia 7. Pentru orice flux i orice tietur ) ( A

dintr-o reea de
transport G exist relaiile:
( ) ) ( ) ( ) (
) ( ) (
A c u u
A u A u
t

+


=

.
Un arc ) (G E u se numete saturat relativ la fluxul dac
) ( ) ( u c u = . Problema fluxului maxim este problema determinrii unui flux n
reeaua G, astfel nct fluxul la ieire
t
(care este egal cu fluxul la intrare), s aib
cea mai mare valoare posibil.
Teorema 6 (ford-Fulkerson). Pentru orice reea de transport valoarea
maxim a fluxului la ieire este egal cu capacitatea minim a unei tieturi, ceea
ce se mai scrie
( ) ) ( min max
) (
A c
A
t


= .
Dac teorema lui Ford-Fulkerson are loc pentru orice fel de capaciti
numere reale pozitive, algoritmul urmtor pentru determinarea unui flux maxim,
datorat de asemenea lui Ford i Fulkerson, funcioneaz numai pentru capaciti
numere ntregi. S observm totui c deoarece putem amplifica att capacitile
arcelor ct i componentele fluxului cu o aceeai cantitate pozitiv, obinnd o
problem similar cu cea iniial, problema determinrii fluxului maxim cu
componente numere raionale ntr-o reea cu capaciti numere raionale se reduce
la cazul cnd componentele fluxului, ct i capacitile arcelor sunt numere ntregi
nenegative.


97
Algoritmul lui Ford-Fulkerson

n cazul cnd capacitile arcelor sunt numere naturale,
algoritmul lui Ford-Fulkerson const n urmtoarele:
Pasul 1: Se determin un flux cu componente numere naturale, care verific
condiiile de conservare i mrginire; de exemplu se poate alege fluxul
cu componente nule pe fiecare arc.
Pasul 2: Se aplic urmtorul procedeu de etichetare: Se eticheteaz intrarea s. Un
vrf y neetichetat se poate eticheta n urmtoarele dou situaii:
a) exist arcul ( ) y x u , = , unde x este etichetat i ) ( ) ( u c u < . n
acest caz vrful y se eticheteaz cu | | x + ;
b) exist arcul ( ) x y v , = , unde x este etichetat i 0 ) ( > v . n acest
caz y se eticheteaz cu | | x .
Dac dup ce se fac toate etichetrile posibile ieirea t nu a fost
etichetat, ne oprim, fluxul obinut este maxim. n caz contrar t a fost
etichetat. Urmrind etichetele vrfurilor n sens invers, de la t la s, se
reconstituie un lan nesaturat L pe care fluxul poate fi mrit cu , definit
n acelai mod ca n demonstraia teoremei lui Ford-Fulkerson. Cu noul
flux se merge la pasul 2.
Algoritmul are un numr finit de pai deoarece att capacitile arcelor ct
i componentele fluxului fiind numere naturale, la fiecare mrire a fluxului
valoarea
t
crete cu 1 iar fluxul este mrginit, el neputnd depi capacitatea
minim a unei tieturi. La sfritul aplicrii algoritmului arcele care unesc vrfurile
etichetate cu vrfurile neetichetate constituie o tietur de capacitate minim,
demonstraia acestei proprieti decurgnd din demonstraia teoremei lui Ford-
Fulkerson.

Bibliografie partea a doua

1. M. Becheanu, I. Tomescu, B. Enescu, A. Vernescu, Matematic, Manual
pentru clasa a X-a (profil M2), Editura Teora, 2000, pp. 92-132.
2. I. Tomescu, Combinatoric i teoria grafurilor, Tipografia Universitii din
Bucureti, 1978.
3. I. Tomescu, Probleme de combinatoric i teoria grafurilor, Editura Didactic
i Pedagogic, Bucureti, 1981. Ediia englez: Problems in Combinatorics
and Graph Theory, John Wiley, New York, 1985.
4. M. Behzad, G. Chartrand, L. Lesniak-Foster, Graphs & Digraphs, Prindle,
Weber & Schmidt, Boston, Massachusetts, 1979.
5. B. Bollobas, Graph Theory. An Introductory Course, Springer-Verlag, New
York, Heidelberg, Berlin, 1979.

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