.'

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

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

flux Intr-o retea de transport ~i tAietum. ar- bore altemant de rlldli.' .problema determindrii unui cuplaj maxim ~i algoritmul rezolvare a acesteia . Ian! alternant. Capitolul 4 ! I 8 j ":! 1 9 . retea. conexe ~i tare conexe. detenninarea de multimi interior sau exterior stabile ~i a numerelor de stabllitate.~ 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. grafe planare ~i perfe~e. Capitolu15 Dupa prezentarea principalelor notiuni (cuplaj. determinarea unei paduri maximale sau a unui . numere fundamentaJe in teoria grafelor. determinarea de cicluri euleriene sau hamilloniene. . se ptezintli problema ~j algorimii pentru determlnarea fluxului maxim tntr-o retea de transport.cinli r) ~irezultate teoretlce se dli. Capitolul3 tn acest capitol prezentsm cAteNaproblerne ~i algoritmi de rezolyare a acestora pe multimlle de drumuri ale unui graf dat. Ca aplicatii prezentam problema ordonanli1rii (drum cffie) ~i problema comis voiajorului.arbore de pondere minima. determinarea componentelor conexe ale unul grat. Dupa prezentarea ~l studiul notlunilor: flux tntr-un graf.' drum ~i lant ell cazurile particulare de circuit respectiv ciclu. pentru un graf dat. piduri ~i arborescente. retea de transport. multim! interior ~j exterior stabile.. un spatiu liniar al ciclurilor unui graf. lui Edmonds de . Algoritmii din acest capitol se refem la: pareurgerea grafelor. 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. Apoi. moduri de reprezentare a grafelor. sunt date unele aplicatf ale acestei probleme (problemele de afectare ~icea a orarului). subspatiul ciclurilot unui graf subspatiul cociclurilor unui graf dat. conversia reprezentArii unui graf dintr-o forml tn alta forma. 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. arbori. grafe euleriene ~i hamiltoniene.

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

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

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

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

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

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

"

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

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

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

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

