Sunteți pe pagina 1din 18

Capitolul 8 PROBLEME DE DESCOMPUNERI N GRAFURI

8.1.

Tipuri de descompuneri n grafuri

n acest paragraf ne referim la evoluia descompunerii n grafuri, din care prezentm cteva din rezultatele, deja obinute, despre tipuri de descompuneri n grafuri i anume: descompunerea n care o anumit caracteristic numeric a grafului are proprietatea de aditivitate, descompunerea n care legea de adiacen ntre submulimile partiiei este cunoscut, descompunerea n funcie de operaia de compoziie, G-descompunerea i n final, descompunerea substituie i partiionarea vrfurilor. Fie G un graf cu mulimea vrfurilor V(G) = V i mulimea muchiilor E(O}= E. n teoria grafurilor, o clas foarte larg de probleme se refer la descompunerea (partiia) mulimii vrfurilor V n submulimile Xi , i I ,

astfel nct proprieti de urmtoarele tipuri au loc (Olaru, Antohe): 1) Subgraful indus [Xi ] (i I) trebuie s aib proprieti prescrise; de exemplu, problema colorrii grafurilor n care Xi trebuie s fie mulimi stabile i problema acoperirii grafurilor cu clici; 2) Descompunerea n care o anumit caracteristic numeric a grafului G trebuie s aib proprietatea de aditivitate, adic relaia ([Xi ]G ) = (G) are loc;
Legea de adiacen ntre submulimile Xi , X j ,i j , trebuie s fie cunoscut. Apare ca o problem de descompunere referitoare la o operaie de un tip oarecare, care este, esenial, legea de adiacen; o astfel de descompunere este numit descompunere n funcie de un tip de operaie. Apar de asemenea combinaii ale tipului 1) i 3); n astfel de descompuneri, subgrafurile [Xi] trebuie s satisfac nite condiii (de indecompozabilitate, coindecompozabilitate). Exist de asemenea probleme care sunt combinaii ale tipurilor 1) i 2) i acestea sunt n acelai timp impuse fiecrui subgraf. Aici este inclus problema grafurilor perfecte. 3)
iI

8.1.1. Descompunerea de tip 2


Rezultatele urmtoare au fost obinute de Olaru. Propoziia 1. Orice graf care admite o clic drept cutset este - decompozabil.
103

Propoziia 2. Grafurile - critice nu au cutset care s fie clic. Propoziia 3. Dac G este un graf - decompozabil atunci exist o - descompunere n componente - indecompozabile care sunt tare stabile. Teorema 1. Pentru un graf G cu (G) 2, urmtoarele afirmaii sunt echivalente: G este minimal imperfect (adic este minimal critic); (i) (ii) G este minimal tare stabil; (iii) G este minimal cu: (G x) < (G), x V(G) . {(i) echivalent (ii): E. Olaru, (i) echivalent (iii): W. Wessel }. Propoziia 4. Un graf G este perfect dac i numai dac singurele subgrafuri - indecompozabile ale lui G sunt clici. Propoziia 5. Un graf G este perfect - decompozabil dac i numai dac el conine un graf parial - critic i perfect - decompozabil. Propoziia 6. Un graf G - critic este perfect - decompozabil dac i numai dac componentele sale conexe sunt clici. Remarcm c orice graf admite cel puin un graf parial - critic. Un criteriu de decompozabilitate este urmtorul. Propoziia 7. Un graf G este - decompozabil dac i numai dac el are cel puin un graf parial - critic decompozabil.

8.1.2. Descompunerea de tip 3


Descompunerea de tip 3 nseamn descompunerea mulimii vrfurilor V n submulimile Xi , i I astfel nct i, j I, i j , Xi i X j sunt total adiacente n G sau G (adic Xi ~ X j n G sau G ). Acest tip de descompunere coincide cu descompunerea cu respectarea operaiei graf-adiacen (X-join), introdus de Sabidussi. O astfel de descompunere se numete S-descompunere, iar factorii Xi , i I , S-componente. Orice graf admite o S-descompunere n care toate S-componentele au numai un element, numit banal. Definiie. Un graf G se numete S-indecompozabil dac el admite numai S-descompunerea banal, altfel se numete S-decompozabil.

104

Observm c un graf decompozabil poate fi prezentat n diverse forme ca S-descompunere de subgrafuri indecompozabile. Este, deci necesar a considera altfel S-descompunerea, proprie (Olaru, Antohe). Definiie. O S-descompunere n subgrafuri indecompozabile este proprie dac ea conine un numr minim de S-componente indecompozabile banale. Teorema 2. (Olaru, Antohe). Orice graf finit decompozabil admite o S-descompunere proprie, unic pn la un izomorfism. Definiie. Un subgraf [A] a unui graf G este numit coindecompozabil dac A este omogen i este maximal cu aceast proprietate. Teorema 3. (Olaru, Antohe). Orice graf (finit sau nu) admite o unic S-descompunere n care S-componentele sunt coindecompozabile.

8.1.3. Descompunerea n funcie de compoziie


