Sunteți pe pagina 1din 171

UNIVERSITATEA DE STAT DIN MOLDOVA

FACULTATEA MATEMATICĂ ȘI INFORMATICĂ

Algoritmica Grafurilor

Conf. univ., dr. Angela Niculiță


Cuprins
1. Scurt istoric
2. Notiuni de bază
3. Operatii asupra grafurilor
4. Lanturi, cicluri, componente conexe
5. Caracteristicile metrice ale grafului
Scurt istoric

Părintele teoriei grafurilor este considerat


Leonhard Euler (1707 – 1783) –
matematician, fizician eleveţian.

Este unul dintre cei mai remarcabili


matematicieni şi savanţi multilaterali ai
omenirii, prin influenţa pe care a exercitat-o
asupra matematicii şi matematizării
ştiinţelor.

Cuprins
Scurt istoric

Problema podurilor din Königsberg


(1735) este considerată problema care
a dat naştere teoriei grafurilor

Cetăţenii din Königsberg doreau


să ştie, dacă se pot plimba pe cele
7 poduri ale oraşului, astfel încât
fiecare pod să fie traversat o
singură dată şi punctul de oprire
să coincidă cu punctul de plecare.

Cuprins
Scurt istoric

X X

W Y W Y

Z Z

Euler a demonstrat – introducând termeni specifici teoriei


grafurilor - că nu există astfel de drum (ciclu eulerian).

... şi astfel s-a născut o nouă ştiinţă...

Cuprins
Peste mai mult de un secol după publicarea lurcării lui Euler despe podurile
din Königsberg

Fizicianul Gustav Kirchhoff studiind retelele electrice a introdus


implicit conceptul de arbore – o clasă speciale de grafuri

Matematicianul Arhtur Cayley a utilizat conceptul de arbore


pentru cercetarea structurilor posibile de hidrocarburi,
soluţionând probleme de enumărare pentru 3 tipuri de arbori.

Rezultatele lui Caylay au fost completate şi


extinse de James J. Sylvester şi George Polya.
Problema săriturii calului pe tabla de şah:
Să se gasească o modalitate de a deplasa un cal pe tabla de şah,
astfel încât calul să treacă prin toate căsuţele de pe tablă exact o dată.

Unul dintre primii matematicieni pentru a


investigat problema şi a gasit o soluţie a ei
(1757) fost Leonhard Euler.

Problema săriturii calului este un caz particular al unei


55
probleme mai generale.
Scurt istoric

În 1857, matematicianul irlandez William Rowan


Hamilton a inventat un joc ce are la bază elemente din
teoria grafurilor. Mai târziu se introduce denumirea de
problema comis voiajorului.

Comis voiajorul trebuie să viziteze n oraşe; şi doreşte să


nu treacă prin acelaşi oraş de 2 ori, iar la întoarcere să
revină oraşul de pornire (ciclu hamiltonian).

Cuprins
Scurt istoric

Termenul de graf a fost folosit prima


dată în 1878 de către matematicianul
James Joseph Sylvester, fiind derivat din
termenul „notaţie grafică” din chimie.

Cuprins
Scurt istoric

Numeroase probleme din viaţa de zi cu zi pot fi rezolvate utilizând


elemente din teoria grafurilor, de exemplu:
 studiul unor reţele (căi ferate, rutiere, telefonie),
 circuite electrice,
 relaţii interpersonale,
 reprezentări de molecule şi celule (chimie),
 proiectarea circuitelor integrate,
 etc.

Cuprins
NOŢIUNI DE BAZĂ

Definiţia 1. Perechea de mulţimi G=(X, U), unde X este o mulţime


nevidă de elemente distincte, iar U este formată din perechi
neordonate de elemente din X, se numeşte graf neorientat sau graf.

X={x1, x2, …, xn} – mulţimea de vârfuri a grafului G, xi – vârf al lui G


U={u1, u2, …, um} – mulţimea de muchii a lui G, uj - muchie.

Dacă |X|=n, atunci se mai spune că graful G este de ordin n.

Dacă (xi, xk)U notăm uj=(xi, xk); xi, xk se numesc extremităţi ale
muchiei uj.

Evident (xi, xk ) = (xk, xi) .


NOŢIUNI DE BAZĂ

Dacă vârfurile xi şi xk formează o muchie se spune că vârfurile sunt adiacente.


Notaţia: xi ~ xk.
Două muchii sunt adiacente dacă au o extrmitate comună.

Vârful xi (xk) şi muchia uj se numesc incidente dacă vărful xi (xk) este


extremitatea muchiei uj.

1
2 (1, 3); (2, 4); (2, 3); (3, 4) – muchii
5

1 ~ 3; 2 ~ 4; 4 ~ 5

3 4
(2,3) ~ (2,4)

Mulţimea tuturor vârfurilor grafului G adiacente cu vârful x se


numeşte vecinatea vârfului x şi se notează NG(x).

NG(x)={yX | y~ x}.
NOŢIUNI DE BAZĂ
Tipuri de grafuri:

Graf vid este graful fără de Graf trivial – graful pentru care
muchii. Se notează prin On. U= şi |X|=1.
2
3
1
O6 K1 = O1
6
4
5
Graf complet este graful, oricare două vârfuri ale
căruia sunt adiacente. Se notează prin Kn.

K3 K5
NOŢIUNI DE BAZĂ
Tipuri de grafuri:

Graf bipartit – graful, mulţimea de vârfuri a căruia poate fi divizată


în două submulţimi X1 şi X2 astfel încât fiecare muchie are o
extremitate în X1, iar altă extremitate în X2. Se notează graful
bipartit prin G=(X1, X2, U).

X1
K1,3
K3,3
X2

Dacă în graful bipartit fiecare vârf din X1 este adiacent cu


toate vârfurile din X2, atunci avem un graf bipartit complet.
Notaţie Kp,q. m(Kp,q)=|X1|·|X2|.

Grafurile K1,q numite grafuri stea.


NOŢIUNI DE BAZĂ
Tipuri de grafuri:

Graf complementar al grafului G este graful, cu aceeaşi mulţime de


vârfui X, în care două vârfuri sunt adiacente dacă şi numai dacă ele nu
sunt adiacente în G. Se notează graful complementar prin G.

G G
NOŢIUNI DE BAZĂ
Tipuri de grafuri:

Graf al muchiilor grafului G=(X, U) este graful, vârfurile căruia


corespund muchiilor grafului G, şi două vârfuri sunt adiacente dacă şi
numai dacă sunt adiacente muchiile corespunzătoare lor în G. Se
notează graful muchiilor prin L(G).

1 a
d
a b
2 e
3 b
e
c
4 d c

G L(G)
NOŢIUNI DE BAZĂ
Tipuri de grafuri:

Fie G=(X, U) şi H=(Y, V) două grafuri.


Bijecţia : XY se numeşte isomorfism al grafurilor G şi H dacă pentru
u, v  X imaginele lor  (u),  (v)  Y sunt adiacente (în H) dacă şi
numai dacă vârfurile u şi v sunt adiacente în G.
Dacă există un asemenea isomorfism, se spune că grafurile G și H sunt
izomorfe. Notația: G  H.

: 1 2 3
a b
1a
2c c
f
3e
4b
4 5 6 e d
5d
G H
6f
Perechea de mulţimi G=(X, A), unde X este o mulţime nevidă de elemente
distincte, iar A este formată din perechi ordonate de elemente din X, se
numeşte graf orientat.

Mulţimea A se numeşte mulţimea arcelor grafului G.

Pentru arcul a=(x, y) vârful x este extremitate iniţială, iar y – extremitate


finală.
În graful orientat perechile de vârfuri (xi, xj) şi (xj, xi) reprezintă
arce diferite. Graful orientat, care xi , x j  X conţine în acelaşi
timp arcele (xi, xj) şi (xj, xi) pentru se numeşte simetric. În caz
contrar – antisimetric.
Graful antisimetric cu un număr maxim de arce se numeşte turnir.
NOŢIUNI DE BAZĂ
Tipuri de grafuri:

Multigraf este graful în care există cel puţin o pereche de vârfuri


distincte xi , xj, care reprezintă mai mult decât o muchie a grafului.
În acest caz se spune că vârfurile xi , xj sunt unite cu ajutorul a k≥2
muhcii.

Pseudograf se numește multigraful care conţine cel puţin o


muchie, extremităţile căreia coincid (buclă).
SUBGRAFURI

Definiţia 1. Graful H=(Y, V) se numeşte subgraf al grafului G=(X, U), dacă


Y  X şi V  U.

Definiţia 2. Un graf H=(Y, V) se numeşte subgraf parţial al grafului G=(X, U),


dacă Y = X, iar V  U.

Definiţia 3. Un graf H=(Y, V) se numeşte subgraf al grafului , generat de


submulţimea de vârfuri Y  X, dacă mulţimea de muchii V conţine toate
muchiile grafului G ambele extremităţi ale cărora aparţin lui Y.
1 1 2 1 2
2

5 5 5
4 3 4 4 3
G H1 - subgraf H2 – subgraf parţial
1 2

H3 – subgraf generat de mulţmea {1, 2, 4, 5}


5
4
GRAD AL VÂRFULUI ÎN GRAF
Definiţia 1. Grad al vârflui xi în G se numeşte numărul de vârfuri ale
lui G adiacente lui xi. Notaţie: deg(xi), dG(xi) sau d(xi).

Definiţia 2. Numărul de muchii incidente vârfului xi în graful G se


numeşte grad al vârfului xi.

Definiţia 3. Grad al vârfului xi este cardinalul mulţmii N(xi).


d(xi) = | N(xi) |.

x2 d(x1) = 3
x1 d(x3) = 2
x3
d(x4) = 1
x5 x4 d(x2) = 0
GRAD AL VÂRFULUI ÎN GRAF

Notaţie:

 (G )  max d ( x ) - grad maxim al vârfrilor grafului G


x X

 ( x )  min d ( x ) - grad minim al vârfurilor lui G


x X

Vârful al cărui grad este egal cu 1 se numeşte vârf terminal.

Vârful al cărui grad este egal cu 0 se numeşte vârf izolat.

x2 (G) = 3
x1
x3 (G) = 0
x4 – vârf terminal
x5 x4
x2 - vârf izolat
GRAD AL VÂRFULUI ÎN GRAF

Lemă. Pentru un graf cu n vârfuri şi m muchii este adevărată


egalitatea:
 deg x  2m
x X

Demonstraţia de sinestătător!

Corolar. În orice graf numărul vărfurilor cu grade impare este


par.

Demonstraţia de sinestătător!
Matricele asociate grafurilor

Grafurile vor fi abordate prin reprezentări matriciale:


 matricea de adiacenţă,
 matricea de incidenţă,
 matricea Kirchhoff.

Avantajele reprezentării matriciale:


 uşor de înţeles,
 implementare algoritmilor cu astfel de reprezentare este
mai accesibilă.

Dezavantaj:
 ocupă prea multă memorie (cele mai multe elemente ale
matricii pătratice sunt egale cu 0)

Cuprins
Matricele asociate grafurilor

Fie dat graful G=(X, U):


2

1 3

Reprezentarea grafică a lui G

6
4

Reprezentarea analitică a grafului G:


