rezumat teza de doctorat

39
UNIVERSITATEA DIN BUCUREȘTI FACULTATEA DE MATEMATICĂ ȘI INFORMATICĂ TEZĂ DE DOCTORAT GESTIUNEA INFORMAȚIEI DISTRIBUITE REZUMAT CONDUCĂTOR ȘTIINȚIFIC PROF. UNIV. DR. IOAN TOMESCU DOCTORAND ASIST. UNIV. GABRIELA MIHAI BUCUREȘTI 2010

Upload: amza-ionut-catalin

Post on 25-Sep-2015

14 views

Category:

Documents


5 download

TRANSCRIPT

  • UNIVERSITATEA DIN BUCURETI FACULTATEA DE MATEMATIC I INFORMATIC

    TEZ DE DOCTORAT GESTIUNEA INFORMAIEI

    DISTRIBUITE REZUMAT

    CONDUCTOR TIINIFIC PROF. UNIV. DR. IOAN TOMESCU

    DOCTORAND ASIST. UNIV. GABRIELA MIHAI

    BUCURETI 2010

  • INTRODUCERE

    Centralizarea i descentralizarea sunt dou tendine opuse care au marcat alternativ evoluia sistemelor informatice. Tehnologia sistemelor de baze de date distribuite mbin dou domenii aparent opuse din punct de vedere al prelucrrii datelor: sistemele de baze de

    date i reelele de calculatoare. Sistemele de baze de date asigur integrarea informaiilor i centralizarea lor, astfel

    nct s permit controlul accesului la aceste informaii. Tehnologia reelelor de calculatoare promoveaz un mod de lucru descentralizat. Bazele de date distribuite reprezint unul dintre

    compromisurile cele mai profitabile, pstrnd avantajele ambelor abordri. Trebuie avut n vedere c obiectivul cel mai important n tehnologia bazelor de date este integrarea informaiilor, nu centralizarea acestora. Se poate realiza integrare fr centralizare, iar acest fapt este posibil prin tehnologia bazelor de date distribuite.

    Bazele de date distribuite sunt colecii de baze de date corelate logic ntre ele care rezid pe mai multe calculatoare interconectate printr-o reea de comunicaie (zsu i Valduriez 1999). Din perspectiva utilizatorului final baza de date distribuit apare ca o baz de date unic. Bazele de date distribuite ofer sistemelor informaionale o serie de avantaje, ce permit managerilor locali libertatea de a prelucra informaiile, astfel nct s rezolve necesitile departamentului pe care l conduc i reduc impactul provocat de eventualele defeciuni ale sistemului. De asemenea, prin crearea unor baze de date mai mici, n diferite locaii, se asigur prevenirea pierderii datelor.

    Datorit problemei critice privind performana, procesarea cererilor este o arie de interes att n contextul bazelor de date centralizate, ct i n cazul sistemelor distribuite. Problema procesrii cererilor este mult mai complex n mediile distribuite, deoarece un numr mare de parametri pot afecta performana acestora. n sistemele cu multe staii, timpul de rspuns poate fi foarte mare mai ales n cazurile n care cererea implic operaii

    de join pe tabele de dimensiuni mari. Este evident c n cazul bazelor de date distribuite un rol deosebit de important l reprezint partea de configurare a reelei de calculatoare.

  • Introducere

    2

    Datorit dezvoltrii susinute a calculului paralel i distribuit, realizarea i analiza

    unor noi reele de interconectare pentru sistemele paralele i distribuite reprezint un subiect

    principal de studiu. Actualele tehnologii de comunicaie fac posibil conectarea unor sisteme

    de calcul ce conin un numr mare de procesoare folosind reele de interconectare

    de mare vitez.

    Un sistem distribuit este o colecie de sisteme de calcul independente care pentru un

    singur utilizator apare ca un singur sistem de calcul (Tanenbaum i Van Steen 2007). Exist dou aspecte ale acestei definiii: din punct de vedere hardware sistemele de calcul sunt

    independente, iar din punct de vedere software utilizatorul vede ntregul sistem ca pe un singur sistem de calcul.

    Att n cazul sistemelor de baze de date, ct i n cazul sistemele de calcul, exist

    cteva elemente importante care au motivat trecerea de la centralizare la distribuire.

    Avantajele eseniale care au determinat utilizarea distribuirii sunt urmtoarele: obinerea autonomiei locale - deoarece sistemele distribuite permit organizarea

    descentralizat a informaiilor, utilizatorii dintr-un nod al reelei pot avea control

    local asupra datelor stocate n acea locaie; posibilitatea partiionrii autoritii i a

    responsabilitii n sistemele informaionale este unul dintre motivele eseniale care

    au determinat trecerea la sistemele distribuite;

    creterea performanelor - ntr-un sistem distribuit accesul la informaii este

    mbuntit prin posibilitatea de execuie n paralel a sarcinilor; deoarece fiecare

    staie prelucreaz doar o poriune a aplicaiei, disputele asupra folosirii resurselor

    (CPU, I/O) nu sunt att de intense ca n cazul sistemelor centralizate; mai mult, stocarea datelor n mai multe locaii permite execuia n paralel a sarcinilor, astfel

    micorndu-se timpul de execuie a acestora;

    creterea fiabilitii - sistemele distribuite pot reduce impactul provocat de

    eventualele cderi ale componentelor reelei de comunicaii prin folosirea mai multor

    copii ale datelor n locaii diferite; cderea unui nod din sistem sau ntreruperea unei

    legturi de comunicaie poate determina ca anumite noduri s devin inaccesibile,

    dar aceasta nu presupune inoperabilitatea total a sistemului; chiar dac anumite date

    nu sunt accesibile, sistemul distribuit poate asigura servicii limitate;

  • Introducere

    3

    partajabilitatea informaiilor - organizaiile care ntreprind activiti distribuite geografic stocheaz de obicei informaiile ntr-o form distribuit; n general, dac

    sistemul informatic nu este distribuit, atunci acesta nu poate permite folosirea n comun a datelor sau a resurselor; sistemele distribuite fac posibil partajarea informaiilor, accesul la acestea fiind permis tuturor utilizatorilor;

    scalabilitatea sistemului - fa de sistemele centralizate, sistemele distribuite sunt

    mult mai uor de adaptat la creterea complexitii i dimensiunii aplicaiei; pe msur ce necesitile cresc, se pot aduga staii noi n reea, mrind simultan i

    fiabilitatea sistemului;

    scderea costurilor - costurile de comunicaie se reduc simitor dac sistemele

    distribuite geografic permit partiionarea aplicaiilor i procesarea local a informaiilor; de asemenea, un sistem distribuit poate determina scderea costurilor pentru echipamentele hardware; n general, costurile sunt mult mai reduse dac se organizeaz un sistem cu mai multe procesoare mici care este echivalent ca putere cu

    unul care are un procesor foarte mare.

    n luarea deciziei de utilizare a sistemelor distribuite trebuie avute n vedere i problemele pe care aceste tipuri de sisteme le pot genera:

    complexitatea - problemele generate de utilizarea unui sistem distribuit sunt cu mult

    mai complexe dect cele ale sistemelor centralizate; pe lng problemele aprute n

    cazul sistemelor centralizate acestea includ o serie de probleme specifice mediului distribuit;

    distribuia controlului - acest aspect a fost prezentat anterior ca un avantaj pe care l ofer mediile distribuite; totui, distribuirea poate crea probleme de sincronizare i de coordonare a proceselor; de aceea, trebuie adoptate politici adecvate pentru a putea preveni apariia acestor probleme;

    securitatea - unul dintre cele mai importante beneficii ale utilizrii sistemelor centralizate este asigurarea controlului de acces la date; n cazul mediilor centralizate

    securitatea poate fi controlat cu uurin dintr-un punct central;

    dificultatea schimbrii - dac o companie a investit ntr-un sistem centralizat, atunci implementarea unui sistem distribuit nu are sens; n prezent, nu exist instrumente

  • Introducere

    4

    sau metodologii pentru convertirea unui sistem centralizat ntr-unul distribuit; costurile de pregtire a personalului i cele pentru achiziionarea componentelor software sau hardware adecvate pot fi mult prea mari pentru ca modificarea s fie justificat din punct de vedere economic;

    costurile - sistemele distribuite necesit componente hardware adiionale (de exemplu, mecanisme pentru comunicaii) i componente software complexe, acestea mrind costurile de configurare a bazelor de date distribuite; n plus, este necesar angajarea de personal suplimentar pentru ntreinerea nodurilor reelei i pentru procesarea datelor de la aceste niveluri.

    n consecin, problemele determinate de utilizarea unui sistem distribuit au o complexitate sporit fa de cele specifice unui sistem centralizat. n plus, aceast complexitate mrit poate genera probleme noi, influenate n mare parte de trei factori:

    inexistena copiilor de siguran ale datelor la nivelul mai multor noduri din reea;

    neasigurarea unor mecanisme care s determine propagarea modificrilor asupra datelor la nivelul fiecrei copii a acestora;

    ngreunarea sincronizrii copiilor.

    O reea de interconectare poate fi modelat printr-un graf G = (V;E). Vrfurile grafului reprezint nodurile reelei, iar muchiile grafului corespund liniilor de comunicaie. Dac comunicaia dintre noduri se realizeaz ntr-o singur direcie, atunci graful este orientat. n caz contrar, modelul este cel al unui graf neorientat. Graful care modeleaz reeaua de interconectare reprezint topologia reelei.

    n aceast lucrare subiectul gestiunii informaiei distribuite va fi abordat din cele dou perspective discutate anterior: a grafurilor care permit modelarea reelei de interconectare, respectiv a bazelor de date.

    Din punct de vedere logic lucrarea cuprinde dou pari, una dedicat teoriei grafurilor, iar cealalt bazelor de date. Fiecare parte este structurat pe dou capitole.

    Primele dou capitole ale lucrrii trateaz dou probleme de etichetare a anumitor clase de grafuri. Este vorba de etichetarea L(2; 1), respectiv etichetarea radio a grafurilor. Aceste dou tipuri de etichetri pe care le-am abordat n lucrare sunt utile n rezolvarea unei probleme practice, i anume atribuirea de frecvene corespunztoare fiecrei staii radio dintr-un sistem fr a se produce interferene.

  • Introducere

    5

    Fie G un graf conex de diametru d i p un numr ntreg pozitiv, astfel nct

    1 p d. Se numete p - etichetare radio a grafului G o funcie f care atribuie vrfurilor

    grafului G numere ntregi pozitive (etichete, culori) astfel nct:

    d(u; v)+ j f (u) f(v) j p + 1;

    oricare ar fi u i v dou vrfuri distincte ale grafului G i d(u; v) distana dintre acestea.

    Dac funcia f este o p - etichetare radio a grafului G, atunci se noteaz cu rcp(f)

    valoarea etichetei maxime atribuit prin funcia f vrfurilor grafului G. Numrul rcp(G)

    reprezint cel mai mic numr rcp(f), oricare ar fi f o p - etichetare radio a grafului G.

    n funcie de valoarea numrului p se obin diferite forme de etichetri radio. De exemplu, dac p = 1, atunci problema se reduce la colorarea clasic a grafurilor. Problema

    colorrii grafurilor const n atribuirea unei etichete (culori) fiecrui vrf din graf, astfel nct vrfurile adiacente s nu primeasc aceeai etichet. n acest caz, numrul rc1(G) este denumit numrul cromatic al grafului G i este notat cu (G).

    n primul capitol al tezei am abordat problema etichetrii L(2; 1) a grafurilor. Acest tip de etichetare se obine pentru p = 2. Problema const n atribuirea unui numr ntreg

    pozitiv fiecrui vrf al grafului, astfel nct etichetele vrfurilor adiacente s difere prin cel puin 2, iar etichetele vrfurilor aflate la distan 2 s difere prin cel puin 1. n acest caz, numrul rc2(G) este notat cu (G), aceast afirmaie fiind adevrat dac etichetarea

    ncepe cu valoarea minim 1. Deoarece n cazul etichetrii L(2; 1) eticheta minim este

    considerat 0, se obine de fapt (G) = rc2(G) 1.

    n prima seciune a capitolului este inclus o retrospectiv a celor mai importante rezultate obinute pn n prezent privind acest tip de etichetare. Urmtoarele dou seciuni reprezint contribuii personale. Iniial, sunt determinate valorile exacte ale numerelor

    asociate grafurile totale ale grafurilor bipartite complete. Acest rezultat este extins

    pentru grafurilor totale ale grafurilor multipartite complete.

    Al doilea capitol prezint problema d - etichetrii radio a unui graf G, unde d

    reprezint diametrul grafului. Aceast etichetare este numit simplu etichetare radio, iar numrul rcd(G) se numete numr radio i este notat rn(G). Ca i n cazul primului capitol,

    prima seciune cuprinde definiiile i notaiile de baz, respectiv unele dintre cele mai importante rezultate obinute pn n prezent. Urmtoarele trei seciuni ale capitolului includ

  • Introducere

    6

    contribuii personale, fiind determinate valorile numerelor radio pentru anumite clase de grafuri (subdiviziunile 2-uniforme ale grafului roat Wn , subdiviziunile k -uniforme ale grafului roat Wn, graful floarea soarelui SFn i graful mCn + K1).

    Urmtoarele dou capitole sunt dedicate bazelor de date relaionale. Pentru definiiile, notaiile i terminologia specific bazelor de date relaionale se face referire la (Popescu 1996), (Popescu 2001) i (Dollinger i Andron 2004).

    Modelul relaional a fost conceput i dezvoltat de Codd ((Codd 1970), (Codd 1990)), fiind un model formal de organizare conceptual a datelor, destinat reprezentrii legturilor dintre date i bazat pe teoria matematic a mulimilor i logic matematic. Modelul relaional este alctuit numai din relaii i prin urmare orice interogare asupra bazei de date este tot o relaie. Codd a definit acest model cu o deosebit rigoare matematic, furniznd un

    mijloc performant de studiu al proprietilor logice ale unui sistem de baze de date. Un model relaional este caracterizat de trei elemente: structura relaional a datelor,

    operatorii relaionali ce acioneaz asupra structurii i regulile de integritate ce trebuie respectate de model. Din punct de vedere formal, datele sunt organizate n relaii (tabele), relaiile reprezint mulimi de tupluri (linii), tuplurile sunt caracterizate de atribute (coloane), iar atributele aparin unor domenii (tipuri de date). La nivel fizic, aceste elemente devin fiierele, nregistrrile, cmpurile, respectiv tipurile de date.

    Mulimea atributelor unei relaii R definete schema relaional a relaiei respective.

    Dac relaia R este caracterizat de atributele A1; A2; :::; An, atunci schema relaional a

    relaiei R va fi notat cu R(A1; A2; :::; An).

    Operatorii modelului relaional definesc operaiile care se pot efectua asupra relaiilor, n scopul realizrii funciilor de prelucrare asupra bazei de date. Modelul relaional

    ofer dou mulimi de operatori pe relaii, i anume algebra relaional i calculul relaional. Operatorii algebrei relaionale sunt fie operatorii tradiionali pe mulimi (union, intersect, product, difference), fie operatori relaionali speciali (select, project, join, division).

    Accesarea informaiilor stocate ntr-o baz de date se realizeaz folosind interogri

    SQL. Pentru a nu afecta performana sistemului, interogrile SQL trebuie optimizate, astfel nct s produc rezultatul dorit cu un cost ct mai mic. Unul dintre cei mai costisitori operatori relaionali este operatorul join (compunere).

  • Introducere

    7

    n capitolul al treilea al tezei este tratat operatorul outer join cu toate cele trei forme ale acestuia (left, right i full). Aceast seciune conine contribuii personale. Algoritmii clasici de procesare a operaiilor de join sunt modificai astfel nct s permit procesarea diverselor forme ale operatorului outer join. Sunt realizate o serie de teste asupra acestor algoritmi pentru a putea decide care dintre acetia reprezint o alegere bun pentru a procesa o operaie de outer join ntr-un anumit context. n lucrare sunt incluse exemple care ruleaz n cazul unor baze de date centralizate. n schimb, algoritmii au fost testai i pe medii distribuite, rezultatele obinute fiind relativ asemntoare. Evident, n cazul bazelor de date distribuite un rol deosebit de important l joac alegerea modului de distribuire a datelor (replicare total, replicare parial, tipul de fragmentare al relaiilor orizontal primar, orizontal derivat, vertical sau mixt), a topologiei reelei, a modalitii de gestiune a problemelor de sincronizare a replicilor de date, a politicilor de securitate etc.

    Ultimul capitol al tezei reprezint o dorin fireasc de a implementa, a testa i a optimiza anumite aplicaii din teoria grafurilor folosind tehnologii specifice sistemelor de gestiune a bazelor de date. Acest fapt presupune c graful este stocat ntr-o baz de date. Au existat mai multe motive care au stat la baza acestei decizii:

    majoritatea aplicaiilor pot fi proiectate folosind structuri de grafuri; aplicaiile actuale pot utiliza cantiti foarte mari de date al cror volum este n

    continu cretere;

    se dorete distribuirea datelor astfel nct s se obin toate avantajele configurrii unui sistem de baze de date distribuite;

    sunt necesare faciliti de configurare a aplicaiilor client/server etc. n acest scop a fost configurat o baz de date care s permit ncrcarea, stocarea i

    prelucrarea unor grafuri de dimensiuni mari. De asemenea, au fost implementai algoritmii specifici arborilor i grafurilor. Capitolul include contribuii personale. Sunt propui algoritmi care permit rezolvarea ctorva probleme: distane n grafuri; lanuri de cost minim n grafuri; centrul grafului. Aceste probleme au fost rezolvate att folosind metodele specifice programrii pe obiecte, ct i metode specifice bazelor de date. Testele realizate au demonstrat c pe lng o serie de alte avantaje, sistemele de gestiune a bazelor de date dispun de faciliti suplimentare care permit obinerea unui timp de execuie mai bun n cazul modelelor de grafuri ce au fost generate pentru teste.

  • CAPITOLUL I

    Etichetarea L(2,1) a grafurilor

    Dorind s rezolve problema asignrii frecvenelor, Yeh mpreun cu Griggs au

    propus noiunea de etichetare L (2 ; 1) a unui graf simplu (Yeh 1990), (Griggs i Yeh 1992). Etichetarea L (2 ; 1) a unui graf const n atribuirea unui numr ntreg pozitiv fiecrui vrf al

    grafului, astfel nct etichetele vrfurilor adiacente s difere prin cel puin 2, iar etichetele

    vrfurilor aflate la distan 2 s difere prin cel puin 1. Acest concept generalizeaz noiunea de colorare, deoarece colorarea vrfurilor unui

    graf corespunde etichetrii L (1 ; 0). Numrul L (2 ; 1)

    al unui graf G, notat cu (G ), este cel

    mai mic numr k pentru care graful G permite o etichetare L (2 ; 1) cu etichete mai mici

    dect k .

    Problema atribuirii unei frecvene corespunztoare fiecrei staii radio fr a se produce interferene poate fi formulat ca o problem de etichetare a unui graf, aplicnd condiii care depind de distanele dintre vrfuri. Etichetarea L (2 ; 1) poate fi numit

    etichetare la distan 2, deoarece constrngerile se aplic vrfurilor care se afl la distan 2.

    Griggs i Yeh au demonstrat c orice graf cu gradul maxim are o etichetare

    L (2 ; 1) pentru care valoarea este cel mult 2 + 2

    (Griggs i Yeh 1992). Chang i Kuo au determinat o margine superioar mai mic pentru numrul , aceasta fiind 2 +

    (Chang i Kuo 1996). Griggs i Yeh au conjecturat c 2 este cea mai bun limit superioar a valorii , pentru orice graf G care are gradul maxim 2, aceast margine fiind valid

    pentru grafurile care au diametrul 2

    (Griggs i Yeh 1992). Problema etichetrii L (2 ; 1) a fost tratat n multe articole (Chang i Kuo 1996),

    (Georges, Mauro i Whittlesey 1994), (Griggs i Yeh 1992), (Liu i Yeh 1997), (Shao, Yeh i Zhang 2008), (Yeh 1990). n cele mai multe dintre aceste lucrri este determinat valoarea pentru clase particulare de grafuri. Determinarea valorii s-a demonstrat a fi o problem

    NP-dificil (Griggs i Yeh 1992).

  • Capitolul 1 Etichetarea L(2,1) a grafurilor

    9

    n prima parte a capitolului este introdus noiunea general de etichetare L (d 1 ; d 2 )

    i sunt amintite cteva dintre rezultatele remarcabile gsite pn n prezent n cazul acestui

    tip de etichetare. n continuare este tratat cazul particular L (2 ; 1). n urmtoarele dou pri ale acestui capitol sunt incluse rezultatele pe care le-am obinut pentru grafurile totale ale

    grafurilor bipartite complete, respectiv pentru grafurile totale ale grafurilor multipartite

    complete. Pentru aceste clase de grafuri am determinat valorile exacte ale numerelor

    asociate. Am demonstrat c n aceste cazuri conjectura Griggs i Yeh este adevrat. De asemenea, am furnizat o margine superioar mai bun a valorilor corespunztoare acestor

    clase grafuri.

    Pentru terminologia i notaiile de baz utilizate n teoria grafurilor se face referire la

    monografia (Harary 1969).

    1.1. Noiuni introductive

    Fie G un graf conex cu mulimea vrfurilor V (G ). Pentru oricare dou vrfuri

    distincte u i v ale grafului G, notm cu dG (u; v ) distana dintre acestea. De asemenea,

    notm cu (G) gradul minim al grafului G i cu (G) gradul su maxim.

    n situaiile n care referirea la graful G este evident se vor folosi notaiile directe d(u; v ), , respectiv :

    1.1.1. Etichetarea L(d1,d2) a grafurilor

    Acest tip de etichetare reprezint generalizarea noiunii de etichetare L (2 ; 1).

    Definiie. Pentru numerele ntregi pozitive k , d1 i d2, o etichetare k L (d1 ; d2) a unui

    graf G este o funcie f : V (G ) ! f0 ; 1; 2 ; : : : ; kg definit astfel nct:

    jf (u ) f (v )j d i ; daca dG (u; v ) = i; unde i 2 f1 ; 2g :

    Definiie. Numrul L(d1 ; d2) al unui graf G, notat cu d1 ;d2 (G), reprezint cel mai mic

    numr k pentru care graful G admite o etichetare k L (d1 ; d2).

  • Capitolul 1 Etichetarea L(2,1) a grafurilor

    10

    Problema etichetrii L (d 1 ; d 2 ), unde d1 d2 1, a reprezentat subiectul multor

    articole. n continuare sunt date cteva dintre cele mai importante rezultate privind acest tip de etichetare, obinute pn n prezent.

    Proprieti generale

    Aceste proprieti provin fie din definiii, fie pot fi gsite n cteva articole (Griggs i Yeh 1992), (Chang, Ke, i alii 2000), (Georges i Mauro 1995) i (Georges i Mauro 1994).

    Fie H un subgraf al grafului G. Atunci d1 ;d2 (H ) d1 ;d2 (G), unde d1 d2. De

    remarcat este faptul c aceast proprietate nu este adevrat dac d1 < d2. De exemplu,

    graful K1;n este subgraf al grafului Kn+1, dar 0;1(K 1;n) = n 1 > 0;1(Kn+1) = 0 . n schimb, dac H este un subgraf indus, atunci inegalitatea este adevrat pentru orice d1 i

    d2. Dou vrfuri u i v sunt adiacente (distana dintre acestea este 1) n G dac i numai dac u i v sunt adiacente n H. Dac dG (u ; v ) = 2, atunci dH (u; v ) 2. Aceasta verific

    afirmaia anterioar.

    Dac G este un graf care are gradul maxim 1, atunci d;1(G) + d 1.

    Mai mult, dac d;1(G) = + d 1 i d 2 , atunci f (x) = 0 sau f (x ) = + d 1

    pentru orice etichetare f de tip L (d ; 1) i orice vrf major x . Un vrf major este un vrf care are gradul maxim .

    Pentru orice graf G i pentru oricare trei numere ntregi pozitive d1, d2 i c , se

    obine c cd1;cd2 = cd1 ;d2.

    Dac G este un graf cu cel puin o muchie, atunci

    limd!1

    d+1;1(G)

    d;1(G)= 1.

    1.1.2. Etichetarea L(2,1) a grafurilor

    Definiie. Etichetarea L (2 ; 1) a unui graf G este o funcie f : V (G ) ! Z+

    care satisface

    urmtoarele condiii:

    jf (u ) f (v )j 2 ; daca dG (u; v ) = 1

    jf (u ) f (v )j 1 ; daca dG (u; v ) = 2 :

  • Capitolul 1 Etichetarea L(2,1) a grafurilor

    11

    Definiie. Numrul L (2 ; 1) al unui graf G, notat cu (G ), este cel mai mic numr pentru

    care G

    admite o etichetare L (2 ; 1) astfel nct maxff (v ) : v 2 V (G )g = k .

    n continuare sunt prezentate cteva dintre cele mai importante rezultate referitoare la numerele ale anumitor tipuri de grafuri.

    Teorem. (Griggs i Yeh 1992) (i). Dac G este un graf de ordin n, atunci (G ) n + (G ) 2.

    (ii). Pentru orice graf G, (G ) 2 + 2 . (iii). Dac G este un graf care are diametrul , atunci (G ) 2 .

    Chang i Kuo au redus limita superioar n cazul (ii) la 2 + (Chang i Kuo 1996). Apoi, Kral i Skrekovski au redus aceast limit la 2 + 1

    (Kral i Skrekovski 2003). Limita superioar 2 din relaia (iii) este cea mai bun atunci cnd 2 f2 ; 3 ; 7g. Se cunoate c un graf cu diametrul pentru care jV (G ) j = 2 + 1 exist doar dac

    2 f2 ; 3 ; 7 ; 57g

    (Bondy i Murty 1976). Deoarece diametrul are valoarea

    2 , toate

    etichetele grafului trebuie s fie distincte. Astfel, rezult c (G ) jV (G ) j 1 = 2 . Pe

    de alt parte, din (iii) se obine c (G ) 2 : Rezult c (G ) = 2 doar dac 2 f2 ; 3 ; 7 ; 57g. Dac = 2, atunci se obine graful C5. Dac = 3, atunci se obine

    graful lui Petersen. Graful pentru care = 7 este numit graful Hoffman-Singleton (Bondy i Murty 1976).

    Conjectur. (Griggs i Yeh 1992) Pentru orice graf care are gradul maxim 2, exist inegalitatea (G ) 2 .

    Teorem. (Shao, Yeh i Zhang 2008)

    (T(Kn)) =

    8>>>>>:

    4; daca n = 2

    7; daca n = 3n

    2

    ; daca n 4:

  • Capitolul 1 Etichetarea L(2,1) a grafurilor

    12

    1.2. Etichetarea L(2,1) a grafurilor totale ale grafurilor ,

    Definiie. Graful total al unui graf G, notat T (G), este graful ale crui vrfuri corespund

    vrfurilor i muchiilor grafului G, dou vrfuri din T (G ) fiind adiacente dac i numai

    dac acestea corespund n graful G unor vrfuri adiacente, unor muchii adiacente sau unor

    vrfuri i muchii incidente.

    n aceast seciune se vor considera grafurile bipartite complete Kn;m pentru care n m, cu bipartiia vrfurilor V (Kn;m ) = V1 [ V2, unde mulimile V1 i V2 sunt disjuncte i jV 1 j = n , iar jV2 j = m .

    1.2.1. Proprieti ale grafurilor totale ale grafurilor Kn,m

    Lem. (Mihai 2010) Dac G este graful total T (Kn;m), atunci

    j V (G ) j = n + m + nm

    j E(G) j = 3nm+ n

    m

    2

    +m

    n

    2

    .

    1.2.2. Numerele asociate grafurilor totale (,)

    Lem. (Mihai 2010) Dac G este graful total T (Kn;m), atunci gradul minim al complementului su este

    (G) = nm 1 + n m:

    Teorem. (Mihai 2010)

    (T (Kn;m)) =

    8>>>:

    4; daca n = m = 1

    2m+ 1; daca n = 1; m 2

    nm+ n+m 1; daca m n 2:

  • Capitolul 1 Etichetarea L(2,1) a grafurilor

    13

    Corolar. (Mihai 2010)

    (T (Kn;m)) 1

    42 + 1; pentru orice m n 2:

    1.3. Etichetarea L(2,1) a grafurilor totale ale grafurilor ,,,

    n aceast seciune se vor considera grafurile multipartite complete Kn1;n2 ;:::;np

    pentru care n1 n2 ::: np.

    Se va considera multipartiia V (Kn1;n2 ;:::;np) = V1 [ V2 [ ::: [ Vp , unde mulimile

    V1; V2; :::; Vp sunt disjuncte i jVij = ni pentru toi 1 i p. De asemenea, se va nota cu xik

    al k -lea vrf din mulimea , unde 1 i p i 1 k ni.

    1.3.1. Proprieti ale grafurilor totale ale grafurilor ,,,

    Se observ cu uurin c dac notm cu n = jV (Kn1 ;n2;:::;np)j, atunci rezult c

    n =X

    1ip

    ni.

    Lem. (Mihai i Marinescu-Ghemeci (a)) Dac xik i xikx

    jt sunt vrfuri ale grafului T (Kn1 ;n2;:::;np ), unde 1 i 6= j p;

    1 k ni; 1 t nj, atunci

    d(xki) = 2(n ni)

    d(xkixt

    j) = 2n ni nj :

    Lem. (Mihai i Marinescu-Ghemeci (a)) Dac G este graful total T (Kn1 ;n2;:::;np ), atunci

    jV (T (Kn1;n2;:::;np))j = n +X

    1i

  • Capitolul 1 Etichetarea L(2,1) a grafurilor

    14

    Lem. (Mihai i Marinescu-Ghemeci (a)) Dac G este graful total T (Kn1 ;n2;:::;np ), atunci

    Lem. (Mihai i Marinescu-Ghemeci (a)) Graful total T (Kn1 ;n2;:::;np )

    are diametrul

    diam(T (Kn1;n2;:::;np)) =

    8>>:

    (d + 1)2

    4+ 1; daca n este impar

    d(d+ 2)

    4+ 1; daca n este par:

    Liu a obinut o margine inferioar a numerelor radio asociate arborilor, respectiv

    arborilor care au cel mult un vrf cu gradul mai mare dect 2 . De asemenea, Liu a

    caracterizat grafurile care ating aceste limite (Liu 2008). n 2001 Chartrand, Erwin, Zhang i Harary au obinut cteva rezultate care sunt

    incluse n urmtoarele patru teoreme.

    Teorem. (Chartrand, Erwin, i alii 2001)

    rn(Kn) = n:

    Graful stea, notat Sn cu n 2, este arborele cu n+ 1 vrfuri K1;n. Numrul radio

    al acestui tip de graf este dat de urmtoarea teorem.

    Teorem. (Chartrand, Erwin, i alii 2001)

    rn(Sn) = n+ 2; unde n 2:

    Teorem. (Chartrand, Erwin, i alii 2001)

    rn(Kn1 ;n2;:::;nk) = n1 + n2 + : : :+ nk + k 1:

  • Capitolul 2 Etichetarea radio a grafurilor

    18

    Teorem. (Chartrand, Erwin, i alii 2001)

    (i) Dac G este un graf conex de ordin n care are diametrul 2, atunci n rn(G) 2n 2.

    (ii) Pentru orice pereche de numere ntregi k i n, cu n k 2n 2, exist un graf conex G de ordin n care are diametrul

    2, astfel nct rn(G) = k: Teorem. (Chartrand, Erwin, i alii 2001)

    rn(Wn) =

    8>>>:

    4; pentru n = 3

    7; pentru n = 4

    n+ 2; pentru n 5:

    Grafurile gear sunt extensii ale grafurilor roat. Graful n-gear Gn este obinut din graful roat Wn, insernd cte un vrf de grad 2 ntre fiecare dou vrfuri ale ciclului. Deci, graful n-gear Gn este un graf obinut din graful roat W2n, pstrnd spiele la pas 2.

    Numrul radio al grafului Gn, avnd n 4, este dat de urmtoarea teorem.

    Teorem. (Fernandez, i alii) rn(Gn) = 4n+ 2; pentru n 4:

    Graful crm Hn este obinut din graful roat Wn, atand un vrf de grad 1 fiecrui vrf de pe ciclul roii.

    Teorem. (Tomescu i Rahim)

    rn(Hn) =

    8>>>:

    13; pentru n = 3

    21; pentru n = 4

    4n+ 2; pentru n 5:

    2.2. Numrul radio al subdiviziunilor 2-uniforme ale lui Wn

    n aceast seciune vom determina numrul radio al subdiviziunilor 2-uniforme ale grafului roat Wn, notate cu Wn;3.

    Graful Wn;k este o subdiviziune (k 1) - uniform a grafului Wn i este obinut

    din graful roat Wn, insernd k 1

    vrfuri ntre fiecare 2 vrfuri ale ciclului.

  • Capitolul 2 Etichetarea radio a grafurilor

    19

    Astfel, graful Wn;k este obinut din graful Wkn, pstrnd spiele la pasul k, pentru

    n 2 i k 2. Folosind aceast definiie, rezult c graful roat Wn este Wn;1 i graful

    n-gear Gn este Wn;2:

    Graful Wn;k are nk + 1

    vrfuri (n

    vrfuri de grad 3, n(k 1) vrfuri de grad 2 i

    un vrf de grad n) i n(k + 1) muchii. Pentru graful Wn;k se obine

    diam(Wn;k) = 2

    k

    2

    + 2, pentru n 3 i k 3:

    Teorem. (Mihai, Marinescu-Ghemeci i Tomescu (a))

    rn(Wn;3) 5n+ 2; pentru n 3:

    Teorem. (Mihai, Marinescu-Ghemeci i Tomescu (a))

    rn(Wn;3) = 5n+ 2; pentru n 4:

    Teorem. (Mihai, Marinescu-Ghemeci i Tomescu (a)) rn(W3;3) = 20.

    2.3. Numrul radio al subdiviziunilor uniforme ale lui Wn

    n aceast seciune vom determina numrul radio al tuturor subdiviziunilor (k 1) - uniforme ale grafului Wn, notate Wn;k.

    Teorem. (Mihai i Marinescu-Ghemeci (b)) Dac n i k sunt dou numere ntregi astfel nct k 3 i n k + 1, atunci are

    loc urmtoarea inegalitate:

    rn(Wn;k) 2n

    k

    2

    2+nk+2:

    Teorem. (Mihai i Marinescu-Ghemeci (b)) Fie n i k dou numere ntregi astfel nct k 3 i n k + 1. Atunci se obine

    rn(Wn;k) = 2n

    k

    2

    2+ nk + 2:

  • Capitolul 2 Etichetarea radio a grafurilor

    20

    Teorem. (Mihai i Marinescu-Ghemeci (b)) Fie n i k dou numere ntregi astfel nct n; k 3 i n k. Pentru k impar exist inegalitatea

    rn(Wn;k) 2n

    k

    2

    2+ nk + 2 + 2(

    k n

    2n

    + 1)(k n(

    k n

    2n

    + 1)) +

    + k + 1 n:

    Pentru k par avem

    rn(Wn;k) 2n

    k

    2

    2+ nk + 2 + 2(

    k + 1 n

    2n

    + 1)

    (k + 1 n(

    k + 1 n

    2n

    + 1)):

    2.4. Numrul radio al unor grafuri nrudite cu graful Wn

    n aceast seciune vom determina valorile exacte ale numerelor radio asociate unor tipuri de grafuri nrudite cu graful roat Wn. Iniial este tratat cazul grafului mCn +K1, iar

    apoi cazul grafului floarea soarelui SFn.

    2.4.1. Numrul radio al grafului mCn + K1

    Graful mCn +K1, cu m; n 2, const din m cicluri de lungime n i un vrf

    central care este conectat cu toate vrfurile ciclurilor. De remarcat este faptul c pentru

    m = 1 se obine graful Cn +K1, care este graful roat Wn. Pentru m = 2 se obine graful

    2Cn + K1, care este denumit roat dubl.

    Graful mCn +K1 are mn + 1 vrfuri (mn vrfuri de grad 3 i un vrf de grad mn) i 2mn muchii.

    De asemenea, se obine c

    diam(mCn +K1) = 2; pentru m;n 2:

    Pentru a determina numerele radio asociate acestui tip de graf este utilizat rezultatul

    de mai jos. De remarcat este faptul c n cazul numerelor radio a fost utilizat o etichetare ce presupune c eticheta minim are valoarea 1 (n loc de 0).

  • Capitolul 2 Etichetarea radio a grafurilor

    21

    Teorem. (Mihai i Marinescu-Ghemeci (c)) Numrul radio al grafului mCn +K1, cu n;m 2, este

    rn(mCn +K1) = mn+ 2:

    2.4.2. Numrul radio al grafului floarea soarelui

    Graful floarea soarelui este un graf nrudit cu graful roat. Graful n-floarea soarelui,

    notat SFn, este obinut din graful roat Wn, unind fiecare pereche de vrfuri adiacente ale

    ciclului printr-un lan de lungime 2. De aceea, se consider graful roat Wn cu vrful

    central x i x1; x2; : : : ; xn vrfurile cilului Cn. Graful SFn se obine din Wn, adugnd n

    vrfuri noi y1; y2; : : : ; yn i unind prin muchii vrful yi de vrfurile xi, respectiv xi+1,

    pentru fiecare 1 i n, indicii fiind considerai modulo n plus 1. Un exemplu de astfel

    de graf este dat n Figura 2.4.3.

    Graful SFn are 2n + 1 vrfuri:

    n vrfuri de grad 5;

    n vrfuri de grad 2;

    un vrf de grad n.

    De asemenea, se observ cu uurin c SFn are 4n muchii.

    Teorem. (Mihai i Marinescu-Ghemeci (c)) Fie n

    un numr ntreg astfel nct n 6. Atunci

    rn(SFn) 4n+2:

    Teorem. (Mihai i Marinescu-Ghemeci (c)) Dac n 6, atunci numrul radio al grafului SFn este

    Teorem. (Mihai i Marinescu-Ghemeci (c)) rn(SF3) = 8:

    Remarc. (Mihai i Marinescu-Ghemeci (c)) rn(SF4) = 15:

    rn(SF5) = 16:

  • CAPITOLUL III

    ALGORITMI EFICIENI PENTRU PROCESAREA OPERATORILOR RELAIONALI N BAZE DE DATE

    Deoarece comenzile SQL sunt cele mai des utilizate pentru a accesa baza de date, crearea de interogri eficiente poate determina o cretere substanial a performanei sistemului. Modul n care sunt scrise comenzile SQL are cel mai mare impact asupra performanei bazei de date. De multe ori, o mic schimbare ntr-o interogare SQL poate spori sau ncetini considerabil execuia acesteia. Un script SQL este bun dac utilizeaz toate caracteristicile disponibile ale bazei de date pentru a realiza sarcina ct mai rapid i cu ct mai puine resurse ale sistemului.

    O bun performan a sistemului reprezint echilibrul dintre efectivitatea i eficiena

    codului aplicaiei versus resursele de sistem disponibile. Utiliznd fire de execuie i procesoare multiple, o aplicaie cu o singur baz de date poate folosi toate resursele din ntreg sistemul.

    nainte de a ncepe optimizarea comenzilor SQL, trebuie s se decid ce comenzi se vor optimiza. n general, se optimizeaz comenzile a cror execuie dureaz foarte mult sau comenzile care sunt executate destul de rapid, dar sunt repetate de multe ori. Optimizarea acestor tipuri de comenzi va determina o mbuntire a utilizrii resurselor sistemului.

    Unul dintre cei mai costisitori operatori relaionali din bazele de date l reprezint

    operatorul join. Pentru a optimiza eficient o comand SQL care utilizeaz operatori join trebuie s se in cont de ordinea de execuie a join-urilor, astfel nct la fiecare pas s fie obinute ct mai puine nregistrri ce vor fi utilizate n urmtoarea operaie de join. De asemenea, alegerea metodei de procesare a join-ului astfel nct aceasta s fie adecvat numrului de tupluri care ntr n join i rezultatului dorit, reprezint un pas important al etapei de optimizare.

  • Capitolul 3 Algoritmi eficieni pentru procesarea operatorilor relaionali n baze de date

    23

    Pn acum civa ani, cele mai multe sisteme de baze de date relaionale utilizau

    pentru implementarea operatorului join diverse forme ale algoritmilor Nested Loops i Sort Merge. Algoritmul Nested Loops reprezint o alegere bun dac cel puin una dintre relaiile

    participante la join are dimensiune redus, iar algoritmul Sort Merge este util pentru procesarea join-ului care implic relaii de dimensiuni mari (Graefe 1999). ncepnd din anul 1984, n mediile de cercetare a crescut interesul asupra algoritmului Hash Join, fiind

    create mai multe variante ale acestuia. n prezent, algoritmul Hash Join este utilizat frecvent pentru a procesa eficient operaiile de join (Chen, i alii 2003).

    Operatorul outer join este important pentru cuplarea informaiilor care sunt stocate n dou sau mai multe relaii ce au un atribut comun. Pentru dou relaii care ntr n join, se ntmpl frecvent ca tuplurile din prima relaie s nu aib un tuplu corespondent n cea de-a

    doua relaie. Utiliznd diverse forme ale operatorului outer join (left, right, full), un tuplu al unei relaii poate aprea n rezultat chiar dac nu satisface condiia de join. n aceast seciune sunt create extensii specifice operatorului outer join ale celor mai cunoscui algoritmi de procesare a join-urilor (Nested Loops, Sort Merge i Hash Join). Partea experimental care urmeaz ncearc s determine care dintre aceti algoritmi este cel mai

    eficient pentru a procesa o operaie outer join n anumite condiii iniiale. Operatorul outer join combin tupluri din dou sau mai multe relaii care au un

    atribut n comun. n mod formal, dac R i S sunt dou relaii ce au n comun atributul A, atunci:

    operatorul left outer join (R R.A = S.A S) reprezint un join n care sunt incluse i tuplurile din relaia R pentru care nu exist un tuplu corespondent n relaia S (tuplul care lipsete din relaia S este completat cu valori null);

    operatorul right outer join (R R.A=S.A S) reprezint un join n care sunt incluse i tuplurile din relaia S pentru care nu exist un tuplu corespondent n relaia R (tuplul care lipsete din relaia R este completat cu valori null);

    operatorul full outer join (R R.A=S.A S) reprezint un join n care sunt incluse att tuplurile din relaia R pentru care nu exist un tuplu corespondent n relaia S, ct i

    tuplurile din relaia S pentru care nu exist un tuplu corespondent n relaia R

    (tuplurile care lipsesc dintr-una dintre relaii sunt completate cu valori null).

  • Capitolul 3 Algoritmi eficieni pentru procesarea operatorilor relaionali n baze de date

    24

    n primele trei seciuni ale capitolului se prezint implementarea n pseudo-cod a algoritmilor creai pentru a procesa operaia de outer join (Mihai 2004). Datele de intrare sunt reprezentate de dou relaii, R i S, care au n comun atributul A. Datele de ieire reprezint rezultatul operaiei de outer join a celor dou relaii, dup atributul A. Pentru partea experimental a fost creat o baz de date relaional Oracle9i cu dou tabele, R (X NUMBER(20), Y VARCHAR2(25)), A NUMBER(10)) i S (A NUMBER(10), Z VARCHAR2(15)) (Mihai 2004). Tabelele nu sunt sortate i nici nu au indeci declarai pe atributul de join A. Algoritmii creai au fost implementai n Visual C++ 6.0 i au fost compilai cu utilitarul Oracle9i Pro C/C++. Afiarea rezultatului a cuprins toate coloanele celor dou tabele. Timpul de rspuns a fost msurat n secunde. Algoritmii au fost testai pe un computer AMD Athlon(tm) XP 2600+, 1.92 GHz, 512 RAM, cu sistem de operare Microsoft Windows XP Professional Version 2002, Service Pack 2.

    n figurile din aceast seciune sunt utilizate urmtoarele notaii: NL pentru algoritmul Nested Loops, SM pentru algoritmul Sort Merge, HJ pentru algoritmul Hash Join i HJW pentru algoritmul Hash Join care utilizeaz date deja meninute n partiii hash. De asemenea, s-a utilizat notaia SP pentru utilitarul SQL*PLUS Oracle9i. Notaia NrT X reprezint numrul de tupluri al relaiei X. Un exemplu pentru operatorul left outer join s-a realizat un experiment n care testele au fost realizate n ipoteza n care tabelele au aceeai dimensiune iniial, iar la fiecare pas de testare dimensiunea acestora crete cu acelai numr de tupluri. Figura urmtoare cuprinde rezultatele obinute n aceste ipoteze.

    NrT 700 1200 2200 7200 10000 20000 50000 100000 500000 1000000

    NL 21 61 205 2202 4326 16925 106e3 424e3 1031e5 4246e5 SM 0 0 1 3 6 13 33 59 143 420 HJ 2 3 5 14 17 38 90 126 555 1004

    HJW 0 0 0 1 1 2 17 23 167 501 SP 0 0 1 3 5 9 22 46 125 380

  • Capitolul 3 Algoritmi eficieni pentru procesarea operatorilor relaionali n baze de date

    25

    Pentru a se putea analiza eficiena celor trei algoritmi prezentai anterior, s-au

    realizat aceleai teste, n aceleai condiii i pentru utilitarul Oracle9i SQL*PLUS. Aa cum rezult din experimente, cu acest utilitar doar ntr-un singur caz s-a obinut un timp mai bun

    fa de ceilali algoritmi propui (Mihai 2004). Se poate observa c pentru tabele de dimensiuni reduse, oricare dintre algoritmii luai

    n considerare constituie o alegere bun, n acest caz timpul de rspuns fiind de cteva

    secunde. O situaie aparte luat n considerare este cea a algoritmului Hash Join. Algoritmul

    Hash Join W reprezint o implementare a algoritmului Hash Join care utilizeaz partiii deja create i populate cu date anterior procesrii operatorului outer join. De exemplu, un tabel poate fi partiionat n partiii corespunztoare cheii hash, definit n algoritmul Hash Join. n acest caz, un tuplu nou va fi inserat direct n partiia corespunztoare cheii hash. Testele

    demonstreaz c n anumite ipoteze pentru algoritmul Hash Join W se obine cel mai bun

    timp de rspuns, fiind urmat de algoritmul Sort Merge. De asemenea, pentru tabelele de

    dimensiuni mari testele indic faptul c algoritmul Nested Loops reprezint cea mai

    costisitoare alegere.

  • CAPITOLUL IV

    GRAFURI N BAZE DE DATE

    Grafurile furnizeaz o structur natural de reprezentare a modelului de date n cazul

    multor aplicaii. Vrfurile grafului reprezint obiectele modelului, iar muchiile acestuia

    relaiile dintre obiecte. Cteva exemple de actualitate care se bucur de un real interes sunt

    reelele de calculatoare, infrastructurile de transport, reelele de telefonie, reelele de

    socializare, reelele moleculare, WWW etc.

    Cele mai cunoscute forme de reprezentare ale unui graf n memorie sunt matricea de

    adiacen i lista de adiacen. n cazul primei metode un graf de ordin este memorat prin utilizarea unei matrice booleene ptratice de ordin , n care liniile i coloanele reprezint

    vrfurile, iar valorile matricei indic dac exist sau nu muchie ntre vrfurile respective.

    Dezavantajul memorrii unui graf prin matricea de adiacen este dat de faptul c multe dintre elementele acesteia sunt nule, deci utilizarea memoriei este nejustificat.

    n cazul reprezentrii grafului prin liste de adiacen, pentru fiecare vrf al grafului se menine lista vecinilor si. Aceast metod are avantajul c utilizeaz mai puin spaiu de alocare n memorie.

    Dac graful este stocat ntr-o baz de date reprezentarea acestuia folosind matricea

    de adiacen nu reprezint o soluie viabil din dou motive:

    numrul de coloane ale unui tabel este limitat (de exemplu, numrul absolut de coloane pentru un tabel Oracle este limitat la 1000, dar acest numr poate fi mrit

    dac se utilizeaz coloane de tip tablou imbricat sau vector); pentru a putea aduga sau elimina un vrf din graf este necesar utilizarea unei

    comenzi LDD.

    De asemenea, reprezentarea grafului prin liste de adiacen implic operaii

    costisitoare asupra bazei de date (tabele cu coloane de tip colecii, XML etc.).

  • Capitolul 4 Grafuri n baze de date

    27

    Vectorul de muchii reprezint o alt alternativ de reprezentare a unui graf, aceast

    metod fiind util atunci cnd graful este meninut ntr-o baz de date relaional. n acest caz, o metod corect de stocare a grafului, respectnd regulile de proiectare conceptual a

    modelului, presupune existen a dou tabele. Tabelul varfuri menine vrfurile grafului i informaii asociate acestora, iar tabelul muchii codurile vrfurilor ntre care exist muchie n

    graf, respectiv informaii utile despre muchii. De exemplu, dac modelul reprezint

    infrastructura rutier a unei zone geografice, atunci ne va interesa ntre ce orae exist drum

    rutier, care este distana ce trebuie parcurs pentru a putea ajunge dintr-un ora n altul, care sunt rutele alternative i dintre acestea care este cel mai scurt drum. Un alt exemplu poate fi

    reprezentarea unei reelele de socializare (de exemplu, Facebook, Twitter). n acest caz vrfurile reprezint persoane, iar muchiile relaii ntre persoane. Pentru fiecare persoan ne

    intereseaz anumite caracteristici (vrst, liceu, facultate, hobby etc.).

    Dac graful este orientat, atunci nu este necesar implementarea unor constrngeri

    suplimentare. n cazul grafurilor neorientate de dimensiuni mari, datorit volumului mare de informaii ce trebuie stocate n baza de date este de preferat s nu se menin ambele arce

    ntre aceleai dou vrfuri. Adic, dac vrfurile x i y sunt adiacente, atunci n tabelul

    muchii poate fi inserat doar una dintre perechile (x; y) sau (y; x). Este evident c trebuie s

    ne asigurm c n tabel nu poate fi introdus aceeai muchie de mai multe ori. Pentru

    implementarea acestei constrngeri am abordat mai multe metode alternative, iar cea optim

    a fost pstrat pentru testele finale.

    Pentru a putea contura o imagine de ansamblu asupra facilitilor aduse de metoda

    stocrii grafului ntr-o baz de date, am implementat o serie de proceduri i funcii specifice

    operaiilor de baz asupra arborilor, ct i asupra grafurilor. Trebuie specificat faptul c

    pentru fiecare operaie am utilizat iniial algoritmii clasici de programare. Am observat c n

    aceste condiii varianta de stocare a grafului ntr-o baz de date este util doar dac timpul de

    execuie nu reprezint un factor predominant. n a doua etap de dezvoltare, am obinut rezultatele dorite folosind facilitile aduse de tehnologia specific bazelor de date. n plus, a fost studiat comportamentul aplicaiilor create n funcie de diferite versiuni ale Oracle

    Database Server (Oracle 9i, Oracle 10g, Oracle 11g).

  • Capitolul 4 Grafuri n baze de date

    28

    Modulele utilizate de aplicaia final au fost implementate folosind dou tehnologii:

    baze de date relaionale (Oracle Database Server 11g); programare orientat obiect (C# Framework 2.0).

    Grafurile pe care s-au testat aplicaiile au fost generate aleator folosind MathLab

    R2010a. Numrul de muchii ale grafurilor generate reprezint 80% - 85% din numrul total

    de muchii posibile (cazul grafului complet). n continuare sunt tratate cteva probleme cu aplicaii practice imediate. Aplicaia C#

    utilizeaz algoritmi clasici de rezolvare a acestora. Autorul propune o abordare din

    perspectiva bazelor de date, folosind n acest sens facilitile furnizate de sistemele de

    gestiune a bazelor de date.

    4.1. Distane n grafuri

    Distana ntre vrfurile x i y ale unui graf neorientat i conex G reprezint

    lungimea minim a lanurilor dintre x i y n

    G.

    Din punct de vedere arhitectural aplicaia cuprinde urmtoarele module:

    resetare graf;

    ncrcare graf;

    determinare distan dintre oricare dou vrfuri din graf;

    ncrcare informaii ntr-o structur de stocare.

    Pentru a determina distanele dintre oricare dou vrfuri ale unui graf a fost utilizat metoda parcurgerii n lime. n cazul arborilor problema se poate rezolva utiliznd standardul SQL:1999 care permite cereri recursive (Melton i Simon 2002). Marii productori de sisteme de gestiune a bazelor de date au preluat aceast facilitate i au propus diferite forme de implementare a acesteia. De exemplu, Oracle ofer o form de recursivitate cunoscut sub denumirea de cereri ierarhice. O comand SELECT care utilizeaz clauzele START WITH i CONNECT BY permite parcurgerea n lime a unui

    arbore a crui rdcin este specificat. n cazul grafurilor care conin cicluri (deci nu sunt arbori) aceast comand eueaz.

  • Capitolul 4 Grafuri n baze de date

    29

    O metod de rezolvare a acestei probleme este utilizarea clauzei WITH. Aceasta a fost introdus de standardul SQL:1999 i implementat prima dat n Oracle 9i Release 1. Versiunile ulterioare (Oracle 10g, Oracle 11g) aduc faciliti noi privind lucrul cu date ierarhice: posibilitatea de detectare a existenei ciclurilor i de marcare a acestora, utilizarea

    opiunilor de parcurgere n adncime, respectiv n lime etc. n aceast seciune este tratat cazul grafurilor neorientate de dimensiuni mari. Pentru

    determinarea distanelor au fost alese trei strategii (algoritm clasic, algoritm propus de autor, cereri recursive). Cele trei strategii au fost implementate i testate.

    Deoarece strategia propus de autor a obinut cel mai bun timp de execuie, aceasta a

    fost utilizat n testele finale.

    Pentru calculul distanelor grafurilor meninute n baza de date a fost aleas Strategia

    2, adic implementarea algoritmului propus de autor. Implementarea algoritmului clasic a fost realizat n C#. Timpul de execuie al

    acestei aplicaii a fost comparat cu cel obinut folosind librriile Open-Source QuickGraph. n urma testelor realizate pentru tipurile de grafuri luate n considerare a rezultat c aplicaia implementat de autor a obinut timpi de execuie mai buni. De aceea, n continuare aceast aplicaie a fost comparat cu Strategia 2.

    Rezultatele testelor realizate sunt ilustrate n Figura 4.1.3.

    Metoda/Graf G1 G2 G3 G4 G5

    Baze de Date 00:00:00.031 00:00:00.593 00:00:08.096 00:01:19.576 00:12:12.515

    C# 00:00:00.013 00:00:01.407 00:00:52.766 00:14:18.411 03:46:09.195

    Nr. distane 45 4.950 31.125 124.750 499.500

    Aa cum rezult din graficul anterior, meninerea grafurilor testate ntr-o baz de date

    este o soluie cu mult mai bun dect metoda clasic. De exemplu, n cazul grafului G5 care

    are 1000 de vrfuri i 424732 de muchii algoritmul propus de autor i rulat pe versiunea

    Oracle 11g a procesat i a nregistrat toate distanele n mai puin de dou minute, n timp ce

    aplicaia implementat de autor n C# Framework 2.0 a obinut acelai rezultat n

    aproximativ patru ore.

  • Capitolul 4 Grafuri n baze de date

    30

    4.2. Lanuri optime n grafuri

    n aceast seciune se consider c fiecare muchie a grafului are o pondere pozitiv. Pentru dou vrfuri x i y ale unui graf neorientat i conex G dorim s obinem lanurile

    care au ca extremiti cele dou vrfuri i costul cel mai mic (suma ponderilor muchiilor lanului este minim).

    Din punct de vedere arhitectural aplicaia cuprinde urmtoarele module:

    resetare graf;

    ncrcare graf;

    determinare lanuri optime dintre oricare dou vrfuri din graf;

    ncrcare informaii ntr-o structur de stocare.

    Pentru a determina lanurile optime dintre oricare dou vrfuri ale unui graf a fost

    folosit o variant modificat a algoritmului propus de autor n seciunea anterioar.

    Pentru determinarea lanurilor optime alternative ntre oricare dou vrfuri ale unui graf stocat ntr-o baz de date a fost utilizat implementarea algoritmului propus de autor. Aplicaia realizat n C# reprezint implementarea algoritmul Dijkstra.

    Tabelul urmtor ilustreaz performanele celor dou implementri.

    Metoda/Graf G1 G2 G3 G4 G5

    Baze de Date Lanuri optime

    Lanuri create

    00:00:00.016 00:00:02.138 00:00:32.861 00:05:40.044 01:23:12.430

    49 8.972 80.954 557.993 4.193.729

    270 380.290 5.652.007 46.929.703 367.934.564

    C# 00:00:00.004 00:00:03.118 00:01:45.295 00:28:04.272 08:55:27.120

    De remarcat este faptul c algoritmul propus de autor obine toate lanurile optime alternative dintre dou vrfuri. De exemplu, pentru graful G5 algoritmul determin 367.934.564 lanuri posibile i dintre acestea alege 4.193.729 lanuri optime. Astfel, pentru oricare dou vrfuri date se pot obine toate lanurile optime alternative dintre acestea.

  • Capitolul 4 Grafuri n baze de date

    31

    4.3. Centrul grafului

    S presupunem c trebuie implementat un sistem care s permit gestiunea

    informaiilor distribuite necesare unei anumite aplicaii i c soluia aleas este utilizarea

    unei baze de date distribuite. Aceasta presupune existena mai multor server-e de baze de

    date interconectate printr-o reea de comunicaii. Un model realizabil n practic este cel al

    unei baze de date distribuite replicate parial. Aceasta presupune c doar pentru anumite

    pri ale bazei de date sunt meninute copii pe mai mult de o staie din sistem. Replicile de

    date trebuie amplasate astfel nct traficul n reea, determinat de accesarea unei replici s

    satisfac o anumit funcie de optimizare. n general replicarea determin probleme de sincronizare a copiilor. Astfel, existena unui numr prea mare de replici n sistem poate

    determina performan redus.

    O metod const n determinarea centrului grafului care modeleaz topologia reelei

    i apoi plasarea replicilor de date n nodurile care fac parte din acest centru.

    n continuare presupunem c toate server-ele din sistem au acelai cost de acces. n caz contrar algoritmii pot fi modificai astfel nct s in cont i de ponderile asociate

    vrfurilor grafului.

    Pentru aceasta trebuie introduse cteva noiuni specifice teoriei grafurilor.

    Definiie. Excentricitatea unui vrf x al unui graf conex G se noteaz cu e(x) i reprezint

    cea mai mare distan dintre vrful x i oricare alt vrf y al grafului.

    e(x) = maxfd(x; y) : y 2 V (G)g

    Definiie. Raza unui graf conex se noteaz cu (G) i reprezint minimul

    excentricitilor vrfurilor sale.

    (G) = minfe(x) : x 2 V (G)g

    Definiie. Centrul unui graf conex G este format din acele vrfuri care au excentricitatea

    egal cu raza grafului (au excentricitate minim). C(G) = fx 2 V (G) : e(x) = (G)g

    Dac funcia de optimizare presupune amplasarea replicilor n reea astfel nct

    accesarea unei replici s se fac trecnd printr-un numr minim de server-e intermediare,

  • Capitolul 4 Grafuri n baze de date

    32

    atunci centrul grafului trebuie determinat relativ la distanele dintre vrfurile grafului. Deci,

    n acest caz se poate utiliza algoritmul propus pentru calculul distanelor. Vom denumi

    aceast funcie de optimizare f1

    Dac funcia de optimizare trebuie s ia n calcul costurile asociate muchiilor grafului (cost trafic de date, vitez, timp, distan etc.), atunci centrul grafului trebuie determinat relativ la costul minim al lanurilor dintre vrfurile grafului. Pentru aceasta se poate utiliza algoritmul propus pentru obinerea lanurilor optime. n continuare ne vom referi la aceast funcie de optimizare folosind notaia f2

    Este posibil s ne intereseze ambele funcii de optimizare a costurilor. n acest caz centrul grafului va fi determinat relativ la costul minim al lanurilor dintre vrfuri, dar vor fi

    pstrate doar acele lanuri cu numr minim de muchii. n acest scop se poate utiliza o variant modificat a algoritmului propus pentru obinerea lanurilor optime. Vom denumi aceast funcie de optimizare .

    Algoritmul propus de autor pentru determinarea centrului unui graf de dimensiuni mari utilizeaz una dintre cele trei funcii de optimizare date anterior.

    f3

  • 33

    CONCLUZII I OBIECTIVE VIITOARE

    Lucrarea trateaz problema gestiunii informaiei distribuite din dou perspective, cea

    a grafurilor (topologia reelei de interconectare), respectiv cea a bazelor de date (stocarea informaiilor necesare n fiecare nod al reelei).

    Prima parte a lucrrii cuprinde dou tipuri de probleme de etichetare a vrfurilor unui

    graf, n condiiile unor restricii impuse ce sunt relative la distanele dintre acestea. O prim

    problem este cea a etichetrii L(2; 1) pentru anumite clase de grafuri i determinarea

    numerelor asociate acestora. O direcie viitoare const n determinarea numerelor

    asociate grafurilor studiate n cazul etichetrii L(d1 ; d2) i obinerea unor rezultate generale.

    Al doilea tip de etichetare studiat n lucrare l reprezint etichetarea radio a anumitor

    clase particulare de grafuri. Determinarea numrului radio este o problem dificil n cazul

    multor tipuri de grafuri. Pe viitor doresc s extind rezultatele obinute n aceast lucrare,

    studiind alte clase de grafuri i ncercnd s obin proprieti generale pentru acestea.

    O alt direcie viitoare const n continuarea studiului anumitor tipuri de indici

    asociai grafurilor moleculare: indicele Randi (Mihai, Tomescu, Marinescu-Ghemeci 2009), indicele Wiener, indicele Hosoya, indicele Estrada etc.

    A doua parte a lucrrii cuprinde dou capitole i este dedicat bazelor de date. Primul

    capitol al acestei pri trateaz problema procesrii operatorului de join extern. n viitor doresc s urmez aceast direcie determinnd metode eficiente pentru procesarea altor tipuri

    de operatori relaionali n situaia n care implementarea acestora trebuie realizat prin

    module software alternative. Ultimul capitol al tezei trateaz problema stocrii grafurilor de dimensiuni mari

    ntr-o baz de date. Doresc s extind aceast seciune cu o serie de algoritmi care s rspund

    cerinelor aplicaiilor actuale ce utilizeaz grafuri de dimensiuni mari.

  • 34

    BIBLIOGRAFIE

    Bodlaender H.L., Kloks T., Tan R.B., Leeuwen J.V., -coloring of graphs, Lecture Notes in Computer Science, Springer, Berlin, Heidelberg, 1770 (395-406), 2000.

    Bondy J.A., Murty U.S.R., Graph Theory with Applications, North-Holland, New York, 1976.

    Calamoneri T., Petreschi R., L(h,1)-labeling subclasses of planar graphs, J. Parallel Distrib. Comput. 64 (414-426), 2004.

    Chang G.J., Kuo D., The L(2, 1) - labeling on graphs, SIAM J. Discrete Math 9 (309-316), 1996.

    Chang G.J., Ke W.-T., Kuo D., Liu D.D.-F., Yeh R.K., On L(d,1)-labelings of graphs, Discrete Math. 220 (57-66), 2000.

    Chartrand G., Erwin D., Zhang P., A graph labeling problem suggested by FM channel restrictions, Bull. Inst. Combin. Appl. 43 (43-57), 2005.

    Chartrand G., Erwin D., Zhang P., Harary F., Radio labelings of graphs, Bull. Inst. Combin. Appl. 33 (77-85), 2001.

    Chen S., Ailamaki A., Gibbons P.B., Mowry T.C., Improving Hash Join Performance through Prefetching, School of Computer Science, Carnegie Mellon University Pittsburgh, 2003.

    Chiang S.-H., On L(d,1)-labeling of Cartesian product of cycle and path, Master thesis, Department of Mathematics, Aletheia University, Tamsui, Taipei, Taiwan, 2004.

    Codd E.F., A Relational Model of Data for Large Shared Data Banks, Communications of the ACM 13 (6): 377387, 1970.

    Codd E.F., The Relational Model for Database Management (Version 2 ed.), Addison Wesley Publishing Company, 1990.

  • Bibliografie

    35

    Connolly T., Begg C., Strachan A., Database systems. A practical Approach to Design, Implementation, and Management (Second Edition), Addison-Wesley, 1998.

    Dollinger R., Andron L., Baze de date i gestiunea tranzaciilor (reeditare), Editura Albastr, 2004.

    Erwin D.J., Georges J.P., Mauro D.W., On labeling the vertices of products of complete graphs with distance constraints, Naval Res. Logist 52 (138-144), 2005.

    Fernandez C., Flores A., Tomova M., Wyels C., The radio number of gear graphs, preprint available at front.math.ucdavis.edu/ 0809.2623, n.d.

    Gallian J.A., A dynamic survey of graph labelings, Electronic J. of Combinatorics, 14 #DS6, 2007.

    Georges J., Mauro D.W., Generalized vertex labelings with a condition at distance two, Congr. Numer. 109 (141-159), 1995.

    Georges J., Mauro D.W., On the criticality of graphs labelled with a condition at distance two, Congr. Numer. 101 (3349), 1994.

    Georges J., Mauro D.W., Whittlesey M., Relating path covering to vertex labelings with a condition at distance two, Discrete Math. 135 (103-111), 1994.

    Georges J., Mauro D.W., Some results on - numbers of the products of complete graphs, Congr. Numer. 140 (141-160), 1999.

    Georges J.P., Mauro D.W., Stein M.I., Labeling products of complete graphs with a condition at distance two, SIAM J. Discrete Math. 14 (28-35), 2000.

    Graefe G., The Value of Merge-Join and Hash-Join in SQL Server, Proceedings of the 25th International Conference on Very Large Data Bases (250 - 253). Morgan Kaufmann Publishers Inc. San Francisco, CA, USA, 1999.

    Griggs J.R., Yeh, R.K., Labeling graphs with a condition at distance two, SIAM J. Discrete Math. 5 (586-595), 1992.

    Hale W. K., Frequency assignment: theory and applications, Proc. IEEE, 68 (1497-1514), 1980.

  • Bibliografie

    36

    Harary F., Graph Theory, Addison-Wesley, Reading, MA, 1969.

    Jha P.K., Optimal L(2,1)-labeling of Cartesian products of cycle with an application to independent domination, IEEE Trans. Circuits and Systems-I 47 (1531-1534), 2000.

    Jha P.K., Optimal L(2,1)-labeling of strong products cycle, IEEE Trans. Circuites and Systems-I 48 (498-500), 2001.

    Jha P.K., Narayanan A., Sood P., Sundaram V., Sunder V., On L(2,1)-labeling of Cartesian product of cycle and path, Ars Combin. 55 (81-89), 2000.

    Jin X.T., Yeh R.K., Graph distance-dependent labeling related to code assignment in computer networks, Naval Res. Logist. 52 (159164), 2005.

    Jonas K., Graph coloring analogues with a condition at distance two: L(2,1)-labeling and list - labelings, Ph.D. Thesis, Department of Mathematics University of South

    Carolina, SC, USA, 1993.

    Klavzar S., Vesel A., Computing graph invariants on rotagraphs using dynamic algorithm approach the case of (2,1)-colorings and independence numbers, Discrete Appl. Math. 129 (449-460), 2003.

    Kral D., Skrekovski R., A theorem about channel assigment problem, SIAM J. Discrete Math. 16 (426-437), 2003.

    Kuo D., Yah J.-H., On L(2,1)-labeling of Cartesian products of path and cycles, Discrete Math. 283 (137-144), 2004.

    Liu, D., Zhu, X., Multi-level distance labelings for paths and cycles, SIAM J. Discrete Math., 19 (610-621), 2005.

    Liu D., Radio number for trees, Discrete Math., 308 (1153-1164), 2008.

    Liu D., Xie M., Radio number for square of cycles, Congr. Numer., 169 (105 - 125), 2004.

    Liu D., Zhu X., Multi-level distance labelings for paths and cycles, SIAM J. Discrete Math. 19, No. 3 (610-621), 2005.

    Liu D., Yeh R.K., On distance-two labelings of graphs, Ars Combin. 47 (13-22), 1997.

  • Bibliografie

    37

    Melton J., Simon A. R., SQL:1999 - Understanding Relational Language Components, Academic Press, 2002.

    Mihai (Florea) G., Performance analysis of the outer-join algorithms for relational database systems, Analele Universitii din Bucureti, 2005.

    Mihai (Florea) G., Popescu I., Alecu A., Velcescu L., Programare avansat n Oracle9i, Editura Tehnic, 2004.

    Mihai G., The L(2,1)-labeling on total graphs of complete bipartite graphs, Mathematical Reports 12(62), 4(351-357), 2010.

    Mihai G., Marinescu-Ghemeci R., (a), The L(2,1)-labeling on total graphs of complete multipartite graphs, trimis pentru publicare.

    Mihai G., Marinescu-Ghemeci R., (b), Radio number of uniform subdivisions of the wheel, trimis pentru publicare.

    Mihai G., Marinescu-Ghemeci R., (c), Radio number of some wheel related graphs, Analele Universitii din Bucureti, acceptat pentru publicare.

    Mihai G., Marinescu-Ghemeci R., Tomescu I. (a), Radio number of 2-uniform subdivisions of the wheel, Utilitas Mathematica, acceptat pentru publicare.

    Mihai G., Tomescu I., Marinescu-Ghemeci R., (b), On dense graphs having minimum Randic index, ROMJIST 4(455-465), 2009.

    zsu M.T., Valduriez P., Principles of Distributed Database Systems (2nd Edition), Prentice Hall, 1999.

    Popescu I., Baze de date relaionale, Editura Universitii din Bucureti, 1996.

    Popescu I., Modelarea bazelor de date, Editura Tehnic, Bucureti, 2001.

    Shao Z., Yeh R.K., Zhang D., The L(2,1)-labeling on graphs and the frequency assignment problem, Applied Mathematics Letters 21 (37-41), 2008.

    Shao Z.-D., Yeh R.K., The L(2,1)-labeling and operations of graphs, IEEE Trans. Circuits and Systems-I 52 (668-671), 2005.

    Simovici D.A., Tenney R.L., Relational Database Systems, Academic Press, England, 1995.

  • Bibliografie

    38

    Tomescu I., Rahim M. T., Multi-level distance labelings for helm graphs, Ars Combinatoria, acceptat pentru publicare.

    Wallis W.D., Magic graphs, Birkhauser, Boston, 2001.

    Wang W.-F., Lih K.-W., Labeling planar graphs with conditions on girth and distance two,

    SIAM J. Discrete Math. 17 (264275), 2003.

    West D. B., An introduction to graph theory, Prentice-Hall, 1996.

    Whittlesey M., Georges J., Mauro D.W., On the - number of and related graphs, SIAM J.Discrete Math. 8 (499-506), 2000.

    Willets K., SQL Graph Algorithms, http://willets.org/sqlgraphs.html.

    Yeh R.K., Labeling graphs with a condition at distance two, Ph.D. Thesis, Dept. of Math.,

    Univ. of South Carolina, Columbia, SC, USA, 1990.

    Yeh R.K., The edge span of distance two labelings of graphs, Taiwanese J.Math. 4 (675-683), 2000.

    Yu C.T., Meng W., Binghamton S., Principales of Databases, Query Processing for Advanced Applications, Morgan Kaufmann Publishers, California, 1998.

    Zhang P., Radio labelings of cycles, Ars Combin., 65 (21-32), 2002.

    PRIMA PAGINA teza mea de doctorat - rezumat 1