Aceast descompunere este n funcie de operaia boolean numit compoziie, care a fost introdus de Harary i investigat de Sabidussi, care se mai numete i produs lexicografic. Reamintim definiia acestei operaii. Date fiind dou grafuri G1 = (V1,E1) i G2 = (V2,E2), compoziia, notat G = G1[G2] se definete astfel: V(G) = V1 V2 i pentru u = (u1 , u 2 ) V1 V2 , v = (v1 , v 2 ) V1 V2 , uv E(G) dac i numai dac u1v1 E1 sau ( u1 = v1 i u 2 v 2 E 2 ). Rezultatele urmtoare se gsesc n (Golumbic, Shamir). Fie H0 un graf neorientat cu n vrfuri v1 ,..., v n i fie H1 ,..., H n n grafuri disjuncte. Graful compoziie H = H 0 [H1 ,..., H n ] este format astfel. Pentru i, j = 1, , n, nlocuim vrful vi din H0 cu graful Hi i lum fiecare vrf din Hi adiacent la fiecare vrf din Hj ori de cte ori vi este adiacent lui vj n H0. Formal, pentru Hi = (Vi,Ei) definim H = (V,E) astfel: V = U Vi
i 1

i E = U Ei {xy | x Vi , y Vj i vi v j E 0 } .
i 1

Mai notm E = E 0 [E1 ,..., E n ] . H0 se numete factor extern a lui H, Hi, i = 1, , n se numesc factori interni ai lui H.

105

Un graf neorientat G = (V,E), care prin orientarea fiecrei muchii obinem graful orientat (V,F) care satisface urmtoarea condiie: dac ab F i bc F implic ac F ( a, b, c V ), se numete graf de comparabilitate (Golumbic, Shamir). Teorema 4. Fie G = G 0 [G1 ,..., G n ] , unde Gi sunt grafuri neorientate disjuncte. Atunci G este graf de comparabilitate dac i numai dac Gi i = 0, l, ..., n este graf de comparabilitate. Definiie. Un graf se numete decompozabil dac el poate fi exprimat ca o compoziie nebanal de subgrafuri induse; altfel, el se numete indecompozabil. Pentru orice graf exist compoziia banal: G = K1[G]. Formal, G = (V,E) este decompozabil dac exist o partiie V = V1 + ... + Vn a vrfurilor n submulimi nevide disjuncte dou cte dou cu 1 < r < |V| astfel nct G = G R [G V ,..., G V ] pentru orice mulime de 1 v reprezentani R = {x1 ,..., x n } , xi din Vi. O astfel de partiie induce o
descompunere proprie a lui G. G are o mulime partitiv nebanal dac i numai dac G este decompozabil.

8.1.4. G-descompunerea
Un graf orientat este o pereche G = (V,E), unde V este o mulime nevid, iar E este o mulime de perechi ordonate de elemente distincte ale lui V. Elementele lui E se numesc arce. Pentru un graf orientat G = (V,E), notm cu G 1 = (V, E 1 ) , graful invers, unde E 1 = {(x, y) | (y, x) E} . Fie G = (V,E) un graf. Un graf orientat H =(V,F) (avnd aceeai / mulime de vrfuri ca i G) cu proprietatea c F F1 = 0 i F F1 = E se numete orientarea grafului G. (H se obine asociind o orientare fiecrei muchii a lui G). n acest paragraf prezentm un algoritm pentru G - descompunere. Fie R o relaie binar pe mulimea muchiilor unui graf neorientat G = (V,E), definit astfel: abRxy dac i numai dac ori a = x i byE ori b = y i axE. nchiderea reflexiv i tranzitiv R' a lui R definete o relaie de echivalen pe E, ale crei clase de echivalen se numesc clase de implicaii. Dac A este o clas de implicaie atunci A = A A 1 este nchiderea simetric a lui A.

106

Pentru G = (V ,E), un graf, o partiie a lui E n k mulimi: E = B1 + ... + Bk se numete G-descompunere dac Bi sunt clase de implicaii din graful G = (V, B + B + ... + B ), i = 1, k .
i i +1 k

O secven de muchii [x1 y1 ,..., x n y n ] se numete schem de descompunere pentru G dac exist o G-descompunere E = B1 + ... + Bk astfel nct x i yi Bi , i = 1, k . Are loc urmtorul algoritm de descompunere:
Input: Output: Un graf G = (V,E). O G-descompunere; Un numr k;

k mulimi de muchii din G: B1,..., Bk


begin fie loop:

E1 := E
i := 1

Alege arbitrar o muchie ei = x i yi Ei . Determin clasele de implicaii Bi din Ei coninnd xiyi

Fie Ei + 1 := Ei Bi If Ei + 1 = 0 then /
Fie k := i stop else Incrementeaz i cu 1 go to loop end if end

8.1.5. Descompunerea substituie i partiionarea vrfurilor