X={1, 2, 3,4, 5, 6}
U={(1, 2), (1, 3), (1, 4), (2, 3), (3, 4), (3, 6), (4, 5), (4, 6)}
Matricele asociate grafurilor

Matricea de adiacenţă

Fie G un graf de ordin n.


Matricea de adiacenţă a grafului G este matricea binară A=A(G)
de dimensiunea nn, a cărei elemente se definesc

1, dacă vârfurile xi şi x j adiacente,


aij  
0, în caz contrar.

Proprietăţile matricii de adiacenţă:


 pătratică, binară;
 simetrică în raport cu diagonala principală;
 suma elementelor din linie (coloană) este gradul vârfului
asociat liniei (coloanei);
 numărul de 1 în matrice este egal cu dublul număr de
muchii ale lui G.
Matricele asociate grafurilor

Matricea de adiacenţă

x2
x1 x2 x3 x4 x5 x6
x3
x1 x1 0 1 1 1 0 0
x2 1 0 1 0 0 0

dim A(G)= 66 x3 1 1 0 1 0 1


A(G)= x4 1 0 1 0 1 1

x6 x5 0 0 0 1 0 0
x4
x6 0 0 1 1 0 0
x5

= 4 = d(x4)

= 2 = d(x6)

Numărul de 1 in A = 16, m=8


Matricele asociate grafurilor

Matricea de incidenţă

Fie G=(X, U) un graf de ordin n şi |U|=m.

Matricea de incidenţă a grafului G este matricea binară I=I(G)


de dimensiunea nm, a cărei elemente se definesc

1, dacă vârful x k este incident muchiei u l ,


i k ,l 
0, în caz contrar.

Proprietăţile matricii de incidenţă:


 binară;
 fiecare coloană conţine exact două 1;
 suma elementelor din linie este gradul vârfului asociat
liniei.
Matricele asociate grafurilor

Matricea de incidenţă

x2 u1 u 2 u 3 u 4 u 5 u 6 u 7 u8
u1 u4
x3 x1  1 1 1 0 0 0 0 0
x1 u2
 
x2  1 0 0 1 0 0 0 0
u6
x3  0 0
u3
1 0 1 1 1 0
G
u5
I (G )   
x4  0 0 1 0 1 0 1 1
x5  0 0 
u8
x6 0 0 0 0 0 1
x4
u7 x6  0 0 0 0 0 1 0 1 
x5

n=6, m=8
d(x1)= 3 d(x3)= 4

d(x5)= 1
Matricele asociate grafurilor

Matricea lui Kirchhoff


Fie G un graf de ordin n.
Matricea lui Kirchhoff a grafului G este matricea binară B=B(G) de
dimensiunea nn, a cărei elemente se definesc

 1, daca vârfurile xi şi x j ,

bij  d ( xi ), daca i  j ,
0, în caz contrar.

Proprietăţile matricii de adiacenţă:
 pătratică;
 simetrică în raport cu diagonala principală;
 elementele de pe diagonala principală sunt gradele vâfurilor
asociate liniilor (colanelor) respective;
 suma elementelor din linie (coloană) este egal cu 0;
 numărul de -1 în matrice este egal cu dublul număr de
muchii ale lui G.
Matricele asociate grafurilor

Matricea lui Kirchhoff

x2 x1 x2 x3 x4 x5 x 6
u1 u4
u2 x3 x1  3  1  1 1 0 0 
x1
 
u6
x2   1 2  1 0 0 0
 1 0  1
u3
x3   1  1 4
G
u5
B(G )   
x4   1 0  1 4  1  1

x5  0 0 0
u8
x6 1 1 0 
x6  0 0  1 2 
x4
u7 1 0
x5
Operaţii asupra grafurilor

1. Operaţia de eliminare a vărfului sau muchiei.

2 2

1 3 1 3

G G-6

6
4 4

5 2 5

1 3

G - (3, 6)
6
4

5
2. Adăugarea unei muchii.

b b

G (b, c) = G + (b, c)
+
a a
c d c d

3. Reuniunea grafurilor. Fie G1=(X1,U1) şi G2=(X2, U2).

Graful H=(Y, V) se numeşte reuniunea grafurilor G1 şi G2, dacă Y=X1 U X2


şi V=U1 U U2.

2 4 2 4

3 4
U 3
= 3

1 5 1 5
G1 G2 H=G1 U G2
4. Produs cartezian al grafurilor. Fie Gi=(Xi, Ui), i=1, 2 – grafuri arbitrare.

Produsul cartezian G1  G2 = G este graful a cărui mulţime de vârfuri X=X1  X2,


iar mulţimea de muchii U a căruia se defineşte astfel: vârfurile (u1, u2) şi (v1, v2)
sunt adiacente în G  1) u1=v1 şi u2 v2 în G2 sau b) u2=v2 şi u1 v1 în G1.

| X || X1  X 2 || X1 |  | X 2 |, | U || X1 |  | U 2 |  | X 2 |  | U1 | .

(1, v1) (1, v2) (1, v3)


1

 =
v1 v2 v3

2
G2 (2, v1) (2, v2) (2, v3)

G1 G
5. Contopirea vârfurilor. Fie G=(X, U) şi u, v  X.

Se construieşte graful H = G – u – v.

În H se adaugă un vârf nou z adiacent cu toate vârfurile din vecinătăţile


vârfurilor u şi v în G.

4 5 4 5

u v 3 z = u=v 3
6. Concatinarea vârfului (duala operaţiei 5).

Fie  v  X. Definim 2 mulţimi M şi N : M U N = N(v).


1. Construim G – v.
2. În G – v se adaugă vârfurile noi u  w: u – adiacent cu vârfurile din M, iar
w – adiacent cu vârfurile din N.

2 2

N(v) ={1, 3, 4}
1 3 1 3

M ={1}; N={3, 4}
v
4
u w
4
Lanţuri, cicluri, componente conexe
ale grafului
Lanţuri, cicluri, componente conexe ale grafului

Fie G=(X,U) un graf neorientat, arbitrar.


Definiţia 1. Se numeşte lanţ în graful G, o succesiune de vârfuri l=(x1,x2,...,xk),
unde x1, x2, ..., xkX, cu proprietatea că pentru  i=1, …, k-1: (xi, xi+1)  U şi toate
muchiile sunt disticte două câte două.

Pentru lanţul l vârfurile x1 şi xk se numesc extremităţi ale lanţului: (x1, xk) – lanţ.

Un lanţ se numeşte elementar dacă oricare 2 vârfuri ale sale sunt distincte.

Definiţia 2. Se numeşte ciclu într-un graf, un lanţ l=(x1, x2,..., xk) cu proprieta-
tea că x1=xk.

Un ciclu se numeşte elementar dacă oricare două vârfuri ale sale cu excepţia extre-
mităţilor sunt distincte.

Numărul de muchii în lanţ (ciclu) se numeşte lungimea lanţului (ciclului).


Lanţuri, cicluri, componente conexe ale grafului

Exemple.

p=(1, 2, 4, 7, 8, 4, 2, 1) – nu este lanţ


1 2

l1=(1, 2, 4, 7, 8, 4, 3) – lanţ; nu e elementar


3 5 6

4
l2=(1, 2); l3=(1, 2, 4, 7) – lanţuri elementare

l4=(1, 2, 4, 7, 8, 4, 1) – ciclu; nu e elementar


7 8

l5=(1, 2, 4, 1) – ciclu elementar


Lanţuri, cicluri, componente conexe ale grafului

Afirmaţia 1. Pentru u  v orice (u, v)-lanţ conţine un (u, v)-lanţ elementar.

Afirmaţia 2. Orice ciclu conţine un ciclu elementar.

Afirmaţia 3. Reuniunea a două (u, v)-lanţuri elementare distincte conţine un


ciclu elementar.

P Demonstraţie. Fie P=(u1, u2, …, uk)


uα şi Q=(v1, v2, …, vl) lanţuri distincte şi
u1=v1=u, uk=vl=v;
uα-1 u= v
uk= vl = v notăm uα şi vα primele, pornind de
u1= v1 = u
la u, vârfuri distincte ale acestor
lanţuri, şi

Q u şi v primele vârfuri comune
situate după uα şi vα .
Lanţuri, cicluri, componente conexe ale grafului

Reuniunea sublanţului (uα-1, u)  P şi a sublanţului (uα-1, v)  Q formează un


ciclu elementar:

P

(uα-1, uα, ..., u=v , v-1, ..., vα, uα-1)

uα-1 u= v
uk= vl = v
u1= v1 = u


Q
Lanţuri, cicluri, componente conexe ale grafului

Afirmaţia 4. Dacă C şi D sunt cicluri elementare distincte, care posedă o


muchie comună e, atunci graful (C U D) – e conţine un ciclu elementar.

C – e: (x, y)-lanţ

x x
e y y

D – e: (x, y)-lanţ

D ciclu elementar

Din Afirm. 3  (C-e) U (D-e) =(С U D) – e conţine ciclu


elementar
Lanţuri, cicluri, componente conexe ale grafului

Definiţia 1. Graful G=(X, U) se numeşte conex dacă pentru  x, y  X există


lanţul ce le uneşte.

a b a c

G H e
e d b d

conex k=2
k=1
ne conex

Definiţia 2. Subgraful maximal conex al lui G se numeşte


componentă conexă a grafului.

Notaţie: k – numărul de componente în graf.


Lanţuri, cicluri, componente conexe ale grafului

Afirmaţia 5. Pentru orice garf G sau el, sau complimentarul său


este conex.

Dem-ţia de sinestătător.

Lemă. Fie G=(X, U) un graf conex şi eU. Au loc următoarele


afirmaţii:
1. dacă e aparţine unui ciclu al grafului G, atunci graful G – e este
conex;
2. dacă e nu aparţine nici unui ciclu al grafuului G, atunci graful G – e
are exact două componente conexe.
Lanţuri, cicluri, componente conexe ale grafului

Demonstraţie.

1. G e conex  pentru u, vX  (u, v)–lanţ, C. Fie e C , cercetăm graful G – e :

x
v
e

u … y

 G – e este graf conex.


x e y
2. Fie e  nici unui ciclu în G, atunci
xGx şi yGy în G-e. Gx, Gy – compo-
Gx Gy
nente distincte ale lui G-e . Fie  uX.
u

În G  un (x, u)–lanţ=С. Dacă eС  uGy în G-e.


 k(G)=2.
Dacă eC  uGx în G-e.
Lanţuri, cicluri, componente conexe ale grafului

Teoremă. Pentru orice graf G cu n vârfuri, m muchii şi k comonente


conexe sunt adevărate inegalităţile:

n  k  m  C n2 k 1 .

Dem-ţia de sinestătător.
CARACTERISTICILE METRICE
ALE GRAFULUI
Fie G un graf conex, şi x , y două vârfuri distincte ale lui G.

Definiţia 1. Lungimea celui mai scurt (u, v) – lanţ în G se numeşte distanţa


dintre vârfurile x şi y în graful G. Notaţia: d(x, y). Se consideră d(x, x)=0.

Axiomele metricii:

1. d(x,y)0;
2. d(x,y)=0,  x=y;
3. d(x,y)=d(y,x);
4. d(x,z)+d(z,y)  d(x,y) (inegalitatea triunghiului).
3
d(1,4)=3
d(2,4)=2
2 4
d(3,4)=1
1
5 d(5,4)=2
Definiţia 2. Mărimea e ( x )  max d ( x , y ) se numeşte excentricitatea vârfului x.
y X

