Sunteți pe pagina 1din 19

3.

GRAFURI
3.1. Noţiuni generale. Metode de reprezentare a grafului.
Arbori. Noţiune de drum minim. Algoritmul Bellman-Calaba.
Reţele de transport. Algoritmul Ford-Fulkerson

Noţiuni generale
Se numeşte graf, ansamblul format dintr-o mulţime finită X şi o
aplicaţie F a lui X în P(X). Se notează G = (X,F). Elementele
mulţimii X se numesc vârfuri ale grafului. Perechea de vârfuri (x,y)
se numeşte arc; vârful x se numeşte originea a arcului (x,y), iar
vârful y se numeşte extremitatea.
Dacă un vârf nu este extremitatea nici unui arc el se numeşte
vârf izolat, iar dacă este extremitatea a mai mult de două arce - nod.
Un arc pentru care extremitatea iniţială coincide cu cea finală se
numeşte buclă.
Două arce se zic adiacente dacă sunt distincte şi au o
extremitate comună. Două vârfuri se zic adiacente dacă sunt
distincte şi sunt unite printr-un arc.
Se spune că arcul (x,y) este incident cu vârful x spre exterior şi
y spre interior.
Fie G = (X,F) şi xX. Mulţimea tuturor arcelor incidente cu x
spre exterior (interior) se numeşte semigradul exterior (interior) a
lui x şi se notează d   x   d   x   .
Într-un graf G = (X,U) se numeşte drum un şir de arce (u1,...,uk),
astfel încât extremitatea terminală a fiecărui arc uI coincide cu
extremitatea iniţială a arcului următor ui+1. Un drum care foloseşte
o singură dată fiecare arc al său se numeşte drum simplu. Un drum
care trece o singură dată prin fiecare vârf al său se numeşte drum
elementar.
Un drum elementar ce trece prin toate vârfurile grafului se
numeşte drum hamiltonian. Un drum simplu ce conţine toate arcele
grafului se numeşte drum eulerian. Un drum finit pentru care vârful
iniţial coincide cu vârful terminal se numeşte circuit.

38
Noţiune de drum minim
Adeseori, fiecărui arc (muchii) i se pune în corespondenţă un
număr real care se numeşte ponderea (lungimea) arcului. În cazul
grafurilor cu arce ponderate (grafuri ponderate) se va considera
lungime a unui drum suma ponderilor arcelor care formează acest
drum. Drumul care uneşte două vârfuri concrete şi are lungimea
cea mai mică se va numi drum minim iar lungimea drumului minim
vom numi distanţă.
Graful obţinut din graful iniţial suprimând cel puţin un vârf al
acestuia precum şi toate arcele incidente cu el se numeşte subgraf.
Graful obţinut suprimând cel puţin un arc se numeşte graf parţial.
Un graf se numeşte complet dacă oricare ar fi x şi y din X există
n( n  1)
un arc de la x la y sau de la y la x. Un graf complet are
2
arce.
Un graf G = (X,F) se zice tare conex dacă pentru orice x, yX
(x diferit de y) există un drum de la x la y sau că oricare pereche de
vârfuri x, y cu x diferit de y se află pe un circuit.
Fie G =(X,F) şi xX. Mulţimea Cx formată din toate vârfurile
xiX pentru care există un circuit ce trece prin x şi xi se numeşte
componentă tare conexă a lui G corespunzătoare vârfului x.
Noţiunile introduse sunt valabile pentru grafurile orientate.
În cazul în care orientarea arcelor nu are nici o importanţă graful
se va numi neorientat. Arcele se vor numi muchii, drumul - lanţ,
circuitul - ciclu. La fel se introduce noţiunea de lanţ elementar şi
simplu, lanţ Euler şi hamiltonian. Graful tare conex se va numi
conex.
Fie G =(X,U) un graf neorientat şi xX. Se numeşte gradul
vârfului x numărul muchiilor care au o extremitate în vârful x. Se
notează g(x).
Un graf se zice că este planar dacă poate fi reprezentat pe un
plan astfel ca două muchii să nu aibă puncte comune în afară de
extremităţile lor. Un graf planar determină regiuni numite feţe. O
faţă este o regiune mărginită de muchii şi care nu are în interior nici
vârfuri, nici muchii.