Un graf conex, nenul, care nu conine vrfuri separatoare se numete bloc (Behzad, Chartrand, Foster). Un bloc al unui graf G este un subgraf indus al lui G care este el nsui un bloc i care este maximal cu respectarea acestei proprieti. Operaia numit partiionarea vrfurilor este definit n cele ce urmeaz. Presupunem c sunt date un graf G = (V,E) i o partiie iniial P a lui V n blocurile disjuncte B1 ,..., Bk . Problema partiionrii grafului cere a gsi partiia avnd puine blocuri a lui V, fie P' = (E1, ..., Ej), astfel nct: 1) Fiecare Ei este o submulime a unui Bh; x, y Ei implic N(x) Ei = N(y) Ei . 2)

107

Condiia a doua poate fi reformulat astfel. Fiecare bloc Ei verific: pentru fiecare i ori x ~ Ei ori x ~ Ei pentru x V Ei , adic Ei este / modul. R. McConnell i Spinrad au descoperit un algoritm O(m+n) pentru partiionarea vrfurilor. Vrful v separ (spliteaz) un bloc B ori de cate ori v este utilizat pentru a divide B n blocurile B N(v) i B N(v) . Descompunerea modular (Jamison, Olariu) sau descompunerea substituie (descoperit independent de mai muli autori printre care R. H. Mohring i F. J. Radamacher) nseamn partiionarea unui graf G n subgrafuri, fiecare din ele este un modul ntr-un subgraf al lui G. n particular, graful nsui i mulimile cu un singur vrf sunt considerate module. Algoritmul urmtor partiioneaz un graf n O(mlogn) timp. Algoritmul alege un vrf v care ori i) nu a fost folosit nainte ca element de splitare ori | B' | ii) v B, | B | , B' care a coninut v ultima dat cnd v a fost ales 2 ca element de separare ori iii) este ntr-un bloc care nu va fi separat n viitor. Vrful v este folosit s separe fiecare bloc care nu conine v. Separarea cauzat de v poate fi executat n O(|N(v) |). Pentru a separa pe B, prima dat verificm dac v nu este n B; apoi loca1izm vecinii lui v ntr-un nou bloc B' , care este pstrat "legat" de B pn la sfritul separrii cauzat de v. Dac nici un vrf nu satisface criteriul i) sau ii) pentru alegerea elementului de separare, orice vrf din cel mai mare bloc activ C rmas, va satisface criteriul iii). Orice alt vrf v a ncercat s separe C, deoarece v a fost separat de C la un moment dat i este acum ntr-un bloc care este cel mult de lungimea lui C. Algoritmul propriu-zis:
Fie partiia iniial ( B1,..., B j ); Pentru fiecare bloc Bi execut lastused[Bi] = cea mai mare valoare; { folositultimadata[Bi] = cea mai mare valoare} READY = (B1,..., B j); Ct timp (G este nevid) execut Ct timp (READY 0 ) execut / C = orice bloc din READY; lastused[C] = |C|; pentru fiecare vrf x din C execut separ toate blocurile exceptnd C n funcie de adiacena la x;

108

pentru fiecare bloc B separat n B, B2 prin x execut lastused[B2] = lastused[B]; dac |B| lastused[B]/2 atunci adaug B la READY; dac |B2| lastused[B2]/2 atunci adaug B2 la READY; C = cel mai mare bloc rmas; returneaz C ca parte a partiiei finale; folosete fiecare vrf din C pentru a separa celelalte blocuri; G = G C.

Prezentm n continuare un algoritm de complexitate O(mlogn) dat de McConnell pentru gsirea descompunerii substituie a unui graf. Aceast metoda de descompunere se bazeaz pe algoritmul de partiionare de mai sus. Algoritmul lucreaz n dou faze. Prima faz gsete o submulime de module din arborele de descompunere utiliznd partiionarea i produce o ordine pe vrfuri astfel nct celelalte module vor fi gsite (specificate) prin alegerea diferitelor vrfuri ca elemente de separare. Descriem procedura de baz. Ori de cte ori procesul de partiionare returneaz o mulime S de lungime mai mare dect 1, S este modul al lui G. Alegem orice vrf s din S, mprim S n s i S s i rencepem procedura de partiionare. Pstram un arbore a mulimii partiiilor care se produc n timpul acestei proceduri. Iniial, arborele are o rdcin, s ca descendentul direct stng i V s ca descendentul direct din dreapta. Ori de cate ori o mulime este separat n vecini i nevecini, lum un nou nod intern cu vecinii drept descendentul direct stng i nevecinii drept descendentul direct drept. Dac S a fost specificat (menionat, gsit) ca a fi un modul, marcm nodul intern corespunztor lui S. Notm c aceast procedur va gsi modulele care nu conin un vrf arbitrar ales s, dar nu va gsi modulele coninnd s. Acestea vor fi gsite de faza a doua. Ideea este de a ordona vrfurile astfel nct ntotdeauna alegem vrfuri pentru separare pentru faza a doua care nu apar mpreun cu s ntr-un submodul. Numrm vrfurile din timpul traversrii standard postordine, n care mulimea descendenilor copilului (descendentului direct) drept dintr-un nod dat va fi mai mare dect a descendenilor nodului stng al aceluiai copil (descendent direct). Faza a doua a procedurii este aceeai cu prima, excepie fiind atunci cnd avem un modul S, ntotdeauna alegem un vrf x cu cel mai mare numr din S cu respectarea procedurii de ordonare din prima faz, separnd S n x i S x i continum ca mai sus. Timpul total luat pentru gsirea celui mai mare numr de vrfuri este O(nlogn), astfel se termin cele dou faze n O(mlogn) timp.

