P. 1
Grafe Teorie, Algoritmi Si Aplicatii

Grafe Teorie, Algoritmi Si Aplicatii

|Views: 862|Likes:
Published by Natalia Laslo

More info:

Published by: Natalia Laslo on Feb 02, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/28/2013

pdf

text

original

.'

t:

..

r.

'

CLUJ-NAPOCA

2009·

"

,

..-

..
Reeditare

,I

i

J
.1
1
t

CUPRINS·
INT~ODI:.I~ERE
*•• ~.,._ .

I
1.1.. 1.2. 1.2.1. 1.2.2. ).2.3. 1.3. 1.3.2.

5 11
11

1.

". Op~~~~E .~~ N . Notiunl prelimfuaru

_•• _••••••~ 111"' ,
II' ,~~

"'.~

.

.
.

.1.3.1.
1.3.4.

'~rezentlrl ale"gra£elor Re~zeIltarea geo~ct:ricl ''' Rep~ matriceall Reprezcntarea cu tablouri unidimensional~ Numcre fundamentale.fn teoria grafclor Nurnlr. de stabilitatc internl ; Numlr cromati~ ~

~
t-

"
,

.
.

32 32 39

34 50 60 67

; :

. .. ,.

SO

N~1r de st:aJ;iUta.tc-~"'_'.' ' t.3.3. . Nu~c11l unui .Pat

••"'~'''.''''''.''.'':.'''''''.:.: •.•'''.''''''''!.''.''.''

_

.
.

~ •••.•.••
tI

iii •••••

't'"

Editura Albastri Director edituri .

Smaranila DcrvCfteanu

•!

CODcxJta.te ••••••~ "' : , '1.4." 104.1. Componeqte concxc 1.4.2• NumAr ciclomatic ,inUIQlr .cociclomatic· . 1.4.3~ Arbo:~ ,i Pldllri. ••••.... , lA;~ •. 'ArbOr-c de .pondere min.iml; Grafe .p~cu1al'e , ~~ •••• ;.f 1.5. :1.5.1 • Grafe pJanare ..~.,..•~.'..• ; i.s.2~ O1'afe perfecte.,
I1

,

:

": •..•.•.•, .. : ..

.

'75 '75

69 84.
89','

;•...
.

:. •••••••

,

; •••••

,
,

..

105

100 lOS

I

tI.~

••••

" ••••••••••

'.I

.. ; . ..

109 112 112
114 117

Coperta SD Special Design Tiparit

2.1.

~.

EOlTURA

ALBASTRA.

2.2. 2.3~

·Subspapul cjcluri.lo.f" ~ ·.SubspatiuJ.~ic;lur:'ilor.'I
DRUMURI1N

SPATI. LlNIARE ASOelATE GRAFELOR Spapulliniar at pllrfilor unci mulfimi

~

~

"
"'

~
_

.. ;

Editura este acrcditatli de CNCSIS . (ConsiIiul NaJional a1 Cercetirii $rinpficc din InvitAmintul Superior) ~i este recomandati Consiliului .National de Atestare a Titlurilor ,i DipJomel~r Uruversitare. Copyright C 2009 Toate dreptarile asupra acestei lucriri apartin s.e, Casa de Editurl Albastri a.rJ. Reproducerea integrall sau partia1i a textului sau 8 ilustrafiilor din actastl carte este posibili numai cu acordul prealabil in scris aJ Caseide Ecliturl Albastri .:

3.
3.1. 3.1.1. 3.1.2.

GRAFE ••••••••••••• "'_

"............... .121

Optitriiz.!ride drumuri in ipoteza 1{Ji) = Ll(u)

3.1.3.

Valori minime de drumuii de la un virf dat..... Algoritmi matriccali pentru valori min.i.me ..:............................... Detenninareavalorilor maxime ale drumurilor .......... _....... ~.......

.....

;................123 124
13$ 138

3

i.

"

3.2.

OptimizAri de drurnuri in ipoteza /(J.t) = Problema ordonantarii. Drum critic Graful potenJiale-activitilti GrafuJ poreatiale-etape (PERT) Problema comis-volajorului

II leu)
U~jA

.

142 144

INTR9DUCERE I
~

3.3.
3.4.

3.3.1.

3.3.2.

:

. . . .

]44
147 148

4.
4.1.

FlUXURI $1 RJ:TELE DE TRANSPORT
Definitii ~j proprietati de hazl Lema arcelor colorate (Lema lui Minty) Problema fluxului maxim tntr-o retea de transport Tlietur! fntr-o retea de transport Algoritmullui Ford-Fulkerson Modelarea probJemei orarului ca flux in grafe Bxtensir ale algoritmului lui Ford-Fulkerson F1uxuri de cost minim

.
. .. . . .. .. . .

4.2. 4.3. 4.4.
4.5.

4.6. 4.7. 4.8.

151 151 153 156 157 160 168
173 175

f
f

tn foarte multe sltuatii oblsnuirn sll descriem unele obiecte (sisteme), entrn a Ie studia sau prezenta, cu ajutorul unor reprezentari sub forma unor ~cheme. Asemenea situ alii se IntAlnesc in: cartografie; ., . . studiuJ unor retele (cai ferate, rutiere, cenallzari, telefonie) econorrue (diagrame); fizic~; chimie $i biochimie (reprezent!ri de molecule §i ceIule); geometrie §i topologie; proiectarea pe scarli Jargli a circuitelor integrate (VLSI); informatic! etc. Aceste modele ale sistemelor (problemelor), de reguHI., sunt reprezentarl multigrafuri sau multigrafe, SchemeIe din figura 1 sunt citeva exemple. de

1

! i

J
oJ

t

t

5.

CUPLAJE

TN GRAFE
"" ,., _ ,

,.,

"

.
"'II.

184 195

f 1 1
!

BIBLIOGRAFIE

!

1

OH

eH

H.T. Pentru rezolvarea problemei el si-a construit multigrafuJ din figura 2. Pentru realizarea unui obiectiv in timp scurt. editatli de D. de~i articole din acest domeniu au mai fast publicate anterior-de Q serie de maternaticieni. Fig. V. B. Astfel exist! patru zone de pamftnt A. devenind un domeniu al matematicii. . Dintre cercetatorii care s-au ocupat de teoria grafelor in ultimele decenii citam pe: C. tice menite sli testeze mai mult ingeniozitatea rezolvitoriIor. fizica. Ford. intr-un sistem de co~idoare. V. armata. Astfel. chimie. Cu exceptia capitolului dol. ' economie. Aplicarea sa depinde ~i de capacitatea rezolvitorului de a asocia problemei sale un graf~i de a-~j formula problema in termenii teoriei grafelor. De asernenea. D.-J. fiecare capitol prezinta: notiuni (obiecte ale teoriei grafelor). a matematicii. Tomeseu. Astfel prima preblernA. Materialul prezentat este structurat 'in cinci capitole. n alt u PUDct dat (iesirea din labirint). E.l. Al ROfu. 6 J I Probleme iDrudite cu problema celor ~pte poduri sunt problemele de 'labirint. dar ale carui elemente sunt asignate unor reaJitlip concrete. muJtigrafe!e sunt obiecte abstracte studiate (investigate) eu un aparat matematic propriu. Cataranciuc. M. sunt prezentate ~i aplicatii practice a carer rezolvare se poate face prin modelarea lor cu ajutorul unor elemente din teoria ~j problematica specifica grafeJor. p-grafe ~igrafe orientate sau neorientate. care porneste de la un punct dat (intrarea in Jabirint) §i ajunge III. care sunt udate de apa riului. printre altele. Interesul pentru teoria grafelor a crescut foarte mult in ultimele decenii. C. E. 2.R. S.P. oferind un numar mare de modele ~i metode general aplicabile. Fiind un Ioc de promenad! locuitorii §i-au pus problema urmitoare: Este posibil ca plecand dintr-o zona oarecare stl se pCU'~urgtlun traseu astfel CD acesta sa treaca peste loafe cele jopte podur~ trecdnd 0 singura data peste flecare pod Ii sa se ajunga in zona de pomire? Data nasteril teoriei grafelor se consider! a fi anul 1736 chId matematicianul Leonhard Euler a scris un articol in care a clarificat aceastl problemA ~i a dar 0 metod! pentru rezolvarea altar probleme de acelasi tip [Eul36]. ' Capitolull Prezinta principalele definitii referitoare la: multigrafe. Problemele care au condus la apatifia §i dezvoltarea teoriel grafelor all fost probleme de jocuri §i amuzamenie materna. rezultate teoretice (leme. In acest spirit 0 vom prezenta ~inoi in cele ceurmeaza. este un domeniu al matcmaticii teoria grafelor arc acum un grad inalt de abstractizare ~i fonnalizare. Rccurgerea la aceste modele fiind utila datorita algoritmHor cu care se pot rezolva diferitele probleme concrete. Ea i§i are originile in rezolvarea unor probleme aparent neinsemnate pentru dezvoltarea matematicii. sa. sunt utilizate in modelare pentru studiul unor sisteme sau pentru rezolvarea unor prohleme din diferite domenll.l aplicatiilor maternaticii din diferite domenii cum ar fi. este problema celor §apte poduri san problema podurilor din Konigsberg." J Fig. 0 istorie complete a lucrarilor de teoria grafelor din perioada 1736-1936 este preeentata in [BLW76J. in limba romAna pentru substanti vul gra! exist! in circulatie atiit pluralul grqJe'cat ~i eel de grafuri. Prima carte de teoria grafelor a aparut abia in anul 1936. Prin orasul KOnigsberg trece raul Pregel care dupli ce inconjoara insula Kneiphof se desparte in doua brate. Gondl"llllt F. L. etc. Voss. Acestea comunici cu ajutorul a sapte poduri numerotate de la 1 la 7 ca in desenul allturat. din teoria grafelor. problems ~i algoritmi de rezolvare a acestora. T. Pentru stabilirea unor programe ~ de transport optime teoria grafelor ne fumizeazli algoritmi performanti. In teoria astfel dezvoJtatI graful este un obiect abstract. C. Cepoi. teoreme ~j corolarii). Lovasz. ne ajuta. . care are un caracter pur teoretic. Aceasta se datoreaz.Ciurea. Teoria grafelor.Ore. L. in secolul treeut multe rezultate in teoria grafelor au fost date de Cayley. O. teoria grafelor ne ajutl sl determinam momentele de abordare a activitiplor de realizat (ordonantare). Teoria grafelor se poate utiliza in rezolvarea a foarte rnulte probleme concrete.zamfirescu. fiind multigrafe particulars. Croitoru. Berge. W. Pentru a putea fi aplicatll in domenii variate ~i datorita faptului ca. Pe de alta parte. I. Turte. 7 . rezolvati.Soltan. realitlp concrete din domenii diferite pot sa se reduca 1a (sli fie modelate cu) 0 aceeasi problema de grafe. Konig. 0 problema de labirint cere sA se determine un traseu.Olariu. Grafele. Teoria grafelor este a ramura relativ tanlirli. iar Kirchhoff a studiat circuitele electricc cu ajutorul grafe1or.Harary. Precizam ci. alegem uri traseu optim dintr-o mulfime de variante posibile.

sunt date unele aplicatf ale acestei probleme (problemele de afectare ~icea a orarului). se ptezintli problema ~j algorimii pentru determlnarea fluxului maxim tntr-o retea de transport. numere fundamentaJe in teoria grafelor. arbori. Algoritmii din acest capitol se refem la: pareurgerea grafelor.~ C8pitoln12 Acest capitol are un caracter doar teoretic ~j prezint! un mod do a defmi spatii llnlare sau slibspapi liniare pornind de la un graf dat peste corpul B2 • Este yorba despre spatiul llniar al submultirnilor unei multimi.' .' drum ~i lant ell cazurile particulare de circuit respectiv ciclu. Ca aplicatii prezentam problema ordonanli1rii (drum cffie) ~i problema comis voiajorului. Este prezentat un tip (0 clasa) de algoritmi backtracking ~i branch-and-hound ell exemplificare pentru deterrninarea de multiml ~inumere de stabllitate intern! san externa. pentru un graf dat. lui Edmonds de . detenninarea de multimi interior sau exterior stabile ~i a numerelor de stabllitate.cinli r) ~irezultate teoretlce se dli. conversia reprezentArii unui graf dintr-o forml tn alta forma. determinarea componentelor conexe ale unul grat. retea. in partea a doua se prezint! problema ~i algorimii pentru determlnarea unui program de transport de cost minim tntr-o retea care are dear v!tfuri sursli sau varfur! destinatie. piduri ~i arborescente..arbore de pondere minima. multim! interior ~j exterior stabile. Capitolul 4 ! I 8 j ":! 1 9 . . un spatiu liniar al ciclurilor unui graf. subspatiul ciclurilot unui graf subspatiul cociclurilor unui graf dat. Dupa prezentarea ~l studiul notlunilor: flux tntr-un graf. flux Intr-o retea de transport ~i tAietum.problema determindrii unui cuplaj maxim ~i algoritmul rezolvare a acesteia . grafe planare ~i perfe~e. retea de transport. grafe euleriene ~i hamiltoniene. determinarea de cicluri euleriene sau hamilloniene. Ian! alternant. Capitolu15 Dupa prezentarea principalelor notiuni (cuplaj. Capitolul3 tn acest capitol prezentsm cAteNaproblerne ~i algoritmi de rezolyare a acestora pe multimlle de drumuri ale unui graf dat. Apoi. conexe ~i tare conexe. determinarea unei paduri maximale sau a unui . moduri de reprezentare a grafelor. ar- bore altemant de rlldli.

NOTIUNI DE • BAZA 1. Pentru arcul u = (i.3. U). unde X este multimea oamenilor dintr-o anumitli zonA geograficl (deci virf este once om din X). (2. 3. 3. Daca extremitatile unui arc coincid atune! arcul se numeste bucld. Un alt exemplu cste G = (x. E) de In cuvintele englezesti vertex (viirj) $i edge (arc). j E X ~ij este nepot al lui i}.S}. (7. este ilu:ident spre interior virfului l. fntr-un rnultigraf cea de-a treia component! a unui arc are rol doar de numerotatre a arcelor care nu pot fi diferentiate altfel.2. se numeste ordillul mutigrafului. 1). ca multirne de arce pe: U= 7.are sensul de la vllrfu) i la vanul j. Astfel multigraful reprezentat in figura 1 are: 1 I ca multime de varfuri pe: X= (1. iar elementele multimii U Ie numim arcele multigrafului. (2. iar varful j este extremitatea finaili. Se numeste mUlJigruforientat orice sistem de forma (X.6. (8.1. in unele lucrAri G este notat cu (V.4. sA 0 facem de la I pentru fiecare pereche ordonatli de varfuri. n}. Deci In precizarea unui arc conteazli ordinea vfufurilor.. 1). In cele ce urmeaza vom considera doar multigrafe finite. Cardinalul multimii Use noteazl eu m ~ise numeste dimensiunea multigrafului G. Nurnerotarea. in care X este a multime de elemente carecare. (4. Daca multimile X . ceea ce inseamnl ell varfurile au' fost numerotate. U).1. (3.7. k) v1irfuJ i este extremitatea initial!. 1). = {(~ 11 . Notiuni preliminarii Delinilia 1.(7. W.(6. k) E U. iar U cXxXxN. j. 8.1.4. atunci multigraful G se ziee cli este/Ulit ~i in acest caz cardinalul muttimii X. .. 2).1». Daca (it j. ElementeJe multimii X Ie numim vllrJuriU rnultigrafului.eidelll "pre exterior varfului i.5.1).1). 1). eonvenim.5. 2 •.i U sunt finite.6. iar U J) I i.2).1.1. Deoarece nu ne intereseazA natura varfurilor mnltigrafelor dacli JXI = II convenim ca X sA fie {I. notat cu n = lXI. 2.6. notat cu G.(5. 1). atunci spunem eAarcul respectiv este iI.

(4.3. in aceasta reprezentare varfuriJor Je corespund puncte sau cercuri etichetate sau nu din plan.mx:empluI1. spunem elj este succesor al lui i ~ieli i estepredecesor aI luij. 2. F) unde X este multimea de activit!? ee trebuiesc realizate pentru a realiza un obiectiv (a atinge un scop).4. Prin multigroj orienta: fntelegem un sistem G X. De asemenl. .5). 0 SAobservam eli muljimea U poate fi privitlt ca v§rfurilor grafului. rs = CfJ.1. Definitia 1.j)EU }. Deoarece multigrafuJ il considerarn un obiect abstract. I)}. G = (X. Deflnltla 1. a carui elemente se numesc vdrfuri ale grafului. 3). 1). (4. E. 12 • 13 .2. unde X este multirnea celor 64 p!!tr!j:eJe de pe 0 tabla de {(i. U) in care U= {(i.4. ~i (2. Pentru 0 percepere vizuala a grafelor se utillzeaza reprezentarea Jor intr-o formA geometrica. G = Vom da alte deflnltll echivalente pentru notlunile de multigraf orientat ~i de graf oriental. X in acest caz. un 2-graf. (5.~ful d. SAremarcam aeest graf este neorientat.3}. influenteaza eficlenta algoritmilor in rezolvarea problemeJor. Definitia 1. Exemplull. iar r este 0 aplicarie multivocli r :X ---7 X (adica 0 functle de laX Ia multimea 9D{X)a partilor lui X). doua arce distlnctesunt adiaeente daell au 0 extrernitate comuna. G=(X. (X.4). I I I i Pentru i E X ~i relatia j E n interpretam eli de la varful i la vart'ul) exista un arc In grafu! G. deci 0 abstractizare. 'Vi EX.={l. b. ~i n={2.se consldera U c X x. 0 inchipuire a omului relativa Ja acel sistem.1. iar pentru fiecare i definim n'"U I activitateaj poate sit ineeapli eel mai devreme imediat dupa teal izarea aetivitatii i). Adlca.1. (X.5). Prin graf arientat infelegem un sistem G (X. Obsenoatli: a. = (X. Analog cazului a daca G == (X. 1) eu r: X---7X ~i n =' U E XI (i. In care X este 0 multime de' elemente numite vlirJurile multigrafului.4. =( Folosind observatllle de mai sus indiferent de forma tn care se da un graf vom putea face referire ~i Ia cealalta forma.5. multi mea E se poate co~sjdera eli este format~ din aeele numere naturale eu care s-au numerotat arcele ~ultigrafului. (2. T).2. U). J11 i ~ij sunt acest graf este un graf neorientat ea ~i . sah. b..)) se interpreteaza astfel: arcul k E E iese din i ~j intr!!in). U) cu X multimea elevilor unei scoli ~i U = {(i.2. 3. 11 atunei graful respectiv se poate preciza si prin (X.5} 1'3"'<1>. Acest graf este un graf orientat. G colegi de clisi'l}.3. atunci el este definit ~i de (X. Daca lntre doua varfuri existli un arc atunci spunem e! viirfurile sunt adlacenre.1.2). Un J-grafsenume~tegroforienlat. {5.3). )11 piesa de ~ah cal de pe i se poate deplasa printr-o mu~e pe j}.f).1.)) liE X ~i jE n} . r4".l. Faptul elif(k) :::(i.rtie sau cu creta pe tabla.Si precedent .: G= (X.1. Daca G". Un multigraf G senumesie p-graJ daca Tntre oricare doua vfufuri ale sale exista eel mult p arce care s!! alba acelasi sens ~i G are dou!-v!rfuri intre care exist! exact p arce care au acelasi sens. U) cu X= {l . deci se utllizeaza mai mult pe M. 5} U relatie binara pe rnultimea = ( (1. IL. Aceasta deflnitie a pennis introducerea notiunii de hipergraf In care eJementele lui V sunt multimi de varfuri nu neaparat de cardinal 2. E este 0 rnultime de elemente numite areele multigrafului cu E tl X = CfJ. (3. 2}. unde X este 0 multime oarecare. iar arcele se reprezinta prin segmente orientate (vezi figura J). Deflnltia ].n cu X={1. iar multimea U = c. U). 3). (3.Multigraful este un model abstract pentru un sistem oarecare. Exista ~i alte mod uri de a reprezenta multigrafele fiecare mod avand avantaje ~i dezavantaje.: a. = 1 Multigraful reprezentat in figura 1 este. iarj': E ---7X X X este 0 functie. Reprezentarea geornetrlca este utilll mai mult cand dorim sli darn a perceptie vizuall! a multlgrafufui.

Definim ~i = Urlli:::r+iu{i} 11:<:0 S. ' se numeste varfiwlat. rA I f l pareurgerca in adincime idepth first).. ne putem .. §i-I nwnim subgradul interior aI lui i../u/de pomire nu mai are 8uCQ!sorl nevizikl#. .=fil: repetli viziteaU fiecarc j e S.H n=O n 2: 1 I J r+ se numeste fnchUkrea MulJimea I o descriere este: R:=$.chUlerea reflail' tranzitivil a aplicatiei Fiind dat un geaf oarecare G ::: (X. Dintre aceste moduri de parcurgere a varfurilor mai cunoscute sunt doul: reventr« la predec. aweli pe t r.1/ l'izitat.rcrll-1i). r+i=Ur"i. . ~iaplicatia 0 numim iJ.q. PARCURGEREA GRAFELOR Fiind dat un graf G. ape. apoi se revine Ia predecesorul uuimulu: vdrf vizitat (~e cimsidera ca ullimul wiry vizlta: co flind predecesorul care a condus la vizitarea ultimulul vlir! vizitat). s . ieA Folosind operatia de compunere referi la multirnea T'i definita astfel: rlli _ .. este fonnata din top descendentii lui i E X. pentru un nE N. se vultema tOli succesorii (vecinii) acestuia. Un virf i eu g(z) =0 o descriere a aIgoritmuIui de parcurgere in adlincime a unui graf este: vizilea:Ui vdrfol tk pDl'nire.l.. pornind de la varful i.. Parcurgerea elementelor unei matrice se poate face "pe Iinii" sau "pe coloane" rlimlinind de precizat ordinea de selectare a HnHlorrespectiv a coloanelor. notlim eu g(i) pe g +(1) + g-(O ~i-l numim gnutul vlirJului i. Aeeastl vizitare se poate face in diferite mod uri. pin! !:And S.Multimea Ti se numeste mu1limea succesorilor lui i. Parcurgerea in adfincime intuitiv consta in: "Se viziteaziJ vdrfu/ de pornire. RvS. {(i).. Procesul de _schimbare a ultimului var[ visitat continua paM cdnd se ajunge la viir/tiI de pornire st aces/a nu are succesori nevizita/l~'.rorul vdrjiJluJ ce "" mal are 8uccuorlneviz!la/i. Dam incontinuare 0 rafmare a descrierii algorirmilor de pareurgere in Illtime §i in adaneime a grafelor care construieste ordinea respectiva de vizitare a varfurilor grafului in fiI'!J1 vizit fi foloseste ca variabiUi deIucru lista liniarAx. rA=Un. j Existli· 0 re~ativli asemanare intre aceste pareurgeri ale virfurilor unui graf cu parcurgerea elementelor unci matrice. Pentru A este: ci X. a aplicatiilor.. rS·R: R. parcurgerea in lafime (bradthfirst). ./Vizikll viziteazii. . IrtJ. si-l numim notam cu g-(I) numarul predecesorilor lui i. se pune problema de a vizita (parcurge) toate varfurile grafuJui. apoi vecinii nevizita/i at acestora # asa mai departe pana cdnd se viziteazii toate v6rfutile grofolul'.. se repetii vizitarea unui succesor nevizitat a ultimului varf vizua: pdnii cand nu exislt'i succesori nevisitati penJru ultimul v8. siii. adic! pe jI"'1 il. Ideea parcurgerii in l!itiroe este: 'se v~iteaza vdrful de pornire. mai algoritmizata a parcurgerii in llitime. npet6 c:4itimp exisla ifc. U) ~i un vBrf l E X: notam cu g+(i) numarul succesorllor subgradul exterior al lui i. mcctl80r fIIIV/Zilot 01 ullimulul wir.. orientat sau nu. n. 14 15 . iar aplicatia tratlzitivii a apllcatiei r. p4nd c:dJui Wir.

6.J) E U anmei (j. k) E VJ ~ (j{z). vitil{vtlifdl! pomire}:=!' £'=1. G3 izornorfe. j.p. sa rem~ i cu Un graf orientat G (X. x/p}:=j. Vizil4aziJ wlfjitlj. p . simetrica ~i tranzitiva. l1izltO]:-I: SfcdJ/im.l./{]). relatia de izomorfism a grafelor este reflexiva.2.. pfJntl elJnd p=n.u:u.1. Deoarecs funcpa identitate Ix este bijectiv! inseamnl ca orice graf G este lzomorf cu el ins~i. Pentra i =1. putem considera cli toate grafele considerate SlIDt simple..) ~i (Ie. Ie. vizit{vdif de pomire/. Fie perechile de grafe G" Gz ~j G2. T) atunci G este simetric daca ~i numai daca Vi.j ti.rucceSor allul x{p] ell. deci este relatie de echivalenta. V'lZileaziJ wujWj. ~tim cA orice fimctie bijectivli admite 0 functie lnversa care este tot bijectivli. este 0 relatie de . f: XI -:-+ Xl cu proprietatea Pentru ca doul grafe sI fie izomorfe este suficienui doar eXlstenta a functiel (i.Repsll ' Pmlnl j J'ucreJ'orlll lui x{pj execut4 DIlCiI l'iziJUj = Olllllnci i:=i+}. p:=l. l1izil{jj:=l. vizUO] .. SJPentru.p.x{ij:=j. p:=p-J.=}' Repsil ' CIJt limp existll] .n ex. SfdaclJ. 3.iI vit. Multigrafe1e GJ :: (X .. Cum compusa a doua bijectii este tot 0 bijectie §i functia t. g(k» E U2. deci ~igrafele G2 ~i GJ sunt izomorfe. i) si Inlocuind bucla cu arcele tt. grafe/O. I) Ii!< U. Grafe particulare: L Un graf este simplu dac! nu are bucle. I) E U. plnil cAnd p=O.IV) E U2• . prin urmare exist! funepilefj : XI ~ Xl ~ih: 2 -4 X3 bijective eu proprietatile precizate pentru grafe X izomorfe. Funcpa inversa conservl de asemeni relatia de adiacenta...0 executtf p . Observatie: Altfel spus Vi.. Demonstra(ie: . prin ad!ugarea de elite un vlirf Ie.lltimile de vfirfini ale celor doul grafe cu proprietatea de conservare a relatiei de adiacent! 16 X (i. EX: Observatle: . Un graf orientat este antisimetric dacl pentru orlce varfuri i ~ijcu (i. vlJrffil de pt~mire.l. 0 Definitiile 1. Definjfia 1. 17 . Relapa de izomofjism tnmulJimea echivalenrli.J) E U ~ (j. Teorema 1.. Observatie: Orice graf care are bucle poate fi transformat mrr-un graf simpJu Algoritmull.1.. De remarcat elli intr-un graf simetric nu in mod necesar orice pereche de v§rfuri este arc.ir{ij:=O s/p: . p.PenJru i "'J. a varfurilor.11~CIltli vivt{i):=O {/p.7.. D~c! grafeJe GI ~j G2 sunt izomorfe atunci exist! 0 bijecpe rntre mi.=p+1 .Algoritmull.J) E U. 1). 4. Deci relapa de izomorfism este reflexiv!. pentru fiecare bucla (i.1. Un graf orientat este tum. Observatte: SA observllrn eli un graf care nu este simetric nu lnseamna c! este antisimetric. = Daca G t e rj~jE = (X. x/pj:=. Prin unnare. 2.1... . 0h :X I ~ X3 are proprietatea cerutl pentru izomorfismul de grafe Tnseamnliell grafele GI ~i G3 sunt izomorfe... x(p/:= W1/fo1 de pornire.j E . Deci relatia de izomorflsm a grafeloi este ~i tranzitivl. U) este simetric daca pentru orice vlirfuri i si (i.=J.. i) Ii!< U. ci rn cei d~i algoritm] lista x este 0 coada (list! FIFO) pentru parc~erea in IAlime respecnv 0 stivA (list! LIFO) pentru parcurgerea in adincllne a grafelor.J) E U atunci $i (j. UJ) ~i G2:: (X2: Vi) sunt izomor/e clac! exist! bijecpile f: XI ~ X2 ~ig : N -4 N astfel ca 0. Prin unnare relatia de izomorflsm a grafelor este simetric!l.1. <=> (j(i). +/. Prin urmare.' daca este antisimetric ~i are numar maxim dearce.

8. numarul tumirurilor ce au pe X ea multime de varfurl.{(P. a. dedueem = IXlluate cate 2 = C~. care au ca multime = b. A e X. Graful (A. Cum numarul grafelor neorientate este egaJ cu numlirul submuljimilor ca acest numar este 2b.1. V) este subgraf al grafului (X. Un asemenea graf se mai numeste ~i grafut general de multlmea A notat G(A). Prin urmare mulpmea tuturor arcelor peste X. cardinalul ega! cu numarul combinarilor de n lui M. tara buele. Un element din U se numeste muehie. Doua muchii care au 0 extremitate cornuna se numesc adiaeente.. c. II}' ~j transforrnarea muchlei in arc este echivalenta cu scrierea vadiJrilor t ~i s fie in ordine crescatoare fie in ordine descrescatoare. Un subgraf'partial complet al unui graf se numeste clied. Definitia 1. nurnarul grafeJor neorientate. Graful complementar al unui graf dat G = (X. Problema 1. 2. 11 clemente. de la vWful 19 18 .] §i poate fi privita ca fiind 0 submultime de vart'uri eu doua elemente. V) este subgraf partial dacaAeX ~iVe Un (A xA). Prin unnare multimea tuturor muchiilor peste X. Graful (X. 7. 9. care au ca multime de vfirfuri pe X. V) eu V=XxX . simple §i antisimetrice. U) dae! A e X ~i V Un (A x A). Fie X 0 multime cu de varturi pe X. in aceasta multime de varfuri. U) daca ~i-numai multimilor U care fac ca G sa aiba proprietatea ceruta. Descriem un algoritm care si faca aceast! transfonnare ¥i care ne permite si determinam numiiruJ grafelor orientate ~i simetrice bazandu-ne pe numerele precizate la punctul Q. Un graf neorientat se numeste complet daca are numar maxim de muchii.. Din fiecare grafneorientat en k muchii se aleg p muchii pe care le orientam. . deci ega! cu numarul aranjamentelor de n 1X!1uatecate 2 A~ • Cum. U) daca Ve U. Graful (A.5. U) cu U = A x (X . numarul grafelor simple care au gradele vlhfurilor distincte. este X x X . pe care a notam cu M. in timp ce un graf partial are aceeasi multirne de varfuri ca graful dat ~i doar 0 parte dintre areeJe grafului dat. 6. ~I= p ~i JX .u. V) este graf 'partial al grafului (X. b. cu b = c~ . numarul grafelor orientate. Graful bipartit complet (X. U) este ega! cu numarul 8. Varfurile intre care exist! 0 muchie se numesc adillcente. = c.. lf) este bipaniJ daca 3A c al grafului (X. a. s] (muehie) prin scrierea ei fie (t. p) I p EX} numirui arcelor fiind.AI q se noteazJi cu Kp .. numarul grafelor orientate este ega! en numarul submultimilor lui A. CU = = ca a = A~ . Cum natura viirfurilor nu conteaza vom considera X = {I. Un graf complet de ordin rI se noteaza eu Kn. Un exemplu este eel din figura 2. Analog cazului grafelor orientate. U este multime de muchii adicA de perechi neordonate de varfurl sau de submultiml eu 2 eJemente ale lui X. Pentru grafele neorientate. depinzand de valoarea acestora. Graful (X. in cazul grafelor neorientate despre a muchie spunem este incident! v§rfuriJor care sunt extremitAp ale sale. Reprezentarea geometric! a muehiilor se deosebeste de eea a arcelor prin faptul eli lipseste orientarea de la aree. i) I iE X}. numarul grafelor orientate. ce au pe X ca multime de varfuri. t).. dedueem eli acest num1ir este egal cu 7!. simple. Pentru grafele orientate. Sa se determine: .1.1. Cum grafele orientate ~i aatisimetrice se pot obtine din cele neorientate prin orientarea muchiilor (tansformarea muchiilor in arce). e. Observatlei De remarcat e! un subgraf este format dintr-o parte de vlirfuri ale grafului dat ~i toate arcele grafului dat ce au ambele extremit!p.A). Prin graf MOrUmtat se intelege un sistem G = (X. U este mulpme de arce adica de perechi ordonate de vlirfuri.. pe care 0 notam cu A. d.A). U) este graful (X. Gradul unui van i at unui graf neorientat este numarul de muchii incidente lui ~ise noteaza tot cu g(r). Deoarece orice pereche ordonata (arc) se poate obtine dint-o multime de doua elemente {t. U) eu X 0 multime de elemente numite vlirfuri1e grofului §i U 0 rnultime de perechi neordonate de varturi. in unele lucrari muchia dintre varfurile i ~j j se noteazA prin [i. are x astfel inc!t U e A x (X .{(i. $) fie (s. . Rezolvare: Cum X este datli (fin) numarul grafelor G = (X.

. :iind dat un graf orientat G =: (X. 21 20 . compus dacl nu este simplu. Spunem .1... . u. lan1 este 0 succesiune de muehii eu proprietatea cli oricare muehie are 0 extremitate eomun! cu muchia precedents ~i cealalta extremitate este comuna cu muchla urmatoare.+ Ct2 1 b =(2+I)b=3b• .L are ca extremitate initial! pe io §i ell extremitate finala pe iq sau drumu!'jJ. Un graf neorientat este conex dacll mtre oricare dou!! varfuri ale grafului exist! un lant.ctremitllti ale arcelor ce eompun dnnnul...12. elementar dacli nu cQntine (trece) de doll! virf.: pentru eli vaJoarea lui p poate fi D.1... Daca extremitatile lantului coincid.u . = AIte rezoJY!rj ale probleme] de mai sus se gasesc in [rCI94].1:. varfuri trece eel putin un circuit.~ cu p). ~l din faptul c:l fntre multimea tumirurilor ~i mulpmea =~~or oTientate se pot defini bijecpi. . Intre douli drumuri (lanturi) jJ. o Prin drum convenim sA mte1egem ~i succesiunea de v!rfuri care sunt e. ~ceast! afumape contradictorie ne conduce la c071~a eli nu e~stl grafe cu gradele v4rfuriJor distinct'e sau in orice gra .1: ••• J. Un graf orientat este tare conex daca intre oricare doll! varfuri ale grafului exist! un drum.. Lungimea unui drum este numarul de arce care compun drumuI respectiv. Corespunzator notiunilor de drum ~i circuit in grafele neorientate sunt nofiunile de Ian. Pentru cl numereJe ge.12 eu proprietatea cli extremitatea terminala a lui I!I coincide cu extremitatea initialli a lui J. Aceastli egalitate se e uee.. Deci. Cum orice graf a SImetric. e. . intr-un graf tare conex prin oricare doUli. ts: jiec_are tumir lransj'ormd in muchii: se elimind arcele orientate de un vdif de aloare mlcd spre un vibf de valoare mare. Un drum intr-un graf este: mnplu dacll nu foloseste de doua ori un acelasi arc. h 0"-"-'1 graf e1or antislmetrice este '.2d ICl e~te ~ga] eu numaru] grafelor neorientate. iq} cu proprietatea cll Uj = (ij-h ~) E U pentruj I.LJ 0 Jl. 1. " Definifia 1.1.10 . 0 asemenea bijectie se defineste tumirurile sunt grafe antisimetrice cu numar maxim . este de la io]a iq• = . Deci.. ...1.2 format prin concatenarea celor doua succesiuni de arce (muchii).. . . q.• n-l.p muchll Ie orientam :~~e~s ~ la v~rfid mai mare spre vftrful mai mic). uq} fie rio. respectiv ciclu. dedueem 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) ~ipentru eli valoarea lui k poate fi 0 • I .de arce din rezolvarea de la punetul h deducem ca numaru! tumiruriJ' • _ b • ore ste Cb 2b b 6um on un acelasi a: circuit daca ext:remitatea initial! a drumuJui coincide eu cea final!. Pentru ell X este eu n elemente ?e?ueem 0 S g(l) !S: n _ I pentru 'Vi e X..11. Definifia 1." ~ai mi~dspre viirful mal mare.10.13. Definifia 1. prin drum in graful G mteJ~gem 0 suce~iune de arce eu proprietatea cli extrem. . q E X astfel lncAt g(p) = 0 §i g(q) n _ 1. iar celelalte arce se hamiltonian dad! este elementar ~itrece prin toate vArfurile grafului.l ~i J.12 se defineste operatia de eompunere a lor prin care se obtine drurnul j. atunci lantul se numeste ddu. Deflnltia 1. Dacli notam cu b = C2 numaml maxim de muehii.1. + C12 + .9..) sunt distinete ~isunt n valori din domeniul 0 . lJ).existA eel putin doua vftrfuti care au aceIB§i grad sau fimcpa ce asociaza fiecarui vart'gradul s!u tmr-un grafnu este injectiva.. iar pe celelalte k ..1: .(anentat) cu k arce se poate obtlne cu acest procedeu din gr ful neonentat cu cele k arce considerate ea muchii deducem eli num~rul de grafe orientate antisimetrice ce se pot ohPn~ dintr-nn graf neonentat cu k mUchii este CO + Cl + + Ck _ 2. 2. reruM ell 3p. Prin urmare ~irfulp nu este adiacent cu nicl un van al grafului (inclusiv nici ~ q) ~I virful q este adiaeent eu toate celelalte varfuii ale grafului (tnclus. Deci.. Definifia 1. u Cg2 d. un drum J.c! drumul j.t este fie {u" U2 •.• k. .itatea ~e~maIA a unui arc al drumului coincide cu extremitatea lDlfjalli a arcului urmMor din drum.. eulerian dac! este simplu ~itrece prin toate arcele grafului.

"

Conventier Daca relativ Ia un graf orientat ne referim la 0 notiune defmitil pentni. grafele neorientate atunci se considenl ca pentru precizarea ei se neglijeazli orientarea arcelor. Daca relativ la un graf neorientat ne referim Ia 0 notiune definita pentru W1 graf orientat atunci Fig.l.l.l. se considers ci1 fiecare mucbie este· inlocuitl cu cele doua arce, de sensuri opuse ~i care au aceleasi extremitilp ca $i muchia inlocuita. Astfel, graful din fig.1.1.l. nu este tare conex, dar este conex, Acesta pentru eli de la varful3 la v3rfu1 1 nu exista drum (deci nici circuit care sa tread! prin ele), dar succesiunea de vfufuri 4,3,2,1,4 este un cic1u hamiltonian ~ideci fntre oricare doul virfuri exista lant, Graful din figura 1.1.1. are, de altfel, 0 infinitate de cicluri (de exemplu 343 sau 1234321) toate de lungime Para. chiar dac! numai unul dintre acestea este ciclu simplu (~ihamiltonian). De aceea programele care rezolva probleme ce se pun pentru un anumit tip de graf (orientat sau neorientar) dupa procedure de eitire a datelor este bine sa contina 0 procedura de transformare a grafului cltit in graful corespunzator pe (in) care se va rezolva problema pusa, Daca G (X, lf) este un graf neorientat, atunci in forma G (X, f) el este dat de aplicapa multlvoca r :X -+ X cu n'" ((i.I) I(i,I) E UJ. Vi E X. Deci, pentru grafele neorientate g+(i) = g'(i) = ge,) ~ig(l) + g(2) + ... + g(n) 2m.

Demonstrape:
Demonstratia Corolar 1.1.1. acestei eehivalente
0

facem in paragraful de conexitate 1.4.'
flU

Un graf conex admire un Ian; eulerian (care

este ciclu) daca

~i numai daca toate vtJrfurile. cu exceptio a douii varfuri au
gradeJe pare. Vclrfurile cu gradele impare sunt e:xtremitaJile
lanfului.

CoroW 1.1.2.

Un gra! orientat admite un.' drum eulerian (care nu este circuit) dacli ~i numai dacli existii varfurile iolijo astfel fncdt
g+(iJ

= g'(i},

ViE X -

rio. jol,·

.

g"·(io)= g"(ia)

+1

,;

g+Uo} = g'Uo) - 1.

Vllrfo.l io fiind niremitatea fina/a a drumului eulerian.

inilia/Ii, far)o este earemitaiea

Detenninarea unui drum. circuit, Jan] sau ciclu eulerian se poate face prin a parcurge vfirfurile grafului; pomind de 1a extremitatea initiaJil respectiv de la un vSrf oarecare, folosind din fiecare vArf un arc respectiv 0 muchie care nu a mai fast utilizana), Problema 1.1.2. Se dA un sistem de strazi care trebuiesc asfaltate, Din motiv de protectie a asfaltului, utilajele cu care se asfalteazli. nu trebuie sa tread! pe 0 sosea asfaltata. Se 'cere sa se determine ordinea de asfaltare a strazilor,

=

n:;=

=

=

Dettnltia

1.1.14.

Graful linie asociat grafului G (X.lf) este graful4.G) (U, V) eu V= {(u, v) I U$i v sunt adiacente],

=

=

Rewlvare: A rezolva· aceasti problema inseamnA sa determinAm un Ian! eulerian in grafuI ce reprezintli sistemul de strazi ee trebuiesc asfaltate. Daca un asemenea Ian] nu existA atunci se determina un drum eulerian in graful orientat construit conform. conventiei de mai sus. Asfaitarea uaei strizi se va face la ultima trecere a utilajelor pe acea stradA. Defihifja 1.1.15. Graful orientat (neorientat) care are eel puJin un ciclu eulerian sau hamiltonian se numeste gra! eulerian respectiv grqf hamiltonl4n. Aceste nopuni sunt duale in sensul urrnator: grafol G este eulerian daci1 Ii numai daca graful linie L(G) corespunziUor este hamiltonian.

Deci, in graful Iinie L( G) vart'uri sunt muchiile lui G ~i intre doult asemenea varfuri se defineste muchie in L(G) daci ~i numai dac11n G ele sunt muchii adiaeente. SA observam ell L(L(G) este izomorf cu G, dar ca $i grafe neetichetate 4.L(G» =G. Problema podurilor din Konigsberg cere in tennenii teoriei grafelor sA se determine, daca exista, un lant eulerian in graful ~ ei (figura 2). Un rezultat important pentru probleme1e de acest tip este: Teorema 1.1.2. Un graf conex (tare conex} admite un ciclu (respectiv un circuit) eulerian daca Ii· numaJ dadJ g(i) este par (respectiv g+(i)=g"O)). ViEX

22

23

In ceea ce privesc grafele hamiltoniene (probleme), care sunt rezolvate ~iin [TCI94]. Teorema 1.1.3.

dam urmatoarele

teoreme

lcluri hamiltoniene (conform cazului a). deducem eli In KII tree prin cele h muchii date 2h(n ~ h - 1)!l2:: 2lr-l(n -" - I)! cicluri hamiltoniene. 0 Teorema 1.1.4. Daell G = IX U) este un graf de ordin n ;? 3 $i pentru orice pereche de vdrjuri p fi q neadlacente are loc g(p) + g(q) ~ n, atullci G este hamiltonian. [Ore60]

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 h

muchii neadiacente fixate (date).

Demonstrtlfle:
.. Graful fiind .cornplet intre orieare doua vArfuri existli muchie $i deci orice succesiune de vfirfuri este un lant, Prin urmare ciclu hamiltonian este orice su~esiune in ~are apar toate vArfuriJe grafului 0 singur! data la care se adauga primul van dID acea succesiune, Adica, orice permutare eircularli (~i numai acestea? este _un clclu hamiltonian. Prin urmare, vom rezolva problema prin a detennma (a. numara) c§te permutari cireulare se pot forma dintr-o multime eu n eJem~te. !>tim. e! numarul permutArilor (Iiniare) a unei multimi cu n elememte este n ". Cum dmtr-un permutare circularli (cere pe care sunt plasate n puncte) se pot obtine 2n pennutliri liniare (prin "ruperea" cercului pearcul de dup!: punctul 1 sau punctul 2 san ... sau punetuJ n $i apoi "intinderea" sa astfel ca un caplit s! fie ~ stanga san ace! cap!t s! fie In dreapta) deducem c! num!rul pennutarilor circulare este de 2n ori mai mic decAt al celor liniare. Prin urmare numllrul ciclurilor hamilteniene distincte din K" (pennutArilor eirculare ale unei multimi cu n elemente) este nll(2n) "" (n - 1)112. b. . S~ notam cele h muchii date prin (i1,l-h i'1J) cuj:= 1, h. Deoarece, in ciclurile hamlltoniene (permutarile circuJare) care au proprietatea dati v!rfurilor i1,l-1 sunt fie precedate fie urmate de v!rfurile i1J, vom considera graful KII_ hale cmui vArfuri sunt 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 sunt virfurile din KII neadiacente nici uneia dintre cele h muchii date. pe care le putem ~umi v6r.furi veritabile, Fiecare ciclu bamiltonian ID al grafului K" _h genereaza prin spargerea" celor h pseudovirfuri, 'i' cicluri bamiltoniene din K,. care tree prin cele h muchii date ~i invers, adicll din i' cicIuri hamiltoniene din K" care tree prin cele h muchii date se obpne un acelasi ciclu hamiltonian din KII _ I.. prin 1n1ocuirea celor h much~ cu C§te un pseudovArf. Aceasta rezulta din faptul cA 0 ".spargere" de pseudovfirfun l:nseamnl: se aleg cele " muchii ale lui Kn ca fiind un element dintre cele 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

DenJ°nstra!ie: Fir! a restrange generalitatea putem considera eli G este un graf saturat cu pToprietatea din enuntul teoremei, adica orice muehie s-ar adauga la U tn G s-ar fonna un ciclu hamiltonian. Altfel spus daca demonstrll.m c! graful saturat (c~ num!r maxim de muchii) ce nu contine ciclu hamiltonian are 0 pereche de varfuri neadiacente i,j eu g(l} + g(j) < n atunci orlce alt graf 3dl ciclu hamiltonian are 0 asemenea pereche de varfuri. Fie (i.11 0 pereche de varfuri intre care nu exist! rnuchie in C. Atunei prin . adliugarea muchiei dintre aceste varfuri se va obtine eel putin un cicIu hamiltonian. 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 v§rfuri au In Iantul ill indicil 2 = il < i2. < .., < ik ~ 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. Daclij ar fi adiacent cu vfuful eu indieele i. - I atunci oraful G contine ciclul hamiltonian urmator (i == Xl •.•••• x.,·.loj "" Xno X ... b ••• , Xu' ~=~ este
0

..

.

Prin urmare, gradul vfufului j verifica g(j) ~ n - 1 - k "" n - 1 - g(i) ceca ce

.

contradictie cu ipoteza din care se deduce eli gel)

+ g(Jl ~ n. 0

Urm!rind ideea demonstratiei teoremei de mai sus sli se rezolve problema unn!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 demonstrez:e c! G' == U'). cu U' == U v {(p. q)] este hamiltonian daca ~i numai dac! G este hamiltonian. [BLW76J

eX.

Observafie: Operatia de obtinere a grafulul G' se mai noteaza cu G' = G + pq. unde pq este notatie pentru muchia (p, q),

.

25

24

Rezolvare:
. D.ac!! G este hamiftonian prin adaugarea de mucbii ~i noul graf este harniltonlao, pemru ca ciclul hamiltonian din G este ciclu hamiltonian ~i in noul

1. 2.

dj?:'/I-)i djO!:II-i-l;

graf

. F~e p ~i doua vdrfuri pentru care g(p) + g(q) O!: n ~i G + pq este haln~JtonJan. Deci, exist! un ciclu hamiltonian In G + pq. Daca acest ciclu nu con11~e muchia.pq atunci el este cicJu hamiltonian ~i in G. daca el confine muchia pq pfl~tT-un rallOnament ca Ja teorerna 1.1.4 sa ajunge la contradictiag(p) + g(q) < fl. D~CI. aces~.caz nu este posibiJ ~i prin urmare ciclul hamiltonian din G + pq nu contme muchJ~pq, adica este ciclu hamiltonian ~iin G.

?

G fiind graf saturat rezulta cil G + ij contine unnArind demonstratia teoremei 1.104. se deduce:

un ciclu hamiltonian

~i

3.

dJS,n -1 - di• adica dJ+ djS.,1 - 1.

. Precizarn cli dac! in teorema 1.1.4. inegalitatea CLI suma gradelor trebuie ~Jbli I~c pentru toate perechile de viirfuri neadiacente, in problema 1.1.2. aceasta inegalitate es~e ceruta pentru 0 singura asemenea pereche de vfufuri. Dar, se cere 0 con~JrJe suplunentar~ G.+ pq sa fie hamiltonian. Alte conditii de sUficientA pentru ca un graf sa fie ham rtornan le-arn grupat in teorerna urmaroare, Teorema 1~1.5. Fie G (X, U) un grat de ordin II 2 3 pentru care gradele vdrfurilor verifh:a inegalitdfile d, 5 d2 ::;... ::; d,.. Graful G coniine un ciclu hamiltonian dacd este veri/icatii eel ptqin una dintre condqiile:
a. d, ~1I12 (Dirac)[Dir52]; h.

sa

Din(2)~i(3)obtinemdiSfl-l-djS.n-l-(II-i-l);:i. Notaro cu k = d, S, i ~iconfonn ipotezei dk :S d, k. Pe de alta parte i <i irnplica d, S dj care impreunli cu (3) conduce 2d,Sn -1 « n. Deci dk S; k -c nI2 ~i conform ipotezei

=

la 2k =

4.

d...tr?:. II - k

=

fl -

d; ?:. dj

+

1

=

D~ n - k > j, pentru eli altfel din n - k S j obtinem dn•k S dJ• ceea ce e incontradictie cu (4). Deci n - d, = II - k > j sau d; < 11 - j, eeea ce este In contradictie cu (1) ~i demonstreazli cit presupunerea ftlcuti1 este falsa, Dernonstram c! in acest caz este verificata conditia b. Fie k un varf cu dt::;; < k Notam 1= n - k. Presupunem ca dl < l, Din ipoteza dk+ dl ~ n ~ideci dJ ~ n - dk ~ II· k = I, ceea ce irnplicll dl ~ I. Prin urmare este verificata conditia b, din care deducern cli graful G in care are loe conditia c contine un cidu hamiltonian. 0 .
Co

lin.

3k

E

X: dl;S k S 1112 => d".k·O!: ~ k (ChvataI)i n

c. 'tip, q: dp Sp ~i d'l S q => dp+ d'lO!:II (Bondy). Demonstrcllie:
a. . Din d, ~ 1112 ~i faptuJ c! sirul d este ordonat cresca tor, deducern eli pentru on~e pereche de varfuri p ~i q (nu numai pentru cele neadiacente) are Joe d + d O!: p It ~J conform teoremei 1.1.4 graful G este hamiltonian. II ",:om dem~nstra a:umatia prin metoda reducerii la absurd. Fie G un graf cu s~turat .m multimea grafelor care nu contin eicJu hamiltonian. AJegem varfurile l,j neadiacenrs eu proprietatea ; <I ~i i + j este maxim. Din rnaximalitatea lui i + } deducem cit b.

Pentru deterrninarea
se poate paragraful utiliza metoda

n

A

V~Url,.

. . graf G (X, U), de exemplu eel dln figura 1.1.2., nu este hamiltonian se poate folosi urmlitoarea metoda. Mai intai sil constatam ca oriee ciclu hamiltonian este cicIu elementar §i are un nurnar de muchii egal en numarul de vamri ale grafului, 1n cazul nostru 16. Pe de altll parte, dintre rnuchiile oricarui ciclu elementar (deci ~i ale ciclurilor insl

descrisa in paragraful 1.2.3.). Pentru a demonstra

de drumuri.danturi, circuite sau cicluri hamiltoniene backtraking (pentru cicluri hamiItoniene metoda este 1.3.1) ~i reprezentarea grafului eu Iista succesorilor (vezi

ca un

=

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

hamiltoniene) exact cate doua sunt Incidente fiecarui virf. Prin unnare dintre muchiile incidente oricarui van un ciclu elernentar utilizeazA doua, celelalte nu sunt folosite. Vom detennina cite muehii ale grafului nu pot fi utilizate de orice

cic1u elernentar ~iprin diferenta calculam numarul maxim de muchii dintr-un ciclu
elementar al lui G. Daca acest numiir este mal mic decst numarul de viirfuri atunci

grafuJ nu contine nici un eiclu hamiltonian.

26

27

numlirul muchiilor oricarui ciclu elementar este eel mult 27 . Cum G este graf bipartit.AI se deduce ={ X2.4. iar orice ciclu are exact doua muchll incidente fieearui vart: deducem ell. 0 Rezultate co privlre la circuite ~i cicluri euleriene precum caracterizarea grafelor euleriene se gasesc rn paragrafuJ 1.1.este grafbipartit cu multimile de varfuriAI §i A2 ell: Al = (.1.AJ de cardinole p respectiv q.3.J. Asadar. .. Definifia 1. {2. xn}.6. se deduce ell: AI P:ntru a apllca metoda descrisa mai sus conslderam pe rand submulpmile de varfuri S.1.1. .1. 6}.. X4. De aiel deducem eli p = q.1. $i S20 dar pentru 0 rntelegere mai clara. Tj cu proprietatea 3r E X astfel iocAl rlr = «J) $i 'tj E X . S2 "" {7. Teorema 1. poole coniine un ciclu hamiltonian numa! docli p = q. 0 abordare a acestora 0 facem in paragraful 1. dintre aceste muchii orice ciclu nu va folosl 3 9 re~t~v una.= nI2.2. .17. cu multimile de varfori AJ # A2 = X . Alte Pentru grafele bipartite se poate utiliza . u S]) = 12' ~i rS3 n (SlV S2) = o . Deci dintre cele 27 de muchii ale grafului once ciclu nu va utiliza ]3 muchii. n (S2US]) = 0.§:i urmatoarea teorema. x~•. 9. } §i A2 = { X2.1. }. a demonstratiei am utilizat ~i multimea S3. ~a cum se deduce U§Ot.observltm cli oricare dona vfirfuri ale oricareia dintre aceste multimi nu sunt adiacente $i clI rs. 4. Un graf se numeste acidic daclt nu contine cicluri. II} ~i S3 = l16} ale grafului G..AI. sa observltm ell. rntr-o arborescent! fiecare varf cu exceptia rlidAcinii are un singur vlirfuri speciale ale unei arborescente sunt vftrfuri1e care nu au succesori sau 28 29 .18. Pentru eli numarul muchiilor grafului incidente vArfurllor din aceste trei mu]tjmi este 9. Dermjfia 1.q I ::. Arborescen(li este orice graf G = (X. 0 padure este un graf care este format din eel putin un arbore ~i numarul arborilor dintr-o padure este ega] cu numarul componentelor conexe ale acelui graf Aici am prezentat doar notiunile de arb ore ~i de padure.16. A = = l XI> X3 •••. Un graf btparttt G = (X. X. 15 respectiv 3. Defioitia 1.) ~i eli cele trei multlml de muehii incidente acestora sunt disjuncte douA cate doua. pentru e!!.q I~ 1. II poate fi par sau impar.x}o X3 •. Mai intAi sa ...1. eu rnultimile 'de vftrfuri Al ~i A2 = X .. pe care le numim vlirfuri [runZil sau l'ftrjuri terminale.3. De aid. U). n = <D cu i E X.{r} existll un singur drum de la r Ia i.. Arbore este un grafconex ~i flIrn cieluri.. Pentru demonstratie era suficienta considerarea doar a mulpmilor S. li poate coruine un lant hamiltonian numai dacll Ip . un total de 13 muchii.]3 = 14 ~i un asemenea ciclu elementar neavand 16 muchii nu este ciclu hamiltonian. 0 Daca G contine lantul hamiltonian: F1g. Precizam ell cele trei submultirni de varfuri considerate sunt multimi mterior stabile (vezi definipa 1.4./Jemonstratie: Sll presupunem en G contine ciclul hamiltonian: Cum G. deducem eli J P . Graful aciclic se mai nurnesc ~iplidllre... rS2 n (S. VJirful r este un varf special ~ se numeste riidlicina Qrborescentei.I} §i A2 = X .

((i(A) multimea areelor incidente spre interior rnultimii A.predecesor nurnit ~ivfufpiiTinte al respectivulul varf Adica. ~i 0 sunt submultirni neomogene. chiar ~j reprezentarea geomerrlca a arborescentelor se face in forma grafului neorientat prin plasarea viirfurilor pe nivele. flt(z} multimea tuturor arcelor ineidente multimea areelor ce "ies" din i sau ut(i) i. 1.A ~i E A } (rnultimea arcelor ce "intra" 1n j A ~i"ies" din X . o. i) E 0 se poate interpreta arcul u are ea extremitate terminala pe i. (A X A) r'l Mu1timile OXA).)) E U liE X . U U V). Cafe nu are elemente din X. se folosesc doar notatiile ro(l) respectiv = ro(A).18.A pentru sugrafuJ G(X .19.)) areelor ineidente EX- spre exterior multimii A. Relatia 0 se nurneste re/atia de orientare ~i(u. X(G) pentru multimea varfurilor grafului G. spre exterior = {(i. Definitia 1.A)~ k. i) EU I jE X} = {(j. La nivelul 0 se afla radacina $i muchiile au orientarea de la nivelul superior catre niveluJ inferior (de la rlI. U) eu II varfuri se pot obtlne n arborescente conform eu alegerea nldllcinii r din X ~i orientand rnuchiile astfel indit toate lanturile dintre r $i orice alt varf i sli devina drurnuri de la r la i.A). Gratin sens larg sau simplugrqfeste orice sistem G = (X. adica [I]: multimea O. adica (A. dintr-un arbore (X. I Ie Pentru un graf G din X notam eu: = (X. daca V c X X X prin G + V inte1egem graful (X. i) Ue n )= {i} xrt.t) Ue IIi 1 = rlix Relatia J se numeste reiatia de inciden(4 ~j (u.: U ~i 0 c I~ ale lui U X X. l) Else poate interpreta: arcul u este incident vfufului i sau vfuful i este extremitate a arcului u. De asemenea. I. iar ca rnultime de arce (muchii) pe V. = w+(A) multirnea {(i. deci sunt relatii binare !1(u) E {It 2} . adidi perechile de vfufuri din V se transfonna in muchii sau impreeis spus rnuchlile din V se adauga grafului G. 30 31 . Precizam de asemenea ca. f. < Numim cocircuil orice multime V de arce eu proprietatea exlsta 0 multime de varfuri A astfel incit V == 00+(A). ro(z) == ol(l) ~i CO(A) = w+(A) U w-(A). se numeste cociclu. adica w+(A) arcelor ee "ies" din A ~i E U liE A ~ij A } (multimea "intrli"ln X . d. lan] (succesiuni de muchii) ~i introduce notiunea de sublan] (generalizand notiunile de lant ~i de drum. Vi EX .1.1.A).$i ! O(u) {O. U(G) pentru multimea areelor (muehiiIor) grafuJui G.J.A). un arc poate fi incident Ia unul sau la doua varfuri. uncle X este 0 multime de elemente oarecare numite varfuri ale grafului. b. Deci. adicll. CJ g. c.i) E UIJE X} == f (i. U . Pentru asemenea grafe se pot redefini notiunile de drum (succesiuni de arce de acelasi scm). noi am preferat tennenul de arborescenta pentru a accentua faptul eli este un graf orientat spre deosebire de arbore care este un graf j. facute au loe 00+(0 = sa observant cA w+(A) = w-ex . U (ti(l) in neorientat. o notiune de graf generals care sa euprind'!!' ca ~i clase particulate atat mutigrafele orientate cit ~i cele neorientate ~i in plus alte cornbinatii 0 prezentam in cele ce urmeaza. ameli h. eli Notatll: Fiind dat un graf G (X. ea :fiind 0 suecesiune de vfufuri adiacente). deoarece conform conventiei oo'(i) ~i w+(A) w·CA). elernentele lui U Ie numim aree (muchii sau /egliluri). lntr-un asernenea graf se pot fntalni muchii ~i aree simple sau replicate (cu aceleasi extremitati ~ieventual aceeasi orientare) ~i eventual bucle. U) orient at ~iun van i sau 0 multime de varfuri A varfului i. unele lucrarl in Icc de arborescent! se utilizeaza termenul de arbore de rlldaeina r. = c X ~i 0 multime de Definitia 1. pentru A eX. G .fr} 111i! = 1 ~jj E iii este pariutele lui i E X. 0 rnultime de vdrfuri A arce (muchii) V c U convenim urmatoarele notatii: a. 0). I e. cu proprietatile pentru V U 4. V pentru subgraful partial G( U .V). Pentru grafele neorientate. U). rnultimii A. v. w-(A)=={ (i. 1. Deci. G(A) pentru subgraful corespunzator U) nurnlt subgrqful genera! de A. GO') pentru subgraful partial corespunzator multimii de arce (muchii) Deci G(11) are ea multime de van-uri multimea varfurilor adiacente arcelor (muehiilor) din V.daeinli spre frunze).f(i) multimea arcelor ineidente arcelor ce "intrll" in i sau w-(i}:::{ spre interior varfului t. U este 0 aM multime oarecare.

deoarece exlsta 0 bijectie Intre multirnile de 2 fi gur a ..l. in timp ce grafele corespunzlitoare neetich~.I.3.3· Definitia 1. sa remarcam ea doni! grafe etichetate pot fj diferite dar Izomorfe. Bineinteles ell alegerea t!cutli inftuenteaza timpul de raspuns al algoritrnilor sau exprimat mai general influenlew complexitatea acestora. Uneori arcele (muchiile) sunt marcate fie cu numarul arcului respectiv fie eu alte va· loti care pot avea semnificatil conforme pro· blemei.f f (6) = 6. Daca reprezentlirile vdrfurilor nu sunt etichetate graful se numeste gra! neetic/letaJ.1.1. obtinut pnn neglijarea etichetelor virfurilor. tate sunt egale. Se cunosc mai multe moduri de reprezentare ale grafelor.2.2. fisrn de grafe Grafele reprezentate in.1. Tn continuare vom lucra cu notiunile de graf. A$a cum se fntfunpl4 in genera] la reprezentarea datelor ~I aici se poate vorbi despre modelul logic $i eel fizic al reprezentarii grafelor. este graful bipartit complet K3. fat! a unui graf planar este 0 33 32 20&22£1. di d ti ·t· arafelor varfuri ale celor doul!. b4 . orientata de la reprezentarea extremitlitii initiale catre reprezentarea extremitatii terminale a areului.I. 1. L Daca reprezentarile vfufurilor sunt marcate (etichetate) graful se numeste graf etlchetat.2.Reprezentarl ale grafelor Pentru a se putea lucra mai usor cu grafe se reeurge la 0 reprezentare a acestora. Nol vom prezenta doar modelele logice. grafe care sa verifice propnetatea In e imna b _ izomorfe.1. I .f (3}.2.1. Prin urmare un graf neenchetat este 0 clas! de echivalentl1 din multimea dU a multimii grafelor in raport cu relatia de echivalent! nurnita izornorFig.2.1. Graful dat la exemplul 1.1. Corespondenta este: vfuiilriJe grafuJui se reprezinta prin puncte sau cerculete sau pi!trlitele. Graful neetichetat din figura 1.riie arcelor (muchiilor) nu se mtersecteazA.2.2. Reprezentarea geometric a Fig.3.1 se poate reprezenta geometric ca in figura 1. In functie de problema care dorim sli 0 rezolvam ~i de modul de rezolvare aJ acesteia se va utilize una sau alta dintre reprezentarile grafelor. Aid trtbuie sa remercam cli un acelasi graf etichetat poate ayea reprezentari diferfte ca in figura 1. I .1.f (2) = ~. daca este nevoie marcate (etlchetate).f ~~):::: (5) . in sens topologic. Orice components coned. rnuchiile se reprezinta ca ~i arcele numai ~ Ilpseste orientarea. 1~2. fiecare arc se reprezintll printr-o Iinie dreapt! sau curbli (curbli Jordan) ce uneste reprezentlirile extremitatilor arculul respectiv..unui graf planar se numeste ford a grafului planar respectiv.2.:::: .2. . .. Fig.2. GroJplanar este un graf care admit~ 0 reprez~ntare geometrici! in care reprezentl!.I. Aceste reprezentari sunt necesare in cazul in care vrem s4 precizam (dam) graful pe hlirtie (tabla) sau pentru un calculator.1. a planului din care s-au eliminat reprezentru-ile varfurilor ~i ale arcelor (muchiilor) . I 3 sunt grafe izomorfe . :::> *3-<::: 14 5 B r 14 6 7 1. 0 astfel de bijectie este f (1) ::::1. Aceasta reprezentare se face prin a pune to corespondents elernentelor grafului elemente geometrice din plan. mutigraf orientate sau neorientate date de definitiiJe c1asice. Adica. 5 4.

Dintre lucrarile ce se ocupa de aceasta problema amintim aici [Kur30]. In spatiu orice graf se poate reprezenta astfel indit oricare doua muchii (arc e) sa nu se Intersecteze.. Deci LIDIa t corespun e VilllW. 1.. Reprezentarii geornetrice in calculator ii corespunde reprezentarea inla. U "" {1. Observatia 1.2. Elementele matrieei de adiacenta lie definesc astfel: a ." se at""eazA grafelor simple (flra bucle) ~i a caror MQiricea ae meiaeruo -v ) muJtime de arce s·a ordonat. atunci acel graf este neonentat. MATRICEA DE ADIACENTA. •• d fin . sau nu eel emen -u . apoi se reprezinta 1n acel plan muchia (arcul). . cu llste c. m : " . a. Valorile matricei de adiacent! se pot' considera ca v~l~ri booleene ~i a. . poate reprezenta prin matricea de mCldenlii unnlitoare. linia ~j coloana i corespunzand varfului i al grafului.1. ·-1n.2.nruite sau pointerl sau 0 alIAstructurli de date convenabila. 3j E X:u = a. MATRICEA DE INCIDENTA J .. d di faA arc (rouchie) in graful reprezentat prin matricea e a iacenta .2. c. d . el tul n. reprezentat geometric in figura 1. fiG Pentru multigrafe se poate convent asne ca v on e In gra U • •• tar" matricei A sa fie numere naturale conforme aeestei mterpre 11.. J EX . . astfel: 3j E x» =(ij) l. Dacli valorile matricei de adiacent! se inteIpret~ ca nur:ae~ I tun i numAniI a' este numarul arcelor (muchiilor) de la t la) natura. = { 0.i) . O... 1 -1 B= 0 1 0 -1 0 0 -1 1 0 0 0 0 1 -1 0 0 0 0 0 1 -1 0 -1 0 1 0 35 I. alt/el lui 1 12 reprezentBt geometric in figura 1.. Deoarece un acelasi graf admite mai multe 'reprezentari geometrice nu este usor de a stabili daca WI graf oarecare este sau nu planar. e.j)e U {0. .1. dacll m~cea de adlacentJI. U) se poate reprezenta cu ajutorul matricei de adiacent! (varfuri·varfuri) sau at matricei de lncldenta (varfuri·arce). b. Cum planele in care s-au reprezentat cate 0 rnuchie (un arc) sunt disjuncte ~i au in comun doar dreapta pe care s-au reprezentat vfufurile grafului inseamnl ca oricare doua muchii (arce) nu se inrersecteaza.2. ..2. limitatA de muchil ale grafului eu proprietatea ca oricare doua puncte ale sale se pot uni printr-o linie poligonala care nu Intersecteaza muchii ale grafuJui Un rezultat important este acela prin care se arata eelnumarul fetelor unul graf planar este constant indiferent de reprezentarea planara a grafului. ' 1000 10 100 A= 0 0 0 1 1 00101 0 10000 Observapa 1.1. [ToS95] ~i [Vos91).. adiell s-au numerotat arcele.2.1. in care s-a reprezentat un graf planar. i E X. precizeazA daca perechea de vfu'furi (t. d ~""_"u1 i iar coloana u corespunde arcului u. . se poate preciza ~i prin matricea de adiacenta urmatoare: 34 o o . u E U. Matricea de adiacenla este 0 man-ice p:itraticA. d u' X m Blementele matncei de mCldentA se e esc matncea este e p n .enta sunt sj~etrice ~i putem interpreta $i invers. se Graful de la exemp . bt« = -1.1. . AstfeI graful dat la exemplul 1.1. I.)) este. Aceasta reprezentare se poate face astfel: • • Se reprezinta toate vArfurile pe 0 dreapta..2.neu' I . - regiune a planului.. Piecare lillie ~icoloana corespunzsnd unui van sau unui arc (muchie) al grafului. Pentrn grafele neorientate matricile de adiac. a urun graf este simetrica. Reprezentarea matrlceala Un graf G = (X.2. a cu.1. ~.1 . {'entru reprezentarea fiecarei muchii (arc) se alege cate un plan distinct ce confine dreapta pe care sunt reprezentate varfurile grafului.. 1 a1 'I .

J) + e(O == 2r{G).D. zero. Vi. . Adic!. i este max {dO.1. adic!! dO. i ~i j Notam distanta dintre i ~i j cu dU. atunci deoarece intre vfufurile i ~i} nu exista arc il_1s~nli ell. stim eli minimul dintre elernentele unei multimi este mal mic sau ega! decat orice element al multimii..1. cenlii a unui graf de ordin n atunci matricea AP indica prin elementul de pe linia i # cotoana j numiirul de drumuri de lungime p de la vaiful i la l'diful j.2. Matricea dlstantelor D 1ntr-un graf conex se poate calcula folosind P rezultatul din teorema 1. relatia are loc pentru ell. )) este egaI ell nurnarul drumurilor de Jungime p de Ja i la k adicll cu = Ii EX). deoarece dac! alj 1. adiclt dU.j .j) Ii EX} §i 0 notam eu Raza grafului Gnotatli prin r(G) este rnin{ e(i) liE X}. Pentru un p oarecare vom completa eu valoarea p in matricea D acele pozitu de elemente care nu au P fost completate plinl la momentul respectiv ~i pozitia corespunzatoare din A are valoare diferitll de a: al.2.• n sau panA cand se eompletem intreaga rnatri~e .2. O.j= 1. hmgime minim! de 1a k laj. .)=0.2.Teorema 1.2. lnegalitatea triunghiului. Astfel.2. Ori.2.2. Pentru p :: 1 pr~prjetatea este adevarata. dO.3.. Daca in matricea dlstantelor un element de pe diagonala principala are valoare finita (diferita de zero) atunci graful respectiv contine eel putin un ciclu. e(k) == d(k. ]. i) + dU. atunei de Ia vSrfuI i la vfuful J eXIst! arc. Daca a/. pentru p sA demonstr!m eli este adevllrat! ~ipentru p + 1. J1 ~ 0. Excentricitateavfirfului e(i). Central grafului G este multimea vfufuriIor i 'pentru care e(1) = r(G). atunci AP indica .J) reprezintA minlmul numarului de muchii ale lanturilor de la i laj.} E X. 36 37 .2. k E X. Pentru a demonstra a doua alegern un varf i din centrul grafului G.2.)). de lungime p + 1 de Ia i la} este Observatia 1. [ntr-un arbore G are loc: 2r(G)-1:5: d(C):5: 2r(G). tntr-un graf G conex numim dislM(ii dintre varfurile minimul lungirnllor lanturllor dintre i ~ij. adica dei.)):: d(j. Diametrul grafu1ui G notat cu d(G) este max{e(i) FoJosim metoda inductiei complete i'n raport cu p. k) + d(k.]) 5 e(i) Notarn eu k virful pentru care e(k) == ~(G). atuncl numarul drumurilor de lungime p + 1 de la i 1a} ce au ca uLtim arc pe (k. In acest caz. Deflnltla 1. Teorema 1.j. dU.. Cum un drum de Ia i la } poate avea ca penultim !nseamnll. 0 la} la i.2. k) + d(k.2. care are Joe din cauzA el!.2. prin elementul de pe linia i ~j coloana j numarul de lanturi de lungime p fntre vtrfurile i ~i . Nothmea mic sau egal decat inegalitate ~ Prima inegalitate este adevAratl deoarece minimul unei multimi estemai maximul aceleiasi multirni.1. eli numarul drumurilor varf pe orice vfuf k.2. Denronstratie: Daca A este matricea de adiacentll a unui grafneorientat. Daca au= 0.J) ~ dO. J)' Convenind introdusli verifie!!: axiomele distantei: pozitivitatea.2. 0 j . calculam succesiv matrlcele A pentru p = 1. DemonstTa(le: Fig. 2 •. 5 d(k. DaelJ A este matricea de adia- . Cum grafu Ieste un l-graf inseamnA cll de la varful i Ia varful J exista au drumuri de lungime 1. i. sirnetria. numarul de drumuri de lungime 1 este ali' Presupunand proprietatea adevlirata. egalitatea are IDe daca §i e(l):=: rCG) = min{e(]) I} EX}. numai daca i == j. j E X.)) reprezinta numarul de muebii ale unui lant de la i la mai precis ale Iantulul obtimrt prin eompunerea lantu1ui de lungime minima de Ia t la k cu lantul de Teorema 1. Vi.2. Defmitia 1.1ntr-un gra! conex Gore loc: r(G) S d(G) S2r(G).y E x. orice Ian] de la i Jaj induce un (ant (aceleasi muchii dar in ordine inversa) de :.2. Vi.2.2. jar d(i.

A.2. jar virfuI j este extrernitatea sa terminals. Daca G este oriental. ' numarul laturilor.' n(n cu n varjun are --.2. inseamna ell 38 39 .4. Deci suma gradelor virfurilorcare este 2m are valoarea lI(n . 1.ii aplicatie considerarn problema: ->: Sa se arate c. pentru care s-au dus toate diagonalele este graful complet Kn.1) .I).2..3. Deci: m-n= -n(n-lJ 2 -n= ---. Pentru un graf G de ordin n ii dimensiune m.Observatia a. Deci: g+(i)= inseamnaca " L i=! aij . Numarul dlagonalelor este egal cu numarul muchillor grafului minus 2 . i EX. Ca .2.. Daca G este neorientat..iE j=l " x.1. j~l Cum g(O = g+(l} =g-(!} b. Pe de aM parte fiecare arc din G induce in matrieea de adiacenfA 0 singud valoare egala eu 1 (nenula) dedueem: g+(i) Pentru grafele neorientate are loc = L ail J=J . Reprezentarea cu tablouri unidimensionale Daca un graf are numarul de varfuri mare ~i un numar relativ mic de muchii atunci matricele cu care se reprezinta graful au multe valori zero. suma gradelor vaifurilor este 2m.2.: g'(i)='Laji. are gradul n .r.) ~i deci ~i aji = I.2. Pentru grafele orientate are Joe: COnlleX . atunci din aij = 1 deducem eil in G exista arcuJ (i.un po litgon Din aceasta observajie deducern: Teorema 1... Demonstrape: in baza observatiei 1. 11 ~i g'(i)= " La). Pe de alta parte fiecare muchie din G induce in matricea de adiacenta doua valori egaIe eu I (nenule). 0 reprezentare mai eficienta in aeeste cazwi este cea care foloseste doll! tablowi (liste liniare). Prin wmare m = n( n .3: a. In continuare " prezentam doar trei astfel de moduri de reprezentare.. atunci din all . 2 Un poligon convex cu n vfufuri.2. n(n-3 J 2 Cum g(f) = g+(l) + gOO) 1.3) di tagona Ie.2. ee necesitli 0 cantitate de memorie de aproximativ n + m ceJuIe. In graful K" fiecare virf.1 dedueem ell ill G exist! muchia (i. dintre cele n. Complexitatea e!utiirii iotr-o as~enea rnatrice ~i cantitatea mare do suport (memorie) fae ca sli crease! complexitatea a1goritmilor. j) ~i virful i este extremitatea sa inipaUi.

(la grafele orientate) (la grafele neorientate) = af. b. LC+(j)+1 j=l (la grafele orientate) g(i) = a(i + 1) . 50 poate reprezenta un grafprin utllizarea functiei (valorUe lui 11) r-/· Lista predecesorilor Fig.I)}. Deci. daca a(i) :..2. Predecesorii vfufului i se aft!. Daca arcele (muchiile) grafului au anumite ponderi (valcri) acestea se pol pastra intr-un alt tab lou p(. Pentru i E X. 1.Ct(i) T" i ~i a. 41 (la grafele neorientate) n= {[3(a(i)).3.(1) + 1). iar f3 are dimensiunea m (pentru grafe orientate) sau 2m (pentru grafe neorientate). 13(a(i + 1) . au loc relatille: i-I 1-1 a(i)=L.) Fig.a(O Daca areele (muchiile) grafului au anumite ponderi (valori) acestea se pot pastra intr-un alt tabloup{.2. 40 .. .X.3.i +1) = W(a(l)). Pentru fiecare varf i E X.I3(a(I) + 1).(n+l)=m+l sau a.. programe (proceduri) eorespunziitoare pentru trecerea de la 0 reprezentare a unul graf la oricare alta.2m+l g'(i) ge.. (pentru grafe orientate) sau 2m (pentru grafe neorientate). .g-U)+1 j=1 ~i Ct(n+I)=m+l ..I)}. < a. a(i + 1). Llsta succesorUor (va)orue lui T) in acest caz tabloul a are dimensiunea n + 1.. atunci vfirful i nu are nici un succesor.) in mod analog c. Daca a(i) a(i + 1). deci. in ~b!oul ~ intre po~i~i1e cx(i) ~i a(i + 1) . Prezentam in continuare algoritmi de conversie ai reprezentarii unui graf dlnt-o forma in altA forma. 1. a(l) indica adresa (indicele) din tabloul 13 de unde sunt lnreglstrati succesorii slil.) = af.2.a(z) sau a(n+l):. pentru fiecare t E X.) de dimensiunea tabloului 13· o problema important! este: Sli se elaboreze algoritmi $. Mai jos dam 0 astfel de reprezentare pentru graful reprezentat geometric in figura 1. pentru fiecare i E. Lista areelor in aceasta reprezentare se utilizeaza tablourile a ~i 13 de dimensiune m.(n+l)=2m+l [3(0. s·) 2 u 2 3 2 4 3 4 5 I 1 6 5 4 7 5 8 7 9 10 614 3 I 4 I 4 I· 1 7 I t'i 4 I 7 [3(.. Succesorii vArfului i se atl!\..3. ~im = 6. in tabloul f3 lntre pozitiile a(i) ~i a{i + 1) . au loc relatiile: fi:c var: = ill acest caz tabloul a are dirnensiunea n + 1. Deci.. iar Il are dimensiunea m are. Pentru exemplificare consideram graful din figura 1.:U. deci.2.2. a(.1 inclusiv. Valorile a(u) ~i [3{u) fiind extremltatlle initial! respectiv finala ale arcului u E U. a(l) indicA adresa (indicele) din tabloul f3 de unde sunt mregistrap predecesorli sai.) de dimensiunea tabloului 13.i + 1) ..2 pentru care n = 4.1.I inclusiv. 13(a(i + 1). Tablourile a ~i b conpn urmatoarele valori: . arunci vfuful J nu are mCI un predecesor. a(i):. Deci. i= .

Sfplltltru. Acesti predecesori sunt vH.2. B defineste (refers) un arc ~i acestuia ii corespunde un e1~ent fiecare coloanll. citelts n Ii A.=i. ifd4t:4. in ordinea depistarii lor. peturu . numarul valorilor nenule din A este dimensiunea lui 13. tn elaborarea acestui algoritm folosim observatia cll. La schimbarea liniei se va retine in vectorul a pozitia ultimului .2. ~·~2.1.n eucutlJ daclJ alJ . ifdDC4."k+1. ctteste n 1i A: Ie:=]. La • schimbarea coloanei S6 va retine tn vectorul a pozrpa ultimului element memolat in 13 plus 1.=k. Dacll. Conversia reprezent!lrii unui graf din matricea de adiacenta A in lista predecesorilor definita de vectorii unidimensionali a ~i 13· In elaborarea aeestui algoritm folosim observajia ell. se parcurge matricea A pe Ilnii valorile nenule depistate intr-o linie. Indicii de linie ~i de coloana ai elementului nenul din A sunt indicii de linii in care noua coloana din B va avea elementele nenule I respectiv -1. Conversia reprezentari i unui graf din matricea de adiacenta A in matricea de incidenja B. b..rfurile ce cor~~p~~ indiceJui de linie in care se aHa. Daca se introduc. k:=J... Algoritrnul1. pentnt i:=I.n executiI a(i).·. a(n+l):=k. Acesti succesori sunt varfurile ce corespund indicelui de coloana in care se aft! valoarea nenula..oo! 0 Dtunci u:=u+1 peW" p:=l. se va genera 0 coloana in matricea B. sfpentnl.(de valoare 1) in A.. fiecare valoare nenula din A deflneste (referl) un arc ~i acesta defineste o.=l.AIgoritmuJ 1.• ..2. :.:=-J. sfpentru. definesc succesorii vanului atasat acelei linii.3. In elaborarea acestui algoritm folosim observatia ci fiecare valoare nenula din A deflneste (ref era) un arc ~i acestuia ii corespunde 0 coloana in B. . . ifdaCil. se poate parcurge matricea A fie pe linii fie pe coloane ~i pentru fiecare valoare nenula guita..fI executil b. pozitie in vectorul 13· Deci.. Ifpmtruj: Algoritmul 1. in. acesta va contine multimi~~ r-i. Daca se parcurg~ tncea A pe coloane valorile nenule depistate in ea. Conversia reprezentllrii unui graf din matricea de incidenf! B tn matricea de adiacenta A. vaJoarea nenula.. AJgoritmuJ 1. penlnJ j:=l .rfului atasat acelei coloane..n eucuJlJ 1 dac:4 au ~ 0 iJllUlci f3(k):=j: .:=1. Daca se introduc acesn indici de lime succesiv in vectorul 13. Pozitia acestui element in matrices A este deflnita de indicii de 43 In elaborarea acestui algoritm folosim observatia ca 42 . citeste n Ii A: u:=O. bj. k. definesc predecesorii ~.3.oo! 0 tJllUICi fJ(k).. ki=k+l .n exeCldil dm:4 all .. Conversia reprezentarii unui graf din matricea de adiacenta A in lista succesorilor definita de vectorii unidimensionali a §i (3. acesti lndici de coloana in vectorul f} acesta va confine multimile rIo n. . sjpenlru. Cum ordinea coloanelor in B nu are importanta.rn. penJru i. fiecare valoare nenula din A deflneste (refera) un arc ~i acesta defineste 0 pozitie in vectorul 13.2." exeCRtlJ pe1Unlj:=I.4. C1(n+l ): . sfpentru.rul valorilor nenule din A este dimensiunea lui 13.:"" 0. Deci.3. element rnemorat in 13 plus 1. sfpllnlru. din ~en~I . .'""1.3.n I!Ucuhl a(j):=Ic. numll.2.3. sfpenlru. .

rn se pareurge matricea B pe linii. a(i):=k: pentru u: .11t!)Ct!cutii pentru ):=l.ellt: valori egale ell 1 sunt pe acea linie in matrices B. k 45 . in matricea de adiacenta A. IIfpenlru.m) pe1llru./pentru.n)J=l.(f3(lJ.m ((bu.n ut!Culll aq:=O. Astfel daeit I.m): 1:=1: pentru {:=l. Algoritmull. 44 ".. QI"I. Sfpllntru: o(n+1):=m+1. i2 .) se va memora pe pozitia urmatoare (libera) in S. Y P arcurgerea matricc:i B 0 facem pe coloane.""l. i.i=l.m uecutll dacll bu. ~. .a reprez~ntllrii unui graf din matricea de incidenfl B in lista suceesonlor defmlt:li de veetorii unidimensionali a ~ 11 in elaborarea acestui algoritm folosim observapa eli fiecare coloanll.=-! D/unci q:==j. n. kt=l .n I!JUcutlJ.iaJ.=1. dupli ce initializam matricea ell 0. biN == clle/le n.. s. Vdacii. pentru 1:=1.11 e:uculit pMJruj:=l.n+l J: cite/Ie m.=1.re.cut4 a(i):=k.•t Iinie in care se atl! vaJorile 1 sl -J din coloana anallzatai:I a matricei B.memora in S in ordine. s/pentru." CJ(n+I)::m+l. shllntru: sj'pelllru.=l alrmci pentru j:=J. ((bu. Conversi.. AJgoritmul1. rn se pareu.i=l. {:J(k)::q: k:=1+1.(ali).m execulll dacll b". t/pentru. j)~ Prin unnare. Varful corespunzator unei linii are adtia predecesori elite valori egale eu -1 sunt pe acea Jinie in rnatricea B. dacl1 bi" == -I. k:=k+).m.. == -1 aItfeJ spus u == (i. .m. elementele multimilor T'I. afpentru. vom transforma in 1 valorile de pe pozitiile (i.6. c1lel1e n.=j sfdaclI. P. (1(k):=q.2. Astfel. Algoritmull.1I tJXI!!C1lf4 dacll bjN""-1 D/unci q..7.'=J. (a) cilel" n. atuncij este predecesor al lui i daca bju == 1.2. en ajntorul Pentru a eonstrui pc A.2.II)J=l... 1. Conversia reprezentarii unui graf din rnatricea de incidenta predeeesoriIor definita de vectorii unidimensional! a: ~j S.rge matrlce~ B pe linii.")J=J.n t!Xi!ClItlJ lIlF=O: &fpentru. .m): (b) penJru 1. din B deflneste ~refer~) un arc ~i acestuia fi corespunde un element in vectorul S.m Ui!ClIliI pe1llru 1..3. Pentru a deplsta ~l. vectorilor a ~j S.m). sj'pllntru.3.. f3U») pentru "a(i) ~ j < a:(i + 1) ~i fiecare i = 1.i=l.. Pentru a depista ~j memora in f3 corect succesiunea elementelor multimilor FT.tunel j este succesor allui i daoa bj. B in Iista ifpenlru: sjpelltru: pelllru u:=l. n..2.S.11e.=l atrmci p: =1: daelJ br. Conversia reprezentarii unui graf din lista succesorilor.tor unei linii are atapa succeson. Varful corespunzJl. "pentru u:=I. qdacll. Prin unnarej se va memora pe pozitia urmatoare (libera) in 13.n uecutll dacll bjo=J alunei q:=j sfdac4..3.i=l. In elaborarea aeestui algoritm folosim observatia eli fie care coloana din B defineste (refera) un arc ~i aeestuia ii corespunde un element in vectorul 13.=-!l1Iunci pentruj:=I.11executiI dacil b. citeste ((bI}.

Din valorile coloanei 1 vom calcula valorile vectorului a. b". adica nici unui van al grafului nu i s-a depistat vreun predecesor.3. (b)peruru i:=l.c(i. Fiecare element din ~ va genera 0 coloana In matrieea B.t+l):=i.:&-J sfperuru: petrl. 1"'2. clle/le m. . u:=O. Deci.1):=t: C{k. k.. (a(I).. atunci se deduce (interpreteaza) eli vlirful k este succesor al vArfului i ~i eli vfui'ul i este predecesor al v. (ati). peturu i:=I.(i + 1). p are Ioc J3(P) k ~j a. s!pentru.(fJ(i).fI execlltll pentruj. Ofi+l)-1 ex£cllti p:=1J(j). in matricea de incident! B.. nwn!rul de pozitii ocupate pe liniile matricei C difera.n+ 1). QJp:=I.rfului 101:. ptlntru i:=i.=a(i). vom transforma 1 valorile de pe pozitlile (13{J).n a(i):=t. execut4.n+/J.]) numiruJ ' predecesorilor lui i. 47 .i=/.={1(j). iar pe urmatoarele cU.ru. (a) dtqte n. p 13u) eu a(i) $) < a. Deseriem cea de-a i doua variantA. In cealalta variantaam putea determina la 0 parcurgere a vectorilor a. deoarece virtu! peste succesor a1 va. s!perdru.i=/.•. vectorilor IX ~i~.1. n linia i va coatine in cU. fl. ~ 1= cu ajutorul Pentru a construi pe A dupa ce inipaliziim matricea cu 0.3. Ifpentru.n execu. penlru i.(/3(iJ.m). La prima parcurgere a vectorilor a ~i 13 vom construi matricea C de dimensiune n x n in care pentru j 1. (b)pemru i=Ln tuelltll c(i.in lista predecesorilor ell ajutorul vectorilor a ~ih.ru.3. vectorilor a §i 13.ati+l)-J k:=fJ{p) t:=c(k. in matricea de adiacent! A. ell ajutorul vectorilor a ~113.i=l.ruj:=J.=l.8..n vucutd pentruj:=J. sj'pentru.(i) $ P < a(i + 1).1}:=O. In prima varianta construim din lista succesorilor 0 matrice (de adiacenta sau de incldenta) ~i apoi din acea matrice eonvertim reprezentarea grafului in lista predecesorilor. = = = (a) cite/Ie fl.n executd pelflnl p:""a(i). Algoritmul 1.irfului k.i=1.10. form! de ~iJuri) ~i cardinalele 46 a(n+1):=t. ~j 13 multimile T'L. Conversia reprezentarii unui graf din Iista succesorilor. La inilial~e coloana I a matricei C are toate elementele 0. sfptlnlnl: sfpetr/. ueCUlil p=I3(j) .. I) pentru a(t) So) < a(i + 1) ~i fiecare 1. iar pe linia p valoarea -1 dad.1 ).ar apoi vom da valori elementelor din tablourile a Si b.l) pozitll vor fi memorati acesti predecesori. .J}+ 1: C{k. sj'pe1ftru. sfpentru. Algorltmul1_2. daca pentru valorile variabilelor i. sfperrtru. 1:=1+1: s!petrl. Algoritmull. ali+l J-l execlltfl u:=u+J.m). b(t):=c(ij+l ). perdru i:=I. :=J.• rn (sub.2.tll pelltruj:=a(i).2.. cu ajutorul Conversia reprezentarii unui graf din lista succesorilor. in aceasta coloana pe linia j trebuie sa fie plasata valoarea I.m execlltll biJ:=O. Aceasta conversie se poate realiza in doll! etape de exem_plu prin utilizarea a doi algoritmi deja descrisi sau descrierea altor etape. Mai precizam eli. iar celelalte valori ale matricei C vor forma vectorul b (lista predecesorilor). p.9. 1:". ctteste m. b. Conversia reprezentarii unui graf din Jista predecesorilor.

. iar apoi vom atribui valori elementelor din tablourile a ~i h. Conversia reprezentlirii unui graf din lista predecesorilor. deoarece vanul i este predecesor al vArfului . Mai precizam c1l daca pentru valorHe variabilelor i.i=1.).11.n+1).=c(I<.t. .n execut11 c(i.n t!Xecutil au: =0. P::::PW. QpI:=1.(lJ(i)..m executil bll:=O: .. iar pe linia p valoarea 1 daell p:::: 13(j) eu a(i) ~j ~ a(i + 1) • 1. ~i+1)·1 U:=1I+1.i=I. citeste m. 1.l(i+1)-1 p:=/3(j).U. a(n+1):=I.2.m). (b) penJru 1:=I. sfpentTJl. executiJ Algor'itmul1.. (b)ptlnJr" L·=l. sfpenlruo' pentru 1:=1.. in lista succesorilor eu ajutorul vectorilor a ~i b.1'1 exe~utll pentruj:=a(IJ.. de siruri) §i cardinalele lor. pelltru i:= 1.n execut4 'ptlnJTJlj:=a(i).2. pentru 1=1. cite/te m. iar celelalte valori ale matricei C vor forma vectorul b al succesorilor. k:={1(p) Bhentm. 48 49 .rsia re~rezent!rii unui graf din Iista predecesorilor. in (sub forma. Ihmw.i=l. execut4 1.n+l).1=1. .l ):==0.l}. p are loc j3(P) = k §i a(i) ~ p < Il(i + 1).· penh i:=1.12.n executiJ. 1) pozitli vor fi memorati acesti succesori. '!penJru.n uecutll ptnJTJl p:=a(i). ({1(i). citelte m.ecutiJ (a) cite/Ie n. atunci se deduce cA varful k este predecesor al varfulul i ~i cli vArfuI i este succesor al virfului k.] ex.(afi).(a(I). La initializare coloana 1 a matricei Care toate elementele 0. In aceasta coloana pe lima I trebuie sll fie plasata valoarea ·1. ).n+1).1):=I'c(k. Fiec~~ e~emen~ din j3 va genera 0 coloana in matricea· B.:=-1.r+l):""t: sfpenJTJl: sfpenJru. ifpenlru. in prima variants construim din lista predecesorilor 0 matrice (de adiacenta sau de incidenta) si apoi din acea matrice convertim reprezentarea grafului In lista succesorilor.fpenJru.. in matricea de incident! 8.hentru.m).:=0.i=1. sfpenlru.. Algoritmull. Descriem cea de-a doua variants.. a(i+1 ). pesuru j:=l. p:=fXj).n tx4cutll penJr" j:=l.n executil aii}: . bu. eu ajutorul vectorilor a ~i P. b(I):=c(ij+l 1:=1+1. adica nici unui varf al grafului nu j s-a depistat vreun succesor. cu ajutorul Aceasta conversie se poate face in doua etape de exemplu prin utiJizarea a doi algoritmi deja descrisi sau descrierea altor etape. In cealaltli variantli am putea determina la 0 parcurgere a vectorilor a ~i 13 multi-mile i1. c(1<.i=1. k.=1: pelliru i:=l./)+l. La prima parcurgere a vectorilor a si f3 Yom construi matricea C de dimensiune n X n tn care pentru i:::: 1.(a(i). Iinia i va contine in cU.. ConVe.m). Din valorile coloanei 1 vorn calcula valorile vectorului a. C/le$le n. iar pe urmatoarele c(i. vectonlor a §I 13.3. 1) num1!rul succesorilor lui i. s. sfptmtru.(/1(!. bpoo'=J sfpellll'lI.3. n. pentru j:=l.c(i.(a) cile/le n.

cum este de exernplu . Figl.1. au loe: a. b.1. . Altfel spus. S::: ClI Vi. stabile ~ic4 toate submultimile unei mulfimi interior stabile sunt ~j ele interior stabile. CrrE$TE datel« problemei.1. daca S E B si A c S atunciA e S. U). 1. U} E $. graful are 0 singurl1 multime interior stabila maxima. a problema cu aplicatii ~j in colorarea grafelor este detenninarea de multimi interior stabile (independente). Propozipa 1. S E Z este max~lI.2. este deserts! In pseudocod in cele ce urmeaza. Dacd $ este familia multtmilor interior stabile ale grajului G atunci au IDe: ru.1. Multimea S = {l.3.. b.J) ~ u graful G(S) este format numai din viI-furl izolate..1. ltd.3. 3.3.(G). AFl$EAZ. Ct(G)=2. Din deflnitie se deduce urm!ltorul rezultat. Observalia 1. catJimp NU_ESTE_GA TA erecflttl DIlc4 SEYOATE atlUlci AVANSEAzA. a.3. Pl. care este 0 relatie de ordin~ In ~eneral partiala. 5} este-o multime interior stabill1 a acestui graf. 0 prezentare generala a metode~ (a aJgon~ulu!) backtracking. Determ~ea multimilor interior stabile se poate ra~e pri~ a parcurge toate submulprnile lui X ~i sl1se verifiee daclt sunt sau nu multimi sta~de. trebuie in plus rs uS = x. in Z da9A 'IIA E Z cu SeA impliea S = A. S~ (i. S = {0.3.3.2. SAremarclim c! intr-o familie de multimi.1.1.f. a altl.meto~ll.1. toate muljirnile de varfur] de cardinal eel mult I sunt multimi interior.Z. Din propozijia de mai sus Sit observa ca. Numere fundamentale in teoria grafelor 1. Orice multimea interior stabila S pentru care I S I = a. (I.3.stl ~l ~otiunea de multime maxima/a dar acest element es~ in raport cu incluziunea multimilor. Problema 1.J.1. c. 50 51 .:: (X. Numar de stabilitate Interna Deflnltta 1. Proprietatea lui S se mai poate exprima: sau sau rs . Prin urrnare de interes. d.3. cl)eB. daca graful este tlta bucle.1.1.. C.3.3. Numdr de slahlliJate internli a grafului G este max { I S J J SEn} ~i se Fiind dat graful G = (X.1.1. FIg. RepeJIJ noteaza cu a.l. Deflnipa 1.1. Exemplull. pentru cazul in care se ~tie eli problema are solutie. rnultimi interior stabile maximale sunt {2} §i {It 3}. 3)}.1.1. este de tip backtracking.3}. iar pentru ca ea sa fle multime interior stabila maxima.1. Vie X. Mulpmea SeX se numeste mulfime stllhild interior (lndependenta1 daca §Ii numai daca Vi e S are loe Tt Ii S == 4>.3. Pentru graful din flgura 1.l. INmAUZEAzA. U) sl1se determine toate multimile interior stabile ale lui G.3.1. ar fi sa se detennine multim] interior stabile cat rnai mario Exemplull. . {2l. Se considera graful din figura 1.(G) se numeste multime interior stahiJii maxima. care este{l. Fie graful orientat G.3.je Pentru ca 0 multime S sA fie interior stabila trebuie ca rs n S = ClI. eXI.2.

Faptul c!i o(l) ¢ 0.x. Begin i.nGama[i] I then Reia:=False.. 1 SiS n. End.2. adiea 1. '0001l0'.AFJ$EAzA. procedure Afiseazaj Begin x::ax+l. until (o(i]<>O) or (i". La fiecare moment multimea de vArfuri X = {I. AV ANSEAzA. p81111_cAnd NU_MAl_P'O.i functiile booleene NU_ESTE_GATA ~i SE_POATE. for j:=l to n Do 52 53 . a I ."'n+1/ Repeat i:=i-l. = FUnction Ss_poate:Booleanl Var Reia:Boolean.. este descornpusa jn pampa A u B.. [). '). Procedure Citeste. . incep:=l." or (J' i. REVENJRE. Valoarea na este vfuful de la care (PAM Ia n) se va cauta in continuare un varf care s!! se poata adlluga multimii A g!lsit! pAn!! la acel moment. Var n. . If a[i. OJ. n}. Vom prezenta in continuare un program Pascal care rezolva problema de determlnare a multimllor interior stabile cu metoda backtracking. ~ai_poate:Booleanl Gama : Array [1. AFl$EAzA ~.4TE. Begin i:~a-I. End. unt1l (0[1)<>0) or (i=O). Var a: Array(l ••lO] of string[lO). .. o : Array [I •• vmax+l) of Word. Deci pentru fiecareimplementare in parte utilizatorul ~i va defini conform problernei de rezolvat proeedurile.incep:Word. '000010'. For j:=l to na-I Do If (o[j]<>O) then If (i in Gama(j]) Until (i=n) or Reia Se_poate:=Reia. For i:E1 to n Do begin Gama[i) : . La fiecare revenire (cu un pas) se determina precedentul vArt'i din A.:i+l. '010010'.vmax) of Set of 1. CITESTE. A == {i EX J o(i) ~ OJ. end. Valorile o(i) ¢ D. a(4]: . . n. '010000'. ClrScrl : Boolean. a[6): . Canst WJIaX=40. unde A este 0 rnultime interior stabila. Valoarea variabilei booleene NU_MAI_POATE se stabileste in procedura REVEN/RE.""010110'. a(2] . a(5J.='000100' 1 a(3) : . na:=I.. INITJAUZEAzA. Writeln(Chr(B) . Procedure Revenire.x. $i acestuia i se caul! un alt succesor dintre cele de la 0(1) la n. o[i]:=O/ Repeat i:=i-1.) / For 1:=1 to n Do If o(iJ<>O then write(i.. pentru un i oarecare.. Uses Crt.VIMX. Begin n:=6. procedure Initializeazar" Begin " For i:=1 to n Do 0[1) :=0. Se_poate:cFalse. Primul apel a1 procedurii AFI$EAzA s-a flicut pentru c! ~i vaJoarea initial!! este 0 solutie a problemei. Multimea A este complet determinata dacii H fllcut explorarea tuturor varfurilor (adicll s-a ajuns ca na = n)...j. If i>O then begin na. 2~ . a(I] . se interpreteaza ell vArful i face 'parte din multhnea A. iar Beste complementara el.j] endr X:=OI ' End.na. o[n+I):=l. end. If i<n then begin Repeat Reia:=Truel i:·i+1. . NU_Mai_poate:=Falssi End.O). Explorarea v§ri'uriIor lui X se face in ordinea crescatoare a vftrfurilor. pentru fiecare varr i cu aceasta proprietate (~i are vDrfface parte din A) precizeaza varful incepAnd cu care se va c cauta (pAlla la care a fost cautat) urmatorul varf lui i din A. Write('Multimea interior stabila wri te t ' ( . Starea vfufului i este definita de valoarea 0(1). Consideram eli graful se d!! prin multimile n. FUnctihn Nu_Este_Gata "Begin Nu_Este_Gata:=na<=nl End. AvanseaZa. . ='1' then Gama[i]:cgama[i]+[j)..i. ' }').. al ultimului explorat. procedure Begin o(i]:=na. na:=i+l End. Astfel. . Iar B {i E X I oU). ~ ~rogram Mis_cu_aackT. 1 :5: i S II. ale grafului. '-3 este: 1).

End;

end;

If i>O then oIi],;na else begin incep:=incep+l; na:~incep; If incep<n+l then For i:~l to n Do o[1J:=0 else Nu_Mai_Poate:=True;

Begin Citeste; Initiali2;eaza; Afiseaza; . Repeat . While NU_Bste_Gata Do If Se_Poate Then Avansea2;a; Afiseaza; Revenire; Until N~ai_Poate; readln; End .•

Aceasta problema a fost formulata de catre Gauss. Rezolvarea ei revine la a preciu da'ili exista multimi interior stabile cu eel putill opt elernente in graful oonstruit dup! cum se prezinta in continuare. Multimea vArfurilor are 64 de elemente corespunzator celor 64 de pil.trate ale tablei de ~ah. Se .defineste n= U I i ~ij sunt pe aceeasl linie sau diagonala}. Deci j E n inseamnl1 eli damele aljiezatein patratele i ~ij se atad!. reciproc, Deoarece tabla de sah are opt linii (~i muJpmi interior stabile cu mai mult de 8 elemente nu existl) rezolvarea problemei reVine la a determine multimi stabile interior maxime, Daca acestea au opt elemente atunci raspunsul la lntrebarea pusa este afinnativ.
c

Exemplull.3.1.4. Determinarea clicilor dintr-un graf. Fiind dati 0 multime de persoane sau grupuri de persoane (partide, asociatii etc.j.care se pot sirnpatiza sau nu se pune problema deterrninarii, unei submultimi de elemente (ali ante) care se simpatizeaza reciproc cu un numar maxim de participanti, Consider and graful neorientat in care i E T] dacil. i ~i j se simpatizeaza reciproc, problema revine la a determina 0 multime interior stabila maxima in graful complemental. Vom prezenta in continuare 0 alta problema rezolvata eu metoda . backtraking, dar care se deosebeste de prima metoda prin faptul ca problema nu este sigur eli.are solutiesi nici prin initializare nu se obtine 0 solutie. ProhJema.l.3.1.2. Se dli un graf G (X, U), neorientat de ordin n ~i de dimensiune m. Se cere Sa se precizeze daca G este hamiltonian (confine cicluri hamiltoniene) ~i in caz afinnativ sa se determine un cicIu hamiltonian in G. Pentru graful G vom utiliza reprezentarea sa cu ajutorul Iistei suecesorilor definita de vectorii cr. ~i 13, presupunem cil dimensiunea lui 13 este dublul numarului de muchii. inainte de a descrie algoritmul faeem cateva precizari necesare pentru intelegerea sa. Orice ciclu hamiltonian este un ciclu elementar (deci fiecare varf este utilizat de ciclu 0 singura dati) ~iare n varfuri. Prin unnare, problema cere sa determinam valorile Xlo x., ... , Xa, .1",,+1 = .xl din X cu proprietatile X == { Xl> .1"2, ••• , Xn } ~i (Xi, Xi+') E U, pentru i I, n. Orice suecesiune X,. X2, •••• .xl. cu 1 SiS n este un lant elementar de lungime i-I. Deoarece .x" .x2, ... , X". x..., este 0 permutare circularaa celor n virfuri ale grafului, ful1 a restrange generalitatea, ciclurile se vor preciza (citi) astfel

Procedura "Cueste" de mai sus utilizeaza matricea de adiacenta data in A. Valoarea lui n ~i elernentele tabloului A trebuie modificate de catre utilizator in instructiunile de atribuire in corpul procedurii. 0 alta procedura "Citeste" care cere date le utilizatorului dupa Iansarea in executie a programului ar putea fi urmatoarea;
tabloul
Procedur~ Citeste; Begin Clrscr; Writeln('Dati numarul de virturi ale grafuiui'); Readln (n); For i:-1 to n Do begin Gama[i] :=111 ClrScr; Writeln('Dati succesorii virfului ',i:3,' 8i in final 0'); Readln[x) ; While x<>O Do begin If (x>O) and (x<n+l) then Gama{i}:=Gama[i]+[x]; Readln(x) I end; end;

=

x:=o/

End;

.Exemplull.3.1.3.

Problema celor opt
0

dame

atacata de

Pe

0

tabla de sah se pot aseza opt dame astfel lncfit nici una sl1 nu fie
alta damii?
:.1.:

=

54

55

exrstenr, Valorile

==

rncSt Xl = L Astfel, se poate considers ell Xl = I ~i deci algoritmul tncearell adauge Ia fieeare etapa un v§rf (muehie) Ia lantul eJementar descoperit In graf P~ii Ia aee~ etapa, Daca un asernenea v§rf, care sl!.fie adaugat lantului existent, algoritmul avanseaza, altfel face 0 revenire, mic~or!nd lungimea lantulul

sll

functia booleanllNU_EXISTA_SOLUTIE Are valoarea 'true' daca incll nu s-a depistat un ciclu 'hamiltonian (se dispune doar de un lan] elementar de lungime mai mica dedit n) §i 'false' daca s-a depistat un ciclu hamiltonian in graful dat,

. Ca vari~b~lli de lucru folosim tabloul unidimensional 01 cu i E X. acesnn ~IJ' la pasul tal algoritmul (eand se cauta valoarea pentru x) au unnlltoarele semniflcarll: r a. b. 0, atunci virful i este selectat in Iantul elernentar ales panli .. Ia acel moment. Daca
OJ oF

functia booleana NU_MAI_POATE_EXPLORA Are valoarea 'true' daca au fast epuizate toate variantele de analiza (prin revenire se depaseste varful 1) si 'false' daca mai sunt variante de analizat (se mai pot face revenirl sau avansari In analiza) ..

Daca OJ ::: 0, atunei fie vfirful i este ultirnul varf selectat in lantu] elementar ales panl!. la acel moment ~j urmeaza 511 se determine succesorul sau, fie i nu a fast selectat in lantul elementar ales plinll la acel moment.
A

functia booleana SE_POA TE
daca lantul elementar se poate dezvolta prin adaugarea unui nou varf (aceasta adaugare 0 va face procedura AVANSEAzA) $i 'false' daca Iantului elementar existent nu i poate adauga niei un viirf prin urmare se va face un pas fnapoi pentru a face noi cautarl (acest pas inapoi it va face procedura REVENIRE). Are vaJoarea 'true'

c.

Dacll 01 = j, atunei in lantul elementar ales pAnli la acel moment vfu'ful i este urrnat de virful ~(j). Adica, exist! un k < t astfel Incat Xk ::: t ~iXk+l :; ~(j).

Acum putem trece la descrierea algoritmului. (a) etapa de lnitializare
cit'tfe n.m, (a(i),i=J,n+J ).(fJ(iJ.i=I,m) x(1)= l; vx:=!: L'Qut:=alfa{ I]; 1:=1;
petltTIl

procedura AFISEAzA Va afisa valorile elernentelor sirului x, care constituie succesiunea de varfuri ce formeaza un clclu hamiltonian:

Programul
elite:

Turbo

Pascal

corespunzator

algoritmuIui

descris mai sus

i:=l,n £XI!cutil 0(0:= 0; x(f+l ):=0 sfp,nlrll;

(b)

iteraJia de baza
l'epsil I!8tJimp NU_EXISrA_SOLUTIE # not NU MAl POATE EXPLORA ~cutll _ _ _ Daed SE_POATE IlllU1ci AVANSEAzA IZllfel REVENIRE; 8fd; sfc; Dacil not NU_EXISTA_SOLUTJE Qlllnci AFISEAzJ; pdltil_c4tui NU_MA/_POA.TE_EXPWRA;

Program hamitonian; Uses Crtl Canst VIl\ax=20; InmaX",350;

Var n,i,vx,ib,caut,t,nr_ham~word; x,o,alfa,array[l.,vmax} of O._vmax; beta,array[l ..mmax} of 1._vmax; Procedure Citeste; var a,arrayll_.vmax} k,j !word/ begin n, .. 6; a [1] ,=' 011011' I a!2],='101110'/ a[3] ,='110110' I a[4]: .. '01101],.'/ a{5],='111l01'; a[6) :='100110';

of stringlvmax}1

Algoritmul foloseste:

56

57

k:~ll for i,:1 to n do begin a1fa[i]:~k; for j:=1 to n do if a[i,j]='1' then begin end] alta [n+1] :=k; nr_ham:=O; end;

else begin end; end; se_poate:=locala beta(k] ,=j; k:=k+1; End; procedure Avanseaza; Begin x[vx+l] :=t; caut:=alfa[t); t: .. x[vx]; o[tJ:=ih+l: vx:=vx+l; End; procedure Revenire; Begin if vx> 1 then begin

locala:=true:

t,:!;

end:

End;

Procedure Initializare;. Begin x(1]:=1; vx,"1; caut:=alfa(1); t:=l; for i:=1 to n do begin o Ia l:=0; x[i+1) :=0; end; End; Function Nu_Este_Gata Begin Nu_Este_Gata,=x[n+1] End; : Boolean; <>11

t:EX[VX]I

o I ti l :=01 xlvx] :=0; vx:=vx-l; t:=xlvx) ; caut:=o[t); end else End; Procedure Afiseaza; Begin nr_ham:=nr_ham+l; Write('Ciclul hamiltonian al ',nr_ham,'-lea ~ste:'); wri te (,( ,); for i:~l to n do write(xri],' 'j; writelx[!!,' ')1 writeln (chr (B) , ')'j; x(n+1],aO; End 1 Begin Citeste; lnitializare; Repeat While Nu_Este_Gata If se_poate then else If not Nu_Este_Gaca until ~i_poate;

t:"'O;

Function Nu_Mai_Poate : Booleanr Begin 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 then begin While (ib<capat) and (not locala) do begin vb:=beta[ibl; if o[vbJ<>O then ib'=ib+l else begin ~ocala:=true; end; end else begin While rib<capatJ and (not locala) do begin vb: =beta [ib] ; if vh<>l then ib:=ib+l

and (not ~ai_poate) Avanseaza Revenire; then Afiseazaj readlnl

Do

End. t:=Vbl end;

Programul dat rezolva problema pentru graful din figura 1.3.1.3.

'.

58

59

1.3. f3( G) atunci spunem Observatia 1.3.3.2.2. 2.3.2. 1.2. FieiE X daca iE T ~ daca i i2: T ~ i e TUrIT.I. Pentru graful din figura 1. 1. graful are ': 0 singur! multime exterior stabiUt minim! ~i anume {2}. Fie G = (X.1.1 multimea T={2.3. 60 61 .2.3. # T2 E P atund TI U T2 E p. sa demonstr!m c!I X c Tu piT.3}.3.1. e.l. 0 multime Propozilia 1.2.3.l.3. II> Fig.1.ti c~le ]4 ~iclu~i harniltonlene.2. DaeA se doreste ea programul sA afi!eze d?ar clcl~ril~ ~aml1tonlene distlncte atunci 0 modificare a programului ar fi mlocurrea ultimei instructiuni 'If' a programului (antepenultimul rand din program)cu If not Nu_Este_Gata ~hen If x[2] < x[n] then Afisea2~ else xln+1J :=0/ = Pentru graful din figura 1.3. 5. Dacii notam cu p familia multimilor exterior stabile ale grafului G atunei: a. O:afului dat fi lipsesc 3 rnuchil pentru a fi K6• care are 51/2 60 cicluri hamiltoniene.1. are 14 cicluri hamiltoniene distincte dar cum fiecarui ciclu i se pot citi vlirfurile pe cele doua sensuri (trigonometric sau in sensul acelor de ceasornic) programul va afi~ cele 28 de succesiuni de vlirful'i In care se pot Ci. Numar de stabilitate externa Definifia 1. 3}.3.3.3. 13(G) = 1.2. Cum T si r. c. TI b. (1. Graful din figura 1. p = ( {2}.2. XE go. . . i EX· T ~i T dominant! iE pljcrlTCTur1T. {l.1. 'ViE X· T.2. dadi Definitia 1.2.2.3.2. Fig. en I Til ca T * Daca Teste 0 multime stabila exterior eu I T 1 = este muipme staMM exterior minimil. Fig. Numlir de stabililate extemli a grafului G este min] T E p } ~i se noteaza 13(0). 0 multime T eX se numeste mulpme exterior stabilli (domintmt/J) daca n n T 41. au loc: a. exterior stabiUi T se mal poate deflni ~i prin relatia sau X·TcpIT o multime Demonstra{le: Tur'T=X sau rcX·7)cT. ~ d.p. b. lJ) un graf orientat.2..ITeX rezulta TUrlTc X.2. 3}). Exemplull. Exemplull.3. 7} este exterior stabila. multimlle exterior stabile minimale sunt {2} ~i {I. 3. daci: TE p si TcA cX atune! A Ego. 3je nnT ~ nn T.

JJ E U daca ~i nwnai daca patratul i este atacat de piesa de pe pll. 11ii a~lim acestuia G' = eX u A) cu X' {i liE X}. a'. I) dat. (a} Se dd grqful G ~ IX I]. poate supraveghea ~i pe celelalte celule cu care comunica aceasta printr-un culoar rc:ctiliniu. 0 di Folosind aceasta teorerna se poate deduce unni'itorul algoritm pentru deterrninarea multimilor exterior stabile (dominante) ale unui graf oarecare G""(X. pe schimb. (b) Procedure de reducere CIJt timp exisI4j'EX' cu IA r . 62 63 . . Fiind dat graful G (X. G' .. astfel ca fiecare pil.{t.trat aJ tablei fie dominat (atacat) de eel putin una dintre piesele plasate.1. Fie T"" (/J. Determinarea ConslnUef/e . numarul minim de piese ce domina toate patratele tablei de sah este numarul de stabi/itate externa al ~fului = = Tv Am demonstrat X c T I. nebuni. Fie T eX cu llT = X Fie t e X.Jj'.3.. In consecinta Teste mulpme exterior stabiUl. biptlrlil a '.(t.2.:J r-I T. Problema cere sa se stabileasca num!rul minim de gardleni. Pentru j E X convenim i ' E j E rio Polosind graful G multimile exterior stabile Ie caracterizam x" = = I urmeaza. dar aT c X I ~ideci aT"" X'. Exemplull.tratulj ~i myers. JJ E U daca ~i numai d. Sufidenta ($=).a celulele i ¥ j comunlca printr-un cuI oar rectiliniu. I o problem! sa supravegheze asemanatoare toate intersectiile este stabilirea numarului minim de politi~ti care unui sistem de strazi dat. cum.(X u X " . sa demonstram cl1 Teste exterior stabila.3.3.2.. multimilor grqfol exterior stabile. Tvt.Exemplul1. "n» ~i Tu r-IT= X (c) cat. I se pot utiliza graful bipartit Aj ~ i j sau cu teorema ce . Prin unnare T.2.Jimp X~ ex«W1J o. Pentru detenninarea de multimi exterior stabile (dominante) rezultatele urmatoare.d}. tumuri) pe tabla. Teorema 1.t< cf) ife "r ut. iar daca i E r-IT atunci 3j Ene T deci i' E AjcAT Asadar X ' c llT. sa kEn prinurmare iE r-1kcr-1TcTur1T X Conslderand graful neorientat ce are 64 de vfufuri corespunzatoare patratelor tablei de sah ~i convenind (i. T c X este mulume exterior stabi/a Engraful G dacli ~i numai daca IlT = X 'in G '. Fie acum i' EX'. necesari pentru supravegherea tuturor celulelor inehisorii. Problema celor cinci dame dad! JET cum aT == X' atunci 3k E T astfel Incat i 'E t:Jc deci Pentru jocul de sah se cere plasarea unui numar minim de dame (cal. Deci gardiariul care se aflA langA 0 celulil. Unele celule cornunieA prin culoare rectilinii. DemonstTtifle: Necesitatea (~).{t!8~ie:X.. problema revine la a determina numarul de stabilitate extema a grafului. "r l"j t!XZeutil Se cia To multime exterior stabila In G. dar T u r-IT c X ~i deducem r-l T.3..1.4. Cunoseiind graful neorientat ce are ca v3rfiJri celulele Inchisorii ~i convenind (i.2. in acest graf Vi E X are loc r-li ri ~ise dernonstreaza usor ell. Problema gardienilor La 0 incbisoarc: flecare celula trebuie supravegheata.3. = Algoritmull.U. E X= Tu ["IT daca i E T atunci i' EaT.

b .. recurstv cerut d" Ii n.2. p. Dezvoltarea arborescentei se face pinli cand se obtine 0 solutie • optima. In encheta fiacarui varf se aflA 0 submultime A c S intr-o forma explicita sau impJicitli sl marginea superioara (inferioara) care estimeaza pe sup A (inf A) nurnita boma.. Metoda branch and bound pentru detenninarea rnultimilor interior stabile (independente) maxime consta in·eonstruirea unei arborescente care are etichetele varfurilor de forma (A. 5.. SI • }. Algoritmull. adica sup A (inf A) este estimabi1.timil? inde~ndente (interior stabile) ~i dominante (exterior stabile) se etermina ~I cu aiutorul unor algoritml de tip branch and bound [ToC97] ceasta metoda se aplicll problemelor NP-complete care satisfac wml1toarele: . graful bipartit asocial lui este eel din figura '1' . IX -A uB UriUllj I). B. Daca algoritmu: executa lnstructluni din pasul (e) atunci datorita a I J .din. Numlirul descendentilor ce se vor adauga lui k corespunde criteriului de partiponare utilizat. 64 65 .. {I. ramificarea arborescentei se face astfel: :~ dacli/(a) I (x) IXES }atunci a este 0 solupe optima. adicll 3B sau 3B!> .3.B multimea Au {i} este interior stabilli deoarece rA u llA c B. 5}. 1.rfului terminal (frunza) k a1 arborescentei.J" pe U Ul . Atunci. G' = G'. {I.2. U Bs.3. unde CAB = A • Beste complementara lui B fn raport eu A. cu boma eea mal midi (mare).3. alege i E Buriu X .2.3.. exists 0 {SI •.. 5.2. 7}. t multimea solup-ilor admisibile (posibile) S este fini. decl rk = ¢I.. B. 7. 5}.. A vand 0 astfel de procedura se construleste 0 arborescenta etichetata. Apol se poate determina numllrul de sta~ie itate extern! a gra~lui ~ialege mu1timi exterior stabile minima - Fig. exista un criteriu de a partition a (descompune) 0 multime A c S in doua sau mai multe subrnultirni. T . b = I X . ellmill4 din X Vdrforjll! i eu tJj<=tIJ: executa 'Proc:eriura de reducer« ": existli 0 metoda (procedura) pentru a determina 0 margine superioara (respectiv inferioara) mica (mare) eventual supremumu! (infimumul) pentru orice A c S. B c X are proprietatile rA u llA c B ~i toate multimile interior stabile din vfu-furile descendende nu au vfufuri din B. 1.1).. Apoi se continua pentru a determina alte solutii optime prin dezvoltarea arborescentei doar pentru v6rfurile cu borna "convenabila". B. 1 3 22 Pbntru grafuI. Etapa de initializare consnuleste doar rlidlicina arborescentel etichetata conform conventiilor preblernei pentru submultlrnea A = S. Observafia 1. astfel fncat A = B U CAB respectiv A == HI U . Astfel se pot determina toate multim'l ~xtenor stabIle ale grafului dat..2.2.s. 7.fc. Tv{i}. b) eu semnificatla: A c X este 0 rnultime interior stabiUl ~i totl descendentii sal din arborescenta definesc multimi interior stabile care contin pe A (deci au cardinalul mai mare sau egal cu allui A).3. Deoarece nu prezinta interes decat varfurile terminale din arborescent! se pot pastra (memora) intr-o list! doar aceste varfuri. S = .(A u B) ~i construieste succesorii etichetati unul eu (A U til. FIg. { urma aplicarii algontmului dat obtinem ca multirni exterior stabile ale sa epe: 1. functie I: S ~ R eu proprietatea: = min(max){ Pentru a preciza descendentii varfulul arborescentei etichetat eu (A. iarcelalalt ou (A.. r d MUI. Se va dezvolta arborescenta prin a adauga succesorii v1l.2} ~i p.3. b) sli observant eli Vi E X .1. e execut IU/ pentru flecare alegere a lui i din X se aflli clite . 7}.. 2}.1. B u {i}.(/J}VAi}.~gura .. .0 mUJ~e exterior stabila...3.. iIi.B ! este 0 margine superioara a numarului de varfuri care mai pot fi adaugate la A pentru a obtine 0 multirne interior stabila maxima.2. {lt2.2.

arborescentei. Ramificarile se fae pfulll. poate fi prezentat sub forma unei metode de Algoritmul dat rnai sus pentru determinarea de multimi interior stabile tip branch and bound pentru a detennina multirni exterior stabile (toate sau numai pe cele maxime). B. ExempJull. grafului bipartit G' asocial grafului dat G. dupa ce modificam pe Teu Tu [I]. Hind dat WI graf G = (X. Pentru graful din figura 1.rN=w ~i NurIN=X. multimile exterior stabile definite de descendentii vfufului curent al arborescentei. de toate b. b. efuld se obtine un van care are in graful G' din etichetl1 X' W caz in care ~i X = w ~i deci virful este un varf frunza al . = 1. ceUUalt succesor se eticheteaza cu valorile date de procedura de reducere aplicatll. Etichetele arborescentei sunt de forma (G'. cardinalul lui A din eticheta aeelui varf ~i se va dezvolta dintre varfurile terminale etichetate (A. .3. T.Adrea.3. pe X eu X .3.i [2: 2. Deoarece pentru fiecare nod are Joe ViE X. Varfunle arborescentei cu boma 0 nu se pot dezvoltasi dupl1 ee s-a objinut un asemenea van se retine In variabila a. . de exemplu. Algoritmul 1. orice succesor al unui van apartinand nucleului nu face parte din nucleu ~i oriee succesor al unui vdrf' care nu face parte din nudeu apartine nueleului. 0 multime N c X se numeste nucleu al grafului G dacA ~inumai daca Neste interior stabila §i exterior stabila. 5.3. b este X' 1 I.2.1. multirne de vfufuri ale grafului care este eontinutll. _". un sucesor se etieheteaza cu valorile date de procedura de reducere aplicatll.1. . Fig. Daca Neste nucleu al grafului G atunci a.3. Daca se doreste sa se obtinli doar multinile exterior stabile minime. Multimea T din eticheta oricarui virffrunz. b) eu I A 1+ b > a eel care are 1 A [ + b maxim. T. . Acest algoritm construieste 0 arborescent! ale carui vWfuri terminale definesc multimi exterior stabile. varfurile care au bucle nu fae parte din nucleu :j:i toate vanurile care nu au predecesori (deci ~i ceJe izolate) fac parte din nucleu.3. X' din G'. dupll. = Aceasta observatie se poate interpreta astfel: a. Nucleul unui graf Definipa 1.3. un varf are doua subarborescente una care defineste toate rnultimile in~erj~r st~biJe caz:e contin pe A U {i} ~~ceealalta care defineste toate submultimile mtenoar stabile din X·· (i} care contin pe A.{i} ~ipe X' cu X' . unde: G' este graful redus (obtinut din grafu1 curent cAruia i s-a aplicat procedura de reducere din algoritmul de determinare a multimilor exterior stabile dat mai sus).3.3.3. atunci se vor dezvolta doar virfurile pentru care b + [X' [ este cea mai mica ~i b nu depaseste cardinalul multimilor exterior stabile deja depistate.ce modiflcam pe X eu X . Dacl1 se dezvolta doar anumite varfuri ~iatunei S6 obtin toate rnultirnile exterior stabile maxime. 7} este un nucleu. b). din grafuI Gj definit de eticheta.i. .Nr. . Radacina arborescentel se eticheteaza cu (G'.3. valori obtinute de procedura de reducere aplicatli.: N §i daca i E X eu 11 i W atunci i E N.1.l1 este 0 rnultime exterior siabila a grafului dat G.1. atunci succesorii noduIui Ii definim astfel: alege i EX.6. are loe l6.1 multimea N = {3.(i}. daca i E X ~i i E ri atunci i i. 1. Teste 0 Observatia 1. De fiecare dam cand se obtine un van frunza se va actualiza valoarea lui a Ja cardinaIul maxim al multimilor interior stabile deja depistate.3. I X' D.3.3. 66 67 . 1).

1 se poate construi urmatorul algoritm pentru determinarea unui nucleu ~ unui graffMli eircuite.Teorema 1. Daca N este un nucleu 01 grq/u/ui G = OJ atunci mull/mea Neste 0 multime marimaIQ a familiei !1 a mul/imilor interior stabile. Determinarea (a) fie N=tP. Prin urmare Neste nueleu al graful ui. sfc.N astfel ineat n n N = q" deci 'r/j eN. deducem: 1. Algoritmii care rezolva aceste probleme au 0 complexitate mare. S}.N r. Observatta Reciproea teorernei 1. 3.1. Numirul minim de culori eu care se pot colora muchiile grafului G astfel melit orieare douA muehii adiacente sli fie colorate eu culori diferite se numeste indict! cromatie.2. pentru un graf oarecare nu orice multime interior stabiiA maximaUi este nucleu. adiea A rx.3.1. Aceste probleme eer sA se determine numarul de culori cu care se pot colora unele elemente ale grafului astfel incat colorarea sA tndeplineasca nlste conditii.3.3. E. Teorema 1.3 ~i N c A -> A=.3.l_1. SApresupunem eli 3.n. Exista grafe care nu au nuelee dar au multimi stabile interior. 6} ~i {7} sunt nuclee. tn timp ee graful din figura 1.2. Vom demonstra eli Neste multlme exterior stabila prin reducere 18 absurd.3.4. 0 1. j ~ ~i cum G este simetric deducem cil t ~ T]. SA remarcAm c! pentru teorema ~i eoroJar este esentiala proprietatea de simetrie agrafului.3. aura leX. Un·gra!simetriejQriJ bucle admite eel putin un nucleu.3. 4.3.3.ja 1. fie N = Nu(iJ: fit! G = G-(iJ-fl.3. Observa.3.ceea ee contrazlce maximalitatea lui N. E X . intr-un graf simetric flira bucle. (b) Cat timp unui nucleu intr-un grafflirl1 circuite. carenu este simetric.3. De exemplu pentru graful din figura 1. Numar cromatlc Problema colorarii grafelor este 0 problema foarte veche.3. Unele dintre aceste probleme privesc colorarea muehiilor.2. Demonstrafie: AE deei 5. Vom demonstra prin metoda reduceril la absurd. {2.2.1.3.3. Pomind de la relatiile a ale observatlel ] . 5. Deoarece t e nrezult!!.3.3. Demonstra. AlgoritmuJ 1.3.existl grafe care au mai multe nueIee. NcA ~iN¢A. iar allele colorarea v§. 8.1.3.2. Aplicand algoritmul 1.3.3. Fig.2 se obtine nucleul N» {I.3.3.1.3. Indioele cromatic se noteaza de obicei cu q( G). Cl> dar'N C A • . Sl1 remarcam c!!. deei 3ie A -N.3. 1.3 multimile de v§rfuri {I.4.3.u r' (=tP aecutll 68 69 .1.3.1. Flg. SlI presupunem ell exista ¢ nn Cum Neste multlme exterior stabil! Inseamna ell n n N A ~ cJ> ceea ee contrazice relatiaA E .3.N.3.3.l.riurilor.3.3. Adie!!. pentru graful din figura 1.ie: Fie N E 5 maxlmala. din propozitia 1. cll N U {i} este multime interior stabi1!!. 6). nu are nici un nueleu.3. Exemplu) 1. Deflnltia Corolar 1. orice multime maximala a familiei S este nucleu. 0 n Avand in vedere cI 5 ¢ Cl>.3.1 in general nu are Joe.

- 70 71 .1. numim multimea culorilor. Se coloreaza cu ceealalta culoare toate vlirfurile necolorate ~iadiacente unui van colorat. DeflDitia 1. numai dacii graful nu corqine . 0 Observatia 1. x(G) + x. 2•. tllliJmj Fie G = (X. Un graf este bicrornatic daca ~inumai daca este bipartit. Problema coloriirii grcfului FUnd dat un grafG :. Deci graful este bicromatic. sulicienta (¢:=) Vorn colora varfutile grafului cu doua culori folosind urmatorul procedeu.4.1. Definitia 1. Prin unnare viirfurile oricarei' clici trebuie colorate cu culori diferite sau X. ~) atunci §i I «x) + t. b e C cu a b. Deci orice ciclu are lungime parii. (X U) se cere sll se determine: a. (G) ~n + 1.3 nu este graful vid (X. Daca dou! varfuri adiacente ar fi colorate cu aceeasi culoare mseamna eli graful admite cicluri de lungime impara ceea ce ar contrazice ipoteza.3.4.1. de mai sus. 0 Multimea {I. X= E #.4. NUmiir cromatic al grafului G este eel mai mic numar k pentru care graful este k-colorabil.3.2.1. '1.4. b. Teorema lui Konig Un graj este bicromatic dacii cicluri de lungime imparii. 2m). iar functia Problema 1./(n'1. atunci au IDe rekuiile: a. Dacal: X -+ C este a.3. Teorema 1. p} cu proprietatea Vi.. V). iar G graftl complememar aJ lui G. Se reia procedeul de la prima actiune paoli cand vor fi colorate toate vfuibrile grafului. j) E U are loc fti) ¢fU).4.3. =.2.3. a. Adicli grafu1 este bipartit §i deci colorand vfufurile fiecarei PWli cu cfite 0 culoare graful este to acelasi timp ~i bicromatic.• p}.3. 0 colorare a grafului G atunci: bare locrJ(a) nr'(b) = 0. .. UJ un graf neorientat de ordin n si dimensiune m. j-E X cu (i. Lungimea ciclurilor. Dacll graful din teorema 1. Se repeta cea de a doua actiune cat se poate. Numarul cromatie se noteaza eu x. U) este eel mal mic numiir natural p cu proprietatea ea existii a fune/ie swjectiva f: X -+ {1.4. c.4. Un graf G este k-colorabil daca varfurile sale se pot colora cu eel mull k culori astfel incat oricare doul varfuri adiacente sl! fie colorate diferit. Teoretna lui Vizing Pentru orice grafG are lac: q(G) ~max{g(i} TeoremB 1. Se alege un van §i se coloreaza cu 0 culoare. fse numeste colorare a vfufurilor lui G.3.(G). b. 0 colorare a grafului G.. Propozlpa 1. N~mar cromatic 01 grafului G-~ (X. numarul sau cromatic este 2. Url(a). ca multimea v§rfurilor sale se imparte Graful care lndeplineste una dintre conditiile afirrnatiei b are proprietatea Teorema 1.4. Va.. c. numiirul cromaric a/lui G.4.3.Teorema 1. cu numarul varfurilor. Pentru grafele complete K" colorarile sunt functii bijective ~i deci x. Deci numarul vanurilor care compun ciclwile este par. b.2. DemiJlistra(ie: Necesitatea (==» Daca graful este bicromatic inseamna cli orice ciclu are viirfurile adiacente colorate diferit.(K.( G) 'i! n'. este 0 Care loef-I(a) multtme interior stabilii a lui in doua parti disjuncte cu proprietatea d\ in fiecare parte orice doua vfufur:i nu sunt adiacente.3.(H) J A I pentru once clica H :: (A.) = n. Va G.3. x.4. "'.3. este egal!'.2.4.(G)X(G )5(n+ Ii. care fiind numarul de muchii ce compun ciclul.

) . lnseamnli eliI'll matricea de adiacenja corespunzator culorii i exista n? valori egale cu O. Din cauza eli se bruiaza reciproc releele care sunt la 0 distanta mai mica decAt 4 trebuie sa emlta pe eanale diferite.3. U) de ordin p colorat cu X(G) eulori.. = q(L(G)}. x) 'II numim polinom cromatic.n .4.1. .[ill + X (G .. tv.O + gG (I) .4. Grcfu! G are eel putln 0 din G deducem sll.:5 ga(l) + go (i). pentru ca inegalitatile sun! eu numere naturale ~iconform presupunerii Beute X(G . prin abuz de limbaj chiar pe C(G. Dac! eel putin una dintre inegaIitliti este strict!. rezuta ca vArful i are tn G ~i G vtirfuri adiacente colorate eu fiecare euloare din cele X(G . presupunem ca relatia este adevarata pentru orice graf cu (X. Acest rezultat se poate obtine ~i pe baza teoremei lui Vizing ~i a faptului ca + X (G) $n +1 b.] v8.{ill $ p. Folosind relatia de la a ~irelatia 4X(G)X (G ) .:5 (X(G) + X (G relatla de demonstrat. etc.1 + 2 = p + L X(G) . atunci C(G. Are loc x(G) 5max{g(i) liE X] + 1.{in.": ~" Confonn inductiel matematice deducem cll pentru oriee graf G de ordin n ~i eompIementarul sau G are Ioc x(G) Folosind aces! rezultat pentru G sl G prin insumare se obtine delimitarea din teorema 1. 72 73 . X(G)+X(G}=X(G- CoroJarull. UtilizAm metoda inductiei rnatematice. Propozitia 1. x} :: O.XCG-{i})+l ~i X(G)$X(G-{l})+1.colorat cu = ~ideci I ~ipentru 11 = 2 cunosproblema 1. gd. Pentru un graf G ~i un numar natural x se noteaz! eu C(G. a. De aici rezultll X(G . intr~un teritoriu existA un sistem de relee de retransrnitere a mesajelor (radio. + g'G (0 + 2 $ P .rfuri ~isAconsiderarn un graf G Fie i E X pentru cit i poate fi .1) sau numdrul coloriirilor grcfului complet este egal cu numiirul functiilor definite pe X cu valori in C care sunt injective. Polinornul a carui valoare in x este C(G.U])+2$ Demonstratia se poate face prin reducere 1a absurd. VO ~i VI numarul valorilor egale cu 0 respectiv 1 din matricea de adiacenta a grafului G. Deci :> Propozitla 1. x) :: X' sau numdrul coloriirilor grtifului vid este egal cu numdrul functiilor definite pe X ell valori tn C.{i}) respectiv X (G . 0).3.4. Deoarece VI = 2m tntre oricare doua v§rfuri colorate eu aceeasi euloare nu exista much ie. (x . Dacd G = (X. 0 culonre pe care 0 au sau nu alte vfufuri ' = X(G)s.{ill culori. C( KIlO x) = x(x .2. Se cere sa se determine numarul minim de canale necesar. k I.. Detenninarea numarului minim de canale revine la a determina nurnarul eramatie al grafului. x) se numeste polin om cromatic.4. pe de altli parte cUcii cu :riG) vlirfuri. Fie pEN. 2.3. Dacii x < .3. Deoarece nurnarul maxim de vArfuri dintr-o clica a grafului G este max[g(i) liE Xl + 1 se deduce.4. nl = numarul vfufurilor lui G colorate cu culoarea i. p . Pentru rezolvare cosideram graful ce are ca vSrfuri releele ~i intre doua relee exista 0 muchie daca ~i numai daca distants dintre relee este mai mica decat d. atunci erG.. deoarece asociem unci culori un canal.3. unde i E { 1. »2 se obtine c.. Daca ambele egalitAp sunt veriflcate cu egalitate. insumfutdu-Ie obtinem X(G)+X(G)<p+2 :=} X(G)+X(G)Sp+1.Demonstratie: a. c.1 §i deci [i})+x(G $ gd. _ Pentru a simplifiea notam k = x(G).(i}) + X (G .2. Pentru n dlnd K" se verifica imediat cI X( G) + X (G ) ""n + I.. a.:5P . b.rjG).1) .4. x) numarul de colorari distincte ale grafului G ell x culori.).3.

Demonstratie: Pentru eli virfurile p ~i q nu sunt adiacente rezuta ca numlrul colorarilor grafului G este egal eu numarul colorarilor in care p ~i q sunt colorate diferit adunat cu numarul colorarllor lui G In care p ~i q sunt colorate cu aceeasi culoare. n. .> i =i sau exist! in. unde C" este ciclul elementar cu n vdrfuri ii n muchii (graf conex # cu toate vdrfurile de grad 2).X) = C(G+pq. T'i(J) este al j-lea element al multirnii multimilor f'i se considera ordonate.. x). AJgoritmuJ foloseste urmatoarele notatii: d{t) = a. adica p ~ 1.4. 2" . iar muchiilor lui G.G un Ian] de la i la).1 culori diferite de culoarea varfului deja colorat.• p} sau . Daca G = Tn este 51: UII arbore cu n vt1ifuri. x) respectiv C(eG. Cele doua numere sunt chiar C(G + pq. Ideea acestui algoritm este de a marca virfurile grafului eu numere (rol indeplinit in algoritm de valorile variabilei k). ••. numai termeni de forma C(Kp.4. x) pentru diferite valori ale lui p ~ n. Apoi acestea se inlocuiesc cu expresiile date de formula b) din propozitia 1.1. de la j la j ~i pentru ca doua lanturi cu a extremitate comunl se pot compune. 0 Relatia din teorema 1. la un moment dat. x). atunci C(T". Fie X. Are loc C(O at lui x"'} este ega! cu In. q E X doua vdrfuri neadiacenie # ea este morfismul prin care. CoroJar 1. In eontinuare vom prezenta un algoritm pentru determinarea cornponentelor conexe ale unui graf. . Orice graf are eel putln Un graf care are 0 0 component! conexa. Teorema 1.3.1. Aceasta relatie de' echivalenta detennina 0 irnpartire a multimii yfufurilor grafului G in c1ase de echivalenta. c. grafuJ G(Xi) se numeste componentd conexd a grafului dat G.d.x). x} . Daca G = (X U) este un graf. cu i E X. singura component! conexa este graf conex. x) = C(sG. If) neorientat definim 0 relatie ReX x X astfel Dernonstratia face fie prin lnductie fie cu algorimul: Se coloreaza un van oarecare cu oricare dintre cele x culori apoi cat timp exist! varl"colomt cu vfufuri adiacente necolorate se coloreaza un varf adiacent celui colorat cu oricare dintre eele x . este 0 relatie de recurenta care exprima nurnarul colorarilor unui graf ca fiind surna numerelor colorarilor unui graf cu 0 muchie in plus respectiv a unui graf cu un vfuf in minus fat! de graful dat.C(G. E este numarul varfurilor clasificate. relaltie pentru tennenii obtinu]] se poate ca expresia dupa un numar finit de pasi sa contina.x) + C(EG. P.4. n(l) contine indicele ultimului vfirf explorat din multimea T'i consideratii ordonata. la un moment dat. 74 75 .1.4. Graful neavind cicluri nu se vor colora doua varfuri adiacente eu aceeasi culoare.3. atunci Deoarece un Ian! de la i la j induce un Jan.. Observatia a.2.• -!p clasele de echivalenta.x)::: {x-I]" + (-1nx·l). care se bazeaza pe algoritmullui Tarjan (Tarn].5. = i Rj ¢.. Coeficientul lui x" este I.4. pentru i E X. + pq. relatia definita este a relatie de ecbivalenjA (reflexiva. vdrfurile p # q se idenC(G. deci elementele C(C".. Orice clasa de echivalenta X!. numiirul 1n I.4. Varfurile marcate cu acelasi numar fac parte din aceeasi componenta conexa. 1.3. Cu p notlim numarul componentelor conexe.5.4. b. Conexitate 1. Componente conexe Definitiile grafelor tare conexe §i a celor conexe au fost date in primul paragraf al acestui capitol. Conslderand un graf G (X. b. x) :::X(X -1 r. 1.3.3. Definitia 1. simetrica ~i tranzitiva) .4. Aplicand recursiv aceeasi. Xa. iar in finalul algoritmului ceo ::: k mseamna eli vlirful i face parte din componenta Xk. tificli. pentru k E {I.1.1.

rs". conexe este valoarea lui k cu care se termlna cum E ~ 11 e(I) == 0 atunci k :::1.l. i=l: c(j)=k.4. d(I) = 1. !'n care: rI "" {4}.1 pas cu pas face ca variabilele folosite sa p(1) = p(2) "" p(3) = p(4) = p(5) "" 0.$=1. et = 1. deS) c(1) = c(2) = c(3). Executlaalgorltmulul primeascli. cum p(3) == 0 p(3)::: 2.. = = = (b) cum E = 11 atunci STOP. c(4) = I. 5}. i= 3. e(3) = 1. sfp.4.d(5) atunei n(5):::: 1. cump(2) = 0 p(2) ::::4.:: rIel) = 4~cump(4) ::: 0 p(4). E= 5. i = 5. E=4. sfc.l>S) ~ DQciln(i)=d(l) munci i=p(i) a1tftln(l)=n(i)+J. cum p(3) ¢ 0 cum n(4) # d(4) atune] n{4)::: 4. d(2) 2. . k = 0.. i 1. cump(5) = 0 p(5) = 4. cum 11(4) '# d(4) atunci 1l(4)::: 1. E = 1. j=Ii(n(i»: DaclJ p(j)=o aiunci p(j }=i. eI=el+J.I. 3. et=et+I. cum n(2) ~ d(2) atunci n(2) "" I. et = 0. cum n(4) ¢ d(4) atunci n(4) == 3. o{l) . pC 1) = 1. E"" 0. E= 3.3(2) == 4: cum p(4) '# 0 cum i ¢I ~i n(3) ::: d(3) atunci i = p(3) = 2. Determinarea componentelor conexe.4. {2. 1 = 1. cumn(5) :f:. cum 11(1) ~ d(1) atunci Il(l)::: I. = 76 Fig. Exemplul1. cum n(3) ~ d(3) anmci n(3) = I.1. 0(4) =2.j::: r4(4) = 5.. n:. (a) etapa de inilializlIri perriru i= I. E=E+J.4.} == l..:: r4(l) 1. cum p(2) ¢ 0 cum n(3) ~ d(3) atunci n(3) == 2. et=O. n(i)=O.1. E=O. cO) = 1.4..1. i=s. life. k.). Num!rul componentelor algoritmul.4. O. 1. I:::: 2. (b) (b) iteratia de bazli CIJt limp E¢n executJj DaciJ c(s)=O munci k=k+J. ifd.{4}. E=E+1. E= 2. p( S)=$. 77 . i =4. = = = 1. c(5) = 1 et== 5. Consideram graful din figura 1. o(i)=et. 4}.) = r4(2) ""2. Deoarece n = S ~i eel) = c(2) = c(3) = e(4) == c(5) "" 1 lnsearnna eli toate varfurile grafului fac parte din aceeasi components conexa ~i deci graful este conex.t 0 cum n(4) ¢d(4) atuncln(4) = 2. sfd. C81limp (n(i}o'd(i) ~'(JU j.1.. urmatoarele (a) valori: J .j=T5(I) 4. 4}t r4 {l. 0(2)::: 3. r2 = {3. et==2. o(i)_t. cum i ¢ 1 ~i n(4) = d(4) atunci j = p(4) = I.. =s+l. 11(1) = n(2) "" n(3) = n(4) = 11(5) = 0.2.} = f'2( 1) = 3. cump(!).p(]) = i insearnna clivfirl'ul i a fost introdus In aceeasi component! conexa cu varfulj datorita faptuluij E n Algoritmull. cum i = I ~i n(l) ::: d(l).} == r4(3) ""3.1.::1. 0(5)::: 5. I ~i n(S) ::: deS) atunci i = peS) = 4. 2.:: 1. et s« 3.. s=2. et= 4. cum n(2) ~ d(2) atunci n(2):::: 2:}::: l.j. == c(4) = e(S) "" 0. cump(4):f:. d(3) = 2.1. e(2) == 1.O cum i:f:. d(4) 4. Observatla 1. sfd. c(s)=k.j = n(I) = 2.1.3(2) ""4. cump(4) ¢ 0 cum i ¢ I ~in(2) = d(2) atunci l :::::: p(2) = 4. 0(3) == 4.ll executiJ p(i)=o: d(i)=1fl1: c(i}=O.1.

nre. Readln(n]I Sii se demonstreze ea daeii Engraful G (n • J)12 atunci G este conex.4) (3. ~ Char. k.3.y) .1. Prin urmare 0(1) = 1. Un alt algoritm pentru determinarea componentelor conexe ale unui graf se poate eoncepe prin utilizarea variabilelor de tip multime.. Deoarece p(4) "" I. end I Case k of ' 0. contine virfurile: 'J. Dispunemde un graf GO. forma 0 componenta conexi care sil fie reuniunea celor doua componente conexe (numarul componentelor conexe se va micsora cu 1).: (X. p(3) = 2 ~i p(5) '" 4 lnseamna ca in graful dat existl muchiile (4.j. Vax n.i.1. Read(x) I end. . G este graf conex <::::> o. oPresupunem ca G nu este conex deci are eel putin douA componente conexe. La citirea fiecarei muchii se stabileste daca: O. Aceasta muchie face parte din oXA) §i deci w(A) ~ 0. "¢=". 1. de virfuri ')1 Teorema 1. nici un varf al muchiei nu este in vreo component! conexa existenta deja.1.Observatia 1. While x>O Do begin Readln(e.1. Program Carnponente_Conexe. Raad[x] . Writeln.i:2.4.spatiu.BO. 1. demonstram cl daca pentru graful G = (X.nd cont de ordinea de inspectare se Fig. el Arrayll •.1.4. 0 . U). U) are loe VA eX cu 0 ~ A ~ X ~i w(A) ~ 0. obtine 0 arborescenta (figura 1. end.40. 2. a{k]:=i. If a[2J<>nre then cl[a{2]). For i:~l to nrc Do If (x IN cl{i]] or [y IN elli]) begin k:=k+l. (2. Prezentam in continuare mai sus.Arrayll nre. t inseamnl cli varful i a fost inspectat la pasul t.X g(i) ~ Begin Write 78 79 . Folosind-valorile tablourilor 0 ~j p se poate obtine. Fie A eX eu 0 <f:.4.4. .2).40] of Set of 1 . Apoi depinzand de caz se va: .y].k. Fie G = (X.0(2) = 3. reuni componenta conexa cu multirnea fermata din cele doua varfurl ale rnuchiei (numarul componenteior conexe r&nfule acelasi).x. end I I.A.y ~ Word. 1.4. atunci G este conex. nrc:=nrc-l.:cllnre].~. are IDe CJtA}#.virf)' + .2. p(2) = 4.=1 to nrc Do begin Writeln['co~onenta eonexa cu numarul '. 0(3) = 4. I).spatiu. (5.cO.2). U) Uri grafneorientat..4. o(i) . Deci. Alegern 0 componenta conexa ca filnd A si deci w(A) ceea ce este in ccntradictie cu ipoteza. A ~ X alegem pEA ~i q e X-A. Demonstrlim prin reducere la absurd.0.¥.0(4) = 2 ~i 0(5) = 5 inseamnli eli varfurile grafului au fost inspectate in ordinea 1.2. de la pEA spre q EX· A se va depista 0 muchie care are 0 extremitate in A ~i cealalta extremitate in X .... 0 descriere in Turbo Pascal a aJgoritmului schitar = '" e a . = (. Graful G fiind conex intre p ~i q exista eel putin un Ian].4) pe care daca le 3 orlentam tin§. 2. ('Dati nr.1. U) conex. Parcurgand acest Ian. begin nrc:=nrc+l cl[nrc]:-[x. For i.cO. then Teorema 1. " Demons/rark: VA ex eu. Writeln['Dati muc~ile (virf. Vie. 0 arborescentA a unui graf conex. in final [0. oriceJ 'J. End. construi a nouli components conexa ee va contine doar extremitatile muchiei citite (numarul componentelor conexe creste eu 1). un singur vart' sau ambele virfuri se afla intr-o componenta conexi existent! deja.yl1 ~: begin el[a(11]:sclla[1])+cl[a[2]].0#A #x.5. sa. ••2] of 1 •. Cornponentele conexe sunt multimi (clase) ce au ca tip de baza subdomeniul ce confine varfurile grafului.1. G este graf conex. cele doua vaITuri ale muchiei SIDlt in componente conexe diferite (formate pfina la acel moment).~. prin orientarea unor muchii.3. end. For j:=l to n DO If j IN elli] then write(j:3). el[al1]] :=cl(a[ll]+lx.

DemonstuJ. atunci fie A multimea v§rfilrilor care au muchii incidente lor si neselectate (neparcurse). Fiindcli varful tn care s-a ajuns (ales) are muchii incidente neparcurse (neselectate). ".4.1)(n .2)/2 ceea ce demonstreaza teorerna.1)/2 (altfel ar fi in contradictie cu ipoteza) ~i pentru c! v§rful q nu este adiacent cu nici unul dintre cele g(p) varruri adiaeente cu p. Daca au fost parcurse toate muchiile atunei clclul depistat este un ciclu eulerian. avand gradul par. Altfel. = b(h . (a pentru b ~ 1 ~i b 80 = < a. Teorema 1. 1. eu v§rful p ~i nicl eu el instij'i deducem ell . Vom da un algoritm de determinare a unui ciC\u eulerian pentru un asernenea graf.b(a . "<=". Se repetA pasii (2) ~i (3). este conex.1. Daca Gnu ar fi conex rezulta eli exist! doua v§rfuri.(n .b .1)(a .1. neavand varfurl izolate.1.1)/2 ceea ce este in contradictie cu ipoteza.. Graful fiind conex nu are varfuri izolate (fiecare viiIf izolat ar fi 0 . g(q) ~ n .1):S. Deci. Rezultat ce se obtine din inegalitatea b(b-l)n. Alegem bun asemenea vfuf (din alegerea fllcutA deducem a .b vlirfuri atunei a(a . 0 81 . j ntr-o asemenea componentli gradul maxim al vlirfurilor este nI2 . ])enfonstrarie: G este conex ~i liiE X.1)/2.b) . Daca g(p) ~ (n . Daca nu au fast parcurse toate muehiiIe.1 < (n . Fiindca s-au depistat doua cicluri simple din Demonstram eft numlirul maxim de muchii pentru grafeJe care nu sunt conexe este (n . II are graful cu dou! eornponente conexe $i una dintre acestea este un van izolat. > a(a . Pentru corectitudinea algoritrnului vom utiliza teorema 1.2 = (n .4.4. se alege (pareurge) 0 asernenea muchie pentru iesirea din varf deja.+(a-b)(a~b~ 1)/2= I)(a . Demonstra(le: Oriee gra! de ordin n conex. Estimllm gradele v§rfurilor aeestor grafe.1)12 . ro(A) 12'.3)/2 s::: (n . dintre grafele care nu sunt eonexe nurnar maxim de muchii il au grafele cu doua eomponente conexe. 5.1)12 + (a . Fiindcli G are eel putin doua componente conexe. Repeta pasul (2) pan! dnd se ajunge in v§rful de start §i toate muchiile incidente lui au fost utilizare (parcurse). Apoi. atunci dintre acestea exista eel putin una care are eel mult . eulerian si forti vdrfuri izolate tot cu metoda reducerii la absurd. parcurs). 4.1.2:S.2)/2.b) . gel) este par.112vfufuri.. De aici se deduce ell. UJ. Sli presupunem cli G este un graf cu n v§rfuri ~inu este conex.o!: b). G este conex ~i ar contrazice teorema 1. atunei parcurgand complet acest cic1u incepand cu 0 muehie (varf) oarecare. 0 DIm a altli demonstratie Demonstra(ia 2: . arlee asemenea graf este conex.4. Deci s-a depistat (parcurs) un cic1u simplu. Din dernonstratia BeutA se deduce cl dintre grafele care au n v§rfuri §i nu sunt conexe numarul maxim de muchii.b)(a . Aceasta rezulta din faptul crt daca numarul de vArfuri este a iar graful ar avea doua eomponente eonexe cu 1 S b < a . CU mai mult de (n-I Xn-2)J2 muchii este component! conexa). = (a .g(p) . 0 Daca grafuJ are un ciclu eulerian (simplu Iii utilizeaza toate muchiile).(X.1)(n .3.~" Teorema 1.(a .1. ceea ce sere a contradictie eu ipoteza.1)12. tnseamna eli gradul fiecarui v§rf este par.2)/2.ia .1.b(a . Mai intAi sll deducem de aici cli graful.2)12 . Demonstratia are doua etape mai int!i se aratli eli numarul maxim de muchii pentru grafele eu un numar dat (constant) de v6rfuri tJ au grafele eu 0 slngura component! coned (complete).1)/2 . cu I X I = n >1 are ~ G este. 3. n . Alegem (ne plasam in) un varf oarecare a. Dintre viirfurile lui A eel putin un van a fost utilizat (vizltat. s! Ie notam p~i q intre care nu exist! niei un lant. deoarece se pareurg toate muchiile.la 1: '!-' Demonstram cll G este conex prin reducere la absurd.4. Cealalta etapl eonst! in a dernonstra cD. care este (n . La fiecare intrare intr-un van se ~i iese din ace I varf §i de fiecare se parcurge 0 muchie nefolosita. un graf cu numAr dat a de v§rfuri $i cu doul componente eonexe are numar maxim de muchii daca 0 component! are un singur v§rf.1)12. Pentru orice graf neorientat G loc: =. caci el este suma nurnarului de intrari in varf eu numarul de iesiri din acel varf. 2.

q E X astfel incdt coniine (trece prin) pe i..(O.A nil este conex. pentru k ~in > 1. .' (X. y..6. Presupunand ell succesiunile de varfuri ale celor doua cicluri sunt a. 1.(6) pot fi 1n1ocuip de 0 frazA cattimp (while).2.. 0 Mulpml! tk arlicula(k este 0 multime A c X. n(i)=iJ: Fie G = (X.. Vw(i» nu mai este conex. at!ClIliI p(i)=O. G este graf k-conex.acestea vom construi un singur ciclu simplu ell care va continua algoritmuJ. k < I X I.a ~i b. g\i} == g'(ij. Prin urmare. alegem vfufurile p din A ~iq din X . .. Asadar. p. . a. Definim muchiile astfel (P..4.". . ~iindicele met) = min{I(j) Ij E DO)}. in graful G .4. Sa se verifice daca urmatoarele grafe sunt sau nu conexe: . Pentru fiecare varf t. b. U). p(s)=s.2 b. Pentru un graf G = (X. Deci. Algoritmull. o muchie u E U se numeste istm daca G .4.i nu exista lanturi deducem eli. 6. orice lan] intre p ~iq din G are muchii din ffi(i) ljj deci treee prin vArful i. o(s)=/.i == (X ... Vartul i pentru care m(i) . X = {k.2. . k + n}. {u} este un cociclu al grafului G. Dacil n(i J=d(i) I1huu:i 82 83 .1.1. s=l.. Fiecarui virf j e DCi) ii asociem numarul I(j) == min(o(k) IkE rj) cuIAI<k.{u} nu este conex. b. a.n ifp.{i} nu este conex. q.. (b) iteraiia de baza Cdt timp (n(i)Ri{j).q. Teorema 1. . Pasii (4) . . Reia eu (4) sau goto (4). . Un virf i E X senume~punct (vllrJ) de articula(ie daca graful G . cu 1 :.5. Algoritmul 104. Fie i un punct de articulatie a lui G. notam eu D(i) rnultimea descendentilor sli din arborescenta definita de algoritmul 1. i=s..pentrun>1.1. ca alegerea Demonstratia este similara eu eea a teoremei preeedente numai elementelor din Use face tinAnd cont de orientarea arcelor. Fie A a components conexa a acestuia. . . Altfel spus G este k-conex daca G .. Pentru eli 0 :I. p. UJ conex are loc: un valj iEX este punct de articu/alie al lui G # ~. 0 .1.1. de varfuri.o(i) este un punct de articulatie.4. y.. fiecare din aoeste Ianturi contin eel pupn 0 muehie din ffi(i).A. Fie X 0 multime finita de numere naturale. . n).. adie! p ~i q sunt in componente conexe diferite. "~".A *orice lan{ Intre p ~i q il d(i)=lnl: m(i)=+"" el=l.1.U) un graf conex. b atunci ciclu depistat pBna Ia acest moment este a. intre p ~iq.4. .1 poate fi transformat pentru a determina puncteJe de articulape ale unui graf in continuare prezent!m aceste transformari [Tar72]. Peruru orice graf orienuu G. .i nu exista lan. b. X. cu proprietatea dl. Determinarea punctelor de articulatie pomind de la virful s ::::: ..1. Demonstratie: "~. (a) etapa de inilializiiri pentru i=l.A este conex pentru orice A C X Teorema 1. cu X I 1= n >1 are loe: G are un circuit eulerian ~i nu are izolate ~ G este tare conex Demonstratie: ~j \tiE X. Adidi. k + 1 Definltia 1. Fie i un virf oarecare al grafuIui cu preprietatea eli exista vfufurile p ~i q astfel incit alice lant intre p ~i q fl contine pe i.j nu este conex sail i este un punct de artieulatie. x. 0 Problema 1. daca k este mai mic decat cardinalul minim al multimilor de articulatie ale grafului G.4.1. .s= i>':1) ex«uIiI.1. 0 X. X={1. q) E V ¢::) p ~i q sunt nwnere prime intre ele. Rezulta cit graful 0 . G . Atunci cum intre p ~i q in G .

Definitia 1. Nnmarul m .'mln{m(i).n + p se numeste numt'ir clclomatlc ~i se noteaza cu v(G). Aceste numere. ial' r* este numarul de treceri in seas contrar. .2.. ~a cum se va vedea mai departe.1. Adliug!m la rnultimea ciclurilor ~i ciclul vid caruia ti corespunde vectorul 0 ~i care convenim cI este rezultatul lui OIJ.p se numeste numitr coclclomatlo §i se noteaz! eu p(G). vorn lntelege ciclul obtinut prin pareurgerea lui J. = (J. -.4.LI = {6. ' 85 .4. j=p(j). Mai intai Yom defini in multimea ciclurilor unui graf 0 operatic externa numitAprodus cu numere Yntregi. Adie! definim relatia R astfel i Rj ¢9 i == j sau rn G exist! drum de la i laj ~i de laj la i.Lh J. j Definim acum suma a douiJ ciclurl eiementare J.4. sunt dimensiunile unor spatii vectoriale definite cu ajutorul ciclurilor respectlv coclclurilor unui graf oarecare G. Ordonand multlrnea arcelor grafului orientat G". i.2.L de I a lori fn sensu I lui J.0. sa.9. J in care s-au ordonat arcele conform numerotArilor din £igor!. I.S.' Dacil mlj)=o(i)Dl1lIICi a4/.'l notata cu JlI + Jl2 ca fiind multimea areelor ce au componentele corespunzatoare din vectorul suma a celor doi vectori asociati ciclurilor J.L ti atasam un vector J. Valorile componentelor vectorilor se stabilesc astfel: J.2) Definitia 1. care au ca vectori asociati pe -> Il 1= (0.4= dk. Cu algoritmuI 1.O.1.0..pentru oriee ciclu J. i=j.Ll nenula. 'ntr-un mod analog se definese eomponenteie tare conexe.rJ din spatiul JRm• m(t). S~ar putea ca tn vcctorii J1 I ~i J1 2 componentele corespunz!toare unui arc sli fie diferite de zero dar in -> -> -> J. Numilrul n .5. Alegem ciclurile J.6} ~i J.1. Pentru exemplificare eonsideram graful din figura 1. Virful t pentru care m(l) = o(£) deconecteaza graful in eel putin doua eomponente tare conexe. ExempJull.4.4.L 2 respectiva componentll. Deoarece in precizarea unui eiclu nu are importanta vdrfu! cu care se mcepe.2.I. Vectorul 0 corespunde ~i ciclurilor care contin arcele unui Ian] elementar de la un vBrf'i la un vBrf' parcurse de Ia i la j §i apoi de la j la i..l. Dae! dk reprezinta numarul de treceri ale cic1ului m prin arcul k In sensul arcului.> n(iJ=n(iJ+l . .0.o(iJ}.1. Intr-un mod analog se ataseaza vectori ~i cociclurilor grafUlui. Fiind dat un ciclu J. m(i)=Q. j=lT(n(i)): Dad plj)=O atunci m(j)=nu'n{m(I). atunci J. Numir ciclomatic §i numir cociclomatlc Fie G == (X.~i se termina succesiunea de varfur] (sau arce) ale ciclului operatia de compunere a ciclurilor se deffneste altfel dedit cea de compunere a drumurilor ~i 0 vom numi sum! a ciclurilor..LI ~i J. allfel r=p(J).L I + -> J. m} fiecarul ciclu J.2.4.LI §i p. adica U". p(J)=i. . Observatia 1. Componenta tare conexa C. (X. l) ~irespectiv 84 . fie zero..2 aplieat grafelor orientate se pot determina eomponentele tare conexe.0. 2.Q=m(i). npl:tnlte t. 1 sau -1. U) un graf oriental de ordin n. U). 1.3.4.o(r)}. {I.L daca a> 0 sau in sens invers daca a < O.L ~i un num!r intreg a prin a). de dimensiune m ~i eu p eomponente conexe..0.L.O.L o(l)=el..4.. care contine vfufUl i se poate detennina ~i folosind relatia..J.L2 = {2.-1..1.2./ lid. life.2. "est' punci de artlclila/ie-. Una dintre aeestea corespunde multimii de vfufUri care au fost inspeetate dup! ultima trecere prin varful i.rk' Daca cic1ul este simplu sau elementar atunci componentele vectorului atasat lui sunt 0.2.0. I!I=el+l.2.

l.0.. • Deci lema este demonstrat! -> -> ".1 este valabila ~iin cazul in care IJ. Vom demonstra.) 113 numere intregi.1.2~*O}.L in mai multe lantori care apoi compuse fonneaz1i un ciclu ce ca vector asociat Un alt exe.l.. ~. sa fie ciclul (a + b)1J. " §i in acest caz.C{UE U]).0. .I.. axiomele unui spatiu liniar. c.I.0. Dacii J1.o!:O}atuncilema are loe in mod evident.. devine zero dupa 1nsumare inseatnnrt ea ea a fost parcursa de cele dow ciciuri elementare in sensuri diferite.2.3 din exemplul 1.o!:O)0{UE U]). este aJ. Ji # J1 atunci 0 reuniune de Lema 1. (i.I. Prin analogie cu notiunile din algebra liniarli spunem cli multimea ciclurilor unui graf este multimea generata de catre ciclurile elementare disjuncte ale grafului avand ca scalari numere intregi.2. Pentru aceasta a Tamas de arAtat faptuJ c! exist! v(G) cicluri elementare Iiniar independente.1. atunci ciclurile e1ementare care tree prin II. Aceastli structura algebrica verifica ca Daca exista mai multe arce ale caror componente din vectorul surna sunt . luril I· 2 zero atunci Intr-un mod analog cazului precedent se desc ompun CIC e u §1 J.0.1 sunt toate cicluri elementare ele nu sunt Iiniar independente. fie pe . atunci suma celor doua cicluri este definita de vectorul -> ~ 1+ -> r . al multimii ciclurilor unui graf Ii spatiul liniar al vcctorilor asociap ciclurilor.1. un ciciu elementar un ciclu elementar 0 {2.0.. corolarul 1.0.2.1.2. FIg 1.I.0.0. pe ).6.l. Astfel se poate defini un izomorfism intre spatiul I~ .1.3} a.1. -Compunem apoi aceste lanturi unuJ ce intra in t cu unul ce lese din i astfel ca ciclurile obtinute sa fie disjuncte ~ reuniunea lor (ciclul in sens largcorespunzator) are ~a vector asociat pe IJ.2. nwnaruJ.2.0.2}.1.0. ~ 2= (-1. = Demonstra(}e: Dadi{uE UI).0.0. ). Sa retinem ca multimea scalarilor are doar 0 structura de inel flW divizori ai lui zero.L\ ).2.1.I.1.-> )...u ¢ OJ este fie un ciclu elementar fie cicluri elementare.l.l 86 87 .t 0 este suma a dOUG cicluri ele~entare {u E U I J1.4. = G intelegem: Ciciul {3.3. J) valoarea corespunzatoare din vectoruJ swn! este zero.0. sau sau ..0.4.. un ciclu elementar a). are atasat vectorul nul din R 13.1. · Suma a - a cicluri egale cu ciclul IJ.-1. Aceasta pentru cA daca pentru un arc II.9. sa remarcam acum cl d~i ciclurile definite de vectorii J.sau pe -J.:.2.2 = (-1. .. Prin dell/.4. ciclomatic este dirneasiunea acestui spatiu liniar. este 0 combinatie liniara de cicluri eu scalari numere intregi.4.. Extindem Dotiunea de ciclu la succesluni de vArfuri sau muchii care se pot descompune in cicluri elementare.1 se obtine un ciclu elementar ce are ca vector asociat fie pe ). Folosind notiunea de ciclu cunoscuta se poate deflni recursiv mulpmea extinsa de cicluri dup! cum urmeaza.1.4. Daca insi'i componenta asociat! unui singur arc II. 2 3 Fig 1.l Convenim ca pentru a ~i b doua ..4. fn sens larg at unui graf care este vectorul asociat ciclului . h. lanturilor ce inW in i respectiv j este egal cu al celor ce ies din i respectiv j.1 cu lantul de la j la i din ciclul ).1..0.).-1) .3.1.2. Daca se compune lantul de la i laj din ciclul ). parcurs de un numar fntreg de ori reuniune de cicluri in sens largo a Suma a doua cicJuri oarecare 0 definirn ca frind suma sumelor algebrice cicJurilor elementare care compWl cele dow cicluri. adici numarul de treceri prin U pe un sens este egal cu numarul de treceri pe celAlait sens.5. se pot descompune in lanNri cu proprietatea c~ nwnaruJ.4. ''.mplu de spatiu vectorial de dirnensiune v(G) este dat In an: capitolul2.I..1.0. + b).2.2.I. . Lema 1. iar ). Notaro extremitatile arcului U cu i !1i j.\. Schematic situatia se prezinta ca in figura 1. 0 -.

iar p' dupli cum i ~i j sunt sau nu in aceeasl component! conexi este p respectiv p . iar 2 ~i 4 exprima "G este flrl1 cicluri # are numl1r maxim de muchii intre grajele aciclice cu 11 vdrfuri".:. 3.4. Cum muchiile ciclului s-au adaugat pe rfutd in. G este conex # suprimdnd 0 muchie nu mal este conex. 0 $i v(G ~ = 0 adaugftlJl pe rand cate 0 muchie pan! se obtine graful G. 6.1 doar 0 singur! datA. (X. 89 .2.1 deci trebuie ca v(G) ~ 2. Daca graful G estefora cicluri. Demons/rape: Consideram cft am obtinut graful G pornind de la graful vid ca in cazul corolarului precedent Cum v(G) "" 1 Inseamna eli s-a trecut prin cazul 1 al teoremei 1.2. Demonstra(k: Procedand ca mal sus daca valoarea lui v(G) a ramas 0 tnseamna dl la fiecare adaugare de muchie ne-am situat in cazul 2 al teoremel 1. teorema 1. momentul cand s-a adaugat ultima muchie a cic\ului respectiv am fi fost tot in sitnatia 1 din 88 Dacd pentru un grafv(G) = J atunci groful coniine un stngur cielu elementar.4. Prin urrnare daca v(G) = 1 graful are un singur ciclu. - 2.4.4. 0 Din corolarele 1.4. Altfel dacl s-ar fi inchis un at do ilea ciclu inseamnll ell intre i ~i j ar fi existat eel putin doua lanturi diferite deci in grafu! de pa. V) graful obtinut din G prin adaugarea muchiei (t.2.4.2.4. Deci sau adJiugat mereu muchii intre v§rfuri din componente conexe diferite.m + I ~in' n.2.4.:. Demonstrafie: Deoarece m' . Atunci:1. Acum prin simplul calcul al nurnerelor peG) ~iveG) se obtine concluzia teoremei.nl la aeel moment exista un ciclu.1.4.4.2.1 ~i 1. Conform teoremei valorile lui peG) $i v(G) sunt numere naturale rnai mari sau egale decAt valorile de pomire.1. 5. in acea situatie muchia (it 1) adllugatJi a lnchis un singur ciclu.Teorema 1.2. U) un gra] de ordin n ~ 2_ Aflrmafiile urmdtoare sunt echivalente ($i caracterizeaza notiunea de arbore): 1. 2. 0 Corolar 1.3.:. Demonstra(le: Yom cia 0 demonstratie circular! echivalentelor din teorema. 4. Fie G = (X.4.3 se deduce: = = = iii j sunt in Corolar 1.1 muchli.1.2. $) in care peG ') .2. G este un arbore. Arborl §i paduri = Asa cum s-a definit in primul paragraf al acestui capitol prin arbore intelegem un graf conex $i f!rl cicluri.ie: Rezultatele se obtln daea pomind de la graful vid G'.2. 0 Coroloar 1. G este conex gi are n . care muchii nu pot inchide cicluri.2.J muchli.3. intre or/care doua vdrfuri ale grofului: existii un singur lant- Sli observam eli propozitiile 3 ~i5 se pot formula "G este conex si are numar minim de muchli intre grcfete conexe cu n vtirjurt'. 0 Ii l1'G) ~ O.(G') v(G) (dacli componente conexe di/eTile ale lui GJ. G este forti ciclurl gi are n .3. fie AG') P(O) + -1 Ii I. Pentru orice grtifG au IDe AG) ~ 1.4.4.1. Fie G = (X. fie AG') p(G) Ii l1'G') = v(G) + 1 (dadj i # j sunt in aceeasi componenui conexll a [IIi G). j). Teorema 1. G este fora ciclurt $1prin adaugarea unei muchii tmre doua vdrfuri neadiacente se formeazii un singur ciclu. Observatlee Daell pentru un graf G. atunci l{G) = O. Demonstra. v(G) =' 0 atunci graful nu confine cidurt (se suhinleJege diferite de cidul vid). U) un multigrof lar G' = (X. 0 Corolar 1.1.

. dl + d2 + .1) rezulta deci v(G) = O. 90 91 . In plus G • are p + 1 virfuri §i p muchii (G are p vfu:furi ~i fiind arbore are p .. Deoareee dispunem de p numere naturale care verifiea 0 < d2S ...:.. Deci G este tara. + d~1 .n + 1 0 de undem = n .I muchii).. . iar arborele G = ({ 1. ~. 0 deoarece G ' s-a obtinut din G prin adaugarea unl!i varf~i apoi a unei rnuchii mire v§rfuri din componente conexe diferite (vezi teorema 1.p + I} se obtine p + 1 == dl + d1 + . + dp+1 = 2p ..4..1). d1 + d2 + ..te un arbore cu p vfufuri care au gradele d .. Aplicand teorema 1. = v(G ') . n = 2 din relatia data... Fie pEN' §i 51!. Deci 3i e {2. n} §i d. 4~5 Vom demonstra prin metoda reducerii la absurd c! G este CODex.. . U) este un arbore cu X ~ {I.' . 2p. Vi E (1. 2.I) + .2.4. m ' n .. G fiind conex intre oricare doui vfufuri exist! un Iant. conform ipotezei flcute exist! un arbore G = (X.. P + 1 f astfel ineat di_1 < d.I ~i t . Fie.4. Adica am demonstrat eli proprietatea este adevlirat1 ~ipentru p + 1. il alegem pe eel mai mie i eu aceasta proprietate. Conform metodei utilizate impUcalia are loe pentru Vn E N°.. dp. Pentru.2 exist! c§.1. Construim graful G' = (X'. 2~3 G fti.1 deci p "" 1 ~i prin .2. Fie 1I.2. = = Deoarece intre oricare doua v8rfuri ale grafului exist! Ian] grafuJ este conex.1::: g(i).m = 2 deci nu mai este ." + dn = 2n-2 daca ji numai daeiJ existii un arbore G = (.n + p urmare G este conex.1 fiind in cazul 1 deducem v(G ') = v(G) + 1 = 1.2}.rl!. d.. {2•. Conform corolarului 1.[i} ~i d. Xu {I} ~i U' = U u {(I...4.:..Denwnstrafie. Daca ar exista doua vdrfuri mtre care sli existe doua lanjuri atunci lntre cele doua varfuri exista un ciclu $i suprimiind 0 muchie a ciclului graful rlimdne conex...1.c:l g(i) = 2m deducem d1 + dz + . Din v(G') 0 deducem ca G ' nu are cicluri. 6 => 1 5~6 Demonstram cealalti implicatie prin inductie matematicil.: 1~2 G fiind conex lnseamna p = 1.1 muehii (m = n .:. U')... p + I} sl: dj= g(J). Sa se demonstreze ca dJ + d2 + . Vj EX'. 2.2.. . S dj•J S. caci daca dt I.cicluri §i conex atunci v( G) 0 de unde m = n .1: Dacli G = = (X. Vj E X . cicluri ~ v( G) = m . 2•..:. Deoarece G este farA cicluri din corolarul 1. Demonstram prin reducere la absurd cli Intre oricare doua varfuri exist! LIn singur ·lan!.4.X U).1.. Pe de alti parte dn ~ 2. considerata ca ecuatie cu necunoscutele d I ~i d1 din. cu X = {I. unde X' . acum p + J numere naturale 0 < d. s: dp+1 ~i d1 + dj•1 + (dl.3. U) eu X.S dp S di-+I CU d.2.3.1. .. ~ d2 5 .2 ~i p .4 deducem v(G) = 0 awcl!. Deducem dJ=l.4. presupunem c! pentru flecare set dlo dz •. de grad I (vdrfuri jhmza). Deci graful este conex ~i mrA cicluri adica este arbore. gradul virfului i..3 inseamna eA G ' obtinut din G prin adaugarea unei muchii contine un singur ciclu.1 S . Vi E X... . caci altfel 2 S d. Se da graful scara cu 2n v§rfuri: vaifului i. Problema 1. Cum intre oricare doua vfufuri exist! un singur lant graful nu are cicluri...m .2... .. n numere naturale. N • rezulta cA singura solutie este dl = d1=. = = conex. + dp+1 == 2p.n .EN·si 0 < d. 0 Teorema 1. Grice arbon: are eel piqin dQua vdrfur.+ dn == 21J . dp de p numere naturale care verifies . Daca suprimam 0 muchie graful obtinut are v( G ') = 0. G fiind conex (p = 1) ~j are n . gradul Corolar 1. 3~4 = 0 dar m = n .4.3. + dp = 2p . Acest graf'este arbore pentru cll v(G ') V(G) .... + dz + . iH.2. + dp+1 = 2p. s: d1 s: .. d2• .. n} ~i d. ceea ce este 'in contradictie cu ipoteza. Deci G • este arbore ~i gradele varruriJor sale veriflca dj = g( J). 0 = +.teorema este verificata §i pentru II = 2.2)}) este un argument ei!.. Dacli G nu este conex atunci adaugand 0 muchie intre doua componente conexe ale sale nu se formeaza nici un ciclu. {(1. ~i 2p + 2 S. '<It E X. ~ dn. pentru ca m = n ..

= a..3. este exprimabil prin cardtAalele multirnilor Ap cup < n. td. 'tntr-un mod aseJI?inator se determlna eli ~irul numereJor.) ~i este din Z Aceasta functie este IOJectiv! ~l surjectiva §I pentru e~ Y n Z = 4l deducem: Rezolvare: Pentru a rezolva cerinta problemei vom detennina numarul de elemente al mu1timli fermata din toti arborli partlali.2 ~ Din cele aratate mai sus ~ipentru ca B n enD n E".4. IAn' :.. = 1.te pr~ numlirarea arborilor partiali ai grafului scara eu 2 respectiv 4 varfuri. E -7 Z definita astfel pentru fiecare ~ E E construim pe f£<. Utilizam deseompunerea An =Bu CuDuE unde B a.. Apoi.l .y..hY.. n} §i U = W... w ..J3 ~i deci acestei relatii de recurenta are rlidlicinile a" = CI + Cz (2 . sa se arate c.! = Yu Z.- I (y. c= An 1 (xn. notarn cu Air multimea arborilor partiall ai grafului searl! cu 2n varfuri §i descompunern aceasta rnultime mtr-o partitie cu multimi B earor cardinal..l.a".4an•1 + a".) E E D = {P E All E=A. fie se detenninA expresia termenului &eneral de exemplu pe baza ecuatiei caracteristice dacA relatia de recurenta este Iiniarli.P) este ar~o~e (~ ~ c~n ~fl.....P) ea fiind graful obtinut din E prin eliminarea vfufurilor X" : "I' a celor trei rnuchii din P incidente lor ~i apoi se adauga muchia (x"_1> Yn-l)' ~1 Yn ~ b di .•FunetiiletB. Prin rezolvarea sistemului astfel format obtinem conduce la rezolvarea problemei. = unde 92 93 . aI c!rui te~en general se cere este sirul lui Fibonacci if" "'in-I +fn-z culo == fi ""1 §l h = 2) deci . IE' an = I Z ..) {P E All I (Xn-hX. C respectiv D ~iA". a...J3r a". h.2.1 + a . an = I A~ I.3.) ~i este din A. Graful astfel obtinut din P notat tB(P).)!C P) = {P I (X .. U).z.l exist! cate 0 bijectie definita de eliminarea vlirfurilor x" §i y" ~i a muchiilor incidente acestora din fiecare arbore P E B. fie se scrie un program care sit utilizeze 0 procedura recursiva ~i care s! afiseze un numar fixat de valori ale ~irului in cauza.. 2J3 ljt C2 == .z =0 Ecuatia caracteristicl1asociatli 2 ±. Vom considers submultimi ale lui A~ dup! cum contin sau nu muchii dintre cele 3 care apar in plus fat! de graful scara cu 2n-2 muchii in graful An..~.Xn) ~i b. Pentru a exprima cardinalul Iui E cu termeni ai ~irului (a. Deoarece Intre multimile B. Pentru fiecare n E N· se considera graful Gn = (X. exista.. acest gra f are (2+.4. 1.. I Y I = an-I . Acest grafreprezentat geometric este Ultimele egalitati de mai sus au loc pentru e! orice arbore este conex §i deci exista limt intre X~ respectiv y" §i flecare dintre eelelalte vArfuri. cu 2n varl'uri.. Pl.).i = 1 }.) §i (Xn'YII) E P}.' Deoarece se cere un numar a carui expresie depinde de n.l (2 + .. facern urmatoarea descompunere a lui A. Detenninarea acestei expresii se poate face prin a derermina a relatie de recurenta.J3)' . ..P) respectiv to(P) este arbore (in baza conditiei 2 a teoremei ] ..) I i= 0 sauj .h y...1.2. Problema 1..) e PJ (B u Cu D) = B= '" {P E All I (Xn-I> XII) ~i (x". Pe de aM arte mtre multimile E ~j Z exist!l bijecpafE. 2 Funcpa astfel definita este corecta pentru c!fEf.l...). IIIobtinem: = 3a".el . se poate mterpreta eli se cere expresia termenului general al unui §ir de numere. De aici se deduce I B I [C] = J D I = J An I = all.. care sunt arbori).. CI Constantele CI ~i Cz se detenninli din valorile 01 = 1 ~ia.1.fi)" arbori parpa I'I ('"""~e t: on 2vj . (Y"_loY. C ~i D se obtine I Y.. cu X = {O.2 = 4 obtinu.. Pentru a aplica metoda sugerata.. partiale.. (Y".3.. din teorema 1../c ~ito I precizate sunt (se demonstreaza usor) injective §i surjective deci bijective./3 • ceea ce 1 = {P E An 1 (x"_l> XII) !C P} [PE '" {P E All f(y.4. Qn.. YII) E E An Pl... y._I: A._lo Yn) §i (XII. elite mulpmi K cu II muchii neadiacente (cupJaje maxime $i perfecte) x Analog calculului cardinaIelor lui B. C respectiv D.. Pl./3t-(2-.

n)..I I = an_I· Convenim ca Ao sli contina doar graful (arborele) care are doar n-2 c.1•. adica multimea arborilor ca 11-2 partiali ai lui G. n) cat ~i muchia I an = !All! = I B ! + I C I + I D ! = all. este conex ~i are n muchii.. f (P) care este graful obtinut din P prin eliminarea varfului n ~i muchiei (0. prin enumerarea grafelor partiale ale lui G. Este usor de demonstrat c! graful h(?) E D ~i h este bijeetie. prin eliminarea v&rfului n ~i a muchiei (n. n) ~i nu contin muchia (n. dedueem ca/este $i surjectiv. Pentru n = J. n) orlcarui arbore S E An•1 se obtine un arbore P E B ~i deci I (P) == S.Sa se determine numarul arborilor de acoperire ai lui Gn• Rezolvare: Similar rezolvarii probJemei 104. 94 95 . dintre arborii PI ~i P2. 11) Il: P ~i (II . al 3.: ~ * ~ all_I· b. este bijectiva. n) E P}. adlca multimea arborilor partiali ai lui Gil care contin muchia (n . din arborele PEe. are eel putin 0 muchie (neincidenta varfulu) n) care nu este in celalalt arbore.1 + an-I::" ~:ak 1=0 = (n. aJ = 8 ~ia4 = 21. 2. care contin affit muchia (0.) E P ~i (n . n). n. prio adaugarea vllrfului n $i a muchiei (0. n) ~j nu contin muchia (0. .B bij ectii intre multirnil. Vlirfu'J 0 ~i nici Pentru a unna metoda de Ia problema precedenta facem urmatoarea partitionare An B u CuD.1).1 B I = I An-I 1= Definim f: B -+ An•l• prin care pentru fiecarul P E B Ii corespunde G.n-l). P este arbore}. Se poate defini ~iroJ (an)n2:I' Ceea ce se cere. este sa se determinam termenul general al acestul ~ir. Cum. unde: 0 muchie.1). pentru P E B. Din cele de mal sus.1 vorn considera multimea An fermata din toti arborii de acoperire ai lui G". este conex ~i are n ~ 1 muehii. dedueem cli I(P) are n viirfuri. Definim functia h : n-2 UAt ~ E (D.1. C ~i An•1 $1 D $i UAk ' am presupus n ~ 2. n.. I. Deci. V). Reprezentarea geornetrica este: Se deduce cl!.ca fiind graful obtinut din P prin adlugarea v4rfurilor k + 1.1. Vom demonstra ell exista B ~iAn-I. adica multimea arborilor partiali ai lui G" care contin muchla (0. E B ~j PJ P1 rezulta e! fiecare. se poate interpreta cA.J(P) ¢ f(P1). = Astfel a.•.. se obtin elernentele lui An ~i{II :. n . D. Analog. . n . n .1. D = {P E An (0. Deci. ~adar.1. V c U. functia g : C -+ All. adica An = { Pip == (X.e: nC = B n D = enD n-2 k~O = Ill. n . n) E P}." definita prin g(P) = grafuI obtinut. deducem C = [P E An I (0.• k + I}. 3 ~i 4. astfel kmO = pentru fiecare P E UAk rezulta eli exist! un k ' 1..3.11) E P ~j (n . fl) Il: P}. Deci/(P) E An_I' Daca PI' P2. I C I = I A~. Din definltie deoarece P are n + 1 v8rfuri. adic! I este injectiva. !=D astfel Incar PEAt ~i alegem pc h(P) .2) B = {P E An 1(0... n ~ a Iantului {O.li.

3. Definitia 1. Fie u muchia din G ce se analizeaza Ia un moment dat. iar Gc reprezint! subgraful care contine toate muchiile colorate ale grafului.3. .4. rlidacinile ecuatiei .e nu trece niei un ciclu cu toate celelalte muchii colorate in Fie G = (X. Deci un alt mod de exprimarea a valorilor termenilor ~irului (ali). 0 plidure a. rosu.3. ~ Muchia u ce se analizeazA la un moment dat are extremitatile tn aceeasi componenta conexa a lui GR ~i a lui Gc sau in componente conexe 97 96 .1.4."-'*} . prin .all·z + (2aft-J + La. .3. Yom da in eontinuare un algoritm pentru construetia unei paduri maxi.J = 3±J5 2 . Cum.. = l+:sr'*' -(l-.1:=0 ~ Zan•l . Prin urmare: CI ~i C2 obtinute din sistemul al = 1 ~j a2 = 8 sunt CI = -C2 = Deflnitia 1. Notlim cu v/ numarul v!Tfurilor de grad i. orice arbore are eel putin 2 varfuri frunza. Sunt posibile doua situapi:" a. b. atunci vom colora muchia u in verde.male a unui graf G = (X. n-3 .?. .2.1. if) subgraful P = eX. La fiecare moment GR reprezintA subgraful care contine doar muchiile colorate cu rosu.= Js[( = Js[( 3+2~J-(3-2~Jl fermata dlntr-o singura componenta conexa este un arbore. prin u trece un ciclu eu toate celelalte muchii colorate in rosu. U) un arbore de ordin n ~i dimensiune m. sa descriem acum aJgoritmul. sa se demonstreze eli VI ~ V + 2.3. Observatia 1. cu ajutorul termenilor ~irului lui Fibonacci. ) = 2a"_l- Deoarece G este arbore rezultli cli all·z + an·I' • m = 11-1 sau 2m = 211 .S). Astfel se poate pune problema de a detennina 0 padure cu anumite proprietaji. expresia ~i pentru eli kvk este numarul de muchii incidente tuturor varfurllor de grad k ~i fiecare muchle este incidenta Ia doua vdrfuri se deduce: VI + 2V2 + 3V3 + __ = 2m..I. este all = fz". atunci vom colora muchia u in rosu. U) dat.2 . Algoritmul analizeaza muchiile grafului G intr-o ordine oarecare ~i coloreaza muchia analizata cu una dintre culorile rosu sau verde. Pentru un graf G = (X. Constantele 1 . Asadar..4..h "rIn EN·.. pentru fiecare i E N §i cu v numarul vArfurilor de grad mai mare ca 3. Problema 1. Un graf care nu are cicluri se nurneste plidllTe.4. Din ultirnele trei relatii se deduce relatia de demonstrat.l. FUnd dat un graf oareeare acesta are ca subgrafuri mai multe paduri.. Deci termenil sirulul (aJ""N verifica relatia de recurenta: Pe de altll parte 2(vl + V2 + V3 + __) = 211 . Pe de alta parte stim e! termenii ~irului lui Fibonacci au expresla '? . J5 . 1) este piJdllre maxima/II daca Teste maximala tn raport en incluziunea in rnultimea partilor multimii U. Deci fiecare componenta conexa a unei paduri este un arbore.3x + 2 = 0 sunt termenului general este XI.

Dar GR porneste de la grafuJ vid Cafe are 11 componente conexe ~i se ajunge la un graf cu p componente conexe.4.p muchii.1 prin adaugarea unei muchii la un arbore. Deci {UE UIS. Dacd P = IX 1') este 0 pddure maxima/a a grofului G = atunci G si P au acelasi numdr de componente conexe. Deci P nu poate avea mai putine componente conexe decat G.. se va forma un singur ciclu. . Din modul de constructie graful G/I..3. Daca Par avea mai multe componente conexe decflt G atunci Inseamna eli in G exist! eel putln 0 muchie care conecteaza doua componente conexe ale lui P. d. eu eu U) . T) rule a padure maxima/a a grcfului G = atunci prin toate arcele u E T treee cdte un singur cociclu toate celelalte muchii apartindnd lui U .eO} cT.l ::: (). 98 99 . tn acest caz cum P . Deci putem presupune farl a restrange general itatea eli graful G este conex.lh }. ~j = U) un gra! de ordin. l) din U . Ciclurile J.4. ex. Teorema 1. 0 .B inse~1i eli 0 muchie din Iantul ). b. P fiind subgraf allui G are dear 0 parte dintre muchille lui G. a. adica la P. •••• PfUnd 0 padure maximala are acelasi numar de componente conexe ca G..T.4. n de dimensiune m ii cu P componente conexe. 81t presupunem cli virfurile k ~i 1 sunt in A dar nurnai unul este in B (daca varfurile k ~iI at fi din B s-ar rationa analog acestui caz). Mai intii sa remarcam eil in orice alt cociclu care contine doar muchia u din T intrA doar muchii ale componentei conexe a lui G care conjine muchia u.3. T) este 0 piidure maximalii a grafului G = (X. Demanstratie: Fie ). Fie u = (i. Dacii G este de ordin n n . Fie G Demonstrtuie: a. Tot din modul de constructie toate muchiile lui G au fost colorate. Deci daca s-ar mai adauga 0 muchie a lui G la GR acesta ar confine cicluri ~i nu ar mai fi padure. atunci orice alta muchie in afara celor ale lui Gil. sunt colorate ill verde.l un ciclu oarecare cu vectorul asoclat aotat tot eu !Am). U) atunci prin toate arcele II. deci din arborele respectiv acesta nu mal este conex.3. Notind cu A multimea varfurilor unei componente conexe a arborelui atunci W(A) este un cociclu cu proprietatea precizata.4. Din modul de colorare al muchiilor la fiecare adaugare de muchie in GR numarul de componente conexe din GR scade cu 1. d. altfel din acel cociclu ar trebui sa mai faca parte ~i alte muchii din T. rx. fiind 0 combinatie liniarn de vectori asociati unor cicluri este vector asociat unui ciclu (in sens larg) eu toate componentele corespunzAtoare arcelor u din U . E U . deci $i ill finalul algoritmului. Prin unnare au fost adaugate n ~p muchii. U) b.ll. # are p componente conexe atune. Teorema 1. c.diferite dupa cum ne aflam In cazul a respectiv b al algoritmului. !J Corolar 1. in concluzie orice padure maximala a unui graf are acelasi numar de cornponente conexe ca ~i graful.3. ex. ce trece prin u este unic maximalii a grafului G.T notiim cu Ji' unicul ciclu cominu: de T U [u]. Subgraful GR este Demonstratie: . Fie P = T) 0 piidure maxima/a a lui G. Dacii P = (X. {u} are doua componente conexe ~i varfurile k ~i 1 sunt in aceeasi components conexa intre ele exista un lant J.T egaJe ell O. rx.f. este fl'trli cic1uri Ia fiecare moment. Ori adiiugand 0 asemenea muchie 1a P se obtine 0 pidure care ar contrazice maximalitatea lui P. Atunci vectorul ). J) E T atunei u face parte dintr-un arbore. Daca ar exista un alt cociclu weB) cu proprietatea precizata atunci Inseamna ca unul dintre cocicIuri are eel putin 0 muchie (k. c. GR are Dacd P .3.l. considerate pentru fiecare U E U· 1: formeaza 0 bozo de cicluri pentru spa{iul liniar al multimii ciclurilor grafului G. cu muchii din P. 0 piidure Conform teoremei 1. 81i dernonstram eli acest cociclu este unic in multimea cociclurilor grafuJui G cu proprietatea cit din T contine doar muchia u. Dad! se elimina muchia u din P.4.2.l C T va face parte din <O(B).T trece un singur ciclu cu toate celelalte muchii din T. Acest fapt contraziee modul de alegere al lui CIl{B)~i decl cociclul cu proprietatea precizata. ex. Deci oriee muchie u E U· Tare extremitatile in acelasi arbore al lui P. Dar vfufurile k ~i I nerncan~i parte ambele din B sau din X . pentru u E U .T in plus..

= (X.4.dure a grafului G este un arbore. s t r I == n " p. T v (v) .l" 1 U E U . Deci P . r. fiind arbori ai lui G inseamn!!. Cum P == (X. 1) este eicluri ~i deei {u E U 15. P fiind un arbore. Demonstrlllie: Pentru graful G consideram padurea maximal! GR == (X.m prin metoda reducerii la absurd. atunci existll u in T" T'. Daca grafuJ G este de ordin n. LI(U).4. 0 Corolar 1. 0 101 100 .fv E 8".3.1 dedueem eli GCT" {u}) este format din doua componente.3. aceasta inseamnlt c! a == 0 de unde Teorema 1. 1) obtinuta eu algoritmul de colorare a arcelor grafului G prezentat mai sus.D 1.L" 1 u E U" T. T ') care este de valoare minim Ii. T ') este conex deducem 3v E T' n e" ~i deci leu) ~ lev).T sunt liniar independente. contrazice faptul e! Peste de valoare minima. Il-" unieul ciclu din Tv (u este un sistem de generatori pentru multirnea ciclurilor grafului G.1.4. eare sunt conectate de orice muchie din 8".1 == I T 1 muchii este arbore. (X. tnseamnli c1l P . = It j. ·IIET Fie P == (X. Dar I(P ') < I(P) ceea ce. Fie e" cociclul din G cu Olin T= {u}. P ~i P .1.Ivl) este un arbore de valoare mai mic!!.decat valoarea lui P " care este de vaJoare minima. . Prinvaloarea sauponderea unui arbor« P == (X.T.. Consideram de asemeni o!!. Arbore de pondere minima Vom considers in continuare eli graful G este conex deci orice pli. \. 1). se cere sA se determine un arbore al sliu care sa aib! valoarea minima.4.2. care sunt Tnnurnar finit.un arbore care indepline~te conditlile din teorema. fiind conex si cu Il .l" deducem ca eiclurile J. muchiile din T' " T se pot inloeui pe rfuld cu muchii din T" T' pentru a ajunge Ia P ~i valoarea arborilor obtinuti sli fie lep '). Pe de alt! parte deoarece fiecare arc u E U . Cum (X.1.. adicli numarul ciclomatic.T.4. Dacli l(u) < lev) atunci P" == (X. T) sa fie Vu E T ~i cociclul unic Prin unnare { J.3. Deci leu) = ICv) ~iI(P ") = I(P). adicll numarul cociclomatic. Procedand in mod similar $i eu celelalte muchii din T' . I(P) = I(P ') ~i deci Peste un arbore de valoare minimli. Dar conform lemei 1. Consideram subgraful P .Teste continut intr-un singur ciclu J. Vom demonstra e!l.T I ::: m .l" unicul ciclu din T ~ {u}} 1 = I U . Prin urmare dimensiunea bazei rnultirnii ciclurilor lui G este Dimensiunea spatiulul lintar format din clclurile unui graf G este v(G).n + p.4. Fie P == (X.(u}) nu este conex. eli I T I = I 1"1 == n . Dad P ~ P . T .4. lntr-un mod analog se demonstreaza c! spatiul Iiniar format din multimea cociclurilor grafului G are dimensiunea p(G).pomind de la arborele P . este conex. ~ 0 O} trebuie sit contina eel putin padure inseamn! ca T nu contine Probleml: Fiind dat un graf G ell valori pentru fiecare arc. fiecarul arc u al grafului G 1s-a atasat 0 valoare 1(101) care este numar real. Demonstratler Necesitatea Demonstri!. e" cu e" n T::: {u} : n leu) s l(v). J..lu cu u E U .5u ~ O} = cfJ.2. T' u r u) . 1) un arb ore de valoare minim! a grafului G == (X. Deci s-a demonstrat necesitatea.4. iar (X. dimensiune m ~i cu p componente conexe atunci conform corolarului ] . se ajunge la concluzia eli.1 {u E U un ciclu elementar. T) subgraf al grafului G notatll(P) inte1egem .{u)) al lui G. 0 conditie necesara ~i suficientli pentru ca P = arbore de pondere minima a grcifului G este ex. Suficienta . U1 si sa presupunem cll 3u E T ~i 3v E eu eu leu) > lev). S! consideram acum un arbore P . din teorema 1.

4.4.3. T u [v} . ~' Corespunzator teorernelor 1. §i 3u E ~" : I(u) > lev). Atunci dtu:lJ T-{uJ este conex atunci T=T-{Ui.1 muchii deci este arbore. U) este 'r/v E U .4.. Deci.3.4. Deci ultimii m .4.iminand muchia u se obtine subgrafuJ (X.4. U) ~i sApresupunem eA 3v E U ..4.2 se poate interpreta astfel: Nici 0 muchie v care nu face parte din arborele P nu po ate sli fnlocuiasc! vreo muchie u a arborelui P astfel incit subgraful obtinut si fie arbore §i s! aib! 0 ~aloare mai mici decAt valoarea lui P. Se dli U prin lista muchiilor in ordine descrescatoare a valorilor lor.2 se pot construi doi algoritmi pentru determinarea unui arbore de vaJoare minima tntr-un graf dat. . .m/.4. 0 conditie necesara Ii suficientii pentru ca P = (X.4.4.4. ifd. Kruskal a elaborat in 1956 [Kru56] primul aIgoritm pentru problema determinarii unui arbore de pondere minima.1 ~e poate interpreta astfel: Nici 0 muehie u a arborelui P nu poate fi inlocuita de 0 altll muchie v a grafului G astfel ineat sA se obtina un arbore de valoare mai mica decat valoarea lui P. 0 Observatia 1. (a) fie T={u/J: Demonstnuie: Necesitatea Vom demonstra folosind metoda reducerii la absurd. algoritmii au variante diferite.m t!XI!cuiil 102 103 . Valoarea acestui arbore este mai mica decat valoarea arborelui P ceea ee contrazice ipoteza cA" este de valoare minima. sId: atwu:i T=Tv{u. Algoritmul 1..{u}) care este conex ~i are n .1~ '~ . " "(a)fieT=U Atunci subgraful (X. Teorema 1.4.4.4.): VuE T consideram cociclul O~eu Sitn T = {u}.I muchii. Conditia din enuntul teoremei 1. T) sd fie un arbore de pondere minima a grajului G = eX.4. Conditia din enuntul teoremei 1. (b) ~nlru k=2.4. (a) fie T=(uI}. T u {v}) contine ciclul j. P Suflclenta Fie P (b) pemru A.1.4. vom prezenta in continuare patru algoritrni pentru determinarea unui arbore de valoare minima.4.'.4.1 lji deci arborele Peste un arbore de valoare mlnima.2.4. Pentru Vv E 0" atunci prin considerarea ciclului u" c Tu (v} din ipoteza teoremei deducem cil(u) ~ lev).4v C T u {v} sa aibii loc proprietatea: l(u)"~ l(v).4v din care el. Adie! am demonstrat ea are loc conditia din teorema 1. . Observatia 1.Observatla 1.T pentru ciclul unic j. Fie P = (X. In algoritmii - de mai sus se pot parcurge muchiile grafului doar piinJi c!nd T confine n .}.4. in raport cu valorile acestora.1. in functie de faptul ell muchiile grafului se dau sau nu ordonate.4.n + 1 executil ale blocurilor "pentru" nu sunt necesare.T (b) penJru k=2. Fiecare dintre acesti algoritmi este cunoscut cu numele de algoritmul lui Kruskal. Se da U prin lista muehiilor in ordine crescatoare a valorilor lor. arbore de valoare minima a grafului G = (X. intr-un graf G dat. AlgoritmuJ 1.2.4. Algoritmull. Vu E j.1 ~i 1. 7) un arb ore cu proprietatea din teorema.m ext!CJltlJ = (X.m t!XIlCilti " dscli Tv/uf) nil conIine ctclwi TJ un !{p. Se dli U prin lista muchiilor intr-o ordine oarecare.4.4".2.

n e:ucutif pe1ltru aLl/ge (:0. (11. {x. T-{uJ)./u.t1.1 vftrfuri §i tot atatea muchii (cAte un varf ~i 0 muchie la fiecare pas)."' mucllia much/a de valoare mil1imif din ro( X.jul adiacent lul XI cuifel me. (6. canst! in a alege la pasul k muchia u din ro(S0 de valoare minim! dintre acestea. (10. Un alt algoritm de determinare a unul arbore de pondere minim! pentru graful G (X. Sft.8).4. = = 1.1.1. 1.4.4. adicif &/pe1ltru Problema 1.1 fata care frontiera format! din muchiile (4.· Algoritmii lui Kruskal pornesc de la graful (X.11).5..2. 1.4.4. 1') cu S 0 multime eu un varf oarecare.1.}.5.6). pentru k=2. 104 105 . U) §i valorile (a) ks=L.111 cucutil docil (X. (b) pentru "=1. 1') care are to ate virfurile lui G $i muchiile T 0 sau T U ~i se modific1!.4..5.Xt:= Jl. YI) este AlgoritmuJ 1. (6.1. iar T = 0 §i in It . delerminli muchta v de valoare minimil din ll.1.1. (algoritmullui Prim) muchiilor sale.9) §i (9. fie T=TU{vj-{uU).S.S.12). Defmitia 1.1.)('1 ll. FIg. S~:= St V {. dill X.4..4. = fat!. Observatta B.1. U) dat este algoritmul lui Prim [pri57].) i:=l. De exemplu in figura 1.4. Aeest algoritm porneste de Ia graful (S.5. ~i. la pasul k.YV de valoare minima l(xl.5).yr)}. este eOI1~x atunei alsgl! A 0 eomponenlil cOl1exli a lui (X.rJ. sId.- aEege dintre mile-Milt selectate mucMa (xl.. Pentru ultimii doi algoritmi parcurgerea intregii multimi este absolut necesar1!.". sfpullru.4. sfp.( x. (b) CII valoarea maximll. (a) fie T=U. sfp.1. a unui graf planar au fost date In Frontiera unei fete este multimea muchiilor care ating acea fat!. k· J}.se determine cate un arbors de acoperire de pondere minima pentru graful reprezentat geometric rnai jos..1.(A).fi~ T=Tv{u.4. Se d1!.5.t1) 1111. Grafe plan are Notiunile de graf planar ~i cea de definitia 1.10). v.k·j t!XI!cutll (xi.5.1 pasi se vor adauga It . Grafe particulare 1.4). unde Sk multimea de varfuri selectate pan!!. Corectitudinea algoritmuJui lui Prim este dati teorema 1. (7.) Ii. Algoritmul Se 1.4).YI) '" minll{x. Daell T coniine un ciclu Il atunci deJerminti mllchia v dil1ll fie T=T-/vJ.4.doar multimea de muehii T pentru a obtine un arbore partial de pondere minima. T=f2J: Alege Xi din X. (4. J.7).y. (8. b. (5. T:= Tv { (xl.1. em graful s~:= G:::: (X.U prin lista muchiilor sale tntr-o ordine oarecare. r.

0 Demonstraue: Vom demonstra prin inductie dupli. muchii suspendate sa. (Euler) graf planar.5. Pe de altii parte conform teoremei 1.S. Celelalte fete Ie nurrrlrnferefmiJe. (8. Conform ipotezei de inductie contururile fetelor finite sunt liniar independente ~j f ~ = v( G ') + 1 1. Adica 21 S.. Numim contur al unci fete ciclul elementar din frontiera acelei fete care contine in interiorul reprezentarii sale toate ceielalte muchii ale frontierei.. Graful KJ•J nu este planar.5. Decl 3/ S" 2m sau f $ 2m13:. Cump == I ~if= V(G) + 1.1.m +f = 2 DemonslTarle: are loc (formula lui Euler)...1. Corolar 1. ar fi planar atunci f = 2 . deducem .5. 107 06 . m muchii #ffele relcqia n .1.in ex~titl ~l efect~d a proiectie stereogtafica al carei centru este mijloeul unei fete se obpne un chii . Asadar celef~ 1 contururi lunt cicluri liniar independente ~i sunt ca numar egale eu dimensiunea spatiului iniar al cic1urilor grafului G. DemonstTa{le: IX U}. Suprimand aceasta muchie se obtine un graf G ' cu f . exislii i E X Q.1. Adaugand muchia u grafului G' se obtine graful G.7).idlstincte ~i o muchie este in frontiera a eel mult dow fete. Presupunind g(i) ~ 6 pentru arlee van i deducem 6n S.1.6).:: f=m- n + 1 + 1 deunden -m+f:.-'" .5.f. in orice grafpianar conex G == gel) :<. lntr-un graf planar G. 0 CoroIar 1. acesta se poate reprezenta. (6. sa presupunem eli teorema este adeviiratll pentru un graf care are f .5. Folosim metoda reducerii la absurd. Graful K. Deci cele / ~ 1 cicluri (contururile fetelor finite) din G sunt liniar independente.1 fete finite.Doua fete se numesc adiacesue daca frontierele lor au 0 tnuchie comuna (insa doua fete care nu se ating decat intr-un vfufnu sunt adiacente). DemoRStrQ(ie: . Intr-un grofplanar conex cu n viirfuri.. Observatla 1. SA remarcam di fata in~miUinu are contur. Exemplul1.'.1.4.2.1.1. dar are frontiera .1 fete finite ~i sa demonstram ea este adevarata ~i pentru un graf care are / fete finite.5. Daca graful nu are nici 0 fatA finit! (adi ca f = I ~i v( G) = 0) ~i dacli grafuJ are 0 singuri fat! fmita (adica / == 2 ~i v( G) = 1) teorema este adevarata.n + m == 2 .4)}. 'r..8).1 are conturul {(4. 20 ceea ce este 0 contradicpe.5.~ ~ '. Nurnarul fetelor unui grafplanar il notam cuf.. Corolar 1. contururile fete/or finite constituie 0 bazii pentru spa/iui. G nefiind multigraffiecare fata are in contur eel putin 3 mUchi.2 fete din G.1. Deoarece fiecare fatA are eel putin 3 muchii in conturu1 sAu ~i fiecare muchie este in con~ a eel mult doul fete deducem 31~ 2m.2.5.1 cazuJ I) (deoarece extremitlltile rnuchiei u sunt in aceeasi componenta conexa) deducem v(G) ""v(G 1+ I ~ideci/= v{G) + 1. 2m ~i deci n $ 2ml6 = m!3. Conturul acestei fete este un ciclu care are muchia u ~iaceasta muchie nu se afla in nici un alt ciclu (contur) al celor f . De exemplu in figura 1. pe 0 sfern astfel m mu I ~I ''''teo Deoa .1. incat dow muchii sA nu se lntersecteze dec~it. (7..5. 0 i ~ .u muchii care unesc cicluri disjuncte (~i care sunt istmuri) ..2 fete finite ale grafuJui G ' care sunt ~i contururi pentru aceleasij' . De exemplu fata c din figura 1.1. Teorema 1. Alegern 0 muchie u care atinge rata infinita ~i este in eonturul unei fete finite. m = Cj 2_ - 10. (eomplet eu 5 vilrfuri) nu este planar. n ~m + f$ m/3 . un poliedru convex ell 11 varfuri.4. Cum 11 = 5.Jtj'eJ incilt lntr-un graf planar frontiera unei fete este fermata din: unul sau mai multe cicluri elementare disjuncte.1. Orice graf planar are 0 singura fat! nemarginita pe care 0 numimfala lufmitii. (5. .m + 2ml3 contradictie.5 + 10 = 7.~ .5)..1 fetele d ~j c sunt adiacente dar fejele e $i c nu soot adiacente.2. =0 Prin urrnare 2:. Deci 11 ~ m +f = 2 pentru orice poliedru convex.1.3.ctdurilor grafului respectiv (deci are lac /::v(G) + 1).f Cat sa eonsideram. Deci ele formeaza 0 baza a acestui spapu liniar. care are 0 fal! finit111nplus fata de G '. in spatiul cu 3 dimensiuni. ! _ > ~. 0 Corolar 1. Daca K.

5.2. lanturi tfi I in' i'" ru lUU e care I~ 1 as edit considersnd fiecare lant ca $i a muchie graful este K ~: ~ este de tipuJ 2 dacil. Presupunand cil. Corolar 1.4. .numlirul maxim de vfufuri dintr-o elic! a lui G. cu aceeasi ale S(G) £i(G) .1i m . a adiacente.5. cum fiecare muehie este in exact doua nnere deducem 31=2m. se pot pune in evidentil. e un graf este de tipuJ I dacil.5. maximale (subgrafe complete maximale) F1g.4 $i m = 3n . 0 i I ~O s 18 :o=~~=.e~are contur are eel putin patru muchii. proiectarea circuitelor VLSI. Folosind ~i relatia lui Euler se obtine: :- Un algoritm polinomial pentru testarea planaritatii unui graf a fast dat de Hopcroft ~i Tarajan in 1974 [HoD4]. Tot legata de grafele planare este ~i celebra conjecturl! a celar 4 culori.torul emmt: Regiunile ortcarei harp geogrqjlce se pot colora cu 4 culori astfe! incat douii regiuni adiacente sdfie colorate diferit.s.1. Deci 2n _ 4 ~i m S3n _ 6. adica num!rUl maxim de vart'uri :x(G) .5.nurnarul cromatic.anm:' cum n = 6 ~I m 9 rezulta/= 2 .asemeni metoda reducerii la absurd. Aceastil. Ca apllcatii ale acestei probleme amintim reprezentarea diferitelor molecule sub forma unui graf planar.5.. b.1. Condili~ necesara # suficienrl1 pentru co un grof'sdfie planar este co el sa Deflnitla 1. 4f. 1. sunt 1= 21Z . adica num!irul minim de culori cu care se pot colora vtlrfurile grafului astfel incAt sil. U) notarn eu: a.n + m = 2 _ 6 + 9 = 5.3.numarul clici grafului G. a fast demonstratil. Un graf G se numeste X-peifect daca ~i numal daca are loc egalitatea X(G(A») varfuriA. K est ~. Este evidentaJnegalitatea X (G) <! £i(G). 1. 2m. Pentru G ' multimea varfurilor corespunde fetelor grafului G ~i doua varfuri din G ' se considera adiacente dad! ~i numai dad fetele corespunzatoare lor.6. Rezultate privind planaritatea unor grafe demonstrate cu ajutorul podurilor in grafe se' afla ~in [ToS95]. doua cate doua neadiacente. Teorema lui Kuratowski nu admUI1 subgrqfUri parJiale de tipul J sau de tipul2. in G. 108 = ro(G(A») pentru orice submultirne de 109 . care are urmil. '0 alta demonstratle ce foloseste coneeptul de pod intr-un graf $i care se bazeaza pe unele rezultate ale lui W. In orice graf planar conex cu n vllrfuri/S DemonS/rarle: af d V aloril~ maxi me pentru 1~i m cAnd n este constant se obtin pentru acelasl • eoarece Y~loarea 11 . e oncare do~ V~ri ~xistll un Ian] ce nu trece prin nici unul dintre celelalte trei. conjecturil. ~ I felo Un rezultat important este reorema lui Kuratowski. 0 - .1. deoarece oricare dona varfuri dintr-o cUc!!. are cicluri de :~gi~e =0 Demonstrarie: Demonstratia acestei teoreme se aft! in [Ber69] p224. Pentru un graf G = (x. se pot pune in evident<! 6 v'l~·"": intr .2.( G) . Teorema 1. Acest graf este cel care are in ~nt~era fiec!ret fete exact trei rnuchii. Pentru aceasta teoremli se definesc doua tipuri speciale de grafe .5.1. Tutte se gaseste in [Vos91]. Deci numarul cromatic este eel pupn £i(G).5.sunt adiaeente.T.Demonstrafle: Utilizam de . adicil. nu fie colorate culoare donA varfuri adiacente. Grafele de tIP ] $1 de tIP 2 sunt prezentate fn figura 1. Graful K 3.m + 1 este constantil.3fii ~ :~~r~onform teoremel lui KOnig $:i observatiei 1. Grafe perfecte Mai tntAi s! preciz!im diteva notatii.numarul de stabilitate interna.1.1. in 1976 de Appel ~i Haken [App76J prin constructia grafului dual topologic (geometric) G' aI unui grafplanar G.2. 5 vdrfuri cu proprietatea 3. exlStil.2. de caracterizare r pJanare.2.

FUnd datli. intre aceasta problem! ~i proprtetatile analitiee ale optimizarii liniare..2.. R ViEX.5. in figura ] .Z. a facut 0 legll. deoarece oricare doua vWfwi dintr-o multi-me interior stabila trebuie sll. Definifia 1.. Ii numai daca b: Complememarul sau este un graf de comparabilitate. facll.. ell. in figura ~.1 sunt prezentate dona grafe. Un gra/ este a.2.De aserneni u(G) :S:'9(0). a demonstrat Teorema 1. Deci numarul maxim de varfuri dintr-o multime interior stabila este eel mult numarul maxim de clici ale acelui graf.2. = {lit fl. Un graf se numeste graf triangu/at dac1 ~i numai daca toate eiclurile de lungime eel putin paw admit 0 coardA.5.5. 2k .2.2.5.2. u(G(A) = de U peniru l:S:'j::.2 este OOtun exemplu de graf de intervale.5. G) obtinut sa verifice proprietatea ' Un = 3 It ~ I -~Ie I. 0 familie de intervale din R.2.5.. grafele triunghiulare. Un graf G se numeste e(G(A» pentru orice L..2. ij+iJ E a-perject dacA §i numai daca submultime A de vfufuri. In 1971 Fulkerson.2.2..1.). [GiH64] 110 111 . numim gnif asocial familiel ~ sau graful ultervaleior graful ce are n vfufuri asociate cate unul pentru fiecare interval ~i intre doua varfuri exist! muchle daca intervalele corespunzAtoare lor nu sunt disjuncte..5. n " ~~. .2..3.VjEri ~i VkErj atunci kEn.5. Vom prezenta in continuare cateva grafe perfecte ~ianume: grafele de eomparabilitate. un ciclu elementar orice muchie a grafului care nu face Parts din ciclu dar ciclul trece prin extremitatile muehiei. cele doul1 tipuri de grafe perfecte . U) este un graf de comparabiliuue daca # numai daca pentru arice ciclu de lungime imparii ~ = {il.. Teorema I. 1.turll. j din X eu j E proprietatea de mal sus exprima tranzitivitatea acestei relatii. Un graf simplu G = (X.perfect daea ~i numai daca este X-petieer. = (X. j" pentru i.5. 12k= id are lac (~.. 12. 3 Astfel de grafe Ie n~ simplu grafe perfecte. .S. Teorema 1. Numim coardii pentru In 1972 Lovasz fapt coincid.2. Un grafG este un graf de intervale daca a.2. 1. F1g. 0 familie de grafe de comparabilitate este cea a grafelor bipartite. grafele asociate unei multimi de intervale din R.5. parte din did diferite. G este un graf triangular. graf G (X.4. [Lov72J Defmitia 1. Considerand relatia "i 5.3.2. Deflnltia 1.5. [Ber70l Definilia 1. Deflnltia 1.. U) neorientat se numeste graf de comparabiIitate daca se pot orienta muehiile sale astfel mcat graful G . 'in [Ful71]. I.6. unuJ este de comparabilitate ~i celalalt nu. Pentru eel de comparabilitate s-a indicat ~i orientarea rnuchiilor.

inmultirea cu scalari se defineste cu ajutorul relatillor: OA =0 ~i lA = A. M De asemenea (0 + O)A = OA :..m ca operatla "+" este "sau exclusiv". iar ". definite de tablele urmatoare: + .0 0 0 1 1 1 1 0 ". Folosind ca mnltime suport (tip de baza) pe B2 se po ate defini spatiul vectorial V format din multimea tablourllor unidimensionale (array~uri) cu n componente.. adica "+" este 0 lege de compozitie interna in mulprnea 2x (sau 2X este fuchisil. elernentul neutru este element este simetricul situ. adiea: VA. = Din A. 2x este izomorf eu spatiul vectorial V amintit mai sus. Pentru a demonstra proprietlljile inmultirii cu scalari sA consideram )" ~i jl. 113 .: 0 + A = OA + lAo == lA = A = A + '" = IA + OA.'.2~SPATII LINIARE . . Cum O(A + B) :..1. intersectiei ~i diferentei rezulta ell. unde all :::::: sau 0 dupA cum k E A respectiv k ~ A.. Multimea V are 2"elemente ~i ca spatiu liniar are dimensiunea n.' 2. n). elementele lui X se considera odonate ~i pentru ca nu ne intereseaza natura lor se poate presupune eli X :::::: 2. Prin unnare 2x este ~i el un spapu vectorial de dimensiune n. deducem oIl..: 0. . + OA• OA (0 + I)A (1 + O)A = lA = A::. in eontinuare vom verifica axiornele necesare adunarii vectorilor ~i inmultirii en scalari pentru ca 2x sA fie spatiu vectorial.l} (sau cifrele sistemului de numeratie in baza 2) are structura algebricli de corp tn raport ell operatiile "+" ~i ." este "coniunctio" (respectiv adunarea tara transfer ~i tnmulprea In baza 2).. B c X ~i definltille reuniunii.. Spaliul liniar al 'par1i1or unei multimi A~a dup! cum se ~ie multimea valorilor booleene Bz {O. Pentru oriee A eX A Observil. Aeeastl1 corespon1 dentft (bijectie) permite a demonstra eil. iar ". n E N (tipul de index este 1 . VA E 2x." este folosita la definirea operatiei de Inrnultire cu scalarii lui B2 (se trunulte~te fieeare component! cu respectivul scalar). BE 2x definim A . . 112 + 0:::::: (A ~ 0) u (0 V ~A) ::::::A. Definim adunarea vectorilor (subrnultimilor) ca fiind diferenta slrnetrica... o ~i fiecare Deci pentru "+". vectorii acestui spatiu vectorial sunt submultimile lui X. Ca problema de rezolvat formulam: Sli se determine numarul bazelor spatiului vectorial V.. Din proprietatile reuniunii.: 0 = 0 + 0 = OA + DB ~i rezultli leA + B) = A + B :. Astfel. IA + IB A (A + B) :::::: + AB. Fiecarei {I. "+" este asociativa ~i comutativli (aceste proprietliti se demonstreazli 1n algebra de clasa 8 IX~a). . intersectiei ~i diferentel multimilor rezulta eli A + B eX. . . Un aIt mod de organizare a lui 2x ea spatiu vectorial peste corpul scalarilor B2 il descriem in continuare.ASOCIATE GRAFELOR + B = (A u B) ~ (A n B) ~ ~ A +B= (A -B) u (B-A).. Acest mod este numai formal diferit de spatiul vectorial indus de corespondenta (izomorfismul) de mai sus. all). fn acest spatiu "+" se extinde ea operatia de adunare a vectorilor (lnsumarea vectorilor se face pe componente). subrnultimi A eX i se poate asocia vectorul sau ·fimcpa caracteristica (ab a2. in raport cu adunarea vectorilor). 0 = 0 + 0 :. care este comutativa. notat si 2x sau P(X). = (I + l)A =OA = 0 =A +A adicli IA + 1A. Pomind de la acest spatiu vectorial se poate defini ~i studia spatiul vectorial al submultimilor unei multlmi X en n elemente date.BE 2x. n} . A +A = (A ·A) (A ~A):. din B2 ~iA.

Multtmea formata din cielurile simple Ii reuniunile de tic/uri simple muchie disjuncte. Fiind dat graful G = (X. mai 2. Deci in fiecare vector.e. Asemenea situatii sunt pre zen tate in figura 2.de acesti vectori j] numirn sUbspafiill ciclurllar grafulul G... pe care 0 no/am cu C.ti}::. If) pentru e11X ~i U sunt multimi deducem.1.1. U).l. dar pot trece de mai multe ori printr-un varf). Un alt subspatiu al lui 2u pe care doar Il amintim este eel al cupJajelor grafului G. Doua cicluri care au vArfuri In comun le reprezentam ca sa fie tangente in punctele asociat vfi..J.' I (OJ. S11observam ca un ciclu simpJu ~i neelementar se poate interpreta ca fiind reuniunea ciclurilor elementare ~i simple care compun acel ciclu..) (lJ. ). pe care le prezent!m in continuare. nu aib! in comun nimic sau sll aib! in comun numai virfuri sau sa alba in comun ~i varfuri Iii muchii (lanturl).)A = OA = 0 '" O().(t. singletoanele sunt ~i vecto·ri liniari independenti In spatiul vectorial 2x.. 0 muchie oarecare a lui G poate sll fae! sau nu parte.•. sunt subspatiul generat de ciclurile simple ale lui G sau eel generat de coeiclurile lui U.·j· 'l :.. Teorema 2.2.{IlA).. + p.q.IA. Deci spatiul vectorial 2x este de dimensiune n == I X I ~i 0 baza a acestuia este rnultimea singletoanelor lui X. din cele de mal sus.)A :.1::.n::.l.A.IA '" l(). adica { {i} liE X}. . 114 intru eli 121 element al acestui subspatiu flindca este 115 . {i}. in final r . ea 2x ~i au structura algebrica de spatiu vectorial pe care le putem considera spatii vectoriale atasate grafului G. Vom considera mai intai submultimile lui U care sunt cicluri in G. Din cele de mai sus rezulta c! multimea tuturor submultimilor multirni finite X. Clite 0 baz! a acestor spatii vectoriale consta in multimea tuturor submultimilor formate dintr-un singur varf X respectiv dintr-o singura muchie a lui U.2=···""'t. Doua asemenea cicluri pot sa.. muchie cel mult Deci. .. Subspatiul general .2. Fig. 1. Pentru 0 imagine geometric! sa ne imaginam c11 graful este reprezentat geometric astfel indh fiecare ciclu elementar minimal este reprezentat de 0 curba inchisa (pe curba sunt vfufuri.l.rfurilor comune. DouA cicluri elementare care au muchii ~j varfuri comune vat avea in reprezentarea geometries portiuni de curba comune.)A = M + IAA.ste subspatiu vectorial al spaliulu. veetoriallu.'.O A die a.t. notata ~i cu 2x. vectorii spatiului vectorial 2U sunt multimi de muchii. Spatiu vectorial 2u are mai multe subspatii dintre care cele mai interesante. este un spatia vectorial peste corpul 82• Observam c! pentru orice A c X are loc unei Aceste cicluri sunt deci cicluri simple dar pot fi neelementare (cicluriie contln 0 0 datA.2... . Subspatiul ciclurilor Fiind dat graful G = (X. i E X) sunt generator] ai spatiului vectorial Z".1.' Demonstratie: S11constatllm..2... z" Suma a doi asemenea vectori este tot a reuniune de cicluri elementare muchie disjuncte.. adica (t.le ~i muchiile ciclului respectiv). Vectorii generati de aceste multim! de muchii (vectori) sunt multiml de muchii care confin muchiile unui ciclu simplu sau reuniune de· cicluri simple muchie disjuncte (ciclurile nu au muchii comune).). ¢::> t.. care constituie fie un ciclu ~mplu fie 0 reuniune de cicluri simple. In plus " L.IA. singletoanele lui X (cele n submultimi ale lui X de cardinal I.2.)A = t.

Pentru a introduce in notatie a1fttAI ~iA2 elit $i complementarele lot vom nota pe T ~i V cu [AI.B2]' Are loe AtuBl=X=A2UB2. p nu este in nici un ciclu simplu dintre cele ale lui A sau B (nici machie din A sau B nu este incident! lui p). /ormeazli 0 bazli de cicluri pentru subspatiul vectorial al multimii formatli din oiolurile simple grcifului G sau reunluni de cicluri simple muchie disjuncte.4). (generata) de In cazul a v§rful p in A + B are gradul O. B doua reuniuni de cicluri simple ale lui G ~i p un v§rf al grafului. I .3. despre care vomdemonstra e! este un subspatin vectorial aI lui 2 u . cum singura subrnultime din T eu aceasta proprietate este 0 rezultli B = 0.4. notata Co. Subspatiul cociclurilor Fllnd dat un graf G.21 A n B I ~i deci p are gradul par fnA + B. \fUE ~1t =0 <=> All U-T weU-T Ceea ce mseamnA cli Ci = { ~u 1 U E U . Fie G componente conexe. Dacli T $i V sunt douii cocicluri. Fiindca "+" este comutativa sunt posibile ~i AJegem scalarii Au =1 pentru fiecare B=A+ . SA demonstram cli Ci este un sistem de generatori. A. Conform notatiilor are loe T = ro(B. ell A este 0 combinatie liniara. 1) 0 padure max/mala a lui G. Pentru ca simetrieul unui element din 2u este el insu$i se deduce: p face parte numai din cioluri ale lui A (un numsr par nenul de muchii ale lui A sunt incidente lui p $i nici 0 muchie din B nu este incidenta lui p)..T notam cu )1' uniculcielu continut de Tv [u]. deci par..T) (in rest). atunci T Teorema 2.T eu II $ v atunei v fE ~. varturi sau X) in care toate v!rfurile au grad par este 0 reuniune de cicluri simple (vezi demonstratia teoremei 1. DemonstTape: Fie u ~i v LA .2.) $i V = ro(Bz). pentru U E U . Ceea ce demonstreaza elementele lui 0. n de dimensiune m $i cu p + V E Co. Fie deci. 2u vom considera multimea tuturor cocilurilor lui G tmpreuna cu reuniunile de cocicluri muchie disjuncte.4.. deci par. E U . = (X.T} este 0 multime de cicluri simple ~i independente (privite en submultimi ale lui U). dar dimensiunea sa 2.3..2. tn cazul b v§rful p in A + Bate gradul pe care fI are $i m A. p face parte $i din cicluri ale lui A $i din cicluri ale lui B (Cale un numar par nenul de rnuchii din A ~i din B sunt incidente lui p. 116 . J 117 . Demonstratie: T ~i V fiind eocicluri tnseamna eli exist! Al ~i Az c X astfel incAt T = ro(AI) ~i V = ro(Az). U) ~i spatiul vectorial al partilor lui U. Lema 2. Celalalt spatiu diferit de acesta nu numai dar ciclurile puteau sll nu este tot m ~n + p.Pentru a arata e! C este multime inchlslt in raport cu "+" reamintim ell un graf oarecare (0 rnultime de muchii impreun! cu extremitatile lor ca multime de . Cu aceasta alegere are loc: w=U-T LAu~1I cT analizam doar trei situatil: a.Bd respectiv eu [A2. b. Fie A 0 multime de muehii ale lui G eare este reuniunea unor cicluri simple muchie disjuncte.. S! notam cu BI ~i Bz complementarele in X ale multimilor AI respeetiv A2. 0 Din dernonstratia m . (X. Prin urmare fn G(A + B) toate virfurile au gradele pare si deci A + Beste o reuniune de clcluri simple muehie disjuncte ale lui G. 0 ~cut! deducem eli acest subspatiu are dimensiunea Ilnlar al ciclurilor (prezentat in paragraful 1.T. notam aceste numere cu nA respectiv nB).n + p. Ciclurile )1'.T ~j Au ==0pentru fiecare u E U- (A . U E A .:. U) un graf de ordin. Fie P = (X. ~i u fE ~~ de aid dedueem eft: =0. c. In cazul c fiindca A + B = (A U B) . considerate pentru fiecare u E U .1.2) este prin faptul cA el a fost definit pentru un graf orientat fie simple ~i scalarii erau din Z. 0 Pe de aItll parte in G(B) toate vllrfurile au gradele pare (B este 0 reuniune de cicluri simple).(A n B) ~i ciclurile din A $i B sunt simple deducem ca numarul muchiilor incidente lui p din A + Beste nA + nB .

Al nA1) = [BI +B2• AI + Ail = Prin analogie sau direct objinem: BI + Al = Al + B1 = (A1nA1) = [A. n Hz) Observam astfel eil (AJ + A2) U (HI + Az) = X. Expresii care permit calculullui T + Vea !iind: T+ V= [AI nAz. mai intai. N c X ~l'i a se cere :a ele sA fie complementare in X..1. considerate pentru fiecare u E T. HlnAiI u [AlnAz.3.unt complementare in X (formeaza 0 partitie a lui X). Mullime Co a tuturor cociclurilor impreuno Cll reuniunile de cocicluri muchie disjuncte este un subspaiiu vectorial af lui 2(/. 8li demonstram ell C este un sistem de generatori. adica Al + A1 ~i HI + Al . N] desemneaza multimea mucbiilor lui G care extremitate in M ~i cealalta extremitate in N. deducem eli T + Veste un cociclu allui G.n Bil u [ArnAz. . Demonstrtuie: Fie u MET ~j o [Hjr"lAl. Bin 8z] v [BI nAz. 1) 0 piidure maxima/a a lui G. BI + A2• + Ail ("'I Hz] = = [AJ nAI• Al + Azl U [AI BI n Bil = Al +Az= (AI -AI) u (Az-AI) =(AI nBuu(BI = (AI n Hz) u (Az n B.t! 0 pentru eli fie~are. pentru U E T notiim cu (J' unicul cociclu obtinut in componenta conexa a lui G tn care este u dupii eliminarea lui u.3.A. in spatiul vectorial 2x multimile AI + Al ~iHI + \2 numai cu ajutorul operatiilor de reuniune ~i intersectie a multimilor ~i iperanzii fiind dintre cele patru submultimi ale lui X. N. LA.AlnBiI nAz. n de dimensiune m si cu p componente conexe.A. S] = [M. 0 = = [(AI nAz) u (AI n B1). BlnBi!= u [AJ r'lAz. Fie A 0 multime de muchii ale lui G care este reuniunea unor cocicJuri muchie disjun~. Conform definitiei cociclurilor pentru orice M. =. Alegem 119 au 118 . u N) = ro(M) u ro(N). nAIl u [AlnAz.3.) = (AI nAz) u (B. BI n Bil r"l Hz) v = [Az. = [A) Hz] = [(AI n Az) u (B n Az). N] U [M. n 82] u BI·nBiI vET =0 cu u . N] = [N. M].B. (HI nAz) U (BI n 8u] "" Teorema 2. (B2 u n B. .. "" [AI n Al• (BI n Az) u (BI n Bu] U U [AI n Bz. U) un graf de ordin. unde M.ue" <=> Au = O. . Pentru orice graf G (X. + A1•BI + Ail. 0 Teorema 2. Ciclurile (J'. II u[H1nB1. S cu M u NuS = X are loc: w(M Pentru ell AI+Al ~iBI+A2 este 0 partitie a lui X (s-a demonstrat mai sus). U) mulpmea Co .n "" [AlnAz.2. S) u [N. B.c Prin extensie notatia [M.A. = [AI nA1• (B. BIn 8z]u u [AI I u [Aln B. S1 = [M. (BI n Az) u (Bin Bz)] :: = [AI nAz.A1 nB2] u Ceea ce inseamnii cA C = ( I U E T } este 0 multime de cocieluri independente. =. Vom exprirna. Demonstratie: §i [M.¥. De aici [M.1 §i a faptuJui cli 0 E Co care se deduce din T + T = 0 oricare ar fi T ff Co. NUS) Dar ~i in cazul general pentru M. U (BI n Bll] = Fie G (. S] Folosind formulele de mai sus obtinem: T= [AhB]] Demonstrapa rezulta imediat in baza lemei 2. (A.+A2]= Hil.. SeX au loe [M U N. formeaZQ 0 bozo de cocicluri pentru subspatiul vectorial 01 mulumtiformata din cociclurile grafolui G sau reuniuni de cocicluri muchie disjuncte.t! v atunci v Ii!: eu T §i u Ii!: 8~ de aici deducem eli: u [BlnAl. BlnAz] n Bz. adicA T + V E Co. Fie P (.) = = [AI r'lA1. LU 0 i . N.¥. VUE BI nAil u [AI n Bz.Aj+Al] = [(AIIIAz) v (B. ' U [AJ r"l B2.BI r"lBilu Bz] u [Bl("'lA1. n Az) u (AJ ("'I Bz)] v Bin Bz) = u [(AI r"l Bil U (Bl nAl). submultime a lui induce un cociclu.

Cu aceasta alegere are loc: 3~DRUMURI iN GRAFE Problemele drumurilor tn grafe sunt cele mai vechi in teoria grafelor. cum singuruI cociclu care nu are nici 0 muchie din Teste 0 == [X.2. Verificarea existentei drumurilor de lungime dat! 0 putem considera rezolvata daca avem In vedere teorema 1.~ eu drumurile in grafe sunt: verificarea existenjei unui drum de Jungime datli. Ceea ce demonstreaza elementele lui C. probleme de proieetare sau realizare a unor investitii. a codiflcarii ~i decodificlirii informatiel. Valoarea unui drum J. optimizari pe multimea drumurilor.A (In rest). etc. De exemplu valoarea unui drum poate fi: l(~) = L.simetricul unui element din 2 CJ este el insUlji se deduce: . costul aeestei treceri. .I. 0] rezult! B = 0. rezulta cll B E Co. Numltrul l(u) numim valoarea arcului u. U) in care se asociaza fiecarui arc u E U un numar I(u) E R.~~ = A + LAuau n !lET T == ¢I tn baza lemei 2.p.. 121 120 . durata trecerii de la extremitatea initiall Ja extremitatea terminals a arcului. capacitatea arcului respectiv. probleme de inteligenta artificiala ~irecunoasterea formelor. probleme de gestiunea stocurilor. 0 ca A este 0 combinatie liniarll (generata) de siunea I T I == n . Alte probJeme care se rezolva ea probleme de drumuri in grafe sunt: problema programarii unor turnee. determinarea drumurilor de lungime data. probleme de optimizarii in retele. Din demonstratia Beut! dedueem ell acest subspatiu are dlmen- Problemele care se pun in lega. Probleme de optimizAri pe multimea drumurilor se pun pentru grafe G == (X. probJeme de tratare numericli a semnalelor. probleme militare. \. Pe lang!l problema poduri1or din KOnigsberg mai amintim problemele de traversare a rftului ~i anurne: problema trecerii lupului. t.0. etc. notata 10.scalarii Ag =1 pentru fiecare B UE AnT • ~i Ag ::() pentru flecare u E U .l leu) sau 1(J.l)::: min(max){l(u) I u E u] . Semnificatia lui leu) poate fi: distants dintre extremitatile arcului u. Pentru c!l. se poate defini in mai multe moduri.2. sportive sau nu.I(u) n sau l(Jl) = n uef. probabilitatea de trecere pe acel arc.3. . caprei ~i a verzei de catre un barcagiu cu 0 bare! ~i cea a traversarii a trei perechi de sot-sotie a unui rau cu 0 barca flira barcagiu astfel incat sll nu r!manA pe un malo anume configuratie.1.

Darim sa accentuarn eli prin valoarea unui drum se intelege un numar care poate avea diferite semniflcatii concrete (Jungime. De asemenea precizam cii vaJoarea ~i lungirnea unui drum sunt in general diterite. . Aceasta multime de drumuri poate fi cea a drumuriJor care leaga dou3 vtirfuri date. este echivalent cu a determina un drum in graful atasat bartH de valoare minima. cu aceiasi algoritmi. .1. paate atasa un graf (arcele corespunzand tronsoanelar). •• ~ .puncte de pe harta. Acestei probleme i se 122 Notam cu jJ. Optlmlzarl de drumuri in ipoteza . Fiecare variant! se compune din mai multe tronsoane carora li se asociaza valori (limite de capacitate. drwnul de la i la j care nu confine circuituJ w. Problema cere sli se stabileasca drumul de valoare optima. contine un circuit (0. video) sau a unor materiale Capa. 123 1(J.) = _Ll(u) lie I' Algoritmii de rezolvare a acestor probleme se pot baza pe unele proprietati ale vaJorilor arcelor ~i/sau ale grafelor.l. Problemele de optim se refera la determinarea valorilor rmmme sau maxime a drurnurilor dintr-o multime de drurnuri..). intr-un m~d analog se poate determixm traseuJ eel mai rapid sau de cost minim daar prin schimbarea valorilar muchiilor grafului.puncte dintr-un anume teritoriu.1. .:_.. Deci problema revine la a detennina un drum optim in acest graf. Exist! ~i algoritmi care determina valori optime pentru drumurile care conecteaza fiecare pereche de varfuri. de valori. . n valori respectiv n2 valori de drumuri ~i eventual care un drum pentru fiecare vaJoare aflata. Primele doua probleme de optim se rezolvll.).1."~ ': . durata.) = 10..'. 3. cost. de ordin 11.cu grijli. adica cost minim sau capacitate (beneficia) maxima. Pentru cea de a treia problema algoritmii se mai numesc si algorilmi maJriceali. " 3.. Deci.problema de a detennina un traseu de lungime minima intre doull. eventual cere §i precizarea unui drum din multime care sa aiba acea valoare. Aceasta conectare se face 111scopul transferl!. Se pune. Fiecarei muchii Ii atasarn ca valoare lungimea cliii de acces dintre cele doul!. Majoritatea aigoritmiJor determina cate 0 valoare optima pentru multimile de drumuri care pomesc dintr-un vlirf dat catre fiecare dintre celelalte vfu1'uri.1.ri unor mesaje (telefonice. Daca 1(00) < 0 atunci nu exista valoare minima a drumurilor de la i la j deoarececircuitul w se poate parcurge de oricate ori §oi valoarea acestor dnunuri tinde la-lOCI. curent electric.1. 1(jJ.2. Problema care se pune este de a alege intre aceste variante pe cea optima. in care s-au reprezentat daar segmente ale drumului. Intre doua varfuri exista muchie daca pe harta exist! 0 cale de comunicatie direct! intre corespondentele celor doua varfuri. '3. A deterrnina un traseu de valoare (lungime) minima intre doua puncte de pe hartll. grafu\ este flirli circuite.1. ExempluJ 3. Consideram 0 hart! turisticll. In graf exist! mal multe drumuri intre cele douli varfuri intre care trebuie construita calea de comunicatie. Situatia este ilustrata 111 figura 3.~. = Excmplul 3. Vu E U. Pentru a da conditiile de existenta a valorii minime a drumuriJor de la un varf i la un van j sA consideram eli intre aceste drumuri exist! eel putin un drum jJ. Pentru realizarea acestei conectari exist! mai rnulte variante (trasee posibile). Aceasta problema revine la a deterrnina drumul de valoare minima in graful atasat h1irti i astfel: fiecarel Iocalltati din zona reprezentata: in hartli sau intersectiilor de cai de cornunicatie ii atasam un vlirf.. Un tip similar de probleme eu aeesta sunt unele dintre problemele de rutare in rejele de calculatoare. '. Trebuie realizata a canectare intre daull. leu) 1. ': o situatie similara este in teoria jocurilor sau strategii mili tare cand despre intentiile partenerului (adversarului) avem informatii partiale ~j valorile arcelor sunt probabilitati ell care partenerul nostru va trece dintr-o stare in cealalta (starile fiind vfufuri ale grafului ce modeleaza problema sau jocu1). etc. .).1. etc. Deci are loe . care . Deci pentru un graf de ordin n aceste probleme cer sa se determine o . deoarece cu ajutorullor se determine 0 matrice. beneficiu. dar nu distanta euclldiana..' .puncte date de pe harta. Dintre aceste prcprietat] amintim: pozitivitatea valariJor arcelor. . masini. utilizarea termenilor trebuie fhcutl!. probabilitate.valoare.') + [(00).' FIg. Daca leu) = 1 algoritmii vor determina lungimile minime (maxime) ale drurnurilor . costuri de realizare etc.

.. (a) initial izliri ]..A.4. Af'" 3. Deci daca ar prin h aces tea au valori mai mati dedt valoarea. algoritmul 3. eu X = {I. Pentru vSrfuI t E X notam cu At valoarea minima a drumurilor de la vfuful 1 la va. exista drumuri la vArful j (Moore-Dijkstra) de la v§rful 1 Ia orice alt vfuf A1goritmuI lui Moore-Dijkstra conduce la urmatoarele Determina vaJorile minirne ale drumurilor intr-un graf eu valori pozitive ale arcelor.1. As= 5.I. aplicat pentru graful din figura valori ale variabilelor din algoritm: 3. S = tP stop. I.1 (a) S '" /2.1. A2 =3. Convereste aslgurata de urmatoarea E' de la vBrful 1 sunt AI =0. Lema 3.!lmpluJ 3.3. propozipe.t. n).. adicli leu) = 1 pentru orice arc u. in cazul cD. N=9.rtul i.1 pasi.1..1.1.{3. 4.1.. In mod evident exist! un drum de la 1 la j de valoare A)..6/. 10.)) E U notam cu Iii = l(u) valoarea sa.t) ~i decl In cautarea valorii minime ne putem restrange la multimea drumurilor elementare de la i la j. 3. Demonstraf1e: Fie j S astfel ine8t AJ= min] A..1.1. AJ =8.. de lallaj. alife1 As =5'. 6/. oarecare.. S·(jJ: DaclJ S""tPatund Slop sfd: (c) iteratia de bozo Peniru it:rjril gOlo(b)...6J: (e) r4nS=(6}. Deoareee graf finit. Ai '.1. multimea drumurilor III este drumul de la vll.vrern aflam lungimile minime ale drumurilor de Ia YArful I la celelalte. (h) testul de stop FiejE S a. S . k= J1: (b) j=4. A.S".1.2.! '" . 112partea din 11de la h la}.. iE n • -. n}. (f) T2nSc{3.. 5j. Valori minime de drum uri de fa un varf dat. U. S= [3. Deci se poate considera eli grafeJe sunt simple '~inu contin circulte de valoare negative.) ~ elementare.r(frl tn~i1tA.S=/3.1.1..+i}!/ sIP: (e) I'3 rvs "" 11': (bJ) = 6...j ='-:J eli valorile 0 pentru care tree = (X. 5.rfuJ ~ la primul van din S intalnit in J. As" A. (b) j . genta sa DupA cum se poate constata algoritmul are nevoie de n . cand se cauta valoarea minimli a drurnurilor.5.1 poate fi 1rnbunAt!pt ~i arata astfel: sa 125 .. . 4.A.1.1. (2. N. intr-un determinarii valorii minirne a drumurilor AJr 2! A) ~i 1(11) = l()l. I te S} atunci A. c§nd se cautA valoarea maxima 8 drumurilor. Deci valorile millime ale drumurilor A..s=:. (b) j=5.1. respeetiv circuite de valoare pozitivll.poO. ~=JO..12.4.) + l(~ ~ f(llt) ~~ Ded 3. F1g.3.. fmpllrtim acest drum in doua pllrti astfel: 124 AIgoritmul 3. ... /6}.1.. 2. N" 8.l se poate apJiea ~j pentru grafeJe neorientate daca se consider! fie care muehie ca fiind tnlocuita de doua arce tntre extremitatile mucbiei ell sensuri eontrare. S: . Fie acum un drum J. este fin it! rezult! c! problema in conditiile precizate are solutie. = mi" (~IiE S): S:.lO: (b) I= 3. U) Sa remarcarn e1i fu algoritm valorile A cresc sau rnm!n nemodificate arcelor sunt pozitive.I.6/.6/: (e) 1"5 nS= {3.- ·{lu. Ex. Pentru areul u = (i.Daca I(OO) 2! 0 atnnci /(Ii) $/(J. AI "" 0.. Atunci: 1(11. Fie G AlgoritmuI3. 2. = A.-=8. notat h.1.. A3" 8. executll ~ = min[A.

1. rjr.rfului t. Observatia a..2. Acest algoritm se bazeaza pe prlncipiul optimalitati] al optimizi1ri. Algoritmii 3. lk~ +lkpj J "" min{ A. La algoritmul 3. este echivalent cu testul Ai> k. ). Vi E X ~i considerand eli Dadi minima a drumurilor "'.1..1 . se noteaza eu A. Cum orlce arborescenta este definita de un . oricare ar fi deciziile precedente.2.1.. (b) itera/fa de baza pcntrn if." S.i'iri A. Ullci .j = min{ )'kJ +lkli' A.3.3 nu este necesara pentru convergenta aigoritmului.. b.1...3.1.. Totusl modul de alegere aI v~orii lui j influenteaza numarul de iteratii necesare algoritmului pentru a ajunge la vaJorile optirne.1.3 •.". (a) inifiali.1. goto (b).1. nj.1.1. abfel goto (Ill sid.- In o politicd este optima/a daca 10 fiecare moment.jdinamice enuntat de Bellman astfel: .i+11J lie 1)1].2.1.2.1.je astfel: x 126 127 . kp}.R.. pm ~I' cazul general. Determina lungirnile minime ale dnunurilor de la varful 1 la celelalte varfuriale grafului.1rljl < ).1.(X-R) uecutd S:=['8..:=(2.1. 3. k:=O:" R: .:1. 3..1.=0.1 §i 3.SLJ(ij.1. (aj tniualisari S. (1j. sjd.1.2 vart'ul j poate fi orice vfuf din S pentru care i E f'i n (X . Aetualizarea valorilor vectorului p se poate face pnn adsugarea instructiunii = j dupa modificarea lui At in iteratia (c) respectiv (b) a algoritmilor 3.iasca = In continuare vrern si1 prezentam algoritmul lui Bellman-Kalaba. (c) criteriul de stop d4ciJ S=(/ifltunci SlOp (c) testul de oprire dacll R :: S at/U!Ci stop oltjel k:::k+ 1.R). I iE SI. . Observatla 3.k~+llzi' "'.1.1. Ij"1 = {k l• k2' .1.1. Daca se defineste matricea valorilor arcelor V = (vl/)1. i =1 p'nlru ie I"] executd Mel! .1.-=S-U) {=. ~:~k+l ifp: s.1 ~i 3.1. Testul i E X .I := (b) iteratia de bazii Fie ie S ast/el tncOl Aj = minI./P. R:=RUS. vaJoarea de la v3rfu1 1 la vfu-fuli. Fig. Algoritmul 3.:= Aj+1jI. atunci conform principtului lui Bellman trebuie ca ).. deciziile care urmeazi'i a ft luate constitule 0 po/iticli optima/a tn report cu rezultatul deciziilor anterioare. :~. .. Alegerea lui) asa cum se dI1ea in etapa (b) a algoritmului 3. IMoo57] Determina valorile minime ale drumurilor de la vArful I la celelalte vfufuri intr-un graf oarecare. ifd.2. rezultatele ar fi aceleasi ~i daca se alege pentru j 0 vaIoare oarecare din S. .. j 2! 2 S:=I J 1: o.1.2 se pot modifica astfel inc!t sa constru0 arborescenta de rndacina I care sa contina pentru fiecare van i un drum de valoare At .vector p cu pet) s daca s este predecesor (varful pihil1te? a1 v§. adica graful G ~i valorile arcelor leu) sunt oarecare se poate aplica algoritmul 3.Algoritmul3.1. din algoritmul 3.1.1. m S.

1._J+J:=minf.~ A.3. (b) aJtjBI tipt'1rq'B "e:Jdstlf cirCuli de valoare 1M8Qtlllll ": atune. Vom aplica algoritmul lui Bellman-Kalaba pentru wnul din figura 3.\ A. 00 00 0 j~2 La sflir~itul aplicarii algoritmului algoritm. calculate de (c) criteriul de stop dtrdJ ( Aj'+J =). Algoritmullui Bellman-Kalaba Determina valorile minime ale dnunurilor de la v3.:m 0 { '). ' Fig.1. trebuie s11veriflce relatiile: ! 0.1.1 ~nlruj=J. i ::: j (ij) E U ~: altlel Acest sistem de ecuatii it putem rezolva bazandu-ne pe principiul lui Bellman folosind un procedeu iterativ.v» = Prin urmare valorile Ai. 80to . te X.rful 1 la orice alt virf tntr-un graf oareeare sau detecteaza existenta unui circuit de valoare negativl\. AlgoritriruIJ. 3. (a) initial izliri AI. k:=k+l.. -2 00 2 C!O 0 3 DO (b) iteratta de bazti J.f+I. Metoda de rezolvare este cunoscuta ~i cu numele de algoritmullui Bellman-Kalaba.4.1.3. A. [ReIS8]. stop.. 1 2 3 4 5 7 7 7 7 00 <>0 00 DO 8 3 8 8 8 8 DO sId.1.nJ. este cea din tabloul de mai jos: k matricea valorilor A/. VI)' Matricea V a valorilor arcelor este: 0 oa 00 7 0 8 DO 00 00 DC] -4 0 1 DO 2 00 0 00 2 co 00 j ~2 00 DO 00. A1 A.') := Ie:=-}. 0 0 0 6 6 6 3 3 3 10 8 8 7 Valorile de pe ultima linie (sau penultima) a tabloului minime ale drumurilor de Ia viirful lla virful i.~ A~ A~ 0 0 amlfci stop '/d.l.ll +vij[i=l. ~entp]ul3.l sunt valorile 128 129 .3.1.iJ) dtJCII Ie :5".1.=O {.

. ).:= S-a eli pentru grafele fma circuite algorltmul lui Ford poate conduce la rezultate intr-o singura iterape dacli se parcurg vart"orile grafului intr-o anumita ordine.i~2 Algoritmul3.5..6. se face prin a testa pentru fiecare arc (i. i ::::. Valoarea minima.= minl~ +lu I ieIjIJ.min { min! A1k+1+ viii i <j}. mai general spus influenfeazli complexitatea algoritmului. Daca aceste calcule se fac lntr-un tab lou unidimensional Ai.rn j=2. se trece In tablou pc pozitia ). oprirea Se observa usor cA numarul A/ reprezinta valoarea minima a drumurHor de la varful 1 la yanul i E X care au lungirnea eel mull k. S:~f I). adlca valoarea minima a drum uri lor care tree prin eel mult k + 1 varfuri.. = Modu1 de parcurgere a1 varfurilor in etapa (b) a algoritmului Jui Ford de iteratii Decesare. .. pentru a decide .ra.1.1 iteratii.=SV/j}. ". Aceasta sugestie a fost fiicuta de Yen in 1972 [Yen72].] atunci algoritmul obtinut se numeste algoritmullui Ford [For56). i::::. n . Dacli grafuJ este Ia. dac! viirfurile ar fi parcurse in ordine crescatoare a valorilor Ai obtinute din algoritmuJ 3. 0 imbuniitllire a complexitatil algoritmului se obtine daca etapa (b) se lnlocuieste cu subetapele (b ') ~i(b") in care parcurgerea vlirfurilor se face de la 2 la 11 respectiv de la n la 2.1. influenteaz. Parcurgerea tuturor la arcelor Ia 0 iteratie de tip (b) este obligatorie doar algoritmului. Algoritmul lui Ford Determina valorile minime ale drumurilor de la vfu'ful 1 la orieare alt v1irf intr-un graf tara circuite de vaJoare negativa.::::.I. VIJ i =1 . (aj Ini/ializiiri A. Ai := min[ (aj ini{ializiiri 4J:=O.1.tiJ ifp.1.Observatla 3.1 atunci'ar ti suficienta doar 0 iteratle de tip (b) pentru a obtine valorile minime. circuite si vfu'fuI 1 este singurul van cu ril:= 0 atunci un aIgoritm care determina valorile minime ale drumurilor la 0 singura parcurgere a vfufurilor este: va. De asemenea corectarea valorilor J.:: de la vartUl 1 la once alt van (b) iteratia de bozo pllnl. n in loeul I. Deterrnina vaJoriJe minime aJe drumurilor intr-un graf fiW circuite.1. In concluzie pasul (b) din algoritm este: (b) iteratia de bazii penJru (iJ) e-u exeCMJIJ dJd·~ + lu < ~Gtluaci~ ./. unui tablou bidimensional A/./+1 din tablou in aplicarea fiecare modificare de valoare se taie vechea vaIoare ~i se scrie noua valoare.1. ~ + Iusfd. n ~i k I. Daca au exist! circuite de valoare negativa atunci cum drumul de valoare minima este elementar inseamnli eli el trece prin eel mult n vdrfuri §i deci valoarea minima se afla in eel mult n .l numarul AlgoritmuI3.1. Cand rezolvam pe Mrtie sau la tabla (manual) probleme cu algoritmul lui Ford valorile A se scriu lang! reprezentarea corespunzatoare a vfufului respectiv ~i 130 131 .11 execu. algoritmuJui lui Bellman-Kalaba pentru a determina elemental se procedeaza astfel: se aduna linia k din tablou eu eoloana i din matricea valorllor arcelor apoi se determina valoarea minim! a rezultatelor. 0 valoare (c) iteratia de bazii A. "" + IUI if:Ij'). 1. atunci algoritrnul lui Bellman-Kalaba se imbunatat~te daca in etapa (b) j parcurge succesiv valorile 2.zut f o. min [ A/ + Vii Ii> j} }.3. Daca suntem siguri cA graful nu contine circuite de valoare negariva. j) dad! AI + Iv < AJ ~i in caz afinnativ valoarea AJ se taie ~i se serie hinga ea vaJoare hi + 11/' Selectarea arcelor pentru test se poate face in orice ordine. Astfel.3. S..1. .+J. n in aceasta ordine ~i calculele se fac cu formula: Arl . (c) criteriul de stop repetit (b) (b) alegerea vdrfului j jiejE X-S as(frltnctll IJI cs plinil clind A nu-ji schimba nici stop.

4. 4. d(4) . k . il. .1.E ri3• ~i asa rom departe.. 5.1. Din modul de constructie al multimii S. '(1) '7 0. d(2) '" 0. Conform principiului lui Bellman inseamn! cll. (d) criteriul de stop 'dacii S=X Dl.:=1:+1: a.1.(r(f) liE i] }.L este drum de la 1 laj }.S) deci i. a. 7(2) = 2.6. r(6) . S = tt. b. d(7) =d. s=t1J otulld SlOp w olJJel ifd.. Fie il EX· S cum rj1•1 (/. S = tIJ (c) stop. drS) '" O.5.5. Observatia 3. d(4) 1.4 se parcurg etapele: (a) d( J) = 0. drS) = I. k: 4 (b)S4" (4.7 pentru graful din figura 3. d(7) '" 0. In cazul nostru are loc = max] J J.1. S . Functla rang a~atA grafului G == (X.1. r(S} = 4.S este finitA inseamn!1 ca drumul coniine un circuit. Presupunemca vt E X S. Cum multimea X . 'Vi E S rezulta cll... p~nJru te S~eXuu~ '1'(1). E ri2• Apoi alegem i3 E r /2.. J.l. (2. k = 2 Parcurgerea v!rfurilor in algoritmul 3. Fie j E X. >= 7).1.7. Valorile Aj pentru j vfuful 1 Ia virful j.1.. Deflnitla 3. 0 Ne r/ = 2. S q_educem cl1 r/J·I n (X S) ".S = {4. gOlD (b) w ExempluJ 3.=O. 2. o. A1egem 1 i2E rJ1• rv (X . 1'(3) '" 1.· X sunt vaIorile minime ale drumurilor de la sfp.5..:=/i~ S I d(i)=O J.. 0. 1'(7) = 5. S"" 14. d(6) .4 prin a pune pe acelasi nivel vMfuril e care au acelasi rang el arata ca in figura 3. 5. 7}. . S:=X.mci stop oltIel golo (b) ifd.1. r(i) Se observa usor e! nu orice graf are 0 functle rang. Demonstrafie: Folosim metoda reducerii la absurd.1.. r .1. d(2) b.: pentrujEi n ex~cutll dlj):=d(j}-J $. Deci exista un drum infinit cu toate vart'urile tn X . k:: S (b) S5: N 17}. (ll..1 n (X S) deci il.. Algoritmul conduce Ja valorile optime pentru cll etapa (b) este totdeauna poslbila.Vi E X. 41. Aplicand algoritmul 3. d(6) >= J.d(6) .1 I J. 1:. a(3) "" 0. situAm la momentul capd se calculeaza valoarea AJ.fp: S:=s·s. k .'~ AIgoritmuJ 3..=1:. Determinarea functiel rang totr-un graf far! eircuite ~i cu rll.. Detenninarea valorilor functiei rang se poate face cu: Reprezentand graful din figura 3.1. U) este r : X definit! prin r(i) == min N . este valoarea minim! a drumurilor de Ia 1 laj.. 1.IA. ]. 7J (b) SOc (II.6 se poate face ~i fn ordine crescatoare a valorilor functie! rang ~at! grafului care este tarA eircuite si cu rldlicinal. 3.1.n I!Xi!CJllil' d(i):=IITJ I $/po' k.1.toate drumurile de la 1 laj tree doar prin v§rfuri din S.S ~icare are ca ultime varfuri pe i3• h.' . . d(3) . 7}.6. d(7) '" 2.. ceea ce contrazice Ipoteza. 3 (b) S3" (6J. S= a..d!cina I.. 132 133 . w r/ (c) criteriul de stop dacIl.4. S = 17}.1.. -? (b) S2:.I .1. k .5. pentru ca la momentul respectiv c S ~i rile S.3. 7(4) =4. 2.1. E (b) iteratia de basa Sj.4. 5J.1. drS) c 3.6.1.4. 1 (b)SJ" 13). 6. 2.3..1. d(4) . rt S. 1.. Fig. O. d(2) .. " (a) inilializliri p~nJru i:I. . 7J. drS) = 2.

1. atunci valorile vanabilelor. Vom aplica algoriunu13. Daca aplicam algoritmul 3.. Determinarea unui drum de la varrul 1 la varrul i de valoare Ai. 3. tfl-J)=6 (b) k=2.1.j=2.. it=j. Observatia 3.1..ltfe! a iEX # jEri = = = 134 135 . (e) 1#1 (b) k=4.U.1.5. Piinii acum ne-am oeupat dear de a detennina valorile millime ale Deci parcurgand varl'uriJe obtinute in tabJoul d de la vaJoarea lui k Ia 1 se obtine drumul J. Uneori dorim sa stim unul sau mai multe drwnuri care au valoarea determinata.1.5. == {1.6.8. Algoritmul care urmeaza fumizeaza ill ordine inversa v§rfurile dintr-un asemenea drum.. J. au wmItoarea evolutie: (a) Ie. A.6 •. .1. u~ i « j..5 8 ~i~ 8.1. Algoritmii descrisi pentru determinarea valorilor minime (maxime) de drumuri (1anturi) se pot utiliza §i pentru detenninarea lungimilor minime (maxime) de drumuri (lanturi).1. Fie j€ ti! a.1. 6} care are valoarea egalil cu valoarea minimil a drumuriIor de la virful 11a vartuI 6. d(2)=3.j=3.3.j)E Fig.2 j .1. dupa ce au fast determinate valorile minime Ai' vi ~ 1. j". 5.1. (c) jpI (b) k=5. j~3 Observatia (C}i# 3. Notam eu L· = (tu) matricea eu elementele sale definite astfel: Acesti algoritmi calculeazil valorile minime ale drumurilor inire oricare 1'" .l 1 la celelalte vibfuri.1. d(3)=5.=i.2 7.1.1.j=5.l.2. Algoritmi matriceall pentru valorl minime (b). At..1.dintre celelalte varfuri. (bj iteratia de bazii k:=k+i. (b) k=3. din algoritm. Aceste valori sunt: A. (aj iniJializiiri k: =1: d(k). = doua vfufuri ale grafului. Singura schimbare este c! valoarea fieclrui arc (muchii) se alege ca fiind 1. d(5)=J.Jmin{ 1(1-1)11-' drum de la i la j}.t + 1ft. i=1 (c) j=I $Wp. 1. pentru a afla un drum de 1~ vArful 1 la vartul i = 6 de valoare ~ = 8.8.rifel fndU d(k)=j. altfel8oto sjd. Exemplul3. d(4)=2. AlgoritmuJ 3. 1. 5 intr·un graf care admire functie rang vart'urile pot fi numerotate asrfel mcat (i. drumurilor de la un vfuf la oricare .1. pentru care s-au calculat valorile minime ale drumurilor de la varfu. if - l~.3 6. (c) criteriul de stop tiBcif 1=1 atunei stop 3.8 pentru graful din figura 3.i=I. ~ = 3.2.

iar cunosclnd elementele rnatricei formula vII .! + "'It}. k:=l. vr (a} .t+vJJ Algoritmul lui Flyod-Hu poate fi imbunl!.dnnnuri de valoare minima..1.pri. (a) inipalizar. Algoritmullui Flyod.2. bazAndu-ne pe principiul lui Bellman. J -.2. Rationamentul de mal sus ne conduce la algoritmullui Algoritmu13. un drum de Ia i Jaj. = mintvt!. doull ":J:= (b) iteratia de baztl penira k=l. Aceasta se realizeaza prin construirea unei matrici r de dimensiune n x n. matricea valorilor minime ale dnnnurilor intre oricare varfiIri ale unui graf care nu contlne circuite de vaIoare negativa.• k] ..1. Vlt. 0=v. ifd.. Determinll Algoritmul. penJruj=l.2. trece printr-un varf k atunci p!b1ile de drum de la i Ia k respectiv de le k la j sunt de asemeni . AlgoritmuI3.:=1.. (e) 1:=/+1.are are loe egalitatea \1""1 = L·. dIlcli kSnatund g% (a) sId.2 •.1. .tAtit pentru ca in paralel cu detenninarea valorilor minime sA fiedeterminate ~i drumurile care au aceste valori. == k ¢'} k este varf al drumului in drumul de vaIoare minima de la i laj sau te= 0 ¢'} de la i laj nu exista drum. stop. "'lf~1 jE 0. k:=k+J.• n + 1 astfel: = AJgoritmnI3.3.2.~ /~' vr J dIlcl1i S 11 atuDci goto (b) sfd.1. "I. v§rfuri ale unui graf sau depisteaza existenta unui circuit de val Dare negativa.rfuri din multimea {I. Algoritmul care urmeaza se aptid pentru cazuJ general ~i depisteaza dacl graful confine circuit de valoare negativa. .!+Vjj = -atunci goto (e) sId. este sesizam de faptul eli 0 valoare Vii devine negativa. 136 137 .n eucutI sfp sfp l rr..n exeCMtd peniru {. Conform aeestui principiu dad. Astfel se poate renunta la a construi 0 succesiune de matrici 11 ~i'deci modificariJe s!!.1I execut4 Vij:= mil1{vlJ. I. < ODtunci tJpw-qte "em/a circuit de valoare l1egatlw'I".alaba ~i defmirn matricile V pentru k 1. (b) dacii dadf "'It VI. se fad tocmai in matricea valorilor arcelor.1.. 1 • k = min r Vii' VIf f + v-tik} V le calculam pe eele ale matricei ~l ell 1 Din modul de calcul remarcam ell elementul contine valoarea minim!!. Observatla 3.Warshall-Hu Determina valorile minime ale dnnnurilor lntre oricare doua varfuri ale unui graf ce nu contine circuite de valoare negativa ~imatricea T din care se pot obtine drumuri de valoare minima. a drumuriJor de la i la j care folosesc ca vfufuri interrnediare doar v§. Existents circuitului de valoare negativl!.. Prin urm.2. de vaJoare minima.. stop. lfp.II executA peniraj=l.lui Floyd-Hu Floyd [FIo62]. Determine matricea valorilor minime ate drumurilor mtre oricare doua. 2.1.Consideram matricea V = (vlj) a valorilor arcelor grafului ca la algoritmul lui Bellm~-K. Algoritmul determina valorile matrieii T ~i care permit urrnatoarea interpretare: Iii sIP· Algoritmul lui Floyd este asemanator algoritmului lui Bellrnan-Kalaba ~i analog acestula §i algoritrnului lui Floyd is-au adus unele YmblDl!ta.

1.n) Illunci stop ifd.= +111 vi + v.(a) inilia/izari .1.8 139 .1 eu urmatoarele ' odificari: la initializarea valorilor in locullui . valoarea -00.1. ljj: . .2. dam algoritrnul lui Bellman-Kalaba.1..=IllllX{A: +1'Qli = l.3.::].flOp. .1. sl se determine: Ibservapa 3. Ln ~iI pentru i=Ln executiJ p6ntruj=1. ">". atunci algoritmii prezentati in paragraful 3. 0.fon' tij - . Pentru graful din figura 3.j /HlIlruj=J.1. a/ifellipO'e~te "exist4 circuit de valoare pozitivd ".i D. J.n executd dacil > IJil Ilhtnci (e) criteriul de stop dodi ( Ajkl .. allJei (b) iteratia de bazfi Aj'+J·:=o . dacit k S n tdWlci golo (b) .2.2 k:=k+l: _{i. sfd. vaJoarea minima a drumurilor de la v8rfu1 1 la viirful3.1. "l all/. b.lt} .3 se poate da 1n mai multe variante ~i de asemeni poate fi transforrnat intr·un aIgoritm care sa depisteze eircuite (cicluri) intr-un graf oarecare.1. valoarea minimA a lanturilor de la virful 1 la virfu14.1. YII·" j l'i' -: f. aJ/feJ (b) ueratia de bozO.:. Problema 3.1.. Determina valorile maxime ale drumurilor de la virful 1 la oricare alt vfuf aI grafului.e IIl+}:= III Vii~+1 . sIP sid. '''''J "". alp. (a) iniJializi:iri Jr. Pentru determinarea valorilor maxime ale umurilor se pot aplica algoritmli dati in paragraful 3.1. c. cate laaturi de lungime 8 pomesc din virfu12 (au pe 2 ca extremitate).+00 se utilizeazll.3.2. . in conditiile de test se inlocuie~e "min" ~i"<" cu "max" respectiv Pentru exemplificare 19oritmuJ 3. F'J8.1 determinli lungimile minime (maxime) ale drumurilor (lanturilor) in graful dat (numai in aeeste conditii valoarea fiecarui drum coincide cu lungimea drumului respectiv). pentru k ./.1.3. k. AlgoritmuI3. 3. Determinarea valorilor maxime ale drumurilor Rationand tntr-un mod analog cazului determinarii valorilor minime sducem c:i valori maxime ale drwnurilor intr-Wl graf existll daca graful nu mtine circuite de valoare pozitiva. sip Reamintim observatia: Daca se alege ca valoare pentru fiecare arc (rnuchie) valoarea I.3.3. J. a. un drum de valoare minimA de la virful 1 la v!rful 3. )'. d. { A~+I.

Pentru punctuI d) 51 observam eli ne intereseaza lungimea nu valoarea lanturilor. Aici. in arborele G. Pentru ca LI si La au 14·1 b: . ]234234. Daca. PrecizAm. Fig. fie valoarea minim! dintre valorile tumror drumurilor de la vAr1UI 1 la vfirful 3.Nu vom tezolva explicit aceasta problema (I!isAm pllleerea pe seama cititorului). Aceasta contradictie demonstreaza cazul a) al problemei. deci 0 succesiune de virfuri sau arce eu anumite proprietati (drumul sa aiba valoarea minima).ime) se vor considera ca valori pentru aree (rnuchii) valoarea 1. etc). 1524324. p] u {(P. ale lui G. U) este un graf conex.lanfUTilor. Yen. atunei oricare doua lanturi elernentare de lungime maximj..Hu). q)} u (q. Acest numar se poate determina ell unul dintre algoritmii prezentati (Moore-Dijkstra. Deoarece ciclul2342 are valoarea 0. a.2. Flyod-Hu sau Floyd-Warshall. Deoarece a E LI ~i d E La in parcurgerea lui L de la a la d not1lm ell p u1timul vlirf din LI n L si en q sueeesorul lui p tn L. Confonn demonstrajiei de la punctul a) cele dou! lanturi au eel putin un van comun.3. adic! sa enumeram toate drumurile de la vftrful 1 la vArful 3 ~i apoi afllind valoarea fiecarui drum sa alegem valoarea minim! (aceasta metoda este util! doar pentru rezolvarea manualll ~i pentru grafe nu prea complexe).1. ale lui G. Demonstratle: a. Se ealculeaza apoi A2. Dar numarul drumurilor se poate calcula ~i prin a tidies matricea de adlacenta la puterea egall eu lungime drumurilor (larmzrilor). au eel putin varf comun.1. q] C Ll n ~. q] ~i [q.z!i In teoria grafelor. exist1lde exempJu 0 infmitatede lanturi de valoare 7 de la vfirful 1 la varful 4 (dintre acestea in ordine eresclitoare dupa hmgimea lor preeizAm: 14.1. p]. 1234234234. Daca G = (X. 3. Cum G este un graf conex. fie acesta [a. Bellman-Kalaba.. dar ~i lanturi de valoarea 0 exist! 0 infinitate (sugerate de 134234.A a~at! noulul graf (simetrizarea matrieii de adiacent! ~tl1 grafuIui dat prin inlocuirea unor zerouri din ea eu 1). Fie LI §i La (figura 3. d] ca flind de lungime mai mare.are sli depisteze dacl este cazul existenta circuitelor (cielurilor) de valoare negativa ceca ce conduce spre concluzia eli in graful dat nu exist! drumuri (lanturi) de valoare minlma. 1234. 134234234.1. numarul lanturilor de Iungime 5 ce au vfuful 2 ea extremitate (vezi teorema 1. Valoarea minim! a Iannmlor dintre varfurile 1 ~i 4 este 0 ~iun asemenea lant este lantul ] 34. pentru verificare. A4 = A2A2 §i A 5 = A 4A ~i suma elementelor de pe linia sau coloana 2 ale matrieii AS este 140 l' . ]4324. Pentru punetul a) se cere un numar care sl!. Pentru punctul c) deoarece se eere valoarea minimA a . Pentru a determina lungimile minime (maxime) cu algoritmii utilizap pentru detenninarea valorilor minime (max. tiindel este Yorba de lanturi vomtransforma arcele in muchii (se utilizeaM graful neorientat corespunz1ltor grafului dat). au eel putin un v§rf eomun.15234.3. G fiind un arbore rezulta eli intre oricare doul1varfuri exist! un singur arbore §i deci sublantul [p. Dintre sublanturile [a. La punctul b) se cere un drum. etc).' 124. Dar nu este recomandabil ca rezolvarea sa foloseasca "funcpa ochi".1.3. deoarece graful are ~i arce (muchil) de va!oare negativa se va aplica un algoritm c.).) doua lanturi elementare de lungime maxima intre vArfurile a ~i c respectiv b §i d §i despre care presupunem c! nu au nici un vlirf comun. Analog dintre sublanturile [b.2. Rezolvarea are doua etape mai intAi se determina valoarea minima (etap! parcursli la punetul precedent) ~i apoi depistarea varfurilor unui drum care sA aibA valoarea egall1 cu valoarea mlnlma (tn cazu! nostru valoarea minim! este 3 §i drum poate fi 15243 sau 1243 sau 143).1. Demonstram prin metoda reducerii Ia absurd.2. c J ale lui LI tl alegem pe eel de lungime mal mare. in parcurgerea lanjului LJ de la a la h fie p primul vfui' ~i q u1tirnul van din LI n Lz. Ford. don! Ianjuri elementare de lungime maxim! intre vSrfurile a ~ibrespectiv c ~i d (extremitatile lanturilor nu s-au ales ca la punctul precedent). p] si [p. eeea ce nu se tntampll1 in cam! G conex. in plus" G este arbore atunel toate iaturile elementare de lungime maxima. b. De aceea valorile areelor (muchiilor) pentru problema aeeasta sunt date suplirnentare ~icare nu se vor folosi in calcule (aeestevalori pot constitui bruiaje pentru rezolvitor). 1524. d] tl consideram pe [q. rezulta c! intre vfu1iJrile a ~id existl1eel putin un Ian] L. Deci se construieste matricea de adiacent!!. deei q E ~ n L.) Problema 3. "-~- Fie deci un Iant fix Ll §i un Ian! oarecare La (figura 3. . tn acest caz [a. b) este lan] elementar §i are lungimea cu eel putin 1 mai mare dec!t lanturile L1 ~i ~ care au lungirnea maxima.mai intsi transfonn!m graful Intr-un graf neorientat (se i'nJocuiesc arcele eu muchii sau transforrnam matricea valorilor intr-o matriee simetrica) ~i apoi se aplica unul din algoritmii precizati pentru punetul a). )_ .1. cll valoarea cerutli este 3.1. 14324234. Totusi facem cliteva observatll-comentariu care pot aduce clarificliri asupra notiunilor ~i nuantelor cu care se manevrea.3.

1. p] respectiv [b. De aici se deduce eli vfirful din mijloeul (sau cele dod de la mijloc) se include in L] fl Lz.sau -. Acest mod de calcul este aplicabil in cazurile in care valoarea arcului este probabilitatea unui eveniment (care este un numAr pozitiv).=1+1. AlgoritmuJ 3. (a) iniJidlizarj k:=l.. Determinl valorile minime a drumurilor de la virful 1 la oricare alt v!rf sau depisteaza existenta de circuite. Determina valorile maxime de 1a virful 1 la oriee alt vlhf al grafului sau depisteaza existenpa de circuite in graf.1. iar Lz este un lant oarecare intre cele de lungime maxim! din G. Pe de altl parte pnAnd cont de teorema 1. rezulta ci eel pupn mijlocullui LI apartine intetsecpei tuturor lantnrilor elementare de lungime maximl. ' Obsen"atia 3. '.2.p] ~i[c. lungimea maximA in G ~i deci lungimile lor sunt egale dedncem c4 sublanturile [a. In aceste cazuri parcurgerea drumului presupune realizarea tuturor evenimentelor care compun drumul. deducem cl in Intersectia eli Precizam Ianturilor de lungime maxima toate v!rfurile care nu sunt frunze sunt puncte de articulatie ~i acestea formeaza-o multime de articulatie a arborelui G. (a) iniJializiiri 1e:=1.2.. fn algoritmii de optimizare pentru a preciza eli intre doua virfuri nu exist! arc (in. d] au lungimi egale ~i fiecare are lungimea mai miel decit jumatate din lungimea maximll Altfel. I Ii I . stop.U (b) iteratia de bazii ~+l { l~+] :==1 :==max{.1 se transfonnl foarte usor pentru acest caz prin a schimba: initializarile din 0 in 1 (elementul neutru falA de lnmultire) ~i operatia dintre valorile de arce ~i/sau de drumuri din adunare in inmultire.' (e) eriteriul de stop tku:I (. Algoritmul3. schimbarea valorilor arcelor din l(u~ in . daca valorile sunt pozitive. q] ~i [q. j O!:: 2 In aceste i probleme valoarea drumurilor se calculeazA ca fiind produsul valorilor arcelor.2. este de asemenea un lant. Vom prezenta dear algoritmii lui Bellman-Kalaba pentru determinarea valorii minime respectiv a valorii maxime. existl grafe conexe care au un singur Ian] de lungime maxima ~i exist! arbori care ehiar daca au mai multe lanturi de lungime maxima.2.t tUl/eltipdrepe "existd circuit. 3... SA remarcam eli intersectia acestor lanturi. Algoritmii dati in paragraful 3.1(. eu aplicatiiin probleme militare.u) = IIl(u) UE.~" L l(u). Optimiziri de drumurl in ipoteza. 1.2. deoarece functie IOgaritmicl este strict monoton!.1. analog cazului precedent. intersectia acestora este un singur viirf. intr-un arbore. mai lung decat L]. .prin . un Ian.~ 143 . ~cea V? &aU cl inc! nu s-a' depistat W1 drum (in vectorii A) au fos~ utilizate valorile .~.I]i = l. VQ/OQI'ff . Problema 10l)::::: IT 11£" detenninlrii.4.n) tIIIuId stop 1/4.6.ntpTtIU1Iilard" Observatta 3.2. depinzand de faptul ca se cauta valoarea 142 i . s-ar depista. Cum lantul L] este fIX.t+J == {JIIU7U j=l.4.Astfel de probleme se intalnese in teoriajocuriior. . valorilor optime ale drumurilor in ipoteza leu) se reduce Ia problema detemrinlrii drumurilor optime in ipoteza l{J.~ .il:vj.n}. dlu:iI k Sn atund 80to (b) .-. .L) "" In(l(u)).2.

Noi vom prezenta doull dintre acestea. 144 145 . Graful astfel definit este tarn circulte. A~a cum reiese din exemplul 3. beneflcii.ie l'mprejrnuiri 2 3 1 J 2 J I 2 3 Pentru aceasta problem! graful potentiale-activltati atesat este prezentat in figura 3. Decl pentru fiecare activitate se cunoaste durata sa In tirnp ~icare sunt activit!ple ce trebuie realizate i'nainte ca ea sli fie abordatA..p i se ata~eazll un varf'. prezint! interes toate drumurile grafului dintre dow v§rfuri bine preeizate ale grafului.3.. + a = . rI i - • 3.1.3. Pentru realizarea unui obiectiv sau scop trebuiesc realizate un numar mal mare sau mai mie de activitati.se realizeaza un obiectiv (stabilirea unui grafic de executie al activitatilor).3.1. Graful se construieste astfel: • Fiecarei activita. struct.1.. Teoria grafelor ne ajut! ca pentru 0 asemenea problem! sll.leluate pot fi in consens eu scopul unnIIrit.. Deoarece intre aceste activitati exist! 0 interdependentA ~i0 anumita coordonare este foarte important! programarea des~ur!rii lor ~i cunoasterea punctelor sensibile pentru ca obiectivul propos 51 se realizeze in condltii de eficienlA (timp.. Care este durata de desfasurare a activitAtii i. 3.10 I Mon!llj inst sanirare ~i eleetrice Montaie u~i·fcrestre Montare schell! Real izare flllada Zugrlvcalll interioarll Amenajliri interioare Dernontare schell Curllen.3. deoarece .. Ada. ExempluI3. In programele pentru calculator se utilizeaza 0 valoare din afara domeniului datelor ~i rezultatelor intermediare. Aceasta problem! este cunoseuta eu numele de problema de ordonantare.2 algoritmii de determinarea drumurilor optime se pot utiliza pentru alegerea unei variante de construirea unei clli de comunicatie. Fig. Problema crdcnantartl.determinam timpul minim necesar de realizare a obiectivului precum ~i marjele de timp pentru fiecare activitate. Pentru aceasta prezinta interes doar un drum dintre toate drurnurlle grafului care conecteaza doua vArfuri date ale grafului.1.1. Trebuie avute In vedere regulile de calcul cu valoare aleasa iIi locul lui -. jar celli]a!t vfuf corespunde activita. Problemelor de ordonantare Ii se pot atasa mai multe tipuri de grafe. Astfel hotll. etc. Problema crdonantarii se ocupa cu programarea activitatilor prin desfasurarea carora.uglim grafului doua varfuri corespunzatoare la doua activitllp fictive. Drum critic .. preeedente Amensjare eli de acees 2 3 4 5 6 7 8 9 10 II 12 Sapare santuri fundatie Constr.r§ri. unneze tuturor activltatilor. Deoarece trebuie executate toate activitatile..1.3.5 8 7 9..pentru 0 > 0 deci tot astfel trebuie sa se faca operatiile ~i cu valoarea folosit! in locul lui DO. de durata 0 ~i care trebuie sA preceada once aIt! activltate. Primul varf corespunde activitlltii de debut notata cu O. Reprezentarea acestei probleme sub forma de graf ~i studiul acestuia ne pennite sa avem 0 privire global! asupra problemei. Roy in 1960 [Roy6O).tii de sfarslt notata n + 1 care trebuie sa. Construirea unei cladiri necesita realizarea u®!toarelor Nr. 3.~i 0<><> = . In continuare vom considera doar eli singurele conditii de realizare a activit!lplor sunt cele de timp.1. cAd existenta unui circuit ar Ynsemna e! 0 activitate trebuie 511 se realizeze inainte ca ea sli tnceapa. Graful p·otentiale-activititi Acest tip de graf a fost propos de catre B. adica unele activit!p pot lncepe eel mai devreme imediat dup! terminarea alter activita. I 2 3 3 3 6 4. inceapl'i dup! ce s-a terminat ace vitatea i. 7 3 8 . cost. I activitati: Cod A B C D E F G H I J K L ~e activltate DUf'lItli Activ.minim! respectiv maxima a dnunurilor.p bine precizate.). de rez. Acestui arc i se dli valoarea d. Definim un arc de Ia i laj dacli activitateaj trebuie sa.

de debut sau de sfar}it a unor . Grafele PERT (Programme Evaluation in 1959 de clitre Malcom. J) de valoare d. u S:=(n+/}. in acest sens prezentam cateva asemeaea restrictii §i moduI de marcare al lor in graf. 1. 2. in intervaJuJ de timp [It. :.n+ J} atunci stop alt/el golo ( b) sid..II notatli mj este marja de timp pentru activitatea j E (O. grafuJ potentiale-actlvitati se pot marca ~i unele restrictil practice.. 0) de valoare -cJ. activit!p... rj. 3. n + I. care nu condue Ia 0 amanare a realizarli obiectivului. Restrictia "activitatea j nu paate incepe dedit dupa ee s-a realizat 0 parte (de exemplu jumatate) din activitatea I~' se marcheaza printr-un arc de la i Ia j de ~ ~ valoare egala eu timpul necesar realizarii plirJ.3.rful i. reprezentare activitatilor ca valoare durata de rea.. atunci se vor putea calcula ~i momenteJe cele mai tftrzii de ineepere a activltatllor. i = 0.. liEn). M6 ~ 147 .T.lizare a activitliplor respective. ealculele se fac pomind de la v§rful n + I catre vfuful 1 astfel: U. Daca 0 activirate j trebuie sli succeada activitlitfi i atunci extremitatea terminala a and Research Task) au fost Clark §i Fazar [MRC59J.i de incepere a activitatilor. Astfel apar etapele de debut ~i de incheiere a reaIizarii obiectivului. d..2. n + 1). Pentru eli tn+1 . V4rfui'ile se considera a fi etape ale realizlirii proiectului. Daca activitatea j nu poate ineepe mal devreme de momentul bj atunci se adaugl1 areul (O.+ t./:=1 . atunci cu timpul de depasire se 1ntirzie realizarea obiectivului fata de timpuI optim. . durata minima de realizare a proieetuJui este tn+I' Daca s-au detenninat momentele cele mai timpuri.'" " Pentru a demara 0 activitate trebuie ca toate activitlliile care se afla pe un drum de la debutul lucrarii (activitatea 0) la vWful corespunzator acelei activitlill sa fie executate. n + I.11 de valoare d.] activitatea i poate demara oricand flirll ca timpul de realizare a obiectivului sA se modifice.. = In a.. Daca activitatea j nu poate incepe decat dupa un interval de timp I de la realizarea activitApi i atunci se adauga areul (i. ti se calculeaza ca fiind valoarea maxima a drumurilor de la v3rful 0 la vll.. Graful potentlale-etape definite aceasta atnbuie (PERT) (b) iteratia de haze fie i~S astfel (ncat ncs.) de valoare -di.ii respective.. In Ie sunt asociate arcele grafului carora li se "'.. Modul de calcul se aseamlinli eu eel de determinare a unui drum dupa ee se cunosc vaJorile optirne ale drumurilor de Ia viirful 1 la celelalte vlirfuri. T. se mai adauga. S:=Sufi).J1 de valoare hJ• + dj IiE ril}.. T. Dacli notam eu ti momentul eel mai devreme de incepere a activitatil i deducem eli aceste valori trebuie sli verifice t/ ':" max{tj b. e. arcul (i. aceasta pentru cli trebuie sa se realizeze toate activitlltilej cu iE Deci. Ii se numesc activitil(i crttice. • I (a) iniliaiiziiri 1. Daca activitatea i ineepe dupa momentul de timp T. max (l(g) g este drum de Ja i la n + I}.l. Roseboom. (c) criteriul de stop dflcil S={O. 1i:=minfTj-d. e. Pentru activitlitile j care trebuie sit inceapA inaintea momentului cJ se adaugll arcele Prin unnare. Aetivit!ple pentru care t.2 . Ii' i = 1. Daca 0 activitate j trebuie sit Inceapa imediat dupli realizarea activitlitii i atunci pe Jinga arcul 0. Valoarea T.

Dintre muchiile candidate ]2.. pomind de la v!rful I. Daca activitatea Mare ca extremitati etapele p ~i q ~i dumta ei este d.1. activltatea M poate s! inceap1l eel mai devreme la momenml Ap Si eel mai tarziu la momentul Aq . .i cea finala se nurneste drum critic. Graful este complet pentru ell. Problema comis-voiaJorului Un comis-voiajor trebuie sa viziteze un numsr oarecare de puncte (erase) date. in cazul in care intre doua punete ruta nu este direct! se marcheaza lantul dintre ele ca muchie.{-: 6S Fig. De regull!. eu proprietatea cli muehia illtre ultirnul vfuf selectat ~j aeesta este de valoare minima. Preciz!m c! drum critic exista (s-a defmit) numai pentru graful potentialeetape. Considersm graful din figura 3. A~a cum s-a demonstrat tn teorema 1.d astfel rndlt obiectivul sAfie realizat In timp optim (in An unitll.3. eel mai scurt timp de executle. 13 ~i14 valoarea cea mai mica 0 are muchia ]2 ~i este 45.1}!12. in timp ce activit1ili critice exlsta pentru ambele tipuri de grafe. ' AlgoritmuI3.deci enorm. Aplicam acum algoritmul 3. in ordine crescatoare a valorilor lor. Dintre rnuchiile candidate 23 ~i 24 valoarea eea mai mica 0 are :! c: 149 . Orice activitate erltica trebuie 511 fnceap!i imediat ce s-Ii terminat activitatea critica ce 0 precede pe un drum critic deoarece pentru aceste activitati marjele de timp sunt O. muchiilor li se asociaz! valori care poate fi costul trecerii dintr-un virf in celalalt. 0 sa. decl va fi selectat v!rful 2. Graful astfel construit pentru exemplul 3.4. (muchia de valoare ceo mai micli)Se ordoneaza muchiile grafului K. Notam eu G"" (X.3. AlgorltmuJ 3.4.4.2. atunci probleme revine la a determina un ciclu hamiltonian. Un algoritm care 51i nu parcurga toate aceste cicluri nu se cunoaste.prezentam doi. (eel mal aproape vecin) [ I Se porneste dintr-un vsrf oarecare al grafului..tide limp de la debut). etc.1!f arcului i va coincide eu extremitatea initial! a arcului j..4.2.4. durata trecerii dintr-un virf in celalalt. dintre cele neselectate.1.3A. analog grafelor potentiale-activitatl. dar se 148 . Deci.3. I.1. Acest proeedeu continua pan! ciind U contine n muehii (toate variurile in G au gradul 2). Aceastl muchie semnifica faptul cA pomind dintr-o extremitate a muehiei comis-voiajorul face urmatoarea escal11in punctul desemnat de cealalta extremitate a muehiei respective. Deoarece in aceasta reprezentare varfurile sunt interpretate ca etape graful se nurneste potentiale-etape.4. Procedeul continull pan:i cand vor fi selectate toate varfurile ~i apoi se va adauga muehia dererminata de primul varf ~i ultimul van selectat. Pentru a nu genera confuzii.1. numarul ciclurilor hamiltoniene in K. 1n extremitatea initial! a oricarui arc vor "ajunge" drum uri de 18 etapa de debut pe care s! se afle arceIe atasate activitatilor care trebuiesc tenninate inaintea inceperii lictivitlltii reprezentate de acel arc.1. La fiecare pas se alege v§rful. jar activitatile care eompun acest drum se numesc activitiili critice.1 este eel din figura 3. lntr-un asemenea graf soar putea sA existe mai muIte drumuri entice. Considerand punctele ca vArfuri ale unui graf'si rutele intre puncte ca muchii. De aeeea dintre ciclurile hamiltoniene intereseaz! acel clclu care are costul (valoarea) minima. Drumul de valoare maxim! intre etapa initial! . in U).1.I. arcele (activitatile) au fost rnarcate prin codul lor ~i pentru fiecare arc s-a -trecut valoarea sa (durata de realizare a activitatil respective). ValoriIe maxime ale drurnurllor de la aetivitatea de debut sa le notam cu A (sugenind aplicarea unui algoritm de tip Bellman-Kalaba sau Ford). Daca in grafuJ G impreuna eu muchia care se analizeaza gradele vArfurilor este eel rnult 2 ~i nu confine cicJu de lungime mai midi decjlt II. Este evident ell pomind de la varfuri diferite se vor obtine cicluri hamiltonienedlferite de regula ~i de valori diferite. r. dintre rnuchiile incidente ultimu! yaifsetectat ~i varfurile neseleetate se alege muchia cu valoarea cea mai mica ~i extremitatea acesteia se va selecta la acest pas. atuncl muchia care se anallzeaza va fi selectata (se adaugl!. §i vom exemplifica aplicarea celor doi algorhml prezentati. atunei interpretarea valorilor A gasite este: I I I I jrtllizeaza 0 serie de algoritmi euristici care dau solupi aproxima:tive ale solutiei optime. este (n . Dintre acesti algoritmi. distants de parcurs.. 3. U) graful ce are cele n varfuri ~iV = muchiile selectate . este valoarea maxim! a drumurilor de la aetivitatea de debut 1a aetivitatea finaIa pe care 0 notam cu n. Se anallzeaza muchiile in aceasta ordine ~i unele dintre ele vor fi selectate. ExempJuJ 3.

De exemplu 'lI~= -2 indica faptul ca pe arcul 4 curentul circula de la virful 2 spre virtul 3. I~ final se selecteaza succesiv muchiile 34 si 13 astfel au fost seleetate . 23 ~i24 valoarea cea mal 1Dlcli.05.muchia 24 si este 35. adicli I rp u L cP u' nurnitA ~i legea uer. 13. 150 151 .. Flux in grafuJ G este orice vector <p = ('lilt fPl. 12. Apoi. Pentru arcul u valoarea 'lI" se numeste ctl1ltikJUa de flux de pe arcul u sau simplujluxu1 depe arcul u. Exist! 0 singu:a ~uchie candidata 43 de valoare 85. de mai sus). Fie G .1. Daca Aplicam aeum algoritmul 3. (X. Dintre muchille candidate 41 ~i43 valoarea eea mal mica 0 are muchia 41 ~i este 65. ordinea de analizare a muchlil~r (crescatoare dupa valorile lor) este: 24. semnificind fluxul transportat pe arcul respectiv).2... Dintre aeeste probleme arnintim: probleme de programarea transportului (rutier. structurarea ~i dimensionarea optima a retelelor de comunicapi. 4). Se selecteaza muchia 24. se analizeaza muchiile 23 ~i 14 Bra a fi selee~e pentru eli. 14.. Deci solutia depistatA este ciclul 24132 ~i care ~ valoarea 260: .1. Dintre muehiile candidate 21. Oefinitii §i proprletatl de baza Deflnltla 4. . Cu toate acestea ciclul hamiltonian de valoare minima pentru exemplu considerat este 21432 care are v~oarea 250. de ordonantare.. AJegerea orientarii unui arc se poate considera arbitrara (in acest caz). 0 are muchia 24 ~1 este 35: deci va fi selectat varful 4.po~nind de la v~ ~. 0 astfel de schema (graf) este dati in figura 4. etc.4. etc.1 este <p "" (5. feroviar. <?iclul har11ilt~ruan~ contine pe Hinga muehiile selectate ~i muchia 31 de valoare 1. care verificll prima lege a lui Kirchhoffin orice van i al grafului.1. deci se va selecta varful 4.FLUXURI~IRETELE DE TRANSPORT Notiunea deflux fumizeazA un model general aplicabil Intr-un mare numar de probleme concrete.1. deci se va selecta vfuful 3.23. combinatoricii ~imatematieii discrete. A~acum se vede ~j pe figurlt fluxul din graful reprezentat in figura 4. deci se va selecta v8rf'ul 1. apoi 12..1. 4. 4..1.4.. probleme de gestiunea stocurilor. aerian. lI) un graf conex de dimensiune m (m = I U I)..4.. Notiunea de flux a condus ~i la dezvoltarea unui aparat matematic specific apartinand. 3. .-(i) = 1IE00+(i) conse11liriijluxulul in vlirfuri (noduli). Deci solutia depistata este ciclul 12431 ~i care are vaJoarea 270. deci se va selecta vart'ul 3. deoarece sensu! de depJasare al curentului poate fi pe sens invers orientarll areelor acest fapt se deduce din semnul fluxului pe arc.. in mare parte. <prJ E R m (flecarui arc u i se a~eazA 0 valoare <P. Ciclul hamiltonian va contine pe bingl muchiile selectate ~i muchia 32 de valoare 55. 2. vart'u12 ar avea gradu13 respectiv ar exista cicluil241 care are lungunea 3 < 4.1. Exist! 0 sin?urli muehie candidatA 13 de valoare 105. Daca aplicam algoritmul 3.1. ~eDBpluJ4. Curentul electric intr-o retea este un exemplu de flux intr-o retea.pa~ muchli ce formeaza ciclul hamiltonian 13421 care are valoarea 270 (acelas] ciclu cu eel selectat la prima aplicare a algoritmului 3. 34. de afectare. -I. -2.).1.1.

T) un arbore al grafului G dat Pentru U E U .Considerand matrices de incident! B = (b. Prin urmare un flux care are ca suport un ciclu elementar este produsuJ dintre un numllr ~i vectorul atasat acelui ciclu elemeatar. Aeeasta lnseamna cli «ll este un subspatiu liniar al lui R II! ~i are lac cont de teorema 4.elementar (el exista ~i este unic conform -> = teoremei 1.1 necunoscute.u).) ~i cu 11: vectorul asociat ciclului astfel incat (11). . Un flux <p ¢. pe care tl notdm U{)o Atune. Jegea conservaril fluxului in vtiTfuri se poate scrie in forma. i = 1. altfel spus <I> {O}c R m • 0 = Definitia 4. 7) este arbore deducern eli rp' == 0 deci rp = LCjluilu.2. Propozitia 4. . Orice flux f{J E 4'.determlnat solutla banala.1.l: :. E R. vectorul J..1 ~ip = I. U) un grqf in care s-au colorat arbitrar arcele tn negro. UEX·T 0 Definifia 4.2.3.T CPuil u Fie cp un flux.1. Lema lui Minty [Min66] Fie G = (X. 153 Demonstl'alie: Suficients Mai int. Sli presupunem di existii eel putin un arc colorat in negru.1. RqJ = O. 0 se numeste Jlux elemental' daca ~i numai daca suportul sau este minimal in raport cu incluziunea. Lema arcelor colorate (Lema lui Minty) Lema 4.T notam cu 11" unicul ciclu din T u {u}.!!. este 0 combinatte liniard ace/or 11G) vectori asociati ciclurtlor elementare liniar independente ale grafului.+) este un grup abelian. este compatibil.1. Daca nu ar fi asa ar exista un v8rfin care nu este verificata legea eonservarii fluxului. Prin urmare U sistemul ~iadmite ca solutie doar q>'=cP- L u EX. are lac rang(B) = n • p (numarul cociclomatic) ~ideci dim(CI>} = m .1.:::1.3. deci rang(R) = n .1.1.1. Demonstrarie: Un flux pe un arbore (arborescema) este nul. notat ell v(G)... - Cjl:::: L"-I)11 . Prin unnare conslderand apllcatia IiniarA asociata matricii B. numai una din urmlitoarele propozitii este adevliratli: a. Teorema 4. Deoarece -:> Rep = 0. Un arbore are m '" n .. # numal dacd we ca suport un 4. multimea «l> a fluxurilor pe graful G este nucleul fimcliei g. astfel Incat toate arcele sale negre sunt orientate tn acelast sens (sensu/lui Utili toate arcele sale veni sunt orientate fn sens invers.Neeesitatea Un flux nenul contine in mod necesar eel putin un ciclu in suportul sliu. Daca G ste-p componente conexe.1. Teor:ema 4. Cum eX. v (G) astfel fnclit Demonstra!le: dim(cI» + rang(R) = m. Adicli 3A.2.2. rosu sou verde (unele puuind ramane necolorate).1. . fn s~it un flux care contine mai mult decat un ciclu elementar in suportul situ nu poate fi elementar deoarece vectorul atasat acelui ciclu este flux ~iare suportul continut strict in suportuI fluxului considerat. notAIn cu suppcp = {u suporlulJluxului cpo E I CPu.!: O} ~i 0 numim este un flux cu proprietatea supp cp cT. Un flux este elementar dacli ciclu elementar. Adica <I>={qJE Rmlg(<p)=O}. care este . deoarece ro+(i) = (u E U I bill = 1 } ~i o:i(i) = {u E U I bill = •J }. g : R III ~ Rn cu g(x) = Bx.n + p care este numarul ciclornatic al grafului. cu n .1. t E X. dar poate uvea arce necolorate astfel inca! toate arcele sale negre sun! orientale fn acelasi sens Ii toate arcele sale verzl sunt orientate in sens contrar. deoarece altfel el este flux pe 0 arborescenta ceea ce ar fi 0 contradictie tinand 152 b.=1 v(G) -> tn mod necesar fluxul Fie P (X.1.i sl!lobservam cl!lvectorii at~ati ciclurilor elementare sunt fluxuri deoarece verifica legea conservarii fluxului fn naduri. Prin Uo trece un cociclu elementar jlirli wee rosii.4. U E U a grafului G. Prin Uo trece un cielu elementar cu toate arcele colorate. .

pentru fiecare van j marcat exist! un singur 1ant de la radacina s 1a el.. Aceasta conduce la concluzia ca exista un Ian! elementar de la s la t.l. AdAugand m:c~ UO ~a acest lant se obtine un ciclu care face sA fie adeviiratl propozipa a din lema.L •. Deoarece fluxul in G • ..2. grof apartin fie unui circuit elementar fie daca: Demofl$trape: Se coloreaza toate arcele grafuJui in negru. arcele negre sunt parcurse in sensul orientari] lor.!. co'(A) . ce trece numai prin vfufurj marcate. = fie (i..Jl circuitelor elementare grafului. i) este verde. = fie (i. Fie AI = min (fPu I I I u E JlI ) > O.1.Us J. este nenul inseantnA cl G contine eel pulin un ciclu elementar J. se aplica repetat lema lui Minty aIegand pe rand ca arc Uo fiecare arc aI grafului. se marcheaza varful s.2. <p + .l. Ak ~ 0 asifel incdt '1 -k /\ok J. Prin unnare cociclul ro(A) = coi'(A) u co'(A) verifies propozitia b din lema.1 J. 2. til A. Nu s-a marcat varful t. Este posibila numai una dintre situatiile: 1. sa remarcarn faptul ca selectand doar varfurile marcate ~i muchiile (prin neglijarea orientarii arcelor) care au cauzat marcarea viirfurilor se obtine un arbor~ de rad1icina s._~ -1 -Ie. Notam cu A multimea varfurilor marcate.+ .l.. 0 U11uicocircuit elementar. Deoarece graful are numai arce negre ciclwile ~i cociclurile a caror existent! este asigurata de lema lui Minty sunt circuite respectiv cocircuite elernentare.I. f Se face marcarea varfurllor pana dind nu se mai pot marca aIte varfuri. Deci. nemarcat. daca i este marcat atunci se va marca vhful j.Observatie: Precizam X-A A ca ipoteza lemei se poate interpreta ~i astfel: multirnea arcelor grafului este descompusa ~ patru submu~timi disjuncte (fiecare avand arcele sale de aceeal}t culoare). Demanstnute: Sufieienta = '1 -1 1\. . cp :1: 0 sA consideram grafuI G obtinut din G prin eliminarea arcelor u cu CP = O. CorolaruI 4.1. iar arcele verzi sunt parcurse in sens invers orientaril lor. . " . In virtutea legii conservarii fluxului in vdrfuri ~i pentru ci toate componentele fluxulu... Vectorul cp' = cp . Vom marca din aproape in aproape vfufurile lui FigA. S-a marcat viirfuJ t.J)-sau (j.contine numai arce negre sau necolorate ~i ro(A) nu are arce rosii. qJ este flux intrun graf G dacii # numai dacii 3A1 . D Teorema 4. Dad... (J.) este negru. Necesitatea Fie fP un flux in G cu componente nenegative. Deci toate arcele lantului sunt colorate. I) este rosu. Din modul de rnarcare aI varfurilor se deduce cli: oS E A. Fie'll un vector cu m componente nenegative.)+(A)contine numai arce vern sau necolorate. Toate arcele unu. Demonstratie: Consideram ca Uo G pornind de la oS astfel: = '(r.L sum veaoni . d~ dintre acestea nwnai despre 0 submultime stirn sigur c! este nevida (cea care contine arcele colorate fu negru).::: ie (j.. s).." asOCItl/1 • Un vector fP care este combinatie liniar! cu scalari nenegativi ai unor fluxuri (vectori) cu componente nenegative (lntr-un circuit toate arcele au acelasi sens) este flux cu componentele nenegative.1.i pe acest ciclu sunt strict positive respectivul ciclu este de fapt un circuit.Adl! este de asemeni un flux in G ell 154 155 ..

in refeaua de transport G.3. cP. unde A eX {li sE A §i t~ A.J ' care yerificli legea conservarii fluxului Yn toate vfufurile cu exceptia lui s §i t. Atribuim arcelor orice capacitate Cu ~ 1..rfma~in! ~i acestor arce le atribuim tot capacitatea 1. din care vor pleca cSte un arc spre fiecare vfui' activitate.). Repetam procedeul precedent p§nft c!nd se ajunge la k ~i valoarea flwrului adidl. numit capacitated sa. CPu valoare notat! cu 'Po. 'P.componente nenegative.2. Vu = I. Vom considers doar cazul CuE N*. iar pentru acestea L DEaNs) CPu = L. Un flux care veri fie! restrictiile de capacitate se numeste flux compatibil cu capaciUltile sau flux compatibil sau flux admislbil.4. cw.1. CP2. Celalalt vlirf t.. CPm) t in cf care verificli restrictiile de . i:l 0 4.. Q>o este maxlma.. Exemplul 4. Definitia 4. Observatla 4. deci.. este suma capacitatilor arcelor care cornpun cocircuitul ro+(A). O:$. U) CODex in care: exist! doua vfufuri privilegiate unul s. 'Pu:$.. dar numarul componentelor nule a crescut.. . 0 multime de arce de forma ro(A) (cociclu).. Pentru a rezolva aceasta problem! Yom construi graful bipartit ce are ca v. se considera fluxul corespunzator arcului se retur O. Daca cP = (cpl> CPl. Afeetarea a p activitati la q masini.§. Problema fluxului maxim de la s la t tntr-o retea de transport G este de 8 determina un flux cP ('Po. AdaugAm grafului doua \lfufuri.1.. = Definitia 4. Numim flux de fa s fa t.IP. Cunoscfutd pentru fiecare m~inft lista activitatilor ce Ie poate realiza.1. Fiind datA 0 retea de transport G = (X.. numit desdna(Je de transport.1.. m 156 .e: 0. U) ell sursa s ~i destinatia t notam cu cf graful obtinut din G prin adAugarea arcului (I. Se numeste retea de transport un graf orientat G = (X.3. Unul s. 157 . Taietura lntr-o retea de transport DefiDifia 4.J' este un flux simplu In d. Pentru a efectua p activitati se dispune de q masini. nurnit sursii eu rs-I == !fl.. cP. de la s la tin graful de mai jos.4.. iar celAlaJt I. Fiind dIU! 0 retea de transport G numim tlileturiI.l.. ce separa pe s de t. UEm(t) Cantitatea 'Po se numeste valoarea fluxului cP.3.>O.rfuri multlmea de activitAp reunita cu multimea de rnasini. Oriee flux de la s la t in acest graf arecomponentele 0 ~i I ~icorespunde unei afectari ~i invers. Se va unui 0 activitate i eu 0 m~in! j printr-un arc u dacA pe masina j se poate realiza activitatea i. CPl. Capacitatea tllieiu. cu rr:: ctJ ~ifiecarul arc u i s-a atribuit un numar CM . 18 a gAsi un flux maxim.2. vectorul c:P = ('Pit '1>2•••• .. in care soseste care un arc din fiecare v. s) nurnit arcul de retur ~i numerotat eu O. Cll componente intregi (booleene). Problema fluxului maxim intr-o retea de transport Definltla 4. Problema afeetarii revine.. cp-J.4. -Akilk=O_ cp= »ljll cu". 'PI> ~ ••.3. capacitate 4. se pune problema de a detennina numlirul maxim de activitlp ce se pot des~ura simultan pe cele q masini..J' elite un flux de la s la fIn G de valoare cpo atunci cp:: (Cj)o. Acestor aree Ie atribuim capacitate a 1.3.§...

ro(A) 0 tiiieturn.jlUX:~::: maxim sa aiba so/ulie este ca sa nu exine drum de capacl infinita de la s la t: astfel incAt J.. . rosu §i verde ce trece prin 0 cu toate arcele negre in acelasi sens. . • • 8rfuri deduccm GO. Dacd ffJ este un flux: de Las la t ~i a(A) este 0 taieturi'i ce s~pari'i d t astfiel incw valoareajluxului este ega/a cu cQpaclt~ea pe s e tur are capacitate taieturii atunei ffJ este un flux: maxim I' tate a I· ..4. SE A. Teore1114Ford-Fulkerson «lu. _ d. in contlnuare presupunem deunde CPo = uEc.aceasta condltle este lndeplinita totdeauna. dar cum 'P este un flux maxim inseamn! cli De situam in cazul b al lemei lui Minty.4.. ..·CA) L Cu <00. arcele u .. e a Demonstra(ie: ' Fie <P = (!po. Fie J. CPm) ~1 .1 e diferenta dintre suma limitelor supenoare a capacitatilor ~letUI'1l se mt'" eg WI"".' . arcele u cu epu = 0 le coloram in negro. N minima. Juiep. adiell exist! un ciclu J. Deci exista un cociclu ro(A) negro ~i verde fha arce rosii en sEA ~i t ~ A cu toate arcele din Q)+(A) erzi. Corolar 4.. oarecare un flux oarecare. • din '(A) arcelor din w+(A) ~isuma limitelor inferioare a cpacltatilor arcelor (J) • Lema 4.. P unem cli are solutie Despre problema fluxului ?W'im tn~. ex. V..4. a condi/ie' necesarii # suficienta pentru ca probJema. U ') eu U' = {u E U I eN = =I nu este conex.o+(A) L «lu O:S. Consideram Uo = 0 ~iaplicam lema lui Minty.o retea de transport sp dacli valoarea fluxului maxim este finjt!. Fie A multimea aceJor vlirfuri din X pentru care exist! drum de Ia s la ele in G '. Cum in GO este verificatli...1... ..t! 0 Cll cp" = e" Ie coloram in verde..1. iar v cele din w'(A) negre (in particular 0 E (j] -> -> '(A». Defmim capac..2.4... tr nsport nu dep~~te capacltatea mCI unel Demonstrape: Necesitatea Este evident ell daca ar exista un drum de capacitate infinitA atunci fluxuI nu este maxim. :. . s ~i t at unci graful G' = (X.4. Atunci arcele din ot(A) au toate capacitati finite.~-. cP" uEuj(A) L CII' Teorema 4. • t .) r un flux maxim in (jl compatibil cu capacitatile cu' Asociem lui fluxului ep colorarea urmatoare a arcelor lui d: tno <_ min] ~ Cu Coro Iar 4 . 'ma a fluxului de fa s fa t compaiibil cu capacitliple I oarea max. L u !w·(A) cu· 0 Demonstra(ie: Fie cP ('Po. I ACX. . legea conservarii fluxulul in v ./u E Deoarece ~ U obpnem Valoarea maxima a fluxului de la s la t intr-a retea de transport G= U) este ega/a au capacitatea minima a taieturi/or care separii pe s de t. • .L vectorul asociat ciclului J. <Pl. ~i toate arcele verzi in sens contrar.max • "" U<QI+(A) .. .. arcele u ¢ 0 cu 0 < ql" < C Ie coloram in rosu. c~:~t=~~urilor Corolar 4. <PI.L 0 = 1 Atunci prin adAugarea fluxului E J.L negro. <Ph CP2..' capacitatea Daca arcele au ~i limite inferioare ale capaci1Atu a~cl pnn .1 deducem maxlPoS UE". 'r.a I./iatea unui drum eapacitatea min~a a arce~or:: Pentru once retea e tntr-o re(ea de transport ca fiind Deoarece fluxul <p este compatibil nu vor fi arce incolore.3. sensu! lui O. = <Po:::. areul 0 (de retur) il colorarn in negro.L -> compatibile este nevid!.41 . . te A}. Prin urroare 159 158 . Daca am fi in cazul a al lemei.". Confonn corolarului 3.. Suflcienta tntr-o retea taieturt. deoarece pe arcele acelui drum fluxul poate creste oricat de mult. cp".L cu E suficient de rnic se obtine un flux de valoare superiosra.. eil..ln Daca nu exist! drum de capacitate infinitA· intre.

0 condute nec(!SaJ"11 suficienta pentru ca j1uxuJ tp sl1fie maxim Ii este sl1 nu existe un drum de la s la t fn G(qJ). pentru «.Adic! s-a g!sh 0 t1ietur! oo(A) de capacitate Q>o cum orice tliewri are capacitatea mal mare sau egalacu Q>o inseamn! ell aceasta taieturli are capacitate minima.). iar pe arcele rosii fluxul poate fie 51 creases fie sA scada. JJ dacA CPII < e" ~i u' == t ). 4. De aiei se obtine: in mod necesar = de la s la tin G(<p).1. iar multimea arcelor U(ep) se obtine astfel: Daca cpeste un flux pentru care nu exist! drum suntem in cazul b al lemei lui Minty teorema 4.4. iar (i. pe arcele verzl fluxul poate numai 51 scada. Algoritmullui Ford-Fulkerson Cu acest algoritm se poate afla fluxul maxim Jntr-o retea de transport. cP"') 'ise a~eazl grqful ecaJ1Urilor G(cp) :::: (X.5. Pentru prezentarea algoritmului este necesar sA definim mai tnt§i graful ecarturilor. Folosind teorema 4.4. Astfel pe arcele negre fluxu1 poate nurnal sA creasca.L.1.5.epu pentru u· $i ep. (c)fte tU1felstop (qI estejlux·optimj. U(ep» care are aceeasi multlme de virfuri ca si G. Definipa 4. Fie cp un flux maxim ~j presupunem c! exisUi un drum '" de Ja s la t In G(cp).1.• . Fit:" UJljllU eompatlbi] (de exempl« qf~(o.1. Fie tp un flux: de 10 S /0 t tn reteaua de transport G compatibil cu capacitl1lile . Capacitatile atribuite arcelor din grafuJ ecarturilor &e. fie G(({J) gmful ecarturilor asociat lui ({J. ~umesc cap~c~i1(i reziduale.4. . I I Demonstrafle: Necesitatea Demonstrlim cu metoda redueerii Ia absurd. deoarece cp + E -. AJegem A = fi E X I 3 drum de la nurnai arce verzi $i pentru acestea tpu Cu.o.5. Fiecare submultime contine arce care au proprietatea cli valoarea fluxului compatibil suporta 0 anume modifieare pentru ca fluxul obtinut 8ft fie tot un flux compatibil. j) din G se adaugll in U{lfl) areul u· = (i. 0 . Observatia 4.. O)).1. Capacitatea nnui drum din graful ecarturilor (muumul capacitatilor reziduale ale areelor ce compnn drumul) se mai numeste capacitatea rezjduallJ a drumului respectiv.. atunci (utilizfu1d colorarea de la s la i} ~i atunei O/(A) are numai arce negre ~ipentru %= UEoo+(A) L CPu . c: Aceasta Suflclenta tnseamnl eli «J nu este flux maxim.5. Algoritmullui Ford-Fulkerson (cu graful ecarturilory (aj fnilializOri k:><O.4. Teorema 4.). (b) criteriul de "top dad uistl1 dl'Wff Jf de Ia s la t en OM) alullei 8010 (e) sId.5..1. pentru fiecare arc u == (i. Bcopacftall!Q Jf: ·160 ]61 . 0 . nzidualdlJ dniJIuJu. 11 dacli <P" > O. Arcelor din U(cp) ll se atribuie capacitatile e" . Prin adaugarea -arcului de retur 0 drumuJui '" se obtine un ciclu in graful Colorarea arcelor din teorema 4. AlgoritmuI4. cu E >0 suficient de mic este de asemenea un flux de la s la t compatlbil eu capacit!tile ~i are valoarea strict mai mare decat <PO.:1 imparte multimea arcelor in trei submultimi. Pentru un graf G fiecarul flux compatibil e » (CPh •••. Drumului '" ii corespunde un drum fntre S $i t in G astfel incat toate arcele negre sunt orientate Yosensu I de la s la t ~i toate arcele verzi rn sensul de la t la s (se foloseste colorarea de Ja teorema 4.f(A) are acestea fP" = O. CPu = L U Eoo'(A) ce- u£IlI+(A) ~j prin Deci s-a precizato tAieturlicare are eapacitatea egallt eu evaluarea fluxului urmare fluxul cP este de valoare maxima. adie! 0 contradictie.1 se poate elabora algoritmul urmator.

RepetiJ .lt . < c . unde 1I={j. fP.O)). . k:~J 1m. ep k . arunci in acel arb ore exista un singur drum de la s la t.{d..teetlchekl ~d. Valoarea lui E. _ -E. k:~.i)E U Ii rp.. e2E {+.. dacIt el(j)=+ tlIunCi rp. "=0 !"ncllt II = (iJ)t: U ~I ({Ju (I.sl. + E. el). m(n{eiiJ. Depistarea drumului ~k in graful ecarturilor G(q>~ ~i a valorii E. . k:=l penlrrl il... Algoritmul de etichetare.·tp. -.. dll.1\ este E3(t).= Ijb + E 8ow(b). j) §i care drum are capaci~tea e3. daca e2 "" . dJU:4.O. unde u=(iJ) IIltlel rp. adie! k = 0.2. 00).j) ~iin G(q>~exista un drum ~ de la s laj care are ca ultim arc pe u+ = (I. >0.i)€U ~i ({Ju >0..· alJlncijprime(tuticlrela II = (iJ}t:U ~I ({Ju < c". CealaltA cauza a incheierii procedurii de etichetare.rp.. 1Ib. Respectivul drum notal Ilk = {dp. • E.9b ~t!stt!fluxmaxim" stop 'fd (C) fie E:= eJ(t).capacitatea C3.. + E.!. Fie fjl un. de la s = dp la t = d.Iacum se observa varianta algoritmuJui care foloseste procedura de etichetare nu necesita construirea grafului ecarturilor G( cp~) ci doar etichetarea . -. AIgoritmul4.i) j:r::.= rp. 'Id. p:~l.. ! 'P.i AlgoritmJd lui Ford-Fulkerson (cu procedura de etichetarej (a) iniliaiizi:iri = = (b) criteriul de stop Repd4 pe_ntru iEX eticheUll dm:il existdjEX neettcheta: a.•.l de la s la i care are ca ultim arc pe u· = (i. +. unde . ({Ju)). r) ~i in G(cp~ exista un drum J. necesar algoritmului. Etichetarea incepe prin etichetarea doar a viirfului s cu (0. d/:=t. conduce la concluzia "nu exista drum in grafuJ ecarturilor G(q>. . atunci in G exist! arcul u (j. se poate descoperi pe caJe lnversa din valorile el ale etichetelor incepaooeu el (t)... mi1I{eJ(i).' j:=t.}). . rp.. JJ ~i care drum are.i. capacitatea reziduala a drumului 1.J).. determina un arbore de rndllcinli s aI retelei de transport. elE XU {OJ. rp. 162 >?: 163 . .}+J~ fP. necesare algoritmul lui Ford-Fulkerson.. k:=1 sjd..k=Oatand tijJtltvqte ''jIww.. min{tlJ(i).c. cmtimp tip ots aL!cutfi p:=p+l. d1ttbnp jR U«lItit i:=tI(j).. k:=l dm:1t existlijEX neeticheta: asffol file'" u = U. e.5. eJE ~ ell semnificatiile: daca t:z = + el = i. 11+ E 1'* salol II U =0 k:=k+l.s/6jt:x neeticbeta: tUifel atuncijprime.. se poate face utilizand urmatoarea procedurii de etichetare (tar! a construi efectiv graful G(cpX): Orice varf j E X primeste 0 eticheta fonnat! din (el> ez. (/. pdnJ. ~ . aluncij prime/Ie etlchtkl (J. A. pIUrii cIJnd (s-« ericMtaI wltfuJ t} _ (k = OJ.1H. desl pot fi etichetate multe vfufuri ale retelei G nu toate acestea apartin dnunului care contine toate arcele pentru care valoarea fluxului se modifica prin adunarea sau scaderea unui E.pentru IIf:U sic. d".c.. dacil exi~llijEX nuticherat astft!l aluncij prlme~te elicheta ifd.J).ff{d rncdt s. c8nd (s·a etichetas lllliful t) sail (Ic = OJ. ·ft:. th vaJoare". min{eJ(iJ. ' aitfe! goro (b). Precizarn ea .vdrfurilor care se face utilizand reteaua de transport G data. Daca algoritmul de etichetare se termina prin etiehetarea lui t. Dam in continuare 0 descriere compacta a acestei variante a algoritmului.X eticJlf!Ull dacil exi. Iterapa de baza a procedurii de etiehetare consta In. +.'" II = U. atunci in G existli arcul u = (i./lux rompatibil (de exemplu fP"'(O. Adie!.rp.-}.. de fapt. (/. I.

In consecinta dupa un numar finit de pasl se obtine valoarea maxim! a tluxului. 4.4) 0 0 (2. cat "i prin extremitatile lor. Pe aceeasi Iinie apar ~idrumul u" ~ivaloarea E ealculata pentru drumul ~t.2) 0 0 11 II '113 (1. a lui Ford-Fulkerson pentru a detennina fluxul maxim de la v§.3) (1.{' k=3 Fig. In tabeJul de mai jos darn pentru fieeare iteratie k valorile ql ale fluxurilor.4) 0 0 0 0 0 3 4 5 11 11 11 11 14 14 17 17 6 0 5 5 5 0 14 14 14 14 (2. (Ill (Ill k=1 k 0 1 2 (1. .5.5.Deoarece capacitatile areelor sunt numere naturale "i ftuxul de pornire se alege tot eu componente numere naturale dedueem eli in aplicarea algoritmului capacitatile reziduaJe sunt tot numere naturale. adios 39 = 11 + 17 + 6 + 5 = 14 + 6 + 19.2) 0 14 qI.3) !l.5.31 {I 3) 6 k=2 nu existll Valoarea maximll a fluxului este 39 egalJi ell fluxul ce iese din vfuful sursa ~i en valoarea fluxului ee intrA in varful destin ape.3) 0 0 14 11 11 14 14 (4.1.5) 0 0 11 11 (5. Exemplul4.2. 5].3) {I.4.j Ips Q!. . care se folosesc pentru a calcula fluxul de pe linia urmatoare. Pe tabel s-an precizat arcele grafuJui atAt prin indieele cornponentelor fluxurilor aleator ales de noi.k {l.31 E 14 11 5 3 {1.rful l Ia vfuful 3 in graful din figura 4.1.o aI'l fDI (1.1. Vom aplica algoritmul 4.1 • . Taieturi de capacitate egal! cu valoarea fluxului maxim sunt datedeA = {I.5. precizAm ell pentru k = 0 graful ecarturilor este chiar reteaua de transport din fig 4. Pentru a urmaril algoritmul am dat ~i grafuriJe ecarturilor pentru cele 6 iteratii.5. 164 165 .1. Prin urmare la fiecare pas valoarea fluxului ereste cu un numar natural (E E N").3) 0 14 14 19 19 19 Jl.5.2A.2.

S. j) E U oJvnd qJ. a fast marca I . 81 se determine un flux maxim ill reteaua de transport data in figura 4. s. .W'" A . valoare maxUl14 'JI i:=P(t). Precizam c! eelor "doul tabele Ii s-au compJetat succesiv ~i alternativ liniile odat! cu evolutia variabiIei k (numarul iterapei)..4 ~ia v ern E cores· d DeplStarea . de tipul u .care EO) :=z mm E I .nci qI" = fA.2. = fA.lui i Ii in graful ecarturilor G(cp) existll un drum de la s la i. . j:=i. .4. + f. daca p(J) j atunci in arborescent! v8rful j este piirinte at v&rfu. { (1) ~ } sau dac8.DadJ Il = (j.. k=5 Flg. Deoarece la fiecare iteratie prirnul v4rf etichetat este vftrful sursa (pentru exempJul nostru acesta este varful 1) ~j de fiecare data eticheta acestuia este (0.. . Precizam i. i:""ro).1•• _. j. 0 areE(O . (. t (PC 1) ¢ 0) aumcl se va marca virful l. atunci varfuI i nu apartine arborescentei ~i nu exista drum In G(cp) de la s Ia i. i) G Urespectiv arcul u· daca. u = (j. v3rfurilor) unei arborescen~e e construi grafele G(!p) pnn construirea (rnarcarea Daca vfufuI . Rqet4 Dac4 £. t) Iii U a:lu. Cu -u p . " lul urmAtor of em aceasta poslblhtate. In rezolvarea probletne1 mCI un rum c ~. j) E U ~j !P. adica sa observam mai intAi c4 reteaua data. • ISqdac4. care are ca ultim arc arcul u+ daca u = (j.i) E u... Rezolvarea problemei 0 vom prezenta eu ajutorul a douA tabele. It = (i. < Cu caz in.i ~ daca P(l) O. Unu! contine v8rfurile grafului. exemp alori punzAtoare lui se poate face tMl a . .jE X~i • iar • c! informatia conpnutA de vectorul p se poate interpreta . . pIJn4 clJndj~.ul ~ nu este de in final dacl p(t) ¢ 0 (s-a marcat v.=l.. are sursa 1 ~i destin alia 3 (ca ~i reteaua de la exemplul precedent). . . 00) in tabel nu vom mal trece coloanele corespunzatoare acestui v!r:f..2. d di graM ecarturilor nu a folosit arce radlcma l'- . ""1 modificarea componentelor sale se face cu prU\NU. !Pu}· .fdlwf.' 8rfu1' t) atunci f1ux.5.= mm{t(I). = = k=4 Exemplul4.'=«1): u = (i.5.2. ~. 'if 167 166 . drumului }. CelllaJt contine valorile 1n evolutie ale vectorului flux cp. ii eticheUirile acute Ja diferite etape in evolutia algoritmului.) :=i daca u = (i. . z) E U ~I (jIu > caz 1D C .

fill k 0 1 2 (I. a IC A = {I. 2 3 4 eJ 5 " 0 I 2 3 4 S '1 I I 5 1 "+ + + + 'J 16 7 11 '1 4 4 2 2 2 '2 + + + + + '1 2 I 'J + + ~ \) '1 I 1 .2) 0 0 0 0 17 11 17 17 3 4 5 6 0 0 17 17 17 17 9 9 (1.23} E 9 I 17 7 9 0 0 11. ora. Pentru eli c. care este 0 tl!. Tabelul precedent poate fi intocmit ~i in alte moduri. dotarea salii sa.4) 0 0 1 1 I 10 12. 169 I 2. important este faptuI eli indiferent de modul de intocmire al sliu se obtine un flux (poate ~1tu1decat ee~ obtinut) dar care are aceeasl valoare care este egala eu valoarea ~ a fluxu~ul in reteaua data (valoare unica). zilele ~i intervale Ie orare cand pot fi planificate activitllti. capacitatea tliieturii ro(A) este egal! cu Cl + C3 + C4 + CB l7 + 16 + 11 + 10 = 54 4. 3)}.. disciplina.3. corespunda actlvitdtilor care se vor desfl4ura). grupa sau semigrupa de asemenea printr-o codificare corespunzatoare se poate identifica prin cunoasterea valorii codulul (carnpului) formatiune. profesorul Si disciplina.3) 0 0 0 ~.2. 1. grupa sau semigrupll. 5.31 nu e~istll 11 11 10 10 D· eel. 5 4. sala.6. Aetivitatea de intocmire a orarului 0 putem privi (rnodela) ca problema de flux maxim intr-un graf special.k=!d"' . seminar sau laborator) dureaza 2 ore (120 minute). 4}. al salilor. in eontinuare dam t. VIIfuI3 e nemarcal. al profesorilor. De exemplu constderand cli de~i toate activit!li1e (curs.1.vr.S. 3.2 31 { 1.5.4) 0 '" 9 9 9 9 lP7 (2. 0 rnregistrare (pozitie a orarului) ne imaginllm cli ar contine nu neaparat In aceasta ordine informatllle: ziua. 1. 'J 28 28 4 7 9 I + 9 1 17 7 9 12 + + Ordlnea dicHdrii vArfurilor i.3. toate disciplinele sa fie predate conform programei de fnvaJiimdnl si formatiile sa-# des. anul (grupa sau clasa). 3. vom numerota momentele de inceput al acestor activitat] care pot fi orele pare intre 8 ~i 18 ale zilelor de luni PBna vineri sau samblitlt Vor fi astfel 35 de valori. formatiunea.lJ. (1.o (A) . sl se realizeze un orar R§a meat toate elementeJe celor patru multimi sli fie "multumite". Sa mai precizam ca dad! pentru 0 formape (an. adica: Tot! profesorii Sa fie programati conform eli numdrul de ore sapttimiinal a fiecaruta.in stili adecvate (numi'iru! partic/pan/i/or sa fie rna.l. Un orar poate fi interpretat ca 0 succeslune de informatil grupate sau ca o bam de date din care se poate extrage: programul claselor. De aici a inregistrare a orarului se poate interpreta ca fiirid un drum fn graf $i care eontine elite v~rf din fiecare tip. Astfel. d' Ii capacitatea taieturii datA de multimea v~ilo~ ~eate la ultuna}tera!e.3) 0 9 10 10 10 10 0 17 24 33 33 .a.). Un tip similar de codificare se poate realiza pentru disciplina + forma de activitate la cea disciplina (curs.S) IjI] ~l (1. - multimea salilor.431 _l_1.este egala eu .4. 168 . 3. un mod de codificare ar fi sa nurnerotam intervalele de timp ale unei sliptll.2) 0 (5.mani de lucru. (4. Se cere: Tinand cont de toate interdependenlele dintre cele einci tipuri de date. Modelul ales trebuie saasigure atingerea valorii rnaxime a fluxului doar in rnomentul compJetlirii orarului. 3. multimea disciplinelor. 1.abelul e~e pree~azA f1uxunle obtinute pentru reteaua datA folosind etichet!rile §I drumurile precizate de tabelul demai sus. d!l /12.2. dar orele pot fi altfel codificate (60 minute sau alte intervale ale zilelor). Astfel.4. seminar sau laborator) informatie pe care 0 Yom identifica din valoarea campulul disciplina. Pe de altA parte anul. .. multimea formathmilorf grupa 22? anul1mf~ etc. 4. profesorul.. Modelarea problemei orarului ca nux in grafe Problema orarului in csteva cuvinte se poate formula astfel: Sedan: multimea profesorilor.) se cunoaste profesorul se poate deduce %. etc. 3).Ja$oare activitiilile.3) 11. Aceste drumuri pot fi drumurile in baza carora creste valoarea fluxului intro retea de transport. 2~ (1.. 1 I 11 + + 11 2 6 I -I- II 14.i care este disciplina) ~i invers din perechea fonnatia-disciplinl1 se deduce profesorul care intra in respectiva tnregistrare. elernentele care intra in orar Ie putem considera ca vflrfuri ale grafului.ieturl de capacitate minima. sala.2.3) 0 0 !pi (4.3_l (I. va 10a rea maxim! a fluxului in reteaua datA este 54 ~i . 0 0 0 qIs 9 16 16 16 0. ar exista cinci tipurl de v§rfuri ~i anume ora.2).{(5. Prin realizarea unor codificari potrivite ziua ~i ora se pot identifica din valoarea variabilei ora. mic sau ega! cu capacitatea salii.

A~a cum se. stabileste eel ce modeleaza problema lmpreuna cu conducerea institutiei (scoala. tun alt viirf special nurnit desttnatia retelei.i: G = (V. unde: s este varful special nurnit sursa retelei. facultate.:il~ d. miercuri ora de la 14-16 va fi yarful cu numarul l6 in total vor fi 30 de varfuri. atunci arcul ce leap virfurile corespUllZAtoare va avea capacitatea egala cu acel numAr de are. Intr-o partitie avern disciplinele (eventual pe forma de desfasurare curs laborator. liceu. . etc. etc. sail de sport. pentru transformarea grafului Intr-o retea de transport.).). intr-o alta partitle avem formatiunile (anii de studiu. etc. Vart'urile adaugate grafuJui varful sursa (s) ~i varful destinalie (I) vor fi coneetate de toate virfurile asociate disciplinelor respectiv de toate vilrfuriJe corespunzatoare orelor."I Un prim model pe care 11propunem pentru realizarea orarului asociaza acestei probleme un grafmultipartit in felul urmator: lntr-o partitie avem profesorii (cadre didaetice sau laboranti sau maistrii-instructori. etc. seminar. fiecare formatie de studiu i~i poate desfasura activitatile in anumite sali ~i fiecare sala poate fi disponibila la anumite ore din slptamanl1. V: multimea vart'urilor grafului. adica 5 zileisapt!mfula dlte 6 are pe zi. etc. 0 astfel de retea asociata unei probleme de acest tip este prezentat "(schitat) in figura urmatoare: i .). iar pentru fieeare ora (de fapt sunt 120 minute sau 60 minute) de curs seminar sau laborator vom avea cate un yiirf al grafului in partitia ore lor astfel: luni ora de la 10·12 va fi yarful eu numarul 3. sernigrupele.). Daca se doreste rezolvarea problemei pentru invltAmantul preuniversitar se vor considera 60 de varfuri pentru cele 60 de ore dintr-o slipt~fula (5 zile x 12 ore pe zi) numerotate de la 1 la 60 sau dupa cum. Jaborator. semigrupa sau clasa). iar fiecare saUl va fi legata de acele ore la care este disponibiUi. tn acest caz pentru fiecare profesor. sali de sport).) care va fi predata de anumiti profesori va fi . de studiu. unde: E: multimea arcelor.Iegatli de varfu. grupa. Adica: fiecare disciplina este predata de niste profesori. ateliere. c) . fiecare profesor des~oarl'i activitati cu anurnite formatii de studiu (an. formatiune ~i sala YOm avea cate un van al grafului. etc. fiecare profesor ce trebuie des~oarl'i aCtivltlitl eu 0 anurnita formatiune va fi Iegat de formatiunea respective printr-un arc.retea de transport.): rnai avem 0 partitie cu salile (curs. . seminar.efinite de acestia printr-un are. Se vor eonecta (va exista arc intre) varfurile care definesc posibilitati (compatibilitati) de desfasurare a unor activitati. Notafi.reteaua problemei noastre. c este 0 fimepe c : E ~ ~ • c(i) se numeste capacisatea arcului i arcelor vor primi valori in ~ilimlteaza valoarea fluxului pe arcul respectiv. activit!lile de Ia fiecare disciplina (curs. capacititile • daca un profesor trebuie sa predea un anumit numar de ore dintr-o disciplin! oarecare. clasele. modul urmator: in reteaua R definitll mai sus. R = (G. t. disciplina. s. grupele. fiecare formetiune va fi legatli la rfuldul el printr-un arc de acele stli care lndeplinesc condltiile impuse de numlirul de Iocuri sau dotare (lab orator. 170 171 . laborator. Pe langl1 cele cinci partitii ale grafului vom avea inca doua vfufuri unul sursa si celalalr destinatie. seminar. vede ~i in figura anterioara. l1i 0 ultima partitie cu orele (momentele posibile pentru a incepe acti vitlitile). E) .

din G '. . Se poate aplica algoritmu14.l ~i pentru grafe G. V3rfuJ i ' so mai numeste intrarea in i. Fluxul de valoare maxima de la s la t. U) care au restrictii Se observa cll. nu exist! arc respeetiv valoarea -] pentru existenta unui arc inhibitor. Fiecare rezoIvitor decide asupra modului de reprezentare a retelei definite de modul descris aici pentru problema orarului. • Pacli se doreste 0 optimizare a variantei de orar Intocmite. Extensii ale algoritmului lui Ford-Fulkerson I.) pleaca vehicule.7. doua sali ~i trei ore. ce se inlocuie~e fiecare muchie cu 0 pereche de arce care au sensuri opuse ~i capacitatile egale cu capacitatea muehiei. capacitatea fiecaru] arc ce leagli 0 • formatiune de 0 saUi va fi egal cu eel PUtin surna capacitatllor areelor ce intra In v!rful formatiune din care pleaca arcul respectiv de aceea valoarea poate fi numarul maxim de ore dintr-o sapt1mAnll. exemplu edificator pentru a se fnteJege felul in care functia de capacitate prlmeste valori: 4. 3. atunci propunem ca in reteaua de transport definita rnai sus s! se mal adauge un alt tip de aree pe care Ie numim aree inhibitoare. Rolul arcelor inhibitoare este In aplicarea algoritmului lui FordFulkerson nu se vor selecta drumuriIe cu proprietatea ell. in acest moment orarul nostru este complet. atunci arcul ce leaga virfurile corespunzatoare va avea capacitatea egal! cu aeel numar de ore. Un exemplu pentru 0 disciplinll. precum §:itimpul tij necesar pentru a ajunge din a. li se atribuie capacitlif. Se va aplica algoritmul lui FordFulkerson pentru graful G' obtinut din G prin urrn!toarele: Se inlocuie~e fiecare v§rf i al grafului en doull. atunei se va adauga un arc inhibitor intre vfufurile profesor §:iora corespunzatoare.• daca un profesor trebuie sll desfasoare un numar de are eu 0 anumita formatiune. capacitatea fiecarui arc ce porneste de Ia sursl avea ea valoare eel putin numarul de ore s!pt!mlinale prevazute de programa de invlltam!nt pentru discipline in care intra acel arc. Un alt exemplu este in anumite s!1i nu se pot desfasura anumite activltati (discipline) ~i se va adauga tntre aceste varfur] un arc inhibitor .intre doua varfuri ale sale exist! un arc inhibitor. Yn etapa de obtinere a fluxului maxim in orar au fost plasate toate pozitiile..ajung! Ia 0 destinatie comuna h. se determina prin alegerea succesiva a unor drumuri in grafele ecarturilor. iar vfufuJ i " se numeste iesirea din i. i E X.i aJ atunci se da numarul ci. De exemplu daca un anume cadru didactic nu este liber Ia anumite ore. Prin aceasta metod! se va detennina 0 variant! de orar. eX. conform algoritmului.5.. 2. care depinde de ordinea in care se aleg drumurile din graful ecarturilor. profesorul. in af Se 173 172 . ce transportll ceva. de exemplu dou! matrici de adiacenta sau 0 matrice cu valori egale cu capacitatea arcelor sau 0 dacll. urmand ca ele sll.i egale en cele ale areelor. pentru a stabili un orar vom determina eu algoritmul lui FordFulkerson descris mai sus fIuxul maxim in reteaua R. Cum in orar trebuie plasate to ate orele tuturor disciplinelor valoare egala cu capacitate a taieturii fi)+(A)defmitA deA = {s}.5. haze. Algoritmul 4. Aceste arce definesc restrictiile impuse orarului.j de vehicule care pot pleca din at catre OJ in unitatea de timp. Prin urmare reteaua se va reprezenta prin cele doua tip uri de arce. Acestor arce. formatiunea. Pentru flecare arc al acestor drumuri. v§rfuri i ' si i ". Deci. Fluxuri pe grafe dinamice ModeIu1 acestui tip de probleme de transport este urmatorul. .In G ' se mai adaugll. se va scadea din capacitatea sa capaeitatea reziduala a acelui drum. doua formatiuni. capacitatile arcelor ce ajung l~>destjnatie vor avea valoarea 1. carom le-au fost asociate . sala §:iora ~i invers fiecare pozitie a orarnlui este un drum al retelei de transport R. Aceste restrictii pentru problemele din· practica inseamn! spatiu de depozitare (cazare) a fIuxului in vllrfuri." de capacitate In vart'uri C(l). areelor din G care intra in i Ii se vor asocia in G ' aree care vor intra in i " iar arcelor care ies din i Ii se VOT asocia aree care ies din i ". etc. Din diferite puncte a{ (orase. Dacaexista 0 legatura directa tntre al . din G.(30 sau 60 sau altfel). • • capacitatile arceJor ce leag! sllile de ore vor fi egale cu J. arcele de tipuJ (i " i ")carora li se atribuie capacitatile c(i).fi~care drum de la s la fin reteaua R ar putea fi a pozitie in orar pentru ell drumul precizeaza dlscipllna.1 se poate aplica ~i pentru grafele neorientate dupl!. Fiecare astfel de drum de la s la t care a fost selectat este 0 pozitie din orar. doi profesori.

Aceasta problema se poate reduce la o problem! de flux maxim intr-un graf G '. 174 175 .1 I p~ctele a. Se consider! trei puncte in teren cu legaturile ~itimpii precizati ca ~ingraful din figura 4.1 este valabil ~i pentru aceasti problema cu precizarea ell pentru un arc u == (i.tq ~i acestora ll se atribuie capacitatea cij.se desfasoare simultan atunci este suficient ca in graful d arcului de retur s!i.Si $1 arcele (bl• d). Exemplu14. t = 0.. F"1g. Daca cerem in plus ca toate activititile sau un numar dat de ac_tivitap·s!i. T.). numarul vehiculelor care sosesc In b sl fie eel mai mare posibil.+l) .. S1 presupunem ca tv $i T sunt multiplii ai acelei~i umtAti de nmp. sApresup~em e! I = 1. n carora li se asociaza capacitatea Cj. Se adauga sursa ~ ~~destinatia d precum ~i arcele (.2.I'. Pentru exemplifieare s!i. t = T_ .~ organizeze traficul pentru ca tntr-un interval de timp dat T. 1.i) din Gin gra{uI ecarturilor G(cp)construieste arcul u+ (i.I = m ~iI XII = n.2 •.. b" < 'P" eu capacitatea reziduala '"PM ~ b".7.. 4.Pentru fiecare a. bo egaUi cu nwnMul de 'activitAti ce dorim sa se des~oare simultan.3.-i impunern 0 limitare inferioara a fluxului.7. De aserneni lui. FJuxuri de cost minim Un alt caz particular al problemei de flux in grate este problema de transport. cu capacitatea reziduala CM . aOi)' i = 1.7.. Se mtroduc arcele (a! . Se cere sll. U Xh adie! grafuJ contine nurnai vart'uri Sursl ~i varfuri destinape in consecinta. Fluxul maxim In G ~etermillii.1.1.7. Vom discretiza problema considerand momentele de tunp 0. ? 1 FIg. i) daca . o alta extensie a algoritmului lui Ford-Fulkerson consider! cazuJ in care marginea inferioara a fluxului pe fiecare arc u nu este 0 ci 0 valoare oarecare b.b ti asociem varfuriJe b'. Este evident cA un flux cornpatibil cu capacitaple nu existli pentru orice gra£ = 4.5. T. ~i aJ care au leg!turlI. Considerand T = 4 graful dezvoltat apare ca In figura 4.1.2. revenim la problema afectarii celor p activitap la q masini (exemplul 4.traficul rutief care face ca la destinatia b sa ajWlg!!un num!r maxim de vehicule. Pentru mai dau numerele I .a.raf!tl de~oltat.1'1 de vehicule disponibile in alIa momentul 0 ~j n~iirul maxim CI de vebicule care pot stationa in varful a/.j) daca CPu < c. t = O. directa se vor asocia arcele ~.8.4. ...7.. Algoritmul 4. Particularitatea consta in faptul eli X := X. T cu capacitatea 00. n. in acest caz apare insl problema determinarii unui flux compatibil pentru pornire (inipali2are).. este un graf bipartit complet SApresupunem ca ]X. T .1 ~i i = 1.CP ~i arcul u' == (j.• T. oumit' c. t = 0. t = 0. n carora li se a~b~e ca~aclt!itlle. se asoclaza 10 G ' varfurile at.1. 4.?: 0.

Observatia 4.lj=l. Pentru rezolvarea unei probleme de transport se utillzeaza algbritmul lui Dantzig.bjJ: LL III n Cfj xij . exist! (se produce) 0 cantitate at din produsul de transportat (resursa). Asa dupa cum s-a rnai precizat variabilele care primesc valoarea 0 in algoritm se considerli cli fac parte dintre variabilele bazice in timp ce variabilele care nu prirnesc nici 0 valoare.. se considers cli au de asemeni valoarea 0 dar sunt variabile nebazice. in algorltrnli de initiallzare. sfd.:=arx~: dJreiI a. 11 se face cu 0 cheltuiali Cjj unit!ti bllne~ pe unitatea de resursa. se sollcita cantitatea hJ de resursa. ceJeJaIte fiind nebazice au valoarea O. elll timp a. eu m~~da coltului de nord-vest (sau a dlagonalel) sau cu metoda costurilor mmrme. Deci 0 solutie are eel mult m + n .tAPtll. at l:-((iJ) II=l. se impart in celuJe bazice §i nebazice.1 ..1 arce corespunzatoare variabilelor bazice din graful bipartit complet. se obtine 0 solutie optirnli. care are In + n vitfuri.. aJege (kJ) sau (i.~: 1:=I-{(kj. adicli • L.m ~ij=l.8. Acest algorltm are douA etape ~i anurne etapa de initializare ~j etapa de detenninare a solutiei optirne.nj·{(U) I ielm}. Datele problemei se pot prezenta §i sub forma unor tabele (matrici cu valorile areelor grafului hipartit complet). Din acest motiv numarul neCW10Scutelor bazice este m + n . a1Jfel m L'".1 valori xiJ diferite de O. dintre care m + n . Vom presupune c!1 problema este echillbrata. Corespunzator variabilelor Xv ~i celulele (i. Determlnarea unei solutll initiate Se poate face. dncll at=bl alunci xJ:j:=at. celelalte valori nu se tree in tabel §i se consider! cli sunt O. notat!(X).Prin urrnare tn virful i E K. succesiv pAnll.1) I i=J.Ij: =0 dac4 i < In alWIci i:". sId: altfd dac4 br~O atunci altfeI sfd. iar tnj E X.1.j+l.n}: elit limp J#P fie (k.. bl. at: = a~ .I. bF=brxu: Daca problema nu este echilibrat! atunci se adauga un varf sursa sau un van destinatie fictiv care 51!.t costul total de transport care este 1. altftl XtJ' .1 sunt Ii~iar independente datorita conditiei de echilibru.Cele m + n . /-1(. pecare unii algoritrni le folosesc §i pentru inscrierea rezultatelor.=/Ji alum. 176 . Un astfel de tabel aratA astfel: 2 ctl ell 1=1 1=1 j:=j+l.I) din J. a.lJ din J cu cu=min/ru I (iJ)E 1) dacll at < bl alunci xu=as: b. cunoscut in mai multe variante. formeaza un arbore partial al sid.:i Xi/+ I sau Xi. din tabel.)) E Xs x X. sfc. . 1n etapa de initializare se determina a sohipe admlsibila care in etapa a doua este tmbW1l1.n}. 177 grafului.a bI ic"ll bJ ~IM alii bl b.tO xlJ.m/.'''''lIIin{ a. XtJ ~'auXI/:=O.aI = ~>t' II' " a. 1:=I-((kJ) [j=l.De asemenea presupunem ci datele problemei (ai. sfc.bj.·= b. Transportul pe arcul (t. sfd. astfelfnc6. hj' cij) sunt numere naturale. Sistemul care exprima conditiile problemei are mn necunoscute ~i m + n ecuatii. pentru (i. Problema cere sl se determine un program de transport (Xjj)...)}. l=i+ 1 i:=i+ 1 J CJ) n Cln al h. produca respectiv si cearll diferenta de resursa cu cheltuieli de transport O. Metoda coltului de 'nord-vest it=l .XkI: /: . 1=1 J=I sA fie minim. Metoda costului minim Cil Ca cij e". j:=l. In tabel se vor trece doar valorile variabilelor bazice (unele pot avea vaIoarea 0).

exealtii Fie dl<{=miHfdij xq:=xu-fJ sJp: a.23 d21 =22. problernei 0 ei lnlelegem Deoarece problema data este echilibrata (100 + 60 + 150 = 80 + 90 + 60 + 80) trecem direct la etapa de detenninare a unei solutii de pornire (solutie admisibila inipala) .40 + 6 ..XJl=X3Z+ e = 30. (a) Peniru (Ij) celufli nebazicli e:ceclltll determind un ciclu atasat ei.15 = 14.1. atuncij(:I) .23 = -52. Dl1.2. Deci. 179 178 .din cleful IJJ.3=9. I (iJ) ifp: Peturu sIp: gOlD (Ij) celu{iJ din /-I-1/lQrcatll cu + f!XJ!cutif Xii-""Xij+O (a).X]l=XlJ - 8 =40. tabelul a. Determinarea dateal solutiel optime Mai intii definim notiunea de ciclu atasat unei celule 'nebazice in tabelul de de transport. atuncif(.6 =47. Vom rezolva problema de transport data In tabelul: 15 40 5 9 23 20 16 Acum vom aplica algoritmul de obtinere a solutiei optime pomind de la tabelul a.33 + 6 -25 =-36.ciidj.~i (3.25 = -39. 100 60 150 22 28 80 33 6 90 Valoarea minima este d13 = ·52. J}. Un alt algoritm pentru cbtinerea solutiei optime este eel cunoscut sub numele de metoda potentialelor care are msa 0 complexitate mai mare decat algoritmul prezentat. Teorema 4. (3.e '" 0. marcheazd celulele din del" alternativ cu + 11 . tabelul b. prin ciclu atasat succesiune de celule ce porneste din {i.C) ::ff(x')./J ceiulif marcatli cu . 2). 60} = 20 ~j facem modificarile: Xu =XI3+ 25 80 60 e = 20. ajunge Ia celula (i. Fie fJ:"'l/Ijnfx~ 1 (i.U.3) trece ~iprin celuIele (1. In celuJele bazice ale tabelelor s-au trecut ~i valorile variabilelor bazice Xu sub diagonala flecarei celule.33-t40 . trece nwnai prin celule bazice. ell care de altfel se aseamana foarte multo ExempluI4.::j(x'). Pentru (iJ) celtlfa din IJ marcata cu . dad! didO?O.4= 16 . d'4 = 20 .8. Calcu1l1mvalorile du pentru celuIele nebazice ~iobtinem: dl3 = 5 . d2. Sa observam ca pentru programul de transport dat de transportului este tabelul a costul 80 x 15 + 20 x 40 + 60 x 33 + 10 x 6 + 60 X 23 + 80 x 25 .XI2=XI2 .2). ~i oricare dow celule consecutive se afla pe aceeasi linie sau pe aceeasi coloana mra ca trei celule consecutive sa fie pe aceeasi linie sau coloana. celulli nebazicii) # /-I-cic/ul af(qar ce1uJe. d31 =28 -15 + 40 . j). iar dacd dk150.' (k.: 7420. Deoarece d'J ~ 0 ~iciclul atasat celulei (1. "Fie (i. = -41.1.J~ 0 atunci slOp (s-a obi/mit soluua optimii) ~fd. j) 0 celula nebazica. b. 33 + 6.40 + 6 . cat ~icu metoda costului minim. " In tabele1e de rnai jos sunt date solutiile initiale obtinute amt cu metoda nord-vest.8. Dacd Xl este programul de transport obtinut de algoritmul de mai sus din programul de transport xl. 3) obtinem e = min {20. d2. atunci are loc 1(£) =f(x') + fklk/.incepdnd cu celula (ij) marcata CII +: delernrina dU:=suma algehridi a costurilor din celulele marcate ol'arui ra semn marrajul celulei.

dJ3"" 23 .25 == -28.52 x 20.9 + 5 . este de cost minim.15 == 0. x]2 = 90 = 60. = -36 < 0.23 +5 -15= -5.5 = 11.9 + 5 .16 + 9 . AlgoritmuJ continuA prin a stabili valoarea a = min (40.e = 20.33 + 40 . Xn ==X22- e = 0. = -41 d14= 16 -25 +6. = 20 .5 = 8. Xll = X32 + a == 70. dn=9 -23 + 6-33 =-41. X2] = 40.15 =:: 14. dl4 = 20 . CalculSnd valorile dfi pentru celulele nebazice se obtine: dl2 == 40 .25 + 16 . ~i are costulj'(r) = 4740 .41 x 40 = 4740. X33 = X)) - a = 0.36 x 20 4020.5 + 23 . dll = 28 . Deci dlil == d"}3 si apoi X"}3 < 0. dll = 22 .=X14+ e = 20.25 == -36.6 == 36.16 + 25 . d)l Deci noul program de transport este eel dat In tabelul: = 23 . de aici deducem eli exist! eel putm" unalt program de transport care are costul egal 4020 (costul minim). X24 = 20. = Xl) + a == 40.25 + 16 . Xu = 20.16 + 25 .6 + 33 . e = min{20.6 = 47. ~i X34 Cum did = 0 fuseamnli ca programul obtinut.33 + 6 .9 + 5 .9 == 41. Deci did = dv.23 +5 -15 =-38.5 Calcu1ftnd valorile dij pentru actualul program de transport se obtine: dl2 = 40 . d21 = 22-33 + 6.33 + 6 . I I Pentru acest program de transport costul este !(x) == 80 6 + 33 .9 == 5. sa observant Ins! valoarea minim! did este exact 0.33= -36. Acest program de transport se face cu costul /(x) = 6380 .33 + 9 . iar Xv. dn == 33 . Aeest program este dat in tabelul urmator.6 + 23 . Xl4 =X34 - a == 60. XlI =X32 + e == 90. ceea ce inseamnli cli a1goritmul continua.Noul label este: r I 1 fn continuare algoritmul conduce Ia valorile: dll = 40 .IS = 36.5 = 52.15 == 3. Programul de transport obtinut este eel prezentat in tahelul: x IS + 20 x5 + 60 X 33 + 30 X 6 + 40 x 23 + 25 x 80 == = 6380 =7420 + dkl X 9 = 7420 . dll = 28 - = 16 .25 = 13. 181 ISO . dl4 dv. dl4 = 20 . 60] = == 40 + 9 .5 + 9 . X22 = Xn . dJI =28 . care are valori1e diferite de XII = 80.80}=20. d21 == 22 .

emplul4.8.' 's . 2) ~i(3. deci trebuie sa 0 . care are costul 510 • tabelul de mai jos. -I"'" <OoX>IU spre p rea crtitoru UI. 3) respectiv (2. Cantitatea solicitata de acest van destinatie este 50 liferenta dintre oferta ~icerere). '-. 'm 20 60 Observam ca aceasta problema este neechilibrata. 4). 3) sunt celule bazice. cea de determinare a unei soln1ii optime 0 l"~"Ike .hilibram ~ipentru c! 100 + 60 + 50 > 80 + 20 + 60 se mai adauga 0 coloana (un irf destinatie catre care costul transportului din fiecare sursA este 0 unitAti banesti ~ unitate de resursa).. I' P .. sa se determine un program de transport de cost minim pentru problema de transport urrnatoare: 5 4 3 80 4 3 5 3 5 4 100 60 50 ~a cum se observa celulele (2. entru control darn 0 solutle optima.2. dar pute fi aleasa ca celula bazica in locul acestora celula (I.. a Etapa a doua. Astfel problema este: "i 4 i 3 5 4 0 100 60 4 3 80 3 5 0 0 50 20 60 50 Aplicam acum metoda coltului de nord-vest ~i se obtine ca solutie de ornire programul din tabelul urmator: ~.ij l82 183 .

U. Considerarn acum graful H:::: (X. deci I K ' I. Repetam acest procedeu pan! cand varfurile neselectate au gradul 2 sau au fost selectate toate v1irfurile grafului. ultimului vtirf selectat plinli cand va fi selectat varful i (varfuI de la care s-a pornit).. l:l'n cJp1aj se numeste cup/aj maxim dad! tIl multimea cuplajelor grafului el are numar maxim de muchii.. deci g(r) = 2.) u (..K) este de asemeni . . U) un graf simplu.J..cuplaj.T ! 5.' Fie K un cuplaj.K este cu 1 mai mare deca..dintre componentele posibile (lema 4. tn H. Kl!J( '). Vom selecta succesiv.. altern an! crescator relativ fa K. sa presupunem ca exist! un lant fl. '.. I K ' .. Fie G = (X. far X ~i X' douli r:up/aje diferile ale lui G.K I ~i de aici I K I .1.I. un varf eu g(j) . Un varf i E.I K' I. a componentelor eonexe ale lui H panA cand vor fi selectate toate varfurile grafului. de schimbare It muchiilor ingroiltte cu celeIalte muchii din tant. Selectam. " Un euplaj se numeste cuplaj perjectdac'A samreaza toate varfurile grafului. Deoarece relativ la arnbeJe cupJaje nu exista lanpiri altemante crescatoare i'nsearnnli eil. Un lant altemant se numeste Ian.1. cuplaj al sau este orice submultime de muchii K care are proprletatea cll. Conform primei Plirti a demonstratiei nici relativ la K • nu exist! lanturi alternante crescatoare.1) Hare numai componente de tipul 3 de lungime para. ultimului vitrf selectat panli cand varful selectat are gradul 1 (deei operatia de selectare nu rnai poate continua).unde V = K L1 K' pot fi. In continuare selectarn un vlirf" i dintre cele neselectate..t numarul de muchii din K. de trei tipuri: - tipul l : puncte izolate. obtinand astfel componenteJede tip 1 aJe lui H.K 'I . Teorema lui Berge {Ber57] Un cuplaj K este maxim daca ~i numai dacli nu existii un Ian. Aceasta selectare este posibila deoarece toate varfurile neselectate. 0 Corolar 5. arlic! K este ~i el WI cupJaj maxim.. Multimea selectata este 0 component! de tipul 2 a grafului H. Se repeta procedeul de punere ifi evidenta. in reprezentarea geometric! a grafului convenim ea rnuchiile ce fae parte din cuplaj s! se reprezinte mai tngroiat. Daca K este un cuplaj ~i JJ este un lant altemant care daca are vreo extremitate saturat1! atunci unica muchie din K incident!acelei extremitati face parte din ]. [J rom Teorema 5.?"- Lema 5. vftrfuri nesaturate.o numtm transfer de lungime ell lantul altemant J. Fiind dat un graf simplu G = (X. Multimea vlirfurilor selectate formeaza 0 components de tip 3 a lui H.. 184 == ~~ ~ 185 .. .1. Demonstra(le: Necesitatea Vorn utiliza metoda reducerii la absurd. Fie K' . atunci K • = KIl. selectlirn vArfu! adiacent acestuia. apoi. oricare doua muchli nu sunt adiacente... allemant erescdtor dad ambele extremiUlti ale sale sunt .l. 0. Deci I K . aceasta din v~ oarecare este incident eel mult unei muchii din K sau eel mult unei muchii din K . CUPLAJE iN GRAFE in acest capitol Yom considera doar grafe neorientate. = (X. dintre varfilrile lui H neselectate vfufuI adjacent. 0 operatie d~ transf~ de hmgime ell un lant altemant crescator mareste cardinalitatea cuplajului cu 0 unitate. Un lant altemant crescator are lungime impara. Demonstrafie: tn H pentru orice vllrf i are loc g(i) S 2....1..K. (K ... tipu/3: lanl elementor.X este vliif saturn' de cuplajul K dacll ~inumai daca eupJajul are 0 muchie inciden~ v8rfului i. ~ este lanl Vom pune in evidenta componentele conexe ale lui H prin deterrninarea v§rfurilor fiecarei componente conexe cu ajutoruJ unul procedeu de selectare a vfu'furilor. Un cuplaj K C U care nu lasii mai mult de un vdrf nesaturat este maxim.. tipul 2: clclu elemeniar par. altemant crescator relativ la cuplajul K... Definitla 5. au gradul 2. iar ~ un lan] elemental" al grafului G . Vom selecta apoi succesiv vlirful adjacent.. U). Suficienta = . I K I + I > I K I ceea ce contrazice maximalitatea lui K. a1ternant relativ la K dac! muchiile sale altemeaza in K ii in U . iar numarul muchillor sale din U . Fie K un cuplaj astfel incat nu exista Jan! alternant crescator ~i fie K • un cuplaj maxim. din H. U). Componentele conexe ale grofulu! partial H = (X ~?. Selectam fntili cate un vsrf i eu g(i) . 1. Aeeru:tli operatic.I.

(4. U Kr nu v= {(i. U{(i. Fig. (:4. 8. 5. exact un van nesaturat. sa observAm cli !J. 3} este crescator. Vom alege cuplajul maxim Kr al lui J. 5.definit de Y = {5. Considetii.L care lasa pe k nesaturat ~i deci KI u Ky este un cuplaj a1 grafului G.2. imonstnuie: Fie K' un euplaj maxim ~i considerlim graful H = (X. 6.J) E U} u Y Exemplul 5. exista un lanl altemant crescdtor fn G relativ la cuplajul KJvKr. 5. Un exemplu de graf restrans pentru Y = {2.ltun altemante Deoareee exista eel mult un varf nesaturat lnseamna crescatoare ~i deci cupJaju1 este maxim. 7. I'. 6. dad K.2.8). eu un pseudovarf y care se conecteaza eu alte varfun din GIY ca aeestea sunt conectate in G ell vreun van din Y. este G/Y= (Xu (y} .. Fie G == (X.2. AtUllCi once cuplaj maxim K ' al lui G se poate obtine din K printr-o succesiune de transferuri de Iungime ell. Deoarece ibele eupJaje sunt maxime inseamna c1 H nu are componente de tip 3 impare.2 este: Dacli exisui un [ani alternant crescaior relativ La K.m grafuJ G din figura 5. 5)] nu este maxim in graful G.k)E U). U). Daca niei 0 muehie a lui KI nu este incidenta lui y atunci lema este verificata daca se a1ege oriee cuplaj al lui J. m185.y)jiE X-Y.L de cardinal ([ Y j • 1)/2. . nu exista Demonstrafie: Cum KI este un cuplaj in GIY inseamna ca eel mult 0 muchie a lui K. 5)} ~i deci nici KI U Kr = {(2. Pentru K. = {(2. Cuplajul K yfiind eel dill lema 5. nu este un euplaj maxim aJ lui GIY atunei KI este un cuplaj maxim aJ lui G.4.1. Fie Y C X multimea vdrfurilor unui cictu elementar impar J. 8). l! Ky 187 . KAK '). fiind impar orice cuplaj maxim al siu are (J Y I· 1)12 muchii ~i lasll. Altfel spus. U) un graf ~i Y C X 0 multirne ?e varfuri ale sale. 6).1.1. imediata a lernei 5. Graful restrsns al lui G relativ la Y. 7. care este maxim deoarece lasll un singur v€lrfnesaturat. 3} in G relativ la XJ U Ky.2. din ciclul impar GO'). deoarece lantul alternant {I.L astfel G GIY Fig. ea in graf .3kE §i Deci graful restrans se obtine din G prin inlocuirea subgrafului g~nc:rat de adica a lui G(y). este incidenta (pseudo )vfufului y al lui GI Y.::a . notat GIY. :6 j .)) I t. 6). in care alegem ciclul. in GIY atune. 4} se d! in figura 5. 0 uolar 5.Y. (i. y)} nu este un cuplaj maxim. Ky= {(7. 2. le1 pomind de la cuplajul K se fae transferuri de lungime cu fiecare componenta nexa de tip 2 sau 3 se obtine euplaj ul K '. Daca exista 0 muchie a lui KI lneidentli lui y atunei rnuchia eorespun·7Atoareei din G este incidenta unui varf k a lui Y. In graful reclus GIY cuplajul K. 0 :finitia 5. (7. Aceasta 50 deduce ~i din existenta lanpilul altemant crescator {I.L Daea KJ este un cuplqj al lui O/Y aiunci existii un cup/oj maxim Kr allui j.n cuplaj maxim al lui G == (X.2. y. Fie K u. V) unde o consecintli.2. 2. fndlt K = KI U Ky este un cupla] al lui G.! EX - Y §i (i. Ian/uri alternanie pare doua cote douii disjuncte (unele tarauri pot fi cicluri). se aJege euplajul maxim.

G' = (X.T) arboreJe curent.rldAcinA 10. Sli presupunem eli acesta este a. dorim sll marim acest arbore. deoarece nici 0 muehie incidentli ell ~ nu este din K't deci ea nu apartine nicilui KI" In GIY lantul altemant 4. U) graful curent. 10 E Yeste singurul virf nesaturat al arborelui. se deosebesc patru cazuri. T=4I. lanturile care conecteaza io ~i un vArfterminal au un numar par de muchii. h.0. conex. ca iterape de bam algoritmul d~ construire a arborilor alternanti ai unui graf asociati unui cupJaj dat. conecteaza doua viirfurit a §Ii y.0. Ridl cieJuri allui G. n Suficienp Vom utiliza metoda reducerii la absurd. = Construitea unui arbore altemant de radacina 10 reducere Deoarece algoritmul transforma graful ~i arborele cu cic1uri de lungime impara vom nota cu: curent prin operatii de Intre a ~i prirnuJ vfuf din JL In mod necesar muehia lui La incident! lui ~ nu este din K'.ffralie: un transfer de Iungime cu acesta obtinandu-se un cuplaj de cardinal rnai mare. inilia/iziJri y=yo={io}. Y lantul unic din P intre 10~ij. = = Demon. Unele dintre varfurile lui X. G'=G.demonstrata.' KI deci el este maxim. cuplajul K ~i vftrful io decide dad exist! sau nu vreun lant altemant crescator eu extremitatea in .3. portiunea lantului L cuprinsli a. Pentru aceasta Fie P = (y. euplaj maxim al lui GIY.L Atunci K este un cuplaj maxim al Iui G daca # numai daca KJ K . Procedura va construi un arberele alternant maximal de. este maxim in61YatUnci La nu este Ian! altemant crescator deci are lungime par! (eventual de lungime 0). Fie K un cuplaj al Iul G care /asli eel putin dOUG vdrfuri nesaturate # fie /1 = (Y. y. Deoarece K. 0 Deflnitla 5. iar cele din X . trebuie glsitli 0 metoda care sA permit! gaslrea unui Ian] altemant P = (Y. care este nesaturat de K. E b. Pe de altA parte varful r!mane nesaturat ~i de K " prin urmare in graful GIY pseudovarful y este nesaturat de Kl" Cum K ' nu este maxim in G mseamnll ell existl doni v!rfuri a ~i b nesaturate de K ' intre care existli un lant L altemant crescator. Cum La este par dedueem K ' K ~i prin urmare K ' nu este maxim in G. I I= I I I I = I I. ceea ce contrazice maximalitatea lui Kl" astfel lema este . este c. Metoda c!lutaUl are deci. U) ~i fie io un virfnesaturat Daca io este singurul vart nesaturat atuncl K este maximal. Daca exist! ~i alte varfuri nesaturate. dar K nu este un euplaj maxim al lui G. 1) arborele alternant curent.. Virfurile j E Y. nesaturate de" KI' ~i este crescator. Y sau yO pot fi pseudovSrfuri. V) un ciclu elementar impar astfel incat K/1 K n V este maxim in J. pentru orice j lan] altemant.o C Y multimea vfufurilor arborelui marcate ~i pare. Algoritmul reia iteratia de baz! pan! cand relativ la fiecare dintre vfufurHe nesaturate se ~e cli nu exista lant altemant erescator. Un arbon alternan: de rlidAcinli io relativ la cuplajul K este un subgraf'partial P = (Y. Vfirfurile din Y le numim marcate.notat Lp(j).2. Astfel daca Lp(j) are lungime parli spunem eA vfuful j este par (in particular io este par).t jo. Observafia 5.Y nernarcate. deci a :. se impart in doul: unele pare iar celelalte impare.Pentru aceasta mai intlli introducem notiunea de arbore altemant de rlid!cinli 41. 188 189 . Acest lucru se va face ell ajutorul unei proceduri care pomind de la grafuJ G.rf terminal este van par ~i arlee varf i irnpar are g(i) 2 fiind incident unei muc?ii mgrosate ~iunei muchii subtiri.KjJ este un cup/aj maxim al lu! GIY. Altfel. Pe de altA parte KI' este un euplaj in GIY cu K. in cazul depistarii unui lant altemant crescator se va face crescator. Lanpil L trebuie sa se intersecteze cu u deoareee altfel L ar fi un Ian] altemant crescator pentru Kl' ceea ce ar eontraziee maximalitatea lui KI'. sau sli concluzioneze eli un asemenea lant nu existl. Notarn cu jo varfullui !l nesaturat de k~ ~ipresupunem elijo este unit cu un vlirf io nesaturat de K printr-un lan] altemant 4J. Jo fntr·un arbore altemant orice v8.1. este un . Cel putin un v3rt'din1re a ~i b difer! de jo. altfel j se numeste impar.Lema 5. astfel Incat: Necesitatea Rezultli din lema 5. este saturat de K'. Fie 4. cautarea se face pentru urmatorul vfuf nesaturat. SA presupunem ell K. a. marcate. Consideram cuplajele K' ~i KI' obtinute din cuplajele K respectiv Kl prin transfer de Jungime eu lantul 4J. Vlirful . de la iospre un alt vfirfnesaturat. Fie K C U un cupla] aI grafului G = (X.3.

arborele P este complet construit ~i este maximal.3. # Kz::: K n U:z. ea nu exist! (h. iar pe r D numim riJddcina orbitei. Daca Kz nu este un cuplaj maxim in G2 atunci relativ la Xz exist! un lant altemant crescator in Gz.!!: 3 deci nu poate fi impar. spunem. k E X2• Pe de alta parte K n VI 41. Reamintim eli io este mdiieina arborelui alternant.. altemant crescator in G.Cazull. yO::: yOu {I}. e un vfuf mareat. prin urmare Il L. j) cui saturat ~i nemarcat. pentru determinarea unui euplaj maxim intr-un graf oarecare.2. Lanturile LP(i) ~i LpI.u'}. eu ieslrea B. Suficienta Cazul3. Daca nu ne aflam in nici un caz precedent.t il XI o demonstram tot cu metoda reducerii la absurd. In concluzie K = KI U K2• Fig. eu j ~i k. l) din K mcidenta lui j. Cuplajul K este maxim in G dacd ~i numai dacii Kz este un cuplaj maxim in G:z.3). Ii) E K astfel ine§. 3 i E yO ~i 3u == (i. Deci exist! ~i muchia u ' :: (j. Cazul 4. de Ia to spre I. ~arte din ar~re~e ernant. U/) :: G(X/) subgraful generat de XI> G2::: (X:z. Notiim X2 = X • XJ. Primul varr eomun. Deci Tu (u) contine un ciclu unic u. Din motive similare} ~ik nu fae parte din XI' Deci}. Fie I E L n Xit deei exisUi un lant Ll In arborele alternant de la io la I. Deoarece XI n X2 ¢l acel Jan! este lant altemant crescator ~i in G. u Lj u r u} este un ciclu de lungime impara pe care n numim orbitii a lui K. in mod neeesar impar. Fie Xl ex multimea vdrfurilor marcate ale lui G la momentul in care nici un marcaj nu mai este posibil.Teuj E yO. in continuare vom prezenta algoritmul lui Edmonds [Edm65a1.0 j ~i nici io = k.:: (i. . goto (b). adie! '2. dintre r ~i i respectiv r ~i } sunt de lungime para. GJ ::: (XI. Aceasta muchie fiind u deducem ea ~icealalta extremitate a sa. Atune! lantul L' Lp{Z)u {u} este Ian. 5. sa notam cu I' primul van din L Intalnit in parcurgerea lui L. deoarece daca r. deoarece lantul L ar fi fast deplstat de algorimul de eonstruire a arborelui altemant ~i algoritmul s-ar ti terminat eu iesirea A. in acest caz modificam graful ~i arborele altemant astfel: *" = G ': == G 'Ill.:: io este par §i in caz ea r to-atunci g(r). ~i nu este extremitate a lantulul altemant L tnseamna cli I ' este mareat impar (altfel L nu ar fi lan] altemant). T:=TU{u. P:= Pill. Uz) :: G(Xz) subgraful generat de Xl> KJ = K (') VI. 0 = *" j 1 ~---O---O-<r----'O--O-O r k monstraf1e: Mai intiii sa observsm u::: E :2 E X2• Aceasta din cauza eli daca il E XI atunci e~este un vfirf saturl~t~i mareat.j) au eel putin un v§rf comun to. orema5. Stop (iesirea A). Presupunem eli K2 este un cupIaj maxim in Gz dar K nu este euplaj maxim in G. adica nici un alt varf nu mai poate fi mareat ~i wei 0 orbit! nu se poate construi. sa notarn extremitatile sale. Deci exist! un lant a1temant crescator L ID G relati v la K. Prin compunerea acestuia eu sublanml lui LI de la io Ia r se obtine un lant altemant crescator de la 10 1aj sau k (vezi figura 5. Astfel sublanturile ~ ~i £. N u putem avea . goto (b). = Cazul2. caci altfel L ar fi un lanl altemant crescator in Gl relativ la K2 care este cupla] maxim. de la i spre io este par. 3 i E yO ~i3 0 muehie u = (i.l}. ceea ce este in contradicjie cu maximalitatea lui K. Cum aceasta nu s-a intfunplat inseamnli ca presupunerea fi1cutii este falsi ~ideci K este un euplaj maxim pentru G. Cum l ' e L n L. Prin unnare de la io la una dintre exU'emitiiple Iamulul L exist! un Ian! altemant crescator care ar fi trebuit depistat de eazul 1 a1 algoritmului de construire a arboreJui altemant. j) cuj nesaturat ~inemarcat.i singura muchie din K incident! lui IJ trebuie sa fadi. eel de la I ' la j sau eel de la I ' la k (care sunt tot lanturi altemante) are lungime para. Pe de alIA parte L flind irnpar inseamnl!. care sunt varfuri nesaturate. Y:=Yuij. iar I ' marcat impar inseamnl1 ca I apartine sublantului par. proeedura se termlna. = Necesitatea Utilizam metoda reducerii la absurd. 3 i E yO ~j 3 u. 191 o . notat ".J)E ·U . Cum j ~ik sunt vfu1'uri nesaturate. atunci Stop. cli unu1 dintre sublanturile sale. tn acest caz se dezvolta arborele alternant astfel: . relativ Ja K.

5). se marcheaza par v§rfirrile 1. 3). I p 1 0 p I· FIg. Vom aplica algoritmul Jui Edmonds pentru graful din figura 4.2). ~i7 respectiv impar vftrfuriJe 2.un ~fer de lungime cu acest lant ~i vom construi cuplajul indus in graful initial pnn spargerea pseudovarfurilor caIn figura 5.<. P~ Deoarece exist! doll! v!rfuri. 4 ~i 6. nesaturate vom construi arborele alternant de rad!cinl Aplicand in mod repetat in cazu12.3) conecteaza dona vfufuri pare ~i conform cazului 3 se depisteaza orbita JlJ={ 1.' 58 lterg IItm'cqj81e.sjer de ill1tgime cu lanful JI. alege K. dllciJ nu ex/sib douil wirfuri lIBSalu.' conslruiqte cuplajlll indus in grafol inlltal prin sparge rea pseudtNlJr/llrilor (alegtJnd din aceste ('upla}t! maxime COliform lemei 4. [I).. Analogsltuatlllor precedente se face reducere cu orbita JlJ = {Jl2. It Exemplul 5. iar muchiile din G ' prin linii intrerupte... eons/ruim arborele alteman! dz r6dlicfnlllo. 8)}. Muchia (I.(4. 5. $6 eX. ir1$/rea B (S-D dererminallin arbore a/lemanl complet) alege UI'1ndIOru/ fa v6r/ne:ralUraI eu G' .. h. I: !. d. .Algoritmul 5. 7). Acest cuplaj laslt mai putin de doua vfufuri nesaturate prin urmarc este un cuplaj maxim. p I p p 1 goto tb}.3) ~i facem 0 restrangere affit a grafului G ' elit ~i a arborelui alternant. SA. in continuare vom reprezenta muchille arborelui prin linii continue. potJU!fi K=t!J: fie G':=G. S-a obtinut cuplajul {(I. i I Apoi se depisteaza co~fonn cazului 1 lantul altemant crescator {Jll.ale in G' atuncj stop (K tste cupta] lrItUim allui GJ alJfel fit! id un v4rf nesalUrat. ielirea A (s-a gaslt lin lal1/alreman' crtsetilor Jl) se face Iran. 7)}.3. 3). I 192 193 ~ .5.1. lUI cupla] de porn/re. (4. io = 1. 7}. 8} ~i vom f~c7 .4 pomind de la cuplajul K = [(2. e. 5). Muchia ('!lit 5) conecteaza de asemeni doua v1irfuri marcate par ~iconform cazului 3 mai facem 0 reducere a lui G I ~i a arborelui altemant eu orbita II~ = {Jl 4.\·ubgrajW gene"" d« v4ljUriJe nemarcate golo (b).2. (2. t"". Algoritmullui Edmonds Detennin1i un cuplaj maxim intr-un graf G = a.2.:: W.. 1 ~i 8. (6. 6. (6.5}.

J.IAM.. London Math..K. Vol. 55.R. Comm. Journal S. Journal Res . pp.Nat..18-27 195 194 . Proc.Petropolitane. Editura Univ. Cuza".BIBLIOGRAFIE [App76] [Be158J [Ber57] [Ber69] [Ber70J Appel K. Some theorems on abstract graphs..69-B (1965) no.. I. 5{1962) pp. The proof of the four-color problem. Solutis Problematis ad Geometriam Situs Pemautis. Comentarii Academiae Scienciarum Imperialis.449-467 [Edm65b] Edmonds J. 1736. 1-2. A.W •• Algorithm 97.eM. A note 011 two problems in connexion with graphs. Twa theorems in. Didactica §i Pedagogics. Vo1. Iasi. Paths. Maximum matching and a polyhedral! with 0-1 vertices. Ac. USA. Ed. Bureau Standards.2.269-271 G.(3)(1952) pp. Loyd E. A..1976 Bellman R.. ppl25130 [Eu136] Euler L.9{1961) no. On a routing problem. graph theory. Math. The Rand Corporation..J. 43(1957) pp.345 Ford L. Canad. Bucuresti.. Numerische Mathematik 1(1959) pp. pp. Oxford University Press..269·271 Berge C. Fulkerson D. Wilson R.• 17(1965) pp.L. Crofteru C..E.. Sciences. Paris. Proc. vo1. Dunod. . 1956. Quat. Dirac.. trees and flowers. New Scientist.. 1970 [BLW76) Biggs N. Tehnici de bazli in Optimizarea Combinatorie.. Graph Theory 1736-1936. Soc.. Appl. 16(1958) pp. Teoria grafurilor ii aplica/iile ei (lntroducere elementara).Jr. 1992 Dijkstra E.W.842 Berge c. Shortest path. 1969 Berge C. "AI. Graphes et hypergraphes..69·81 [Edm65a] Edmonds J. of Math .1. Nat.293 Network flow theory.. 8 [Flo62] [For56] [Ful61J Floyd R.R. 1976 [Cro92] [Dij59] [Dir52] Fig. An out-of kilter method for minimal cost flow problem.

On the axiomatic foundations of the theories of directed linear graphs. Kuratowski K. pp..E. Academic [Mol 85) [Moo59] Voss H. pam dans: Les Problemes d'ordonnancement... Cluj-Napoca.• Some aspects of graphs planarity. Depth-first Search and Linear Graph Algorithms.Xl. 36(1957). Minoux M... 1966.1389 Minty G.1389-1401 197 196 .. vol.. Toadere T. pp. Ben. pp.3).485-520 Moldovan Gr.. Fazar W •• Application of a thehnique for research and developement program evaluation. Computing 1(1972). Cluj-Napoca. aplicatti. pp.. Ce este teoria grafurilor?. pp. pp. Departament of Electrical Engineering.. University 3D.. 71(1956).Ore. Ed. 1964.J.Havard University Press.Y. septembre 1960..M. in Theory des graphes. pp. Lito. ClujNapoca. A characterization of comparability graphs and of interval graphs. "Babes-Bolyai".G. Yen J.• 15(1930).1959 [ToS95] [Tom75J [Tom82] [Vos91] [Yen72J St. pp.1992 Toadere T. Symp. Elemente de teoria grafelor. Journal of Mathematics and Mechanics..Y.C. no. J.. Tech. 16{1964). Probleme grafelor. 1979 z.t'Babes-Bolyai". Soc.C. Roseboom JM. Ed. Kmskal J. Lito. Kluwer {MRC59] Malcolm D. Bucuresti. vo1. Discrete Math. Branch and Bound Methods and Independent and Dominated Sets in Graphs.l9(l9_72) no. Ed.C.B. "Babes-Bolyai".. pp. 1974 AL AI.168-194 Gilmore P. Report 06920. A primal method for minimal Management Science.. of Math. ]23-145 Tomescu I. 1979 Hopcroft J. Iacob ~-M. 21(1974). pp. pp..87-90 M. Shortest connection networks and some generalizations..i'Babes-Bolyai". 1975 Tomescu I. Sur le probleme des courbes gouches en topologie... vo1. Teoria grafelor.91~102 Klein M. communication a la 2e conference internationale sur la recherche operationnelle Aixen-Provence.109-125 Trajan R. L'Arbre minimum d'un graphe.146-160 Toadere "T. Syst Techn.423 White L. University of Michigan. Inf..t'Babes-Bolyai" Cluj-Napoca.e. JRos66] [Ros74] [Roy64] RosenstiehlP. Normal hypergraphs and the perfect graph conjecture. Lito.55 Hamiltonian circuits. on Theory of switching.E. Graphes et Algorithmes. Doctoral thesis.7(1959). Hoffman A. Ann. A parametric study of matchihgs and converings in weighted graphs. Cozac I.. Am. J. 1994 de teoria cost flow problems. Finding the lengths of all shortest paths in Nsnode nonnegative-distance complete network using 112ft addition and N) comparisons. On the shortest spanning subtree of a graph and the traveling salesman problem. Grcfur! si Programare liniard (Introducere elementara). Siam J.. Proc. noS [Ore60] [Pri57] O..15 (1966)..C.205-212 [Tar72] [TCI94] [Toa92] [ToC97] Roy B. Note on 67(1960). pp.. no. Rome.. Tambuiea L..1 I [FuI71] [GiH64] Fu1kerson D. Clark C. Bazele Informatict! II. Math. Fund. 1967. vo1.Univ... Culegere de probleme de teoria grafelor.J. Cheminement et connexite dans les graphes a l'etude des problemes d'ordonnacement. Militara.. Journal of A.u Bucuresti. electrical networks and network programming.. 16(1968). Algoritmi..J. Eyrolles..48·50 KaSH Tarjia C.1997. pp. 2( 1972).549-568 Hu T. Arbor [Whi67] Pim R.3. Studia Univ. Math . JAC. Mathematics. Trajan R. Stoica F. [GoM79] Gondran [HoT74] IHu68] [Kle67J [Kru56J [K1T79] [Kur30J [Lov72] [Min66] Paris. Univ. Operation Research. Bucur~ti. Cataranciuc S. Univ.1982 . Dunod. Cluj-Napoca.M.R. pp. pp. Monthly.. Efficient Planarity Testing. A decomposition algorithm for shortest paths in a network. Proc.L{no. Lito. 1995. Ed. Mathematical Programming 1(1971)pp. Cycles and Bridges Publishers. vol. Tehnica..-J. Blocking and anti-blocking pairs of polyhedra. 1991 in Graphs..ll (no.E. 14(1967).F•• The shortest path through a maze. applications et methodes.271·283 Lovasz L.J.J)-T. "Babes-Bolyai". Operation Research. Amer. ~i Enciclopedica. Studia Univ. Ro. Dunod. Canad. Univ. Math.17-28 Toadere T. 1985 Moore E.. 1).

• .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->