Definiţia 3. Excentricitatea maximală dintre excentricităţile vârfurilor lui G se


numeşte diametrul grafului G şi se notează D(G): D (G )  max e ( x ).
x X

Vârful x se numeşte vârf periferic dacă e(x)=D(G).

Lanţul elementar de lungimea D(G) se numelşte lanţ periferic.

Definiţia 4. Excentricitatea minimală dintre excentricităţile vârfurilor se numeşte


raza grafului G şi se notează r(G): r (G )  min e ( x ).
x X

Vârful x se numeşte vârf central dacă e(x)=r(G).

Mulţimea tuturor vârfurilor centrale ale grafului se numeşte centru grafului.

De exemplu, centrul oricărei stele constă dintr-un vârf. Pentru ciclu arbitrar
toate vârfurile lui sunt centrale.
Exemplu. De determinat D(G), r(G) şi centrul grafului G.

G
2 4 e(1)=max {d(1,2), d(1,3), d(1,4), d(1,5), d(1,6)}=
=max{1, 1, 2, 2, 3} = 3
e(2)=max {1, 1, 1, 2, 3}= 3
3
e(3)= max{1, 1, 1, 1, 2 }= 2
1 5
e(4)=max{2, 1, 1, 2, 3 }= 3
6 e(5)=max{2, 2, 1, 2, 1 }= 2

Centrul: {3, 5} e(6)=max{3, 3, 2, 3, 1 }= 3

Pereferia: {1, 2, 4, 6} D(G)=max{3, 3, 2, 3, 2, 3}=3

r(G)=min{3, 3, 2, 3, 2, 3}=2
Operaţii asupra grafurilor

1. Operaţia de eliminare a vărfului sau muchiei.

2 2

1 3 1 3

G G-6

6
4 4

5 2 5

1 3

G - (3, 6)
6
4

5
2. Adăugarea unei muchii.

b b

G (b, c) = G + (b, c)
+
a a
c d c d

3. Reuniunea grafurilor. Fie G1=(X1,U1) şi G2=(X2, U2).

Graful H=(Y, V) se numeşte reuniunea grafurilor G1 şi G2, dacă Y=X1 U X2


şi V=U1 U U2.

2 4 2 4

3 4
U 3
= 3

1 5 1 5
G1 G2 H=G1 U G2
4. Produs cartezian al grafurilor. Fie Gi=(Xi, Ui), i=1, 2 – grafuri arbitrare.

Produsul cartezian G1  G2 = G este graful a cărui mulţime de vârfuri X=X1  X2,


iar mulţimea de muchii U a căruia se defineşte astfel: vârfurile (u1, u2) şi (v1, v2)
sunt adiacente în G  1) u1=v1 şi u2 v2 în G2 sau b) u2=v2 şi u1 v1 în G1.

| X || X1  X 2 || X1 |  | X 2 |, | U || X1 |  | U 2 |  | X 2 |  | U1 | .

(1, v1) (1, v2) (1, v3)


1

 =
v1 v2 v3

2
G2 (2, v1) (2, v2) (2, v3)

G1 G
5. Contopirea vârfurilor. Fie G=(X, U) şi u, v  X.

Se construieşte graful H = G – u – v.

În H se adaugă un vârf nou z adiacent cu toate vârfurile din vecinătăţile


vârfurilor u şi v în G.

4 5 4 5

u v 3 z = u=v 3
6. Concatinarea vârfului (duala operaţiei 5).

Fie  v  X. Definim 2 mulţimi M şi N : M U N = N(v).


1. Construim G – v.
2. În G – v se adaugă vârfurile noi u  w: u – adiacent cu vârfurile din M, iar
w – adiacent cu vârfurile din N.

2 2

N(v) ={1, 3, 4}
1 3 1 3

M ={1}; N={3, 4}
v
4
u w
4
Lanţuri, cicluri, componente conexe
ale grafului
Lanţuri, cicluri, componente conexe ale grafului

Fie G=(X,U) un graf neorientat, arbitrar.


Definiţia 1. Se numeşte lanţ în graful G, o succesiune de vârfuri l=(x1,x2,...,xk),
unde x1, x2, ..., xkX, cu proprietatea că pentru  i=1, …, k-1: (xi, xi+1)  U şi toate
muchiile sunt disticte două câte două.

Pentru lanţul l vârfurile x1 şi xk se numesc extremităţi ale lanţului: (x1, xk) – lanţ.

Un lanţ se numeşte elementar dacă oricare 2 vârfuri ale sale sunt distincte.

Definiţia 2. Se numeşte ciclu într-un graf, un lanţ l=(x1, x2,..., xk) cu proprieta-
tea că x1=xk.

Un ciclu se numeşte elementar dacă oricare două vârfuri ale sale cu excepţia extre-
mităţilor sunt distincte.

Numărul de muchii în lanţ (ciclu) se numeşte lungimea lanţului (ciclului).


Lanţuri, cicluri, componente conexe ale grafului

Exemple.

p=(1, 2, 4, 7, 8, 4, 2, 1) – nu este lanţ


1 2

l1=(1, 2, 4, 7, 8, 4, 3) – lanţ; nu e elementar


3 5 6

4
l2=(1, 2); l3=(1, 2, 4, 7) – lanţuri elementare

l4=(1, 2, 4, 7, 8, 4, 1) – ciclu; nu e elementar


7 8

l5=(1, 2, 4, 1) – ciclu elementar


Lanţuri, cicluri, componente conexe ale grafului

Afirmaţia 1. Pentru u  v orice (u, v)-lanţ conţine un (u, v)-lanţ elementar.

Afirmaţia 2. Orice ciclu conţine un ciclu elementar.

Afirmaţia 3. Reuniunea a două (u, v)-lanţuri elementare distincte conţine un


ciclu elementar.

P Demonstraţie. Fie P=(u1, u2, …, uk)


uα şi Q=(v1, v2, …, vl) lanţuri distincte şi
u1=v1=u, uk=vl=v;
uα-1 u= v
uk= vl = v notăm uα şi vα primele, pornind de
u1= v1 = u
la u, vârfuri distincte ale acestor
lanţuri, şi

Q u şi v primele vârfuri comune
situate după uα şi vα .
Lanţuri, cicluri, componente conexe ale grafului

Reuniunea sublanţului (uα-1, u)  P şi a sublanţului (uα-1, v)  Q formează un


ciclu elementar:

P

(uα-1, uα, ..., u=v , v-1, ..., vα, uα-1)

uα-1 u= v
uk= vl = v
u1= v1 = u


Q
Lanţuri, cicluri, componente conexe ale grafului

Afirmaţia 4. Dacă C şi D sunt cicluri elementare distincte, care posedă o


muchie comună e, atunci graful (C U D) – e conţine un ciclu elementar.

C – e: (x, y)-lanţ

x x
e y y

D – e: (x, y)-lanţ

D ciclu elementar

Din Afirm. 3  (C-e) U (D-e) =(С U D) – e conţine ciclu


elementar
Lanţuri, cicluri, componente conexe ale grafului

Definiţia 1. Graful G=(X, U) se numeşte conex dacă pentru  x, y  X există


lanţul ce le uneşte.

a b a c

G H e
e d b d

conex k=2
k=1
ne conex

Definiţia 2. Subgraful maximal conex al lui G se numeşte


componentă conexă a grafului.

Notaţie: k – numărul de componente în graf.


Lanţuri, cicluri, componente conexe ale grafului

Afirmaţia 5. Pentru orice garf G sau el, sau complimentarul său


este conex.

Dem-ţia de sinestătător.

Lemă. Fie G=(X, U) un graf conex şi eU. Au loc următoarele


afirmaţii:
1. dacă e aparţine unui ciclu al grafului G, atunci graful G – e este
conex;
2. dacă e nu aparţine nici unui ciclu al grafuului G, atunci graful G – e
are exact două componente conexe.
Lanţuri, cicluri, componente conexe ale grafului

Demonstraţie.

1. G e conex  pentru u, vX  (u, v)–lanţ, C. Fie e C , cercetăm graful G – e :

x
v
e

u … y

 G – e este graf conex.


x e y
2. Fie e  nici unui ciclu în G, atunci
xGx şi yGy în G-e. Gx, Gy – compo-
Gx Gy
nente distincte ale lui G-e . Fie  uX.
u

În G  un (x, u)–lanţ=С. Dacă eС  uGy în G-e.


 k(G)=2.
Dacă eC  uGx în G-e.
Lanţuri, cicluri, componente conexe ale grafului

Teoremă. Pentru orice graf G cu n vârfuri, m muchii şi k comonente


conexe sunt adevărate inegalităţile:

n  k  m  C n2 k 1 .

Dem-ţia de sinestătător.
CARACTERISTICILE METRICE
ALE GRAFULUI
Fie G un graf conex, şi x , y două vârfuri distincte ale lui G.

Definiţia 1. Lungimea celui mai scurt (u, v) – lanţ în G se numeşte distanţa


dintre vârfurile x şi y în graful G. Notaţia: d(x, y). Se consideră d(x, x)=0.

Axiomele metricii:

1. d(x,y)0;
2. d(x,y)=0,  x=y;
3. d(x,y)=d(y,x);
4. d(x,z)+d(z,y)  d(x,y) (inegalitatea triunghiului).
3
d(1,4)=3
d(2,4)=2
2 4
d(3,4)=1
1
5 d(5,4)=2
Definiţia 2. Mărimea e( x )  max d ( x, y ) se numeşte excentricitatea vârfului x.
y X

Definiţia 3. Excentricitatea maximală dintre excentricităţile vârfurilor lui G se


numeşte diametrul grafului G şi se notează D(G): D(G )  max e( x).
xX

Vârful x se numeşte vârf periferic dacă e(x)=D(G).

Lanţul elementar de lungimea D(G) se numelşte lanţ periferic.

Definiţia 4. Excentricitatea minimală dintre excentricităţile vârfurilor se numeşte


raza grafului G şi se notează r(G): r (G )  min e( x).
xX

Vârful x se numeşte vârf central dacă e(x)=r(G).

Mulţimea tuturor vârfurilor centrale ale grafului se numeşte centru grafului.

De exemplu, centrul oricărei stele constă dintr-un vârf. Pentru ciclu arbitrar
toate vârfurile lui sunt centrale.
Exemplu. De determinat D(G), r(G) şi centrul grafului G.

G
2 4 e(1)=max {d(1,2), d(1,3), d(1,4), d(1,5), d(1,6)}=
=max{1, 1, 2, 2, 3} = 3
e(2)=max {1, 1, 1, 2, 3}= 3
3
e(3)= max{1, 1, 1, 1, 2 }= 2
1 5
e(4)=max{2, 1, 1, 2, 3 }= 3
6 e(5)=max{2, 2, 1, 2, 1 }= 2

Centrul: {3, 5} e(6)=max{3, 3, 2, 3, 1 }= 3

Pereferia: {1, 2, 4, 6} D(G)=max{3, 3, 2, 3, 2, 3}=3