109

Arborele de descompunere este produs prin combinarea modulelor gsite n timpul celor dou faze. Fie un modul M. Daca exist un descendent direct c al lui M care nu formeaz muchii cu nici un alt descendent direct al lui M din G, tergem c din M i adugm un nod etichetat P cu c drept un descendent direct i M drept cellalt descendent direct. Similar, dac exist un descendent direct c ' al lui M, extremitate a tuturor muchiilor cu toi ceilali descendeni direci ai lui M, tergem c' din M i adugm un nod S cu c' drept un descendent direct i M drept cellalt descendent direct. Aceasta ia O(n+m) timp. Unim arborii gsii n fiecare din cele dou stagii astfel. Traversm arborele n ordinea primul n adncime. Dac ntlnim un nod serie (care corespunde unui modul M astfel nct [M]G este neconex) sau paralel (care corespunde unui modul astfel nct [M]G este neconex) x, care are un ascendent direct p de acelai tip, lum toi descendenii direci ai lui x descendeni direci ai lui p. n final, combinm modulele gsite n timpul fiecreia din cele dou faze ntr-un singur arbore de descompunere, T. Fie T1 i T2 arborii gsii n timpul celor dou faze. Fie toate nodurile lui T1 i T2 n ordine nedescresctoare a numrului de descendeni direci vrfuri pendante. Cnd un modul M este ntlnit, adugm M dac M nu este deja parte a arborelui combinat. Pentru a cunoate dac un modul M cu k descendeni vrfuri pendante este deja n arbore este suficient a verifica dac cel mai mic numr de vrfuri din M este deja ntr-un modul de lungime k. Dac memorm cel mai mic numr de vrfuri din fiecare modul i modificm variabila i pentru un vrf v cnd v este vrful cu cel mai mic numr dintr-un modul de lungime i, acest pas ia timp constant pe modul. Adugarea unui modul M la T se face astfel. Orice descendent direct c al lui M se afl n T i pentru orice rdcin r din arborele curent care conine un descendent direct al lui M, r devine un descendent direct al lui M n arbore. Orice metod natural de a marca un arbore, pentru ca un drum s nu fie traversat de dou ori, ne permite s combinm doi arbori n O(n) timp. La sfritul acestui paragraf, prezentm urmtorul rezultat (Olariu). Pentru un graf G urmtoarele dou afirmaii sunt echivalente: G nu are nici un subgraf indus izomorf cu grafurile cu secvena de (i) grade (2,2,2,3,3), (1,1,2,3,3), (2,2,3,3,4,4); (ii) pentru fiecare subgraf indus H a lui G, cel puin una din urmtoarele afirmaii sunt adevrate: (a) H conine o mulime omogen; (b) (H) 2 .

110

8.2.

Descompunerea slab a grafurilor

8.2.1. Introducere
Fie G = (V,E) un graf neorientat, fr bucle i muchii multiple. n diverse probleme de teoria grafurilor, cu precdere n construcia unor algoritmi de recunoatere apare frecvent un anumit tip de partiie a mulimii vrfurilor n trei clase A, B, C astfel nct A s induc graf conex, iar C s fie total adiacent cu B i total neadiacent cu A. Aa se ntmpl, de exemplu, cu construcia cografurilor pornind de la K1,2 i substituind vrfurile cu cografuri. Introducerea noiunii de descompunere slab (C. Croitoru) i studiul proprietilor ei ne permite s obinem alte rezultate de acest tip, cum ar fi: caracterizarea cografurilor cu coarbori ( rezultat cunoscut, obinut de Lerchs, dar pentru care obinem demonstraie mai uoar). De asemenea, caracterizm grafurile K1,3 free i dm un algoritm de recunoatere i un altul pentru determinarea unui cuplaj de cardinal maxim n aceast clas de grafuri. De asemenea, alte proprieti se obin pentru grafuri triangulate, garfuri {P4, C4}- free, grafuri paw free, grafuri confidenial conexe. O parte din acest capitol a fost prezentat la ROSYCS 2000 Iai.

8.2.2. Descompunerea slab a unui graf


nainte de a da definiia central din acest capitol, reamintim c pentru un graf G=(V,E) i A V , am notat: N G ( A) = {v | v V A, w A si v ~ w} N G [ A] = A N G ( A) i N G ( A) = V N G [ A] . (Dac nu sunt posibile confuzii, indicele G poate fi omis). Fie G1 = (V1 , E1 ) i G2 = (V2 , E2 ) , dou grafuri oarecare. Notm cu G1+G2, K2 - adiacena (K2 join) a grafurilor G1 i G2, adic, graful obinut din K2 prin substituia vrfurilor sale cu G1 i G2 i orice vrf din G1 este adiacent cu orice vrf din G2. Graful G1+G2 va fi numit suma grafurilor G1 cu G2. Definiia 1. Fie G=(V,E) un graf. O mulime de vrfuri , A, se numete mulime slab dac N G ( A) V A i subgraful indus de A este conex. Dac A este mulime slab, maximal n raport cu incluziunea, subgraful indus de A se numete component slab. Pentru simplificare, componenta slab G(A), se va nota cu A. Denumirea de component slab este justificat de urmtorul rezultat. Propoziia 2. Orice graf conex i incomplete G=(V,E) admite o component slab A astfel nct G (V A) = G ( N ( A)) + G ( N ( A)) .
111

