Sunteți pe pagina 1din 8

Capitolul 7 NUMRUL DE STABILITATE I DENSITATEA UNUI GRAF

7.1.

Mulimi stabile i clici

adic, x, y S [x, y] U . Notm cu P familia mulimilor stabile n graful G. O mulime stabil S care este maximal n raport cu relaia de incluziune ntre mulimi se numete mulime stabil maximal, adic S S' S' P ( S' X ). Numrul (G) = max | S | se numete numrul de stabilitate al grafului G, iar o mulime S P cu | S | = (G) va fi numit sistem de stabilitate al grafului G. Definiie. Se numete clic n graful G o mulime de vrfuri C X care genereaz un subgraf complet n graful G, adic x, y C [x, y] U . Se numete densitatea grafului G, numrul (G) = max | C | ,
CC SP

Definiie. Numim mulime stabil n graful G o mulime de vrfuri S X pentru care [S]G = [S, 0] , /

unde C este familia clicilor grafului G. Observaii. a) Pentru orice mulime stabil S P i orice clic C C are loc relaia: | S C | 1. b) Orice mulime stabil n graful G este o clic n graful su complementar G i invers. Avem evident: (G) = (G) i (G) = (G) . Un graf G cu n vrfuri i m muchii va fi notat cu G(n,m). Una dintre cele mai importante probleme privind densitatea unui graf este urmtoarea: Fie n i k < n dou numere naturale. Care este cel mai mic numr z k +1 (n) cu proprietatea:

95

m z k +1 (n) (G(n, m)) k + 1 ? Pentru a rspunde la aceast ntrebare s considerm: n = tk + r, n k unde t = , 0 r k 1 i s construim graful Tn n felul urmtor: k
k Graful Tn are n vrfuri repartizate n clasele S1 ,S2 ,...,Sk cu

t + 1, i = 1, 2,..., r | Si | = i = r + 1,..., k, t, iar dou vrfuri diferite vor fi unite printr-o muchie dac i numai dac aparin la clase diferite.
k Se constat uor c numrul muchiilor grafului Tn este:

f k (n) =

k(k 1)t 2 r(r 1) + r(k 1)t + 2 2 k 1 2 2 r (n r ) + . = 2k 2

7.2.

Problema mulimii independente

n matematic, problema mulimii independente (independent set problem (IS)) este recunoscut ca o problem de teoria grafurilor sau/i combinatoric. Problema mulimii independente este de tipul NP complet. Descriere Fiind dat un graf G, o mulime independent reprezint o submulime a nodurilor grafului considerat, noduri neadiacente. Cu alte cuvinte, subgraful indus de aceste noduri nu are muchii, ci doar vrfuri izolate. n aceste condiii, problema mulimii independente cere: Fiind dat un graf G i un ntreg k, are G o mulime independent de mrime cel puin k? Problema de optimizare corespunztoare este cunoscut sub numele de problema mulimii independente maxime, care ncearc s gseasc cea mai extins mulime independent dintr-un graf. Odat gsit soluia problemei decizionale, se poate face uz de cutarea binar pentru a rezolva problema iniial, apelarea soluiei fiind de ordinul O(log V ) . Se cunoate faptul c pentru aceast problem nu avem un algoritm de aproximare al factorului constant dac P NP . Algoritmi Cel mai simplu algoritm pentru mulimile independente examineaz fiecare submulime de vrfuri de mrime cel puin k, verificnd dac este independent sau nu. Acest lucru implic un timp de ordin polinomial dac

96