reprezentat 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. .1." se at""eazA grafelor simple (flra bucle) ~i a caror MQiricea ae meiaeruo -v ) muJtime de arce s·a ordonat. Pentrn grafele neorientate matricile de adiac. atunci acel graf este neonentat. d . ~. apoi se reprezinta 1n acel plan muchia (arcul). 3j E X:u = a. 1 a1 'I . cu llste c. Observatia 1. Matricea de adiacenla este 0 man-ice p:itraticA. a. Dintre lucrarile ce se ocupa de aceasta problema amintim aici [Kur30]. . d u' X m Blementele matncei de mCldentA se e esc matncea este e p n .1.i) . 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.. in care s-a reprezentat un graf planar.nruite sau pointerl sau 0 alIAstructurli de date convenabila. 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. 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.neu' I . MATRICEA DE ADIACENTA. alt/el lui 1 12 reprezentBt geometric in figura 1.2. [ToS95] ~i [Vos91). astfel: 3j E x» =(ij) l. a cu. dacll m~cea de adlacentJI. a urun graf este simetrica. Deci LIDIa t corespun e VilllW.. m : " . linia ~j coloana i corespunzand varfului i al grafului. Dacli valorile matricei de adiacent! se inteIpret~ ca nur:ae~ I tun i numAniI a' este numarul arcelor (muchiilor) de la t la) natura. Aceasta reprezentare se poate face astfel: • • Se reprezinta toate vArfurile pe 0 dreapta. Valorile matricei de adiacent! se pot' considera ca v~l~ri booleene ~i a.2. . d di faA arc (rouchie) in graful reprezentat prin matricea e a iacenta . - regiune a planului. I. se poate preciza ~i prin matricea de adiacenta urmatoare: 34 o o ..2.2.j)e U {0.1 . el tul n. i E X. precizeazA daca perechea de vfu'furi (t. u E U.enta sunt sj~etrice ~i putem interpreta $i invers. Piecare lillie ~icoloana corespunzsnd unui van sau unui arc (muchie) al grafului. {'entru reprezentarea fiecarei muchii (arc) se alege cate un plan distinct ce confine dreapta pe care sunt reprezentate varfurile grafului.. c.. b. J EX . MATRICEA DE INCIDENTA J ..... ' 1000 10 100 A= 0 0 0 1 1 00101 0 10000 Observapa 1.. poate reprezenta prin matricea de mCldenlii unnlitoare. AstfeI graful dat la exemplul 1. U "" {1. Reprezentarii geornetrice in calculator ii corespunde reprezentarea inla. = { 0.1. Elementele matrieei de adiacenta lie definesc astfel: a . •• d fin . adiell s-au numerotat arcele. In spatiu orice graf se poate reprezenta astfel indit oricare doua muchii (arc e) sa nu se Intersecteze.2.. .1. d ~""_"u1 i iar coloana u corespunde arcului u. ·-1n.2. 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. 1. sau nu eel emen -u . bt« = -1. U) se poate reprezenta cu ajutorul matricei de adiacent! (varfuri·varfuri) sau at matricei de lncldenta (varfuri·arce)..2.1.)) este. . . se Graful de la exemp .2. e.1. .1. Reprezentarea matrlceala Un graf G = (X.

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

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

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

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

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

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

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

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

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

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

3. 0 multime Propozilia 1. c.ITeX rezulta TUrlTc X. (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. dadi Definitia 1. daci: TE p si TcA cX atune! A Ego.3. graful are ': 0 singur! multime exterior stabiUt minim! ~i anume {2}. 3}). 13(G) = 1. sa demonstr!m c!I X c Tu piT.2.1. .3.I. TI b. 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. b.2.3.2.2.2.2.. Numar de stabilitate externa Definifia 1. en I Til ca T * Daca Teste 0 multime stabila exterior eu I T 1 = este muipme staMM exterior minimil. exterior stabiUi T se mal poate deflni ~i prin relatia sau X·TcpIT o multime Demonstra{le: Tur'T=X sau rcX·7)cT. Fig. XE go. Cum T si r.1. Pentru graful din figura 1. 3}.3.2.3}. p = ( {2}.2. 60 61 . au loc: a. lJ) un graf orientat. e.3.l. 3.2.2. Fig. 0 multime T eX se numeste mulpme exterior stabilli (domintmt/J) daca n n T 41.1. ~ d. 1.1 multimea T={2. # T2 E P atund TI U T2 E p. i EX· T ~i T dominant! iE pljcrlTCTur1T. .3.2.2.1. FieiE X daca iE T ~ daca i i2: T ~ i e TUrIT.3.1. Graful din figura 1.3.p.3. multimlle exterior stabile minimale sunt {2} ~i {I. O:afului dat fi lipsesc 3 rnuchil pentru a fi K6• care are 51/2 60 cicluri hamiltoniene. II> Fig. {l. 1. Exemplull.l. Dacii notam cu p familia multimilor exterior stabile ale grafului G atunei: a.2. Fie G = (X. 'ViE X· T. 3je nnT ~ nn T.1.3.2.ti c~le ]4 ~iclu~i harniltonlene.3. Exemplull.3. Numlir de stabililate extemli a grafului G este min] T E p } ~i se noteaza 13(0).3. f3( G) atunci spunem Observatia 1. 7} este exterior stabila.3. 2.2. 5.

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

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

Dacl1 se dezvolta doar anumite varfuri ~iatunei S6 obtin toate rnultirnile exterior stabile maxime.3.(i}.3.1.3. de toate b. Varfunle arborescentei cu boma 0 nu se pot dezvoltasi dupl1 ee s-a objinut un asemenea van se retine In variabila a. din grafuI Gj definit de eticheta. de exemplu. Algoritmul 1.l1 este 0 rnultime exterior siabila a grafului dat G. grafului bipartit G' asocial grafului dat G.3.: N §i daca i E X eu 11 i W atunci i E N. Daca Neste nucleu al grafului G atunci a.3. . 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. b) eu I A 1+ b > a eel care are 1 A [ + b maxim. Nucleul unui graf Definipa 1.1. ceUUalt succesor se eticheteaza cu valorile date de procedura de reducere aplicatll. = 1. 1. Pentru graful din figura 1. . = Aceasta observatie se poate interpreta astfel: a. Hind dat WI graf G = (X. Daca se doreste sa se obtinli doar multinile exterior stabile minime. are loe l6. b este X' 1 I. Ramificarile se fae pfulll. Radacina arborescentel se eticheteaza cu (G'.6.1 multimea N = {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. pe X eu X . Teste 0 Observatia 1. _".Nr.2. ExempJull. 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. . dupa ce modificam pe Teu Tu [I]. 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. valori obtinute de procedura de reducere aplicatli. dupll. T.3. arborescentei. .3. 0 multime N c X se numeste nucleu al grafului G dacA ~inumai daca Neste interior stabila §i exterior stabila. 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. multirne de vfufuri ale grafului care este eontinutll.Adrea.ce modiflcam pe X eu X . X' din G'. . 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 . multimile exterior stabile definite de descendentii vfufului curent al arborescentei. b). 1). un sucesor se etieheteaza cu valorile date de procedura de reducere aplicatll. Deoarece pentru fiecare nod are Joe ViE X. I X' D. daca i E X ~i i E ri atunci i i. 5. 7} este un nucleu. atunci succesorii noduIui Ii definim astfel: alege i EX. Multimea T din eticheta oricarui virffrunz.i. cardinalul lui A din eticheta aeelui varf ~i se va dezvolta dintre varfurile terminale etichetate (A. Acest algoritm construieste 0 arborescent! ale carui vWfuri terminale definesc multimi exterior stabile. Etichetele arborescentei sunt de forma (G'.rN=w ~i NurIN=X. B. b.3.{i} ~ipe X' cu X' .3.1.3.1. Fig. T. 66 67 . . 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).i [2: 2. 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.

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

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

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

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

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

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

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

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

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

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

2. (X. Cum muchiile ciclului s-au adaugat pe rfutd in.:. iar 2 ~i 4 exprima "G este flrl1 cicluri # are numl1r maxim de muchii intre grajele aciclice cu 11 vdrfuri".Teorema 1. Fie G = (X.1 doar 0 singur! datA.3.2. Observatlee Daell pentru un graf G.1 deci trebuie ca v(G) ~ 2. 4.4. v(G) =' 0 atunci graful nu confine cidurt (se suhinleJege diferite de cidul vid).m + I ~in' n.4. 0 Corolar 1. fie AG') P(O) + -1 Ii I.2. - 2.1. 2. G este conex # suprimdnd 0 muchie nu mal este conex.2.4. Prin urrnare daca v(G) = 1 graful are un singur ciclu. 0 Ii l1'G) ~ O.2. teorema 1. Demonstra(le: Yom cia 0 demonstratie circular! echivalentelor din teorema. 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. 0 Corolar 1. 5.:.4.1.1. 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. Daca graful G estefora cicluri.4. Atunci: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.1. Pentru orice grtifG au IDe AG) ~ 1. V) graful obtinut din G prin adaugarea muchiei (t. Conform teoremei valorile lui peG) $i v(G) sunt numere naturale rnai mari sau egale decAt valorile de pomire.4. Demonstrafie: Deoarece m' . in acea situatie muchia (it 1) adllugatJi a lnchis un singur ciclu. 6. G este un arbore.2. Demonstra. 89 .2.2. care muchii nu pot inchide cicluri.4.4.1 ~i 1. Fie G = (X. 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.3 se deduce: = = = iii j sunt in Corolar 1. G este forti ciclurl gi are n .ie: Rezultatele se obtln daea pomind de la graful vid G'. Teorema 1.3.4. Acum prin simplul calcul al nurnerelor peG) ~iveG) se obtine concluzia teoremei. $) in care peG ') .1 muchli.:.2. Arborl §i paduri = Asa cum s-a definit in primul paragraf al acestui capitol prin arbore intelegem un graf conex $i f!rl cicluri. G este fora ciclurt $1prin adaugarea unei muchii tmre doua vdrfuri neadiacente se formeazii un singur ciclu. iar p' dupli cum i ~i j sunt sau nu in aceeasl component! conexi este p respectiv p . j). atunci l{G) = O.1.2.4.4. U) un multigrof lar G' = (X. 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'. 3. U) un gra] de ordin n ~ 2_ Aflrmafiile urmdtoare sunt echivalente ($i caracterizeaza notiunea de arbore): 1. fie AG') p(G) Ii l1'G') = v(G) + 1 (dadj i # j sunt in aceeasi componenui conexll a [IIi G). Deci sau adJiugat mereu muchii intre v§rfuri din componente conexe diferite.3.4. 0 $i v(G ~ = 0 adaugftlJl pe rand cate 0 muchie pan! se obtine graful G.2. G este conex gi are n . 0 Coroloar 1.nl la aeel moment exista un ciclu.4.(G') v(G) (dacli componente conexe di/eTile ale lui GJ.J muchli. 0 Din corolarele 1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. ~ + Iusfd. VIJ i =1 . ". n ~i k I. = Modu1 de parcurgere a1 varfurilor in etapa (b) a algoritmului Jui Ford de iteratii Decesare../.. Daca aceste calcule se fac lntr-un tab lou unidimensional Ai. min [ A/ + Vii Ii> j} }.1. ).1. "" + IUI if:Ij'). 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. n in aceasta ordine ~i calculele se fac cu formula: Arl .. Dacli grafuJ este Ia. influenteaz. pentru a decide ..rn j=2. .3. dac! viirfurile ar fi parcurse in ordine crescatoare a valorilor Ai obtinute din algoritmuJ 3.l numarul AlgoritmuI3.11 execu. 0 valoare (c) iteratia de bazii A.5. adlca valoarea minima a drum uri lor care tree prin eel mult k + 1 varfuri. 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. Aceasta sugestie a fost fiicuta de Yen in 1972 [Yen72]. 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. mai general spus influenfeazli complexitatea algoritmului.1 atunci'ar ti suficienta doar 0 iteratle de tip (b) pentru a obtine valorile minime. (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. 1. i::::.::::.1. Parcurgerea tuturor la arcelor Ia 0 iteratie de tip (b) este obligatorie doar algoritmului.1. De asemenea corectarea valorilor J.=SV/j}.:= 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.min { min! A1k+1+ viii i <j}. (aj Ini/ializiiri A.zut f o. S..ra. atunci algoritrnul lui Bellman-Kalaba se imbunatat~te daca in etapa (b) j parcurge succesiv valorile 2.I. Deterrnina vaJoriJe minime aJe drumurilor intr-un graf fiW circuite./+1 din tablou in aplicarea fiecare modificare de valoare se taie vechea vaIoare ~i se scrie noua valoare. .:: de la vartUl 1 la once alt van (b) iteratia de bozo pllnl. 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 . In concluzie pasul (b) din algoritm este: (b) iteratia de bazii penJru (iJ) e-u exeCMJIJ dJd·~ + lu < ~Gtluaci~ . n in loeul I.Observatla 3.1.6. Ai := min[ (aj ini{ializiiri 4J:=O. unui tablou bidimensional A/.3. Valoarea minima. 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. 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 . se face prin a testa pentru fiecare arc (i. Astfel.+J.= minl~ +lu I ieIjIJ. S:~f I). 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.1. Daca suntem siguri cA graful nu contine circuite de valoare negariva.1.i~2 Algoritmul3. i ::::.1 iteratii. 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.] atunci algoritmul obtinut se numeste algoritmullui Ford [For56). se trece In tablou pc pozitia ). n .tiJ ifp.

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

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

doull ":J:= (b) iteratia de baztl penira k=l.2. lfp. Aceasta se realizeaza prin construirea unei matrici r de dimensiune n x n. stop. v§rfuri ale unui graf sau depisteaza existenta unui circuit de val Dare negativa.3.tAtit pentru ca in paralel cu detenninarea valorilor minime sA fiedeterminate ~i drumurile care au aceste valori. este sesizam de faptul eli 0 valoare Vii devine negativa..!+Vjj = -atunci goto (e) sId. de vaJoare minima.2. ..rfuri din multimea {I.1. 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.. J -.1.pri.• k] . stop.. bazAndu-ne pe principiul lui Bellman. "I...2. < ODtunci tJpw-qte "em/a circuit de valoare l1egatlw'I". (b) dacii dadf "'It VI. a drumuriJor de la i la j care folosesc ca vfufuri interrnediare doar v§. Vlt. Algoritmul care urmeaza se aptid pentru cazuJ general ~i depisteaza dacl graful confine circuit de valoare negativa. Determinll Algoritmul.! + "'It}.1.:=1. se fad tocmai in matricea valorilor arcelor. Prin urm.are are loe egalitatea \1""1 = L·. Existents circuitului de valoare negativl!.lui Floyd-Hu Floyd [FIo62].Consideram matricea V = (vlj) a valorilor arcelor grafului ca la algoritmul lui Bellm~-K. AlgoritmuI3.t+vJJ Algoritmul lui Flyod-Hu poate fi imbunl!. (e) 1:=/+1. iar cunosclnd elementele rnatricei formula vII . == 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. . dIlcli kSnatund g% (a) sId. k:=k+J. Conform aeestui principiu dad. k:=l. Rationamentul de mal sus ne conduce la algoritmullui Algoritmu13. trece printr-un varf k atunci p!b1ile de drum de la i Ia k respectiv de le k la j sunt de asemeni . penJruj=l. 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!!. vr (a} .~ /~' vr J dIlcl1i S 11 atuDci goto (b) sfd. Astfel se poate renunta la a construi 0 succesiune de matrici 11 ~i'deci modificariJe s!!. 0=v.• n + 1 astfel: = AJgoritmnI3.II executA peniraj=l. ifd. Algoritmullui Flyod.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..1. I.. 2.n eucutI sfp sfp l rr.2.1. Determine matricea valorilor minime ate drumurilor mtre oricare doua. (a) inipalizar. matricea valorilor minime ale dnnnurilor intre oricare varfiIri ale unui graf care nu contlne circuite de vaIoare negativa. = mintvt!. 136 137 .dnnnuri de valoare minima. "'lf~1 jE 0. Observatla 3.1I execut4 Vij:= mil1{vlJ. un drum de Ia i Jaj.2 •.1.2.n exeCMtd peniru {.alaba ~i defmirn matricile V pentru k 1.

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

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). Fig. Daca G = (X. "-~- Fie deci un Iant fix Ll §i un Ian! oarecare La (figura 3. .' 124. au eel putin varf comun.1. don! Ianjuri elementare de lungime maxim! intre vSrfurile a ~ibrespectiv c ~i d (extremitatile lanturilor nu s-au ales ca la punctul precedent). 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. Deoarece ciclul2342 are valoarea 0. eeea ce nu se tntampll1 in cam! G conex.3. Bellman-Kalaba. A4 = A2A2 §i A 5 = A 4A ~i suma elementelor de pe linia sau coloana 2 ale matrieii AS este 140 l' . Deci se construieste matricea de adiacent!!. cll valoarea cerutli este 3.3. 1234. deei q E ~ n L. etc). 3. Aceasta contradictie demonstreaza cazul a) al problemei. tn acest caz [a.1. ale lui G.2. Confonn demonstrajiei de la punctul a) cele dou! lanturi au eel putin un van comun. 14324234. etc).3. Pentru ca LI si La au 14·1 b: . Valoarea minim! a Iannmlor dintre varfurile 1 ~i 4 este 0 ~iun asemenea lant este lantul ] 34. Demonstram prin metoda reducerii Ia absurd. in arborele G. Dintre sublanturile [a..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). Flyod-Hu sau Floyd-Warshall. Analog dintre sublanturile [b. rezulta c! intre vfu1iJrile a ~id existl1eel putin un Ian] L.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.Hu). d] tl consideram pe [q. 1234234234. G fiind un arbore rezulta eli intre oricare doul1varfuri exist! un singur arbore §i deci sublantul [p.) 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. Pentru punetul a) se cere un numar care sl!. b) este lan] elementar §i are lungimea cu eel putin 1 mai mare dec!t lanturile L1 ~i ~ care au lungirnea maxima. La punctul b) se cere un drum. Demonstratle: a.15234. ]234234.z!i In teoria grafelor. in parcurgerea lanjului LJ de la a la h fie p primul vfui' ~i q u1tirnul van din LI n Lz.lanfUTilor. au eel putin un v§rf eomun. q] C Ll n ~.1. U) este un graf conex.) Problema 3. Daca. fie valoarea minim! dintre valorile tumror drumurilor de la vAr1UI 1 la vfirful 3. Dar nu este recomandabil ca rezolvarea sa foloseasca "funcpa ochi". fie acesta [a. p] u {(P. Pentru a determina lungimile minime (maxime) cu algoritmii utilizap pentru detenninarea valorilor minime (max. a. 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). d] ca flind de lungime mai mare.1. 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.Nu vom tezolva explicit aceasta problema (I!isAm pllleerea pe seama cititorului). deci 0 succesiune de virfuri sau arce eu anumite proprietati (drumul sa aiba valoarea minima). in plus" G este arbore atunel toate iaturile elementare de lungime maxima. Cum G este un graf conex. q)} u (q. De aceea valorile areelor (muchiilor) pentru problema aeeasta sunt date suplirnentare ~icare nu se vor folosi in calcule (aeestevalori pot constitui bruiaje pentru rezolvitor).2. Ford.ime) se vor considera ca valori pentru aree (rnuchii) valoarea 1. Acest numar se poate determina ell unul dintre algoritmii prezentati (Moore-Dijkstra.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. Pentru punctul c) deoarece se eere valoarea minimA a . 134234234. ]4324. ale lui G. pentru verificare. tiindel este Yorba de lanturi vomtransforma arcele in muchii (se utilizeaM graful neorientat corespunz1ltor grafului dat). )_ . numarul lanturilor de Iungime 5 ce au vfuful 2 ea extremitate (vezi teorema 1.). atunei oricare doua lanturi elernentare de lungime maximj. dar ~i lanturi de valoarea 0 exist! 0 infinitate (sugerate de 134234. Yen. 1524324. Se ealculeaza apoi A2.3. p] si [p. q] ~i [q. 1524. Pentru punctuI d) 51 observam eli ne intereseaza lungimea nu valoarea lanturilor.2. c J ale lui LI tl alegem pe eel de lungime mal mare. Aici. Totusi facem cliteva observatll-comentariu care pot aduce clarificliri asupra notiunilor ~i nuantelor cu care se manevrea. p]. PrecizAm.1.1. Dar numarul drumurilor se poate calcula ~i prin a tidies matricea de adlacenta la puterea egall eu lungime drumurilor (larmzrilor).1. deoarece graful are ~i arce (muchil) de va!oare negativa se va aplica un algoritm c. b.

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

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

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

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

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

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

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

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