Demonstraie. Deoarece graful G este incomplet, (G ) 2 , exist vrfurile x y , neadiacente. Fie A0 = {x}; B0 = N ( x); C0 = N ( x) .

Avem y C0 . Dac N ( x) ~ N ( x) atunci A = A0 . Dac nu, fie

x1 N ( x), y1 N ( x) astfel nct x 1 y 1 . Pentru A1 = A0 {x1},[ A1 ] este conex, deoarece [ A0 ] este conex i x1 N ( x) . N ( A1 ) = ( N ( A0 ) {x1}) ( N ( x1 ) C0 ). y1 N ( A1 )
(deoarece x 1 y 1 i y1 N ( x) i y 1 A0 ). Deci N ( A1 ) . Dac N ( A1 ) ~ N ( A1 ) atunci [V A1 ] = [ N ( A1 )]G + [ N ( A1 )]G . Presupunem c s-a construit Ai

Bi=N(Ai) , Ci = N ( Ai ) . Dac Bi ~ Ci atunci A = Ai. Dac nu, fie xi +1 Bi i yi +1 Ci cu x i + 1 y i + 1 . Notm Ai +1 = Ai {xi +1}; Bi +1 = N ( Ai +1 ); Ci +1 = N ( Ai +1 ) . [Ai+1] este conex, deoarece [Ai] este conex i xi +1 N ( Ai ) . yi +1 N ( Ai +1 ) (deoarece x i + 1 y i + 1 i yi +1 N ( Ai ) i y i + 1 A i ). Deci N ( Ai +1 ) . Dac Bi +1 ~ Ci +1 atunci A=Ai+1 i
[V Ai +1 ]G = [ N ( Ai +1 )]G + [ N ( Ai +1 )]G . Deoarece

A0 A1 ... Ai ... V
i V < rezult p N astfel nct N ( Ap ) ~ N ( Ap ) i deci A = Ap este componenta slab cu proprietatea din enun. Propoziia 3. Fie G = (V,E) un graf conex i incomplet i A V . Atunci A este component slab a lui G dac i numai dac G(A) este conex i N ( A) ~ N ( A) .

112

Demonstraie. Presupunem c exist n N ( A) i n N ( A) astfel nct nn E (G ) . Fie A = A {n} i N = ( N ( A) {n}) ( N (n) N ( A)) . [ A]G este conex, N ( A) = N i V (G ) ( A N ( A)) {n } . Deci N ( A) V (G ) A , contrazicnd maximalitatea lui A. Invers. Fie G(A) conex i N ( A) ~ N ( A) . Artm c G(A) este component slab. Fie A A , component slab. A A N ( A) (deoarece A N ( A ) i G ( A) conex). Fie n A A . Atunci N ( A) N (n) . Deci N ( A) , contrazicnd definiia componentei slabe. Definiia 4. O partiie de forma ( A, N ( A),V N [ A]) , unde A este mulime slab o numim descompunere slab n raport cu A a grafului G. Numim A component slab, N(A) mulime separatoare minimal, iar VN[A] mulime ndeprtat (remote set). Propoziia 5. Dac G=(V,E) este un graf conex i incomplet atunci mulimea vrfurilor V admite o descompunere slab (A,B,C) astfel nct G(A) este component slab i G(V-A)=G(B)+G(C). {Demonstraia este cea dat n propoziia 2}. Observaia 6. Fie G=(V,E) un graf conex i incomplet. Dac A este mulime slab atunci A V . { A mulime slab i G conex rezult A V , altfel N G ( A) = ,V A = , adic N G ( A) = V A }. Fie G un graf conex i WG={A: A mulime slab n G}. Observaia 7. Fie G=(V,E) un graf conex. WG are cel puin un element dac i numai dac G nu-i complet. {Dac G nu este complet atunci v V (G ) astfel nct N G ( A) V A . Deci {v} este mulime slab, adic {v} WG . Artm implicaia invers. Presupunem c exist A mulime slab n G. Atunci N G ( A) V A . Deci
N G ( A) . Deci a Ab N G ( A) astfel nct ab E (G ) . Deci G nu este complet.} 0 Fie WG = { A | A WG , A maximal n raport cu incluziunea }. Mai numim componentele slabe ale unui graf G i frunze. Mulimea 0 frunzelor o notm cu LG. Deci LG = WG .

113

0 Remarca 8. Fie G=(V,E) un graf conex i incomplet. Dac A WG