39
Se numeşte arbore oricare graf conex fără bucle şi cicluri.
Se numeşte arborescenţă un graf orientat fără circuite astfel ca
să existe un vârf şi numai unul care nu e precedat de nici un alt vârf
(rădăcina) şi orice alt vârf să fie precedat de un singur vârf.
Parcurgerea grafului “în lărgime” şi în “adâncime” va garanta
vizitarea fiecărui vârf al grafului exact o singură dată.
Parcurgerea grafului “în adâncime” începe cu un vârf iniţial
dat i şi continuă cu primul dintre vârful său adiacent nevizitat; fie
acesta j. În continuare se procedează în mod similar cu vârful j,
trecându-se la primul dintre vârful adiacent lui j, nevizitat încă
ş.a.m.d. până vor fi vizitate toate vârfurile grafului.
La parcurgerea grafului “în lărgime” după vizitarea vârfului
iniţial, de la care va începe căutarea în lărgime, vor fi vizitate toate
vârfurile adiacente cu vârful dat, apoi toate vârfurile adiacente cu
aceste ultime vârfuri ş.a.m.d. până vor fi vizitate toate vârfurile
grafului. Evident, este necesar ca graful să fie conex..
Metode de reprezentare a grafului
Există trei metode de bază de definire a unui graf:
1. Matricea de incidenţă;
2. Matricea de adiacenţă;
3. Lista de adiacenţă (incidenţă).
Matricea de incidenţă este o matrice de tipul mxn, în care m
este numărul de muchii sau arce (pentru un graf orientat), iar n este
numărul vârfurilor. La intersecţia liniei i cu coloana j se vor
considera valori -1,0,1 în conformitate cu următoarea regulă:
 1 - dacă muchia i este incidentă cu vârful j (dacă arcul i
"intră" în vârful j în cazul unui graf orientat);
 0 - dacă muchia (arcul) i şi vârful j nu sunt incidente;
 -1 - numai pentru grafuri orientate, dacă arcul i "iese" din
vârful j.

40
Matricea de adiacenţă este o matrice pătratică nxn, aici n este
numărul de vârfuri. Fiecare element poate fi 0, dacă vârfurile
respective nu sunt adiacente, sau 1, în caz contrar.
Pentru păstrarea grafurilor în memoria calculatorului (în
deosebi, memoria externă) se va utiliza una din posibilităţile de mai
jos.
Lista de adiacenţă este o listă cu n linii (după numărul de vârfuri
n), în linia cu numărul i vor fi scrise numerele vârfurilor adiacente
cu vârful i.
Lista de incidenţă se defineşte analogic cu deosebirea că în linia
i vor fi scrise numerele muchiilor(arcelor) incidente cu vârful i.
Algoritmul Bellman – Calaba
Permite determinarea drumului minim dintre oricare vârf al
grafului până la un vârf, numit vârf final.(vezi problema N10).
Reţele de transport
Un graf orientat G =(X, U) se numeşte reţea de transport dacă
satisface următoarele condiţii:
a) există un vârf unic a din X în care nu intră nici un arc sau
d-(a)=0;
b) există un vârf unic b din X din care nu iese nici un arc sau
d+(a)=0;
c) G este conex şi există drumuri de la a la b în G;
d) s-a definit o funcţie c: UR astfel încât c(u) 0 pentru orice
arc u din U.
O funcţie f: UR astfel încât f(u)  0 pentru orice arc u se
numeşte flux în reţeaua de transport G cu funcţia de capacitate c,
care se notează G=(X, U, c), dacă sunt îndeplinite următoarele două
condiţii:
a) Condiţia de conservare a fluxului: Pentru orice vârf
x diferit de a şi b suma fluxurilor pe arcele care intră în x
este egală cu suma fluxurilor pe arcele care ies din x.
b) Condiţia de mărginire a fluxului: Există inegalitatea
f(u)  c(u) pentru orice arc uU.