r(G)=min{3, 3, 2, 3, 2, 3}=2
• Probleme
1. Fie X o mulţime cu n elemente. Să se determine:
a) numărul grafurilor neorientate, a căror mulţime de vârfuri este X;
b) numărul grafurilor neorientate cu bucle, a căror mulţime de vârfuri este X;
c) numărul grafurilor orientate, a căror mulţime de vârfuri este X;
d) numărul grafurilor orientate, fără bucle, antisimetrice, a căror mulţime de vârfuri este X;
e) numărul turnirurilor, a căror mulţime de vârfuri este X;
f) numărul grafurilor neorientate care au gradele vârfurilor distincte.

2. Care este numărul de diagonale într-un poligon convex cu n vârfuri.

3. Să se demonstreze că pentru orice n  2 , graful stea K 1,n nu este graf al muchiilor (adică nu există un astfel de
graf neorientat G, încât graful muchiilor L(G) să fie izomorf lui K 1,n ).
4. Fie A o submulţime de vârfuri ale grafului neorientat G   X ;U  , iar k – numărul muchiilor care au exact o
extremitate în A. Să se demonstreze că numărul k este de aceeaşi paritate cu numărul vârfurilor de grad impar din A.

5. Să se verifice următoarele afirmaţii:


a) există grafuri neorientate de ordin 10 pentru care şirul gradelor vârfurilor sale este resprectiv
1, 1, 1, 3, 3, 3, 4, 6, 7, 9 ;
b) există grafuri neorientate pentru care gradele vârfurilor sunt distincte două câte două;
c) există grafuri neorientate cu n  4 vârfuri, pentru care exact 3 vârfuri sunt de grad impar, iar celelalte (n – 3)
vârfuri sunt de grad par;
d) pentru orice graf neorientat, numărul vârfurilor de ordin impar este par.

6. Fie G   X ;U  un graf neorientat cu n vârfuri şi m muchii. Să se demonstreze că dacă gradul fiecărui vârf al acestui
graf este k sau k  1, atunci numărul vârfurilor de grad k este (k  1)n  2m .
• Probleme

7. Un graf neorientat G se numeşte autocomplementar, dacă graful complementar G este izomorf lui G.
Să se construiască un graf autocomplementar cu un număr minim de vârfuri n  1.
8. Care este numărul maxim de muchii într-un graf cu n vârfuri ce nu conţine cicluri elementare de
lungime pară?
9. Fie Gn un graf neorientat, vârfurile căruia reprezintă primele n numere naturale {1, 2, ..., n} , iar două
vârfuri x, y sunt adiacente, dacă şi numai dacă numerele x şi y sunt reciproc prime.
a) Să se scrie matricea de adiacenţă a grafurilor G5 , G6 , G7 . Care este structura matricei de adiacenţă a
gragului Gn ?
b) Să se verifice dacă graful Gn este conex.
c) Să se demonstreze că Gm , m  n este subgraf al grafului Gn , generat de submulţimea de vârfuri
{1, 2, ..., m} .
10. Să se demonstreze că dacă G este un graf neorientat cu n  2 vârfuri şi m  C n21 muchii, atunci G este
conex.
11. Să se demonstreze că dacă  (G)  (n  1) 2 , atunci graful G este conex.
12. Să se verifice afiramţia: un graf G este conex, dacă şi numai dacă pentru orice divizare a mulţimii de
vârfuri X G în submulţimile X 1 , X 2 , există o muchie din G cu o extremitate în X 1 şi altă extremitate în X 2 .
13. Fie G un graf conex. Este adevărat oare că graful complementar nu este conex? Cum ar fi graful
complementar, dacă graful G nu ar fi conex?
14. Să se verifice afirmaţia: într-un graf conex orice două lanţuri elementare de lungime maximă conţin
cel puţin un vârf comun.
MULŢIMI STABILE ÎN GRAFURI NEORIENTATE
§1. MULŢIMI DE VÂRFURI STABILE INTERIOR
MULŢIMI STABILE ÎN GRAFURI NEORIENTATE
§1. MULŢIMI DE VÂRFURI STABILE INTERIOR

Definiţia 1. Submulţimea A  X de vârfuri a unui graf G=(X, U), |X|=n se


numeşte stabilă interior (independentă), dacă nu conţine două vârfuri
adiacente.

Definiţia 2. Mulţimea de vârfuri stabilă interior A se numeşte maximală,


dacă în graf nu există o altă mulţime stabilă interior H astfel, încât A  H.

Definiţia 3. Mulţimea de vârfuri stabilă interior A se numeşte maximă, dacă


pentru orice mulţime stabilă interior H din graf are loc relaţia A H .
MULŢIMI DE VÂRFURI STABILE INTERIOR

1
9
Mulţimi stabile interior:
2
A1={1, 3, 5}

A2={6, 8}
7
maximală
8

3 A3={1, 3, 5, 7, 9} maximă
4
6
A4={1, 3, 5, 8}
5 G
MULŢIMI DE VÂRFURI STABILE INTERIOR

Definiţia 4. Cardinalul mulţimii stabile interior maxime a grafului G se


notează prin  0 (G) şi se numeşte număr de stabilitate internă.

Fie Q – familia tuturor mulţimilor stabile interior din graf. Atunci

 0 (G )  max  A 
AQ

1
9 A1={5, 8}; A2={6, 8};

2 A3={1, 3, 4, 6, 9}; A4={1, 3, 4, 7, 9} ;

8 A5={1, 3, 5, 7, 9}; A6={2, 3, 4, 6, 9};


7

3
A7={2, 3, 4, 7, 9}; A8={1, 3, 5, 7, 9}.
4
6

G α 0 (G )  5
5
Mulţimea stabilă interior maximă, formată din vârfurile
colorate cu albastru

α 0 (G )  9
Estimări ale numărului de stabilitate internă

Teorema 1. Pentru orice graf G este adevărată inegalitatea:

α0 (G )   (1  deg x) 1 (*)
xΧ
Demonstraţie.
a) G = K n . Atunci
1
 (1  deg x)1  (1  (n  1))1  n 
xΧ n
 n  1  α0 ( K n ).

b) Considerăm G=(X, U)  K n . Verificăm corectitudinea inegalităţii (*) aplicând


inducţia după numărul vârfirilor grafului:

1. Pentru n 2 se verifică nemijlocit.

2. Fie |X|=n>2 şi pentru orice graf, ordinul căruia este mai mic ca n, inegalitatea (*)
este adevărată.
Fie x X şi d (x)= (x)  x  N ( x)  X .

Cercetăm graful G ( X , U )  G  ( x  N ( x )). Conform pas. 2 al


inducţiei pentru G' inegalitatea (*) este adevărată.

Fie M' MSI maximă a lui G'  M  M x este MSI în G.

Rămâne de demonstrat că

