GRAFURI NEORIENTATE Definiţie: Se numeşte graf neorientat, o pereche ordonată de mulţimi G=(X,U), unde: • X este o mulţime finită şi nevidă de elemente numite vârfuri sau noduri; • U este o mulţime de perechi neordonate de câte două elemente din X, numite muchii sau arce. Exemple din lumea reală: prieteniile / cunoștințele orașe cu drumuri între ele conducte prin care curge apă Adiacenţă: vârfurile x şi y sunt adiacente dacă determină o muchie. Incidenţă: două muchii sunt incidente dacă au un vârf comun. Gradul unui vârf: numărul de muchii incidente la vârful x, notat cu d(x) vârf izolat, vârful care are gradul 0 vârf terminal, vârful care are gradul 1 Exemple de grafuri Vârfurile: 1, 2, 3, 4, 5, 6, 7 Muchi: (1,2), (2,4), (2,5), (3,7) Vârfuri terminale : 1, 3, 7 Vârf izolat: 6 Proprietate: Pentru un graf G=(X,U), cu n vârfuri şi m muchii, n d ( x) = 2m , adică suma ∑ x =1 tuturor gradelor vârfurilor este egală cu dublu numărului muchilor. Într-un graf există un număr par de vârfuri de grad impar Daca graful G are n vârfuri (n>=2) atunci cel puţin doua vârfuri au acelaşi grad. Numărul minim de muchii pe care trebuie să le conţină un graf neorientat cu n noduri ca să nu existe noduri izolate este mmin=[(n+1)/2] Numărul de grafuri neorientate ce se pot forma cu n vârfuri: n ( n −1) Cn2 2 2 =2 Graf parţial: graful obţinut din G=(X,U) prin suprimarea (eliminarea) unor muchii, mulţimea vârfurilor păstrându-se, notat cu G'=(X,U'). m Numărul de grafuri parţiale ale unui graf cu m muchii este 2 Subgraf: graful obţinut din G=(X, U) prin eliminarea unor vârfuri şi a muchilor incidente acestora, notat cu H=(Y,V) unde Y ∈ X, V ⊂ U. n Numărul de subgrafuri ale unui graf neorientat cu n noduri este egal cu 2 -1 Pentru graful: Graf parțial Graf subgraf Graf complet: graful cu proprietatea că oricare două vârfuri sunt adiacente. Un graf complet cu n vârfuri se notează cu Kn şi se referă în general la grafuri neorientate. Un graf complet Kn cu n vârfuri, are n(n − 1) muchii 2 Gradul oricărui vârf al unui graf complet este egal cu n-1 Graful complet are număr maxim de muchii Graf regulat: graf pentru care toate vârfurile au acelaşi grad. Graf bipartit: graful G=(X,U) pentru care mulţimea vârfurilor X poate fi partiţionată în două mulţimi A şi B (A ∪ B=X, A ∩ B= Φ ) şi orice muchie (x,y) are o extremitate în A şi una în B. Graf bipartit complet: graful bipartit pentru care orice vârf x din A şi orice vârf y din B, există muchia (x,y). Dacă p şi q reprezintă numărul vârfurilor ce aparţin mulţimi A (p=card(A)), respectiv B (q=card(B)), numărul muchilor unui graf bipartit m= p*q. Graf complet Graf bipartite Graf bipartite complet Lanţ: o secvenţă de vârfuri L=(v1,v2,...,vk) cu proprietatea că oricare două vârfuri consecutive sunt adiacente, altfel spus vi∈X şi există muchiile (v1,v2),(v2,v3),..., (vk-1,vk)ce aparţin lui U. Lungime lanţ: numărul de muchii din care este format. Lanţ elementar: lanţul pentru care toate vârfurile sunt distincte. Lanţ simplu: lanţul pentru care toate muchile sunt distincte. Ciclu: un lanţ pentru care extremitatea iniţială a lanţului coincide cu extremitatea finală. Ciclu elementar: un ciclu pentru care, cu excepţia primului şi ultimului, vârfurile sunt distincte. Ciclu simplu: un ciclu pentru care, muchile sunt distincte. Graf ciclic: un graf ce conţine cel puţin un ciclu. Graf aciclic: un graf ce nu conţine cicluri. Graf conex: graful neorientat G=(X,U) în care pentru orice pereche de vârfuri (x,y) există un lanţ care le uneşte. Componentă conexă: un subgraf al grafului G=(X,U), maximal în raport cu proprietatea de conexitate (între oricare două vârfuri există lanţ), altfel spus un subgraf al grafului care este conex. Graf biconex: un graf conex cu proprietatea că eliminând oricare nod al acestuia, graful rămâne conex Numărul maxim de cicluri independente pentru un graf este dat de numărul ciclomatic Nc=m–n+p, unde p este numărul de componente conexe Numărul maxim de muchii mmax dintr-un graf neorientat, cu n noduri şi p componente conexe este mmax=(n-p)(n-p+1)/2. Pentru un graf neorientat conex, avem un număr de m-n+1 cicluri elementar Lanţ hamiltonian: un lanţ elementar care conţine toate vârfurile/nodurile grafului. Ciclu hamiltonian: un ciclu elementar care conţine toate vârfurile/nodurile grafului. Graf hamiltonian: un graf ce conţine un ciclu hamiltonian. Teoremă: Dacă G este un graf cu n≥3 vârfuri, astfel încât gradul fiecărui vârf d(x)≥n/2 , atunci graful este hamiltonian (condiţie suficientă). Lanţ eulerian: un lanţ elementar care conţine toate muchiile/arcele grafului. Ciclu eulerian: un ciclu elementar care conţine toate muchiile/arcele grafului. Graf eurelian: un graf ce conţine un ciclu eulerian. Teoremă: Un graf este eulerian dacă şi numai dacă graful este conex şi gradele tuturor vârfurilor sunt pare (condiţie necesară şi suficientă). Reprezentarea grafurilor neorientate Fie graful: A. Matricea de adiacenţă ( ( Aij = 1 daca exista muchie între vârful i şi vârful j ( ( 0 daca nu exista muchie între vârful i şi vârful j 0 1 1 A= 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 matricea de adiacenţă este simetrică faţă de diagonala principală gradul unui vârf este dat de numărul de 1 de pe linia/coloana respectivă suma elementelor din matrice n ∑ A[i][ j ] = 2 ⋅ m i =1, j =1 B. Lista de adiacenţă (lista vecinilor) Vârful 1 2 3 4 5 6 Vecinii 2, 3, 4 1, 4, 5 1, 4 1, 2, 3 2 vidă C. Vector de muchii Vector de muchii Vi (x, y) 1 (1, 2) 2 (1, 3) 3 (1, 4) 4 (2, 4) Vector de grade Varf Grad d[i] 1 3 2 3 3 2 4 3 5 1 D. Matricea drumurilor ( ( dij = 1 daca exista drum între nodul i şi nodul j ( ( 0 daca nu exista drum între nodul i şi nodul j 6 0 5 (2, 5) 6 (3, 4)