atunci A este cutset (mulime separatoare) n G . {n G A, R = N ( A) i N sunt mulimi nevide de vrfuri total neadiacente} 0 Remarca 9. Fie G=(V,E) un graf conex i incomplet. Dac A WG atunci N G ( A) este cutset (mulime separatoare) n G. {n G A, R = N ( A) i A sunt mulimi nevide de vrfuri total neadiacente} Demonstraia dat n propoziia 3. ofer un algoritm polinomial pentru construirea unei descompuneri slabe pentru un graf conex i incomplet. Algoritm de descompunere slab a unui graf
Input: Un graf conex i cu cel puin dou vrfuri neadiacente, G=(V,E). Output: O partiie V=(A,N,R) astfel nct G(A) conex, N=N(A),

A R = N ( A ) .
begin A := o mulime arbitrar de vrfuri astfel nct

A N ( A) V

R := V A N ( A) while ( n N , r R astfel nct nr E ) do A := A {n} N := ( N {n}) ( N (n) R ) R := R ( N (n) R )


end.

N:=N(A)

Se observ c [A]G este conex, N=NG(A), R este un invariant al algoritmului. Consecina 10. Dac G este conex i cu cel puin dou vrfuri 0 neadiacente i A WG atunci

(G ) = max{ ([ A]G ) + ( N G ( A)), ( NG ( A) A)}.


{ntr-adevr, orice mulime stabil de cardinal maxim ori intersecteaz N G ( A) i atunci are cardinalul ([ A]G ) + ( N G ( A)) ori nu intersecteaz N G ( A) i atunci are cardinalul ( N G [ A]) .} Observaia 11. Dac G este un graf conex cu (G ) = 2 atunci A este clic i R este clic, pentru orice descompunere slab (A,N,R) a lui G cu 0 A WG .

114

{ 2 = (G ) ([ A]) + ([ R]) 1 + 1 = 2 .}. n continuare reamintim urmtorul rezultat. Lema 12. Dac G este un graf conex, C este cutset, K1,K2,,Kp (p 2) sunt componentele conexe ale lui G-C atunci: N ( K i ) C , i = 1,..., p; (i) (ii) C este cutset minimal dac i numai dac N ( K i ) = C , i = 1,..., p n ncheierea acestei seciuni caracterizm grafurile G cu proprietatea A ~ N , unde (A,N,R) este descompunere slab. Fie G=(V,E) un graf, X V i k N* . Numim vecintatea de ordin k a lui X, mulimea k N G ( X ) = { a | a X , un drum indus n G, P, de lungime k de la x X la a astfel nct V ( P ) X = {x} }. Evident, N G ( A) = N G ( A) . Lema 13. 0 Fie G conex i (A,N,R) o descompunere slab cu A WG . Atunci
3 N G ( R) = dac i numai dac A ~ N . Demonstraie. 3 Fie N G ( R) = . Presupunem, totui, c a A i n N cu a n . Deoarece [ A {n}] este conex atunci un drum P de lungime 2 de la a la n. ntruct N ~ R i R A atunci P , obinut din P la care adugm muchia nr (r R) , este un drum indus n G de lungime 3. Obinem c 3 N G ( R) , o contradicie. Dac A ~ N , avnd i N ~ R rezult c pentru r R , nu exist drum indus de lungime 3 cu o extremitate n r i restul vrfurilor n V-R. 3 Deci N G ( R) = .

8.3.

Teorema celor patru culori

Teorema celor patru culori (cunoscut i sub numele de teorema de colorare a hrii cu ajutorul a patru culori) afirm urmtoarele: fiind dat un plan separat n regiuni, regiunile pot fi colorate folosind nu mai mult de patru culori, astfel nct dou regiuni adiacente nu sunt colorate cu aceeai culoare. Dou regiuni se numesc adiacente doar dac mpart un segment de grani. Teorema celor patru culori a fost prima teorem major ce a necesitat computerul pentru a fi demonstrat, iar aceast demonstraie nu este acceptat de toi matematicienii deoarece ar fi omenete imposibil de
115