iar v cele din w'(A) negre (in particular 0 E (j] -> -> '(A».·CA) L Cu <00.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 '. P unem cli are solutie Despre problema fluxului ?W'im tn~.t! 0 Cll cp" = e" Ie coloram in verde.. Juiep. s ~i t at unci graful G' = (X..L 0 = 1 Atunci prin adAugarea fluxului E J.L vectorul asociat ciclului J. rosu §i verde ce trece prin 0 cu toate arcele negre in acelasi sens. 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... arcele u ¢ 0 cu 0 < ql" < C Ie coloram in rosu./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. ro(A) 0 tiiieturn. 'ma a fluxului de fa s fa t compaiibil cu capacitliple I oarea max..4. CPm) ~1 . <Pl. dar cum 'P este un flux maxim inseamn! cli De situam in cazul b al lemei lui Minty. = <Po:::.1.aceasta condltle este lndeplinita totdeauna. 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· . .1. L u !w·(A) cu· 0 Demonstra(ie: Fie cP ('Po.max • "" U<QI+(A) ./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. ~i toate arcele verzi in sens contrar...L -> compatibile este nevid!.L negro. . eil. :.1 e diferenta dintre suma limitelor supenoare a capacitatilor ~letUI'1l se mt'" eg WI"".ln Daca nu exist! drum de capacitate infinitA· intre. te A}. oarecare un flux oarecare. in contlnuare presupunem deunde CPo = uEc... arcele u cu epu = 0 le coloram in negro.~-. Deci exista un cociclu ro(A) negro ~i verde fha arce rosii en sEA ~i t ~ A cu toate arcele din Q)+(A) erzi. <Ph CP2. .jlUX:~::: maxim sa aiba so/ulie este ca sa nu exine drum de capacl infinita de la s la t: astfel incAt J..4.' .a I.3.4.. e a Demonstra(ie: ' Fie <P = (!po. a condi/ie' necesarii # suficienta pentru ca probJema.) 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 . Corolar 4.41 . ex. Fie J. Prin urroare 159 158 . . Defmim capac. . • • 8rfuri deduccm GO. I ACX. 'r. arcele u . .o+(A) L «lu O:S. U ') eu U' = {u E U I eN = =I nu este conex.4. Daca am fi in cazul a al lemei. sensu! lui O..1 deducem maxlPoS UE". legea conservarii fluxulul in v .. . cp". N minima.4. <PI... deoarece pe arcele acelui drum fluxul poate creste oricat de mult. Cum in GO este verificatli. Teore1114Ford-Fulkerson «lu. cP" uEuj(A) L CII' Teorema 4.".. areul 0 (de retur) il colorarn in negro. . Consideram Uo = 0 ~iaplicam lema lui Minty. • din '(A) arcelor din w+(A) ~isuma limitelor inferioare a cpacltatilor arcelor (J) • Lema 4.. V.2. Suflcienta tntr-o retea taieturt.L cu E suficient de rnic se obtine un flux de valoare superiosra.. adiell exist! un ciclu J.. Confonn corolarului 3. • .. SE A. _ d. • t . c~:~t=~~urilor Corolar 4....' capacitatea Daca arcele au ~i limite inferioare ale capaci1Atu a~cl pnn . Atunci arcele din ot(A) au toate capacitati finite.