41
Dacă f(u)=c(u) arcul se numeşte saturat. Fluxul, toate drumurile
căruia sunt saturate se va numi flux complet. Cel mai mare dintre
fluxurile complete se numeşte flux maxim.
Pentru orice mulţime de vârfuri AU vom defini o tăietură
w_(A)={(x, y) | xA, yA, (x,yU}, adică mulţimea arcelor care
intră în mulţimea A de vârfuri.
Prin w+(A) vom nota mulţimea arcelor care ies din mulţimea A
de vârfuri.
Teoremă (Ford-Fulkerson):
Pentru orice reţea de transport G = (X, U, c) cu intrarea a şi
ieşirea b valoarea maximă a fluxului la ieşire este egală cu
capacitatea minimă a unei tăieturi, adică:
max fb = min c(w_(A)).
Algoritmul Ford-Fulkerson. (vezi problema N 9).

3.2. EXEMPLE

1. Pentru graful din figura 3.1 să se construiască matricea de


incidenţă, matricea de adiacenţă, lista de adiacenţă.

u2 u3

x4 x7
x1 u1
u4

x3
u5 u8
u6 x6
x2 x5

u7

Fig.3.1

42
Rezolvare:
x1 x2 x3 x4 x5 x6 x7
u1 -1 0 1 0 0 0 0
u2 -1 0 0 1 0 0 0
u3 0 0 0 -1 0 0 1
u4 0 0 -1 0 0 0 1
u5 0 -1 1 0 0 0 0
u6 0 -1 0 0 1 0 0
u7 0 -1 0 0 0 1 0
u8 0 0 -1 0 0 1 0
Fig. 3.2. Matricea de incidenţă
x1 x2 x3 x4 x5 x6 x7
x1 0 0 1 1 0 0 0
x2 0 0 1 0 1 1 0
x3 0 0 0 0 0 1 1
x4 0 0 0 0 0 0 1
x5 0 0 0 0 0 0 0
x6 0 0 0 0 0 0 0
x7 0 0 0 0 0 0 0
Fig. 3.3. Matricea de adiacenţă
Lista de adiacenţă:
1 - 3, 4, 0
2 - 3, 5, 6, 0
3 - 6, 7, 0
4 – 7, 0
5-0
6-0
7-0
1. Să se demonstreze că orice graf neorientat G cu n  2 vârfuri
conţine cel puţin două vârfuri care au acelaşi grad.
Demonstraţie: Presupunem prin absurd că şirul gradelor
vârfurilor lui G conţine n numere distincte două câte două. Dar cum
pentru x  X , d (x )  0,1,2,…,n-1, rezultă că şirul gradelor
coincide cu şirul 0,1,2,…,n-1, abstracţie făcând de ordinea lor.

43
Rezultă că există un vârf izolat şi unul adiacent cu toate celelalte,
absurd.
3. Fiind dat un graf neorientat G=(X,Y), complementarul său
G1=(X,U1) se defineşte ca fiind graful cu aceeaşi mulţime X de
vărfuri, două vărfuri fiind adiacente în G1 dacă şi numai dacă ele nu
sunt adiacente în G. Să se demonstreze că dacă G nu este conex,
atunci complementarul său G1 este conex.
Demonstraţie: Fie x,y  X , x  y. Demonstrăm că există Lx,y în
G1. Dacă x şi y nu sunt adiacente în G1, atunci ele sunt adiacente în
G. Cum G nu este conex, rezultă că în G există o componentă
conexă C care nu conţine vărfurile x şi y. Fie z un vârf din C.
Urmează ca în G1 există muchiile [x,z] şi [y,z], deci există
Lx,y=[x,z,y]. În concluzie G1 este conex.
4. Să se verifice că graful G din figura 3.4 este tare conex.

2

1
3 
 6

 4

5 
Fig.3.4
.
Rezolvare: Prin definiţie un graf orientat este tare conex, dacă
pentru orice cuplu de vârfuri diferite i şi j ale grafului, există cel
puţin un drum al grafului care pleacă de la vârful i la j . Pentru a
stabili dacă graful G este sau nu tare conex, vom folosi următorul
procedeu de marcaj: se ia un vârf arbitrar i şi-l marcăm cu semnele
; dacă vârful j nu este marcat, vom marca cu +, dacă există arcul
(i,j) şi cu -, dacă există arcul (j,i).
44
Folosind acest procedeu de marcaj, putem ajunge la una din
situaţiile:
a) Orice vârf al grafului G a fost marcat cu ; în această situaţie,
graful este tare conex.
b) Există cel puţin un vârf care nu este marcat cu ; în această
situaţie graful nu este tare conex.
Pentru graful din figura 3.4, putem constata cu uşurinţă că orice
vârf poate fi marcat cu , deci graful este tare conex.
5. Fie H=(X,Y) un arbore şi H1=(X1,U1), H2=(X2,U2) doi
subarbori ai săi. Dacă Y=X1  X2, să se demonstreze că Y este
mulţimea vârfurilor unui subarbore al lui H.
Demonstraţie: Deoarece H este arbore, rezultă că subgraful A
indus de Y este fără cicluri. Mai trebuie să demonstrăm că el este
conex. Fie x şi y două vârfuri din Y. În H1 şi H2 există lanţuri între x
şi y. Fie lanţurile elementare care leagă cele două vârfuri în H1,
respectiv H2. Ele sunt şi lanţuri elementare în H. Dar într-un arbore
între două vârfuri există un lanţ elementar unic care le leagă, altfel
s-ar forma un ciclu. Deci cele două lanţuri coincid, şi sunt prin
urmare formate din vârfuri care aparţin ambelor mulţimi X1 şi X2.
Am obţinut deci un lanţ format cu vârfuri din Y care leagă cele
două vârfuri x şi y, deci am demonstrat conexitatea lui A.
6. Fie D=(x,…,y) un drum de la x la y (x  y) în graful orientat
G. Să se arate că există un drum elementar de la x la y în G.
Demonstraţie: Fie k primul nod în D care se repetă deci D=(x,
…,I,k,j,…,q,k,p,…,y); se consideră D1=(x,…I,k,p,…,y) obţinut din D
prin eliminarea porţiunii de la prima apariţie a lui k (inclusiv) până
la următoarea apariţie a lui k (exclusiv). Dacă drumul astfel obţinut
este elementar ne oprim altfel aplicăm asupra lui D1 acelaşi
procedeu până când nu mai există noduri care se repetă.
7. Demonstraţi că un graf neorientat G conţine o mulţime de
cicluri elementare astfel încât fiecare muchie a lui G aparţine exact