S1   (1  d G (v )) 1  S 2   G
(1  d ( v )) 1
1
v X v X 
Notăm:
Q={yX' | d(y)=1 şi y~x}.
În mod evident, pentru  v Q: (1  d G ( v )) 1  (1  d G  ( v )) 1 , iar
termenii din S1 şi S2 ce corespund  v X' \Q coincid.

Q
N(x) G'
1
Rămâne de arătat că   (1  d G (v))1  1.
1  d G ( x) vN ( x )

x : dG ( x)  dG ( y), pentru y  X 

N ( x)
1 1
  (1  d G (v))1    (1  d G ( x))1 
1  d G ( x) vN ( x ) 1  d G ( x) i 1

 (1  d G ( x))  (1  d G ( x))  1 .
§2. MULŢIMI DE VÂRFURI STABILE EXTERIOR
§2.Mulţimi de vârfuri stabile exterior. (Mulţimi dominante)
Definiţia 1. Submulţimea de vârfuri A  X a unui graf G se numeşte
stabilă exterior, dacă pentru oricare vârf y  X \ A există un vârf

x  A astfel încât y ~ x .

Definiţia 2. Submulţimea de vârfuri stabilă exterior A a unui graf G se


numeşte minimală, dacă în G nu există o altă mulţime stabilă exterior
B astfel încât A  B.

Definiţia 3. Submulţimea de vârfuri stabilă exterior A a unui graf G se


numeşte minimă, dacă pentru orice mulţime stabilă exterior B din G
are loc relaţia |A|  |B|.
EXEMPLE

1 A1={1, 3, 5, 6, 9} minimală
9
A2={1, 3, 4, 6, 9} minimală
2

A3={1, 6, 8}
8
7
A4={6, 8} minimală, minimă
3

6 4

G
5
Mulţimi de vârfuri stabile exterior

Definiţia 4. Submulţimea de vârfuri V a unui graf G, care este atât


stabilă interior, cât şi stabilă exterior se numeşte nucleu al acestui graf.

1 1
9 9
2 2

8 8
7 7
3 3
4 4 Nuclee grafului
6 6

5
1
5 A1={1, 3, 5, 7, 9}
9
2
A2={1, 3, 4, 6, 9}
8
7
3 A3={6, 8}
4
6

5
§3. ACOPERIRI DE VÂRFURI

Definiţia 1. Submulţimea de vârfuri A a unui graf G se numeşte


acoperire de vârfuri, dacă orice muchie din G este incidentă cel puţin
unui vârf din A.

Definiţia 2. O acoperire de vârfuri se numeşte minimală, dacă orice


submulţime proprie a sa nu formează la rândul său acoperire de vârfuri.

Definiţia 3. Acoperirea de vârfuri cu un număr minim de elemente se


numeşte acoperire minimă.
EXEMPLE
de acoperiri de vărfuri

1
9

2 A1={1, 2, 3, 4, 6, 7, 9 } minimală
A2={1, 2, 3, 4, 5, 7, 9} minimală
8
7
A3={1, 4, 6, 8} minmă
3
A={2, 5, 6, 8} minmă
6
4

G
5
0(G)=4
ACOPERIRI DE VÂRFURI

Definiţie 4. Cardinalul acoperirii minime a unui graf G se notează


prin 0(G).

Teorema 1. Submulţimea de vârfuri A a unui graf formează o


acoperire (minimală, minimă), dacă şi numai dacă A  X  A este
stabilă interior (maximală, maximă) . De aici, rezultă egalitatea:

α 0 ( G )  β 0 ( G )  n.

Demonstraţia desinestătător
§ 4. C L I C Ă

Defeniţia 1. Submulţimea de vârfuri A a unui graf G se numeşte clică


dacă orice două vârfuri din A sunt adiacente. 
Subgraful G' generat de submulţimea A este graf complet.

 (G)=4

Definiţia 2. Clica se numeşte maximală dacă ea nu se conţine în altă


clică de gard mai mare şi maximă dacă are cel mai mare cardinal
dintre toate clicile grafului.
CLICĂ

Definiţea 3. Cardinalul clicei maxime a grafului G se numeşte


densitatea grafului şi se notează  (G).

Afirmaţia 1. Submulţimea de vârfuri a grafului G este clică dacă şi


numai dacă ea este mulţimeme stabilă interior în graful
complimentar G . Astfel, φ(G)  α0 (G ).
§5. C U P L A J E

Definiţia 1. Submulţimea de muchii E  U a grafului G=(X, U) se


numeşte cuplaj (mulţime independentă de muchii), dacă oricare două
muchii din E nu sunt adiacente.

În graful din imagine muchiile


de culoare roșie formează un
cuplaj al grafului.

Definiţia 2. Cuplajul E se numeşte maximal, dacă în graf nu există un alt


cuplaj T astfel încât E  T.

Definiţia 3. Cuplajul E se numeşte maxim, dacă pentru oricare cuplaj T


din graf are loc relaţia |E| |T|.
CUPLAJE

Definiţia 4. Numărul de muchii ce aparţin cuplajului maxim al


grafului G se notează prin α1 (G ).

Afirmaţia 1. Orice cuplaj al grafului G este mulţime stabilă interior în


graful L(G) şi, deci α1 (G )  α 0 ( L (G )).
1 2

13 3
3
1 2 4
4 6 12

13 11 9 5 5
7 11
12 10
8
6
10
G 7
L(G) 9 8
ACOPERIRI DE MUCHII
Definiţia 5. Submulţimea de muchii E a unui graf G se numeşte
acoperire de muchii, dacă orice vârf din G este incident cel puţin unei
muchii din E.

Definiţia 6. Acoperirea de muchii E se numeşte minimală dacă, în


graf nu există o altă acoperire de muchii T astfel încât T  E (adică
orice submulţime proprie din E nu formează acoperire de muchii).

Definiţia 7. Acoperirea de muchii E se numeşte minimă dacă pentru


oricare acoperire de muchii T a grafului are loc relaţia:|E||T|.
ACOPERIRI DE MUCHII

1 (G)=4
ACOPERIRI DE MUCHII

Definiţia 8. Numărul de muchii a grafului G din acoperirea


minimă se notează prin 1 (G).

Definiţia 9. Orice cuplaj, care formează


o acoperire de muchii în graf se numeşte
cuplaj perfect.

Evident, 1 (G) n/2.

n=12, 1 (G) =6

Afirmaţie. Dacă în graf există un cuplaj perfect atunci el formează


acoperirea de muchii minimă a acestui graf.
Cuplaje şi acoperiri de muchii

Teorema 1. (Tibor Gallai, 1959). Pentru orice garf G de ordin n, fără


vârfuri izolate este adevărată egalitatea: α1(G)+1(G)=n.

Demonstraţie.

α1(G)+1(G) n (1) şi α1(G)+1(G) n (2)


(1) Fie:
• M - cuplaj maxim în G=(X, U), |X|=n.
• X' – mulţimea vârfurilor lui G neacoperite de muchiile din M
 X' – mulţime stabilă interior sau |X'|=0.

În plus, |X'|= n-2α1.

Fie X' nu este vidă.


Se construeşte mulţimea de muchii E :
pentru fiecare xX' se alege în G o muchie incidentă cu x.
Dacă X' e vidă, atunci şi E este vidă.
Deoarece G nu conţine vârfuri izolate şi X' - mulţime stabilă interior 

|E|=|X'|=n - 2α1.

Evident, E  M este acoperire de muchii 

1(G)  |E|U|M|=(n-2α1)+α1=n- α1.

1(G)  n- α1.
(2) α1(G) +1(G)  n
Fie P acoperirea de muchii minimă a lui G şi G' subgraful generat de P.
Atunci în G' fiecare componentă conexă este stea.
Notăm:
• t - numărul de componente conexe în G';
• ki – numărul de muchii în componenta i, i=1, 2, …, t.

Se construieşte mulţimea de muchii P' alegând câte o muchie din


fiecare componentă. Evident, P' este cuplaj de cardinal t.  t  α1.

În G' nu sunt vârfuri izolate 


t t
n   (k i  1)   k i  t | P | t  β1  t  β1  α1 . 
i 1 i 1

n  α1 + 1.

din (1) şi (2)  α1 + 1 = n.


CONEXITATEA
vârfurilor şi muchiilor grafului
Fiabilitatea reţelei
Fie G un graf conex.

Definiţia 1. Numărul minimal de vârfuri eliminarea cărora din G


generează un graf neconex sau K1 se numeşte număr de conexitate
în raport cu vârfurile. Notaţia  (G) .

Exemple.  (K1)=0,  (Kn)=n-1,  (Cn)=2.

H
G

 (G)=1  (H)=1
Conexitatea grafului poate fi afectată şi prin elimenarea muchiilor.

Definiţia 2. Numărul minimal de muchii eliminarea cărora din G


generează un graf neconex se numeşte număr de conexitate în
raport cu muchiile. Notaţia  (G) .

H
G

 (G)=1 (G)=3  (H)=1 (H)=1

(G)   (G)
Noţiuni: punct de articulaţie, muchie-punte.

Observaţie. Extrenitatea unei muchii punte este punct de articulaţie a


garfului, dacă gradul ei în graf este cel puţin 2.

 (G) este graful minim al vârfurilor grafului G.

Evident, (G)  (G), deoarece eliminarea tuturor muchiilor incidente


vârfului de grad (G) conduce la creşterea numărului de componente
conexe.

Vom arăta că pentru  garf G este adevărată relaţia

(G)   (G)
Dacă G nu este conex sau are o muchie-punte este evident că

(G)=(G).

Fie G garf conex fară muchii-punte. În G se aleg  =  (G) muchii


eliminarea cărora din garf generează un garf neconex.

Notăm E1 mulţimea acestor muchii.

Fie E2  E1 , | E2 |= -1.

Graful G - E2 este conex şi are o muchie-punte, notăm (u, v).

Pentru fiecare muchie din E2 se alege o extremitate a ei distinctă de u şi v.

Eliminând din G vărfurile alese se vor elimina totodată şi toate muchiile


din E2.
Dacă garful rezultat nu va conex, atunci  =-1<.

Dacă graful obţinut va fi conex, atunci muchia (u, v) va fi punte.

Deci eliminarea uneia din extrenităţile muchiei (u, v) va genera un graf


neconex sau garful K1.   =.

Iar în caz general are loc relaţia  (G)   (G).

Teoremă. Pentru  garf G sunt adevărate inegalităţile

(G)   (G)   (G).

Definiţia 3. Graful G se numeşte k-conex dacă  (G)  k.

Graful conex este 1-conex.

Graful 2-conex este graf conex fără puncte de articulaţie.


Grafuri 2-conexe

Proprietăţi simple ale grafurilor 2-conexe:

1. Gradul  vârf în graful 2-conex este cel puţin 2.

2. Dacă garfurile G1 şi G2 sunt 2-conexe şi au cel puţin 2 vârfuri

comune, atunci garful G1UG2 este 2-conex.

3. Dacă graful G este 2-conex şi P este un lanţ elementar ce uneşte 2

vârfuri ale lui G, atunci garful G U P este 2-conex.

4. În garful 2-conex pentru  3 vârfuri distincte a, b, v  un

(a,b)-lanţ care nu trece prin vârf. v.


Teoremă. Fie G un graf conex cu n > 2.
Următoarele afirmaţii sunt echivalente:
1. G este 2-conex.

2.  2 vârfuri ale grafului aparţin unui ciclu elementar.

3.  vârf şi  muchie ale lui G aparţin unui ciclu elementar.

4.  2 muchii ale garfului aparţin unui ciclu elementar.

5. Pentru  2 vârfuri a şi b şi  muchie e  un (a,b)-lanţ elementar care


conţine e.

6. Pentru  3 vârfuri a, b şi c  un (a,b)-lanţ elementar care trece prin c.


1  2. Fie a şi b 2 vârfuri ale lui G=(X, U).

Cercetăm mulţimea tuturor ciclurilor lui G care trec prin a. Notăm prin E
mulţimea vârf-lor ce aparţin acestor cicluri.

Evident E  0. Ciclul elementar ce conţine a poate obţinut la reuniunea muchiilor (a, x)


şi (a, y) şi a (x, y)-lanţului elementar ce nu trece prin a (propr. 1 şi 4).

E E Presupunem că bE şi notăm E =U\E.


G e conex  în G  muchia (z, t): z  E ,
a z t t  E .
S
Fie S un ciclu elem. şi a, z  S.
v
P G e 2-conex   un (a, t)-lanţ P : zP.

Fie v primul (pornind de la t) vârf comun a lanţului P şi ciclului S.


Ciclul elementar ce conţine a şi t se obţine ca reunine a (v, z)-sublanţului a lui S ce
trece prin v. a cu muchia (z, t) şi (t, v)-sublanţul al lui P. 
 t  E, contradicţie cu modul de alegere a muchiei (z,t).  E = 0.

 un ciclu elementar care conţine vârfurile a şi b.

2  3. Fie a  X, (z,t) U. Conform afirm. 2 în G  un ciclu S ce trece prin v-le a şi z.

Vom considera că (z, t)S.

Dacă t  S , modul de construire a ciclului necesar este evidentă.


t

a z Fie tS.
S
S
v  ciclul S : a, t S .
t

Alegem P = (t, v)-sublanţul al lui S : P  S=v.

Ciclul necesar se consruieşte în mod evident.


34. Fie (a,b), (z,t)U.

Conform afirm. 3 în G  2 cicluri S şi S : (a, b) şi z  S; (a, b) şi t  S.

Ciclul ce conţine (a,b) şi (z,t) se construieşte ca şi în cazurile precedente.


a b
45. Fie a, b  X şi (z,t) U.

t G e conex   lanţul elementar P= (a, x, …, b).


S
z Conform afirmaţiei 4 în G  ciclul S: (a, x), (z,t) S.
S  reuniunea P U S conţine lanţul necesar.

56. Fie a, b, c  X şi (c, d)  U.

Din afirm. 5  în G  (a,b)-lanţul elementar ce trece prin (c, d)  conţine vârful c.

61. Fie v  X. Vom arăta că gr. G-v este conex. Conf. 6 în G  P =(v, b)-lanţul ce
trece prin a.

P conţine Q =(a, b)-sublanţul ce nu trece prin v  Q este (a,b)-lanţ în gr. G-v.


G-v este conex.
ARBORI
Arbori

Definiţia 1. Grafulul conex şi aciclic (fără cicluri) se numeşte arbore.

Teorema 1. Pentru orice graf G=(X,U) cu n vârfuri şi m muchii


următoarele afirmaţii sunt echivalente:

1) G este arbore;
2) G este conex şi m=n-1;
3) G este aciclic şi m=n-1;
4) Pentru orice două vârfuri distincte ale lui G există un singur lanţ ce le
uneşte;
5) G este maximal aciclic, adică dacă în G se adaugă o muchie nouă atunci
graful nu mai este arbore.
Arbori

Demonstraţie.
1)2) G este arbore, deci, conform definiției G este conex & aciclic.

Vom arăta că m=n – 1. Aplicăm inducţia după n.

a) n=1  m=0 – afitmaţia e adevărată.


b) Fie n>1. Presupunem afirmaţia este adevărată pentru orice graf de ordin
mai mic ca n.

c) Fie G este arbore de ordin n şi u U.

G nu are cicluri şi, conform Lemei din tema LCCC, garful G – u are două
componente conexe T1, T2, care sunt arbori.

ni – numărul de vârfuri, mi – numărul de muchii în Ti. Conform inducţiei

 mi=ni -1.

m=m1+m2+1=(n1-1)+(n2-1)+1=(n1+n2)-1=n-1.
Arbori

2)  3) G este conex şi m=n-1. De demonstrat că G e aciclic.

Presup. contrariul:

în G există ciclu şi u este o muchie a acestui ciclului. În așa caz graful


G – u este conex , k=1 (în baza Lemei din tema LCCC) şi are m=n – 2.

Conform Teoremei din tema LCCC, pentru orice graf m  n – k , deci


pentru G – u avem:

m=n – 2  n – 1, contradicţie.  G este aciclic.


Arbori

3)  4) Graful G – aciclic, m=n-1. Dem. G – conex.

Fie G are k componenete conexe.

Fiecare componentă Ti este un arbore cu ni vărfuri şi mi muchii, i=1, …, k.

 pentru Ti are loc mi=ni-1. Atunci:

n-1=m=m1+m2+…+mk= (n1-1)+(n2-1)+…+(nk-1)=(n1+n2+…+nk)-k = n-k


n-1=

 k=1, G este conex.


Arbori
G e conex  pentru x, y X există un (x,y)-lanţ. Vom aratăm că acest
lanț este unic.

Dacă în G ar exista două (x,y)-lanţuri distincte, atunci reuniunea lor ar


genera în G un ciclu. Deci pentru fiecare două vârfuri în G există un
singur lanţ ce le uneşte.
4) 5) Pentru  x, y  X există un singur (x,y)-lanţ. Deci G este aciclic.

Demonstrăm că este G aciclic maximal.

Fie x, yX şi x y. Adăugăm în G munchia u=(x, y).


x
y
În G există un (x,y)-lanţ, deci graful G+u va conţine un u

ciclu. Conform Lemei 4, tema LCCC, în graful G+u acest


ciclul este unic.  G – aciclic maximal.
Arbori

5)  1) G – aciclic max. De arătat că G este conex.

Presupunem contrariul: G nu este conex şi vârfurile x şi y aparţin comp.


conexe diferite.

x y

G + (x, y)

Atunci graful G+(x,y) nu conţine ciclu, contradicţie cu afirmaţia 5).

Deci G este arbore.


Arbori

Corolar 1. Orice arbore de ordin n2 conţine cel puţin 2 vârfuri terminale.

Teoremă. Centrul oricărui arbore constă dintr-un singur vârf, sau din
două vârfuri adiacente.

Dem-ţia de sinestătător.
Arborele parţial de cost minim

Problema arborelui parţial de cost minim: Într-un graful ponderat (G,)


de determinat un arbore parţial pentru care suma costurilor muchiilor
să fie minimă, adică arborele parţial de cost minim (APM).

Definiţie. Fie graful G=(X, U) şi funcţia reală : UR+ care pune în


corespondenţă fiecărei muchii u U un număr nenegativ (u) numit cost
(ponderea) al muchiei u. Perechea (G, ) se numeşte graf ponderat.

Numărul ω(G )   ω(u) se numeşte ponderea grafului G.


uU
Algoritmul lui Kruskal

1. Se construieşte graful T1 = On + u1, unde u1U este muchia de


pondere minimă.

2. Dacă graful Ti este deja contruit şi i=n-1, atunci Ti este arborele


parţial minim al lui G - STOP. În caz contrar se trece la pasul 3.

3. Se construieşte graful Ti+1 = Ti + ui+1 , unde ui+1U este muchia


de pondere minimă şi nu formează cicluri cu muchiile din Ti. Se
atribuie i:=i+1 şi se trece la pasul 2.
Corectitudinea algoritmului Kruskal

Corectitudinea - este proprietatea algoritmului de a furniza o soluţie


corectă a problemei date.

Teorema 2.

1. Pentru i<n-1 graful Ti+1 poate fi construit.

2. Graful Tn-1 este arbore parţial de cost minim al grafului (G,).

Demonstraţie.
1. Graful Ti are n vârfuri şi i muchii  pentru i<n-1 nu este conex.

G este graf conex  în el  cel puţin o muchie care nu formează ciclu cu


muchiile din Ti.

Deci, muchia ui+1  în G şi graful Ti+1 poate fi construit.


2. Graful Tn-1 are n vârfuri, n-1 muchii şi este aciclici, conf. Teor.1

 Tn-1 este arbore. Rămâne de arătat că el este de cost minim.

Fie a1, a2, ..., an-1 sunt muchiile arborelui parţial Tn-1 generat de algoritmul
Kruskal ((ai)  (ai+1), i=1,…,n-2).

Alegem arborele parţial minim al lui G, T=(b1, b2, ..., bn-1), care are cel mai
mare munăr de muchii comune cu Tn-1. ((bi)  (bi+1), i=1,…,n-2).

Notăm k primul indice pentru care ak  bk : a1=b1, a2=b2, …,ak-1=bk-1.

Fie ak=(x,y). În T  P=(x,y)-lanţul  ak U P formeză un ciclu, notat C.

În C  o muchie b′ Tn-1 (b′ T).

Construim arbore paţial T′ = T – b′ + ak.


Deoarece T este APM   (T΄)=(T) + (ak) – (b′)  (T) 

(ak)  (b′). (1)

Dar, adăugarea în Tk-1 a muchiei b′ nu generează ciclu, deoarece muchiile


b1=a1,..., bk-1=ak-1, b′  T .

Deci, dacă (ak)>(b′), pentru a construi grafl Tk alg. Kruskal ar fi ales


muchia b′ şi nu muchia ak 

(ak) = (b) şi (T ′) = (T) . 

T′ - APM şi are un număr mai mare de muchii comune cu Tn-1 decât


arborele T.
Contradicţie cu modul de alegere a arborelui T!

 Tn-1 este APM a lui (G, ).


G

(T)= 5+5+6+7+ 7+ 9=39

T - APM
Algoritmul lui Prim

1. Se construieşte arborele T1 = u1, unde u1U este muchia de


pondere minimă.

2. Dacă arborele Ti este deja contruit şi i=n-1, atunci Ti este


arborele parţial minim al lui G - STOP. În caz contrar se trece
la pasul 3.

3. Se construieşte arborele Ti+1 = Ti + ui+1 , unde ui+1U este


muchia de pondere minimă, ui+1Ti ambele extremităţi ale
căreia nu aparţin lui Ti. Se atribuie i:=i+1 şi se trece la pasul 2.
COLORAREA GRAFURILOR

conf ., dr. Angela Niculiță

Facultatea de Matematică și Informatică

Universitatea de Stat din Moldova


COLORAREA GRAFURILOR

• Colorarea vârfurilor grafului

• Colorarea muchiilor grafului


Colorarea vârfurilor grafului

Fie G=(X, U) un garf arbitrar şi k un număr natural.

Definiţia 1. Aplicaţia f : X  {1, 2, …, k} se numeşte k-colorare a


vârfurilor garfului G.

Numărul f (x) asociat vârfului x se numeşte culoarea acestui vârf.

Definiţia 2. O k-colorare, determinată de aplicţia f : X  {1, 2, …, k}


se numeşte corectă, dacă pentru x,yX : x~y are loc f (x)  f (y).

Graful pentru care  o k-colorare corectă se numeşte k-colorabil.

colorare corectă
colorare
Colorarea vârfurilor grafului

Dacă  (G) =k  G e k-cromatic.

O k-colorare corectă a lui G se numeşte minimală dacă k= (G).

Colorarea corectă a vârfurilor grafului G determină o partiţie a lui X :

X=X1 U X2 U … U Xl, l  k,

Xi  Xj = ,
pentru  i  j, i=1,2,…,l; j=1,2,…,l.
Fiecare clasă Xi , i=1,2,..., l este o mulţime stabilă interior, numită clasă de
culori.

Definiţia 3. Numărul minim k pentru care garful G este k-colorabil se numeşte


număr cromatic al grafului şi se notează (G).

k-colorarea corectă a grafului G cu k= (G) culori se numește minimală.


Colorarea vârfurilor grafului

Pentru graful G, prezentat în figură este indicată una

din colorările corecte.

Acest graf nu poate fi colorat corect cu un număt mai

mic de culori, deorece el conține ciclul

(v1 ,v2 , v3, v4 , v5 , v1 ) pentru colorarea corectă a căriuia

sunt necesare trei culori distincte, iar vârful v6 necesită

o culoare nouă.
Adică, χ (G) = 4.

Pentru unele grafuri numărul cromatic este uşor de determinat:

χ ( K n )  n, χ ( K n  u)  n  1, χ ( K n,m )  2, χ (C2n )  2, χ (C2n1 )  3


Colorarea vârfurilor grafului

În caz general, determinarea numărului cromatic al unui graf şi construirea unei -colo-
rări este o problemă complicată.
Pentru a determina numărul cromatic al grafului poate fi aplicat un algoritm simplu dar
destul de efectiv, algoritmul de triere implicită, ce foloseşte arborele de căutare.

Algoritmul de triere implicită


Pasul 1. Ordonăm mulţimea de vârfuri a grafului G într-un mod arbitrar şi vârfului x1 îi
aplicăm culoarea cu numărul 1.
Pasul 2. Dacă toate vârfurile grafului au fost colorate, atunci scopul este atins. STOP.
În caz contrar, trecem la pasul 3.
Pasul 3. Primului vârf necolorat xi i se atribuie „cea mai mică” culoare, care nu a fost
folosită la colorarea vârfurilor adiacente cu xi. Trecem la pasul 2.
Algoritmul descris determină o colorare numită colorare consecutivă și este corectă.
Pentru unele clase de grafuri (ex. bipartit complet) colorarea consecutivă este minimlă.
Dar în caz general nu este valabil.
Aplicând algoritmul de triere de construit
colrarea corectă a vârfurilor grafului din
desen.
Valorile culorilor:
1- ,2- , 3 - , 4 - , 5-

vârf culoare v v
v1
v2 v v v
v
v3
v
v4
v5
v6
v7

 (G) =3
Graful G este 3-cromatic
Estimările numărului cromatic
Notăm
G (G) – familia subgrafurilor, generate de toate submulţimile de vârfuri
ale lui G
 (H) – gradul minim al vârfurilor subgrafului HG (G).

Teorema 1. Pentru orice graf G este adevărată inegalitatea

 (G) ≤ 1+ max  ( H ).
H ∈G

Demontraţie.
Pentru garful vid afirmaţia este evidentă.
Fie
• G - graf arbitrar -cromatic,   2,
• H – subgraf genrat, minimal care satisface cond.  (H) = .
Estimările numărului cromatic

  (H-v)   - 1 pentru  vH.


Considerăm dH (v) <  - 1. Colorăm corect gr. H-v cu -1 culori.

Vârful v poate fi colorat cu una din cele  - 1 culorile neutilizate la


colorarea vârfurilor adiacente cu el în H. 

 Pentru H  ( -1)-colorarea corectă 

 contrad. cu faptul că H e subgr. minimal, -colorabil 

 dH(v)   - 1.

Deci
 1 ≤  ( H ) ≤ max  ( H ).
H ∈G
Estimările numărului cromatic

(G) – gradul maximal al vârfurilor gr. G

Corolar. Pentru  gr. G este adevărată inegalitatea

χ (G )  1  Δ (G ).

Teorema 2 (Brooks, 1941). Dacă G este graf conex, G  Kn şi  (G)  3,


atunci  (G)  (G).

Teorema 3. Pentru  gr. G sunt adevărate inegalităţile

n / α 0  χ  n  α 0  1, (1)