demonstrat un astfel de lucru. n ultim instan, pentru a da crezare demonstraiei, trebuie s se ncread n corectitudinea compilrii i a execuiei hardware. Istoric Se ridic problema folosirii a cinci sau mai multe culori. n anul 1890, Heawood a demonstrat c toate grafurile planare sunt cinci-colorabile. ntre 1960 i 1970 matematicianul german Heinrich Heesch a dezvoltat metode de utilizare a calculatorului n scopul gsirii acelei demonstraii att rvnite. Nu mai devreme de anul 1976 s-a demonstrat ipoteza celor patru culori a lui, de ctre Kenneth Appel i Wolfgang Haken la Universitatea din Illinois. Au fost asistai, n ceea ce privete algoritmica, de John Koch. Dac s-ar fi ntmplat ca ipoteza privind cele patru culori s fie fals, ar fi existat cel puin o hart cu cele mai puine regiuni posibile care s necesite cinci culori pentru colorare. Demonstraia a artat c un astfel de contraexemplu minimal nu poate exista. Odat cu demonstraia teoremei, au fost elaborai algoritmi eficieni de 4-colorare a hrilor, necesitnd doar O (n 2 ) timp de rulare, unde n reprezint numrul de noduri. n anul 1996, Neil Robertson, Daniel P. Sanders, Paul Seymour i Robin Thomas au creat un algoritm cu timpul ptratic. n anul 2004 Benjamin Werner i Georges Gonthier au formalizat o demonstraie a teoremei. Determinarea suficienei folosirii a trei culori n colorarea optim a unei hri, este de complexitate NP, ceea ce indic faptul c nu vom avea o soluie rapid. Determinarea posibilitii de 4-colorare a unui graf general (posibil ne-planar) are de asemenea complexitatea NP. Expunere formal n teoria grafurilor Pentru a expune formal teorema, este mai simplu s o reformulm n teoria grafurilor. Teorema afirm c vrfurile fiecrui graf planar pot fi colorate cu ajutorul a cel mult patru culori, astfel ca dou vrfuri adiacente oarecare s nu aib aceeai culoare. Sau, pe scurt: orice graf planar este patru-colorabil. n cazul acesta, fiecare regiune a hrii este nlocuit cu un vrf, iar dou vrfuri sunt conectate prin intermediul unei muchii dac i numai dac regiunile corespunztoare mpart un segment de grani. Generalizri S-ar putea pune problema colorrii suprafeelor ce nu sunt neaprat plane. Problema corespunztoare sferei este echivalent cu cea din plan. Pentru suprafeele nchise (orientate sau neorientate), de clas pozitiv,

116

numrul maxim p de culori necesare depinde de caracteristica Euler a suprafeelor conform formulei: 7 + 49 24 p= , 2
unde parantezele indic partea ntreag a funciei. Singura excepie n ceea ce privete aceast formul o reprezint sticla lui Klein, a crei caracteristic a lui Euler are valoarea 0 i necesit 6 culori. Aceasta a fost denumit iniial ipoteza Heawood, fiind demonstrat ca i Teorema colorrii hrii de ctre Gerhard Ringel i J. T. W. Youngs n anul 1968. Alternativ, pentru o suprafa orientat, formula poate depinde de parametrul g (parametru ce caracterizeaz clasa (genul) suprafeei): 7 + 1 + 48 g p= . 2

8.3.1. Colorarea grafurilor


n teoria grafurilor, colorarea grafurilor const n atribuirea de culori vrfurilor unui graf astfel ca oricare dou vrfuri adiacente s nu aib aceeai culoare. n mod analog, colorarea muchiilor const n atribuirea unei culori fiecrei muchii n parte, astfel nct oricare dou muchii incidente s nu aib aceeai culoare, iar colorarea feelor unui graf planar atribuie o culoare fiecrei fee in parte, inndu-se cont de faptul c oricare dou astfel de fee, ce au o frontier comun, nu pot avea aceeai culoare.

O 3-colorare este suficient acestui graf, ns, dac s-ar folosi mai puine culori ar rezulta noduri (vrfuri) adiacente de aceeai culoare. Gsirea numrului minim de culori necesare colorrii unui graf oarecare are dificultate NP

8.3.2. Colorarea vrfurilor


O colorare ce folosete cel mult k culori se numete k-colorare i este echivalent cu problema partiionrii mulimii vrfurilor n k sau mai puine mulimi independente. Problema colorrii grafurilor i-a gsit aplicaii, cum ar fi n planificarea calendaristic, nregistrarea alocrilor n compilatoare, distribuia frecvenelor radiourilor mobile, respectiv compatibilitatea modelelor.

117

8.3.3. Numrul cromatic


Cel mai mic numr de culori necesare colorrii unui graf se numete numrul cromatic corespunztor. De exemplu, numrul cromatic al unui graf complet K n cu n vrfuri (un graf cu o muchie ntre oricare dou vrfuri), este (K n ) = n . Un graf cruia i poate fi atribuit o k-colorare (corespunztoare) este k-colorabil, i este k-cromatic dac numrul su cromatic este chiar k. Problema gsirii unei colorri minime a unui graf are o dificultateNP. Problema deciziei corespunztoare (exist o colorare care folosete cel mult k culori?) are o complexitate de ordinul NP, reprezentnd, la origine, una din cele 21 de probleme ale lui Karp NP-complete. Rmne NP-complet chiar i n cazul grafurilor planare de grad cel mult 4, aa cum a fost demonstrat de ctre Garey i Johnson n 1974, chiar dac n cazul grafurilor planare este trivial (n. demonstraia) pentru k>3 (acest lucru datorndu-se teoremei celor patru culori). Exist, totui, unii algoritmi de aproximare eficieni, care folosesc programarea semidefinit. Proprieti ale (G ) : 1. (G) = 1 dac i numai dac G este total neconex. 2. (G) 3 dac i numai dac G are un ciclu impar (echivalent, dac G nu este bipartit). 3. (G) (G). 4. (G) (G)+1. 5. (G) (G) pentru G conex, doar dac nu cumva G este un graf complet sau un ciclu impar (Teorema lui Brook). 6. (G) 4, pentru orice graf planar G. Acest faimos rezultat este numit Teorema celor patru culori. Aici, (G ) reprezint gradul maxim, iar (G ) , numrul clic.