45
unuia din aceste cicluri elementare dacă şi numai dacă toate gradele
vârfurilor lui G sunt numere pare.
Demonstraţie: Dacă gradele tuturor vârfurilor grafului G sunt
numere pare, rezultă că fiecare componentă conexă care nu este
formată doar dintr-un vârf izolat este un subgraf eulerian. Rezultă
că fiecare muchie aparţine unui singur ciclu. Dar orice ciclu care nu
este elementar se descompune în cicluri elementare. Invers, dacă
fiecare muchie aparţine exact unui ciclu elementar, să observăm că
apartenenţa unui vârf la un ciclu consumă două unităţi din gradul
său. Rezultă că pentru  x  X , d(x) este număr par.
8. Să se demonstreze că în graful neorientat conex şi planar G
cu n vârfuri şi m muchii, a cărui reprezentare planară are f feţe
(inclusiv faţa de infinită) are loc relaţia lui Euler:
n-m+f=2
Demonstraţie: Demonstrăm relaţia lui Euler prin inducţie după
f. Pentru f=1, graful G fiind conex, deoarece f=1 (în reprezentarea
planară există doar faţa infinită), rezultă că el nu are cicluri.
Rezultă că G este arbore şi deci m=n-1. În acest caz relaţia se
verifică: n-(n-1)+1=2. Presupunem relaţia adevărată pentru
grafurile planare conexe cu f feţe (f  1) şi s-o demonstrăm pentru
grafurile planare conexe cu f+1 feţe. Fie G un graf planar conex cu
f+1 feţe. Deoarece f  1, rezultă că f+1  2 şi deci graful admite o
reprezentare planară în care apare măcar o faţă diferită de cea
infinită. Fie o muchie U ce aparţine frontierei unei asemenea feţe.
Prin eliminarea muchiei u se obţine un graf conex, cu acelaşi număr
de vârfuri, de asemenea planar, dar în care m1=m-1 şi f1=(f+1)-1=f.
În el relaţia lui Euler este satisfacută, conform ipotezei inductive.
Rezultă că: n-m1+f1=2. Înlocuind m1 şi f1 cu valorile lor, obţinem:
n-(m-1)+f=2, adică: n-m+(f+1)=2, ceea ce voiam să demonstrăm.
Din cele două etape ale inducţiei, rezultă că relaţia lui Euler este
satisfacută în grafuri planare şi conexe.
9. Pentru graful din figura 3.5 stabiliţi ordinea de parcurgere a
vârfurilor “în lărgime”.