acest k egaleaz numrul vrfurilor, sau dac este mai mic cu o unitate ca acesta, dar nu dac reprezint jumtate din numrul vrfurilor. O problem mult mai uor de rezolvat este aceea a gsirii unei mulimi independente maximale, care s nu fie coninut n nici o alt astfel de mulime independent. Pornim de la un singur vrf. Gsim un vrf neadiacent celui considerat iniial i-l adugm mulimii respective, apoi gsim un alt nod neadiacent niciunui vrf menionat anterior .a.m.d. pn cnd nu mai gsim astfel de noduri. La acel moment mulimea este maximal independent. Se cunosc algoritmi mult mai compleci, de listare a tuturor mulimilor independente maximale, dar, n general, numrul unor astfel de mulimi poate fi foarte mare. Demonstraia NP complet Se poate observa uor c problema este de tipul NP (aparine clasei NP), innd cont de faptul c, dac avem o submulime de vrfuri, putem verifica dac exist muchii ntre oricare din dou vrfuri ntr-un timp polinomial. Pentru a arta c problema este de tipul dificultate NP (NP dificil), vom folosi o reducere a unei alte probleme de tipul NP complet. Presupunem c se cunoate deja rezultatul lui Cook, conform cruia problema satisfacerii booleene este NP complet. Orice formul boolean poate fi redus, n mod eficient, la forma sa normal conjunctiv (conjunctive normal form CNF). n forma normal conjunctiv: Formula este o conjuncie (and ( i)) de propoziii. Fiecare propoziie reprezint o disjuncie (or(sau)) de literali. Fiecare literal reprezint fie o variabil fie negaia acesteia. Spre exemplu, urmtoarea formul constituie o form CNF, unde ~ denot negaia: ( x1 sau ~ x2 sau ~ x3 ) i ( x1 sau x2 sau x4 ) O astfel de formul este satisfctoare dac putem atribui valori adevrat / fals fiecrei variabile n parte astfel nct cel puin un literal din fiecare propoziie s aib valoarea de adevr adevrat. Spre exemplu, orice atribuire a lui x2 cu valoarea de adevr fals, respectiv a lui x4 cu valoarea de adevr adevrat satisface formula mai sus amintit. n cele ce urmeaz, se va prezenta o reducere de tipul mai muli - la unul (timp - polinomial), de la CNF- la problema mulimii independente. Mai nti, se ataeaz cte unu nod pentru fiecare literal din formul; se includ duplicate ale vrfurilor pentru apariii multiple. Se traseaz o muchie ntre: 1. Oricare doi literali, fiecare reprezentnd negaia celuilalt. 2. Oricare doi literali, ce se afl n aceeai propoziie.

97

Astfel, n exemplul de mai sus, x2 ar fi adiacent cu ~ x2 , primul x1 ar fi adiacent cu ~ x2 , iar cel de-al doilea x1 ar fi adiacent cu x4 .

Graful rezultat n urma reducerii, pentru exemplul de mai sus Rmne de vzut dac acest graf are o mulime independent de mrime cel puin k, unde k reprezint numrul propoziiilor, dac i numai dac formula rmne satisfctoare. S presupunem c avem o atribuire ce satisface formula iniial. n aceste condiii putem alege un literal din fiecare propoziie, care devine adevrat prin atribuirea acestei valori. Aceast mulime este independent, deoarece include un literal din fiecare propoziie (nu exist muchii de tipul 2), i deoarece nici o atribuire nu transform att literalul ct i negaia acesteia propoziii adevrate(nu exist muchii de tipul 1). Pe de alt parte, ns, presupunnd c avem o mulime independent de mrime k, sau mai mare; nu poate conine oricare doi literali n aceeai propoziie, odat ce acestea constituie perechi adiacente. Dar, innd cont de faptul c exist cel puin k noduri i k propoziii, trebuie s avem cel puin unul n fiecare propoziie (de fapt exact 1). De asemenea nu se poate ntmpla s coexiste un literal i negaia sa, deoarece exist muchii ntre acestea. Aceast nseamn c este uor s alegem o atribuire astfel nct toate cele k propoziiile s devin adevrate, aceast atribuire satisfcnd formula iniial. Ceea ce face ca reducerea la mulimea independent s fie att de simpl este capacitatea muchiilor de a exprima, n graf, constrngerile, dar i necesitatea de a nu alege simultan un literal i negaia sa. Problema colorrii grafurilor beneficiaz, de asemenea, de aceast proprietate.

7.3.

Problema clicii

