Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultatea de INFORMATIC
VALENTIN GRBAN
BUCURETI 2013
CUPRINS
ALGORITMICA GRAFURILOR........................................................................................4
2
Noiuni introductive. Punerea problemei...............................................................................77
Algoritm pentru determinarea drumului de lungime minim ntre dou vrfuri dintr-un
graf..........................................................................................................................................79
3
UNIVERSITATEA TITU MAIORESCU, BUCURETI
Facultatea de Informatic
nvmnt la Distan
ALGORITMICA GRAFURILOR
Algoritmica grafurilor este una din disciplinele de pregtire fundamental care, pentru
profilul INFORMATIC, este impus de ctre Agenia Naional pentru Asigurarea Calitii n
nvmntul Superior (ARACIS) fiind esenial pentru pregtirea studenilor i pentru depirea
procedurilor de evaluare i acreditare. Modul de prezentare a acestui material are n vedere
particularitile nvmntului la distan, la care studiul individual este determinant. Pentru orice
nelmuriri fa de acest material v rugm s contactai tutorele de disciplin care are datoria s v
ajute oferindu-v toate explicaiile necesare.
5
Structura cursului este urmtoarea:
SUCCES!
Coordonator disciplin: Conf. univ. dr. Valentin GRBAN
Tutori: Asist. univ. drd. Veronica ZANFIR, Asist. univ. Roxana DONCEA
6
UNITATEA DE NVARE NR. 1
ELEMENTE DE COMBINATORIC
Obiective urmrite:
Rezumat:
Cuvinte cheie:
Timp de studiu:
7
LECIA 1 - ELEMENTE DE COMBINATORIC
1. Mulimi ordonate
Adesea se consider mulimi finite ale cror elemente sunt aranjate ntr-o ordine
determinat. Exemple:
a) alfabetul unei limbi este o mulime ale crei elemente (literele) sunt date ntr-o anumit
ordine;
b) cifrele semnificative ale sistemului zecimal de numeraie sunt cifre i sunt date n ordinea
natural: {0,1,2,3,4,5,6,7,8,9} .
Elementele unei mulimi se pot da i ntr-o alt ordine. Este posibil, de exemplu, ca literele
alfabetului romnesc s fie aranjate fie n ordinea natural, de la a la z, fie n ordinea invers, de la z
la a, fie n ordinea n care sunt prezentate n abecedar, la clasa I.
Definiia 1.1
Spunem c o mulime finit mpreun cu o ordine bine determinat de dispunere a
elementelor sale este o mulime ordonat.
Astfel, dac A este o mulime finit avnd n elemente i dac fiecrui element al su i se
asociaz un numr de la 1 la n numit rangul elementului astfel nct la elemente diferite ale lui A s
corespund numere de ordine diferite, mulimea A devine o mulime ordonat. Prin urmare, orice
mulime finit poate deveni o mulime ordonat, ordinea elementelor stabilindu-se prin numerotarea
elementelor mulimii respective. Mulimea ordonat obinut se va nota cu {a1 , a2 ,..., an } , unde
ordinea elementelor este dat de indici.
O mulime ordonat este caracterizat prin elementele din care este format i prin ordinea
n care sunt considerate acestea.
Astfel, dou mulimi ordonate sunt diferite dac ele se deosebesc fie prin elementele din
care sunt formate, fie prin ordinea lor.
De exemplu, mulimile A = {1,2,3,..., n} i B = {b1, b2 ,..., bn } sunt ordonate i difer
prin elementele din care sunt formate, iar mulimile C = {1,2,3} i D = {1,3,2} sunt, de
asemenea, ordonate i au aceleai elemente, dar se deosebesc prin ordinea n care acestea sunt
dispuse n fiecare mulime.
8
2. Permutri
Fie A o mulime finit cu n elemente. Aceast mulime se poate ordona n mai multe moduri,
obinndu-se mulimi ordonate, diferite, care se deosebesc ntre ele numai prin ordinea elementelor.
Fiecare din mulimile ordonate care se formeaz cu cele n elemente ale mulimii A, se numete
permutare a acestei mulimi sau o permutare de n elemente. Numrul permutrilor de n elemente se
noteaz cu Pn i se citete permutri de n. Ne propunem s determinm numrul Pn al
permutrilor de n elemente.
Vom face nti un raionament inductiv i rezultatul pe care-l vom deduce l vom demonstra
prin metoda induciei matematice.
Avem:
1. O mulime cu un singur element A1 = {a1} poate fi ordonat ntr-un singur mod, deci
P1 = 1 .
2. O mulime cu dou elemente A2 = {a1, a2 } poate fi ordonat n dou moduri, obinndu-
se dou permutri: {a1 , a2 } i {a2 , a1} . Deci P2 = 2 = 1 2 .
3. O mulime cu trei elemente A3 = {a1, a2 , a3} poate fi ordonat n
6 moduri, permutrile acestei mulimi fiind urmtoarele: {a1 , a2 , a3} , {a1 , a3 , a2 } , {a2 , a1, a3} ,
{a2 , a3 , a1} , {a3 , a1, a2} , {a3 , a2 , a1} . Deci, P3 = 6 = 1 2 3 .
Pe baza acestui raionament prin inducie incomplet putem formula urmtoarea propoziie:
not
Numrul permutrilor de n elemente este Pn = 1 2 3 ... n = n! (n factorial).
Aceast propoziie trebuie demonstrat prin metoda induciei matematice. Numai atunci
putem afirma c rezultatul exprimat n propoziie este valabil pentru orice numr natural n.
Teorema 2.1
Pentru orice numr natural n 1 , numrul permutrilor de n elemente este Pn = n! .
Demonstraie
S notm cu P ( n ) egalitatea Pn = n!
1. P (1) este adevrat, dup cum am constat n cadrul raionamentului inductiv anterior.
2. Presupunem P ( k ) adevrat i s demonstrm, pe baza acestei presupuneri, s i
P ( k + 1) este adevrat. Fie o mulime ordonat cu k + 1 elemente. Ne propunem c ordonm n
toate modurile posibile aceast mulime. Ultimul loc, al k + 1 -lea, poate fi ocupat de oricare din
cele k + 1 elemente ale mulimii. Se obin astfel k + 1 moduri diferite de a ocupa ultimul loc. S
considerm unul dintre aceste moduri de ordonare. Unul dintre elementele mulimii va avea rangul
k + 1 . Elementele rmase, n numr de k, trebuie s ocupe primele k locuri. Conform ipotezei de
inducie, aceasta se poate face n Pk = k ! moduri diferite. Pentru fiecare din cele k + 1 moduri
diferite de ocupare a poziiei k + 1 se procedeaz similar, rezultnd astfel ( k + 1) Pk moduri de a
ordona o mulime finit care are k +1 elemente distincte. Deci,
Pk +1 = ( k + 1) Pk = ( k + 1) k ! = ( k + 1)! . Prin urmare, am artat c P ( k + 1) este adevrat.
Rezult atunci c P ( n ) este adevrat pentru orice n , n 1.
Prin convenie, mulimea vid poate s fie ordonat ntr-un singur mod, deci P0 = 0! = 1 .
9
3. Aranjamente
Fie o mulime finit A cu n elemente i k , k n . Ne propunem s determinm
numrul submulimilor ordonate, cu cte k elemente fiecare, extrase din elementele mulimii A.
Definiia 3.1
Dac A este o mulime finit cu n elemente, atunci submulimile ordonate ale lui A, avnd
fiecare cte k elemente, unde 0 k n , se numesc aranjamente de n elemente luate cte k.
k
Numrul aranjamentelor de n elemente luate cte k se noteaz An i se citete aranjamente
de n luate cte k.
S observm c dou aranjamente de n elemente luate cte k difer ntre ele att prin natura
elementelor, ct i prin ordinea lor. De exemplu, dac A = {a1, a2 , a3} , atunci din elementele sale
se pot constitui:
1) 3 submulimi avnd fiecare cte un element: {a1} , {a2 } , {a3} ; acestea se deosebesc
1
ntre ele numai prin natura elementelor, iar numrul lor este A3 = 3 ;
2) 6 submulimi ordonate avnd fiecare cte 2 elemente: {a1, a2} , {a1, a3} , {a2 , a1} ,
{a2 , a3} , {a3 , a1} , {a3 , a2} ; acestea se deosebesc ntre ele fie prin natura elementelor, fie prin
2
ordinea elementelor, iar numrul lor este A3 = 6 = 3 2 ;
3) 6 submulimi ordonate avnd fiecare cte 3 elemente: {a1, a2 , a3} , {a1, a2 , a3} ,
{a2 , a1, a3} , {a2 , a3 , a1} , {a3 , a1, a2} , {a3 , a2 , a1} .
3
Acestea se deosebesc ntre ele numai prin ordinea lor, iar numrul lor este A3 = 6 = 3 2 1 .
Mai observm c n acest caz, n care numrul k al elementelor fiecrei submulimi coincide cu
numrul n al elementelor mulimii A, aranjamentele de n elemente luate cte n coincid cu
permutrile de n elemente ale lui A.
k
Ne propunem c gsim o formul pentru calculul numrului An . Raionamentul inductiv
k
fcut pe exemplul anterior ne sugereaz s considerm c numrul An poate fi calculat cu formula
urmtoare:
Ank = n ( n 1)( n 2 ) ...( n k + 1) .
Vom demonstra formula pentru orice k, n , cu 0 k n .
Teorema 3.2
Dac n i k sunt numere naturale astfel nct 0 < k < n , atunci:
Ank = n ( n 1)( n 2 ) ...( n k + 1) .
Demonstraie
Artm mai nti c An = ( n k ) Ank . ntr-adevr, s repartizm oricare k + 1
k +1
elemente extrase din n elemente date, pe k + 1 locuri. Pentru aceasta, se pot lua mai nti oricare k
k
elemente i aranja pe primele k locuri din cele k + 1 , aceasta fcndu-se n An moduri. Mai
observm c n fiecare din aceste cazuri rmn neutilizate n k elemente din cele n ale lui A.
Oricare dintre aceste n k elemente se poate pune pe al ( k + 1) -lea loc. Astfel, n fiecare din cele
10
Ank moduri de aranjare a k elemente pe primele k locuri, obinem ( n k ) posibiliti prin care
unul din cele n k elemente rmase ocup al ( k + 1) -lea loc. Rezult c An = Ank ( n k ) .
k +1
1
Avnd n vedere c An = n i formula demonstrat anterior, obinem, succesiv:
k := 2 : An2 = An1 ( n 1) = n ( n 1) ;
k := 3: An3 = An2 ( n 2 ) = n ( n 1)( n 2 ) ;
.........................................................................
k := k : Ank = Ank 1 ( n k + 1) = n ( n 1)( n 2 ) ...( n k + 1) ,
teorema fiind complet demonstrat. n continuare vom da o alt exprimare formulei gsite i vom
arta c este adevrat i pentru cazurile k = 0 i k = n .
Amplificm expresia gsit pentru An cu ( n k )!. Obinem
k
Rezolvare
Fie A = {a1, a2 ,..., ak } i B = {b1 , b2 ,..., bn } cu k n .
Dac f : A B este o funcie injectiv, atunci ( ) ai a j din A vom avea
( )
f ( ai ) f a j n B. Rezult c oricrei funcii injective f : A B i corespunde o submulime
ordonat format din k elemente distincte extrase din B. Invers, fiecare submulime ordonat avnd
k elemente distincte din B, de exemplu: Bi = bi1 , bi2 ,..., bik { } definete o funcie injectiv
11
( )
f : A B , care realizeaz corespondena: f a j = bi j , 1 j k . Am artat astfel c numrul
funciilor injective definite pe o mulime A cu k elemente, cu valori ntr-o mulime B cu n elemente,
( k n ) este egal cu numrul submulimilor ordonate, avnd cte k elemente ale lui B, deci egal cu
Ank .
n cazul particular k = n , deci cnd A i B au acelai numr de elemente, atunci orice
funcie injectiv f : A B este neaprat bijectiv.
Vom arta c n acest caz funcia f este i surjectiv. Presupunem prin absurd c f nu ar fi
( ) n B, rezult n
surjectiv. Cum f este injectiv, deci ( ) ai a j din A implic f ( ai ) f a j
{
primul rnd c Im f = f ( A ) = f ( x ) x A } are exact n elemente distincte din B. Din
presupunerea fcut c f nu este surjectiv rezult c ( ) b B , astfel nct ( ) x A ,
f ( x ) b , deci b f ( A ) , de unde ar rezulta c f ( A ) are mai puin de n elemente, deci
contradicie cu concluzia obinut anterior, dedus pe baza injectivitii lui f. Contradicia arat c
presupunerea fcut este fals, deci f este neaprat surjectiv. Fiind i injectiv, rezult c f este
bijectiv. Prin urmare, n cazul particular k = n al aplicaiei rezolvate aici rezult c numrul
funciilor bijective definite pe o mulime A cu n elemente cu valori ntr-o mulime B tot cu n
n
elemente este egal cu An = Pn = n! .
n acest caz mulimea B se poate nlocui cu A, obinnd f : A A i din acest motiv
funcia bijectiv f : A A se mai numete i permutare a mulimii A. Reformulnd, vom spune
c numrul aplicaiilor bijective definite pe o mulime finit format din n elemente, cu valori n ea
nsi, este egal cu numrul permutrilor mulimii respective. Aceast formulare reprezint totodat
n
i interpretarea egalitii An = Pn = n! n termenii aplicaiilor bijective definite pe o mulime finit
cu n elemente, cu valori n ea nsi.
4. Combinri
Fie mulimea A = {a1, a2 , a3} i s considerm toate submulimile sale, care sunt
urmtoarele:
1) mulimea vid: ;
2) 3 submulimi formate din cte un singur element: {a1} , {a2 } , {a3} ;
3) 3 submulimi formate din cte dou elemente fiecare: {a1 , a2 } , {a1 , a3} , {a3 , a2 } ;
4) mulimea total: {a1 , a2 , a3} .
Fa de cazul anterior, discutat n paragraful Aranjamente, cnd am considerat toate
submulimile ordonate ale lui A formate din 0 sau 1, sau 2, sau 3 elemente, n cazul de fa am
considerat, de asemenea, toate submulimile lui A formate din 0 sau 1, sau 2, sau 3 elemente, dar
fr s lum n considerare i ordinea elementelor n fiecare submulime. n cazul general, fiind dat
o mulime finit cu n elemente, ne propunem s calculm numrul submulimilor sale avnd fiecare
cte k elemente, unde 0 k n .
Definiia 4.1
Fie A o mulime finit cu n elemente i k , cu 0 k n . Submulimile lui A avnd
fiecare cte k elemente se numesc combinri de n elemente luate cte k.
12
k
Numrul combinrilor de n elemente luate cte k se noteaz cu Cn i se citete combinri
de n luate cte k.
k
Ne propunem s gsim o formul pentru calculul numrului Cn .
Din exemplul analizat anterior rezult: C30 = 1 ; C31 = 3 ; C32 = 3 ; C33 = 1 i
C30 + C31 + C32 + C33 = 8 = 23 , acesta fiind numrul tuturor submulimilor mulimii cu 3 elemente,
{a1, a2 , a3} .
0
Pentru cazul general s mai observm c Cn = 1 , deoarece orice mulime A cu n elemente
are numai o submulime fr nici un element, i anume: mulimea vid. Pentru k = 1 , avem
Cnk = Cn1 = n , deoarece o mulime cu n elemente A = {a1, a2 ,..., an } are n submulimi formate
dintr-un singur element i anume submulimile {a1} ,{a2 } ,...,{an } . Formula general care permite
k
exprimarea numrului Cn n funciile de n i k este dat de teorema urmtoare.
Teorema 4.2
Fie k i n , astfel nct 0 k n . Atunci
Demonstraie
Fie A o mulime cu n elemente i k , cu 0 k n . Considerm toate submulimile
mulimii A care au cte k elemente. Ordonnd fiecare dintre aceste submulimi n toate modurile
posibile, obinem toate submulimile ordonate ale lui A care au cte k elemente. Numrul acestora
k k k
este An . Atunci putem scrie relaia: An = Cn Pk , deoarece numrul tuturor submulimilor de
k
cte k elemente ale lui A este egal cu Cn , iar fiecare submulime de cte k elemente poate fi
ordonat n Pk moduri. Rezult atunci:
Ank
Cnk =
Pk
k
Utiliznd cele dou exprimri pentru An se obin formulele:
n ( n 1)( n 2 ) ...( n k + 1)
Cnk =
k!
n !
Cnk = .
( n k )! k !
Vom pune n eviden n continuare o legtur ntre numrul de combinri i numrul
funciilor strict cresctoare definite ntre mulimi finite, ordonate.
Dac A = {a1, a2 ,..., an } este o mulime finit, ordonat, vom scrie ai < a j , dac
elementul ai precede pe a j , adic dac i < j . Altfel spus, relaia de ordine este relativ la indicii
elementelor mulimii A.
13
Dac A este o mulime ordonat, atunci ordinea pe A induce o ordine pe orice submulime a
1 2{ m }
sa. Concret, dac A = {a1, a2 ,..., an } i B A , B = ai , ai ,..., ai , atunci ai precede pe
l
aik n B (i scriem ail < aik ), dac ail precede pe aik n A, adic il < ik i vom spune c aceasta
este ordinea indus pe B de ordinea de pe A.
Fie A = {a1, a2 ,..., am } i B = {b1, b2 ,..., bn } dou mulimi ordonate. O funcie
f : A B se numete strict cresctoare dac ( ) ai , a j A , cu ai < a j , rezult
f ( ai ) < f ( a j ) n B.
Dac A i B au acelai numr de elemente ( m = n ) , atunci exist o unic funcie strict
cresctoare de la A la B, u : A B , care realizeaz corespondenele: u ( ai ) = bi , ( ) i ,
1 i n . n particular, dac A = {a1, a2 ,..., an } , atunci unica funcie strict cresctoare definit pe
A i cu valori tot n A este funcia identic a mulimii A:
1A : A A , 1A ( ai ) = ai , ( ) i , 1 i n .
n continuare, ne propunem s determinm numrul funciilor strict cresctoare definite pe o
mulime ordonat A cu m elemente, cu valori ntr-o mulime B cu n elemente. Constatm c pentru a
exista o astfel de funcie este necesar ca m n .
Presupunem deci c m n i facem urmtoarele notaii:
F c ( A, B ) = mulimea funciilor strict cresctoare definite pe A cu valori n B;
P m ( B ) = mulimea tuturor submulimilor lui B, care au cte m elemente fiecare.
f F c ( A, B ) ( )
i mai mult, f% = B . Am artat, astfel, c este i surjectiv, deci n final
rezult c este bijectiv.
14
Consecin
Numrul funciilor strict cresctoare definite pe o mulime ordonat A cu m elemente, cu
valori ntr-o mulime B cu n elemente, m n , este egal cu numrul submulimilor cu cte m
m
elemente ale lui B, deci este egal cu Cn .
k
n continuare vom stabili cteva proprieti ale numerelor Cn , 0 k n . Aceste
proprieti exprim diferite relaii ntre submulimile unei mulimi i se pot demonstra fie direct,
k
utiliznd formula de calcul pentru Cn , fie bazndu-ne pe raionamente cu mulimi.
Demonstraie
ntr-adevr, avem:
n! n!
Cnk = = = Cnn k .
( n k )! k ! ( n k )![ n ( n k )]!
Egalitatea exprim faptul c numrul submulimilor cu k elemente ale lui A este egal cu
numrul submulimilor cu n k elemente ale aceleiai mulimi A. S prezentm i demonstraia
bazat pe raionamente cu mulimi. Fie A o mulime cu n elemente i X o submulime a lui A cu k
elemente, aleas arbitrar. Acestei mulimi i asociem n mod unic o submulime bine determinat, cu
( n k ) elemente a lui A, i anume: C X (complementara lui X). Cum X a fost aleas arbitrar,
rezult c fiecrei submulimi cu k elemente a lui A i corespunde o singur submulime cu n k
elemente a lui A. Prin urmare, numrul submulimilor cu k elemente ale lui A este egal cu numrul
k nk
submulimilor sale cu ( n k ) elemente, adic are loc relaia Cn = Cn .
15
2) presupunem P ( k ) adevrat i s demonstrm c i P ( k + 1) este adevrat. Fie
Bk = {b1, b2 ,..., bk } i admitem c Bk are 2k submulimi. S artm c mulimea
Bk +1 = {b1, b2 ,..., bk , bk +1} are 2k +1 submulimi. Fie cele 2k submulimi ale lui Bk . Din fiecare
k
submulime a lui Bk se obine o nou submulime a lui Bk +1 , deci se obin nc 2 submulimi ale
k +1
submulimi ale mulimii Bk +1 . Deci, P ( k + 1) este
k k
lui Bk +1 . n total sunt deci 2 + 2 = 2
adevrat. Rezult atunci c P ( n ) este adevrat pentru orice n .
Exemplu:
1) n = 0 ; 2 = 1 P ( B0 ) = ;
0
2) n = 1 ; 2 = 2 ; B1 = {b1} {} ; {b1} ;
1
16
4.4 Triunghiul lui Pascal
Cu ajutorul formulei de recuren pentru calculul numrului de combinri putem calcula
Cnk , dac se cunosc Cnk1 i Cnk11 . Valorile numerelor Cnk se vor scrie sub forma unui tabel
triunghiular numit triunghiul lui Pascal. n linia n + 1 a a tabelului sunt aezate n ordine
0 1 2 n 0 n
numerele Cn , Cn , Cn ,..., Cn . Cum Cn = Cn = 1 , acestea dou se completeaz de la sine pe orice
rnd, iar numerele rmase se calculeaz cu ajutorul formulei de recuren, astfel: pentru calculul lui
Cnk se vor aduna numerele din linia precedent care se afl n stnga i dreapta lui Cnk .
Fig. 1
3 2 3
Exemplu: C6 = C5 + C5 = 10 + 10 = 20 .
( a + b )1 = a + b
( a + b )2 = a 2 + 2ab + b 2
( a + b )3 = a3 + 3a 2b + 3ab 2 + b3
( a + b )4 = a 4 + 4a3b + 6a 2b 2 + 4ab3 + b4
( a + b )5 = a5 + 5a 4b + 10a3b2 + 10a 2b3 + 5ab 4 + b5 .
Constatm c toi coeficienii monoamelor din membrul drept ai acestor formule sunt tocmai
numerele din linia triunghiului lui Pascal corespunztoare exponentului n din membrul stng.
Pentru cazul general, unde n este un numr natural oarecare, are loc:
17
Formula binomului lui Newton
( a + b )1 = C10a + C11b = a + b .
2. Presupunem P ( k ) adevrat pentru n = k i demonstrm c i P ( k + 1) este
adevrat. Fie, deci, adevrat relaia:
Ck0 = 1 = Ck0+1 ; Ck0 + Ck1 = Ck1 +1,..., Ckm + Ckm +1 = Ckm++11,..., Ckk 1 + Ckk = Ckk+1 ,
Ckk = 1 = Ckk++11 , rezult:
Tk +1 = Cnk a n k b k , k = 0,1,2,..., n .
Relaia de recuren ntre doi termeni consecutivi ai dezvoltrii se poate stabili uor, scriind
k k +1
relaia dintre Cn i Cn . Avem:
nk b
Deci, Tk + 2 = Tk +1 .
k +1 a
5.2 Identiti n calculul cu combinri
k
n paragrafele anterioare am stabilit deja cteva identiti verificate de binomiali Cn ,
0 k n:
Cnk = Cnn k (1)
19
LECIA 2 EXTENSII I GENERALIZRI
n continuare vom prezenta alte concepte importante din combinatoric. Acestea vor
completa i extinde n mod natural pe cele studiate anterior i vor contribui la o mai bun nelegere
i aprofundare a lor.
6.1 Aranjamente cu repetiie
Definiia 6.1.1
Fie A . Se numete cuvnt cu elemente din A un sistem finit ordonat de elemente din A,
scris astfel: a1a2 ...ak . Numrul k se numete lungimea cuvntului a1a2 ...ak . Cuvntul care nu
conine nici un element din A se numete cuvntul vid i are lungimea zero.
Vom spune c dou cuvinte din A, respectiv a1a2 ...as i b1b2 ...bk sunt egale dac au
aceeai lungime, deci s = k i ai = bi , ( ) i , 1 i k .
Pentru cuvntul a1a2 ...ak se mai utilizeaz i notaia ( a1 , a2 ,..., ak ) . Cuvintele de lungime
2 se mai numesc perechi ordonate, cele de lungime
3 triplete i n general cele de lungime k se numesc k-upluri ordonate.
Elementele a1, a2 ,..., ak care compun cuvntul a1a2 ...ak se numesc componente ale
cuvntului.
Deosebirile dintre noiunea de cuvnt i cea de mulime sunt urmtoarele.
i) la o mulime nu conteaz ordinea n care sunt scrise elementele sale, n timp ce la un
cuvnt ordinea elementelor este esenial; dou cuvinte formate din aceleai elemente (cel puin
dou dintre ele fiind diferite), dar aezate n ordine diferit, sunt distincte; de exemplu,
abca aabc ;
ii) toate elementele unei mulimi sunt distincte, n timp ce ntr-un cuvnt componentele se
pot repeta.
Fie N k = {1,2,3,..., k} mulimea primelor k numere naturale i A o mulime oarecare. Fie
f : N k A funcia care realizeaz corespondena: f ( i ) = ai , 1 i k , adic numrului i din
N k i corespunde, prin funcia f, elementul ai din A.
S notm prin F ( N k , A ) mulimea funciilor definite pe N k cu valori n A i prin
Cuv k ( A) mulimea cuvintelor de lungime k cu elementele din A.
Are loc urmtoarea teorem:
Teorema 6.1.2
Fie A o mulime oarecare i N k = {1,2,..., k } . Exist o bijecie ntre mulimea F ( N k , A )
a funciilor definite pe N k cu valori n A i mulimea Cuv k ( A ) a cuvintelor de lungime k cu
elemente din A.
Demonstraie
Definim funcia :F ( N k , A) Cuvk ( A) prin ( f ) = a1a2 ...ak , unde f ( i ) = ai ,
1 i k . Artm c este o funcie bijectiv.
20
a) este injectiv. ntr-adevr, fie f i g F ( N k , A) , cu ( f ) = a1a2 ...ak ,
( g ) = b1b2 ...bk i ( f ) = ( g ) . Din definiia egalitii a dou cuvinte rezult c ai = bi ,
( ) i , 1 i k , deci f ( i ) = g ( i ) ( ) i N k , adic f = g . Prin urmare este injectiv.
b) este surjectiv. ntr-adevr, fie a1a2 ...ak Cuv k ( A ) un cuvnt de lungime k format
cu elemente din A, ales arbitrar. Exist o funcie f : N k A , definit prin f ( i ) = ai , ( ) i ,
1 i k care are, evident, proprietatea c ( f ) = a1a2 ...ak , deci este surjectiv. Fiind
injectiv i surjectiv, funcia este bijectiv, teorema fiind astfel demonstrat. S mai menionm
c n teorema 6.1.2 mulimea N k se poate nlocui cu orice mulime finit cu k elemente.
Definiia 6.1.3
Fie dat o mulime A cu n elemente i k un numr natural. Cuvintele de lungime k formate
cu elemente din A se numesc aranjamente cu repetiie de n elemente luate cte k.
k
Numrul lor se noteaz cu An . S calculm acest numr. El este egal cu numrul
elementelor mulimii Cuv k ( A ) , unde A are n elemente. Avnd n vedere i rezultatul demonstrat
n teorema 6.1.2, rezult c numrul An este egal cu numrul elementelor mulimii F ( N k , A ) ,
k
deci cu numrul funciilor definite pe o mulime format din k elemente, cu valori ntr-o mulime cu
n elemente. Pentru aceasta ns avem urmtorul rezultat:
Teorema 6.1.4
Numrul funciilor definite pe o mulime format din k elemente cu valori ntr-o mulime
k
format din n elemente este n .
Demonstraie
Fie Bk = {b1, b2 ,..., bk } i An = {a1, a2 ,..., an } dou mulimi avnd k, respectiv n
k
elemente. S artm c numrul funciilor f : Bk An este egal cu n . Vom face demonstraia
prin metoda induciei matematice, dup k.
Fie P ( k ) afirmaia: Numrul funciilor definite pe o mulime cu k elemente, cu valori
k
ntr-o mulime cu n elemente, este n .
1) P (1) este adevrat, deoarece pe mulimea B1 = {b1} se pot defini n = n funcii cu
1
valori n mulimea An = {a1, a2 ,..., an } , fiecare astfel de funcie ducnd unicul element al
mulimii B1 , ntr-unul din cele n elemente ale mulimii An :
f1 ( b1 ) = a1;
f 2 ( b1 ) = a2 ;
LLLLL
f n ( b1 ) = an .
2) S artm c P ( k ) P ( k + 1) . Fie mulimile Bk = {b1, b2 ,..., bk } i
Bk +1 = {b1, b2 ,..., bk , bk +1} . Cum P ( k ) este adevrat rezult c numrul funciilor
21
f : Bk An este egal cu n k . Dac f : Bk An este o funcie oarecare dintre cele n k funcii,
( )
atunci definim nc n funcii: fi : Bk +1 An , 1 i n , prin fi b j = f b j ( ) pentru 1 j k
i fi ( bk +1 ) = ai , unde 1 i n . Aadar, pentru fiecare funcie f : Bk An se obin nc n
funcii fi : Bk +1 An . Mai mult, toate funciile f : Bk +1 An sunt de acest tip. Rezult c
numrul funciilor f : Bk +1 An este n n = n , prin urmare P ( k + 1) este adevrat.
k k +1
Rezult atunci c P ( k ) este adevrat pentru orice k , teorema fiind demonstrat. Aadar,
conform teoremelor 6.1.2 i 6.1.4 rezult c numrul aranjamentelor cu repetiie de n elemente
luate cte k este dat de relaia:
Ank = n k
i coincide cu numrul funciilor definite pe o mulime cu k elemente, cu valori ntr-o mulime cu n
elemente.
Formarea cuvintelor cu elemente dintr-o mulime poate fi descris intuitiv astfel:
presupunem c toate elementele mulimii A au fost introduse ntr-o urn i apoi din aceast urn
extragem elemente, unul dup altul, notnd de fiecare dat elementul extras i apoi l introducem
din nou n urn, nainte de efectuarea urmtoarei extrageri. Dup efectuarea numrului de k
extrageri, obinem un cuvnt de lungime k (cu elementele aezate n ordinea ieirii lor din urn),
compus din elemente ale mulimii A i care, evident, se pot repeta.
Dac vom presupune c dup fiecare extragere nu mai punem din nou n urn elementul
extras, urmtoarea extragere fcndu-se, deci, din elementele rmase pn la extragerea imediat
anterioar, atunci n cuvntul obinut nu se vor mai repeta elemente din A. Un astfel de cuvnt va fi
compus din k elemente diferite din A aezate n componena cuvntului n ordinea extragerii. Astfel
de cuvinte n care componentele nu se repet se numesc mulimi ordonate.
Fiind dat o mulime A cu n elemente i 0 k n , se pot forma diverse submulimi
ordonate cu cte k elemente fiecare, extrase din mulimea A. Submulimile ordonate ale lui A avnd
fiecare cte k elemente, unde 0 k n , am vzut c se numesc aranjamente (fr repetiie) de n
k
elemente luate cte k, numrul lor este notat cu An i este dat de relaia
22
Fie :F ( N k , A) Cuvk ( A) , din teorema 6.1.2. Rezult c orice element din
( Inj( N k , A ) ) Cuv k ( A ) este un cuvnt de lungime k, format cu elemente din A i ale crui
componente nu se repet. Prin urmare, induce o funcie
: Inj( N k , A ) A k ( A) ,
( f ) = a1a2 ...ak , unde f ( i ) = ai , 1 i k . Cum ( f ) = ( f ) i innd seama de rezultatul
formulat i demonstrat n teorema 6.1.2, rezult c are loc i urmtoarea teorem:
Teorema 6.1.5
Funcia : Inj( N k , A ) A k ( A ) este bijectiv.
Fig. 2
6.2 Permutri cu repetiie
n paragraful 2 s-au studiat permutrile fr repetiie, iar n aplicaia 3.3 s-a dat o
interpretare a permutrilor n termeni de funcii bijective i s-a fcut i legtura cu aranjamentele
(fr repetiie) de n elemente luate cte n.
n continuare ne vom ocupa de permutrile cu repetiie.
Fie A o mulime cu n elemente, A = {a1, a2 ,..., an } . Vom defini mai nti conceptul de tip
al unui cuvnt format cu elemente din A. Fie un astfel de cuvnt. Notm cu mi ( ) numrul
care arat de cte ori intr elementul ai n compunerea cuvntului . Dac ai nu apare n scrierea
lui , atunci vom lua mi ( ) = 0 .
Definiia 6.2.1
Sistemul de numere ( m1, m2 ,..., mn ) se numete tipul cuvntului i vom spune c
este de tip ( m1, m2 ,..., mn ) .
Exemplu: dac A = {a1, a2 , a3 , a4 , a5 } i = a1a3a5 a2 a3a1a1 , atunci este un cuvnt
de tip ( 3,1,2,0,1) .
23
Dou cuvinte de acelai tip pot s difere unul de altul numai prin ordinea componentelor,
deoarece fiind de aceleai tip, elementele din A care apar n aceleai cuvinte sunt aceleai i apar de
acelai numr de ori.
Definiia 6.2.2
Pentru un tip de cuvnt dat, orice cuvnt cu elementele mulimii A care are acelai tip se
numete permutare cu repetiie de acest tip.
Exemplu: fie A = {a1, a2 , a3 , a4 } i tipul ( 2,3,0,1) . Atunci cuvintele a1a2 a4 a2 a2 a1 i
a2 a1a1a4 a2 a2 sunt permutri cu repetiie de tipul dat.
Notm cu P ( m1 , m2 ,..., mn ) numrul permutrilor cu repetiie de tip ( m1, m2 ,..., mn ) i
ne propunem s calculm acest numr. Pentru aceasta vom demonstra rezultatul urmtor.
Teorema 6.2.3
Numrul permutrilor cu repetiie de tip ( m1, m2 ,..., mn ) este:
P ( m1, m2 ,..., mn ) =
( m1 + m2 + ... + mn )! .
m1 !m2 !...mn !
Demonstraie
Fie A = {a1, a2 ,..., an } i tipul ( m1, m2 ,..., mn ) . Ne propunem s calculm numrul
permutrilor cu repetiie (deci al cuvintelor) de tip ( m1, m2 ,..., mn ) de lungime
l = m1 + m2 + ... + mn .
S presupunem c mi , mi ,..., mi sunt nenule, iar celelalte componente ale tipului
1 2 k
considerat sunt nule. Fie urmtoarea permutare cu repetiie (cuvnt) de tipul considerat:
= ai ai ...ai ai ai ...ai ... ai ai ...ai .
14 24
1 1
31 12424
2
32 1k424
k
3k
mi1 ori mi2 ori mik ori
Pentru a obine toate permutrile cu repetiie de acest tip vom proceda n modul descris n
cele ce urmeaz.
Mai nti renumerotm componentele cuvntului , obinnd scrierea notat cu pentru
acelai cuvnt :
m m mik
= ai11 ai21 ...ai i1 a1i2 ai22 ...ai i2 ...a1ik ai2k ...ai .
1 2 k
Dup renumerotare toate elementele care formeaz cuvntul au devenit diferite ntre ele.
Numrul tuturor permutrilor care se pot face cu elementele diferite ntre ele din cuvntul este
egal cu l!, unde l = mi1 + mi2 + ... + mik i reprezint lungimea cuvntului . Dac ntr-o
permutare oarecare dintre cele l ! permutri se terg indicii atribuii elementelor componente n
etapa de renumerotare, se obine o permutare cu repetiie de acelai tip cu . Este clar ns c n
acest mod se poate obine o aceeai permutare cu repetiie de mai multe ori. Astfel, permutarea
iniial se poate obine din toate permutrile componentelor cuvntului care se obin
1 2 mi1
efectund o permutare oarecare a celor mi1 componente: ai1 , ai1 ,..., ai , apoi efectund o
1
1 2 mi2
permutare a celor mi2 componente: ai2 , ai2 ,..., ai i tot aa pn la ultimul indice, deci
2
24
1 2 mik
efectund o permutare oarecare a celor mi componente: ai , ai ,..., ai i numai n acest mod.
k k k k
1 2 mi1
Dar numrul permutrilor componentelor ai1 , ai1 ,..., ai este egal cu mi1 ! , al componentelor
1
mi2 mik
a1i2 , ai22 ,..., ai 1
este mi ! i tot aa pn la ultimul indice ik , al componentelor ai , ai ,..., ai
2 k k
2
2 k
este mik ! . Mai observm c aceste permutri se pot combina ntre ele independent una de alta. Prin
urmare, cuvntul se poate obine din exact mi ! mi ! ... mi ! permutri ale componentelor
1 2 k
cuvntului . n aceast manier se poate obine orice permutare cu repetiie de tip
( m1, m2 ,..., mn ) i de lungime l .
Prin urmare, numrul permutrilor cu repetiie de tip ( m1, m2 ,..., mn ) este mai mic de
mi1 ! mi2 ! ... mik ! = m1 ! m2 ! ... mn ! (dac m j = 0 , atunci m j ! = 1 ) ori dect numrul
permutrilor componentelor cuvntului , care este egal cu
( )
l! = mi1 + mi2 + ... + mik ! = ( m1 + m2 + ... + mn )! . Am demonstrat c are loc relaia:
P ( m1, m2 ,..., mn ) =
( m1 + m2 + ... + mn )! .
m1 ! m2 ! ... mn !
Exemplu:
Pentru desfurarea unui joc, un numr de 15 juctori trebuie s formeze
3 echipe astfel nct prima echip s aib 5 juctori, a doua 4 i a treia 6 juctori. n cte moduri se
pot forma aceste echipe?
Rezolvarea problemei const n determinarea numrului cuvintelor de lungime 15, fiecare de
tipul ( 5,4,6 ) . Acest numr este tocmai numrul permutrilor cu repetiie de tip ( 5,4,6 ) , adic:
15!
P ( 5,4,6 ) = = 630630 .
5! 4! 6!
n cazul particular al permutrilor cu repetiie de tipul ( n k , k ) , avem:
P (n k, k ) =
( n k + k )! = n ! = C k ,
( n k ) ! k ! ( n k )! k ! n
deci numrul permutrilor cu repetiie din n k litere egale cu a i k litere egale cu b este egal cu
Cnk .
6.3 Combinri cu repetiie
n paragraful 6.2 (permutri cu repetiie) am determinat numrul cuvintelor de un tip dat
(teorema 6.2.3).
n continuare ne propunem s determinm numrul tipurilor diferite pe care le pot avea
cuvintele de lungime k, cu elemente dintr-o mulime A care are n elemente.
Fiecare astfel de tip este un sistem de n numere naturale ( k1 , k2 ,..., kn ) , astfel nct
k1 + k2 + ... + kn = k , cu precizarea c unele dintre numerele ki , 1 i n , pot fi i zero. Este
evident c numrul k poate fi mai mic, egal sau mai mare, dect numrul n i c oricare ar fi
25
sistemul de numere naturale ( k1, k2 ,..., kn ) , cu proprietatea k1 + k2 + ... + kn = k , exist cel
puin un cuvnt de lungime k i de tip ( k1, k2 ,..., kn ) , cu
elemente dintr-o mulime care n
elemente.
Concretiznd, dac mulimea A = ( a1, a2 ,..., an ) , atunci ntr-un astfel de cuvnt elementul
ai apare de ki ori i numrul ki , 1 i n se numete multiplicitatea lui ai .
Definiia 6.3.1
Sistemele de numere naturale ( k1, k2 ,..., kn ) cu proprietatea k1 + k2 + ... + kn = k se
k
numesc combinri cu repetiie de n elemente luate cte k, iar numrul lor se noteaz cu Cn .
Vom demonstra urmtorul rezultat:
Teorema 6.3.2
Numrul combinrilor cu repetiie de n elemente luate cte k este dat de formula:
Cnk =
( n + k 1)! = C k .
n + k 1
k !( n 1)!
Demonstraie
Fie A = ( a1, a2 ,..., an ) . Conform definiiei, o combinare cu repetiie de n elemente luate
cte k, este un sistem de numere naturale ( k1, k2 ,..., kn ) , astfel nct k1 + k2 + ... + kn = k . Acest
sistem poate fi scris ca un cuvnt format numai din 0 i 1, nlocuind fiecare numr ki > 0 prin
123 i punnd 0 dup fiecare grup de uniti, cu excepia ultimei grupe. Dac avem ki = 0 ,
111...1
ki ori
atunci pe acel loc se las 0. Astfel, numrul unitilor care intr n componena cuvntului astfel
obinut este k1 + k2 + ... + kn = k , iar numrul zerourilor este egal cu n 1 . Rezult c numrul
cuvintelor diferite de aceast form este egal cu numrul permutrilor cu repetiie de k uniti i
n 1 zerouri, adic este egal cu P ( k , n 1) . ns,
P ( k , n 1) =
( k + n 1)! = C k = C k .
n + k 1
k !( n 1)!
n
Exemplu
La o cofetrie exist 6 specialiti de prjituri. n cte moduri se pot forma cartoane diferite,
cu cte 10 prjituri fiecare?
Rezolvare
Ordinea prjiturilor pe un carton nu are importan, deci fiecare carton cu prjituri este dat
de un cuvnt de lungime 10, format din 6 elemente (cele 6 specialiti de prjituri). Deci, ordinea
componentelor cuvntului nu conteaz. Prin urmare, rezolvarea problemei const n determinarea
numrului tipurilor diferite ale unor astfel de cuvinte, de lungime k = k1 + k2 + ... + k6 = 10 ,
formate cu cele 6 specialiti de prjituri. Acest numr este egal cu numrul combinrilor cu
repetiie de 6 elemente luate cte 10, deci
26
5
A15 360360
C610 = C610+10 1 = C15
10 5
= C15 = = = 3003 .
P5 120
Aplicaii
Demonstraie
Fie P ( X 1, X 2 ,..., X n ) un polinom omogen de gradul k, cu coeficieni ntr-un corp K.
Condensat, el se va scrie astfel
Demonstraie
Fie polinomul de gradul k n n nedeterminate:
( a + bi ) = ( a + b1 )( a + b2 )...( a + bn ) .
i =1
27
nk
n dezvoltarea acestui produs coeficientul lui a este egal cu suma tuturor produselor
posibile de k factori luai dintre b1, b2 ,..., bn .
Demonstraie
Vom demonstra rezultatul prin metoda induciei matematice dup n, numrul de factori ai
produsului.
Pentru n = 2 avem:
( a + b1 )( a + b2 ) = a 2 + ( b1 + b2 ) a + b1b2
1 2 1
coeficientul lui a = a (deci k = 1 ), este: b1 + b2 (suma produselor de k = 1 factori).
0 22
coeficientul lui a = a (deci k = 2 ) este: b1b2 (suma produselor de k = 2 factori).
Presupunem afirmaia adevrat pentru produsul a n 1 factori i o demonstrm i pentru
produsul a n factori.
Fie, deci,
n 1
= a n + ( P1 + bn ) a n 1 + ( P2 + Pb
1 n)a
n2
+ ... + ( Pk + Pk 1 bn ) a n k + ... + Pn 1bn .
n expresia ( Pk + Pk 1 bn ) (coeficientul lui a
nk
) avem:
Pk este suma tuturor produselor posibile de cte k factori care nu conin pe bn , luai
dintre b1 , b2 ,..., bn 1 ;
Pk 1 este suma tuturor produselor posibile de cte k 1 factori care nu conin pe bn ,
luai dintre b1 , b2 ,..., bn 1 ;
rezult c Pk 1 bn reprezint suma tuturor produselor posibile de cte k factori, dintre bn
i termenii lui Pk 1 ;
( Pk + Pk 1 bn ) reprezint suma tuturor produselor posibile de cte k factori luai dintre
b1, b2 ,..., bn 1, bn .
Am artat, astfel c afirmaia este adevrat i pentru produsul a n factori. Rezult, conform
principiului induciei matematice, c afirmaia este adevrat pentru orice numr natural n.
II. 2 Binomul lui Newton este un caz particular al celui precedent. Astfel, lund
b1 = b2 = ... = bn = b , atunci coeficientul lui a n k este egal cu Cnk bk .
n k k
ntr-adevr, numrul termenilor asemenea care conin pe a b este dat de numrul
permutrilor cu repetiie de n k litere egale cu a i k litere egale cu b, deci cu numrul
permutrilor cu repetiie de tip (n k,k ) i care este egal cu Cnk . Deci,
( a + b )n = a n + Cn1a n 1b + ... + Cnk a n k b k + ... + b n .
28
II. 3 Puterea a m-a a sumei x1 + x2 + ... + xn are dezvoltarea urmtoare:
Exemplu
Conform formulei stabilite anterior, avem:
29
TESTE DE AUTOEVALUARE
Testul nr. 1
1. S se demonstreze relaiile:
k k 1 k 1 k 1
a) Cn = Cn 1 + Cn 2 + ... + Ck 1 ;
k k k 1
0
b) Cn + m = Cn Cm + CnCm + ... + Cnk Cm0 ;
1
0 3 6 1 n n
c) Cn + Cn + Cn + ... + ... = 2 + 2cos .
3 3
2. S se calculeze sumele:
1 2 3 n
a) Cn + 2Cn + 3Cn + ... + nCn ;
3. Probleme diverse
1) S se calculeze probabilitatea ca, alegnd o mulime din mulimea submulimilor nevide
ale mulimii {3,4,5,6,7,8} , aceasta sa aib toate elementele impare;
2) ntr-o grup sunt 25 studeni, dintre care 12 sunt biei. S se determine n cte moduri se
poate alege o echip reprezentativ a grupei, format din 3 biei i 2 fete, care s reprezinte
grupa la o ntrecere studeneasc, tiind c toi studenii grupei sunt api s participe la
ntrecere, cu anse egale de calificare n etapa urmtoare.
3) Care este numrul funciilor bijective f : {1,2,3, 4,5} {1,2,3, 4,5} cu proprietatea
f (1) = 3 ? Dar al funciilor injective ? Dar al tuturor funciilor care se pot defini n aceleai
condiii ?
4) Care este numrul funciilor strict cresctoare f : {1,2,3,4} {1,2,3, 4,5,6} ? Dar al
funciilor strict cresctoare f : {1,2,3, 4} {1, 2,3,4,5,6} cu proprietatea suplimentar
f (1) = 1 ?
30
Testul nr. 2
1. S se demonstreze relaiile:
1 4 7 1 n ( n 2)
1) Cn + Cn + Cn + ... + ... = 2 + 2cos ;
3 3
1 n 1 n
n
2) Cn0 + Cn4 + Cn8 + ... + ... = 2 + 2 2 cos ;
2 4
n
0 n
3) Cn Cn2 + Cn4 Cn6 + ... + ... = 22 cos .
4
2. S se calculeze sumele:
31
TEME DE CONTROL
1. S se demonstreze relaiile:
2 5 8 1 n ( n 4)
2) Cn + Cn + Cn + ... + ... = 2 + 2cos ;
3 3
1 n 1 n
n
3) Cn + Cn + Cn + ... + ... = 2 + 2 sin ;
1 5 9 2
2 4
n
n
4) Cn1 Cn3 + Cn5 Cn7 + ... + ... = 22 sin .
4
2. S se calculeze sumele:
n 1
2) Cn 2Cn + 3Cn + ... + ( 1)
1 2 3
nCnn ;
k k k k
3) Cn + Cn +1 + Cn + 2 + ... + Cn + m ;
3. Probleme de numrare:
1) Cte numere naturale de trei cifre distincte se pot forma cu elementele mulimii
{1,3,5,7,9} ?
2) Cte numere naturale pare de patru cifre distincte se pot forma cu elementele mulimii
{1,2,3,5,6,7,9} ?
3) S se calculeze probabilitatea ca, alegnd un numr din mulimea numerelor naturale de 3
cifre, acesta sa aib dou cifre egale;
4) ntr-o grup sunt 25 studeni, dintre care 12 sunt biei. S se determine n cte moduri se
poate alege o echip reprezentativ a grupei, format din 3 biei i 2 fete, care s reprezinte
grupa la o ntrecere studeneasc, tiind c toi studenii grupei sunt api s participe la
ntrecere, cu anse egale de calificare n etapa urmtoare.
32
TEM DE CONTROL Nr. 2
1. Utiliznd relaia:
( x1 + x2 + ... + xn )m = P ( m1, m2 ,..., mn ) x1m1 x2m2 ...xnmn , unde
m1 + m2 +...+ mn = m
P ( m1, m2 ,..., mn ) =
( m1 + m2 + ... + mn )! , s se calculeze expresiile:
m1 !m2 !...mn
a) ( a + b + c + d ) ;
3
b) ( x + y + z ) .
4
4. Cte numere naturale pare de patru cifre distincte se pot forma cu elementele mulimii
{1,2,3,5,6,7,9} ?
5. S se calculeze numrul funciilor f : {1,2,3, 4,5} {1,2,3, 4,5} care au proprietatea
f (1) = f ( 4 ) = 2 ;
33
11. Fie mulimea A = {0,1,2,3,4,5,6,7,8,9} . S se determine probabilitatea ca, alegnd o
pereche de forma ( a, b ) din produsul cartezian A A , s aib loc egalitatea a + b = 8 .
Comparai i comentai rezultatul obinut cu cel de la problema 9.
34
UNITATEA DE NVARE NR. 2 - ELEMENTE DE TEORIA GRAFURILOR. STUDIUL
GRAFURILOR CU AJUTORUL MATRICELOR BOOLEENE ASOCIATE
Obiective urmrite:
Rezumat:
Cuvinte cheie:
Noiunile de: graf, drum, subdrum, circuit, graf parial, subgraf, graf tare conex, component
tare conex, succesori i predecesori, arbori, muchie, lan, ciclu, graf conex, component
conex, matrice boolean, matrice de adiacen i matricea drumurilor asociate unui graf,
drum hamiltonian, drum eulerian
Timp de studiu:
35
LECIA 3 - ELEMENTE DE TEORIA GRAFURILOR
Teoria grafurilor este o ramur relativ tnr a matematicii, prima lucrare n acest domeniu
fiind scris de Euler, n urm cu dou secole.
Interesul pentru teoria grafurilor a crescut mult n ultimele decenii, odat cu aplicarea
acesteia n rezolvarea a numeroase probleme din economie, sociologie, psihologie, inginerie etc.
Teoria grafurilor se consider astzi c face parte din domeniul matematicii combinatoriale, avnd
interferene cu algebra, topologia i teoria probabilitilor.
1.1 Definiii, terminologie, notaii, concepte fundamentale
Fie o mulime nevid, X i o aplicaie : X P ( X ) . Aceast aplicaie definete
pe X o relaie binar, R i anume xRy , x, y X , dac y ( x ) . Fie R X X ,
R = {( x, y ) / xRy, x, y X } . Avem, deci: ( ) x X atunci ( x, y ) R dac y ( x ) .
Avnd dat o relaie binar pe X, de exemplu printr-o submulime R X X , putem defini pe X
o aplicaie astfel: pentru ( ) x X , y ( x ) dac ( x, y ) R .
Dac A X i : X P ( X ) , vom numi imaginea lui A prin mulimea
( A) = U ( x) .
def
x A
Definiia 1.1.1
Se numete graf ansamblul format dintr-o mulime X i o aplicaie : X P ( X ) i se
noteaz G = ( X , ) . Avnd n vedere consideraiile de mai sus rezult c o definiie echivalent
este urmtoarea: se numete graf un cuplu G = ( X , ) unde X este o mulime nevid iar este o
relaie binar pe X.
Deoarece n aplicaiile uzuale se ntlnesc de obicei grafuri definite pe mulimi finite, n
continuare ne vom ocupa numai de grafuri G = ( X , ) n care X = { x1 , x2 ,..., xn } este finit.
Numrul elementelor lui X determin ordinul grafului finit G. Cnd card ( X ) = n , graful
G = ( X , ) se numete graf finit de ordinul n. Elementele mulimii X se numesc vrfuri ale
grafului G.
Vom spune c G = ( X , ) este dat n reprezentare analitic dac se d
X = { x1, x2 ,..., xn } i pentru ( ) xi X se precizeaz mulimea ( xi ) P ( X ) .
36
Dac un vrf nu este extremitatea nici unui arc, el se numete vrf izolat. Dac un vrf este
extremitatea a mai mult de dou arce, se numete nod. Un arc pentru care extremitatea iniial
coincide cu cea final se numete bucl; sensul sgeii n reprezentarea unei bucle nu are
importan.
Graful G = ( X , ) este complet determinat de mulimea vrfurilor X i de mulimea
arcelor, pe care o vom nota cu U. Este evident c mulimea U a tuturor arcelor grafului G determin
complet aplicaia i reciproc, aplicaia determin complet mulimea U a arcelor grafului.
Astfel, un graf G poate fi dat fie prin ansamblul ( X , ) , fie prin ansamblul ( X ,U ) .
Exemplul 1.2.1
Fie graful G = ( X , ) , unde: X = { x1, x2 , x3 , x4 , x5 , x6 } , ia funcia este dat prin
mulimea valorilor sale n toate vrfurilor grafului:
( x1 ) = { x2 , x3} ; ( x2 ) = { x3 , x4 , x5} ; ( x3 ) = { x4 } , ( x4 ) = { x1, x4 , x6 } ;
( x5 ) = { x3 , x6 } ; ( x6 ) = { x2 , x3 , x4 , x6 } .
Deoarece punctele din plan pentru reprezentarea elementelor lui X pot fi alese arbitrar n
plan, acelai graf poate avea reprezentri diferite din punct de vedere grafic. O reprezentarea
geometric (sagital) a acestui graf poate fi cea din figura 1.2.1
Fig. 1.2.1
Exemplul 1.2.2
Fie graful G avnd reprezentarea sagital n figura 1.2.2.
37
Fig. 1.2.2
38
Un drum se numete subdrum al unui drum dac vrfurile consecutive ale lui sunt
vrfuri consecutive i n . n figura 1.2.1 drumurile 1 = { x2 , x5 , x3 , x4 } i 2 = { x1, x2 , x5 }
sunt subdrumuri ale drumului = { x1 , x2 , x5 , x3 , x4 , x6 } .
Fie G = ( X ,U ) un graf, dat prin mulimea vrfurilor X i mulimea arcelor, U.
Se numete graf parial al grafului G = ( X ,U ) , un graf G = ( X ,U ) , unde U U .
Un graf parial al unui graf G se obine prin suprimarea unor arce din graful G; vrfurile
grafului G i ale oricrui graf parial al su rmn aceleai.
Se numete subgraf al grafului G = ( X , ) (dat prin aplicaia : X P ( X ) ) un graf
G = ( X , ) , unde X X iar este definit prin ( x ) = ( x ) I X , ( ) x X .
Prin urmare, un subgraf al unui graf G se obine prin suprimarea unor vrfuri ale grafului G
i a tuturor arcelor care au una din extremiti n vrfurile suprimate.
n figura 1.2.3 este reprezentat un graf parial al grafului din figura 1.2.1, obinut prin
suprimarea arcelor ( x1 , x2 ) , ( x3 , x4 ) , ( x5 , x3 ) i buclei ( x6 , x6 ) .
Fig. 1.2.3
n figura 1.2.4 este reprezentat un subgraf al grafului din figura 1.2.1, obinut prin
suprimarea vrfurilor x1 i x4 i a tuturor arcelor care aveau o extremitate n fiecare dintre aceste
vrfuri.
Fig. 1.2.4
39
Un graf G = ( X , ) se numete complet dac ( ) x, y X , x y , exist cel puin
unul din arcele ( x, y ) , ( y , x ) sau, cu alte cuvinte, dac ( x, y ) U , rezult ( y, x ) U ,
() x, y X , x y .
Un graf este simetric dac ( ) ( x, y ) U ( y , x ) U i antisimetric dac
( ) ( x, y ) U ( y , x ) U .
Un graf este simplu dac X = X1 U X 2 , X 1, X 2 , X1 I X 2 = i
( ) ( x, y ) U x X1 i y X 2 .
Un graf este tare conex dac ( ) x, y X , x y , exist n graf un drum de la x la y (sau
c orice pereche de vrfuri x, y X , x y , se afl pe un circuit).
Fie x X . Mulimea C ( x ) X , format din vrful x i toate vrfurile y X pentru
care exist un circuit ce trece prin vrfurile y i x se numete component tare conex a lui G,
corespunztoare vrfului x X . Astfel, dac y C ( x ) , nseamn c exist un drum de la x la y
i unul de y la x.
Pentru componentele tari conexe ale unui graf are loc rezultatul exprimat n teorema
urmtoare.
Teorema 1.2.1
Mulimea componentelor tari conex ale unui graf G = ( X , ) formeaz o partiie a lui X,
adic:
1. C ( xi ) ,
( )
2. C ( xi ) C x j C ( xi ) I C x j = , ( )
3. U C ( xi ) = X .
xi X
Demonstraie
1. Din definiia mulimii C ( xi ) avem c xi C ( xi ) , deci C ( xi ) , ( ) xi X .
deci, c ( ) xk C ( xi ) I C ( x j ) .
Din xk C ( xi ) rezult c exist un circuit ce trece prin xi i xk .
Din xk C x j ( ) rezult c exist un circuit ce trece prin x j i xk .
Prin urmare exist un circuit ce trece prin xi i x j i xk , de unde rezult c xi C x j i ( )
( )
x j C ( xi ) , deci C ( xi ) = C x j , contradicie cu ipoteza c C ( xi ) C x j . Rezult c ( )
presupunerea fcut este fals, deci rmne c C ( xi ) I C x j = . ( )
3. Este evident c ( ) xi X , avem C ( xi ) X , deci U C ( xi ) X .
xi X
40
Totodat, deoarece X = U {xi } i { xi } C ( xi ) rezult c are loc i incluziunea
xi X
invers: X = U {xi } U C ( xi ) .
xi X xi X
Din dubla incluziune rezult egalitatea 3 din enunul teoremei.
Teorema 1.2.2
Un graf este tare conex dac i numai dac are o singur component tare conex.
Demonstraia se obine imediat prin reducere la absurd utiliznd definiia componentei tare
conex a unui graf i a rezultatului stabilit n teorema anterioar.
1.3 Definirea noiunilor legate de neorientare
Fie G = ( X , ) un graf.
Se numete muchie a grafului G orice pereche neordonat de vrfuri x, y X , x y ,
astfel c ( x, y ) U sau ( y, x ) U sau ambele, concomitent, adic dac legtura dintre cele dou
vrfuri distincte x i y poate fi fcut indiferent n ce sens (fie de la x la y, fie de la y la x, fie n
ambele sensuri), printr-un arc de lungime egal cu 1. O muchie se reprezint geometric printr-un
segment neorientat care leag vrfurile x i y care o definesc i se va utiliza notaia [ x, y ] . Vom
nota mulimea tuturor muchiilor grafului G prin U . Un graf n care legturile dintre vrfuri sunt
muchii se va numi graf neorientat, n timp ce graful pentru care toate legturile dintre vrfuri sunt
arce orientate, se va numi graf orientat. Unui graf orientat simetric i se poate asocia un graf
neorientat, legtura dintre dou vrfuri x i y realizat de cele dou arce ( x, y ) i ( y, x ) , de
sensuri contrarii, nlocuindu-se cu muchia [ x, y ] .
De asemenea, unui graf neorientat i se pot asocia mai multe grafuri orientate, nlocuind
fiecare muchie cu dou arce orientate n sens opus.
(
Fie G = X ,U ) un graf neorientat i x X . Se numete gradul vrfului x numrul
muchiilor care au o extremitate n vrful x i se noteaz cu g ( x ) . Dac g ( y ) = 0 , atunci vrful y
este izolat.
Propoziia 1.3.1
ntr-un graf neorientat cu m muchii, suma gradelor tuturor vrfurilor este 2m .
Justificarea este imediat, innd cont c n suma gradelor vrfurilor fiecare muchie [ x, y ]
este numrat de dou ori.
n graful neorientat G = X ,U ( ) un ir de muchii [ u1 , u2 ,..., uk ] se numete lan dac
fiecare muchie ui este legat printr-o extremitate de muchia ui 1 i prin cealalt extremitate de
muchia ui +1 , ( ) i {2,3,..., k 1} . Evident, un lan poate fi definit i printr-o succesiune de
vrfuri [ x1 , x2 ,..., xk ] , dac [ xi , xi +1 ] = ui , ( ) i {1,2,..., k 1} .
Un lan finit n care vrful iniial coincide cu cel final se numete ciclu.
Un lan este simplu dac nu trece de dou sau mai multe ori prin aceeai muchie.
n caz contrar el este lan compus. Un lan este elementar dac trece o singur dat prin
fiecare dintre vrfurile sale, n caz contrar numindu-se neelementar. Un ciclu poate fi simplu sau
compus elementar sau neelementar.
41
Un graf este conex dac pentru oricare dou vrfuri x, y X , x y exist cel puin un
lan de la x la y.
Fie G = ( X , ) un graf, x X i C ( x ) mulimea format din x i din toate celelalte
vrfuri ale grafului legate prin lanuri de x. Mulimea C ( x ) astfel constituit se numete
componenta conex a lui G, generat de vrful x (sau corespunztoare vrfului x). Este evident c
C ( x ) determin un subgraf al lui G care este, desigur, conex. Ca i n cazul grafurilor orientate se
pot demonstra dou rezultate similare celor din teoremele 1.2.1 i 1.2.2. Astfel, n cazul grafurilor
neorientate avem:
Teorema 1.3.2
Mulimea componentelor conexe ale grafului G = X ,U ( ) constituie o partiie a lui X,
adic:
1. C ( xi ) ;
( ) ( )
2. C ( xi ) C x j C ( xi ) I C x j = ;
3. U C ( xi ) = X .
xi X
Aadar dac exist mai multe submulimi distincte C ( xi ) ale lui X, atunci acestea formeaz
o partiie a lui X.
Teorema 1.3.3
Un graf este conex dac i numai dac are o singur component conex.
Demonstraiile acestor dou teoreme sunt analoage cu cele ale teoremelor 1.2.1 i 1.2.2 din
paragraful anterior.
Exemple
Fig. 1.3.1
42
Graful G = ( X , ) din figura 1.3.1 este dat n reprezentare sagital. Mulimea X a vrfurilor
sale este: X = { x1, x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11, x12 } . Aplicaia : X P ( X ) este
definit prin:
( x1 ) = { x2 , x4 , x10 } ; ( x2 ) = { x1, x3} ; ( x3 ) = { x3 , x4 } ; ( x4 ) = { x10 } ;
( x5 ) = { x6 } ; ( x6 ) = { x5 , x7 } ; ( x7 ) = { x7 } ; ( x8 ) = {} ;
( x9 ) = { x8 , x12 } ; ( x10 ) = {} ; ( x11 ) = { x9 , x12 } ; ( x12 ) = { x8} .
Acest graf este neconex deoarece nu exist, de exemplu, nici un lan care s lege vrfurile
x1 i x6 .
Graful are trei componente conexe. Partiia corespunztoare a mulimii vrfurilor
X = { x1, x2 ,..., x12 } este format din submulimile:
C ( x1 ) = { x1, x2 , x3 , x4 , x10 } ; C ( x5 ) = { x5 , x6 , x7 } ; C ( x11 ) = { x11, x9 , x8 , x12 } .
Subgrafurile determinate de aceste mulimi sunt prezentate n aceeai figur, 1.3.1 i pot fi
privite ca grafuri independente.
Grafurile de care ne vom ocupa n continuare vor fi conexe, acesta fiind cazul ntlnit n
aplicaiile practice. Dac totui un anumit proces sau fenomen este modelat printr-un graf neconex,
atunci proprietile care ne intereseaz sunt studiate pentru fiecare component conex a grafului
considerat ca un graf independent.
1.4 Succesori i predecesori
Fie G = ( X , ) un graf i x, y X . Spunem c y este un succesor al lui x sau c x este un
predecesor al lui y dac exist n graful G un drum de la x la y.
Dac aceste drum este format din k arce de la x la y spunem c y este un succesor de
ordinul k al lui x sau c x este un predecesor de ordinul k al lui y. Dac x X , atunci
k ( x)
k ( x ) este mulimea predecesorilor de
este mulimea succesorilor de ordinul k ai vrfului x, iar
ordinul k ai lui x n graful G. Graful notat prin G = X ,
k
( k
) se numete graful succesiunilor de
ordinul k ale grafului G.
Definiia 1.4.1
Fie G = ( X , ) un graf i x X . Vom numi nchiderea tranzitiv a vrfului x
( x) =
mulimea U k ( x ) ; ( 0 ( x ) = x ) .
k =0
( x ) este format din vrful x i toi succesorii si din graful G. Graful
Mulimea
( )
G = X , se numete nchiderea tranzitiv a grafului G = ( X , ) .
1 ( x ) =
Analog, mulimea U k ( x ) se numete nchiderea tranzitiv invers a
k =0
vrfului x i este format din vrful x i din mulimea tuturor predecesorilor lui x n graful G.
( x ) = X atunci graful este tare conex i
Dac pentru orice x X are loc egalitatea
reciproc.
43
Teorema 1.4.2
ntr-un graf finit fr circuite exist cel puin un vrf fr succesori i cel puin un vrf fr
predecesori.
Demonstraie
Fie G = ( X , ) un graf finit, fr circuite i x X arbitrar. Dac x nu are nici un succesor
afirmaia din prima parte a teoremei este, evident, adevrat. S presupunem c x are cel puin un
succesor i fie x1 , ( x1 x ) unul dintre acetia. Mai departe, dac x1 nu are succesori, teorema
este verificat. n caz contrar, fie x2 un succesor al lui x1 . Evident, x2 { x, x1} i raionamentul
se continu n acelai mod. Deoarece graful este finit, procesul de alegere a vrfurilor distincte
x, x1, x2 ,... cu xk +1 succesor al lui xk , ( ) k 0 ( x x0 ) , va duce dup un numr finit de
pai, la un vrf fr succesori. Analog se demonstreaz i a doua partea teoremei, respectiv
existena cel puin a unui vrf fr predecesori.
1.5 mprirea unui graf fr circuite n nivele
Fie G = ( X , ) un graf finit, fr circuite. Conform teoremei 1.4.2, mulimea vrfurilor
fr predecesori este nevid. Definim nivelul 1 al grafului ca fiind format tocmai din aceast
mulime, a vrfurilor fr predecesori. n continuare se determin subgraful G1 , obinut din G prin
suprimarea vrfurilor nivelului 1. Acest subgraf este, de asemenea, fr circuite. Definim nivelul 2
al grafului G ca fiind mulimea vrfurilor fr predecesori ai grafului G1 ( nivelul 1 al lui G1 ).
Procedeul se continu pn cnd se ajunge la mulimea vrfurilor fr succesori, aceasta
formnd ultimul nivel al grafului. De menionat c procesul de obinere a nivelurilor se poate
desfura i n sens invers, ncepnd cu obinerea n prima faz a ultimului nivel, adic a mulimii
vrfurilor fr succesori i apoi, succesiv a celorlalte nivele.
Exemplul 1.5.1
Fie graful finit i fr circuite din figura 1.5.1. Ne propunem s-l mprim n nivele.
Fig. 1.5.1
44
Cutm mai nti mulimea vrfurilor care nu au predecesori. Gsim X 1 = { x1 , x6 } . X 1 va
forma primul nivel. Construim subgraful obinut prin suprimarea vrfurilor din mulimea X 1 i
tuturor arcelor care au o extremitate n aceste vrfuri. Se obine graful din figura 1.5.2.
Fig. 1.5.2
Fig. 1.5.3
45
Fig. 1.5.4
46
LECIA 4 - MATRICI BOOLEENE ASOCIATE GRAFURILOR
Definiia 2.1.1
O matrice AM n ( ) se numete matrice boolean dac orice element al su este fie 0,
fie 1.
Fie G = ( X ,U ) un graf dat prin mulimea vrfurilor sale X = { x1, x2 ,..., xn } i mulimea
U a arcelor sale. Putem pune n eviden legturile dintre vrfurile grafului G cu ajutorul unei
( )
matrice A = aij , i, j {1,2,..., n} , definit astfel:
1 dac
( xi , x j ) U
aij = (2.1.1)
0 dac ( xi , x j ) U
Este evident c matricea A este o matrice boolean numit matricea boolean ataat
grafului G sau matricea conex ataat lui G. Oricrui graf G i se poate asocia o unic matrice
( )
boolean n acest mod i reciproc, oricrei matrice booleene A = aij , i, j {1,2,..., n} i se
poate asocia un graf G = ( X ,U ) .
Exemple
a) Fie graful G din figura 2.1.1, dat n reprezentare sagital.
Fig. 2.1.1
Matricea conex sau matricea boolean asociat acestui graf se completeaz conform relaiei
(2.1.1) i este urmtoarea:
x1 x2 x3 x4 x5
x1 0 1 0 0 0
x2 0 0 1 0 0
=A
x3 0 1 0 1 0
x4 0 1 0 0 1
x5 0 1 0 0 0
b) Fie matricea boolean urmtoare:
47
x1 x2 x3 x4 x5 x6
x1 0 1 0 0 0 1
x2 0 0 1 0 0 1
A = x3 0 0 0 1 0 0
x4 0 0 0 1 1 0
x5 0 0 1 0 0 0
x6 0 1 1 0 1 0
Aceast matrice determin n mod unic un graf. Mulimea U a arcelor acestuia este
( x1, x2 ) , ( x1, x6 ) , ( x2 , x3 ) , ( x2 , x6 ) , ( x3 , x4 ) ,
U = , iar reprezentarea sa sagital este
( x4 , x4 ) , ( x4 , x5 ) , ( x5 , x3 ) , ( x6 , x2 ) , ( x6 , x3 ) , ( x6 , x5 )
prezentat n fig. 2.1.2.
Fig. 2.1.2
Unele proprieti ale grafului G = ( X ,U ) pot fi caracterizate mai uor cu ajutorul matricei
booleene asociate. Astfel, dac aii = 1 nseamn c n vrful xi graful are o bucl; matricea
asociat unui graf fr nici o bucl are numai valoarea 0 pe diagonala principal.
Dac matricea A = aij ( ) este simetric ( aij = a ji , ( ) i, j 1,2,..., n ) atunci graful su
asociat este simetric i reciproc.
O matrice A = aij ( ) cu aij = 1 , () i, j 1,2,..., n caracterizeaz un graf plin. Un graf
este antisimetric dac aij = 1 a ji = 0 i complet dac aij = 0 a ji = 1, ( ) i, j 1,2,..., n .
Un graf este neconex dac matricea boolean asociat a sa are forma diagonal pe blocuri sau poate
fi adus la forma diagonal prin renumerotarea vrfurilor (ceea ce este echivalent cu permutarea
corespunztoare a liniilor i coloanelor matricei booleene asociate). Fie, de exemplu, graful din fig.
1.3.1 (pag. 8, cap. 1), reluat n fig. 2.1.3.
48
Fig. 2.1.3
Acest graf este neconex (conine vrfuri nelegate prin nici un arc) i are trei componente
conexe.
Matricea boolean asociat acestui graf este urmtoarea:
x1 x2 x3 x4 x10 x5 x6 x7 x8 x9 x11 x12 g + ( xi )
x1 0 1 0 1 1 0 0 0 0 0 0 0 3
x2 1 0 1 0 0 0 0 0 0 0 0 0 2
x3 0 0 1 1 0 0 0 0 0 0 0 0 2
x4 0 0 0 0 1 0 0 0 0 0 0 0 1
x10 0 0 0 0 0 0 0 0 0 0 0 0 0
x5 0 0 0 0 0 0 1 0 0 0 0 0 1
A=
x6 0 0 0 0 0 1 0 1 0 0 0 0 2
x7 0 0 0 0 0 0 0 1 0 0 0 0 1
x8 0 0 0 0 0 0 0 0 0 0 0 0 0
x9 0 0 0 0 0 0 0 0 1 0 0 1 2
x11 0 0 0 0 0 0 0 0 0 1 0 1 2
x12 0 0 0 0 0 0 0 0 1 0 0 0 1
g ( xi ) 1 1 2 2 2 1 1 2 2 1 0 1
Matricele scoase n eviden pe diagonala matricei A sunt matrice booleene ataate
componentelor conexe ale grafului, considerate ca grafuri separate.
Tot cu ajutorul matricei booleene asociate unui graf se pot caracteriza i pune n eviden
anumite concepte legate de clasificarea vrfurilor unui graf. Am definit, astfel, gradul unui vrf
x X ca fiind numrul muchiilor care au o extremitate n vrful x i l-am notat cu g ( x ) . ntr-un
graf orientat se mai pot defini cteva noiuni legate de clasificarea vrfurilor sale, utile n stabilirea
altor rezultate n teoria grafurilor.
49
Definiia 2.1.2
a) Se numete grad de emisie sau grad de ieire sau grad local exterior al unui vrf
x X i se noteaz cu g + ( x ) , numrul arcelor care au extremitatea iniial n vrful x .
Astfel, dac U
+
( x ) = mulimea arcelor din graful G care au extremitatea iniial n vrful
x X ,
U + ( x) = {( x, y ) U y ( x )} , (2.1.2)
atunci
( )
g + ( x ) = card U + ( x ) . (2.1.3)
b) Se numete grad de recepie sau grad de intrare sau grad local interior n vrful
x X i se noteaz cu g ( x ) , numrul arcelor care au extremitatea final n vrful x.
Astfel, dac U
( x ) = mulimea arcelor din graful G care au extremitatea final n vrful
x X ,
U ( x) = {( y, x ) U x ( y )} , (2.1.4)
atunci
( )
g ( x ) = card U ( x ) . (2.1.5)
g ( x) = g+ ( x) + g ( x) . (2.1.6)
Definiia 2.1.3
a) Un vrf x X se numete punct de emisie sau surs sau punct de ieire dac:
g + ( x ) > 0 i g ( x ) = 0 , adic U ( x ) = . ( toate arcele incidente n x au ca extremitate
iniial vrful x vrful x nu are predecesori).
b) Un vrf x X se numete punct de recepie sau destinaie sau punct de intrare dac:
g ( x ) = 0 i g ( x ) > 0 , adic U + ( x ) = ( toate arcele incidente n x au ca extremitate
+
n cazul reprezentrii unui graf prin matricea boolean asociat gradul de emisie al unui vrf
x X este dat de suma elementelor din linia corespunztoare lui x din matricea A, iar gradul de
recepie al vrfului x X este dat de suma elementelor din coloana corespunztoare lui x din
matricea A. n graful din fig. 2.1.3, analiznd valorile g ( xi ) i g ( xi ) ( ) i = 1, 2,...,12 ,
+
50
g ( x11 ) = 0 , deci vrful x11 este punct surs (fr predecesori) i g + ( x8 ) = g + ( x10 ) = 0 , deci
vrfurile x8 i x10 sunt puncte de recepie (fr succesori).
Definiia 2.1.4
Un graf planar este un graf G ale crui vrfuri se pot reprezentat prin puncte n plan i ale
crui muchii sau arce (dup cum graful este neorientat sau orientat) se pot reprezenta prin arce de
curb astfel nct oricare dou arce de curb au n comun cel mult unul sau dou puncte, acestea
fiind numai puncte de extremitate.
Definiia 2.1.5
Se numete reea de transport un graf orientat, conex, fr bucle, cu urmtoarele
proprieti:
a) exist n graf un singur vrf x0 X de tip surs (fr predecesori), numit intrarea n
reea;
b) exist n graf un singur vrf xn X de tip destinaie (fr succesori), numit ieirea din
reea;
c) exist o funcie C : U
+
( )
, care asociaz fiecrui arc xi , x j U un numr pozitiv
51
a) b)
Fig. 2.1.4
n continuare vom prezenta cteva proprieti i aplicaii ale matricei conexe terminale T
asociat unui graf G = ( X , ) cu n vrfuri.
Propoziia 2.1.7
Un element tij , i j din matricea conex terminal a unui graf G = ( X , ) cu n vrfuri
este egal cu 1 dac i numai dac
n 1
xj U k ( xi ) . (2.1.8)
k =1
Demonstraie
Rezult din definiia drumului dintre cele dou vrfuri xi i x j ale grafului G, i j , i din
faptul c relaia (2.1.8) arat c x j face parte din nchiderea tranzitiv pn la ordinul n 1 a
vrfului xi ( mulimea succesorilor pn la ordinul n 1 ai lui xi ).
Pentru determinarea matricei conexe terminale T plecnd de la matricea boolean asociat
A, este necesar s reamintim definiia adunrii booleene. Aceast operaie este o lege de compoziie
intern pe mulimea {0,1} i are urmtoarea tabel:
& 0 1
0 0 1
1 1 1
Vom prezenta algoritmul lui Chen de determinare a matricei conexe terminale T, plecnd de
la matricea boolean A asociat grafului cu n vrfuri G = ( X , ) , X = { x1, x2 ,..., xn } .
52
2. Dac n urma efecturii operaiilor de la pasul 1 au aprut alte elemente diferite de zero pe
linia 1, fie acestea a1 j , a1 j ,..., a1 j . Adunm boolean liniile j1, j2 ,..., jk la linia 1.
1 2 k
3. Se repet pasul 2 pn cnd se ajunge la una din urmtoarele situaii:
toate elementele liniei 1 sunt egale cu 1;
nu se mai pot genera alte elemente diferite de zero pe linia 1.
4. Paii 1, 2 i 3 se repet pentru fiecare linie.
n final se obine matricea conex terminal T. Dac n matricea conex terminal T ataat
unui graf toate elementele tii , i = 1,2,..., n de pe diagonala principal sunt egale cu 0, atunci graful
respectiv este fr circuite, iar dac exist cel puin dou elemente t jj i tll egale cu 1 pe diagonala
principal, graful are cel puin un circuit care conine vrfurile x j i xl . Dac exist un singur
element tkk = 1 pe diagonala principal a matricei T, atunci exist o bucl n vrful xk .
Definiia 2.1.8
Se numete putere de atingere a unui vrf xi i se noteaz cu p ( xi ) numrul maxim de
vrfuri care pot fi atinse de la xi . Evident,
n
p ( xi ) = tij , i = 1,2,..., n (2.1.9)
j =1
1 2 3 L n
= (2.1.10)
k1 k2 k3 L kn
Are loc rezultatul urmtor:
Teorema 2.1.9
Fie G = ( X ,U ) un graf orientat i fr circuite i T matricea conex terminal a sa.
Matricea T obinut din matricea T prin ordonarea liniilor astfel nct puterile de atingere ale
vrfurilor sale s fie n ordine descresctoare i apoi prin aezarea coloanelor n aceeai ordine este
o matrice superior triunghiular.
Aceast teorem este deosebit de important pentru c ofer un criteriu cu ajutorul cruia se
poate stabili dac ntr-un graf orientat i fr circuite exist sau nu un drum hamiltonian i totodat
i un algoritm pentru determinarea drumului hamiltonian n cazul n care exist. De asemenea,
permite determinarea rutelor optimale ntr-un graf, aflarea drumului critic etc.
53
Teorema 2.1.10 (Y. C. Chen)
Un graf cu n vrfuri G = ( X ,U ) orientat i fr circuite conine un drum hamiltonian dac
i numai dac numrul elementelor diferite de zero din matricea conex terminal T este egal cu
n ( n 1)
.
2
Demonstraie
Fie G = ( X , ) un graf orientat i fr circuite, cu n vrfuri.
1 2 3 (
Presupunem c n G exist un drum hamiltonian d H = xk , xk , xk ,..., xk ,
n )
1 2 3 L n
corespunznd permutrii . Deoarece graful nu are circuite rezult c xk1
k1 k2 k3 L kn
atinge n 1 vrfuri, deci pe linia lui xk din matricea conex terminal T sunt n 1 elemente
1
egale cu 1. La fel, vrful xk2 atinge n 2 vrfuri, deci linia corespunztoare lui xk2 din T are
n 2 elemente egale cu 1 i tot astfel, pentru fiecare vrf urmtor al drumului hamiltonian,
numrul de elemente egale cu 1 din linia corespunztoare a matricei T scade cu cte o unitate, pn
la vrful xk care este ultimul vrf al drumului hamiltonian i deci are puterea de atingere zero (n
n
caz contrar s-ar contrazice ipoteza c graful este fr circuite). Prin urmare, numrul total de
elemente avnd valoarea 1 din matricea T este suma unei progresii aritmetice de raie r = 1 , adic:
n ( n 1)
( n 1) + ( n 2 ) + ... + 2 + 1 = (2.1.11)
2
n ( n 1)
Presupunem c suma cifrelor 1 din matricea T este egal cu , ea
2
reprezentnd totodat suma puterilor de atingere ale tuturor vrfurilor grafului. Considerm forma
triunghiular superioar T obinut n urma efecturii operaiilor precizate n teorema 2.1.9 i
notm x1 , x2 ,..., xn vrfurile obinute prin permutarea (relaia 2.1.10) a vrfurilor x1 , x2 ,..., xn
n ordinea descresctoare a puterilor lor de atingere. Deoarece graful nu are circuite, n matricea T
toate elementele egale cu 1 se afl deasupra diagonalei principale i cum deasupra diagonalei
n ( n 1)
principale se afl n total: ( n 1) + ( n 2 ) + ... + 2 + 1 = locuri, rezult c nici o cifr
2
zero nu se va afla deasupra diagonalei principale. Putem scrie o succesiune de arce corespunznd
primului element diferit de zero din fiecare linie: ( x1 , x2 ) , ( x2 , x3 ) ,..., ( xn 1 , xn ) . Aceast
succesiune de arce formeaz tocmai drumul hamiltonian d H = ( x1 , x2 ,..., xn ) .
Teorema 2.1.11
Dac ntr-un graf G = ( X , ) orientat i fr circuite exist un drum hamiltonian, atunci
acesta este unic.
54
Demonstraie
Fie G = ( X , ) un graf orientat i fr circuite, cu n vrfuri. Presupunem c n graful G
exist un drum hamiltonian. Fie d H = ( x1 , x2 ,..., xn ) acest drum, unde succesiunea vrfurilor este
dat de ordinea descresctoare a puterilor de atingere a lor. Orice alt succesiune a vrfurilor
conine cel puin o inversare a indicilor. Presupunem prin absurd c n G ar exista i un alt drum
(
diferit de d H . Rezult c acesta conine cel puin un arc de forma xi, xj , cu
hamiltonian d H )
j < i , adic linia vrfului xj precede linia vrfului xi n T , astfel c t ji = 1, deci este situat
deasupra diagonalei principale n T . Rezult de aici existena unui drum de la xj la xi , cu j < i .
ns, conform presupunerii fcute, succesiunea arcelor din d H ( )
conine arcul xi, xj , de unde
rezult c graful ar avea un circuit, contradicie cu ipoteza. Prin urmare, presupunerea c drumul
hamiltonian nu este unic este fals.
Rezultatul formulat i demonstrat n teorema 2.1.10 este uor de verificat pe matricea T
obinut din matricea conex terminal T n urma efecturii operaiilor precizate n teorema 2.1.9.
Algoritmul de determinare a drumului hamiltonian (atunci cnd acesta exist) ntr-un graf
orientat i fr circuite presupune urmtorii pai:
1. Fiind dat graful orientat i fr circuite G = ( X , ) se construiete matricea conex
asociat A conform relaiei (2.1.1) i matricea conex terminal T, conform cu relaia (2.1.7) sau
conform algoritmului lui Chen. Dac numrul elementelor diferite de zero din matricea conex
n ( n 1)
terminal T este egal cu , atunci n graful G exist un drum hamiltonian (teorema 2.1.10)
2
i acesta este unic (teorema 2.1.11).
2. Se calculeaz puterile de atingere ale vrfurilor grafului nsumnd (sau numrnd
elementele nenule) de pe liniile corespunztoare ale matricei conexe terminale T; pentru fiecare vrf
xi puterea de atingere a sa se va completa ntr-o coloan suplimentar (a n + 1- a) a matricei T.
3. Se construiete matricea T conform procedeului descris n teorema 2.1.9. Conform
rezultatelor expuse anterior rezult c matricea T , asociat grafului finit G = ( X , ) orientat i
fr circuite i care are un drum hamiltonian, este superior triunghiular, toate elementele de pe
diagonala sa principal i de sub ea sunt nule, iar cele de deasupra diagonalei principale sunt egale
cu 1.
4. Drumul hamiltonian se citete n matricea T prin succesiunea arcelor corespunztoare
elementelor egale cu 1 aflate deasupra diagonalei principale.
Exemplu
Pentru graful din fig. 2.1.4 matricea conex terminal este:
x1 x2 x3 x4 p ( xi )
x1 0 1 1 1 3
T = x2 0 0 1 1 2 i coincide cu T .
x3 0 0 0 1 1
x4 0 0 0 0 0
55
43
Numrul elementelor egale cu 1 din T este N = 6 = n G exist un drum
2
hamiltonian.
Succesiunea arcelor corespunztoare elementelor egale cu 1 aflate deasupra diagonalei
principale reprezint drumul hamiltonian din G i acesta este: d H = ( x1, x2 , x3 , x4 ) , succesiunea
arcelor sale fiind: ( x1 , x2 ) ; ( x2 , x3 ) ; ( x3 , x4 ) .
56
LECIA 5 - OPERAII CU GRAFURI I CU MATRICI BOOLEENE ASOCIATE
GRAFURILOR
este tot o matrice boolean de acelai ordin, se numete suma boolean a matricelor A i B i se
noteaz:
& B.
C = A (2.2.3)
Definiia 2.2.2
Fie G1 = ( X , 1 ) i G2 = ( X , 2 ) dou grafuri avnd aceeai mulime X a vrfurilor.
Graful G = G1 G2 = ( X , 1 2 ) , unde
( 1 2 )( x ) = 1 ( x ) U 2 ( x ) , ( ) x X se numete graful reuniune a celor dou
grafuri, iar graful H = G1 G2 = ( X , 1 2 ) , unde
( 1 2 )( x ) = 1 ( x ) I 2 ( x ) , ( ) x X se numete graful intersecie a celor
dou grafuri.
Din definiia celor dou grafuri G i H rezult c ( x, y ) este arc n G dac i numai dac
este arc n G1 sau G2 i ( x, y ) este arc n H dac i numai dac este arc n G1 i G2 .
Astfel spus, dac G1 = ( X ,U1 ) i G2 = ( X ,U 2 ) , atunci mulimea arcelor grafului
G = G1 G2 este U1 U U 2 , iar mulimea arcelor grafului H = G1 G2 este U1 I U 2 . Dac
U1 I U 2 = , atunci toate elementele lui X sunt puncte izolate ale garfului H = G1 G2 . Este
evident c operaiile i sunt asociative i comutative.
57
Propoziia 2.2.3
Fie A1 i A2 matricele booleene ataate grafurilor G1 = ( X , 1 ) i G2 = ( X , 2 ) . Atunci
& A este matricea boolean ataat garfului G = G G .
matricea A = A1 2 1 2
Demonstraia este imediat i o lsm ca exerciiu.
( )
C = cij , i, j = 1, 2,..., n , unde
cij = ( &b =
aik kj) aik bkj (2.2.6)
k k
este tot o matrice boolean, se numete produsul boolean al matricelor A i B i se noteaz:
& B.
C = A (2.2.7)
Acest produs definit pe mulimea matricelor booleene ptratice de acelai ordin este
asociativ i distributiv fa de adunarea boolean a matricelor.
Definiia 2.2.5
Fie grafurile G1 = ( X , 1 ) i G2 = ( X , 2 ) , avnd aceeai mulime X a vrfurilor.
Spunem c graful G = ( X , ) este produsul de compoziie al grafurilor G1 i G2 i scriem
G = G2 o G1 = G2G1 , respectiv = 2 o 1 = 21 , dac
58
( x) = U 2 ( y ) , () x X , (2.2.8)
y1 ( x )
( 21 )( x ) = 2 ( 1 ( x ) ) (2.2.9)
Definiia 2.2.6
Fiind dat un graf G = ( X , ) , se numete graful reciproc al lui G graful notat prin
( )
G 1 = X , 1 , unde
1 ( y ) = { x X | y ( x )} = { x X | ( x, y ) U } (2.2.10)
Reprezentarea sagital a grafului reciproc al lui G se obine din reprezentarea sagital a lui
G prin schimbarea sensului arcelor.
Legat de produsul de compoziie a dou grafuri i de graful reciproc asociat unui graf dat,
prezentm dou rezultate cu aplicaii ulterioare importante.
Teorema 2.2.7
Produsul de compoziie a grafurilor este asociativ.
Demonstraie
Fie G1 = ( X , 1 ) , G2 = ( X , 2 ) , G3 = ( X , 3 ) i s notm = 3 ( 21 ) i
= ( 3 2 ) 1 . Pentru x X arbitrar, avem:
( x ) = ( 3 ( 21 ) ) ( x ) = U 3 ( y ) =
y( 2 1 )( x )
= U 3 ( y ) = U U 3 ( y ) = U ( 3 2 )( z ) =
y 2 ( z )
z1 ( x ) y 2 ( z )
z1 ( x )
z1 ( x )
= ( 3 2 ) ( 1 ( x ) ) = ( ( 3 2 ) 1 ) ( x ) = ( x )
Interpretarea egalitilor este urmtoarea: ( x, y ) este arc n G2G1 dac exist z X astfel
nct ( x, z ) este arc n G1 , iar ( z , y ) este arc n G2 .
Dac vom considera G1 = G2 = G , atunci innd seama de rezultatul exprimat i
demonstrat n teorema 2.2.7 rezult c pentru () k
se poate construi graful
0 ( x ) = x , ( ) x X i k = k 1 . (2.2.11)
59
Teorema 2.2.8
Fie grafurile G1 = ( X , 1 ) , G2 = ( X , 2 ) i G = ( X , ) produsul lor de compoziie
unde G = G2G1 i = 21 , (ca n definiia 2.2.5). Atunci avem:
Demonstraie
Vom arta c ( 21 )
1
( z ) = ( 11 21 ) ( z ) , punnd n eviden dubla incluziune.
1
Fie z X arbitrar i x0 ( 21 ) ( z ) . Conform definiiei grafului reciproc (definiia
2.2.6), aceasta este echivalent cu:
z ( 21 )( x0 ) = U 2 ( y ) .
y1 ( x0 )
( ) y0 X astfel nct x0 11 ( y0 ) , y0 2 1 ( z ) .
Aceasta nseamn c
x0 U ( ) (
11 ( y ) = 11 21 ( z ) = 11 21 ( z ))
y 21 ( z)
Rezult c ( 21 )
1
( z ) ( 11 21 ) ( z ) .
Similar se arat i incluziunea invers, teorema fiind complet demonstrat.
Pentru graful reciproc de ordinul k vom lua:
k = 1 ( ) , ( ) k
k 1
(2.1.13)
Putem trece acum la demonstrarea teoremei privind matricea boolean a produsului de
compoziie a dou grafuri.
Teorema 2.2.9
Fie ( )
A = aij ( )
i B = bij , i, j = 1, 2,..., n , matricele booleene ataate grafurilor
G1 = ( X ,U1 ) i G2 = ( X ,U 2 ) , X = { x1, x2 ,..., xn } . Atunci matricea boolean C = A
& B
este matricea boolean ataat grafului G = G2G1 .
Demonstraie
( )
Fie U mulimea arcelor grafului G2G1 i C = cij , i, j = 1,2,..., n , matricea boolean
ataat acestui graf. Atunci urmtoarele afirmaii sunt echivalente:
1) cij = 1 ;
( )
2) xi , x j U ;
3) ( ) l astfel nct ( xi , xl ) U1 i xl , x j U 2 ;( )
4) ( ) l astfel nct ail = 1 i blj = 1 ;
60
5) ( ) l astfel nct ailblj = 1 ;
6) ailblj = 1.
k
Echivalena afirmaiilor rezult utiliznd definiiile matricei booleene asociate unui graf i a
operaiilor de nmulire i adunare boolean.
Rezult, deci, c putem scrie:
cij = aik bkj , () i, j = 1, 2,..., n , (2.2.14)
k
adic
& B.
C = A (2.2.15)
Definiia 2.2.10
Dac A este matricea boolean ataat grafului G = ( X , ) , atunci matricea obinut prin
k&
nmulirea boolean a lui A cu ea nsi de k ori se noteaz cu A i se numete puterea k-
boolean a matricei A.
&
& A
Ak = 14
A & ...
& A. (2.2.16)
4244 3
k factori
k&
Evident, A este tot o matrice boolean, care se va dovedi util n studiul grafului
succesiunilor de ordinul k ale grafului G, deci n studiul lui G = X ,
k
( k
).
ntr-adevr, conform teoremei 2.2.9, dac A este matricea boolean ataat garfului G,
atunci A
k&
este matricea boolean ataat grafului G = X ,
k
( k
) . Cunoatem, de asemenea, c
dac x X , atunci
k
( x ) este mulimea succesorilor de ordinul k ai lui x. Rezult, deci, c dac
& &
aijk = 1 n matricea Ak , atunci x j X este succesor de ordinul k al lui xi X i reciproc, ceea
ce, formalizat, se scrie astfel:
&
aijk = 1 x j k ( xi ) (2.2.17)
k&
n acelai timp afirmaia este echivalent cu: aij = 1 exist n G drumuri de lungime k
(formate din k arce) de la vrful xi la vrful x j .
Rezultatul formulat i demonstrat n teorema urmtoare permite stabilirea unei legturi ntre
produsul boolean i produsul obinuit a dou matrice booleene.
Teorema 2.2.11
Fie A i B dou matrice booleene de aceeai dimensiune i A & B , respectiv AB produsul
& B se obine din AB prin
boolean i produsul obinuit al celor dou matrice. Atunci matricea A
nlocuirea n AB a tuturor elementelor nenule cu 1.
61
Demonstraie
Teorema este demonstrat dac artm c matricele produs boolean A & B i produs
obinuit AB au aceleai elemente nule, fapt care rezult din echivalena afirmaiilor:
unde aij
( k ) este elementul matricei Ak aflat la intersecia liniei i cu coloana j. Este firesc s ne
k
ateptm ca matricea A s ne ofere mai multe informaii despre graful su asociat dect matricea
& &
Ak . ntr-adevr numrul aijk ne arat numai dac exist sau nu drumuri de lungime k ntre
vrfurile xi i x j , n timp ce numrul aij
( k ) din Ak ne arat numrul drumurilor de lungime k
k&
care exist ntre xi i x j . Afirmaia referitoare la aij a fost justificat anterior. Afirmaia
referitoare la aij
( k ) o vom face n cele ce urmeaz, din aproape n aproape. Astfel, dac
aij( ) = m > 0 , deci aik bkj = m , rezult c exist exact m indici distinci, k1, k2 ,..., km i m
2
k =1
perechi de elemente din linia i, respectiv coloana j a lui A, egale cu 1:
( aik 1 ) ( ) ( )
= ak1 j = aik2 = ak2 j = ... = aikm = akm j = 1 , deci exist exact m drumuri formate din
dou arce de la vrful xi la vrful x j i acestea sunt urmtoarele: ( xi , xk , x j ) ;
1
( xi , xk , x j ) ,..., (
2 )
xi , xkm , x j . Dac aij( )
2
= 0 este evident c nu exist astfel de drumuri.
Pentru a vedea cte drumuri formate din trei arce exist de la xi la x j vom preciza mai
nti cte asemenea drumuri exist astfel nct penultimul vrf al drumului s fie un anumit vrf xk .
Un astfel de drum este de forma ( xi ,..., xk , x j ) i este alctuit din drumul format din dou arce
( xi ,..., xk ) , prelungit cu arcul ( xk , x j ) . Dac arcul ( xk , x j ) nu exist ( akj = 0 ) , atunci nu
62
( 2)
exist nici un astfel de drum deoarece aik akj = 0 , iar dac arcul ( xk , x j ) exist ( akj = 1) ,
( 2) ( 2)
atunci aik ak = aik i deci exist astfel de drumuri. Deoarece xk poate fi oricare vrf al
j
n
grafului, rezult c exist aik( 2) akj = aij(3) drumuri formate din trei arce, deci de lungime 3, de
k =1
la xi la x j .
Teorema care urmeaz permite studiul existenei circuitelor n graful G.
Teorema 2.2.12
Fie A matricea boolean ataat grafului G = ( X , ) . Atunci G este fr circuite dac i
Demonstraie
Fie G = ( X , ) un graf cu n vrfuri i fr circuite i A matricea boolean asociat
grafului G. Cum card X = n , rezult c n G nu exist drumuri de lungime mai mare dect n 1 ,
n&
deci A = On , n , unde n este numrul vrfurilor grafului.
k&
Presupunem c ( ) k astfel nct A = On , n . Presupunem prin absurd c
graful conine (cel puin) un circuit. Rezult c n graf exist drumuri de orice lungime, circuitul
k&
care exist putnd fi parcurs de un numr arbitrar de ori, deci A On , n , () k
,
contradicie cu ipoteza. Rezult c presupunerea fcut este fals deci graful G nu conine nici un
circuit.
n&
Din demonstraia teoremei rezult c dac graful G nu conine circuite atunci A = On , n .
k&
ns cel mai mic numr k pentru care A = On , n poate fi mai mic dect n. Dac
An 1 = On, n , atunci exist n G un drum format din n 1 arce, deci un drum care trece prin toate
vrfurile grafului, adic un drum hamiltonian.
m +1
Dac n graf exist un drum de lungime maxim m < n , atunci A = On, n .
ntr-un graf finit G = ( X , ) cu circuite, elementele de pe diagonala principal a matricei
Ak ofer informaii asupra circuitelor. Astfel, valoarea lui aii( ) este egal cu numrul circuitelor
k
Exemplul 2.2.13
Fie graful G = ( X , ) dat n reprezentare sagital n figura urmtoare:
63
Fig. 2.2.1
64
( )
2
a13 = 2 exist 2 drumuri distincte de lungime 2 de la x1 la x3 ;
( )
3
a34 = 1 exist un singur drum de lungime 3 de la x3 la x4 ;
( )
3
a24 = 0 nu exist nici un drum de lungime 3 de la x2 la x4 ;
aij( ) 0 , ( ) i 2 i j 4 exist drumuri de lungime 3 de la orice vrf xi pn la
3
def
( x ) = U k ( x ) = { x} U ( x ) U 2 ( x ) U ... (2.4.1)
k =0
este mulimea format din vrful x i toi succesorii si din graful G i c graful G = X ,
se ( )
numete nchiderea tranzitiv a grafului G. Ne propunem s gsim matricea boolean asociat
grafului G .
Fie I matricea unitate de ordinul n i notm
& A.
A = I (2.4.2)
este matricea boolean care corespunde grafului
Matricea A ( X , 0
)
, se obine
nlocuind n A toate elementele nule de pe diagonala principal cu 1 i corespunde grafului obinut
din G prin adugarea buclelor la toate vrfurile la care acestea nu exist. n graful ( X , 1 ) , unde
1 = 0 , mulimea 1 ( x ) este mulimea format din vrful x i toi succesorii si de ordinul
este:
1. Ptratul boolean al matricei A
A 2 = ( I
& A)
& ( I&
& A ) = I&
&
& A & A2& = I&
& A & A2& .
& A (2.4.3)
65
Matricele I, A i A
2&
corespund grafurilor ( X , ) ,
0
( X ,) , ( X , ) ,
2
deci A
2&
( )
2 ( x ) = 0 2 ( x ) = { x} U ( x ) U 2 ( x ) , () x X . Deci, n graful
&
G2 = ( X , 2 ) , corespunztor matricei A 2 , fiecrui element x X i corespunde o mulime
format din el nsui i din toi succesorii si de ordinul 1 i de ordinul 2.
Tot astfel, pas cu pas, se deduce c matricea:
& A& A2&
A r& = I& & Ar& ,
& ... (2.4.4)
Fig. 2.4.1
66
x1 x2 x3 x4 x5 x6 x7 x8
0 1 1 1 0 0 0 0 x1
0 0 0 1 1 1 0 0 x2
0 0 0 1 0 0 1 0 x3
A= 0 0 0 0 1 0 1 0 x4
0 0 0 0 0 1 0 1 x5
0 0 0 0 0 0 1 1 x6
0 0 0 0 0 0 0 1 x7
0 0 0 0 0 0 0 0 x8
se obine din A punnd 1 n loc de 0 peste tot, pe diagonala principal din A:
Matricea A
1 1 1 1 0 0 0 0
0 1 0 1 1 1 0 0
0 0 1 1 0 0 1 0
A = 00 0 1 1 0 1 0
.
0 0 0 0 1 1 0 1
0 0 0 0 0 1 1 1
0 0 0 0 0 0 1 1
00 0 0 0 0 0 1
sunt urmtoarele:
Puterile booleene succesive ale lui A
1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1
0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 1
& 0 0 0 1 1 1 1 1 = 0 0 0
& 1 1 1 1 1
A =
2
; A
3
;
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1
0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
67
1 1 1 1 1 1 1 1
0 1 0 1 1 1 1 1
0 0 1 1 1 1 1 1
0 0 0 1 1 1 1 1
A =
&
4
.
0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 1
0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1
3& = A 4& , deci matricea
Se constat c A
&
A 3 este matrice boolean a nchiderii tranzitive a
grafului G din figura 2.4.1.
2.5 mprirea n nivele a unui graf fr circuite cu ajutorul matricei booleene
Fie G = ( X , ) un graf finit i fr circuite, X = { x1, x2 ,..., xn } i A matricea sa
boolean asociat. Am vzut c ntr-un astfel de graf exist cel puin un vrf fr predecesori i cel
puin un vrf fr succesori (teorema 1.4.2). De asemenea, se cunoate c dac un vrf xi nu are
predecesori atunci toate elementele din coloana i a matricei A sunt egale cu zero g (
( xi ) = 0 ) , iar
dac un vrf x j nu are succesori, atunci toate elementele din linia j a matricei A sunt nule
( g ( x ) = 0) (definiia 2.1.3).
+
j
mprirea n nivele a grafului G se realizeaz mai uor utiliznd matricea boolean asociat
acestuia.
Primul nivel va fi format din mulimea vrfurilor fr predecesori, deci din toate vrfurile
care corespund la coloanele ce au toate elementele nule din matricea A.
Se suprim din matricea A toate liniile i coloanele care corespund vrfurilor primului nivel;
matricea rmas este matricea boolean asociat subgrafului obinut prin suprimarea vrfurilor
primului nivel i a tuturor arcelor care au una din extremiti n aceste vrfuri.
Mai departe, se determin n submatricea lui A obinut anterior, vrfurile care corespund
coloanelor cu toate elementele nule; mulimea acestor vrfuri va forma nivelul al doilea al grafului
G.
Dup suprimarea tuturor liniilor i coloanelor care corespund vrfurilor din nivelul al doilea
se obine submatricea lui A care permite determinarea mulimii vrfurilor de pe nivelul al treilea.
Algoritmul se continu pn cnd se ajunge la ultimul nivel, format din mulimea tuturor vrfurilor
din G care nu au succesori.
Algoritmul poate fi organizat i n sens invers, determinnd mai nti ultimul nivel i apoi
succesiv, nivelele anterioare. Mulimea vrfurilor aflate pe ultimul nivel este format din acele
vrfuri ale grafului G corespunztoare liniilor din matricea A care au toate elementele egale cu zero.
Se suprim apoi din A toate liniile i coloanele care corespund vrfurilor de pe ultimul nivel,
rezultnd matricea boolean ataat subgrafului obinut din G prin suprimarea vrfurilor de pe
ultimul nivel i a tuturor arcelor grafului G care au o extremitate n aceste vrfuri. Mulimea
vrfurilor aflate pe penultimul nivel este format din vrfurile corespunztoare liniilor care au toate
elementele egale cu zero n submatricea lui A obinut la sfritul etapei anterioare. Dup
suprimarea tuturor liniilor i coloanelor care corespund vrfurilor din penultimul nivel se obine
submatricea lui A care permite determinarea mulimii vrfurilor de pe antepenultimul nivel.
68
Algoritmul se continu pn cnd se ajunge la primul nivel, format din mulimea tuturor vrfurilor
din graful G care nu au predecesori.
Cele dou procedee nu conduc ntotdeauna la aceeai mprire pe nivele a grafului G, deci
se pot obine partiii diferite ale mulimii X. mprirea n nivele a unui graf fr circuite este util n
rezolvarea problemelor de determinare a drumurilor optime, acestea putndu-se obine mai uor
dac graful este partiionat pe nivele.
Exemplul 2.5.1
Relum graful din figura 1.5.1, pe care ne propunem s-l mprim n nivele, cu ajutorul
matricei booleene asociate.
Fig. 2.5.1
Matricea boolean asociat acestui graf este urmtoarea:
x1 x2 x3 x4 x5 x6 x7 x8 x9
0 1 1 0 1 0 0 1 0 x1
0 0 0 1 0 0 0 1 0 x2
0 0 0 0 0 0 0 0 0 x3
0 0 0 0 0 0 0 0 1 x4
A=
0 0 0 0 0 0 0 0 1 x5
0 0 1 0 0 0 1 0 0 x6
0 0 0 0 1 0 0 1 0 x7
0 0 0 0 0 0 0 0 1 x8
0 0 0 0 0 0 0 0 0 x9
n A exist dou coloane care au toate elementele egale cu zero i anume coloanele care
corespund vrfurilor x1 i x6 ; mulimea vrfurilor aflate pe nivelul 1 este, deci, { x1, x6 } .
Suprimm liniile i coloanele corespunztoare vrfurilor x1 i x6 . Se obine submatricea
AI :
69
x2 x3 x4 x5 x7 x8 x9
0 0 1 0 0 1 0 x2
0 0 0 0 0 0 0 x3
0 0 0 0 0 0 1 x4
AI =
0 0 0 0 0 0 1 x5
0 0 0 1 0 1 0 x7
0 0 0 0 0 0 1 x8
0 0 0 0 0 0 0 x9
n submatricea AI au aprut trei coloane cu toate elementele egale cu zero, respectiv
coloanele care corespund vrfurilor x2 , x3 i x7 ; mulimea vrfurilor care formeaz nivelul II al
grafului G este, deci: { x2 , x3 , x7 } . Suprimm din submatricea AI , toate liniile i coloanele care
corespund acestor vrfuri i obinem submatricea AII :
x4 x5 x8 x9
0 0 0 1 x4
AII = 0 0 0 1 x5
0 0 0 1 x8
0 0 0 0 x9
n submatricea AII au aprut trei coloane cu toate elementele egale cu zero, respectiv
coloanele care corespund vrfurilor x4 , x5 i x8 ; nivelul III este format din mulimea acestor
vrfuri: { x4 , x5 , x8 } .
Suprimnd din AIII toate liniile i coloanele corespunztoare acestor vrfuri obinem:
x9
AIII = 0 x9
Vrful x9 nu are nici un succesor i va forma nivelul IV al grafului G.
n final s-a obinut urmtoarea mprire pe nivele:
nivelul I: { x1 , x6 } ;
nivelul II: { x2 , x3 , x7 } ;
nivelul III: { x4 , x5 , x8 } ;
nivelul IV: { x9 } .
Reprezentarea sagital este, evident, cea din figura 1.5.4, care respect condiia suplimentar
ca toi succesorii unui vrf s fie aezai pe nivelul imediat urmtor. De altfel, aceast condiie este
realizat implicit n cazul organizrii algoritmului n sensul de la nivelul I (care conine toate
vrfurile fr predecesori) ctre ultimul nivel (care conine vrfurile fr succesori).
Lsm cititorului ca exerciiu organizarea algoritmului n sens invers, de la ultimul nivel
ctre nivelul I i compararea rezultatului obinut n final cu cel anterior. De asemenea, se propune
rezolvarea aceleiai probleme i pentru graful din figura 2.4.1.
70
TEST DE AUTOEVALUARE
Problema nr. 1
Problema nr. 2
Prelucrarea unui produs poate trece prin 6 faze distincte notate ntr-un model de graf prin
xi , i = 1, 2,..., 6 , iar posibilitile de trecere de la o faz de prelucrare la alta se reprezint prin
arce orientate. Matricea boolean asociat acestui graf este urmtoarea:
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
A= ;
1 1 0 0 1 0
0 1 1 0 0 1
1 0 1 0 0 0
1) S se construiasc o reprezentare sagital a grafului care modeleaz procesul tehnologic de
prelucrare;
2) S se determine, pornind de la definiie sau cu algoritmul lui Chen, matricea drumurilor a
grafului;
3) Este posibil ca produsul s treac prin toate fazele de prelucrare? Dac rspunsul este
afirmativ s se indice tehnologia corespunztoare.
Problema nr. 3
71
0 0 0 0 0 0
1 0 1 0 0 1
1 0 0 1 1 1
A= ;
0 0 0 0 1 0
0 0 0 0 0 0
0 0 0 1 0 0
1) S se construiasc o reprezentare sagital a grafului care modeleaz sistemul de transport cu
benzi rulante dintre cele 6 puncte de lucru;
2) S se determine matricea drumurilor asociat grafului G;
3) S se cerceteze dac sistemul de benzi rulante existent n hal permite ca produsul s treac
pe la toate punctele de lucru. Dac acest lucru nu este posibil s se stabileasc o modificare
tehnic ct mai simpl care s permit soluionarea problemei de producie.
Problema nr. 4
72
TEM DE CONTROL
Problema nr. 1
O companie de transport mrfuri trebuie s efectueze transportul unor produse ntre apte
puncte economice notate cu x1 , x2 ,..., x7 , acestea fiind ntreprinderi, depozite, magazine de
desfacere, etc. Reeaua de transport este un graf cu 7 vrfuri, x1 , x2 ,..., x7 i avnd urmtoarea
matrice, notat cu A, a conexiunilor:
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 1 1 1 x1
0 0 1 1 0 0 0 x2
1 0 0 1 0 0 0 x3
A= ;
0 1 0 0 0 1 0 x4
0 0 1 1 0 1 0 x5
1 0 1 0 1 0 0 x6
1 0 0 1 0 1 0 x7
1) S se construiasc o reprezentare sagital a grafului reelei de transport corespunztoare
matricei A;
2) S se stabileasc dac n graful reelei de transport corespunztoare matricei A exist
circuite;
3) S se determine drumul de lungime maxim din graful obinut;
4) S se mpart graful de la punctul 1) n nivele, plecnd de la reprezentarea sagital i de la
matricea de adiacen.
5) S se rezolve aceeai problem (punctele 1, 2, 3, 4 ) n ipoteza c nu mai poate fi utilizat
legtura de la punctul x1 la punctul x6 ;
6) S se determine gradul de emisie, gradul de recepie i puterea de atingere a fiecrui vrf
al grafului.
Problema nr. 2
n departamentul de cercetare al unei fabrici din industria aeronautic s-au fcut studii i
cercetri privind influena anumitor tratamente suplimentare n prelucrarea unor piese asupra
mrimii sau micorrii timpului mediu de funcionare al pieselor respective.
Rezultatele cercetrilor au artat c acest timp se mrete sau se micoreaz cu un anumit
numr de uniti de timp, aceasta depinznd numai de ordinea n care se aplic aceste tratamente.
S-a stabilit c modificarea timpului mediu de funcionare a unei piese eseniale din
ansamblul trenului de aterizare depinde de tratamentul aplicat la un moment dat i de tratamentul
aplicat anterior, existnd numai posibilitile indicate prin arcele unui graf cu 9 vrfuri,
reprezentnd cele 9 tratamente posibile care pot fi aplicate. Matricea conexiunilor acestui graf este
urmtoarea:
73
x1 x2 x3 x4 x5 x6 x7 x8 x9
0 0 0 1 1 1 0 0 0 x1
1 0 1 0 1 0 0 0 0 x2
0 1 0 0 0 0 0 0 1 x3
1 1 1 0 0 0 0 0 0 x4
A= .
0 0 0 0 0 1 0 0 0 x5
0 0 0 0 1 0 1 0 0 x6
0 0 0 0 0 1 0 1 0 x7
0 0 0 0 1 0 1 0 0 x8
0 1 0 0 1 1 0 1 0 x9
1) S se construiasc o reprezentare sagital a grafului celor 9 tratamente termice, avnd
matricea conexiunilor A;
2) S se determine matricea drumurilor T ataat grafului i s se precizeze dac n graf
exist circuite;
3) S se determine drumul de lungime maxim din graful obinut;
4) S se mpart graful de la punctul 1) n nivele, plecnd de la reprezentarea sagital i de la
matricea de adiacen.
5) S se determine gradul de emisie, gradul de recepie i puterea de atingere a fiecrui vrf
al grafului.
Problema nr. 3
ntre opt puncte de lucru ale unui sistem economic exist o reea de transport al crui graf
este dat prin matricea A a conexiunilor dintre vrfurile x1 , x2 ,..., x8 ale sale, unde:
x1 x2 x3 x4 x5 x6 x7 x8
0 1 0 0 0 1 0 1 x1
0 0 1 0 1 0 0 0 x2
0 0 0 1 0 0 0 0 x3
A= 0 0 0 0 0 1 0 1 x4 .
1 0 0 1 0 0 0 0 x5
0 0 1 0 1 0 1 0 x6
1 1 0 1 0 0 0 0 x7
0 1 0 0 0 0 1 0 x8
1) S se construiasc o reprezentare sagital a grafului a sistemului de transport dintre cele
opt puncte ale sistemului economic aferent matricelor A i C;
2) S se determine matricea drumurilor asociat acestui graf utiliznd algoritmul lui Chen;
3) S se stabileasc dac graful are circuite i s se determine drumul de lungime maxim
din graf;
5) S se rezolve aceeai problem dac apare o nou posibilitate de transport, ntre vrfurile
x3 i x7 .
74
6) S se determine gradul de emisie, gradul de recepie i puterea de atingere a fiecrui vrf
al grafului.
Problema nr. 4
1. Claude Berge: Teoria grafurilor i aplicaiile ei, Editura tehnic, Bucureti, 1969;
2. Tiberiu Ionescu: Grafuri. Aplicaii, Vol I, II, Editura didactic i pedagogic,
Bucureti, Bucureti, 1973;
3. Al. Rou: Teoria grafurilor. Algoritmi i aplicaii, Editura militar, Bucureti,
1974;
4. C. Dinescu, B. Svulescu: Metode de matematic modern pentru economiti.
Culegere de probleme, Editura didactic i pedagogic, Bucureti, 1975;
5. O. Popescu, D.P. Vasiliu, .a.: Matematici aplicate n economie, Editura didactic
i pedagogic, Bucureti, 1997;
6. Nicolae Micu: Teoria grafurilor, Editura Academiei Militare, Bucureti, 1981;
7. C. Dinescu, I. Ftu: Matematici pentru economiti, vol. II, III, Editura didactic i
pedagogic, Bucureti, 1995.
8. Drago-Radu Popescu: Combinatoric i teoria grafurilor, Biblioteca Societii
de Stiine Matematice din Romnia, Bucureti, 2005.
75