46
Rezolvare: Parcurgerea grafului în lărgime va garanta vizitarea
fiecărui vârf al grafului exact o singură dată. După vizitarea
vârfului iniţial, de la care va începe căutarea în lărgime, vor fi
vizitate toate vârfurile adiacente cu vârful dat, apoi toate vârfurile
adiacente cu aceste ultime vârfuri ş.a.m.d. până vor fi vizitate toate
vârfurile grafului. Evident, este necesar ca graful să fie conex..
Pentru graful din figura 3.5 ordinea de parcurgere a vârfurilor
“în lărgime”, când se pleacă de la vârful 1, este următoarea:
1,2,3,4,5,6,7,8.

4
3
2
6

5
8
7

Fig.3.5
10. Determinaţi valoarea fluxului maxim pentru reţeaua de
transport din figura 3.6 conform algoritmului lui Ford-Fulkerson.

5
1 4
8 3 1 9
+0 5 14 +1
5 1 4
0 8 2 3 1 5 9 7
1
5 4 15 +4
0 7 2 6 5 7
+ 3 6
2 4
7 6 15
3 Fig.3.6 6
4

Fig. 3.7
47
Rezolvare:
Etapa I. Determinarea unui flux iniţial:
Se defineşte fluxul iniţial având componente nule pe fiecare arc
al reţelei, adică f(u) = 0 pentru orice arc uU;
Etapa a II-a. Marcarea vîrfurilor grafului:
Se determină lanţurile nesaturate de la a la b pe care fluxul
poate fi mărit, prin următorul procedeu de etichetare:
a) Se marchează intrarea x0 cu [+];
b) Pe x1 îl marcăm cu [+0], deoarece arcul (x0,x1) este nesăturat,
adică f(u)<c(u), 0<8.
c) Pe x4 îl marcăm cu [+1], deoarece arcul (x1,x4) este nesăturat,
adică 0<5.
d) Pe x7 îl marcăm cu [+4], deoarece arcul (x4,x7) este nesăturat,
adică 0<9.
În urma etichetării vârfurilor am obţinut un lanţ:
l=(0,1,4,7). (vezi figura 3.7).
Determinăm cantitatea:
 =min(c(u) – f(u), u v+, (v+ - mulţimea arcelor (x, y), care
sunt orientate în sensul de la x0 către x7 ).
 =min(8,5,9)=5
Vom mări cu  fluxul pe fiecare arc u din v+ . Pe fiecare arc
din lanţul l=(0,1,4,7) mărim fluxul cu 5. Se repetă aplicarea pasului
2 cu fluxul nou obţinut.
Dacă prin acest procedeu de etichetare nu putem marca ieşirea b,
fluxul fb are o valoare maximă la ieşire, iar mulţimea arcelor care
unesc vârfurile marcate cu vârfurile care nu au putut fi marcate
constituie o tăietură de capacitate minimă.
Trecem la un nou marcaj pe graful din figura 3.7. În urma
etichetării vârfurilor obţinem următoarele lanţuri:
l = (0,1,6,7) mărind fluxul cu 3 (  = min(3,3,15)=3);
l = (0,2,6,7) mărind fluxul cu 5 (  = min(5,6,12)=5);
l = (0,3,6,7) mărind fluxul cu 4 (  = min(7,4,7)=4);
l = (0,3,5,7) mărind fluxul cu 2 (  = min(3,2,4)=2).

48
Secţiunea minimală se obţine pentru A = 1,2,4,5,6,7 ,
   A    0,1 ,  0,2  ,  3,5 ,  3,6   iar valoarea fluxului maxim este
19.
11. Folosind algoritmul Belman-Calaba determinaţi pentru
graful din figura 3.8 lungimile drumurilor minime dintre vârfurile 1
şi 5.
2
3 4
1
8
3
6
5 7
2
5 4
3
Fig.3.8
Rezolvare:
Etapa I. Ataşarea matricei grafului dat: (fig. 3.9).
Etapa iniţială presupune ataşarea grafului dat G a unei matrice
ponderate de adiacenţă, care se va forma în conformitate cu
următoarele:
a) M(i,j) = Lij, dacă există arcul (xi, xj) de pondere Lij;
b) M(i,j) = ∞, unde ∞ este un număr foarte mare (de tip
întreg maximal pentru calculatorul dat), dacă arcul (xi, xj)
este lipsă;
c) M(i,j) = 0, dacă i = j.
1 2 3 4 5
1 0 3 8  5
2  0 4 7 6
3   0 2 
4    0 3
5     0

