Documente Academic
Documente Profesional
Documente Cultură
noiembrie 2020
Cursul 8
Teoria Grafurilor
Cuprins
Cursul 8
Grafuri ponderate
Cursul 8
Vocabularul teoriei grafurilor
Ordinul unui graf = numărul de noduri
Mărimea unui graf = numărul de muchii
Mulţimea de vecini a unui nod x ∈ V :
V (x) = {y | x−y ∈ E } dacă graful este neorientat
V (x) = {y | x→y ∈ E } dacă graful este orientat
S
Dacă S ⊆ V atunci V (S) = x∈S V (x).
V [x] = V (x) ∪ {x}
x este nod terminal dacă are un singur vecin: |V (x)| = 1
x este nod izolat dacă nu are vecini: |V (x)| = 0
Dacă G este graf neorientat:
gradul lui x este deg(x) = |{y | x−y ∈ E }| + |{y | y −x ∈ E }|
secvenţa de grade a lui G este lista gradelor nodurilor din G , ı̂n
ordine descrescătoare.
Dacă G este digraf:
gradul interior al lui x este deg− (x) = |{y | y →x ∈ E }|
gradul exterior al lui x este deg+ (x) = |{y | x→y ∈ E }|
Cursul 8
Vocabularul teoriei grafurilor
Exemplu
1 6 3 Mărimea: 6
5 2 4 Ordinul: 6
v V (v ) V [v ] deg(v )
1 {1, 2, 5} {1, 2, 5} 4
2 {1, 3, 4} {1, 2, 3, 4} 3
3 {2, 4} {2, 3, 4} 2
4 {2, 3} {2, 3, 4} 2
5 {1} {1, 5} 1
6 ∅ {6} 0
Cursul 8
Vocabularul teoriei grafurilor
Exemplu
1 6 3 Mărimea: 6
5 2 4 Ordinul: 7
Cursul 8
Grafuri izomorfe
6 2 g b
G: H:
8 4 c n
3 7 i d
Cursul 8
Vocabularul teoriei grafurilor
Conectivitate (1)
Cursul 8
Vocabularul teoriei grafurilor
Conectivitate (2)
Cursul 8
Vocabularul teoriei grafurilor
Conectivitate
1 3
5 2 4
[5, 1, 2, 3, 4, 2] este un drum simplu dar neelementar de lungime 5.
[5, 1, 2, 4] şi [5, 1, 2, 3] sunt drumuri elementare de lungime 3.
[2, 1, 5, 2, 3, 4, 2] este un ciclu neelementar de lungime 6.
[2, 3, 4, 2] este un ciclu elementar de lungime 3.
[1, 2, 5, 1, 4, 3, 2, 4] este un drum eulerian.
[2, 5, 1, 4, 3, 2] este un ciclu hamiltonian.
Cursul 8
Vocabularul teoriei grafurilor
Conectivitate
1 3
5 2 4
[5, 1, 2, 3, 4, 2] este un drum simplu dar neelementar de lungime 5.
[5, 1, 2, 4] şi [5, 1, 2, 3] sunt drumuri elementare de lungime 3.
[2, 1, 5, 2, 3, 4, 2] este un ciclu neelementar de lungime 6.
[2, 3, 4, 2] este un ciclu elementar de lungime 3.
[1, 2, 5, 1, 4, 3, 2, 4] este un drum eulerian.
[2, 5, 1, 4, 3, 2] este un ciclu hamiltonian.
1 2
3 are
4 5
drumul hamiltonian [3, 1, 2, 5, 4] şi
ciclul eulerian [5, 4, 5, 1, 3, 1, 2, 5].
Cursul 8
Vocabularul teoriei grafurilor
Componente conexe
5 6 8
are 3 componente conexe: {1, 2, 3, 4, 5}, {6, 8, 9} şi {7}.
Cursul 8
Vocabularul teoriei grafurilor
Componente tare conexe
x ∼ct y :⇔ x y şi y x
5 6 8
are 3 componente tari: {1, 2, 3, 4, 5}, {6, 8, 9} şi {7}.
Cursul 8
Teoreme fundamentale ale Teoriei Grafurilor
Cursul 8
Clase de grafuri
Grafuri complete (Kn ), grafuri nule (En )
K1 K2 K3 K4 K5
Graful nul En (n ≥ 1) are V = {1, 2, . . . , n} şi E = ∅.
E1 E2 E3 E4 E5
Cursul 8
Clase de grafuri
Grafuri ciclice (Cn ), grafuri bipartite complete (Km,n )
C1 C2 C3 C4 C5 C6
Pentru m, n > 0, graful bipartit complet Km,n are
V = {xi | 1 ≤ i ≤ m} ∪ {yj | 1 ≤ j ≤ n} şi
E = {xi −yj | 1 ≤ i ≤ m, 1 ≤ j ≤ n}
Cursul 8
Clase de grafuri
Căi şi arbori
1 2 n−1 n
G1 : G2 : G3 :
Cursul 8
Subgraf, subgraf parţial
Fie G = (V , E ) un graf şi S ⊆ V .
Subgraful indus de S ı̂n G este graful G 0 = (S, E 0 ) unde
E 0 = {e ∈ E |capetele lui e sunt ı̂n S}.
G 0 este subgraf al lui G dacă G 0 = G [S] pentru un S ⊆ V . În acest
caz, mai spunem şi că G 0 este conţinut ı̂n G .
G 0 = (V 0 , E 0 ) este subgraf parţial al lui G dacă V 0 ⊆ V şi E 0 ⊆ E .
Cursul 8
Subgraf, subgraf parţial
Fie G = (V , E ) un graf şi S ⊆ V .
Subgraful indus de S ı̂n G este graful G 0 = (S, E 0 ) unde
E 0 = {e ∈ E |capetele lui e sunt ı̂n S}.
G 0 este subgraf al lui G dacă G 0 = G [S] pentru un S ⊆ V . În acest
caz, mai spunem şi că G 0 este conţinut ı̂n G .
G 0 = (V 0 , E 0 ) este subgraf parţial al lui G dacă V 0 ⊆ V şi E 0 ⊆ E .
v x
u y
Exemplu. Fie G graful s
t
w z
v x
u y
Subgraf: s
t
v x
u y
Subgraf parţial: s
t
Cursul 8
Vocabularul teoriei grafurilor
Clică, subdiviziune
• • • • • •
G2 G3 G4
Cursul 8
Operaţii cu grafuri
Fie G = (V , E ) un graf, x ∈ V , S ⊆ V şi T ⊆ E .
G − S este subgraful indus G [V − S]
G − T este subgraful parţial (V , E − T )
G \ S este graful (V 0 , E 0 ) obţinut din contracţia nodurilor din S ı̂n
un singur nod nou xS :
V 0 = (V − S) ∪ {xS }
Dacă G este neorientat atunci
E 0 ={x−y | x, y ∈ V − S şi x−y ∈ E }∪
{x−xS | există x−y ∈ E cu x ∈ V − S şi y ∈ S}.
Dacă G este digraf atunci
E 0 ={x→y | x, y ∈ V (G ) − S şi x→y ∈ E }∪
{x→xS | există x→y ∈ E cu x ∈ V − S şi y ∈ S}∪
{xS →y | există x→y ∈ E cu x ∈ S şi y ∈ V − S}.
G \ e este graful G \ S unde S sunt capetele muchiei e.
Cursul 8
Operaţii cu grafuri
Exemple
1 7
1 2 G2 : 2 3
G1 : 3 4 9
4 5
5 6 8
2 1 2 x{1,5} 2
3 3 3
4 4 5 4
G1 − {1, 5} G1 − (1−5) G1 \ {1, 5} = G1 − (1−5)
1 7 1 7 7
3 2 3
4 9 4 9 x{1,2,3,4,5} 9
5 6 8 5 6 8 6 8
G2 − {2} G2 − {2→3, 6→3} G2 \{1, 2, 3, 4, 5}
Cursul 8
Vocabularul teoriei grafurilor
δ(G ), ∆(G ), α(G ), ω(G )
Cursul 8
Vocabularul teoriei grafurilor
Exemple
b 1 5
c y 2
z
G1 : x a G2 : 4
s
d t 3 7
6
e
δ(G1 ) = ∆(G1 ) = 3, α(G1 ) = 4, ω(G1 ) = 2.
δ(G2 ) = 2, ∆(G2 ) = 6, α(G2 ) = 3, ω(G2 ) = 4.
Cursul 8
Vocabularul teoriei grafurilor
Articulaţii şi punţi
Cursul 8
Vocabularul teoriei grafurilor
grad de conectivitate, distanţă, excentricitate, centru, periferie, rază, diametru
a b c
1 g
G1 : d e
f h
are 3 puncte de articulaţie (cele ı̂ncercuite) şi 2 punţi (cele
ı̂ngroşate).
a b c
2 g
G2 : d e
f h
nu are puncte de articulaţie şi nici punţi, dar are mulţimi de
articulaţie cu 2 noduri, de exemplu {c, e}, {f, g} sau {b, e}.
Deci κ(G2 ) = 2.
Cursul 8
Vocabularul teoriei grafurilor
Exemple
x
v
G: r a s c u z
e
d(x, c) = 2, d(r, z) = 4,
e(x) = e(e) = 2,
e(z) = e(z) = 4,
radius(G ) = 2,
diam(G ) = 4,
G are centrul {x, e},
G are periferia {r, z}.
Cursul 8
Reprezentarea grafurilor pe calculator
Cursul 8
Reprezentarea grafurilor
1. Cu listă de noduri + listă de muchii
Exemplu
b c Listă de noduri V = [a, b, c, d, e]
Listă de muchii E = [a−b, a−c, a−d, b−c, c−e, d−e]
e Observaţii: a−b = b−a, a−c = c−a, etc.
a muchia a−b ↔ mulţimea {a, b}
d
b c Listă de noduri V = [a, b, c, d, e]
Listă de arce E = [a→b, c→a, c→b, d→a, e→c, e→d]
e Observaţii: a→b 6= b→a, a→c 6= c→a, etc.
a arcul a→b ↔ perechea ha, bi
d
Remarcă
Dacă nu există noduri izolate, nu este necesar să fie reţinută lista
de noduri V :
I V se poate calcula din E
Cursul 8
Reprezentarea grafurilor
2. Cu liste de adiacenţă
Cursul 8
Reprezentarea grafurilor
3. Cu matrice de adiacenţă
Observaţii
1 Înainte de a construi AG din G , trebuie fixată o enumerare a
tuturor nodurilor: [x1 , x2 , . . . , xn ]
2 Dacă G este neorientat, AG este matrice simetrică
3 Dacă G este graf simplu, AG conţine doar 0 şi 1
Cursul 8
Reprezentarea grafurilor cu matrice de adiacenţă
Exemple
Cursul 8
Reprezentarea digrafurilor
4. Cu matrice de incidenţă
Exemplu
Dacă V = [a, b, c, d, e], E = [e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 ] şi
−1
1 0 0 1 0 0 1
b
e2
−1 1 0 0 0 −1 0 0 e1
MG = 0 −1 −1 ⇒ e4
1 1 0 0 0
a c
e6
e5
0 0 −1 0 0 0 −1 −1 e8
e3
0 0 0 0 0 1 1 0
e e7 d
Cursul 8
Reprezentarea grafurilor simple ponderate
5. Cu matrice de ponderi
∞ 9 0 ∞ 1 12
G :a 5 1 f ⇒ WG =
4 ∞ ∞ ∞ 0 ∞ 7
7
1 ∞ 5 ∞ 1 0 ∞
e d ∞ ∞ ∞ ∞ ∞ 0
Cursul 8
Reprezentarea grafurilor
Studiu comparativ pentru un graf cu n noduri şi m muchii
Cursul 8
Un Java API pentru lucrul cu grafuri
Cursul 8