unde n=|X|, 0=0(G), = (G).


Estimările numărului cromatic

Demonstraţie. 1) n/o  .

Orice colorare corectă minimală mulţimea X se divizează în  clase de


culori (X1, X2, ..., X) care sunt mulţimi stabile interior disjuncte.

Notăm |Xi|=ni ,  ni 0 , i=1,2,…,  şi

χ
n n
i 1
i  χα 0 ,  inegalitatea 1).

Dem. 2)   n - o + 1.

În G  mulţimea stabilă interior S : |S|=0.

Deoarece |G – S|=n - 0   (G – S)  n - 0    n - 0 +1.


Estimările numărului cromatic

Corolar. Dacă G este graf conex, G  Kn şi  (G)  3, atunci


0(G)  |X|/ (G).
Polinom cromatic

Deoarece k-colorarea grafului G este o aplicație arbitrară de tipul


X→{1, 2, ..., n}, numărul de k-colorări distincte ale grafului este esgală cu
numărul tuturor acestor aplicații, adică kn, unde n=|X|.
În general, un graf poate avea mai multe k-colorări corecte. Determinarea
numărului de k-colorări corecte distincte ale grafului G  ( X ,U ) este o
problemă dificilă.
Definiția 1. Numărul de k-colorări corecte distincte ale grafului G se numește
funcție cromatică sau polinom cromatic al lui G și se notează f (G, k).
Evident că valoarea minimă a lui k, pentru care f (G, k)≠0 este  (G).
Pentru unele tipuri de grafuri f (G, k) se determină simplu.
Astfel, f (Оn, k) = kn , deoarece vârfurile grafului nul se colorează independent
unul de altul.
Polinom cromatic

În colorarea corectă a grafului complet Кn, primul vârf poate fi colorat cu oricare
dintre cele k culori, iar pentru colorarea oricărui vârf următor numărul de culori
disponibile este cu o unitate mai mic decât pentru cel precedent.
Deci, f (Kn, k) = k×(k-l)×…×(k-n+ 1). Astfel,
k  (k  1)  ...  (k  n  1), daca k  n,
f ( K n , k )  
0, daca k  n.
În caz general calcularea polinomului cromatic este o problemă dificilă.
Vom cerceta câteva afirmații care simplifică calcularea plonomului cromatic.
Afirmația 1. Dacă G = G1  G2  … Gt este o reuniune disjunctivă a grafurilor,
atunci t
f (G, k )   f (Gi , k ).
i 1

Această afirmație derivă din faptul că colorarea fiecărei componente Gi poate fi


realizată independent de celellate.
Polinom cromatic

Afirmația 2. Dacă G = G1  G2 și grafurile G1 și G2 au un singur vârf comun,


atunci 1
f (G, k )  f (G1 , k )  f (G2 , k ). (1)
k

Demonstrație.

Alegem o colorare corectă ƒ1 a grafului G1.

Pentru a extinde colorarea ƒ1 până la colorarea corectă a lui G, trebuie să se


aleagă o astfel de colorare corectă f2 a grafului G2, în care culoarea ƒ1(v) a vârfului
v comun pentru G1 și G2 este egală cu f2(v).

Deoarece numărul k-colorărilor corecte ale grafului G2 , în care culoarea vărfului


v este fixată, nu depinde de această culoare, penru alegerea colorării f2 sunt
f(G2, k)/k posibilități. De aici rezultă egalitatea din teoremă. (1).
Polinom cromatic
Afirmația 3. Fie u și v două vârfuri neadiacente ale grafului G.
Dacă G1 = G + (u, v), iar G2 se obține din G prin contopirea vârfurilor u și v,
atunci f (G,k) = f (G1, k) + f (G2, k).

Demonstrație.
Numărul k-colorărilor corecte ale grafului G, în care culorile vârfurilor u și v sunt
distincte, nu se va schimba dacă în G se va adăuga muchia (u, v).
Deci, acest număr este egal cu f (G1, k).
Analogic, numărul k-colorărilor corecte ale grafului G, în care culorile vârfurilor u
și v coincid, este egal cu f (G2, k).
Însumând aceste valori, obținem numărul tuturor k-colorărilor corecte ale
grafului G, adică f (G, k).
Afirmația 3 reduce calculul polinomului cromatic f (G, k) al grafului arbitrar G la
calculul polinoamelor cromatice ale grafurilor cu un număr mai mare de muchii
sau cu un număr mai mic de vârfuri, și, în cele din urmă, a polinoamelor
cromatice ale grafurilor complete.
Polinom cromatic

Corolar 1. Polinomul cromatic al grafului arbitrar G este egal cu suma


polinoamelor cromatice ale unui număr de grafuri de ordin cel mult |X|.

În baza unui exemplu vom analiza algoritmul recursiv de calcul al polinomului


cromatic al grafului G care rezultă din afirmația 3.
Exemplu.
De calculat polinomul cromatic al grafului G reprezentat în desenul de mai jos.

În continuare, pentru a nota f (G,k) = f (G1, k) + f (G2,k), vom scrie G = G1  G2


sau vom desena grafurile respective.
Polinom cromatic
La primul pas al procesului se va obținesituația din desenul de mai jos:

Deoarece G2 este graf complet K4 , procesul va continua doar asupra grafului G1 .


Pașii următori generează grafurile:

Din G1 :

Deoarece și G11, și G12 nu sunt grafuri complete, continuăm procesul asupra


ambelor grafuri.
Polinom cromatic
Din G11 obținem:

Din G12 avem:

G121=K4 G122=K3
La această etapă se închee procesul, dearece toate grafurile obținute sunt
complete, și
f (G, k )  P( K 5 , k )  3P( K 4 , k )  P( K 3 , k ) 
 k (k  1)(k  2)(k  3)(k  4)  3k (k  1)(k  2)(k  3) 
 k (k  1)(k  2)  k 5  7k 4  18k 3  20k 2  8k .
Colorarea muchiilor grafului

Fie G=(X, U) un garf arbitrar şi k un număr natural.

Definiţia 1. Aplicaţia  : U  {1, 2, …, k} se numeşte k-colorare a


muchiilor garfului G. Numărul  (u) asociat muchiei u se numeşte
culoarea acestei muchii.

Definiţia 2. Colorarea muchiilor se numeşte corectă dacă muchiile


adiacente au culori distincte.

Graful pentru care  o k-colorare corectă a muchiilor se numeşte k-


colorabil.

Definiţia 3. Numărul minim k pentru care  o k-colorare corectă a


muchiilor gr. G se numeşte indice cromatic al grafului şi se notează (G).
Colorarea muchiilor grafului

Din definiţia grafului muchiilor   (G) =  (L (G)).

Într-o colorarea corectă a muchiilor grafului muchiile colorate cu aceiaşi


culoare formează cuplaj. 

  (G) poate fi tratat ca număr minimal de cuplaje în care se poate


diviza mulţimea de muchii a grafului G.

În orice colorare corectă muchiile lui G incidente unui vârf primesc culor
distincte. 
 (G)   (G).
Teorema. Pentru orice gr. G sunt adevărate inegalităţile

 (G)  (G)   (G)+1.


Colorarea muchiilor grafului

Exemplu. Cazul  (G) > (G).

 (G) = 3
6
G 7 4 5
 (G) = 4
3
2

•Determinăm colorarea corectă mimimă a munchiilor grafului G.


Colorarea grafurilor
planare

conf ., dr. Angela Niculiță

Facultatea de Matematică și Informatică

Universitatea de Stat din Moldova


Colorarea grafurilor planare

Problema colorării hărţii geografice:


Formulată la mijlocul secolului al XIX-lea, problema colorării grafurilor plane
este una dintre cele mai faimoase probleme din teoria grafurilor.

Inițial întrebarea sse formula astfel:

Sunt oare suficiente 4 culori pentru a colora o hartă geografică


astfel, ca ţările vecine să fie colorate diferit ?

Se luau în considerare numai acele hărți în care frontiera oricărei țări consta
dintr-o curbă închisă, iar țările care au o frontieră comună de lungime mai mare
ca zero se considerau vecine.

Definiţia hărţii. Graful conex, plan, fără muchii-punte se numeşte hartă.

Faţetele hărţii care au o muchie comună se numesc adiacente.


Colorarea grafurilor planare

Definiţie. Funcţia f care pune în corespondenţă fiecărei faţete  a hărţii un


număr natural f ( ){1, 2, …, k} (numit culoarea faţetei  ), astfel încât culorile
faţetelor adiacente să fie distincte, se numeşte k-colorare a hărţii.

Harta este k-colorabilă dacă pentru ea  o k-colorare.

În a. 1879 matematicianul britanic A. Caylley a publicat în primul volum al


Proceedings of the London Geographical Society un articol despre problema
colorării hărților, în care a formulat ipoteza celor patru culori.

Ipoteza celor 4 culori (A. Caylley, 1879):  hartă este 4-colorabilă


În cele ce urmează, folosim o altă formulare a ipotezei celor patru culori: fiecare
grafic plan este 4-colorabil.

Deoarece, prin definiție, un graf planar este izomorf unui graf plan, echivalența
acestor două formulări ale ipotezei celor patru culori rezultă din teorema care
urmează.
Colorarea grafurilor planare
Fie graful G=(X, U) un graf plan.

Vom contrui graful G* dual geometric grafului G astfel:

În interiorul fiecărei faţete i a lui G se alege un punct vi*. Această


mulţime de puncte sunt vârfurile gr. G*. Fiecărei muchii e a lui G i se
pune în corespondenţă curba e* care intersecteză muchia e şi uneşte
vărfurile grafului G* situate în faţetele lui G ale căror frontiere conţin e.

v2
v1 G – graf iniţial
2
1 G* - graf dual geometric

3
v3
Colorarea grafurilor planare

Teorema 1. Harta G este k-colorabilă dacă și numai dacă graful dual


geometric G* posedă o k-colorare corectă a vârfurilor.
Demonstrație.
 Deoarece G este graf plan fără muchii-punte rezultă că graful dual
geometric G* este plan (fără bucle).
Fie dată o k-colorare corectă a hărții G.
Construim o k-colorare a grafului G*, atribuind fiecăruia dintre vârfurile sale
culoarea fațetei în care se află acest vârf.
Deoarece vârfurile grafului G* sunt adiacente dacă și numai dacă fațetele care
le conțin sunt adiacente, colorarea rezultată va fi corectă.
În mod analogic, se poate trece de la colorarea corectă a grafului G* la colorarea
corectă a grafului G.
Observație. Există grafuri plane care nu pot fi colorate corect cu un număr de
culori mai mic de 4. De exemplu, graful К4.
Colorarea grafurilor planare

PROBLEMA CELOR 4 CULORI

1880 – prima demonstraţie a ipotezei (A.Kempe).

1890 - P.J. Heawood a arătat că demonstraţia lui Kempe este greşită.

Teorema 2 (P.J. Heawood, 1890).

Orice graf planar este 5-colorabil.

Dem-ţie.

Fie G graf plan. Folosim inducţia în raport cu nr. de vârfuri în garf.

Pentru grafuri cu n5, afirmaţia din teoremă e adevărată.

Considerăm că ea e adevărată pentru grafuri de ordin < n, unde n>5.

