Grafe Teorie, Algoritmi Si Aplicatii

download Grafe Teorie, Algoritmi Si Aplicatii

of 100

Transcript of Grafe Teorie, Algoritmi Si Aplicatii

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    1/100

    . '

    " ,

    t: . .'

    -. .

    . .

    i,I

    r .

    CLUJ-NAPOCA2009

    Reeditare

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    2/100

    Editura AlbastriDirector edituri .Smaran i la DcrvC f tean u

    CopertaSD Special DesignTiparitE OlT UR A A LB AS TR A.

    Editura este acrcditatli de CNCSIS .(Cons i Ii u l NaJ io n a l a1Cercetirii $rinpficc din InvitAmintul Superior)~ieste recomandatiConsi liu lui .Nat ional de A te st ar e a Titlurilor ,iDipJomel~r Uruversitare.Copyright C2009Toa te dreptar il e asupra acest ei luc ri ri apa rt in s .e, Casa de Editurl Albastri a.rJ.Reproducerea integra ll s au par ti a1i a t extu lu i sau 8 ilustrafiilor din actastl carteeste pos ib il i numai cu acordul prealabil in scr is aJ Caseide Ecliturl Albastri .:

    J. 1It1

    CUPRINS

    !

    1 .1.1..1.2.1.2.1.1.2.2.).2.3.1.3..1.3.1.1.3.2.t . 3 . 3 .1.3.4.'1.4."104.1.1.4 .2. 1.4.3~lA;~.

    1 . 5 .:1.5 .1i.s.2~~.2.1.2.2.2.3~3.3.1.3.1.1.3.1.2.3 . 1 . 3 .

    i.

    INT~ODI:.I~ERE * ~.,._ .

    ".NOp~~~~E.~~ __1 1 " ' ~ "' . ~ .. Notiunl prelimfuaru , .' ~rezentlrl ale"graelor I ,~~ .Re~zeIltarea geo~ct:ricl ''' ~ " .Rep~ matriceall t- , .Reprezcntarea cu tablouri unidimensional~ .Numcre fundamentale.fn teoria grafclor ; ..Nurn l r. d e s tab i li ta tc internl ; : , .N~1r d e s t: aJ ;iUt a. tc -~ " '_ '. ' " '~ '' '. '' '' '' .' '. '' :. '' '' '' '. :. : .'''.''''''''!.''.''.''. Nu ~c11l unui .Pat _ .Numlr cromati~ ~ ~..I i 't'" .CODcxJta .te ~ "' : , : .Componeqte concxc , " :...., ..NumAr ciclomatic ,iUIQlr .cociclomatic : ..Arbo:~ ,iP ld l l r i . . . . . ; . . .' A r b O r - c de .pondere min.iml; I1 : , ; Grafe .p~cu1al'e , ~~ ;.f , ..Grafe pJanare . .~ . ,. . ~ . '. . I tI.~ " '.I , .O1'afe perfecte., ; ..

    SPATI. LlNIARE ASOelATE GRAFELOR ; .Spapulliniar at pllrfilor unci mulfimi ..Subspapul c jcluri.lo.f" ~ ~ ...SubspatiuJ.~ ic;lur: 'ilor.'I ~ " ~ ;DRUMURI1N GRAFE '_ "' _ "............... .121Optitriiz.!ride drumuri in ipoteza 1 { J i ) =Ll(u) ;................12 3. . . . .Va lo ri m inime de d ru mu ii d e la u n v irf dat..... 12 4Algoritmi matriccali pentru valori min.i.me ..:............................... 13$Detenninareavalorilor maxime al e drumurilor .......... _....... ~....... 138

    5

    11113 23 2343 9SO50606769'75'7584.89','1 0 0105

    l O S10 9

    11211 211 411 7

    3

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    3/100

    "

    3.2.3 . 3 .3.3.1.3 . 3 . 2 .3.4.

    4.4.1.4 . 2 .4 . 3 .4 . 4 .4.5.4 . 6 .4 . 7 .4 . 8 .

    5.

    Op timi zA r i d e d ru rn ur i in ipoteza /(J.t) =IIeu) .U~jA

    Problema ordonantarii. D rum critic .Graful potenJiale-activitilti .GrafuJ poreatiale-etape (PERT) : .Problema comis-volajorului .

    FlUXURI $1 RJ:TELE DE TRANSPORT .Definitii ~j proprietati d e hazl .Lema arcelor colorate (Lema lui Minty) ..P rob lem a flux ului m axim tntr- o rete a de transport .Tlietur! f nt r- o r et ea de transport .Algoritmullui Ford-Fulkerson ..Modelarea probJemei orarului ca flux in grafe ..Bxtensir ale algoritmului lui Ford-Fulkerson .F1uxuri de cost m inim .

    CUPLAJE T N GRAFE ,., " .

    BIBLIOGRAFIE "" ,., _ , ! " ' I I .

    142144] 4 4147148 If151 ~151 f153 115 6 !157 i160 J168 o J173 t175 t184 f11!195 1

    INTR9DUCERE

    tn foarte multe sl tuat ii oblsnuirn sl l descriem unele obiecte (s is teme),ent rn a Ie studia sau prezenta, cu a jutorul unor reprezentari sub forma unor~cheme. Asemenea s i tu a l ii s e In tA lnesc in:

    cartografie; ., . .studiuJ unor retele (cai ferate, rutiere, cenallzari, telefonie) econorrue(diagrame);fizic~;chimie $ i biochimie (reprezent!ri de molecule i ceIule);g e om e tr ie i t op ol og ie ;proiectarea pe scarli Jarglia circuitelor integrate (VLSI);informatic! etc.

    A ce st e m od el e a le s is te me lo r ( pr ob leme lo r) , d e r eg uH I. , su nt r ep re ze nt ar l d emu lt ig ra fu ri s au multigrafe, SchemeIe din f ig ura 1 s un t c ite va e xe mple .

    OHeH

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    4/100

    Fig.l.Precizam ci,in l imba romAna pentru substantivu l gra! exist! in circulatieatiit pluralul grqJe'cat ~i eel de grafuri. Grafele, fiind multigrafe particulars, suntuti lizate in modelare pentru studiul unor sisteme sau pentru rezolvarea unorprohleme din diferite domenll, Pe de alta parte, muJtigrafe!e sunt obiecte abstracte

    s tudiate ( invest igate) eu un aparat matematic propriu, devenind un domeniu almatematicii, Astfel, realitlp concrete din domenii diferite pot sa se reduca 1a(slif ie modela te cu) 0 a c ee as i p ro bl ema d e g ra fe , Teoria grafelor e st e a r amur a relativtanlirli. a matematici i. Ea i i are originile in rezolvarea unor probleme aparentneinsemnate pentru dezvoltarea matematicii, Problemele c ar e a u c on du s la apatifiai dezvoltarea teoriel grafelor all fost probleme de jocuri i amuzamenie materna.tice menite sli testeze mai mult ingeniozitatea rezolvitoriIor. Astfel prima preble-rnA. din teoria grafelor, rezolvati, este problema celorapte poduri sa n problema podurilor din Konigsberg,

    Prin o ra su l KO ni gs be rg t re ce r au l P re ge l c ared up li c e i ncon jo ar a i ns ul a Kn ei phof se desparte in douabrate, Astfel exist! patru zone de pamftnt A, B, C, D.c are su nt u da te de apa riului. Acestea comunici cuajutorul a sapte poduri numerotate de la 1 la 7 ca indesenul allturat.Fiind un Ioc de promenad! locuitorii i-au pusproblema urmitoare:Este posibil ca plecand dintr-o zona oarecare stl se pCU'~urgtlun traseuastfel CD acesta sa treaca peste loafe cele jopte podur~ trecdnd 0 singuradata peste flecare pod Ii sa se ajunga inzona de pomire?Data nasteril teoriei grafelor se consider! a fianul 1736 chId matematicianul Leonhard Euler a

    scris un articol in care a clarificat aceastl problemA~i a da r 0metod! pentru rezolvarea altar problemede acelasi tip [Eul36]. Pentru rezolvarea problemeiel si-a construit multigrafuJ din figura 2.

    6Fig. 2.

    " J

    Probleme iDrudi te cu problema celor ~pte poduri sunt problemele de'labirint. 0 problema de labirint cere sA se determine un traseu, intr-un s istem deco~idoare, care porneste de la un punct dat (intrarea in Jabirint) i ajunge III.un altPUDct dat ( ie s ir ea d in labirint). .in secolul treeut multe rezultate in teoria grafelor au fost date de Cayley.iar Kirchhoff a s tudiat circuitele electricc cu ajutorul grafe1or . Prima car te deteoria grafelor a aparut abia in anul 1936, editatli de D. Konig. de~i articole dinacest domeniu au mai fast publicate anterior-de Q serie de maternaticieni, 0 istoriecomplete a lucrarilor de teoria grafelor din perioada 1736-1936 este preeentata in[BLW76J. Interesul pentru teoria grafelor a crescut foarte mult in ultimele decenii,Aceasta se datoreaz.l aplicatiilor maternaticii din diferi te domeni i cum ar fi; 'economie, chimie, armata, fizica. etc. Teoria grafelor, printre altele, ne ajuta. s a.alegem uri traseu optim dintr-o mulfime de variante posibile. Pentru realizareaunui obiectiv in timp scurt, teoria grafelor ne ajutl sl determinam momentele deabordare a activitiplor de realizat (ordonantare), Pentru stabilirea unor programe ~de transport optime teoria grafelor ne fumizeazli algoritmi performanti. In teoriaastfel dezvoJtatI graful este un obiect abstract, da r ale carui elemente sunt asignateunor r eaJ i tl ip concrete . Rccurgerea la aceste modele f iind uti la datori ta algor it-mHorcu care se pot rezolva diferitele probleme concrete. Dintre cercetatorii cares-au ocupa t de teoria gra fe lor in ultimele decenii citam pe: C. Berge, S.Cataranciuc; V. Cepoi, E.Ciurea, C. Croitoru, L.R. Ford, M. Gondl"lllltF.Harary, L. Lovasz, O.Ore, E .Ola riu, Al ROfu, V.P.Solt an, I. Tomeseu,W.T. Turte, H.-J. Voss, T.zamfirescu.Pentru a putea fi aplicatll in domenii variate ~i datorita faptului c a . este undomeniu al matcmatici i teoria grafelor arc acum un grad inalt de abstract izare ~ifonnalizare, oferind un numar mare de modele ~imetode general aplicabile. Inacest spirit 0vom prezenta ~inoi in cele ceurmeaza, .

    Teor ia grafelor se poate uti liza in rezolvarea a foarte rnulte problemeconcrete. Aplicarea sa depinde ~i de capac itatea rezolvitorului de a asociaproblemei sale un graf~i de a-~jformula problema in termenii teoriei grafelor,

    JI

    Materialul prezentat este structurat 'in cinci capitole. Cu exceptiacapitolului dol, care are un caracter pur teoretic, fiecare capitol prezinta: notiuni(obiecte ale teoriei grafelor), rezultate teoretice ( leme, teoreme ~j corolarii),problems ~ialgoritmi de rezolvare a acestora, De asernenea, sunt prezentate ~iaplicatii pract ice a carer rezolvare se poate face prin modelarea lor cu ajutorulunor elemente din teoria ~jproblematica specifica grafeJor. 'Capitolul l Prezinta principalele defini ti i referi toare la:

    - mult igrafe, p-grafe ~igrafe orientate sau neorientate;7

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    5/100

    ,','

    drum ~i lant el l cazurile particulare de circuit respectiv ciclu;grafe euleriene ~ihamiltoniene, conexe ~itare conexe, arbori,piduri ~i arborescente;moduri de reprezentare a grafelor, multim! interior ~j exteriorstabile;numere fundamentaJe in teoria grafelor;un spa tiu liniar al ciclurilor unui graf;grafe planare ~iperfe~e. .

    Algoritmii din acest capitol se refem la:pareurgerea grafelor, conversia reprezentArii unui graf dintr-oforml tn alta forma, determinarea componentelor conexe aleunul grat; determinarea unei p ad u ri max ima le sau a unui.arbore de pondere minima. pentru un graf dat;determinarea de cicluri euleriene sau hamilloniene;detenninarea de multimi interior sa u exterior stabile ~i anumerelor de stabllitate,

    Este prezentat un tip (0 clasa) de algoritmi backtracking ~ibranch-and-hound el l exemplifi care pentru dete rrninarea demultiml ~inumere de stabllitate intern! san externa,

    C8pitoln12 Acest capitol are un caracter doar teoretic ~j prezint ! un mod do adefmi spatii l ln lare sau s libspapi l in iare pornind de la un graf datpeste corpul B2 Este yorba despre spatiul llniar al submultirnilorunei multimi, subspatiul ciclurilot unui graf subspatiul cociclu-rilor unui graf dat.tn acest capitol prezentsm cAteNaproblerne ~ialgoritmi de rezol-yare a acestora pe multimlle de drumuri ale unui graf dat. Caaplicatii prezentam problema ordonanli1rii (drum cff ie) ~iproblema comis voiajorului,

    Capitolul3

    Capito lul 4 Dupa prezenta rea ~l studiul not lunilor: flux tnt r-un graf, re tea ,retea de t ransport, flux Int r-o retea de transport ~i tAietum, septezintli problema ~j algorimii pentru determlnarea fluxuluimaxim tntr-o retea de transport. Apoi, sunt date unele aplicatfale acestei probleme (problemele de afectare ~icea a orarului). inpartea a doua se prezint ! problema ~ialgorimii pentru determl-narea unui program de transport de cost minim tntr-o retea careare dear v!tfuri sursli sau varfur! destinatie,

    8

    Capitolu15

    .~

    !I1":!j

    Dupa prezentarea principalelor notiuni (cuplaj, Ian! alternant, ar-bore altemant de rlldli.cinli r) ~ir e zu l ta t e t eor e tl ce se dli.problemadetermindrii unui cuplaj maxim ~i algoritmul lui Edmonds derezolvare a acesteia .

    9

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    6/100

    1. NOTIUNI DE B A Z A1.1. Notiuni preliminariiDelinilia 1.1.1. Se numeste mUlJigruforientat orice sistem de forma (X. U).no-

    tat cu G . in care X este a multime de elemente carecare, iar UcXxXxN.ElementeJe multimii X Ie numim vllrJuriU rnultigrafului, iar elementelemultimii U Ie numim arcele multigrafului, fntr-un rnultigraf cea de-a treiacomponent! a unui arc are rol doar de numerotatre a arcelor care nu pot fidiferentiate altfel. Nurnerotarea, eonvenim, sA 0 facem de la I pentru fiecarepereche ordonatli de varfuri. in unele lucrAri G este notat cu (V. E) de Incuvinteleenglezesti vertex (viirj) $i edge (arc).D aca m ultim ile X ,i U sunt finite. atunci m ultigraful G se ziee clieste/Ulit~i in acest caz cardinalul muttimii X, notat cu n = l X I , se numeste ordillul

    mutigrafului. Cardinalul mu lt im i i U s e noteazl eu m ~ise numeste dimensiuneamultigrafului G. I n cele ce urmeaza vom considera doar multigrafe finite.D eo ar ec e n u n e i nt er es ea zA natura v ar fu ri lo r m nl ti gr af el or d ac li J X I = II convenimca X sA fie {I. 2 ... , n}, ceea ce inseamnl ell varfurile au ' fost numerotate. Daca(it j. k) E U. atunci spunem eAarcul respectiv este iI.eidelll "pre exterior varfului i.este ilu:ident spre interior virfului l- are sensul de la vllrfu) i la vanul j. Pentruarcul u = (i. j, k) v1irfuJ i e ste e xtre mita te a in itia l!, ia r v arfu l j es te ex tr em it a teaf in aili. D ec i In p re ciz are a un ui a rc c onte az li ordinea vfufurilor. Daca extremitatileunui arc coincid atune! arcul se numeste bucld. Astf e l mu lt ig r afu l reprezentat infig ura 1 are:

    ca multime de varfuri pe :X= (1.2,3.4,5,6, 7,S};

    ca mu lt ir n e de a rc e p e:U= W, 2. 1); (2, 3, 1); (2, 3, 2); (3,4, 1) ; (4, 8, 1); (8,7, 1);(7.6,1);(7,6.2);(6,5,1);(5,1,1.

    1IUn alt exemplu cste G = (x . U). unde X este multimea oamenilor dintr-oanumitli zonAgeograficl (deci virf este once om din X). iar U = { ( ~ J) I i, j E X~ijeste nepot al lui i}.

    11

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    7/100

    Mult igraful este un model abst ract pent ru un sis tem oarecare, deci 0abstractizare, 0 inchipuire a omului relativa Ja acel sistem. Pentru 0 perceperev iz ua la a grafelor se utillzeaza reprezentarea Jor intr-o formA geometrica, inaceasta reprezentare varfuriJor Je corespund puncte sau cercuri etichetate sau nudin plan, iar arcele se reprezinta prin segmente orientate (vezi figura J). Exista ~ialte moduri de a reprezenta multigrafele fiecare mod avand avantaje ~idezavantaje. Adlca, influenteaza eficlenta algoritmilor in rezolvarea problemeJor.Reprezentarea geornetrlca este utill l mai mult cand dorim sli darn a perceptievizuall! a mu l t lgr a fu fui , d ec i se utllizeaza mai mu lt p e M.rtie s au c u c r eta p e tabla,Daca lntre doua varfur i existli un arc atunci spunem e! viirfurile suntadlacenre, De asemenl, doua arce distlnctesunt adiaeente daell au 0 extrernitatecomuna,Deflnltia ] .1.2. Un multigraf G senumesie p-graJ daca Tntre oricare doua

    vfufuri a le s al e e xi st a e el mult p arce care s!! alba acelasi sens ~iG are dou!-v!rfuri intre care exist! exact p arce care au acelasisens,Multigraful reprezentat in figura 1este,un 2-graf.

    Def initia 1.1.3. Un J-grafsenume~tegroforienlat.in acest caz.se consldera U cX X x.SAobservam eli muljimea U poate fi privitlt ca 0 relatie binara pe rnultimeavrfurilor grafului.

    .mx:empluI1.1.1.:G= (X. U) cu X= {l,2,3,4, 5} ~i

    U= ( (1,2); (2, 1); (2. 3); (3,5); (3,4); (4, 3); (4.5); (5. I)}.Vom da alte deflnltll echivalente pentru notlunile de multigraf orientat ~ide graf oriental.

    Deflnl tla 1.1.4. Prin multigroj orienta: fntelegem un sistem G = ( X, E,f), Incare X este 0 multime de' elemente numite vlirJurile multigra-fului, E este 0 rnultime de elemente numite areele multigrafuluicu E tlX = C f J , iarj': E - -- 7X X X este 0 functie,

    12

    Deoarece multigrafuJ il considerarn un obiect abstract, multimea E se poateco~sjdera eli este format~ din aeele numere naturale eu care s-au numerotat arcele~ultigrafului. Faptul elif (k) :::(i,)) se interpreteaza astfel:arcul k E E iese din i ~j intr!!in).Aceasta deflnit ie a pennis in troducerea not iuni i de hipergraf In careeJementele lui V sunt multimi de varfuri nu neaparat de cardinal 2.

    Definitia 1.1.5. Prin graf arientat infelegem un sistem G = (X, T), unde X este 0multime oarecare, a carui elemente se numesc vdrfuri alegrafului; iar reste 0 aplicarie multivocli r:X ---7 X (adica 0functle de laX Iamultimea 9D{X)a partilor lui X).

    1iIIIPentru i E X ~irelatia j E n interpretam eli de la varful i la vart'ul) existaun arc In grafu! G, spunem elj este succesor al lui i~ieli i estepredecesor aI luij.

    Exemplull.l.2.:a. G=(X,n cu X={1,2,3.4.5} ~i n={2.3). IL.={l,3},

    1'3"'. r4", {5,2}. rs = C f J .b . G = (X, U). unde X este multirnea celor 64 p!!tr!j:eJede pe 0 tabla desah, iar multimea U = {(i, )1 1 piesa de ~ah cal de pe i se poate deplasaprintr-o mu~e pe j}. SAremarcam aeest graf este neorientat.

    G = (X, U) cu X multimea elevilor u n ei s co li ~iU ={(i, J 1 1 i~i suntcolegi de clisi'l}.Si acest graf este un graf neorientat ea ~i.~fulprecedent .G = (X, F) unde X este multimea de activit!? ee trebuiesc realizatepent ru a realiza un obiectiv (a atinge un scop), iar pentru fiecare idefinim n'"U I activitateaj poate sitineeapli eel mai devreme imediatdupa teal izarea aetivitatii i). Acest graf este un graf orientat,

    c.

    d .

    Obsenoatli:a. Daca G", (X, 11atunei graful respectiv se poate preciza si prin (X. U)

    in care U= {(i,)) liE X ~ijE n}..b. Analog cazului a daca G = = (X. U), atunci el este definit ~i de (X , 1)

    eu r: X - - - 7 X ~in = ' U E X I (i. j)EU }, 'Vi EX.Folosind observatllle de mai sus indiferent de forma tn care se da un grafvom putea face referire ~i Ia cealalta forma.

    1 3

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    8/100

    Multimea Ti se numeste mu1limea succesorilor lui i. Pentru A ci X, rAeste:rA=Un.

    ieAFolosind operatia de compunere a aplicatiilor, pentru un nEN, ne putem

    r ef er i l a m u lt ir ne a T'i d e fi n it a a s tf e l:rlli _ { ( i ) ,- rcrll-1i). n 2: 1n= OMulJimear+i=Ur"i.

    n,He ste f on na ta d in to p descendentii lui i E X . ia r aplicatia r+ se numeste fnchUkreatratlzitivii a ap l lcat iei r.

    Definim~i =Urlli:::r+iu{i}

    1 1 : < : 0

    ~iaplicatia t0 numim iJ,chUlerea reflail' tranzitivil a ap l icat iei r.Fiind dat un geaf oarecare G :::(X, U) ~iun vBrf l E X:

    notam cu g+(i) n um ar ul s uc ce so rl lo r s ii i, aweli pe I r t J , s i- l n um imsubgradul exterior al lui i;notam cu g-(I) numarul predecesorilor lui i, adic! pe j I " ' 1 il . i-I nwnimsubgradul interior aI lui i;n ot li m e u g(i) peg+(1) + g-(O ~i-lnumim gnutul vlirJului i.

    U n vir f i eu g(z) =0 se numeste varfiwlat.

    PARCURGEREA GRAFELORFiind dat un graf G, orientat sau nu, se pune problema de a vizita(parcurge) toate varfur ile grafuJui. Aeeast l vizitare se poate face in diferitemod uri. Dintre aceste moduri de parcurgere a varfurilor mai cunoscute sunt doul:parcurgerea in lafime (bradthfirst);

    14

    If;ljIIJ

    pareurgerca in adincime idepth first),Existli0 re~ativli asemanare intre aceste pareurgeri ale virfurilor unui grafcu parcurgerea elementelor unci matrice, Parcurgerea elementelor unei matrice sepoate face "pe Iinii" sau "pe coloane" rlimlinind de precizat ordinea de selectare aHnHlorrespectiv a coloanelor,Ideea parcurgerii in l!itiroe este:'se v~iteaza vdrful de pornire, se vultema tOli succesorii (vecinii)acestuia; apoi vecinii nevizita/i at acestora # asa mai departe p a n a cdndse viziteazii toate v6rfutile grofolul'.od es cr ie re m ai a lg or it mi za ta a parcurgerii i n l li ti me , p or ni nd d e l a v ar fu l i,este:R:=$;S;=fil:repetliviz it e aU f iec a rcje S;s ...rSR:

    R ; .. RvS;pin! ! :And S..,q,.P a rc ur g er ea i n a d fi nc im e intuitiv consta in:"Se viziteaziJ vdrfu/ de pornire, ape; se repetii vizitarea unui succesornevizitat a ultimului varf vizua: pdnii cand nu exislt'isuccesori nevisitatipenJru ultimul v8.1/l'izitat, apoi se revine Ia predecesorul uuimulu: vdrfvizitat (~ecimsidera ca ullimul wiry vizlta: co f lind predecesorul care acondus la vizitarea ult imulul vlir! vizi ta t) . Procesul de_schimbare aultimului var[visitat continua paM cdnd se ajunge la viir/tiI depornire staces/a nu are succesori nevizita/l~'. .o descriere a aIgoritmuIui de parcurgere inadlincime a unui graf este:vizilea:Ui vdrfol tkpDl'nire, ...'npet6c:4 itimp .exisla mcctl80r fIIIV/Zilot01u l l imu lu l wi r ;/ V i zi k l l v i z it e az i i .. l ,ifc;r e vent r la pr edec . .r o r u l vdrjiJluJ ce "" m al a re 8uccuorlneviz!la/i;p4nd c : d J u i Wir; /u/depomire nu mai a re 8uCQ!sor l nevizikl#.

    Dam incontinuare 0 rafmare a descrierii algorirmilor de pareurgere inIlltime i in adaneime a grafelor care construieste ordinea respectiva de vizitare avarfurilor grafului in f i I ' ! J 1 vizit fi foloseste ca variabiUi deIucru lista liniarAx.

    15

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    9/100

    Algoritmull.l.1..PenJru i"'J,n e x . u : u , i I vit,ir{ij:=O s/p:,p;=J,. x/pj:=. vlJrffil dept~mire, . vit il{vtl ifdl! pomire}:=!' '=1,-Repsll '

    Pmlnl j J'ucreJ'orlll luix{pj execut4DIlCiI l'iziJUj = Olllllncii:=i+};x{ij:=j;V'lZileaz iJ wujWj; l1iz i l{ j j:=l;SfdaclJ.,.

    SJPentru;p;=p+1 ..pfJntl elJnd p=n.

    Algoritmull.l.2.Pentra i=1,11~CIltli vivt{i):=O {/p;p:=l, . x(p/:= W1/fo1 depornire; vizit{vdif de pomire/;=}'Repsil '

    C I Jt l i m p e x is tl l ] . r uc ce S o r allul x{p] ell. v iz U O] - 0 executtfp.....p+/; x/p}:=j;. V iz il 4 az iJ w lf ji tl j; l 1 iz lt O] :- I:SfcdJ / im.p;p:=p-J;

    p ln il c An d p = O,

    s a rem~ ci r n cei d~i algoritm] lista x este 0 coada (list! FIFO) pentruparc~erea in IAlime respecnv 0 s tivA (list! LIFO) pentru parcurgerea inadincllne a grafelor.Definjfia 1.1.6. Multigrafe1e GJ :: (X.. UJ ) ~iG2:: (X2: Vi) sunt izomor/e clac!exist! bijecpile f: XI ~ X2 ~ig : N -4N astfel ca 0,j. k) E VJ

    ~ (j{z),./{]), g(k E U2., Pentru ca doul grafe sI fie izomorfe este suficienui doar eXlstenta a functiel

    f: XI - : - + Xl cu proprietatea (i.J) E U, < = > (j(i),.IV) E U2 .Teorema 1.1.1. Relapa de izomofjism tnmulJimea grafe/O,. este 0 relatie deechivalenrli. .Demonstra(ie:

    Deoarecs funcpa identitate Ix este bijectiv! inseamnl ca orice graf G estelzomorf cu el ins~i. Deci relapa de izomorfism este reflexiv!.D~c! grafeJe GI ~j G2 sunt izomorfe atunci exist! 0b i jecpe rn tr e mi . ll t imi lede vfirfini ale celor doul grafe cuproprietatea de conservare a relatiei de adiacent!

    16

    a varfurilor. ~tim cA orice fimctie bijectivli admite 0 functie lnversa care este totbijectivli. Funcpa inversa conservl de asemeni relatia de adiacenta, deci ~igrafeleG2 ~iGJ sunt izomorfe, Prin unnare relatia de izomorflsm a grafelor este simetric!l.Fie perechile de grafe G" Gz ~j G2, G3 izornorfe, prin urmare exist!f un ep il ef j : X I ~ Xl ~ih:2 -4X3 b i je c ti ve eu proprietatile precizate pentru grafeizomorfe. Cum compusa a doua bijectii este tot 0 bijectie i functiat. 0h: I ~ X 3 are proprietatea cerutl pentru izomorfismul de grafe Tnseamnliellgrafele GI ~iG3 sunt izomorfe. Deci relat ia de izomorf lsm a grafeloi este ~itranzitivl.

    Prin unnare, relat ia de izomorf ism a grafelor este ref lexiva, simetr ica ~itranzitiva, deci es te r e la t ie de echivalenta, 0Definitiile 1.1.7. Grafe particulare:

    L Un graf este simplu dac! nu are bucle.Observatie:

    O ri ce g ra f care ar e bucle poate fitransformat mrr-un graf simpJuprin ad!ugarea de eli te un vlirf Ie ; pentru fiecare bucla (i, i) siInlocuind bucla cu arcele tt, I e ; ) ~i ( I e ; , 1). Prin urmare, putemconsidera clitoate grafele considerate SlIDt simple.

    2. Un graf orientat G = (X, U) este simetric daca pentru orice vlirfuri i siicu (i.J) E Uatunci $i (j, I) E U.Daca G = (X. T) a tu nc i G e st e s im e tr ic d ac a ~i n uma i d a ca Vi,j EX :t e rj~jE ti.Observatle:

    ,De remarcat e l l i intr-un graf s imetr ic nu in mod necesar oricepereche de vrfuri este arc.3. Un graf orientat este antisimetric dacl pentru orlce varfuri i~jcu

    (i,J) E U anmei (j, I) I i ! < U.Observatte: .SAobservllrn eli un graf care nu este simetri c nu lnseamna c!

    este antisimetric.4. Un graf orientat este tum;' daca este antisimetric ~iare numar maxim

    dearce.Observatie:

    Altfel spus Vi,j E X (i,J) E U ~ (j,i) I i ! < U.17

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    10/100

    5. Graful complementar a l unui graf dat G = (X. U) este graful (X. V) euV=XxX - u - {(i. i) IiE X}.

    6. Graful (A.V) este subgraf al grafului (X. U) dae! A eX ~iV = Un(A x A). Un asemenea graf se mai numeste ~i grafut general demultlmea A notat G(A).

    7. Graful (X. V)este graf 'partial al grafului (X, U)daca Ve U.Observatlei

    De remarcat e! un subgraf este format dintr -o par te de vlirfur ia le gra fului dat ~i toate arcele grafului dat ce au ambeleextremit!p. in aceas ta mu l time de varfuri, in timp ce un grafpar tial are aceeasi multirne de varfuri ca graful dat ~i doar 0parte dintre areeJe grafului dat.8. Graful (A. V) este subgraf partial al grafului (X. U) daca ~i-numai

    dacaAeX ~iVe Un (AxA).9. Graful (X. lf) este bipaniJ daca 3A c x astfel inc!t UeA x (X - A).

    Defin iti a 1.1.8 . Prin graf MOrUmtat se intelege un si st em G = (X, U) eu X 0multime de elemente numite vlirfuri1e grofului i U 0 rnultimede perechi neordonate de varturi.Un element din U se numeste muehie. in unele lucrari muchia dintrevarfurile i ~jjse noteazA prin [i,;] i poate fi privita ca fiind 0 submultime devart'uri eu doua elemente.Reprezentarea geometric! a muehiilor se deosebeste de eea a arcelor prinfaptul eli lipseste orientarea de la aree. Un exemplu este eel din figura 2.Analog cazului grafelor orientate. in cazul grafelor neorientate despre amuchie spunem c a este incident! vrfuriJor care sunt e x tr em itAp a le sale. Varfurile

    intre care exist! 0muchie se numesc adi l lcente . Doua muchii care au 0 extremitatecornuna se numesc adiaeente. Gradul unui van i at unui graf neorientat estenumarul de muchii incidente lui~ise noteaza tot cu g(r).

    Un graf neorientat se numeste complet daca are numar maxim de muchii ,Un graf complet de ordin rI se noteaza eu Kn .Graful bipartit complet (X. U) cu U =A x (X - A), A eX , ~I=p ~iJ X - A I = q se noteazJi cu Kp.. , .Un subgraf'partial complet al unui graf se numeste clied.

    18

    Problema 1.1.1. FieX 0 multime cu 11 clemente, Sa se determine:a . n ur na ru l grafeJor neorientate, tara buele, c ar e a u c a m ultim ede varturi peX; .b . numarul grafelor o rientate , simple, care au ca multime de

    vfirfuri pe X;c. numarul grafelor orientate, simple i antisimetrice, ce au peX ca multime de varfuri;d . n um aru l tumirurilor ce au pe X ea multime de varfurl;e. numarul grafelor simple care au gradele vlhfurilor distincte.

    Rezolvare:Cum X este datli (fin) numarul grafelor G = (X, U) este ega! cu numarulmultimilor Ucare fac ca G sa aiba proprietatea ceruta,a. Pentru grafele neorientate, U este multime de muchii adicA de perechi

    neordonate de varfurl sau de submult iml eu 2 eJemente ale lui X.Prinunnare multimea tuturor muchiilor peste X. pe care a notam cu M, arecardinalul ega! cu numarul combinarilor de n = IXlluate ca te 2 = C~.Cum numarul grafelor neorientate este egaJ cu numlirul submuljimilorlui M, dedueem c a acest numar este 2b, cu b= c ~ .

    b. Pentru grafele orientate, U este mulpme de arce adica de perechiordonate de vlirfuri. Prin urmare mulpmea tuturor arcelor peste X, pecare 0notam cu A. este X x X - {(P, p) Ip EX} numirui arcelor fiind,deci ega! cu numarul aranjamentelor de n = 1X!1uatecate 2 = A~Cum.numarul grafelor orientate este ega! en numarul submultimilor lui A.dedueem eli acest num1ireste egal cu 7!. CUa= A~ .

    c. Cum grafele orientate ~iaatisimetrice se pot obtine din cele neorientateprin orientarea muchiilor (tansformarea muchiilor in arce). Descriemun algor itm care si faca aceast! transfonnare i care ne permite sideterminam numiiruJ grafelor orientate ~i simetr ice bazandu-ne penumerele precizate la punctul Q.Deoarece orice pereche ordonata (arc)se poate obtine dint-o multime de doua elemente {t, s] (muehie) prinscrierea ei f ie (t. $) fie (s. t). Cum natura viirfurilor nu conteaza vomconsidera X = {I, 2, ... , II}' ~j t ransforrnarea muchlei in arc esteechivalenta cu scrierea vadiJrilor t ~is fie in ordine crescatoare fie inordine descrescatoare, Din fiecare grafneorientat en k muchii se aleg pmuchii pe care le orientam, depinzand de valoarea acestora, de la vWful

    19

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    11/100

    "

    ~ai mi~dspre v iirfu l m al m are . ia r pe celelalte k - p muc hll I e o ri en tam:~~e~s ~ la v~ rfid mai mare spre vftrful mai m ic), Cum orice grafa SImetric,(anentat) cu k arce se poate obtlne cu acest procedeu dingr ful neonentat cu cele k arce considerate e a m uc hi i deducem elinum~rul d e g ra fe orientate antisimetrice ce se pot ohPn~ dintr-nn grafneonentat cu k mUc hi i e st e CO + Cl + + Ck _ 2.1:. .1:.1: J . : - pentru elivaJoarea lui p poate fi D. 1. . . . k. Dacli notam cu b = C2 numaml. "maxim de mu eh ii , d ed ue em c! numarul de grafe cu k muehf este C*Din b A : It b :I acestea se 0 pn Cb 2 grafe antisimetrice (toate eu k arce) ~ipentrue li v al oa re a l ui k poate fi 0 I h 0"-"-'1 graf 1 ' , . , . .. , u.u .... u e or antislmetrice este

    Cg2o+ C121+ ...+Ct2b=(2+I)b=3bd. 6 u m tumirurile sunt grafe antisimetrice cu numar maxim .de arce din

    re zo lva re a de la punetul h de duc em c a n um aru! t u m ir u r i J ' ste Cb 2b_ b ore b.- 2d a : ICl e~te ~ga] eu numaru] grafelor neorientate. Aceastli egalitatese e uee. ~l din faptul c:l fntre multimea tumirurilor ~i mulpmea=~~or oTientate se pot defini bijecpi. 0 asemenea bijectie se defineste

    ts: jiec_are tumir se elimind arcele o ri en ta te d e un vdif dealoare mlcd spre un vibf de valoare mare, iar celelal te arce sel r an s j 'o rmd i n muchi i:e. Pentru ell X este eu n elemente ?e?ueem 0 S g(l) !S : n _ I pentru 'V i e X.

    Pentru cl numereJe ge,) sunt distinete ~isunt n valori din domeniul 0 .n-l, reruM ell 3p, q E X astfel lncAt g(p) = 0 i g(q) = n _ 1. Prinurmare ~irfulp nu este adiacent cu nicl un van al grafului (inclusiv nici~ q) ~I virful q este adiaeent e u to ate celelalte varfuii ale grafului( tnclus,~ cu p). ~ceast! afumape contradictorie ne conduce lac071~a eli nu e~stl grafe cu gradele v4rfuriJor distinct'e sau in oricegra ,existA eel putin doua vftrfuti care au aceIBigrad sau fimcpa ceasociaza fiecarui vart'gradul s!u tmr-un g ra fnu e ste injectiva..

    A Ite re zo JY !rj a le p ro ble me ] de m ai s us s e g as es c in [rCI94].Definifia 1.1,9. :iind dat un graf orientat G =: (X, lJ), prin drum in graful G

    mteJ~gem 0 suce~iune de arce eu proprietatea cli extrem.itatea~e~maIA a unui arc al drumului coincide cu extremitateal Dl fj al li a a rc ul ui u rmM or d in d ru m.

    20

    Prin drum convenim sA mte1egem ~i succesiunea de v!rfuri care sunte,ctremitllti ale arcelor ce eom pun dnnnul. D eci, un drum J. t este fie {u" U2.... uq}fie r i o . ; 1 0 . .. . iq } cu proprietatea cll Uj = (ij-h ~) E U pentruj = I, 2, .. .. q. Spunem.c! drumul j.L are ca extremitate ini tial! pe io i ell extremitate finala pe iq saudrumu!' jJ. este de la io]a i q

    Definifia 1.1.10. Lungimea unui drum este numarul de arce care compun drumuIrespectiv.Definifia 1 .1.11 . U n drum intr-un graf este:

    mnplu dacll nu fo lo ses t e de doua ori un a ce la si a rc ;- compus dacl nu este simplu;

    elementar dacli nu c Qn tine (tre ce ) de doll! o n un acelasivirf;circuit daca ext:remitatea initial! a d rumu Ju i co in c id e eu ceafinal!;eulerian dac! este simplu ~itrece prin t oa te a rc el e g ra fu lu i;hamiltonian dad! este elementar ~itrece prin toate vArfurilegrafului.

    C or esp un za to r n otiu nilo r d e d rum ~i circuit in grafele n eo ri en ta te s un tnofiunile de Ian; respectiv ciclu. Deci, lan1 este 0 succesiune de muehii eup ro pr ie ta te a c li oricare m ue hie a re 0 e xt remi ta te e om un ! c u m uc hi a p re ce de nt s ~icealalta extremitate este comuna c u m uc hl a u rm at oa re , D ac a e xt remi ta ti le la nt ul uicoincid, atunci lantul se numeste ddu.

    I ntre do uli drumuri (lanturi) jJ.l ~i J . 1 2 eu proprietatea cli extremitateate rm in ala a lu i I!I coincide cu extremitatea i ni ti al li a l ui J . 1 2 se defineste o pe ra ti a d eeompunere a lor prin care se obtine drurnul j . L J 0 J l . 2 format prin concatenarea celord ou a s uc ce si un i d e a rc e ( mu ch ii ).Definifia 1.1.12. Un graf orientat este tare conex daca intre oricare doll! varfuriale grafului exist! un drum.

    Deci, intr-un graf tare conex prin oricare doU li. v arfuri trece eel putin uncircuit.Deflnltia 1.1.13. Un graf neorientat este conex dacll m t r e o ri ca re d ou !! v ar fu ri ale

    grafului exist! u n l an t,21

    "

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    12/100

    ConventierDaca relativ Ia un graf orientat nereferim la 0 n ot iu ne d ef mi ti l p en tn i.grafele neorientate atunci se co ns iden lca pentru preciz area ei se neg lije azliorientarea arcelor. D ac a r el at iv la ung ra f ne orienta t ne referim Ia 0 notiuned ef in it a p en tr u W1 g ra f o ri en ta t a tu nc i Fig.l.l.l.s e c on si de rs ci1 fieca re m ucb ie estein lo cu itl c u c ele d ou a a rc e, d e s en su ri o pu se ~i c ar e a u a c el ea s i e x tr em i ti lpca $i muc hi a i nl oc ui ta . A st fe l, graful din fig.1.1.l. nu este tare c onex , dare ste c on ex , A ce sta pe nt ru e li d e la varful3 la v3 rfu1 1 n u e xista drum (dec in ic i c irc uit c are s a t re ad ! pr in e le ), d ar s uc ce siun ea de v fuf uri 4 ,3 ,2 ,1 ,4 e steu n c i c1u ham il to n ian ~id ec i f nt re o ri ca re d ou l v ir fu ri e xi st a lant,G ra ful din fig ura 1 .1 .1 . a re, de altfel, 0 i nf in it at e d e c ic lu ri ( de e xemp lu34 3 sau 1 23 43 21 ) toa te de lung im e P ara . ch iar dac! n um a i u nu l dintre a ce st ea e st ec i cl u s implu (~ihamiltonian).De a ce e a p r og r am e le care rezolva probleme c e se p un p en tr u u n a nu mit tip

    d e g ra f ( or ie nt at s au n eo ri en ta r) dupa procedure de e itire a date lor este bine s acontina 0 p roc ed ura d e tra ns fo rm ar e a g ra fu lu i c ltit in g ra ful c or es pu nz ato r pe (in)c are s e v a r ez olv a p rob le ma p us a,Daca G= (X,lf) e ste u n g ra f n eo rie nta t, a tu nc i in fo rm a G = (X, f) el ested at d e a pl ic ap a m ul tl vo ca r :X -+X cu n'"n : ; = ((i.I) I(i,I) E U J. V i E X . D e ci ,pentru grafele neorientate g+(i) =g'(i) = ge,) ~ig(l) +g(2) + ... + g(n) = 2m.D et tn lt ia 1 .1 .1 4 . Graful linie asociat grafului G= (X.lf) e st e g ra fu l4 . G ) =(U, V) eu V= {(u, v) IU$i v sun t ad iacen te] ,

    Deci, i n g r af u l Iinie L(G) var t 'ur i sunt muchii le lui G ~iintre doul t a semen eava rfuri se define ste m uc hie in L(G) daci ~i numai dac11n G ele sunt muchiia di ae en te . S A o b se rv am e ll L(L(G) este izomorf cu G , dar ca $i g ra fe n eet i che ta t e4.L(G =G.

    P ro ble ma p od uri lor di n K on ig sb er g c er e in te nn en ii te orie i g ra fe lo r s A s edetermine, daca e x is ta , u n l an t e ul er ia n ingraful ~ ei (figura 2) .

    U n r ez ul ta t im po rt an t pentru p ro bl em e1 e d e a ce st t ip e st e:Teorema 1.1.2. Un graf conex (tare conex} admite un ciclu (respectiv uncircuit) eulerian daca Ii numaJ dadJ g(i) este par (respectivg+(i)=g"O)). ViEX

    22

    Demonstrape:Demon st ra ti a a c es te i e e hi va le nt e 0 facem inp ar ag ra fu l d e conexitate 1.4. '

    Corolar 1.1.1. Ungraf conex admire un Ian; eulerian (care flU este ciclu) daca~inumai daca toate vtJrfuri le .cu exceptio a douii varfuri augradeJe pare. Vclrfurile cu gradele impare sunt e:xtremitaJilelanfului.

    CoroW 1.1.2. Ungra! orientat admite u n . ' drum eulerian (care n u este circuit)dacli ~i numai dacli existii varfurile iolijo astfel fncdtg+(iJ = g'(i}, ViE X - r i o . jol, .g"( io)= g"(ia) + 1 ,; g+Uo} = g'Uo) - 1.

    Vllrfo.l iofiind niremitatea inilia/Ii, far)o este earemitaieafina/a a drumului eulerian.

    D et en ni na re a u nu i d r u m . c irc uit, J an ] s au c ic lu e ule ria n s e po ate fa ce p rin ap a rcu rge v f ir f ur i le grafului; pom ind de 1 a extremitatea initiaJil r es pe ct iv d e la unv Sr f oa re ca re , fo lo sin d d in fie ca re v Ar f u n a rc r es pe ctiv 0muchie care nu a maifast u t i lizana) ,Problem a 1.1.2 . Se dA u n sistem de strazi c ar e tre buie sc a sf alta te , D in m otiv d ep rot ect ie a as fa l tu l ui , utilajele c u c ar e s e a sf al te az li . n u t re bu ie satre ad ! p e 0 sosea asfaltata. Se 'cere sa se dete rm ine ordinea de

    asfaltare a strazilor,Rewlvare:

    A r ez ol va a ce as ti p ro bl em a i ns eamn A s a d et er mi nAm u n I an ! e ul er ia n ingrafuI ce reprezintli sistemul de strazi e e tre buie sc a sfa lta te . D ac a u n a se me ne aIan] nu ex istA atunci se determ ina un drum eulerian in g ra fu l o ri en ta t c on st ru itc onf orm . c onv en tie i d e m ai s us . A sf aita re a u ae i s tr iz i s e v a face l a u ltim a tr ec ere au ti la je lo r p e a ce a stradA.Defihifja 1.1.15. Graful o rie nta t (n eo rie nta t) c are a re e el pu Jin u n c ic lu e ule ria n

    sau hamiltonian se num este gra! eulerian respectiv grqfhamiltonl4n.A ce st e n op un i s un t d ua le in sensu l u r rn a to r :

    grafol G este eulerian daci1 Ii numai daca graful linie L(G)corespunziUor este hamiltonian.

    23

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    13/100

    In ceea ce privesc grafele hamiltoniene dam urmatoarele teoreme(probleme), care sunt rezolvate ~iin [TCI94].Teorema 1.1.3. tn Kn.graful complet de ordin n ~ 2 existii:

    a. (n - 1)!/2 cicluri hamiltoniene distlncte;b. 2lr-l(n - h - 1)1 cicluri hamiltoniene distincte care tree prin hmuchii neadiacente fixate (date).

    Demonstrtlfle:. . Graful f iind .cornplet intre or ieare doua vArfur iexist li muchie $i deci oricesucces iune de vfirfur i este un lant, Prin urmare ciclu hamiltonian este or icesu~esiune in ~are apar toate vArfuriJe grafului 0 singur! data la care se adaugaprimul van dID acea succesiune, Adica, orice permutare eircularli (~i numaiacestea? este_un clclu hamiltonian. Pr in urmare, vom rezolva problema prin adetennma (a.numara) cte p er mu ta ri c ir eu la re s e pot forma dintr-o multime eu neJem~te. ! > t i m . e! numarul permutArilor (Iiniare) a unei multimi cu n elememteeste n". Cum dmtr-un permutare circularli (cere pe care sunt plasate n puncte) sepot obtine 2n pennutliri liniare (prin "ruperea" cercului pearcul de dup!: punctul1 sau punctul 2 san ... sau punetuJ n $i apoi "intinderea" sa astfel ca un caplit s! fie~ sta nga san ace! cap!t s! fie In dreapta) deducem c! num!rul pennutarilorcirculare este de 2n ori mai mic decAt a l celor liniare. Prin urmare numllrulciclurilor hamilteniene distincte din K " (pennutArilor eirculare ale unei multimi cun elemente) este nl l(2n) "" (n - 1)112.b. . S~notam cele h muchii date prin (i1,l-h i ' 1 J ) cuj:= 1, h.Deoarece, inciclurilehamlltoniene (permutarile circuJare) care au proprietatea dati v!rfurilor i1,l-1 suntfie precedate fie urmate de v!rfurile i1J , vom considera graful KII_hale cmui vArfurisunt de dOll! categ~rii. Astfel, h vArfuri corespund celor h muchii ale grafului K".date in problema, ~l pe care Ie vom numi pseudovfirfuri, iar celelalte n - 2h suntvirfurile din KII neadiacente nici uneia dintre cele h muchii date. pe care le putem~umiv6r.furi veritabile, Fiecare ciclu bamiltonian IDal grafului K " _ h genereaza prinspargerea" celor h pseudovirfuri, 'i' cicluri bamiltoniene din K,. care tree princele h muchii date ~i invers, adicll din i' cicIuri hamiltoniene din K" care tree princele h muchii date se obpne un acelasi ciclu hamiltonian din KII _I.. prin 1n1ocuireacelor h much~ cu Cte un pseudovArf. Aceasta rezulta din faptul cA0".spargere" depseudovfirfun l:nseamnl: se aleg cele " muchii ale lui K n ca fiind un element dintrecele 2 " al~ multirnii {(ih i~; (il. il)} x {03, i,); (i...i)} X . ,. X {(i2Jt-1t iv.); (ilh. ilh-J},d~perecbi ordonate de vSrfuri ale lui K" , apoi se in1ocui~ fiecare pseudovdrf at .Iw ID cu perechea (muchia) corespunz!toare. Pentru eli K" _ h are (n ~ h ~ 1 )!12

    24

    lclurihamiltoniene (conform cazului a). deducem eli In K II tree prin cele h muchiidate 2 h(n ~ h - 1)!l2:: 2lr- l(n -" - I)! cicluri hamiltoniene. 0Teorema 1.1.4. Daell G = I X U) este un graf de ordin n ;? 3 $i pentru oricepereche de vdr juri p fi q neadlacente are loc g(p) + g(q) ~ n,

    atullci G este hamiltonian. [Ore60]DenJnstra!ie:

    Fir! a restrange generalitatea putem considera eli G este un graf saturat cupToprietatea din enuntul teoremei, adica orice muehie s-ar adauga la U tn G s-arfonna un ciclu hamiltonian. Altfel spus daca demonstrl l.m c! graful saturat (c~num!r maxim de muchii) ce nu contine ciclu hamiltonian are 0 pereche de varfurineadiacente i,j eu g(l} + g(j) < n atunci orlce alt graf 3dl ciclu hamiltonian are 0asemenea pereche de varfuri.Fie (i.11 0 pereche de varfuri intre care nu exist! rnuchie in C. Atunei prin. a dliugarea muchiei dintre aceste varfuri se va obtine eel putin un cicIuhamiltonian. Deci in grafu! G exist! intre i ~jj un Ian] hamiltonian. Notam ell 0)=(i = = XI> X2 .... Xn = j) acest Ian] $i cu k pe g(l'). Deci v!i.rfuli are k varfuri adiacente,eonsiderAm cil aceste vrfuri au In Iantul ill indicil 2 = il < i2 . < .., < i ~ n. S!demonstr!im e! varful j nu este adiacent cu niei unul dintre varrurile indicii is - I.unde 1~ s ~ k, din ~irul x. Dacli j ar fi adiacent cu vfuful eu indieele i. - I atuncioraful G contine ciclul hamiltonian urmator (i = = Xl . x ., . lo j " " Xno X ... b , Xu '. . .~=~ .Prin urmare, gradul vfufuluijverifica g(j) ~ n - 1 - k ""n - 1 - g(i) ceca ceeste 0 contradictie cu ipoteza din care se deduce eli gel) + g (J l ~ n. 0

    Urm!rind ideea demonstratiei teoremei de mai sus sli se rezolve problemaunn!toare.Problema 1.1.2 . Fie G"" (X. U) un graf eu II ~3 v!i.rfuri.iar p ~i q don! vllrfuri(date) neadiacente pentru care g(P) + g(q) ~ n. S! se demons-

    trez:e c! G' = = e X . U). cu U ' = = U v {(p. q) ] este hamiltoniandaca ~inumai dac! G este hamiltonian. [BLW76J

    Observafie:Operat ia de obtinere a grafulul G' se mai noteaza cu G' = G + pq. unde pqeste no ta t ie p ent ru muchia (p,q),

    25

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    14/100

    Rezolvare:. D.ac!! G este ham iftonian prin adaugarea de mucbii ~i noul graf este

    harniltonlao, pemru ca ciclul hamiltonian din G este ciclu hamilton ian ~i in noulgraf. F~e p ~i ? doua vdrf uri p entru care g(p) + g(q) O !: n ~i G + pq este

    haln~JtonJan. Deci, exist! un ciclu hamiltonian In G + pq. Daca acest ciclu nuc on 11 ~e m uc hi a. pq a tu nc i e l este cicJu hamiltonian ~i inG . daca e l c onfine m uch iapq pfl~tT-un rallOnament ca Ja teore rna 1.1 .4 sa ajunge la contradictiag(p) + g(q) d".kO!: ~k (ChvataI)ic. 'tip, q: dp Sp ~id'l Sq => dp+ d'lO!:II (Bondy).

    Demonstrcllie:a. . Din d,~ 1 1 1 2 ~ifaptuJ c! s irul d este ordonat cresca tor, deducern eli pentruon~e pereche de var furi p ~i q (n u n um ai pe ntru c ele neadiacente) ar e Joe dp + d O !:It ~J conform teoremei 1 .1 .4 gra ful G este hamil tonian . IIb. ",:om dem~nstra a:umatia prin metoda reducerii la ab su rd. Fie G un graf cunAV~Url,. s~turat .m mu ltimea gr af elo r care nu con tin eicJu hamiltonian. AJegemvarfurile l,j neadiacenrs eu p rop rietatea ; < I ~i i +jeste maxim. Din rnaximali -tatea lui i +} deducem cit

    viirfuJ i este adiacent vart"uriJor:}+l .... 11 ~ivarfuj j este adjacent varfurilor: i+I , . .. , j-l, j+ 1, . .. ,n.

    De aid

    26

    1. dj?:'/I-)i2. djO!:II-i-l;G fiind graf saturat rezulta cil G + ij contine un ciclu hamiltonian ~i

    unnArind demonstratia teoremei 1.104. se deduce:3. dJS,n -1 - di adica dJ+ djS.,1 - 1.Din(2)~i(3)obtinemdiSfl-l-djS.n-l-(II-i-l);:i.Notaro cu k =d, S, i ~iconfonn ipotezei d k :S d, = k.Pe de alta parte i j, pe ntru e li altfel din n - k S j obtinem dnk S dJ ceea ce e in-contradictie cu (4) .Deci n - d, = II - k > j sa u d; < 11 - j, eeea ce este In contradictie cu (1) ~i

    demonstreazli cit presupunerea ftlcuti1 este falsa,Dernons tram c! in aces t caz est e ver if icat a condi ti a b.Fie k un varf cu dt::;;k < l in. Notam 1= n - k.Presupunem ca dl< l, Din ipoteza dk+ dl~n ~ideci dJ ~ n - dk ~ IIk = I,

    ceea ce irnplicll dl~. Prin urmare este verificata conditia b, d in care deducern clig ra fu l G in care ar e loe conditia c contine un cidu hamiltonian. 0 .

    Co

    Pentru deter rn inarea de drumuri .danturi , c ircuite sau c ic luri hamil tonienese poate utiliza metoda backtraking (pentru cicluri hamiItoniene metoda estedescrisa in p ar ag ra fu l 1 .3 .1 ) ~i reprezentarea gra fulu i eu Iista succesorilor (veziparagraful 1.2.3 .) . . .

    P entr u a de mo ns tra ins l c a un graf G = (X, U), d e e x emp lu eel d ln f ig ur a1.1 .2 ., nu este hamiltonian se poa te folos i urmlitoarea metoda.

    Mai intai si l constat am c a oriee c ic lu hamil tonian este c ic Iu e lementa r iare un nurnar de muchii egal en numarul de v am r i ale grafului, 1n cazul nos tru 16.Pe de altll parte, dintre rnuchiile oricarui ciclu elementar (deci ~i ale ciclurilorhamiltoniene) exact cate doua sunt Incidente fiecarui virf. Prin unnare dintremuchiile incidente oricarui va n un ciclu elernentar utilizeazA doua, celelalte nusunt folosite. Vom detennina cite muehii ale grafului nu pot fi uti li za te de ori cecic1u elernen tar ~ip rin d ife re nta c alc ula m n um ar ul m ax im de m uc hii d in tr- un c ic luelementar al lui G. Daca acest numiir este mal mic decst numarul de v iir furi atuncigrafuJ n u c on ti ne n ic i u n e ic lu h am il to ni an .

    27

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    15/100

    F1g.1.1.2.A P:ntru a apllca metoda descrisa mai sus conslderam pe rand submulpmilede varfuri S, = {2.4. 6}. S2" "{7, 9. II} ~iS3= l16} ale grafului G. Mai intAi s a.observltm cli oricare dona vfirfur i ale oricareia dintre aceste mult imi nu sunt

    adiacente $i clI rs,nS2US]) = 0. rS2nS,u]) = 1 2 ' ~irS3nSlVS2) =o . Pentru eli numarul muchiilor grafului incidente vArfurllor din aceste treimu]tjmi este 9, 15 respectiv 3, iar orice ciclu are exact doua muchll incidentefieearui vart: deducem ell. dintre aceste muchii orice ciclu nu va folosl 3 9re~t~v una , un total de 13 muchii . Deci dintre cele 27 de muchii ale grafuluionce c iclu nu va ut ili za ]3 muchi i. Asadar, numlirul muchi ilor oricarui c icluelementa r este eel mult 27 - ]3 = 14 ~iun asemenea ciclu elementar neavand 16muchii nu este ciclu hamiltonian. Pentru demonstratie era suficienta considerareadoar a mulpmilor S. $i S 2 0 dar pentru 0 rntelegere mai clara. a demonstratiei amutilizat ~imultimea S3 .. . Precizam ell cele trei submultirni de varfuri considerate sunt multimimterior stabile (vezi definipa 1.3.1.1.) ~i elicele trei multlml de muehii incidenteacestora sunt disjuncte douAcate doua,

    Pentru grafele bipartite se poate utiliza . : i urmatoarea teorema,Teorema 1.1.6. U n graf btparttt G = (X ; U ). c u m u lt im il e d e v ar fo ri A J #A2 =

    X - AJ de cardinole p respectiv q, poole coniine un cicluhamiltonian numa! docli p = q; li poate coruine un lanthamiltonian numai dacll Ip - q I::;J.

    28

    /Jemonstratie:Sll presupunem en G contine ciclul hamiltonian:

    Cum G.este grafbipartit cu multimile de varfuriAI i A2 = X - AI se deduceell:

    Al = ( .x}o X3.... X,..I} i A2 = { X2. x ~ .. .. x n}.De aiel deducem elip = q.= nI2. 0Daca G contine lantul hamiltonian:

    Cum G este graf bipar ti t, eu rnult imile 'de vftrfuri Al ~i A2 = X - AI. sededuce ell:

    A I = l XI> X3 . } i A2 ={ X2. X4. ... }.De aid, pentru e!!. II poate fi pa r sau impar, deducem eli J P - q I ~ 1. 0Rezultate co privlre la circuite ~i cicluri euleriene precum caracterizareagrafelor euleriene se gasesc rnparagrafuJ 1.4.

    Dermjfia 1.1.16. Arbore este un grafconex ~iflIrn cieluri.Definifia 1.1.17. Un graf se numeste acidic dacl t nu contine cicluri.

    Graful aciclic se mai nurnesc ~iplidllre. ~a cum se deduce UOt, 0 padureeste un graf care este format din eel putin un arbore ~i numarul arborilor dintr-opadure este ega] cu numarul componentelor conexe ale acelui graf

    Aici am prezentat doar notiunile de arb ore ~i de padure, 0 abordare aacestora 0 facem in paragraful 1.4.3.

    Defioitia 1.1.18. Arborescen(li este orice graf G = (X, Tj cu proprietatea 3r EXastfel iocAlrl=J) $i 'tE X - {r} existll un singur drum de la rIa i.

    VJirful r este un varf specia l ~ se numeste riidlicina Qrborescentei. Altev lir fu ri s pe ci al e a le u ne i a rb ore sc en te s un t v ft rfu ri 1e c are n u a u s uc ce so ri s aun = < D cu iE X. pe care le numim vlirfuri [runZil sau l'ftrjuri terminale. saobservltm e l l . rntr-o arborescent! fiecare varf cu exceptia rlidAcinii are un singur29

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    16/100

    predecesor nurnit ~ivfufpiiTinte al respectivulul varf Adica, Vi EX - fr} 111i! =1 ~jjE iii es te par iu te le lui i E X. Precizam de asemenea ca, dintr-un arbore(X. U) eu II var furi s e pot obtlne n arborescente conform eu alegerea nldllcini i rdin X ~i orientand rnuchii le astfel indit toate lanturi le dintre r $i orice alt varf i slidevina drurnuri de la r la i. in unele lucrarl in Icc de arborescent ! se util izeazatermenul de arbore de r lldae ina r, noi am prefe ra t t ennenul de arborescenta pentrua accentua faptul eli este u n g ra f o ri en ta t s pr e deosebire de arbore care est e u n g ra fneorientat, De asemenea, chiar ~j reprezentarea geomerrlca a arborescentelor seface in forma grafulu i neori enta t prin plasarea vii rfur ilor pe nivele , La nivelul 0 seafla radacina $ i muchi il e au orientarea de la nivelu l super ior cat re niveluJ infer ior(de la rlI.daeinli spre frunze),Notatll:

    Fiind dat un graf G = (X, U). 0 rnult ime de vdrfuri A cX ~i0mul time dearce (muchii) VcUconvenim urmatoarele notatii:a. G(A) pentru subgra ful corespunzator rnultimi i A, adica (A. (A X A) r'l

    U) nurnlt subgrqful genera! de A.b. GO') pentru subgraful partial corespunzator multimii de arce (much ii)v. Deci G(11) are ea mult ime de van-uri mul timea var furi lor adiacente

    arcelor (muehii lor) din V, ia r ca rnultime de arce (muchii) p e V.c. X(G) pentru mul ti me a v ar fu ri lo r g ra fu lu i G .d. U(G) pentru mul timea areelor (muehii Ior) gra fuJui G.e. G-A pentru sugrafuJ G(X -A).f. C J - V pentru subgraful par ti al G( U - V).g. daca V c X X X prin G + V inte1egem graful (X , U U V), adidi

    perechile de vfufuri din V se transfonna inmuchii sau impreeis spusrnuchlile din V se adauga gra fulu i G.

    Pentru un graf G = (X, U) orient at ~iu n va n i sa u 0 multime de varfuri Adin X notam eu:

    h. flt(z} mul timea tuturor arce lor ine idente spre exter ior var fu lu i i, amelimul timea aree lor ce " ies " din i sau

    ut(i) = {(i,i) E U IJE X } = = f (i.i) Ue n)= {i}xrt;i , o .f (i) mul timea arce lor ine idente spre inte rior var fu lu i t. adica multimea

    arce lor ce " in tr ll " in i sauw-(i}:::{ O . i)EU I jEX } = {(j.t) Ue IIi 1 = rlix [I]:

    30

    j. w+ (A ) multirnea areelor ineidente spre exterior multimii A, adica w+ (A )= {(i.)) E U liE A ~ijE X - A } (multimea arcelo r ee "ies" din A ~i"intrli"ln X -A )~

    k. ((i(A) multimea areelor incidente spre interior rnultimii A, adicll.w-(A)=={ (i,)) E U liE X - A ~i E A } (rnultimea arcelor ce "intra" 1nA ~i"ies" din X - A);

    1. ro(z) = = ol(l) Uti(l) ~i C O ( A ) = w+(A)U -(A).sa observant cA w+ (A ) = w -e x - A ) .Pentru gra fe le neori enta te , deoarece conform convent ie i facute au loe 00+(0= oo'(i) ~iw+(A) = wCA).se f o los es c doar no ta t ii le ro(l) respectiv ro(A).

    Definitia 1.1.18. Numim cocircuil orice multime V de arce eu propr ie ta tea eli< exlsta 0multime de varfuri A astfel incit V = = 00+ (A).

    Mu1timile OXA). pentru A eX, se numeste cociclu.o notiune de graf generals care s a euprind'!!' ca ~i clase particulate atat

    mutigrafele orientate cit ~icele neorientate ~i in plus alte cornbinatii 0 prezentamin ce le ce urmeaza,Definitia 1.1.19. Gratin sens larg sau s implugrqfes te ori ce sistemG = (X, U ; I, 0).

    uncle X este 0 multime de elemente oarecare numite varfuri alegrafului, U este 0 a M m ultim e oa re ca re , Cafe nu are elementedin X. elernentele lu i U I e n umim aree (muchii sau /egliluri); I~i 0 sunt submultirni ale lui U X X . deci sunt relatii binaren eomog e ne , c u p ro pr ie ta ti le !1(u) IE {It 2} .$ i ! O(u) Ie {O , 1 .J .pentru V U 4;: U ~i0 cI~

    Relatia J se numeste reiatia de inciden(4 ~j (u. l) Else poate interpreta:arcul u este incident vfufului i sau vfuful i este extremitate a arcului u.Deci, un arcpoate fi incident Ia unul sau la doua varfuri. Relatia 0 se nurneste re/atia deorientare ~i(u, i) E 0 se poa te interpret a a rcul u are ea extremitate terminala pe i.Deci , lnt r-un ase rnenea gra f se pot fntaln i muchi i ~iar ee simple sau replicate (cuacel eas i ex tr emi ta t i ~ieventual aceeasi orientare) ~ieventual bucle.P entru asem enea grafe se pot redefini notiunile de drum (succesiuni dearce de acelas i s cm), l an] (succes iuni de muchi i) ~ii nt roduce not iunea de sublan](generalizand notiun ile de lant ~ide drum, ea :fiind 0 suecesiune de vfufuriadiacente).

    31

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    17/100

    ,.Tn continuare vom lucra cu notiunile de graf, mutigraf orient ate sau

    n eo ri en ta te d at e d e d ef in it ii Je c 1a si ce .

    1~2.Reprezentarl ale grafelorPentru a se putea lucra mai usor cu grafe se reeurge la 0 reprezentare aacestora. Aceste reprezentari sunt necesare in cazul in care vrem s4 precizam(dam) graful pe hlirtie (tabla) sau pentru un calculator. A$a cum se fntfunpl4 ingenera] la reprezentarea datelor ~Iaici se poate vorbi despre modelul logic $i eelfizic al reprezentarii grafelor. Nol vom prezenta doar modelele logice. In functiede problema care dorim sli 0 rezolvam ~ide modul de rezolvare aJ acesteia se va

    utilize una sau alta dintre reprezentarile grafelor. Bineinteles ell alegerea t!cutliinftuenteaza t impul de raspuns al algoritrnilor sau exprimat mai general influen-lew complexitatea acestora. Se cunosc mai multe moduri de reprezentare alegrafelor,1.2.1. Reprezentarea geometric a

    Aceasta reprezentare se face pr in a pune to corespondents elernentelorgrafului elemente geometrice din plan. Corespondenta este:vfuiilriJe grafuJui se reprezinta prin puncte sau cerculete sau pi!trlitele.daca este nevoie marcate (etlchetate);fiecare arc se reprezintll printr-o Iinie dreapt! sau curbli (curbli Jordan)ce uneste reprezentlirile extremitatilor arculul respectiv, orientata de lareprezentarea extremitlitii initiale catre reprezentarea extremitatiiterminale a areului;rnuchiile se reprezinta ca ~iarcele numai ~ Ilpseste orientarea.

    Uneori arcele (muchiile) sunt marcatef ie cu numaru l arcului respect iv f ie eu alte valot i care pot avea semnifica ti l conforme problemei. Graful dat la exemplul 1.1.1 se poatereprezenta geometric ca in figura 1.2.1.LDaca r eprez en tar i le vfufurilor sunt mar-cate (etichetate) graful se numeste graf etlche- Fig.I.2.I.I.tat. Aid trtbuie sa remercam cli un acelasi grafetichetat poate ayea reprezentari diferfte ca in figura 1.2.I .2.

    3220&221, b4

    14 r: : : > * 3 - < : : :5 B

    6 7

    14

    Fig.l.2.1.1.

    Daca reprezentlirile vdrfurilor nusun t e ticheta te graful se numeste gra!neetic/letaJ. s a remarcam ea doni! grafeetichetate po t fj diferite dar Izomorfe, intimp ce grafele corespunzlitoare neetich~.tate sunt egale. Prin urmare un graf neen-chetat este 0 clas! de echivalentl1 di nmultimea dU a multimii grafelor in raportcu relatia de echivalent! nurnita izornor- Fig. 1.2.1.3.fisrn de grafe Grafele reprezentate in. .fi a I 2 I 3 sunt grafe izomorfe deoarece exlsta 0 bijectie Intre multirnile degur ... , . di d ti t arafelorvarfuri ale celor doul! .grafe care s a verifice propnetatea In e imna b _izomorfe. 0 astfel de bijectie este f (1) ::::1,f (2) =~,f(3}.::::5,f ~~)::::,f (5) - 2,f (6) =6. Graful neetichetat din figura 1.2.1.3, obtinut pnn neglijarea etichetelorvirfurilor, este graful bipartit complet K3.3Definitia 1.2.1.1. GroJplanar este un graf care admit~ 0 reprez~ntare geometrici!in care reprezentl!.riie arcelor (muchiilor) nu se mtersecteazA.

    Orice components coned. in sens topologic, a planului din care s-aueliminat reprezentru-ile varfurilor ~i ale arcelor (muchi ilor ) .unu i g raf planar senumeste ford a grafului p lanar respectiv. Adica . fat ! a unui graf planar este 0

    33

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    18/100

    regiune a planului, in care s-a reprezentat un graf planar, limitatA de muchil alegrafului eu proprietatea ca or icare doua puncte ale sale se po t uni pr int r-o l iniepoligonala care nu Intersecteaza muchii ale grafuJui Un rezultat important esteacela prin care se arata eelnumarul fetelor unul graf p la n ar e st e constant indiferentde r eprezentarea planara a grafu lu i. .Deoarece un acelasi graf admite mai multe 'reprezentari geometrice nu esteusor de a stab il i daca WI graf oarecare este sau nu planar. Dintre lucrarile ce seocupa de aceasta problema amintim aici [Kur30], [ToS95] ~i[Vos91).Observatia 1.2.1.1. '

    In spatiu or ice graf se poate reprezenta astfel indit oricare doua muchii(arc e ) s a n u s e I nt er se ct ez e. Aceasta r ep re ze n ta re s e poate face astfel: Se reprezinta to ate v Arfurile pe 0dreapta, { 'en tru rep rezen tarea fiecarei m uchii (arc) se alege c a t e u n p la n d is ti nc t

    c e c on fi ne d re ap ta pe c ar e s un t r ep re ze nt at e v ar fu ri le g ra fu lu i, apoi sereprezinta 1n acel plan muchia (arcul). Cum planele in care s-aureprezentat cate 0 rnuchie (un arc) sunt disjuncte ~iau in comun doard re ap ta p e care s - au r ep re ze nt at v fu fu ri le g ra fu lu i inseamnl c a o ri ca redoua muchii (arce) nu se inrersecteaza,

    Re pr ez en ta ri i g eo rn et ri ce i n c al cu la to r iicorespunde r ep re ze nt ar ea c u l ls teinla.nruite sau pointerl sau 0 alIAstructur l i de date convenabila,1.2.2. Reprezentarea matrlceala

    Un graf G = (X, U) se poate reprezenta cu ajutorul matricei de adiacent!(varfurivarfuri) s au a t ma tr i ce i de l n cl d en t a (varfuriarce). Piecare lillie ~icoloanac or es pu nz sn d u nu i v a n sa u u nu i a rc (muchie) al grafului,MATRICEA DE ADIACENTA.

    Matricea de adiacenla este 0man-ice p : i tra t icA, linia ~j coloana i corespun-zand varfului i al grafului. Elementele matrieei de adiacenta lie definescastfel:

    {I.O.j)e U ..a .. = I J EXI , 0, a.neu' .

    AstfeI graful dat l a e x emp lul 1.1.1, r ep re ze nt at g eo me tr ic i n figura 1.2.1.1,s e poate pr ec iza ~i p ri n m a tr ic ea d e adiacenta urmatoare:34

    , -0 1 0 0 01 0 1 0 0

    A= 0 0 0 1 10 0 1 0 11 0 0 0 0

    Observapa 1.2.2.1.Valorile matricei de adiacent! se pot' considera ca v~l~ri booleene ~ia. d . el tuln precizeazA daca perechea de vfu'furi (t.)) e s t e . s au n ueel emen -u . . d di faAarc (rouchie) in graful reprezentat prin matricea e a iacenta .Dacli valorile matricei de adiacent! se inteIpret~ ca nur:ae~b. I tun i numAniI a' e st e n uma ru l a rc el or (muc hi il or ) de la t la)natura. e , a cu. c. 1 a 1 'I. fiG Pentru multigrafe se poate convent asne ca v on eIn gr a U tar"matricei A s a fie numer e na tu r al e conforme aees tei m ter p re 11 .Pentrn grafele neorientate matricile de adiac.enta sunt sj~etrice ~ic. putem interp re ta $ i invers , dacl lm~cea de adlacentJI. a urun graf estesimetrica, atunci acel graf es te neonenta t .

    MATRICEA DE INCIDENTAJ . -1n.," se at""eazA grafelor simple (flra bucle) ~i a carorMQiricea ae meiaeruo -v )muJtime de a r ce s a or dona t, ad ie l l s - au numero ta t arcele, U "" {1 . ~ . . .. . m :" . d ~""_"u1 i iar coloana u corespunde arcului u. DeciLIDIa t corespun e VilllW . ., d fin. d u' X m Blementele matncei de mCldentAse e escmatncea este e p n .astfel: 3jE x =(ij)

    3j E X:u = a.i), i E X, u E U.{l.

    bt = -1,0, alt/el

    - lui 1 12 reprezentBt geometric in figura 1.2.2.1. seGraful de la exemp .., ., .p oa te r ep re ze nt a p ri n matricea de mCldenliiunnlitoare.1 1 -1 0 0 0-1 0 1 1 0 -1

    B= 0 -1 0 -1 0 0o 0 0 0 1 1o 0 0 0 -1 035

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    19/100

    Teorema 1.2.2.1. DaelJ A este matricea de adia-. c en li i a unui graf de ordin natunci matr icea A P indica prinelementul depe linia i # cotoanaj numiirul de drumuri de lungimep de la vaiful i la l'diful j.

    DemonstTa(le: Fig. ].2.2.1.FoJosim metoda inductiei complete i'n raport cu p, Pentru p :: 1

    pr~prje ta tea este adevara ta . deoarece dac! alj = 1, atunei de Ia vSrfuI i la vfuful JeXIst ! arc . Cum grafu Is te un l-graf inseamnA cll de la varful i Ia varful J exista audrumuri de lungime 1. Daca au= 0, a tunci deoarece int re vfufuri le i ~i} nu existaarc il_1s~nli ell. numarul de drumuri de lungime 1 este ali' Presupunandproprietatea adevlirata. pentru p s A d em on str!m e li es te adevllrat! ~ipentru p + 1.Daca a/;j= 1 ,a tuncl numarul d rumur il or de l ungime p + 1 d e la i1a} ce au ca uLtimarc pe ( k, ) ) este egaI ell nurnarul drumuri lor de Jungime p de Ja i la k adicll cua: al;j . Cum un drum de Ia i la } poate avea ca penultim varf pe orice vfuf k;!nseamnll. e l i numarul drumurilor de lungime p + 1 de Ia i la} este

    Daca A es te mat ri ce a de adia cen tll a unu i g rafneor ient at, at unci AP indica. prin elementul de pe linia i ~j coloana jnumarul de lanturi de lungime p fntrevtrfurile i ~i. 0 .Deflnltla 1.2.2. tntr-un graf G conex numim dislM(ii dintre varfurile i ~ij

    minimul lungirnllor lanturl lor dintre i ~ij.Notam distanta dintre i ~i j cu dU , J)' Convenind dU, ;)=0. Nothmea

    introdusli ve ri fi e !! : a x iome le d i st a nt e i:poz it iv ita tea . ad ica dei, J1 ~ 0, Vi,jE X, egalitatea are IDe daca inumai daca i = = j;sirnetria, adic!! dO,)):: d(j, O .Vi,} E X, rela ti a are l oc pen tru e ll .or iceIan] de la i Jaj induce un (ant ( ac el ea si much ii dar in ord ine inve rsa) dela} la i;lnegalitatea triunghiului, adiclt dU,J) ~ dO, k) + d(k,)), Vi,j, k E X,care are Joe d in cauzA el !.dO, k)+ d(k,)) reprezinta numarul de muebi iale unui lant de la i la i. mai precis ale Iantulul obtimrt prineompunerea lantu1ui de lungime minima de Ia t la k cu lantul de

    36

    hmgime minim! de 1a k laj, jar d(i,J) reprezintA minlmul numarului demuchii a le lantu ri lo r de l a i laj . Ori, stim eli minimul dintre elernenteleunei mu ltimi e st e ma l m ic sau ega! deca t o ri ce e lement a l mu lt im ii .

    Defmitia 1.2.2.2. Excentricitateavfirfului i este max {dO,j) IiEX} i 0 notam eue(i).Raza grafului Gnotatli prin r(G) este rnin{ e(i) liE X} .Central grafului G este multimea vfufuriIor i 'pentru caree(1) = r(G).Diametrul grafu1ui G not at cu d (G) es te max{e (i) IiEX).

    . Matricea dls tantelor D 1ntr-un graf conex se poate calcula folosindrezultatul din teorema 1.2.2.1. Astfel, calculam succesiv matrlcele A P pentru p = 1,2... n sau panA cand se eompletem intreaga rnatri~e ..D. Pentru un p oarecarevom completa eu valoarea p in matricea D a ce le p o zi tu de el ement e care nu aufos t comple ta te p li nl la momen tu l r espec ti v ~ipozi ti a corespunzatoare d in AP arevaloare diferitll de zero.Observatia 1.2.2.2.

    Daca in matricea dlstantelor un element de pe diagonala principala arevaloare finita (diferita de zero) atunci graful respectiv contine eel putin unciclu,

    Teorema 1.2.2.2.1ntr-un gra! conex Gore loc:r(G) Sd(G) S2r(G).

    Denronstratie:Prima inegali tat e e st e adevArat l deoare ce minimul unei mul tim i e st emai

    mic sau egal decat maximul aceleiasi multirni. Pentru a demonstra a douainegalitate ~ a le ge rn u n v ar f i d in centrul grafulu i G. Adi c! ,

    e ( l) : = : rCG ) =min{e(]) I} EX}.Nota rn eu k v ir ful pen tru care e (k) = = ~(G). I n acest caz;:. y E x; e(k) = = d(k,J) 5 d(k. i)+ dU,]) 5 e(i) + e(O = = 2r{G). 0

    Teorema 1.2.2.3. [ntr-un arbore G are loc:2r(G)-1:5: d(C):5: 2r(G).

    37

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    20/100

    Observatia 1.2.2.2.a, Daca G este oriental, atunci din aij=1 deducem eil in G exista arcuJ

    (i. j) ~i virful i este extremitatea sa inipaUi, jar virfuI j este extrerni-tatea sa terminals. Pe de aM parte fiecare arc din G induce in matrieeade adiacenfA0 singud valoare egala eu 1(nenula) dedueem:

    11g+(i) = Lail

    J=J ,"~i g'(i)= La);. i EX .j~l

    b. Daca G este neorientat, atunci din all - 1 dedueem ell ill G exist!muchia (i,;) ~ideci ~iaji = I. Pe de alta parte fieca re muchie din Ginduce in matricea de adiacenta doua valori egaIe eu I (nenule). Deci:

    " "g+(i)= L aij ;: g'(i)='Laji,iE x .i=! j=l

    Din aceasta observajie deducern:Teorema 1.2.2.4. Pentru un graf G de ordin n ii dimensiune m, suma gradelorvaifurilor este 2m.Demonstrape:

    in baza observatiei 1.2.2,3:a. Pentru grafele orientate are Joe:

    Cumg(f) = g+(l) + gOO)

    inseamna ell

    38

    Pentru grafele neorientate are loc

    Cumg(O=g+(l} =g-(!}

    inseamnaca

    Ca ;ii aplicatie considerarn problema:S->: li A..r.' n(n - 3) di Ia se arate c...unpo tgon COnlleX cu n varjun are --- tagona e,, 2Un poligon convex cu n vfufuri, pentru care s-au dus toate diagonalele este

    graful complet Kn . I n graful K" fiecare virf, dintre cele n, are gradul n - 1. Decisuma gradelor vir furi lorcare este 2m are valoarea lI(n - I), Prin wmare m =n( n - 1) . Numarul dlagonalelor este egal cu numarul muchil lor grafului minus2 . 'numaru l la tu ri lor , Dec i:

    n(n-lJ n(n-3 Jm-n= -- -n= ---.2 21.2.3. Reprezentarea cu tablouri unidimensionale

    Daca un graf are numarul de varfuri mare ~i un numar relativ mic demuchii atunci matricele cu care se reprezinta graful au multe valori zero.Complexitatea e!utii ri i iotr-o as~enea rnat rice ~i cantit atea mare do suport(memorie) fae ca s li crease! complexitatea a1goritmilor. 0 reprezentare maieficienta in aeeste cazwi este cea care foloseste doll! tablowi ( liste l in iare), eenecesitli 0 canti tate de memorie de aproximativ n + m ceJuIe. In continuare" prezentam doar trei astfel de moduri de reprezentare.

    39

    ,

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    21/100

    a. Lista areelorin aceasta reprezentare se utilizeaza tablourile a ~i 1 3 de dimensiune m.

    Valorile a(u) ~i [3{u)fiind extremltatlle initial! respectiv finala ale arcului u E U.Maijos dam 0 astfel de reprezentare pentru graful reprezentat geometric in figura1.2.3.1.u 2 5 6 7 8 9 104s ) I 1 5 5 7 6 1 43

    2 3 I 4 4 I 4 I 4 1 7 I t'i 4 I 7

    Fig. 1.2.:U.

    b . Llsta succesorUor (va)orue lui T)ill acest caz tabloul a are dirnensiunea n + 1. iar f3 are dimensiunea m(pentru grafe orientate) sau 2m (pentru grafe neorientate). Pentru fiecare varf

    i E X; a(l) indica adresa (indicele) din tabloul 1 3 de unde sunt lnreglstratisuccesorii slil. Succesorii vArfului ise atl!\, deci, in tabloul f 3 lntre pozitiile a(i) ~ia{i + 1) - 1 inclusiv. Deci, daca a(i) :;; a(i + 1), atunci vfirful i nu are nici unsuccesor.

    Deci, pentru fiecare t E X, au loc relatille:i-I

    a(i):;; LC+(j)+1 ~i a.(n+l)=m+l sau a.(n+l)=2m+lj=(la grafele orientate)

    g(i) = a(i + 1) - a(O (la grafele neorientate)n= {[3(a(i)).I3(a(I) + 1).... , 13(a(i+ 1)- I)}.Daca arcele (muchiile) grafului au anumite ponderi (valcri) acestea se pol

    pastra intr-un alt tablou p(.) de dimensiunea tabloului 13.40

    Pentru exempli ficare consideram graful dinfigura 1.2.3.2 pentru care n =4.~im = 6. Tablourile a ~ib conpn urmatoarele valori: .

    i=, a(.)

    Fig. 1.2.3.2.

    [3(.)inmod analog 50poate reprezenta un grafprin utllizarea functiei r-/

    c. Lista predecesorilor (valorUe lui 11)in acest caz tabloul a are dimensiunea n + 1. iar Il are dimensiunea m(pentru grafe orientate) sau 2m (pentru grafe neorientate). Pentru f i : c are. v a r :iE X, a(l) indicA adresa (indicele) din tabloul f3 de unde sunt mregist rappredecesorli sai, Predecesorii vfufului ise aft! , deci, in ~ b!oul ~ intre po~i~i1ec x ( i ) ~i a(i + 1) - I inclusiv. Daca a(i) = a(i + 1). arunci vfuful J nu are mC I unpredecesor.Deci, pentru fiecare i E.X, au loc relatiile:

    1-1a(i)=L.g-U)+1 ~i Ct(n+I)=m+l sau a(n+l):;;2m+lj=1

    g'(i) = af,i +1) - a (z) (la g rafele orientate)ge,) = af,i + 1) - Ct(i) (la grafele neorientate)T" i = W(a(l)). [3(0.(1) + 1).... , 13(a(i +1) - I)}.Daca areele (muchiile) grafului au anumite ponderi (valori) acestea se pot

    pastra intr-un alt tabloup{.) de dimensiunea tabloului 1 3 o problema important! este:Sli se elaboreze algoritmi $; programe (proceduri) eorespunziitoarepentru trecerea de la 0 reprezentare a unul graf laoricare alta.Prezentam incontinuare algoritmi de conversie ai reprezentarii unui graf

    dlnt-o forma in altAforma,

    41

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    22/100

    AIgoritmuJ 1.2.3.1.Conversia reprezentari iunui graf din matricea de adiacenta A in matriceade incidenja B.In elaborarea acestui algoritm folosim observatia ci fiecare valoarenenula din A deflneste (refera) un arc ~i acestuia ii corespunde 0coloana in B.Cum ordinea coloanelor in B nu are importanta, se poate parcurge matricea Af ie pe linii f ie pe coloane ~ipentru f iecare valoare nenula guita. se va genera 0coloana inmatricea B. Indicii de linie ~ide coloana ai elementului nenul din A

    sunt indicii de linii in care noua coloana din B va avea elementele nenule Irespectiv -1.c it es te n I i A:u : =O ;peturu ;:=1," exeCRtlJpe1Unlj:=I,n eucutlJ

    daclJ alJ ; o o ! 0Dtunciu:=u+1peW" p:=l,fI executilb,.,:"" 0;sjpenlru;

    b, .'""1;bj.:=-J;ifdaCil;

    Sfplltltru;sfpentnl.

    AJgoritmuJ 1.2.3.2.Convers ia reprezentar ii unui graf din matr icea de adiacenta A in listasuccesorilor definita de vectorii unidimensionali a i (3 .tn elaborarea acestui algori tm folosim observatia cll . f iecare valoare

    nenula din A deflneste (refera) un arc ~iacesta defineste 0 pozitie invectorul 1 3 .Deci, numll.rul valorilor nenule din A este dimensiunea lui 1 3 . Dacll.se parcurgematricea A pe Ilnii valorile nenule depistate intr-o linie, definesc succesoriivanului atasat acelei linii. Acesti succesori sunt varfurile ce corespund indiceluide coloana in care se aft! valoarea nenula, Daca se introduc, in ordineadepistarii lor, acesti lndici de coloana in vectorul f} acesta va confine multimilerIo n,...rn. La schimbarea liniei se va retine in vectorul a pozitia ultimuluielement rnemorat in 1 3 plus 1.

    c tt es te n 1 iA:Ie:=];penJru i;=l,n executiIa(i);=k;

    42

    pm truj : . .. .1,n eucuJlJdac:4 a u ~ 0 iJllUcif3(k) :=j: . .

    k,;"k+1; .i fdDC4;

    sfpllnlru;sfpenlru;C1 ( n+ l ) : . . If -

    Algoritmul 1.2.3.3.Conversia reprezent!lrii unui graf din matricea de adiacenta A in listapredecesorilor definita de vectorii unidimensionali a ~i 1 3 In elaborarea aeestui algoritm folosim observajia ell. fiecare valoare

    nenula din A deflneste (referl) un arc ~iacesta defineste o.pozitie in vectorul 1 3 Deci , n um a ru l valorilor nenule din A este dimensiunea lui 1 3 . Daca se parcurg~tncea A pe coloane valorile nenule depistate in ea. definesc predecesorii~;rfului a ta sa t a ce le i coloane. Acesti predecesori sunt vH .r fur il e ce cor~~p~~indiceJui de linie in care se aHa.vaJoarea nenula, Daca se introduc acesn indicide lime succesiv in vectorul 1 3 . acesta va contine multimi~~ r-i, ~~2. :., inLaschimbarea coloanei S6 va retine tn vectorul a pozrpa ultimului elementmemolat in 1 3 plus 1.

    c it el ts n Ii A;k:=J;penlnJ j:=l ,n I!Ucuhla(j):=Ic;pen tn t i :=I,n exeCldi ldm:4 all ; o o ! 0 tJllUICi

    fJ(k);=i;k i=k+ l ;

    ifd4t:4;sfpentru.;

    sfpentru;a(n+l):=k.

    Algoritrnul1.2.3.4.Conversia reprezentllrii unui graf din matricea de incidenf! B tn matriceade adiacenta A. .In elaborarea acestui algoritm folosim observatia ca fiecare coloanll. din

    B defineste (refers) un arc ~i acestuia ii corespunde un e1~ent ~en~I ..(devaloare 1) in A. Pozitia acestui element inmatrices A este def lnita de indicii de43

    t

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    23/100

    Iinie in care se atl! vaJorile 1 sl -J din coloana anallzataP Y i:I a matricei B.arcurgerea matricc:iB 0 facem pe coloane,c1lel1e n.m ((bu.i=l.n)J=l,m)pe1llru. i;""l,11e:uculitpMJruj:=l,n ut!Culllaq:=O;ifpenlru:sjpelltru:pelllru u:=l,m Ui!ClIliIpe1llru 1;=1,11executiIdacil b,.=l atrmci p:=1:daelJbr.=-! D/unci q:==j;IIfpenlru;

    QI"I.'=J;s./pentru,;,,.Algoritmull.2.3.S.

    Conversi.a reprez~ntllrii unui graf din matricea de incidenfl B in listasuceesonlor defmlt:lide veetorii unidimensionali a ~ 1 1in e l abo ra re a a c es tu i algoritm f ol os im o bs er va pa e li f ie ca re c ol oa nl l. din

    B deflneste ~refer~) un arc ~i acestuia fi corespunde un element in vectorul S.Pentru a deplsta ~l.memora in S in ordine, elementele multimilor T'I, P.2, . .. . rnse pareu.rge matrlce~ B pe l inii . Varful corespunzJl.tor une i lini i a re atapasucceson- ell t: valori ega le ell 1sunt pe acea linie in matrices B. Astfel daeitb iN = = I, ~.tunel j este succesor allui i daoa b j; = = -1 aItfeJ spus u = = (i. j)~ Prinunnare,) se va memora pe pozitia urmatoare (libera) inS.

    clle/le n,m, ((bu.i=l.II)J=l.m):1:=1:pentru {:=l,n I!JUcutlJ.a(i):=k:pentru u: ..1 .m uecutlldacll bu.=l alrmci

    pentru j:=J.1I tJXI!!C1lf4dacll bjN""-1 D/unci q;=jsfdaclI;sj'pllntru;

    {:J(k)::q:k:=1+1;qdacll;

    shllntru:sj'pelllru,"CJ(n+I)::m+l.

    44

    Algoritmull.2.3.6.Conversia reprezentarii unui graf din rnatricea de incidenta B in IistapredeeesoriIor definita de vectorii unidimensional! a: ~j S.In elaborarea aeestui algoritm folosim observatia e li f ie care coloana din

    B defineste (refera) un ar c ~i aeestuia iicorespunde un element in vectorul 1 3 .Pentru a depista ~j memora in f3 corect succesiunea elementelor multimilor FT,i2 ..... rn se pareurge matricea B pe linii, Varful corespunzator unei linii ar eadtia predecesori eli te valor i egale eu -1 sunt pe acea J inie in rnatricea B, Astfel,dacl1 bi" = = -I, atuncij este predecesor al lui i daca b ju = = 1. Prin unnarej se vamemora pe pozitia urmatoare (libera) in 1 3 .

    citeste n , m . ((bI},i=l.")J=J,m);kt=l ;pentru 1:=1,11e,re.cut4a(i):=k;"pentru u:=I,m execullldacll b",=-!l1Iuncipentruj:=I,n uecutll

    dacll bjo=J alunei q:=j sfdac4;afpentru;(1(k):=q;k:=k+);Vdacii;t/pentru;

    Sfpllntru:o(n+1):=m+1.

    AJgoritmul1.2.3.7.Conversia reprezentari i unui graf din li st a succesorilor, en ajntorulvectorilor a ~j S, inmatricea de adiacenta A.Pentru a eonstrui pc A, dupli ce ini tia lizam matri cea el l 0, vom trans-

    forma in 1 valorile de pe pozitiile (i. f 3 U ) pentru "a(i) ~ j < a:(i + 1) ~ifiecare i=1,n.(a) cilel" n.(ali).iaJ,n+l J:cite/Ie m,(f3(lJ,i=l,m):(b) penJru 1;=1,11t!)Ct!cutii

    pentru ):=l.n t!Xi!ClItlJlIlF=O:&fpentru;

    s/pentru;

    " .,k45

    .. ;

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    24/100

    peturu i:=I,n execu.tllpelltruj:=a(i), Ofi+l)-1 exclltip:=1J(j);QJp:=I;sj'pe1ftru;

    s!pentru..

    Algoritmul 1.2.3.8.Conversia reprezentarii unui graf din l ista succesorilor, cu ajutorulvectorilor IX ~i~. inmatricea de incident! B.Fiecare element din ~ v a g en er a 0 coloana In matrieea B. in aceastacoloana pe linia j trebuie sa f ie plasata valoarea I, iar pe linia p valoarea -1

    dad. p = 1 3 u ) eu a(i) $)< a.(i + 1). deoarece virtu! peste succesor a1 va.rfuluip=I3(j) ..

    (a) dtqte n, (a(I).i=/,n+ 1);c t te s t e m, ( /3 ( i J .i= / ,m) ;

    (b)peruru i:=l,n vucutdpentruj:=J.m execlltllbiJ:=O;

    s!perdru;sj'pentru;

    u :=O;perdru i:=I,fI execlltllpentruj;=a(i). ali+l J- l execlltflu:=u+J;b.. :=J;p;={1(j);b",,:&-J

    sfperuru:s!petr l .ru,

    Algoritmull.2.3.9.Conversia reprezentarii unui graf din Iista succesorilor, ell ajutorulvectorilor a ~ 1 1 3 .in lista predecesorilor ell ajutorul vectorilor a ~ih.Aceasta conversie se poate realiza in doll ! e tape de exem_plu prinutilizarea a doi algoritmi deja descrisi sau descrierea altor etape, In primavarianta construim din lista succesorilor 0 matrice (de adiacenta sau deincldenta) ~i apoi din acea matrice eonvertim reprezentarea grafului in listapredecesorilor. I n cealalta variantaam putea determina la 0 parcurgere a

    vectorilor a. ~j 1 3 multimile T'L, 1" '2 , . . rn (sub. form! de ~iJuri) ~icardinalele46

    101:,ar apoi vom da valori elementelor din tablourile a Si b. Deseriem cea de-adoua variantA. La prima parcurgere a vectorilor a ~i 1 3 vom construi matricea Cde dimensiune n x n in care pentru j= 1. n linia iva coat ine in cU,]) numiruJ 'predecesorilor lui i, iar pe urmatoarele cU,l) pozitll vor fi memorati acestipredecesori. Deci, nwn!rul de poziti i ocupate pe lini ile matricei C difera, Laini lial~e coloana I a matrice i C are toate elementele 0, adica nici unui va n algrafului nu i s-a depistat vreun predecesor. Mai precizam eli.daca pentruvalorile variabilelor i, k, p are Ioc J 3 ( P ) = k ~j a.(i) $P < a(i + 1), atunci sededuce (interpreteaza) eli vlirful k este succesor al vArfului i ~i eli vfui'ul i estepredecesor al v.irfului k, Din valorile coloanei 1 vom calcula valorile vectoruluia, iar celelalte valori ale matricei C vor forma vectorul b (lista predecesorilor).

    (a) cite/Ie fl.(ati).i=l.n+/J;clle/le m.(fJ(i),i=1.m);

    (b)pemru i=Ln tuelltllc(i,1}:=O;

    Ifpentru;penlru i;=l.n executdpelflnl p:""a(i).ati+)-J execut4.k:=fJ{p)t:=c(k,J}+ 1:C{k,1):=t:C{k,t+l):=i;

    sfptlnlnl:sfpetr/.ru;1:",1;ptlntru i:=i,n ueCUila(i):=t;p e tr l .r u j: = J ,c ( i. 1 ) ;b(t):=c(ij+l );1:=1+1:sfperr tru;sfpentru;

    a(n+1):=t.

    Algorltmul1_2.3.10.Conversia reprezentarii unui graf din Jista predecesorilor, cu ajutorulvectorilor a i 1 3 , inmatricea de adiacent! A.Pentru a construi pe A dupa ce inipaliziim matricea cu 0, vom transforma

    ~ 1 valorile de pe pozitlile ( 1 3 { J ) . I) pentru a(t) So ) < a(i+ 1) ~i fiecare1=1, fl.

    47

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    25/100

    (a) cile/le n.(a(I).i=1.n+l);citeste m, ({1( i ) , i=I.m);(b)ptlnJr" L=l.n tx4cutllpenJr" j:=l.n t!Xecutilau:=0;Ihmw,,;

    '!penJru;pelltru i:= 1 . 1 ' 1 exe~utllpentruj:=a(IJ.l(i+1)-1 executiJp:=/3(j);QpI:=1;sfpenlru;ifpenlru.

    Algor'itmul1.2.3.11.ConVe.rsia re~rezent!r ii unui graf din I is ta predecesori lor, cu ajutorulvectonlor a I 1 3 , in matricea de incident! 8.Fiec~~ e~emen~ din j3 va genera 0 coloana in matricea B. I n aceastacoloana pe lima I trebuie sll fie plasata valoarea 1, iar pe linia p valoarea 1 daell

    p:::: 1 3 ( j ) eu a(i) ~j ~ a(i + 1) 1.deoarece vanul i este predecesor al vArfuluiP : : : : P W . ,

    (a) cite/Ie n,(a(i),1=1.n+1);cite/te m,(lJ(i).i=l,m);

    (b) penJru 1:=I,n executiJ.pentru j:=l,m executilbll:=O:Bhentm;sfpentTJl;,,:=0;penh i:=1,n execut4'ptlnJTJlj:=a(i). ~i+1)1 execut4U:=1I+1;

    bu.:=-1;p:=fXj) ;bpoo'=Jsfpellll'lI;. ,hentru.

    Algoritmull.2.3.U.Conversia reprezentli ri i unui graf din l ista predecesori lor, eu ajutorulvectorilor a~iP . in lista succesorilor eu ajutorul vectorilor a ~ib.

    48

    Aceas ta convers ie se poate face in doua etape de exemplu prin utiJizareaa doi algoritmi deja descrisi sau descrierea altor etape. in prima variantsconstruim din lista predecesorilor 0 matrice (de adiacenta sau de incidenta) siapoi din acea matrice convert im reprezentarea grafului In l is ta succesori lor, Incealalt li variantli am putea de termina la 0 parcurgere a vectori lor a ~i 1 3multi-mile i1.12.....insub forma. de siruri) icardinalele lor , iar apoi vomatribui valori elementelor din tablourile a ~ih. Descriem cea de-a doua variants.La prima parcurgere a vectori lor a s i f3 Yom construi matricea C de dimensiunen X n tn care pentru i : : : : 1,n, Iinia iva contine in cU , 1) num1!rul succesorilor luii, iar pe urmatoarele c(i, 1) pozitli vor fi memorati acesti succesori , Laini tial izare coloana 1 a matr icei Care toate elementele 0, adica nici unui varf algrafului nu j s-a depi stat vreun succesor, Mai precizam c1 l daca pentruvalorHe variabilelor i, k; p are loc j3(P) = k i a(i) ~ p < Il(i + 1), atunci sededuce cA varful k este predecesor al varfulul i~i cli vArfuI i este succesor alvirfului k. Din valorile coloanei 1 vorn calcula va loril e vectorului a, iarcelelalte valori ale matricei C vor forma vectorul b al succesorilor,

    C/le$le n.(afi).i=1.n+1);citelte m,(/1(!,),i=1.m);pentru 1=1,n execut11

    c(i,l ):==0;sfpenlruo'pentru 1:=1,n uecutllptnJTJl p:=a(i), a(i+1 ).] ex .ecut iJ. k := { 1( p)

    1;=c(I

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    26/100

    1.3. Numere fundamentale in teoria grafelor1.3.1. Numar de stabilitate InternaDeflnlt ta 1.3 .J. l. Fie graful orientat G;:: (X. U). Mulpmea SeX se numeste

    mulfime stllhild interior (lndependenta1 daca I i numai dacaVi e Sar e loe Tt IiS = = 4 > .Proprietatea lui S se mai poate exprima:rs.. S :: : C lIsauVi,je S~ (i,J) ~ usaugraful G(S) este format numai din viI-furl izolate,Din deflnitie se deduce urm!ltorul rezultat.

    Propozipa 1.3.1.1. Dacd $estefamilia multtmilor interior stabile ale grajuluiG atunci au IDe:a . c l)eB;b. Vie X. U} E $;c. daca SE B si A cS atunciA e S.

    a problema cu aplicatii ~j in colorarea grafelor este detenninarea demultimi interior stabile (independente). Din propozijia de mai sus Sit observa c a ,toate muljirnile de varfur] de cardinal eel mult I sunt multimi interior; stabile ~ic4toate submultimile unei mulfimi interior stabile sunt ~j ele interior stabile. Prinurrnare de interes, ar fi sa se detennine multim] interior stabile cat rnai marioExemplull.3.1.1.

    Se considera graful di n figura 1.3.1.1. MultimeaS = {l, 3, 5} este-o multime interior stabill1 aacestui graf.

    Deflnipa 1.3.1.2. Numdr de slahlliJate internli a gra-fului G este m ax { IS J J SEn} ~i sen ot ea z a cu a.(G).

    FIg. 1.3.1.1.50

    Orice mult imea inter ior stabila S pentru care I S I = a.(G) se numestemultime interior stahiJii maxima. . .SAremarclim c!intr-o familie de multimi, cum este de exernplu .Z , eXI.st l ~l~otiunea de multime maxima/a dar acest element es~ in raport cu incluziuneamultimilor, care este 0relatie de ordin~ In ~eneral partiala, Altfel spus, S E Z estemax~lI. in Z da9A 'I IA E Z cu SeA impliea S =A.Observalia 1.3.1.1.

    P en tru ca 0 m ultim e S sA fie interior s ta bil a tr eb uie c a rsn = ClI.iarpentru ca ea sa f le multime inter ior s tabila maxima, daca graful este tltabucle, trebuie in plus rs uS=x.

    Exemplull.3.1.2. Pentru graful din flgura 1.3.1.2. au loe:a. S = {0. ru, {2l.Pl, (I. 3)};b. rnultimi interior stabile maximale sunt {2} i {It 3};C. graful ar e 0 singurl1 multime interior s ta bila m ax im a, c ar eeste{l.3};d. Ct(G)=2.

    Figl.3.1.l.Problema 1.3.1.1.

    Fiind dat graful G = (X, U) sl1se determine toate multimile interior stabileale lui G.Determ~ea multimilor interior stabile se poate ra~e pri~ a parcurge toatesubmulprnile lui X ~isl1se verifiee daclt sunt sau nu multimi sta~de. a altl.meto~ll.este de tip backt racking. 0 prezenta re genera la a metode~ (a aJgon~ulu!)backtracking, pentru cazul in care se ~tie eli problema are solutie, este deserts! In

    pseudocod in cele ce urmeaza,CrrE$TE datel problemei;INmAUZEAzA;AFl$EAZ. . f;RepeJIJcatJimp NU _ E ST E _G A T A erecflttlD I lc 4 S E YOA TE a tl U lc i A V ANS E Az A ., ltd;

    51

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    27/100

    AFJ$EAzA ;REVENJRE;

    p81111_cAnd NU_MA l_P 'O , 4TE ;D ec i p en tr u f ie ca re im pl em e nt ar e i n p ar te u ti li za to ru l ~i v a d ef in i c on fo rmproblernei de rezolvat proeedurile. CITESTE, INITJAUZEAzA. A VANSEAzA,AFl$EAzA ~.i f un ct ii le b o ol ee n e NU_ESTE_GATA ~i SE_POATE. Valoareav ar ia b il ei b o ol ee ne NU_MAI_POATE s e s ta b il es te in procedura REVEN/RE.

    P ri mu l a pe l a1 procedurii AFI$EAzA s -a f li cu t p en tr u c!~i vaJoarea initial!! este 0s ol ut ie a problemei.Vom prezenta in continuare un program Pascal care rezolva problema dedetermlnare a multimllor i nt er io r s ta b il e cu metoda backtracking. La fiecarem om ent m ul tim ea de v Ar fur i X = {I, 2~ ... , n}, a le g ra fu lu i, e ste d es co rn pu sa jn

    pampa A u B. unde A este 0 rnultime in te rio r s ta bila , ia r B es te c om ple me nta ra e l,Astfel, A = = {i EX J o(i) ~ O J . I ar B = {i E X I o U) ;; O J. Explorarea v r i' u ri I or l u i Xs e f ac e in ordinea crescatoare a v ftrf urilo r, a die a 1 ,2 , ... , n, S ta re a v fu fu lu i i estedefinita d e v a lo ar ea 0(1), 1 :5 : i S II. Faptul c!i o(l) 0, pentru un i o ar ec are , s ei nt er pr et ea za e ll vArful i face 'parte d in mu l thn ea A. Valoarea na este vfuful de lac ar e ( PAM I a n) se va cauta in continuare u n v ar f c ar e s !! s e p oa ta a dl lu ga mu lt im iiA g !ls it! p An !! la a ce l m om en t. V alo rile o (i) D, p e nt ru f ie c ar e v a r r i c u a c ea st aproprietate (~icare vD rf fa c e p ar te din A) precizeaza varful incepAnd cu c a re se vacauta (pAlla la care a f os t c au ta t) u rm a to ru l varf lui i din A. Multimea A estec om pl et d et er mi na ta d ac iiH l lc ut e xp lo ra re a t ut ur or v ar fu ri lo r ( ad ic ll s -a a ju ns c ana = n), La fiecare revenire (cu un pas) se determina precedentul vArt'i din A. alu l timu lu i exp lo r at , $i acestuia ise caul! un alt succesor dintre cele de la 0(1) la n.Consideram eli g r af ul s e d !! p ri n m u lt im i le n, 1 SiS n.

    ~rogram Mis_cu_aackT;Uses Crt;Canst WJIaX=40;Var n,i,na,j,x,incep:Word;~ai_poate:BooleanlGama : Array [1. .vmax) of Set of 1..VIMX;o : Array [ I vmax+l) of Word;

    Procedure Citeste;Var a: Array(l lO] of string[lO);Beginn:=6;a(I] ,""010110';

    a(2] ,='000100' 1a(3) :..'010010';a(4]: ..'000010';a(5J, ..'010000';a[6): ..'0001l0';For i:E1 to n Do begin

    Gama[i) : .. [);for j:=l to n Do52

    If a[i,j] ='1' then Gama[i]:cgama[i]+[j);endrX:=OI 'End;

    procedure Initializeazar"Begin "For i:=1 to n Do 0[1) :=0;o[n+I):=l; na:=I; incep:=l; ClrScrl

    NU_Mai_poate:=FalssiEnd;.FUnctihn Nu_Este_Gata : Boolean;"BeginNu_Este_Gata:=naO thenbeginna,:i+l; o[i]:=O/Repeat i:=i-1; until (o(i]O) or (i",O);end;

    53

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    28/100

    end;End;

    If i>O then oIi],;naelsebeginincep:=incep+l; na:~incep;If incepO) and (x

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    29/100

    rncSt Xl = L Astfel, se poate considers ell Xl = I ~ideci algoritmul tncearell s lladauge Ia f ieeare etapa un vrf (muehie) Ia lantul eJementar descoper it In grafP~ii Ia aee~ etapa, Daca un asernenea vrf, care sl!.fie adaugat lantului existent,= = algoritmul avanseaza, altfel face 0 revenire, mic~or!nd lungimea lantululexrstenr,

    . Ca vari~b~lli de lucru folosim tabloul unidimensional 01 cu i E X.Valorile acesnn ~IJ' la pasul tal algor itmul (eand se cauta valoarea pentru x) auunnlltoarele semniflcarll: r

    Daca OJ oF 0, atunci virful i este selectat in Iantul elernentar ales pa nli ..Ia acel moment.b. Daca OJ ::: 0, atunei fie vfirful i este ultirnul varf selectat in lantu]elementar ales panl! . la acel moment ~j urmeaza 5 1 1 se determinesuccesorul sau , f ie i nu a fast selectat in lantul elementar ales plinl l laacel moment. A

    a.

    c. Dacll 01 = j, atunei in lantul elementar a les pAnli la acel momentvfu'ful i este urrnat de virful ~(j). Adica, exist! un k

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    30/100

    k:~llfor i,:1 to n dobegina1fa[i]:~k;for j:=1 to nif a[i,j]='1' dothen begin beta(k] ,=j;k:=k+1;end]alta [n+1] :=k;nr_ham:=O;End;

    end;

    Procedure Initializare;.Beginx(1]:=1;vx,"1;caut:=alfa(1);t:=l;for i:=1 to n dobeginoIa l:=0;x[i+1) :=0;end;End;Function Nu_Este_Gata : Boolean;BeginNu_Este_Gata,=x[n+1] 11End;Function Nu_Mai_Poate : BooleanrBegin Nu_Mai_Poate:.=t=O;End;Function Se_Poate : Boolean;var vb, capat '''''ord;locala:ooolean;Begin locala:=falae;ib:=x[vx)+l;capat:=alfa[ibJ;ib:=caut;If vx < n thenbegin

    While (ib 1 then begint:EX[VX]I

    o Itil :=01xlvx] :=0;vx:=vx-l;t:=xlvx) ;caut:=o[t);endelse t:"'O;End;Procedure Afiseaza;Beginnr_ham:=nr_ham+l;

    Write('Ciclul hamiltonian al ',nr_ham,'-lea ~ste:');wri te(,(,);for i:~l to n do write(xri],' 'j; writelx[!!,' ')1writeln (chr (B), ')'j;x(n+1],aO;

    End 1Begin Citeste;lnitializare;RepeatWhile Nu_Este_Gata and (not ~ai_poate) DoIf se_poate then Avanseazaelse Revenire;If not Nu_Este_Gaca then Afiseazajuntil ~i_poate; readlnlEnd.Programul dat rezolva problema pentru graful din figura 1.3.1.3.

    59

    ,,

  • 5/13/2018 Grafe Teorie, Algoritmi Si Aplicatii

    31/100

    Fig.l.3.I.3.

    . O:afului dat fi l ipsesc 3 rnuchil pentru a fi K6 care are 51/2 = 60 ciclurihamiltoniene. Graful din figura 1.3.1.3. are 14 cicluri hamiltoniene distincte darcum fiecarui ciclu ise pot citi vlirfurile pe cele doua sensuri (trigonometric sau insensul acelor de ceasornic) programul va afi~ cele 28 de succesiuni de vlirful'i Incare se pot Ci .t ic~le ]4 ~iclu~i harniltonlene, DaeA