Sunteți pe pagina 1din 8

Algoritmica grafelor

Curs 4
Numere fundamentale
n teoria grafelor

1. Numr de stabilitate intern

Definiia 1. Fie graful orientat G=(X,U). Mulimea S X se numete


mulime stabil interior (independent) dac i numai dac
i S are loc i S .

Proprietatea lui S se mai poate exprima:


S S
sau
i, j S (i, j ) U
sau
graful G(S) este format numai din vrfuri izolate.

Din definiie se deduce urmtorul rezultat:


Propoziia 1. Dac este familia mulimilor interior stabile ale grafului G
atunci au loc:
a.
b. i X ,{i}
c. Dac S i A S atunci A

O problem cu aplicaii i n colorarea grafelor este determinarea de


mulimi interne stabile (independente). Din propoziia de mai sus se observ
c, toate mulimile de vrfuri de cardinal cel mult 1 sunt mulimi interior
stabile i c toate submulimile unei mulimi interior stabile sunt i ele
interior stabile. Prin urmare de interes, ar fi s se determine mulimi interior
stabile ct mai mari.

Exemplu: Se consider graful din figura 1.


Mulimea S={1,3,5} este o mulime interior stabil
a acestui graf.

Figura 1.

1
Algoritmica grafelor

Definiia 2. Numr de stabilitate intern a grafului G este max{ S S i se


noteaz cu (G ) .
Orice mulime interior stabil S pentru care S (G ) se mai numete
mulime interior stabil maxim.
S remarcm c ntr-o familie de mulimi, cum este de exemplu ,
exist i noiunea de mulime maximal dar acest element este n raport cu
incluziunea mulimilor, care este o relaie de ordine n general parial.
Altfel spus, S este maximal n dac A cu S A implic S=A.

Observaie: Pentru ca o mulime S s fie interior stabil trebuie ca


S S , iar pentru ca ea s fie mulime interior stabil maxim, dac
graful este fr bucle, trebuie n plus S S X .

Exemplu: Pentru graful din figura 2 au loc:


a. { ,{1}, {2}, {3}, {1,3}};
b. mulimi interior stabile maximale sunt {2}i {1,3};
c. graful are o singur mulime interior stabil maxim, care este {1,3};
d. (G ) 2 .

1 2 3

Figura 2.

Problema 1. Fiind dat graful G=(X,U) s se determine toate mulimile


interior stabile ale lui G.

Determinarea mulimilor interior stabile se poate face prin a parcurge


toate submulimile lui X i s se verifice dac sunt sau nu mulimi stabile. O
alt metod este de tip backtracking. O prezentare general a metodei
(algoritmului) backtracking, pentru cazul n care se tie c problema are o
soluie, este descris n pseudocod in cele ce urmeaz.

CITETE datele problemei;


INIIALIZEAZ;
AFIEAZ;
Repet
ct_timp NU_ESTE_GATA execut
dac SE_POATE atunci AVANSEAZ; sfd;

2
Algoritmica grafelor

sfc;
AFIEAZ;
REVENIRE;
pn_cnd NU_MAI_POATE;

Deci pentru fiecare implementare n parte utilizatorul i va defini


conform problemei de rezolvat procedurile: CITETE, INIIALIZEAZ,
AFIEAZ, AVANSEAZ i funciile booleene NU_ESTE_GATA i
SE_POATE. Valoarea variabilei booleene NU_MAI_POATE se stabilete n
procedura REVENIRE. Primul apel al procedurii AFIEAZ s-a fcut
pentru c i valoarea iniial este o soluie a problemei.

Exemplu: Problema celor 8 dame


Pe o tabl de ah se pot aeza opt dame astfel nct nici una s nu fie
atacat de o alt dam?
Aceast problem a fost formulat de ctre Gauss. Rezolvarea ei
revine la a preciza dac exist mulimi interior stabile cu cel puin opt
elemente n graful construit dup cum se prezint n continuare. Mulimea
vrfurilor are 64 de elemente corespunztor celor 64 de ptrate ale tablei de
ah. Se definete i { j | i i j sunt pe aceeai linie sau diagonal}. Deci j i
nseamn c damele aezate n ptratele i i j se atac reciproc. Deoarece
tabla de ah are opt linii (i mulimile interior stabile cu mai mult de 8
elemente nu exist) rezolvarea problemei revine la a determina mulimi
stabile interior maxime. Dac acestea au opt elemente atunci rspunsul la
ntrebarea pus este afirmativ.

2. Numr de stabilitate extern

Definiiea 3. Fie graful orientat G=(X,U). Mulimea T X se numete


mulime exterior stabil (dominant) dac i T , i X T .

Observaie: O mulime exterior stabil T se mai poate defini i prin relaia


T 1T X sau X T 1T sau ( X T ) T

Exemplu: Pentru graful din figura 3 mulimea T={2,3,5,7} este o mulime


exterior stabil.

3
Algoritmica grafelor

Figura 3.

Propoziia 2. Dac notm cu familia mulimilor exterior stabile ale


grafului G atunci:
a. X ;
b. dac T i T A X atunci A ;
c. dac T1 i T2 atunci T1 T2 .

Definiia 4. Numr de stabilitate extern a grafului G este min{ T T } i


se noteaz cu (G ) .
Dac T este o mulime stabil exterior cu T= (G ) atunci spunem c T
este mulime stabil exterior minim.

Exemplu: Pentru graful din figura 4:


a. ={{2},{1,3},{1,2,3}};
b. mulimile exterior stabile minimale sunt {2},{1,3};
c. graful are o singur mulime exterior stabil minim i anume {2};
d. (G ) =1.

Figura 4.

Exemplu: Problema gardienilor


La o nchisoare fiecare celul trebuie supravegheat. Unele celule
comunic prin culoare rectilinii. Deci gardianul care se afl lng o celul
poate supraveghea i celelalte celule cu care comunic aceasta printr-un
culoar rectiliniu. Problema cere s se stabileasc numrul minim de gardeni,
pe schimb, necesari pentru supravegherea tuturor celulelor nchisorii
Cunoscnd graful neorientat ce are ca vrfuri celulele nchisorii i

4
Algoritmica grafelor

consideind (i,j) U dac i numai dac celulele i i j comunic printr-un


culoar rectiliniu, problema revine la a determina numrul de stabilitate
extern a grafului.

O problem asemntoare este stabilirea numrului minim de poliiti


care s supravegheze toate interseciile unui sistem de strzi dat.

Exemplu: Problema celor cinci dame


Pentru jocul de ah se cere plasarea unui numr minim de dame (cai,
nebuni, turnuri) pe tabl astfel ca fiecare ptrat al tablei s fie dominat
(atacat) de cel puin una dintre piesele plasate.

Considernd graful neorientat ce are 64 de vrfuri corespunzatoare


ptratelor tablei de ah i convenind (i,j) U dac i numai dac ptratul i
este atacat de piesa de pe ptratul j i invers.
n acest graf i X are loc 1i i i se demonstreaz uor c numrul
minim de piese ce domin toate ptratele tablei de ah este numrul de
stabilitate extern al grafului.

Pentru determinarea de mulimi exterior stabile (dominante) se pot


utiliza rezultatele urmtoare. Fiind dat graful G = (X, ) i atam acestuia
graful bipartit G=( X X ' , ) cu X ' {i ' | i X } . Pentru j X convenim
i ' j i j sau j i . Folosind graful G mulimile exterior stabile le
caracterizm cu teorema ce urmeaz.

Teorema 1. T X este mulime exterior stabil n graful G dac i numai


dac T = X n G.

Folosind aceast teorem se poate deduce urmtorul algoritm


determinarea mulimilor exterior stabile (dominante) ale unui graf oarecare
G=(X, ) dat:

Algoritmul pentru determinarea mulimilor exterior stabile:


(a) Se d graful G=(X, )
Construiete graful bipartit G= ( X X ' , )
Fie T=
(b) Procedura de reducere
Ct timp exist j ' X ' cu | -1 j ' | 1 execut
T T 1 j ' ;
G ' G '(1 j '(1 j ' ));

5
Algoritmica grafelor

sfc
(c) Ct timp X execut
alege i X;
T=T {i} ;
G=G-({i} i);
elimin din X vrfurile i cu i ;
execut Procedura de reducere
sfc.

Observatie: Dac algoritmul execut instruciuni din pasul (c) atunci


datorit apelului recursiv cerut de execut (b) pentru fiecare alegere a lui i
din X se afl cte o mulime exterior stabil. Astfel se pot determina toate
mulimile exterior stabile ale grafului dat. Apoi se poate determina numrul
de stabilitate extern a grafului i alege mulimile exterior stabile minime.

Figura 5.

Pentru graful din prima figur 5, graful bipartit asociat lui este cel din figura
a doua. n urma aplicrii algoritmului dat obinem ca mulimi exterior stabile
ale sale pe: {1,2,7}; {1,2,5}; {1,5,2}; {1,5,7}; {l,7,2} i {l,7,5}.

Multimile independente (interior stabile) i dominante (exterior


stabile) se pot determina i cu ajutorul unor algoritmi de tip branch and
bound. Aceast metod se aplic problemelor NP-complete care satisfac
urmtoarele:
mulimea soluliilor admisibile (posibile) S este finit S={s1,s2,..,st}
exist o funcie f: S cu proprietatea:
dac f(a)=min(max){ f(x)| x S } atunci a este o soluie optim.
exist o metod (procedur) pentru a determina o margine superioar
(respectiv inferioar) mic (mare) eventual supremumul (infimumul)
pentru orice A S, adic sup A (inf A) este estimabil;
exist un criteriu de a partiiona (descompune) o mulime A S n
dou sau mai multe submulimi, adic B sau B1,..,Bs astfel nct
A B C A B respectiv A B1 ... Bs unde CAB=A-B este
complementara lui B n raport cu A.

6
Algoritmica grafelor

Avnd o astfel de procedur se construiete o arborescenl etichetat.


n eticheta fiecrui vrf se afl o submulime A S ntr-o form explicit sau
implicit i marginea superioar (inferioar) care estimeaz pe sup A (inf A)
numit born. Se va dezvolta arborescena prin a aduga succesorii vrfului
terminal (frunz) al arborescenlei, deci k , cu borna cea mai mica
(mare). Numrul descendenilor ce se vor aduga lui k corespunde criteriului
de partiionare utilizat. Dezvoltarea arborescentei se face pn cnd se obine
o solutie optim. Apoi se continu pentru a determina alte soluii optime prin
dezvoltarea arborescenei doar pentru vrfurile cu born convenabil.
Etapa de iniializare construiete rdacina arborescentei etichetat conform
conveniilor problemei pentru submulimea A=S. Deoarece nu prezint
interes dect vrfurile terminale din arborescen se pot pstra (memora)
ntr-o list doar aceste vrfuri.

Algoritm
Metoda branch and bound pentru determinarea mulimilor interior
stabile (independente) maxime const n construirea unei arborescene care
are etichetate vrfurilor de forma (A, B, b) cu semnificaia:
A X este o mulime interior stabil i toi descendentii si din
arborescen definesc mulimi interior stabile care contin pe A (deci
au cardinalul i mai mare sau egal cu al lui A);
B X are proprieti1e A 1 A B i toate mu1imiIe interior
stabile din vrfurile descendende nu au vrfuri din B;
b=|X-B| este o margine superioar a numrului de vrfuri care mai pot
fi adaugate la A pentru a obine o mulime interior stabil maxim.

Pentru a preciza descendentii vrfului arborescentei etichetat cu


(A,B,b) s observm c i X B mulimea A {i} este interior stabil
deoarece A 1 A B . Atunci, ramificarea arborescentei se face astfel:
alege i X ( A B) i construiete succesorii etichetai unul cu
( A {i}; B i 1i; | X A B i 1i | ), iar cellalt cu ( A; B {i}; b 1).

Adic, un vrf are dou subarborescene una care definete toate


mulimile interior stabile care conin pe A {i} i cealalalt care definete
toate submulimile interioar stabile din X-{i} care conin pe A.
Vrfurile arborescenei cu borna 0 nu se pot dezvolta i dup ce s-a
obinut un asemenea vrf se retine in variabila , de exemplu, cardinalul lui
A din eticheta acelui vrf i se va dezvolta dintre vrfurile terminate
etichetate (A, B, b) cu |A|+b> cel care are |A|+b maxim. De fiecare dat

7
Algoritmica grafelor

cnd se obine un vrf frunz se va actualiza valoarea lui la cardinalul


maxim al mulimilor interior stabile deja depistate.

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