49
Fig.3.9. Matricea ponderată de adiacenţă
Etapa a II-a. Elaborăm un vector V0 în felul următor:
Vi 0  Lin , dacă există arcul (xi, xn), unde xn este vârful final
pentru care se caută drumul minim, Lin este ponderea acestui arc;
Vi 0   , dacă arcul (xi, xn) este lipsă;

apoi calculăm iterativ vectorul V în conformitate cu următorul


procedeu:
 
V(ki)  min Lij  V(kj ) 1 , unde i  1,2,..., n  1, j  1,2,..., n; i  j
1
 1  2
0

V  min L12  V , L13  V30 , L14  V40 , L15  V50   3  6,8  ,   3,5  0  5
V  min L
1
 2 21  V , L23  V , L24
1
0
3
0
 V , L  V      5,4  ,7  3,6  0  6
4
0
25 5
0

V   min L
1
3 31  V , L32  V , L34
1
0
2
0
 V , L  V      5,   6,2  3,   0  5
4
0
35 5
0

V   min L
1
4 41  V10 , L42  V 20 , L43  V , L  V      5,   6,   ,3  0  3
3
0
45 5
0

V   min L
2
1 12  V 21 , L13  V31 , L14  V , L  V    3  6,8  5,   3,5  0  5
4
1
15 5
1

V   min L
2
2 21  V11 , L23  V31 , L24  V , L  V      5,4  5,7  3,6  0  6
4
1
25 5
1

V   min L
2
3 31  V11 , L32  V21 , L34  V , L  V      5,   6,2  3,   0  5
1
4 35 5
1

V   min L
2
4 41  V11 , L42  V21 , L43  V , L  V      5,   6,   5,3  0  3
3
1
45 5
1

Observăm că am ajuns la V2  V1 - STOP.


Componenta cu numărul i a vectorului Vk cu valoarea diferită
de zero ne va da valoarea minimă a drumului care leagă vârful i cu
vârful n.
min l  x1 , x5   V11  V12  5
Valoarea drumului minim dintre vârfurile 1 şi 5 este egală cu 5
(vezi tab. 3.1).
Tabelul 3.1
1
V 0
i V i V i2
1 5 5 5
2 6 6 6
3  5 5
50
4 3 3 3
5 0 0 0
12. Desenaţi graful relaţiei reflexive A  B, unde
A, B  M  1,2,3 .

Rezolvare: (fig. 3.10).

1 2

Fig. 3.10

13. Pe mulţimea M= 1,2,3 se defineşte relaţia R=”mai mic”.


Scrieţi elementele mulţimii R. Desenaţi graful.
Rezolvare: R   (1,2); (1,3); (2,3) , (fig.3.11).

1 2

3
Fig. 3.11

