2.1 Vocabularul teoriei grafurilor

Mărimea: px
Porniți afișarea la pagina:

Download "2.1 Vocabularul teoriei grafurilor"

Transcriere

1 108. TEORIA GRAFURILOR.1 Vocabularul teoriei grafurilor Un graf este o pereche (V,E) formată din o mulţime de noduri V ş i o l i s t ă de muchii E. Muchiile reprezintă conexiuni dintre noduri. Fiecare muchie e E are două capete x, y V,numitenodurileadiacente la e, şispunem că e este incidentă la nodurile x ş i y. Muchiile pot fi orientate sau nu. Un graf orientat are toate muchiile orientate, iar un graf neorientat are toate muchiile neorientate. Muchiile orientate, numite şi arce, au o direcţie de la un capăt numit sursă la celălalt capăt, numit destinaţie. Folosim notaţiile x!y pentru un arc de la x la y, csix y pentru o muchie neorientată incidentă la x ş i y. În general, dacă x = y atunci x!y = y!x dar x y = y x. Din acest motiv, identificăm x!y cu perechea ordonată hx, yi V V, şi x y cu mulţimea {x, y}. Grafurile orientate se numesc şi digrafuri, O buclă este o muchie incidentă la un singur nod. În general, fiecare muchie e E are o multiplicitate m(e) N {0} care indică de câte ori apare e î n E. Tipuri de grafuri Un graf G =(V,E) estesimplu dacă nu conţine bucle şi m(e) =1pentru toate muchiile e E. G este pseudograf dacă nu conţine bucle şi există e E cu m(e) > 1. G este multigraf dacă conţine bucle şi există e E cu m(e) > 1. Graful suport al unui graf G =(V,E) este graful simplu G 0 =(V,E 0 ) a cărui mulţime de muchii se obţine eliminând din E buclele şi presupunând că toate celelalte muchii au multiplicitatea 1. Un graf ponderat este o pereche (G, w) formată din un graf G =(V,E) ş i o f u n c ţ i e w : E! R care atribuie fiecărei muchii e o pondere sau greutate w(e). Reprezentarea vizuală a unui graf ponderat include şi valoarea ponderii de-a lungul fiecărei muchii. Figura de mai jos ilustrează un graf ponderat cu distanţele drumurilor dintre câteva oraşe din România: Arad 5 Timişoara 10 Lugoj Reşiţa Caransebeş Deva 0 18 Hunedoara Haţeg Simeria