n teoria complexitii computaionale, problema clicii este o problem teoretic n grafuri, de complexitate NP. Problema se numr printre problemele iniiale, de complexitate NP, prezentate de ctre Richard Karp n cadrul seminarului din 1972 intitulat Reductibility Among Combinatorial Problems. Aceast problem a fost, de asemenea, menionat i n articolul lui Cook, o introducere n teoria problemelor NP - complete.

98

Graf coninnd clic de mrime 3 Clica ntr-un graf reprezint o mulime de vrfuri adiacente perechi, adic subgraful indus, care este un graf complet. n cele din urm, problema clicii const n determinarea existenei unei clici ntr-un graf, a crei mrime s fie cel puin k (ordin predefinit). Odat identificate k sau mai multe vrfuri ce formeaz o clic, este trivial s demonstrm acest lucru, fapt ce-i justific complexitatea NP. Problema corespunztoare de optimizare, problema clicii maxime, const n gsirea celei mai mari clici din graf. Complexitatea NP a problemei clicii deriv din complexitatea NP a problemei mulimii independente, deoarece exist o clic de mrime k (cel puin) dac i numai dac exist o mulime independent de mrime k (cel puin) n graful complementar. Acest lucru este uor de observat, innd cont de faptul c dac un subgraf este complet, atunci subgraful complementar nu are muchii. Algoritmi Un algoritm primitiv de gsire a clicilor ntr-un graf const n examinarea fiecrui subgraf ce conine cel puin k vrfuri, i ndeplinirea condiiei de formare a unei clici. Algoritmul este polinomial (complexitate polinomial) dac acel k coincide cu numrul vrfurilor, sau cu o constant mai puin, dar nu dac k este, s spunem, jumtate din numrul total al vrfurilor. Numrul total al clicilor de mrime k a unui graf de mrime |V| este egal cu | V | | V |! . = k k!(| V | k)! n mod euristic am ncepe prin considerarea fiecrui nod ca fiind o clic, iar mai apoi s se uneasc aceste clici n altele mai mari pn cnd acest lucru nu mai este posibil. Dou clici A i B pot fuziona dac fiecare vrf din clica A este adiacent fiecrui vrf din clica B. Aceasta presupune un cost, n ceea ce privete timpul, liniar (liniar n numrul muchiilor), dar poate eua n gsirea unei clici mari, ntruct dou sau mai multe pri a clicii mari vor fi fost fuzionat anterior, prin intermediul unor vrfuri care nu aparin clicii. Se gsete, totui, cel puin o clic maximal, care nu este coninut n nici o alt clic mai mare.

99

Unele cazuri mai speciale, pot fi rezolvate ntr-un timp mai scurt dect cel exponenial. Pentru k = 3, algoritmul are o complexitate O(n1,41 ) , unde n reprezint numrul muchiilor.

7.4.

Determinarea mulimilor stabile maximale

Fie G = [X,U] un graf simplu cu mulimea de vrfuri X = {x1 , x 2 ,..., x n } . Notm cu S n S familia mulimilor stabile maximale ale grafului G. Exist mai muli algoritmi pentru determinarea familiei Sn. n continuare vom prezenta algoritmul lui Bednarek i Taulbee. Pentru acesta s punem pentru 1 k n : X k = {x1 , x 2 ,..., x k },

G k = [X k ]G , X k +1 = {y | y X k , [y, x k +1 ] U}, i fie S k familia mulimilor stabile maximale ale grafului G k .


Algoritmul B T. (Bednarek i Taulbee)
1. 2. Se consider X1 = {x1}, S1 = {x1} (k = 1). Se determin familia Ik = {T | T = S Yk + 1, S Sk } Se determin familia S + 1 dup cum urmeaz: k Pentru fiecare S Sk punem i

familia I 'k a mulimilor maximale fa de incluziune din Ik . 3.

S {x k + 1} S + 1 , dac S Yk + 1 k
sau dac

S Yk + 1 /

punem

S S + 1 k

{x k + 1} (S Yk + 1) S + 1 k

atunci i numai atunci cnd S Yk + 1 I 'k . Familia Sk + 1 conine numai mulimile specificate mai sus. 4. 5. Se determin familia Sk + 1 a mulimilor maximale din S + 1 . k Algoritmul se termin cnd k = n 1.

