Documente Academic
Documente Profesional
Documente Cultură
Definiţia 1.1.2 Se numeste graf perechea (X , f) , unde f este o funcţie definită pe X cu valori
în mulţimea P(X) a părţilor (submulţimilor) lui X.
1
Definiţia 1.1.3 Dacă toate perechile distincte din Γ sunt ordonate, graful se numeşte orien-
tat. În cazul contrar, graful se numeşte neorientat.
Xi=xj
xi
xj
xj
xi xi bucla
xj
Fig.1
În cazul unui graf neorientat, muchia se reprezintă printr-un arc fără săgeată asa cum
apare cel de-al patrulea arc din figura 1.
Pentru un arc (xi, xj) vârful xi se numeşte predecesorul lui xj, iar xj succesorul lui xi.
Exemplul 1.1.1. Graful (X, Γ) dat prin X = {x1, x2, x3, x4, x5} ,
Γ = {(x1, x2), (x1, x3), (x1, x4), (x2, x3),(x3, x2), (x2, x4), (x3, x4), (x3, x5), (x4, x5)} este
reprezentat în figura 2. În aceeaşi figură este reprezentat şi graful neorientat corespunzător lui.
2
X2
X5
X2 X5
X1 X4 X1
X4
X3
X3
Fig.2
Definiţia 1.1.4 Două arce ale grafului (X , Γ) se numesc adiacente dacă au cel puţin o ex-
tremitate comună.
Definiţia 1.1.6 Un graf (X , Γ) se numeşte simetric dacă oricare ar fi arcul (xi, xj) ∈ Γ avem
şi (xj, xi) ∈ Γ. Graful (X , Γ) se numeşte antisimetric, dacă există un arc (xi, xj) ∈ Γ astfel încât
arcul (xj, xi) ∉ Γ.
Definiţia 1.1.7 Un graf (X, Γ) se numeşte complet dacă pentru orice xi, xj ∈ X din (xi, xj) ∉ Γ
rezultă (xj, xi) ∈ Γ.
Exemplul 1.1.2. Graful din figura 3 este simetric, cel din figura 4 este antisimetric, iar cel
din figura 5 este complet. X3
X2
X2
x1 x2
X3
X1
x3 x4 X4
X4
X1
X5
3
Definiţia 1.1.8 Fie (X, Γ) un graf. Numim graf parţial al grafului dat, un graf (X, Γ1) , unde
Γ1 ⊂ Γ, adică el se obţine din graful (X, Γ) prin suprimarea unor arce.
Definiţia 1.1.9 Fie (X, Γ) un graf dat. Numim subgraf al grafului dat, un graf (X1, Γ1), unde
X ⊂ X1 şi Γ1 ⊂ Γ.Subgraful ( X1, Γ1) se obţine din graful (X, Γ) prin suprimare a unuia sau a
mai multor vârfuri şi a arcelor aferente lor.
Exemplul 1.1.3. Graful din figura 7 este un graf parţial al celui din figura 6, iar graful din
figura 7’ este un subgraf al celui din figura 6.
x2 x2 x2
x1
x1 x4 x1 x4 x4
x3 x5 x3 x5 x3
Definiţia 1.1.10 Numim drum într-un graf o succesiune de arce, adiacente două câte două,
la fel orientate, la care extremitatea finală a unui arc coincide cu extremitatea iniţială a
arcului succesor.
Un drum în care extremitatea finală a ultimului arc coincide cu extremitatea iniţială
a primului arc se numeşte circuit.
Un drum se dă prin scrierea între acolade (sau alte tipuri de paranteze) a succesiunii
vârfurilor prin care trec arcele care constituie drumul sau menţionând arcele din care se
compune.
d1 = {x1, x2, x4, x3}, d2 = {x1, x2, x4, x2, x4, x5}
Definiţia 1.1.12 Un drum al unui graf se numeşte elementar dacă fiecare vârf al său este
utilizat o singură dată. În caz contrar, drumul este numit neelementar.
Un drum elementar care trece prin toate vârfurile grafului se numeşte hamiltonian,
iar unul neelementar care are aceeaşi proprietate se numeşte drum nehamiltonian (pre-
hamiltonian).
4
Definiţia 1.1.13 Un drum al unui graf se numeşte simplu dacă utilizează fiecare arc al său
o singură dată. În caz contrar, drumul se numeşte compus.
Un drum simplu care foloseşte toate arcele grafului se numeşte eulerian, iar unul
compus care are aceeaşi proprietate se numeşte drum neeulerian (preeulerian).
Exemplul 1.1.5. În graful din figura 6 drumul d1 = {x1, x2, x4, x3, x5} este hamiltonian, dar
nu este eulerian. Drumul d2 = {x1, x2, x4, x2, x4, x3, x5} este nehamiltonian. Drumul d3 =
{x1, x2, x4, x5} este simplu, iar d4 = {x1, x2, x4, x2, x4, x5} este compus.
Observaţia 1.1.1 Într-un graf neorientat noţiunea de drum este înlocuită cu cea de lanţ ,
iar cea de circuit cu cea de ciclu.
Definiţia 1.1.14 Un graf (X , Γ) se numeşte conex dacă între oricare două vârfuri ale sale
există un lanţ. Dacă între oricare două vârfuri ale grafului există un drum, atunci el se
numeşte tare conex.
Definiţia 1.1.15 Un subgraf conex al unui graf conex se numeşte componentă conexă a
grafului, iar un subgraf tare conex al unui graf tare conex se numeşte componentă tare
conexă.
Se observă că un graf este conex, respectiv tare conex, dacă şi numai dacă el are o
singură componentă conexă, respectiv tare conexă.
x1 x5 x1 x6 x1 x5
x4 x5 x3 x7
x4
Fig.8 Fig.9 x6 Fig.10
x2
x1 x3
x5
x4 Fig.11 x7
5
Graful din figura 10 are două componente conexe, iar cel din figura 11 are două
componente tare conexe.
Definiţia 1.1.16 Numim arbore un graf conex şi fără cicluri. Numim pădure un graf
neconex şi fără cicluri.
x6 x7 x8 x9 x13
Fig.12 Fig.13
Definiţia 1.1.17 Numim arborescenţă un graf fără circuite, în care: a) un vârf şi numai
unul (numit rădăcină) nu este precedat de nici un altul; b) orice alt vârf este precedat de
un singur vârf. Vârfurile care nu au succesori se numesc frunze sau vărfuri suspendate
(terminale).
X4 X5
X2 X8 X6
X1 X7
X3 X10 X9
X11
Fig.14
Dacă numărul de vârfuri ale unui graf este mare, atunci reprezentarea geometrică
devine greoaie. De aceea, s-au căutat alte modalităţi de reprezentare. Cea mai convenabilă
6
s-a dovedit a fi cea cu ajutorul matricelor.
Fie (X , Γ) un graf orientat cu X = {x1, x2, . . . , xn}.
1, 𝑑𝑎𝑐ă (𝑥𝑖 , 𝑥𝑗 ) ∈ Γ
bij = {
0, 𝑑𝑎𝑐ă (𝑥𝑖 , 𝑥𝑗 ) ∉ Γ
X2 X4
X1
X3 X5
Fig. 15
Matricea booleană ataşată grafului este
x1 x2 x3 x4 x5
x1 0 1 1 0 0
x2 0 0 0 1 0
B= x3 0 1 0 0 1
x4
0 1 0 0 1
x5
0 0 0 0 0
1 , 𝑒𝑥𝑖𝑠𝑡ă 𝑑𝑟𝑢𝑚 𝑑𝑒 𝑙𝑎 𝑥𝑖 𝑙𝑎 𝑥𝑗
dij = {
0 , 𝑛𝑢 𝑒𝑥𝑖𝑠𝑡ă 𝑑𝑟𝑢𝑚 𝑑𝑒 𝑙𝑎 𝑥𝑖 𝑙𝑎 𝑥𝑗 ,
7
Definiţia 1.1.20 Matricea pătratică L = (lij), i, 𝑗 = ̅̅̅̅̅
1, 𝑛, definită astfel
x1 x2 x3 x4 x5
x1 0 x1x2 x1x3 0 0
L=
x2 0 0 0 x2x4 0
x3 0 x3x2 0 0 x3x5
x4 0 x4x2 0 0 x4x5
x5 0 0 0 0 0
În rezolvarea unor probleme teoretice sau practice se introduc şi alte tipuri de matrice
ataşate unui graf, care se difinesc în cadrul respectiv.
În acest paragraf vom prezenta câţiva algoritmi pentru rezolvarea unor probleme
relative la grafuri.
+̇ 0 1 ×̇ 0 1
0 0 1 0 0 0
1 1 1 1 0 1
8
Algoritmul lui Yu Chen are următorii paşi:
Pasul 1. Se scrie matricea booleană B a grafului (X , Γ);
Pasul 2. Se adună boolean la prima linie toate liniile corespunzătoare la vârfurile care au
cifra 1 pe prima linie. Noile cifre de 1 care apar se marchează cu o ∗.
Pasul 3. Se adună boolean la linia întâi toate liniile corespunzătoare vârfurilor care au cifra
1* pe prima linie. Noile cifre de 1 care apar se marchează cu ∗ ∗. Acest pas se continuă până
când nu mai apar cifre noi de 1 pe linia întâi.
Pasul 4. Se aplică paşii 2 şi 3 la fiecare din liniile matricei booleene.
În final, obţine matricea D a drumurilor.
Justificarea algoritmilor este imediată.
Exemplul 1.2.1. Pentru graful din figura 15 să aflăm matricea drumurilor, folosind algorit-
mul lui Yu Chen.
Scriem matricea booleană ataşată grafului
x1 x2 x3 x4 x5
x1 0 1 1 0 0
B= x2 0 0 0 1 0
x3 0 1 0 0 1
x4 0 1 0 0 1
x5 0 0 0 0 0
x1 x2 x3 x4 x5
D= x1 0 1 1 1* 1*
x2 0 1* 0 1 1*
x3 0 1 0 1* 1
x4 0 1 0 1* 1
x5 0 0 0 0 0
Exemplul 1.2.2. Pentru graful din figura 9, să determinăm pe rând matricea booleană atașată
grafului, matricea drumurilor, matricea latină și în final aplicând algoritmul lui Yu Chen să
regăsim matricea drumurilor .
9
X1 X2 X3 X4 X5 X6
X1 0 1 1 0 0 0
B= X2 0 0 1 0 0 0
X3 0 0 0 1 1 0
X4 1 0 0 0 1 0
X5 0 0 0 0 0 1
X6 0 0 1 0 0 0
X1 X2 X3 X4 X5 X6
X1 1 1 1 1 1 1
X2 1 1 1 1 1 1
D= X3 1 1 1 1 1 1
X4 1 1 1 1 1 1
X5 1 1 1 1 1 1
X6 1 1 1 1 1 1
X1 X2 X3 X4 X5 X6
X1 0 X1 X1 0 0 0
X2 X3
X2 0 0 X2 0 0 0
X3
X3 0 0 0 X3 X4 X3 X5 0
L=
X4 X4 X1 0 0 0 X4 X5 0
X5 0 0 0 0 0 X5 X6
X6 0 0 X6 X3 0 0 0
10
X1 X2 X3 X4 X5 X6
X1 1** 1 1 1* 1* 1**
X3 1* 1** 1* 1 1 1*
D=
X4 1 1* 1* 1* 1 1*
X6 1* 1* 1 1* 1* 1*
11