8.3.4. Aspecte algoritmice


Colorarea optimal Colorarea vrfurilor, n general, este o problem NP-complet. n loc s cerem cel mai mic numr culori necesare colorrii unui graf, putem s ridicm probleme mult mai simple, cum ar fi Putem colora graful cu cel mult k culori?. Cazul corespunztor lui k = 2 este echivalent determinrii bipartiiei, respectiv a non-bipartiiei grafului. Aceasta se poate realiza ntr-un timp de ordin polinomial. Pentru k 3 problema este NP-Complet. Exist un rezultat remarcabil, al lui Lszl Lovsz, care enun c este permis s se afirme c numrul cromatic al unui graf perfect implic timpul polinomial.

118

Algoritmi predefinii Algoritmii de colorare pot fi divizai n dou categorii: Algoritmi optimali de colorare (de exemplu, Algoritmul lui Zykov, metoda ramificrii i mrginirii, etc. ) Algoritmi care nu asigur un rezultat cu cele mai puine culori posibile. n aceast categorie se pot ncadra algoritmii secveniali, algoritmii euristici, algoritmi globali aleatori, algoritmi metaeuristici, respectiv algoritmii genetici.

8.3.5. Algoritmul Welsh Powell


Algoritmul Welsh-Powell de colorare a grafurilor folosete o mbuntire euristic a unui algoritm greedy. Se demonstreaz uor c o astfel de abordare folosete cel mult (G ) + 1 culori, unde (G ) este gradul maxim al grafului. Algoritmul este urmtorul: 1. Sortarea nodurilor n ordine descresctoare a gradului, iniial considerndu-se toate nodurile necolorate. 2. Traversarea (Parcurgerea) nodurilor n ordine, atribuindu-i unui nod culoarea 1 dac este necolorat i nu are vecini colorai cu aceeai culoare. 3. Se repet acest proces i n cazul culorilor 2, 3, etc. pn cnd toate vrfurile vor fi fost colorate. Acest algoritm nu gsete neaprat o colorare (G ) .

8.3.6. Polinomul cromatic


Polinomul cromatic contorizeaz numrul posibilitilor de colorare a unui graf , utiliznd un numr prestabilit de culori. Polinomul cromatic este o funcie P(G, t ) ce contorizeaz numrul t-colorrilor lui G. Aa cum indic i numele, pentru un graf G dat funcia este ntr-adevr polinomial n t. Polinomul cromatic conine cel puin la fel de multe informaii legate de colorabilitatea lui G ca i numrul cromatic. ntr-adevr, este cel mai mic ntreg pozitiv care nu este rdcin a polinomului cromatic, (G ) = min{k : P(G, k ) > 0} A fost folosit pentru prima dat de ctre Birkhoff i Lewis n demersul lor mpotriva teoremei celor patru culori. A rmas o problem nerezolvat, n ceea ce privete eficiena caracterizrii grafurilor ce au acelai polinomul cromatic.

119

Exemple

Graful Petersen are numrul cromatic 3


K3 Graful complet Kn Arbore cu n noduri Ciclul Cn Graful Petersen

Polinomul cromatic pentru grafurile t(t-1)(t-2) t(t-1)(t-2)...(t-n+1) t(t-1)n-1 (t-1)n + (-1)n(t-1) t(t-1)(t-2)(t7-12t6 + 67t5-230t4 + 529t3-814t2 + 775t-352)

Proprieti P(G,0) = 0 P(G,1) = 0 dac G conine o muchie P(G,t) = 0, dac t < (G). P(G, 1) este numrul orientrilor aciclice ale lui G Dac G are n noduri, m muchii, i k componente G1,G2,,Gk, atunci o P(G,t) are gradul n. n o Coeficientul lui t n P(G,t) este 1. n1 o Coeficientul lui t n P(G,t) este m. 0 1 k1 o Coeficienii corespunztori : t ,t , t sunt toi zero. k o Coeficientul lui t este diferit de zero.

o P(G,t) = P(G1,t)P(G2,t)P(Gk,t) Coeficienii fiecrui polinomul cromatic n parte alterneaz n ceea ce privete semnele. Un graf G cu n vrfuri este arbore dac i numai dac P(G,t) = t(t 1)n 1. Derivata evaluat n 1, P'(G,1), reprezint invariantul cromatic (G). Calcularea polinomului cromatic De fiecare dat cnd G conine o bucl, acesta nu poate fi colorat, astfel c P(G, t ) = 0 . Dac e nu este o bucl, atunci polinomul cromatic satisface relaia de recuren P(G, t ) = P(G e, t ) P(G / e, t ) unde G e reprezint graful G din care a fost nlturat muchia e, iar G / e reprezint graful pentru care nodurile finale ale muchiilor sale sunt contractate ntr-un singur vrf. Cele dou expresii dau natere unei proceduri recursive, numit (n.procedura) algoritmul suprimare (tergere) contractare.

120