L. atunci (utilizfu1d colorarea de la s la i} ~i atunei O/(A) are numai arce negre ~ipentru %= UEoo+(A) L CPu . Fie tp un flux: de 10 S /0 t tn reteaua de transport G compatibil cu capacitl1lile . iar pe arcele rosii fluxul poate fie 51 creases fie sA scada. deoarece cp + E -. 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. Fit:" UJljllU eompatlbi] (de exempl« qf~(o. Teorema 4. 11 dacli <P" > O. Capacitatea nnui drum din graful ecarturilor (muumul capacitatilor reziduale ale areelor ce compnn drumul) se mai numeste capacitatea rezjduallJ a drumului respectiv. 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).f(A) are acestea fP" = O.1 se poate elabora algoritmul urmator. pe arcele verzl fluxul poate numai 51 scada.. Pentru un graf G fiecarul flux compatibil e » (CPh •••. Fie cp un flux maxim ~j presupunem c! exisUi un drum '" de Ja s la t In G(cp). 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.• .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. AlgoritmuI4. ~umesc cap~c~i1(i reziduale.4. Observatia 4. U(ep» care are aceeasi multlme de virfuri ca si G.5. De aiei se obtine: in mod necesar = de la s la tin G(<p). Algoritmullui Ford-Fulkerson Cu acest algoritm se poate afla fluxul maxim Jntr-o retea de transport.4. I I Demonstrafle: Necesitatea Demonstrlim cu metoda redueerii Ia absurd.5. Capacitatile atribuite arcelor din grafuJ ecarturilor &e. Bcopacftall!Q Jf: ·160 ]61 . 0 . j) din G se adaugll in U{lfl) areul u· = (i. c: Aceasta Suflclenta tnseamnl eli «J nu este flux maxim.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.4.5. 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. iar (i. adie! 0 contradictie. cP"') 'ise a~eazl grqful ecaJ1Urilor G(cp) :::: (X. Folosind teorema 4.).1. JJ dacA CPII < e" ~i u' == t ). 0 . (c)fte tU1felstop (qI estejlux·optimj. Prin adaugarea -arcului de retur 0 drumuJui '" se obtine un ciclu in graful Colorarea arcelor din teorema 4. (b) criteriul de "top dad uistl1 dl'Wff Jf de Ia s la t en OM) alullei 8010 (e) sId..4.1. Algoritmullui Ford-Fulkerson (cu graful ecarturilory (aj fnilializOri k:><O. pentru «. pentru fiecare arc u == (i. fie G(({J) gmful ecarturilor asociat lui ({J.epu pentru u· $i ep.1. AJegem A = fi E X I 3 drum de la nurnai arce verzi $i pentru acestea tpu Cu. O)).:1 imparte multimea arcelor in trei submultimi.1.1.).1. . nzidualdlJ dniJIuJu.5. Astfel pe arcele negre fluxu1 poate nurnal sA creasca. 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.. Arcelor din U(cp) ll se atribuie capacitatile e" . 4. Pentru prezentarea algoritmului este necesar sA definim mai tnt§i graful ecarturilor. Definipa 4.o.

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

j Ips Q!.3) 0 14 14 19 19 19 Jl. 164 165 . Prin urmare la fiecare pas valoarea fluxului ereste cu un numar natural (E E N"). Exemplul4.rful l Ia vfuful 3 in graful din figura 4.5. . precizAm ell pentru k = 0 graful ecarturilor este chiar reteaua de transport din fig 4.1.5. .3) 0 0 14 11 11 14 14 (4. cat "i prin extremitatile lor. Taieturi de capacitate egal! cu valoarea fluxului maxim sunt datedeA = {I. 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.5. Pe tabel s-an precizat arcele grafuJui atAt prin indieele cornponentelor fluxurilor aleator ales de noi.1.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.{' k=3 Fig. Vom aplica algoritmul 4. Pentru a urmaril algoritmul am dat ~i grafuriJe ecarturilor pentru cele 6 iteratii.4.1.3) {I.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. In tabeJul de mai jos darn pentru fieeare iteratie k valorile ql ale fluxurilor.2.2.31 E 14 11 5 3 {1.3) !l.5) 0 0 11 11 (5.5.3) (1.5. adios 39 = 11 + 17 + 6 + 5 = 14 + 6 + 19.2A.5.2) 0 0 11 II '113 (1. 4. In consecinta dupa un numar finit de pasl se obtine valoarea maxim! a tluxului.4) 0 0 (2. (Ill (Ill k=1 k 0 1 2 (1. care se folosesc pentru a calcula fluxul de pe linia urmatoare.2) 0 14 qI.o aI'l fDI (1.1 • .k {l.1. Pe aceeasi Iinie apar ~idrumul u" ~ivaloarea E ealculata pentru drumul ~t. a lui Ford-Fulkerson pentru a detennina fluxul maxim de la v§.

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

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

sali de sport).). etc. activit!lile de Ia fiecare disciplina (curs. formatiune ~i sala YOm avea cate un van al grafului. semigrupa sau clasa). seminar.Iegatli de varfu.): rnai avem 0 partitie cu salile (curs. unde: s este varful special nurnit sursa retelei. pentru transformarea grafului Intr-o retea de transport. stabileste eel ce modeleaza problema lmpreuna cu conducerea institutiei (scoala. R = (G.). tn acest caz pentru fiecare profesor. c) . disciplina. Notafi. sail de sport. facultate. tun alt viirf special nurnit desttnatia retelei.retea de transport. Pe langl1 cele cinci partitii ale grafului vom avea inca doua vfufuri unul sursa si celalalr destinatie.). fiecare profesor ce trebuie des~oarl'i aCtivltlitl eu 0 anurnita formatiune va fi Iegat de formatiunea respective printr-un arc. atunci arcul ce leap virfurile corespUllZAtoare va avea capacitatea egala cu acel numAr de are. t. fiecare formatie de studiu i~i poate desfasura activitatile in anumite sali ~i fiecare sala poate fi disponibila la anumite ore din slptamanl1."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. intr-o alta partitle avem formatiunile (anii de studiu.). modul urmator: in reteaua R definitll mai sus. Jaborator. seminar. liceu. de studiu. grupele. vede ~i in figura anterioara. etc. Intr-o partitie avern disciplinele (eventual pe forma de desfasurare curs laborator. 0 astfel de retea asociata unei probleme de acest tip este prezentat "(schitat) in figura urmatoare: i . etc. etc. c este 0 fimepe c : E ~ ~ • c(i) se numeste capacisatea arcului i arcelor vor primi valori in ~ilimlteaza valoarea fluxului pe arcul respectiv. 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.) care va fi predata de anumiti profesori va fi .efinite de acestia printr-un are. etc. . 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. unde: E: multimea arcelor.:il~ d. adica 5 zileisapt!mfula dlte 6 are pe zi. seminar. V: multimea vart'urilor grafului. l1i 0 ultima partitie cu orele (momentele posibile pentru a incepe acti vitlitile).reteaua problemei noastre. grupa. capacititile • daca un profesor trebuie sa predea un anumit numar de ore dintr-o disciplin! oarecare.i: G = (V. 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. . s. 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. miercuri ora de la 14-16 va fi yarful cu numarul l6 in total vor fi 30 de varfuri. fiecare profesor des~oarl'i activitati cu anurnite formatii de studiu (an. laborator. iar fiecare saUl va fi legata de acele ore la care este disponibiUi. Se vor eonecta (va exista arc intre) varfurile care definesc posibilitati (compatibilitati) de desfasurare a unor activitati. E) .A~a cum se. Adica: fiecare disciplina este predata de niste profesori. ateliere. clasele. 170 171 .

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

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

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

33 + 6.2). 100 60 150 22 28 80 33 6 90 Valoarea minima este d13 = ·52. J}.XJl=X3Z+ e = 30. tabelul a.33-t40 .ciidj. d2.din cleful IJJ. tabelul b. dad! didO?O. 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.23 d21 =22.25 = -39. d31 =28 -15 + 40 . d2.40 + 6 .U.~i (3. b.: 7420. = -41../J ceiulif marcatli cu . j). celulli nebazicii) # /-I-cic/ul af(qar ce1uJe.1.exealtii Fie dl<{=miHfdij xq:=xu-fJ sJp: a.15 = 14.3=9. 179 178 . 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 .6 =47.J~ 0 atunci slOp (s-a obi/mit soluua optimii) ~fd.8. Pentru (iJ) celtlfa din IJ marcata cu . "Fie (i. Fie fJ:"'l/Ijnfx~ 1 (i. Calcu1l1mvalorile du pentru celuIele nebazice ~iobtinem: dl3 = 5 .X]l=XlJ - 8 =40. (a) Peniru (Ij) celufli nebazicli e:ceclltll determind un ciclu atasat ei.3) trece ~iprin celuIele (1. 3) obtinem e = min {20. iar dacd dk150.XI2=XI2 . Deci. Dl1. marcheazd celulele din del" alternativ cu + 11 . I (iJ) ifp: Peturu sIp: gOlD (Ij) celu{iJ din /-I-1/lQrcatll cu + f!XJ!cutif Xii-""Xij+O (a). atuncij(:I) . Deoarece d'J ~ 0 ~iciclul atasat celulei (1. ~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. " In tabele1e de rnai jos sunt date solutiile initiale obtinute amt cu metoda nord-vest.33 + 6 -25 =-36. (3. atunci are loc 1(£) =f(x') + fklk/. d'4 = 20 . ell care de altfel se aseamana foarte multo ExempluI4.40 + 6 .1. atuncif(. j) 0 celula nebazica. 2).' (k. cat ~icu metoda costului minim.2.23 = -52. In celuJele bazice ale tabelelor s-au trecut ~i valorile variabilelor bazice Xu sub diagonala flecarei celule.::j(x'). 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) .8. prin ciclu atasat succesiune de celule ce porneste din {i.C) ::ff(x'). ajunge Ia celula (i.incepdnd cu celula (ij) marcata CII +: delernrina dU:=suma algehridi a costurilor din celulele marcate ol'arui ra semn marrajul celulei. trece nwnai prin celule bazice. Teorema 4.e '" 0. Determinarea dateal solutiel optime Mai intii definim notiunea de ciclu atasat unei celule 'nebazice in tabelul de de transport. Dacd Xl este programul de transport obtinut de algoritmul de mai sus din programul de transport xl.4= 16 . 60} = 20 ~j facem modificarile: Xu =XI3+ 25 80 60 e = 20. 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.

x]2 = 90 = 60. d21 == 22 . ~i are costulj'(r) = 4740 .IS = 36. dn == 33 .25 + 16 .15 =:: 14.6 == 36. iar Xv.16 + 25 . X33 = X)) - a = 0.5 = 52.16 + 25 .33= -36. dJI =28 .9 + 5 . AlgoritmuJ continuA prin a stabili valoarea a = min (40. dl4 = 20 .33 + 6 . dll = 22 .25 + 16 . ceea ce inseamnli cli a1goritmul continua. Deci dlil == d"}3 si apoi X"}3 < 0. Deci did = dv. e = min{20. CalculSnd valorile dfi pentru celulele nebazice se obtine: dl2 == 40 . dJ3"" 23 .5 + 23 . Xll = X32 + a == 70.6 = 47.41 x 40 = 4740.15 == 3. XlI =X32 + e == 90. = -36 < 0.6 + 23 .=X14+ e = 20.25 = 13. Acest program de transport se face cu costul /(x) = 6380 . 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 .9 + 5 . ~i X34 Cum did = 0 fuseamnli ca programul obtinut. dl4 dv. Aeest program este dat in tabelul urmator. dl4 = 20 .33 + 40 .9 == 41.6 + 33 .5 Calcu1ftnd valorile dij pentru actualul program de transport se obtine: dl2 = 40 . Xl4 =X34 - a == 60.23 +5 -15= -5. este de cost minim.52 x 20. = 20 . 181 ISO . 60] = == 40 + 9 . Xu = 20. = -41 d14= 16 -25 +6.Noul label este: r I 1 fn continuare algoritmul conduce Ia valorile: dll = 40 . = Xl) + a == 40. dll = 28 . dll = 28 - = 16 .e = 20. sa observant Ins! valoarea minim! did este exact 0.9 + 5 .36 x 20 4020. d21 = 22-33 + 6.25 == -28.80}=20. Xn ==X22- e = 0.23 +5 -15 =-38. de aici deducem eli exist! eel putm" unalt program de transport care are costul egal 4020 (costul minim). care are valori1e diferite de XII = 80. X2] = 40. dn=9 -23 + 6-33 =-41. X24 = 20.25 == -36.33 + 6 . I I Pentru acest program de transport costul este !(x) == 80 6 + 33 .33 + 9 .5 = 8.16 + 9 . X22 = Xn .5 = 11.9 == 5.5 + 9 .15 == 0. d)l Deci noul program de transport este eel dat In tabelul: = 23 .

I' P . 3) sunt celule bazice.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). a Etapa a doua.2. -I"'" <OoX>IU spre p rea crtitoru UI. 'm 20 60 Observam ca aceasta problema este neechilibrata. care are costul 510 • tabelul de mai jos. 2) ~i(3.emplul4. deci trebuie sa 0 .' 's . cea de determinare a unei soln1ii optime 0 l"~"Ike . Cantitatea solicitata de acest van destinatie este 50 liferenta dintre oferta ~icerere).. 4).. dar pute fi aleasa ca celula bazica in locul acestora celula (I.ij l82 183 . 3) respectiv (2. entru control darn 0 solutle optima. 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: ~..8. '-. 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.

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

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

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

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

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

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

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

• .

Sign up to vote on this title
UsefulNot useful