3.3. PROBLEME
1. Fiind dată matricea de adiacenţă a unui graf orientat, cum
putem deduce:
a) care sunt gradele vârfurilor;
b) dacă există vârfuri izolate;
c) dacă graful este complet.

51
2. Să se cerceteze dacă există un graf neorientat cu 10 vârfuri
pentru care şirul gradelor vărfurilor sale este respectiv:
1 , 1 , 1 , 3 , 3 , 3 , 4 , 6 , 7 , 9.
3. Să se arate că un graf neorientat cu n vârfuri şi cel puţin n
muchii conţine cel puţin un ciclu.
4. Să se arate că dacă graful orientat G cu mulţimea de vârfuri X
are m arce, au loc egalităţile:
 d  x   d  x  m
x X

x X

5. Să se demonstreze că orice graf neorientat conex G conţine


cel puţin un vârf x care are proprietatea ca subgraful Gx obţinut din
G prin suprimarea vârfului x şi a muchiilor incidente cu x, este
conex.
6. Folosind procedeul de marcaj, să se verifice că graful din
figura 3.12 este tare conex, iar graful din figura 3.13 nu este tare
conex.
5 5

1 4 1
4

3 2 3 2
Fig. 3.12 Fig. 3.13

7. Sa se demonstreze că graful complet K5 nu este planar.


8. Să se construiască toate grafurile hamiltoniene cu 4 vârfuri.
9. Să se construiască toate grafurile euleriene cu 5 vârfuri.

52
10. Pentru graful din figura 3.14 stabiliţi ordinea de parcurgere a
vârfurilor “în adâncime”.

2
10
6
7
3 4

5 8
9
Fig.3.14

53
11. Folosind algoritmul Belman-Calaba determinaţi pentru
graful din figura 3.15 lungimile drumurilor minime dintre vârfurile

3 3
5
2
2
4
2
1
1
1
6 3
6
5
7
9 2
3
8 6
2 7 3

Fig.3.15

1 şi 8.
12. Determinaţi valoarea fluxului maxim pentru reţeaua de
transport din figura 3.16.
5
1 4
2 1 6
10 7
3
5
0 2 5 7
3
2
8 8
4
3 6
4

Fig.3.16

54
13. În portul 0 se găsesc 35 de vapoare ce trebuie să se deplaseze
în portul 9. Deplasarea celor 35 de vapoare dintr-un port în altul se
face prin porturile intermediare 1,2,…,8 conform restricţiilor din
figura 3.17 (între două porturi nu pot circula simultan mai mult de
un număr dat de vapoare). Să se determine numărul maxim de
vapoare ce pot ajunge într-o primă etapă în portul 9.
14. Desenaţi un graf cu şase vârfuri, care corespunde relaţiei:

1 5 6
6 3
12
5 13
0 3
3 4
2 7 10 9
4 5
20 4 3
5 12
3 8
10

Fig.3.17
a) reflexive;
b) antireflexive.
15. Pe mulţimea M=  2,3,4,7 se defineşte relaţia R=”nu mai
mic”. Scrieţi elementele mulţimii R. Desenaţi graful.
16. Fie M – mulţimea copiilor unor părinţi: {Iurie, Victor,
Diana}. Pe mulţimea M se defineşte relaţia R=” este frate”. Scrieţi
elementele mulţimii R. Desenaţi graful.
17. Un jucător de tenis, care participă la cîştigarea titlului de cel
mai bun jucător de tenis al anului trebuie să participe la un număr
de turnee de tenis de diferite categorii cotate fiecare cu cîte un
număr diferit de puncte. Posibilitatea de a participa după un turneu

55
din localitatea “k” la un alt turneu din localitatea “j” este indicată
prin graful din figura 3.18; un turneu cîştigat în localitatea j adaugă
la punctajul general un număr de puncte indicat printr-un număr
ataşat vârfului j. Se cere să se afle numărul şi ordinea turneelor care
trebuie să fie cîştigate de jucător, pentru a obţine un punctaj general
maxim; participarea la turneul organizat în localitatea 8 este
obligatorie.

4
1 3
5

5 6
0 2 4 6 8
2
4

3 4
3 7
Fig. 3.18

56

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