Cercetăm graful arbitrar G plan de ordin n+1.


Colorarea grafurilor planare

Conform afirmației 4 din tema Triangulaţii, orice garf planar cu n  4


conţine cel puţin 4 vârfuri gradele cărora nu întrec 5,  G conţine
vârful vo de grad  5.

N(vo) – vecinătatea vârfului vo în G.

1) | N(vo) |  4. Conform inducţiei graful G - vo este 5-colorabil.

Colorăm vârfuril lui cu 5 culori. Iar vârful vo poate fi colorat cu una din
cele 5 culori care nu a fost utilizată pentru a colora vârfurile din N(vo).
Colorarea grafurilor planare

2) | N(vo) |=5.

În N(vo)  2 vârfuri neadicente, fie v1 şi v2, altfel G(N(vo))=K5.

Graful G  obţinut din G la contopirea vârf. v1 şi v2 în vârful v este graf plan şi, conf.
inducţiei este 5-colorabil.
v3 v3
v1 v2

v
v0

v4 v5 v4 v5

Fixăm una din aceste colorări ale lui G  .

În G toate vărfurile cu excepţia v1 şi v2 se colorează la fel ca şi în G , iar lui v1 şi v2 le


atribuim culoarea vârf. v. Deci în N(vo) sau folosit maximum 4 culori.

Vârful vo poate fi colorat cu culoarea neutilizată în N(vo).  G e 5-colorabil.


PARCURGERI ALE GRAFULUI

1. Cicluri şi grafuri euleriene


2. Cicluri şi grafuri hamiltoniene

conf ., dr. Angela Niculiță

Facultatea de Matematică și Informatică

Universitatea de Stat din Moldova


1. Cicluri şi grafuri euleriene

Problema podurilor din Königsberg (1735) este considerată problema


care a dat naştere teoriei grafurilor.

Cetăţenii din Königsberg doreau să ştie, dacă se pot plimba pe cele 7


poduri ale oraşului, astfel încât fiecare pod să fie traversat o singură
dată şi punctul de oprire să coincidă cu punctul de plecare.
Cicluri şi grafuri euleriene

Euler a demonstrat, introducând termeni specifici, că nu există astfel de drum


(ciclu eulerian) și problema nu are soluții.
În a. 1736 L. Euler a publicat un articol în care a formulat și a soluționat
următoarea problemă generală a teoriei grafurilor:
În ce condiții graful conține un ciclu care trece prin fiecare muchie a acestui
graf?
Definiția 1. Un ciclu al grafului G se numește ciclu eulerian dacă el parcurge o
singură dată fiecare muchie a lui G.

Definiția 2. Un lanț al grafului G se numește lanț eulerian dacă el parcurge o


singură dată fiecare muchie a lui G.

Definiția 3. Graful G se numește eulerian dacă G conține ciclu eulerian.


Cicluri şi grafuri euleriene

Exemplu.

Graful G reprezentat în desen este eulerian deoarece conține cilclul eulerian


(B,F,E,D,C,G,J,I,H,K,A).
În acest graf există și alte cicluri euleriene.
Evident, orice două cicluri euleriene se deosebesc doar părin ordinea
parcurgerii muchiilor.
Cicluri şi grafuri euleriene
Teorema 1 (L.Euler, 1736). Graful conex G este eulerian dacă și numai dacă
gradele tuturor vârfurilor sale sunt numere pare.

Demonstrație.
Necesitatea. Fie G este graf eulerian, deci în G un ciclu care conține toate
muchiile grafului.
Ori de câte ori ciclul eulerian intră într-un vâfr v pe o muchie, trebuie să plece din
acel vâfr pe altă muchie. Deoarece nicio muchie nu apare de două ori în ciclu,
numărul de muchii incidente cu v este par, adică deg (v) este par.
Suficiența.
Fie G un graf conex, toate vârfurile căruia au grade pare.
Începem să constrtuim lanțul P1 dintr-un vârf arbitrar v1 prin alegerea de fiecare dată,
atât timp cât este posibil, a unei muchii noi.
Dearece toate vârfurile au grade pare, ajungând într-un vârf al grafului distinct de v1
vom avea la dispoziție o muchie încă ne parcursă.
Cicluri şi grafuri euleriene
Deci lanțul P1 poate fi extins prin adăugarea acestei muchii.
Astfel, construirea lanțului P1 se va încheia în vârful v1, adică P1 neapărat va fi un ciclu.
Dacă P1 сonține toate muchiile grafului G, atiunci acesta și este ciclul eulerian.
În caz contrar, eliminăm din G toate muchiile ciclului P1 și continuăm procesul cu
graful obținut G1.
Deoarece P1 și G au doar vărfuri de grafe pare, evident, și vărfurile grafului G1 vor
avea aceeași proprietate.

În plus, deoarece G este graf conex, rezultă că P1 și G1


trebuie să aibă cel puțin un vârf comun, fie v2.
Acum, analogic cum a fost construit ciclul P1, din
vârful v2 a grfului G1 începem să construim ciclul P2 .

Notăm prin P′1 și P′′1 părțile cilului P1 de la v1 până la


v2 și de la v2 până la v1 , respectiv.
Obținem un ciclu nou P3= P′1 U P2 U P′′1 , care începe din v1 , trece prin lanțul P′1
până la v2 , parcurge toate muchiile din P2 și pe lanțul P′′1 se întoarce în v1.
Cicluri şi grafuri euleriene
Dacă ciclul P3 nu este eulerian, atunci procesul continuă în mod analogic, până la
obținerea ciclului eulerian.

Apare întrebarea:

Cum poate fi determinat un ciclu eulerian într-un graf eulerian?

Altfel zis, cum pot fi marcate muchiile grafului cu numerele 1, 2, ..., |U|, astfel ca
numerele asociate muchiilor să indice ordinea parcurgerii lor în ciclul eulerian?

Vom analiza un algoritm care soluționează această problemă.


Cicluri şi grafuri euleriene

Algoritmul lui Fleury de construcție a unui ciclu eulerian

Inițial toate muchiile grafului sunt nemarcate.


1. Se alege aleator un vârf v pe care îl numim fruntaș. Muchia (v, u) se marchează
cu 1 și se elimină din G, iar vârful u devine fruntaș.
2. Dacă toate muchiile lui G au fost marcate, STOP. Altfel, se trece la pasul 3.
3. Fie w este vărful fruntaș în care am ajuns la pasul anterior și k este numărul cu
care s-a marcat muchia la acest pas.
Dintre toate muchiile incidente cu vârful w se alege, dacă este posibil, o muchie
care nu este punte. Dacă o astfel de muchie nu există, se alege una la întâmplare.
Muchia aleasă se marchează cu k+1 și se elimină din graf. Cealaltă extremitate a
muchiei eliminate, (alta decât vărful w), devine vârf fruntaș nou.
4. Se revine la pasul (2).
Vom construi ciclul eulerian în graful G aplicând algoritmul Fleury

Mai departe, conform algoritmului, pot fi selectate următoarele muchii


u4  (1,4), u5  (4,2), u6  (2,3), u7  (3,5), u8  (5,6), u9  (6,3).
Ciclul eulerian al grafului G este determinat de lista muchiilor:
u1  (3,4), u 2  (4,5), u3  (5,1), u 4  (1,4), u5  (4,2), u6  (2,3),
u7  (3,5), u8  (5,6), u9  (6,3).
2. Cicluri şi grafuri hamiltoniene

Definiția 1. Ciclul care parcurge exact o dată fiecare vârf al grafului se numeşte
ciclu hamiltonian.
Definiția 2. Lanțul care parcurge exact o dată fiecare vârf al grafului se numeşte
lanț hamiltonian.
Definiția 3. Graful care conține un ciclu hamiltonian se numește graf
hamiltonian.
Probleme care se reduc la găsirea ciclurilor hamiltoniene.
1. Turul unui cavaler de șah. Turul unui cavaler este o secvență de mișcări ale
unui cavaler pe o tablă de șah, astfel și cavalerul să viziteze fiecare pătrat exact
o dată , la ultima (64) mișcare revenind în patratul din care a pornit.
Problema se reduce la determinarea ciclului hamiltonian al unui graf simetric.
2. Problema comis-voiajorului (PCV). Pornind dintr-un oraș, comis-voiajorul
trebuie să viziteze o singură dată fiecare din cele n orașe din listă și să se
întoarcă în orașul inițial. Cunoscând distanțele dintre oricare două orașe,
trebuie de găsit cel mai scurt itinerar al comis-voiajorului.
Cicluri şi grafuri hamiltoniene

Spre deosebire de cazul ciclului eulerian, pentru ciclul hamiltonian nu există


un criteriu exact de determinare a existenţei acestuia într-un graf arbitrar.

Respectiv, pentru problema determinării ciclurilor (lanţurilor) hamiltoniene


nu există algoritmi eficienţi de complexitate polinomială.

Totuşi, există câteva teoreme, care pot stabili prezenţa ciclului hamiltonian în
anumite grafuri.
Cicluri şi grafuri hamiltoniene

Teorema 1 (G. Dirac, 1952). Fie un graf G cu n ≥3 vârfuri. Dacă pentru orice vârf
v din graf deg(v) ≥n/2, atunci graful G este hamiltonian.
Demonstrație.
Presupunem că G satisface condițiile date, însă G nu este hamiltonian.
Fie P  (v1 , , v p ) un lanți simplu al grafului G de lungime maximală.
Atunci toți vecinii vărfurilor v1 și vp aparțin lui P.
Deasemenea, v1 și vp sunt adiacente pe P cu cel puțin n/2 vârfuri (deoarece din
condiții  (G)  n / 2 ) .
Vom arăta că există un astfel de j {1,2,, p  1} , încât v j  N (v p ) și v j 1  N (v1 )
Presupunem contrariul. Atunci, pentru orice vârf vi adiacent cu vp în lanțul P
vârful vi+1 nu este adiacent cu v1.
n n
De aici rezută, deg( v1 )  p  1   n  , contradicție cu faptul că
2 2
 (G)  n / 2 .
Cicluri şi grafuri hamiltoniene

Deci, există un astfel de j, pentru care avem situația ilustrată în imaginea de mai jos

Notăm prin С ciclul (v1 , v2 , , v j , v p , v p1 , v j 1 , v1 ) .


Dacă С nu este hamiltonian, atunci în G există un vârf care nu aparține lui P.
Deparece  (G)  n / 2 și n ≥3,  G este graf conex.
Atunci în G există un vârf w ce nu aparține lui P dar este adiacent cu vârful vi din P.
În acest caz, lanțul care pornește cu muchia (w, vi ) și continuă dea lungul clului С
are lungime mai mare decât lanțul P.
Contradicție,  G este graf hamiltonian.
Cicluri şi grafuri hamiltoniene

Teorema 2 (O. Ore, 1960). Fie G un graf cu n ≥3 vârfuri. Dacă pentru orice
două vârfuri neadiacente u și v din graf are loc inegalitatea d (u)  d (v)  n,
atunci graful este hamiltonian.

Teorema 3 (V.Chvatal, 1972). Un graf cu șirul gradelor d1  d 2    d n


este graf hamiltonian, dacă pentru orice k care satisface condiția 1  k  n 2
este adevărată implicația (d k  k )  (d k n  n  k ) .

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