n ultima faz obinem familia Sn a mulimilor stabile maximale n graful Gn = G. Pentru justificarea acestui algoritm demonstrm urmtoarea afirmaie: Teorem. Pentru fiecare k = 1, 2, , n 1 familia Sk+1 furnizat de algoritmul B T., este familia tuturor mulimilor stabile maximale ale grafului Gk+1. Demonstraie. Presupunem c Sk este familia mulimilor stabile maximale ale grafului Gk. Este suficient s artm c orice element al familiei S +1 este o k

100

mulime stabil a grafului Gk+1 i c orice mulime stabil maximal a acestui graf aparine familiei S +1 . k Prima parte a afirmaiei rezult din modul de construcie al familiei
S +1 , deoarece S +1 conine mulimi sau submulimi din Sk (care fiind k k stabile n Gk, sunt stabile i n graful Gk+1) la care se adaug elementul xk+1 dac i numai dac xk+1 nu este adiacent n Gk+1 cu nici unul dintre elementele mulimii sau submulimii considerate. Fie acum S o mulime stabil maximal a grafului Gk+1. Dac x k +1 S atunci S S k i S Yk +1 . Rezult, conform pasului 3 al /

algoritmului (alternativa a doua) c S S +1 . k Dac x k +1 S atunci T = S {x k +1} este stabil n graful Gk i T Yk +1 . Dac T S k , atunci
S = T {x k +1} S +1 . k

n cazul cnd T S k exist o mulime T ' S k cu T T ' . Avem T T ' Yk +1 i din cauza maximalitii lui S rezult c T = T ' Yk +1 , T ' Yk +1 , T ' Yk +1 I 'k . / Deci
S = (T ' Yk +1 ) {x k +1} S +1 , i astfel, teorema este k

demonstrat. Exemplu. S se determine familia S7 pentru graful din figur:

1. 2. 3.

X1 = {1}, S1 = {1} Y2 = {1} I1 = {{1}} = I '1


S = {{1, 2}} 2

(k = 1)

101

4. 2. 3. 4. 2. 3. 4. 2. 3. 4. 2. 3.

S2 = {{1,2}} X2 = {1,2}, S2 = {{1,2}} Y3 = {1} I2 = {{1}} = I '2


S 3 = S 3 Y4 = {2} I3 = {{2}, 0 } / I '3 = {{2}} S = {{1, 2},{2, 4},{1,3}} 4 S 4 = S 4 Y5 = 0 /

(k = 2)

Avem {1,2} Y3 i {1,2} Y3 I '2 . Deci S = {{1, 2},{1,3}} . / 3

I4 = { 0 , 0 , 0 , 0 }, I '4 = {0} / / / / /
S = {{1, 2},{5},{2, 4},{5},{1,3},{5}} 5

S5 = {{1, 2},{2, 4},{1,3},{5}} Y6 = {1,2,3,4,5} I5 = {{1,2},{2,4},{1,3},{5}} = I '5


S = {{1, 2, 6},{2, 4, 6},{1,3, 6},{5, 6}} 6

2. 3.

S6 = {{1, 2, 6},{2, 4, 6},{1,3, 6},{5, 6}} Y7 = {1,2,3,4,5} I6 = {{1,2},{2,4},{1,3},{5}} = I '6 S = {{1, 2, 6},{1, 2, 7},{2, 4, 6},{2, 4, 7},{1,3, 6}, 7

{1,3, 7},{5, 6},{5, 7}} = S7 . Deoarece k = n 1 = 6, algoritmul se oprete. Familia mulimilor stabile maximale n graful G considerat este S7, iar numrul de stabilitate este (G) = 3 . Observaii. Determinare familiei Cn a clicilor maximale n graful G revine, a) pe baza observaiei b) anterioare, la determinarea familiei mulimilor stabile maximale n graful G (complementarul grafului G). b) Determinarea familiei Sn i a familiei Cn este necesar printre altele n problema gsirii unei acoperiri minimale a mulimii vrfurilor unui graf cu mulimi stabile (problema colorrii vrfurilor) i respectiv cu clici.

102