2 .1. VOCABULARUL TEORIEI GRAFURILOR 10 Reprezentări vizuale Grafurile sunt reprezentate vizual ca figuri constând din puncte (forme geometrice mici: puncte, cercuri, pătrate, etc.) care reprezintă nodurile grafului, şi curbe care conectează capetele muchiilor din graf. Pentru fiecare muchie e desenăm m(e) curbe între capetele ei, iar dacă e este orientată, îi indicăm direcţia cu o săgeată. Putem adăuga etichete (numere, nume, etc.) nodurilor şi muchiilor pentru a obţine reprezentări vizuale mai bune. Trei reprezentări în plan ale grafului simplu G =({1,,,, 5,, 7, 8}, {1, 1, 1,,,, 5 7}) sunt: sau sau iar pseudograful G 1 =({a, b, c, d}, {a b, a b, a c, c d, c d}), multigraful G = ({1,,,, 5, }, {1 1, 5 5, 1,,,, 1 5, 5, 5 }) şi digraful G =({a, b, c, d, e}, {a!b, a!e, a!d, b!e, c!b, d!c, e!a} au reprezentările în plan a b 1 5 c b a 7 c G 1 d G d e G.1.1 Noţiuni fundamentale În cele ce urmează vom presupune implicit că G este un graf. Vom folosi notaţia V (G) pentrumulţimeadenodurialuig, şie(g) pentru colecţia (mulţime sau multiset) de muchii a lui G. Ordinul lui G este numărul de noduri din V (G), iar mărimea lui G este numărul de muchii din E(G). Vecinătatea aunuinodx este mulţimea {y x y E(G)} dacă G este neorientat, V (x) = {y x!y E(G)} dacă G este orientat iar vecinătatea închisă aluix este V [x] =V (x) [{x}. Dacă S este o mulţime de noduri, atunci vecinătatea lui S este V (S) = S xs V (x) iar vecinătatea închisă a lui S este V [S] =V (S) [ S. Pentru grafuri orientate definim gradul interior şi gradul exterior al unui nod x deg (x) = X 1, deg + (x) = X 1. y!xe(g) x!ye(g)

3 110. TEORIA GRAFURILOR Gradul unui nod x este numărul de muchii la care x este adiacent: 8 X >< + X 1 dacă G este neorientat, deg(x) = x xe(g) x ye(g) x=y >: deg (x)+deg + (x) dacă G este digraf. Observaţi că buclele se numără de două ori! Secvenţa de grade a lui G este lista cu gradele nodurilor lui G în ordine descrescătoare. Exemplul 1. Fie grafurile G 1 : 1 5 G : 1 5 G 1 este un multigraf neorientat cu V (G 1 )={1,,,, 5, }, E(G 1 ) =şi caracteristicile următoare ale nodurilor: v V (v) V [v] deg(v) 1 {1,, 5} {1,, 5} {1,, } {1,,, } {, } {,, } {, } {,, } 5 {1} {1, 5} 1 ; {} 0 Secvenţa de grade a lui G 1 este lista [,,,, 1, 0]. G este un digraf cu V (G )={a, b, c, d, x, y}, E(G ) = 7 şi caracteristicile următoare ale nodurilor: v V (v) V [v] deg (v) deg + (v) deg(v) 1 {1,, 5} {1,, 5} {1,,, 5} {1,,,, 5} 5 {, } {,, } 1 1 {, } {,, } {1, } {1,, 5} 1 1 ; {} Secvenţa de grade a lui G este lista [5,,,, 1, 0]. Se observă că în ambele cazuri avem P xv (G i ) deg(x) = E(G i) Gradul minim al lui G este (G) =min{deg(x) x V (G)} iar gradul

4 .1. VOCABULARUL TEORIEI GRAFURILOR 111 maxim al lui G este (G) = max{deg(x) x V (G)}. Geste regulat dacă toate nodurile au acelaşi grad şi k-regulat dacă toate nodurile au gradul k. Un exemplu de graf -regulat este graful lui Petersen Un nod x V (G) este izolat dacă deg(x) = 0, şi terminal dacă deg(x) = Proprietăţi fundamentale Prima Teoremă a Teoriei Grafurilor. Într-un graf, suma gradelor nodurilor este egală cu dublul numărului de muchii. X xv (G) deg(x) = E(G). Prin urmare, numărul de noduri cu grad impar este par. Demonstraţie: Fie N = P xv (G) deg(x). Se observă că, atunci când calculăm N, numărăm fiecare muchie e de exact ori fiindcă contribuie cu 1 la gradele ambelor noduri adiacente la e. Deci N = E(G). Întrucât N = P xv (G) deg(x) este par, este necesar ca numărul de noduri cu grad impar să fie par. A Doua Teoremă a Teoriei Grafurilor. Orice drum de la x la y conţine un drum elementar de la x la y. Demonstraţie: Fie =[x 1,...,x n ]undrumdelax la y, adică un drum în care x 1 = x ş i x n = y. Demonstrăm teorema prin inducţie după lungimea n a drumului. Dacă n = 1 atunci x = x 1 = x n = y, deci =[x] estedrum elementar. Dacă n>1şi nu este elementar, atunci există 1 apple i<japple n cu x i = x j şi avem situaţia ilustrată mai jos: x i 1 x i x j x x j 1 x i+1 x n 1 x 1 x j+1 =[x 1,...,x i,...,x j,...,x n ] x n x i 1 x x j+1 i x x n 1 ) x1 x n 0 =[x 1,...,x i,x j+1,...,x n ]

5 11. TEORIA GRAFURILOR Rezultă că 0 = [x 1,...,x i,x j+1,...,x n ]esteundrumdelax 1 = x la x n = y. Lungimea lui 0 este n (j i) <n. Conform ipotezei inductive, drumul conţine un drum elementar 00. Deoarece îl conţine pe 0,rezultă că îl conţine şi pe Grafuri izomorfe Două grafuri sunt considerate identice, în sensul că au aceeaşi structură, dacă putem redenumi nodurile primului graf astfel încât să coincidă cu al doilea graf. În teoria grafurilor, acest proces de redenumire a nodurilor este descris de o funcţie bijectivă numită izomorfism: B Două grafuri neorientate simple G, H sunt izomorfe,şi scriemg ' H, dacă există o bijecţie ' : V (G)! V (H) astfel încât x y E(G) dacă şi numai dacă '(x) '(y) E(H). B Două grafuri orientate simple G, H sunt izomorfe, şi scriem G ' H, dacă există o bijecţie ' : V (G)! V (H) astfel încât x!y E(G) dacă şi numai dacă '(x)!'(y) E(H). Exemplul. Grafurile ilustrate mai jos sunt izomorfe deşi reprezentările lor vizuale arată diferit: G 1 ' H 1 fiindcă funcţia ' 1 5 a h de mai jos este izomorfism: G 1 : G : 8 d c x 7 b z a H 1 : i H : 1 5 g c b n d '(1) =a, '() =h, '() =d, '() =i, '(5) =g, '() =b, '(7) =n, '(8) =c. G ' H fiindcă funcţia ' de mai jos este izomorfism: '(a) =1, '(b) =, '(c) =, '(d) =, '(x) =5, '(z) =.,,' este o relaţie de echivalenţă pe mulţimea grafurilor, iar aflarea răspunsului la întrebarea,,g ' H? este o problemă a cărei clasă de complexitate nu ştim dacă este polinomială sau NP completă. În prezent, cel mai eficient program de testare a izomorfismului este Nauty (abreviere de la No AUTomorphisms, Yes?), propus de McKay [10] şi implementat în C. În 015, Babai a anunţat descoperirea unui algoritm de testare a izomorfismului de grafuri în timp quasipolinomial O((log n)c) unde c>0 este o constantă [].

6 .1. VOCABULARUL TEORIEI GRAFURILOR Conectivitate Fie G =(V,E) un graf. Un drum (sau cale) delax 1 la x k î n G este o listă de noduri =[x 1,x,...,x k ] cu proprietatea că 1. (x i x i+1 ) E pentru toţi 1 apple i<kdacă G este graf neorientat. O altă notaţie folosită pentru acest drum este x 1 x... x k.. (x i!x i+1 ) E pentru toţi 1 apple i<kdacă G este digraf. O altă notaţie folosită pentru acest drum este x 1!x!...!x k. Vom scrie x y ca să indicăm că există un drum de la x la y, şix y ca să indicăm că este un drum de la x la y. Un drum este elementar dacă nu conţine de mai multe ori acelaşi nod, şi simplu dacă nu conţine de mai multe ori aceeaşi muchie. Un ciclu este un drum simplu [x 1,x,...,x k,x 1 ]. Ciclul este elementar dacă [x 1,x,...,x k ] este drum elementar. Orice drum sau ciclu elementar este simplu, dar reciproca nu este adevărată. Lungimea unui drum sau ciclu este numărul de muchii din el. Un drum sau ciclu este hamiltonian dacă este elementar şi trece prin toate nodurile grafului. Un drum este eulerian dacă este simplu şi traversează toate muchiile grafului. Un graf este hamiltonian dacă are un ciclu hamiltonian, şi eulerian dacă are un ciclu eulerian. Exemplul. G: Graful G este hamiltomian şi eulerian pentru că are ciclul hamiltonian [1,,,, 8, 7, 5,,, 1]. are ciclul eulerian [1,,,, 5, 7, 8,,, 8, 5,,,, 1]. [1,,,,,, 8] este un drum de la 1 la 8 care nu este simplu pentru că traversează de ori muchia, nu este elementar pentru că trece de ori prin nodurile şi. 8 Drumul [,, 8,,, ] este simplu dar nu este elementar. Drumul [1,,,, 8, 7, 5,, ] este elementar.

7 11. TEORIA GRAFURILOR.1.5 Componente conexe Componentele conexe sunt definite pentru grafuri neorientate. În această subsecţiune presupunem că G este graf neorientat. Două noduri sunt conectate dacă există un drum de la unul la celălalt. Se observă că relaţia de conectivitate este o relaţie de echivalenţă pe V (G). Clasele de echivalenţă ale lui se numesc componente conexe ale lui G. G este conex dacă are o singură componentă conexă, adică dacă oricare două noduri din V (G) sunt conectate. Exemplul. Graful din Exemplul este conex, iar graful are componente conexe: {1,,,, 5}, {, 8, } ş i {7}..1. Componente tare conexe Componentele tari sunt definite pentru grafuri orientate. În această subsecţiune presupunem că G este un digraf. Relaţia binară ct definită pe V (G) astfel: x ct y :, x y ş i y x este o relaţie de echivalenţă numită conectivitate tare. Clasele de echivalenţă ale lui ct sunt componentele tari ale lui G. G este tare conex dacă are o singură componentă tare. Exemplul 5. Fie G 1 ş i G digrafurile G 1 : G : G 1 este tare conex, iar G are trei componente tari: C 1 = {1,,,, 5}, C = {, 8, } ş i C = {7}.

8 .1. VOCABULARUL TEORIEI GRAFURILOR Clase de grafuri K n este graful complet de ordinul n. Acesta are V (K n )={1,,...,n} ş i E(K n )={i j 1 apple i = j apple n}. K n are n noduri şi n(n 1)/ muchii. K 1 K K K K 5 E n este graful nul de ordinul n. Acesta are V (E n ) = {1,,...,n} ş i E(E n )=;, adică n noduri şi nici o muchie. E 1 E E E E 5 C n este graful ciclic de ordinul n. Acesta are V (C n )={1,,...,n} ş i E(C n )={i j 1 apple i apple n, j =1+(i mod n)}. C n are n noduri şi n muchii. C 1 C C C C 5 C P n este drumul de ordinul n. Acesta are V (P n )={1,,...,n} ş i m u l ţ i m e a de muchii E(P n )={i j 1 apple i<n,j= i +1}. P n are n noduri şi n 1 n 1 n 1muchii. Clasa grafurilor bipartite complete K m,n este definită pentru numere naturale strict pozitive m, n. K m,n este graful neorientat cu mulţimea de noduri V (K m,n )=X m [Y n unde X m = {x 1,x,...,x m }, Y n = {y 1,y,...,y n }, ş i m u l ţ i m e a d e n o d u r i E(K m,n )={x i y j hx i,y j ix m Y n }.Deexemplu

9 11. TEORIA GRAFURILOR X 1 Y 1 X 1 Y X Y X Y K 1,1 K 1, K, K, K m,n are m + n noduri şi m n muchii. Mulţimea de noduri a lui K m,n este oreuniunedesubmulţimidisjunctex m ş i Y n, iar toate muchiile sunt între un nod din X m ş i u n n o d d i n Y n. Un arbore de ordinul n este un graf neorientat cu n noduri care este conex şi fără cicluri. Mulţimea, sau clasa, acestor arbori, se notează cu T n. De exemplu, grafurile de mai jos sunt arbori din clasa T 5 : G 1 : G : G : Secvenţele de grade ale arborilor G 1,G,G sunt [, 1, 1, 1, 1], [,, 1, 1, 1] şi [,,, 1, 1]. Deoarece sunt diferite, rezultă că G i ' G j dacă 1 apple i<japple. Orice arbore din clasa T n are n noduri şi n 1muchii..1.8 Grafuri parţiale, subgrafuri şi subdiviziuni Fie G =(V,E) un graf şi S V. Un graf parţial al lui G este un graf (V,E 0 )cue 0 E. Subgraful indus de S î n G este graful G[S] =(S, E 0 ) unde E 0 = {e E e este incidentă doar la noduri din S}. Spunem că H este subgraf al lui G (sau că H este conţinut î n G) dacă H = G[S] pentru omulţimedenoduris V. Un subgraf parţial al lui G este un graf parţial al unui subgraf al lui G. Exemplul. Fie G graful u t Un subgraf al lui G este subgraful indus G[{u, v, x, y, s, t}]: iar un subgraf parţial al lui G este w s v z u t x y s v x y u t s v x y

10 .1. VOCABULARUL TEORIEI GRAFURILOR 117 O n-clică, sau doar clică, a unui graf neorientat G este un subgraf izomorf cu K n al lui G. De exemplu, fiecare din grafurile G n de mai jos are o n-clică ale cărei muchii le-am indicat cu linii îngroşate. G G G Un graf obţinut prin inserarea unui nod nou z pe o muchie e E(G) este graful (V (G) [{z},(e(g) {e}) [{e 1,e })unde e 1 = x z ş i e = z y dacă e = x y. e 1 = x!z ş i e = z!y dacă e = x!y. O subdiviziune aluig este un graf obţinut prin una sau mai multe inserări succesive de noduri noi pe muchiile lui G. Exemplul 7. Fie grafurile G 1 : ş i G : G 1 este o subdiviziune a lui K,. G nu este subdiviziune a lui K,..1. Operaţii pe grafuri Fie G un graf, S V (G) şit E(G). Definim operaţiile: G S este subgraful indus G[V (G) S]. Scriem G x î n l o c d e G {x}. G T este graful parţial G 0 cu V (G 0 )=V (G) şie(g 0 )=E(G) T. Scriem G e î n l o c d e G {e}. Graful G \ S obţinut prin contracţia nodurilor din S este graful cu I V (G \ S) =(V (G) S) [{x S } unde x S este un nod nou care înlocuieşte toate nodurile din S. I Dacă G este neorientat atunci E(G \ S) este {x y x, y V (G) S ş i x y E(G)}[ {x x S există x y E(G) cux V (G) S ş i y S}.

11 118. TEORIA GRAFURILOR iar dacă G este orientat atunci E(G \ S) ={x!y x, y V (G) {x!x S există x!y E(G) cu x V (G) S ş i y S}[ {x S!y există x!y E(G) cu x S ş i y V (G) S ş i x!y E(G)}[ Graful G \ e obţinut prin contracţia muchiei e este graful G \ S unde S este mulţimea de noduri incidente la e. Exemplul 8. Fie G 1 ş i G grafurile următoare: G 1 : 1 5 Mai jos sunt ilustrate efectele acestor operaţii. S}. 1 7 G : 5 8 G 1 {1, 5} 1 5 G 1 (1 5) x {1,5} G 1 \{1, 5} = G 1 (1 5) x {1,,,,5} 5 8 G 5 8 G {!,!} 8 G \{1,,,, 5} 5 8 G \(!).1.10 Statistici descriptive Statistica descriptivă a grafurilor cuprinde calculul unor valori numerice care ne permit să ne formăm o părere generală despre structura unui graf. Aceste valori sunt utile mai ales în analiza grafurilor mari, cu sute de mii sau milioane de noduri sau muchii, care sunt greu de vizualizat în detaliu. Cele mai importante valori caracteristice ale un graf au fost deja definite, şi sunt: (1) ordinul, adică numaărul total de noduri. () mărimea,

12 .1. VOCABULARUL TEORIEI GRAFURILOR 11 adică numărul total de conexiuni, şi () (G) şi (G), care sunt limitele între care variază numărul de vecini ai unui nod. Alte valori caracteristice importante sunt: numărul de independenţă, numărul de clică, gradul de conectivitate, raza ai diametrul. Aceste valori statistice descriptive vor fi definite în continuare. Fie G un graf neorientat. OmulţimedenoduriS V (G) estestabilă sau independentă î n G dacă nu există nici o muchie între nodurile sale, adică x y E(G) pentru orice x, y S. Numărul de independenţă (G) al lui G este numărul maxim de noduri din o mulţime stabilă a lui G, adică (G) = max{ S S este mulţime independentă în G}. Numărul de clică!(g) al lui G este ordinul maxim al unei clici din G, adică!(g) = max{n H este n-clică a lui G}. Exemplul. Fie grafurile b c y z G 1 : x a ş i G : s d t e G 1 este graful lui Petersen. G 1 are numărul de independenţă (G 1 )=şi numărul de clică!(g 1 ) =. În G 1, {a, c, s, t} ş i {x, y, s, t} sunt mulţimi stabile maxime (mai sunt şi altele), iar o clică de ordin maxim este G 1 [{d, e}]. (G )=şi!(g ) =. În G, o mulţime stabilă maximă este {5,, 7} iar o clică de ordin maxim este G 1 [{1,,, 7}]. Fie G un graf neorientat conex. x V (G) estenod de articulaţie (engl. cut vertex) dacă G x nu este conex. Altfel spus, ştergerea lui e distruge conectivitatea lui G. e E(G) esteopunte (engl. bridge) dacă G e nu este conex. Altfel spus, ştergerea muchiei e distruge conectivitatea lui G. S ( V (G) esteomulţime de articulaţie (engl. vertex cut set) alui G dacă graful G S nu este conex. Altfel spus, ştergerea nodurilor din S distruge conectivitatea lui G.

13 10. TEORIA GRAFURILOR Gradul de conectivitate apple(g) al unui graf incomplet G este numărul minim de noduri ce trebuie eliminate din G pentru a-l deconecta, adică apple(g) = min{ S S este mulţime de articulaţie a lui G}. Dacă k este un întreg strict pozitiv, spunem că G este k-conex dacă k apple apple(g). Distanţa d(x, y) delax la y este cea mai mică lungime a unui drum de la x la y. Excentricitatea e(x) a nodului x este distanţa cea mai mare de la x la un nod în G, adică e(x) = max{d(x, y) y V (G)}. Centrul lui G este mulţimea nodurilor cu excentricitate minimă. Periferia lui G este mulţimea nodurilor cu excentricitate maximă. Raza lui G este excentricitatea unui nod din centrul lui G, adică radius(g) =min{e(x) x V (G)}. Diametrul lui G este excentricitatea unui nod de la periferia lui G, adică diam(g) = max{e(x) x V (G)}. Exemplul 10. Graful conex G 1 : a b c d e g are puncte de articulaţie (cele încercuite) şi punţi (cele îngroşate). Deci apple(g 1 ) = 1. Graful conex G : f a b c d e g nu are puncte de articulaţie şi nici punţi, dar are mulţimi de articulaţie cu noduri,deexemplu{c, e}, {f, g} sau {b, e}. Deciapple(G ) =. Exemplul 11. În graful conex G: r a x v s c e f u h h z

14 .1. VOCABULARUL TEORIEI GRAFURILOR 11 avem d(x, c) =, d(r, z) =, e(x) =, e(z) =, radius(g) = şi diam(g) =. G are centrul {x, e} ş i p e r i f e r i a {r, z} Concluzii În secţiunea introductivă.1 an descris diferitele tipuri de grafuri şi vocabularul teoriei grafurilor. Reţinem că: Grafurile sunt modele de relaţii binare între componentele unui sistem. Ele sunt perechi (V,E) în care V este o mulţime de noduri (sau vârfuri) iar E este o mulţime de muchii. Nodurile reprezintă componentele unui sistem, iar muchiile reprezintă muchiile dintre ele. Grafurile sunt neorientate sau orientate. Grafurile orientate se numesc şi digrafuri. Un graf neorientat are E {{x, y} x, y V }. Scriem x y î n l o c de {x, y} şi numim nodurile x, y capetele muchiei x y. Muchiile sunt neorientate pentru că x y coincide cu y x. Un digraf are E V V. Scriem x!y î n l o c d e hx, yi ş i n u m i m nodurile x, y capetele muchiei x!y. Muchiile sunt orientate pentru că, dacă x = y, atunci x!y = y!x. O muchie orientată se numeşte arc. O buclă este o muchie ale cărei capete coincid, adică x x sau x!x. Fiecare muchie e are o multiplicitate m(e) N {0}. Distingem trei tipuri de grafuri: grafuri simple, pseudografuri şi multigrafuri. Un graf simplu nu are bucle şi toate muchiile au multiplicitatea 1. Un pseudograf nu are bucle dar are muchii cu multiplicitate mai mare ca 1. Un multigraf are bucle şi muchii cu multiplicitate mai mare ca 1. Un graf ponderat are şi o funcţie w : E! R care asociază fiecărei muchii e o pondere w(e)..1.1 Exerciţii 1. Există un graf simplu neorientat cu secvenţa de grade [,, 5,,,, ]?. Există un graf simplu neorientat cu n noduri şi secvenţa de grade [0, 1,,...,n,n 1]?