Professional Documents
Culture Documents
TEORIA GRAFURILOR
5.1 Consideraii teoretice
Teoria grafurilor s-a constituit ca un capitol de sine stttor n
cercetarea operaional datorit multiplelor avantaje pe care aceasta le ofer
activitii manageriale. Modelele matematice din aceast clas sunt de regul
liniare, dar spre deoseire de modelele de programare liniar spre e!emplu,
acestea au proprieti structurale care permit repre"entarea mai complet a
fenomenelor anali"ate #i totodat cre#terea gradului de eficacitate a
procesului de optimi"are. $n elaorarea programelor de producie, investiii,
transport, desfacere etc. la ntreprinderile cu activiti deoseit de comple!e
utili"area grafurilor #i a modelelor matematice corespun"toare acestora
constituie o necesitate practic.
$n aplicarea teoriei grafurilor se utili"ea" conceptul de graf care
constituie o form specific de repre"entare a fenomenelor #i activitilor.
Cu ajutorul grafurilor se surprind #i se anali"ea" n detaliu legturile
dintre componentele sistemului economic considerat, se elaorea" cu mai
mult u#urin #i preci"ie modelul matematic corespun"tor.
%entru a u#ura nelegerea conceptelor de a" ale teoriei grafurilor, a
semnificaiei economice a elementelor constitutive ale unui graf #i a
modelului matematic ata#at acestuia este necesar pre"entarea urmtoarelor
e!emple&
1
'!emplul 5.1.
Considerm c n prolema general de transport ij
c
repre"int
capacitatea ma!im de transport pe ruta
( ) j i,
. %rin urmare, dac se face
astracie de costurile de transport, atunci se poate formula o prolem de
programare liniar prin care urmea" s se determine cantitatea ma!im ce
treuie transportat pe diverse rute pentru satisfacerea cererii de consum.
Modelul matematic corespun"tor acestei proleme are forma&
( ) [ ]
m
i
n
j
ij ij
x x Z
1 1
ma!
(5.1)
n condiiile&
( )
n
j
i ij
m i a x
1
,......, * , 1
(5.*)
( ) n j b x
m
i
j ij
,......, * , 1
1
(5.+)
( ) n j m i c x
ij ij
,..., * , 1 , ,..., * , 1
(5.-)
.
ij
x
(5.5)
/oluia optim a unei astfel de proleme se poate oine mai u#or cu
ajutorul teoriei grafurilor. $n acest scop se construie#te un graf denumit reea
de transport folosind urmtoarele reguli& se repre"int n plan prin puncte
centrele productoare m
A A , ,
1
#i centrele consumatoare n
B B ,
1 care se
unesc prin segmente orientate
( )
j i
B A ,
denumite arce, crora le ata#m
capacitatea ij
c
. $n ca"ul n care un centru productor i
A
nu are mijloace de
transport disponiile ctre centrul j
B
capacitatea arcului corespun"tor
( )
j i
B A ,
va fi egal cu "ero. 0dugm grafului format o 1intrare2 0 legat
prin arce de fiecare dintre punctele m
A A , ,
1
#i numai de acestea, #i de
asemenea o 1ie#ire2 3 n care sose#te c4te un arc de la fiecare din punctele
*
n
B B ,
1 , #i numai din acestea. Capacitatea unui arc de forma
( )
i
A A,
va fi
egal cu i
a
, n timp ce capacitatea unui arc de forma
( ) B B
j
,
se va
considera egal cu j
b
. $n acest s-a oinut reeaua de transport din figura nr.
5.1.
%e a"a unui algoritm specific se determin flu!ul ma!im n reea care
are semnificaia cantitii ma!ime de produs care pleac din punctul 0 #i
sose#te n punctul 3.
5olosind aceea#i te6nic de modelare se poate re"olva a#a numita
prolem de transport cu centre intermediare n care ntre productorii i
A
#i
consumatorii i
B
se interpun centrele intermediare (depo"ite) i
D
.
A
B n
B j
B 2
B 1
A m
A i
A 2
A 1
B
a
1
a
2
a i
a
m
b
1
b
i
b
n
b
2
c 1 1
c
12
c
1
j
c
21
c
2
j
c
1
n
c
i1
c 2 2
c
2
n
c i j
c
i2
c
i
n
c
m
1
c
m
2
c
m
j
c m n
5igura nr. 5.1.
7eea de transport
+
5.*. Concepte fundamentale
0v4nd n vedere preci"rile din paragraful precedent se poate
conclu"iona c un graf este definit prin mulimea v4rfurilor
( )
n
x x x X , , ,
* 1
#i mulimea legturilor dintre acestea, notm cu 8 aplicaia multivoc a
mulimii 9 n ea ns#i, care evidenia" tocmai cone!iunile dintre v4rfurile
i
x
ale grafului, atunci c4nd graful : se define#te prin cuplul
( ) , X
, deci
( ) , X G
.
%entru mai mult claritate, grafului : i se ata#ea" un graf construit
astfel& fiecare element
X x
i
se repre"int printr-un punct denumit v4rf
(nod), iar cone!iunea dintre dou v4rfuri
X x
i
#i
X x
j
se repre"int
printr-un segment orientat de la i
x
la j
x
dac
( )
i j
x x
. %erec6ea ordonat
( )
j i
x x ,
se nume#te arc al grafului : #i are pe i
x
ca e!tremitate iniial, iar
pe j
x
ca e!tremitate final. %rin urmare aplicaia
( )
i
x
pune n eviden
mulimea punctelor j
x
legate cu i
x
prin arce care au e!tremitatea iniial n
i
x
#i cea final n j
x
.
;ac mulimea elementelor 9 este finit, atunci graful : este finit.
%entru anali"a conceptelor fundamentale ale teoriei grafurilor utili"m
graful definit prin mulimea
{ }
< = 5 - + * 1
, , , , , , x x x x x x x X
#i urmtoarele
aplicaii&
( ) ( ) { } ( ) { }, , , , , , , &
5 + * 1 * - + * 1
x x x x x x x x x x
i
(5.=)
( ) { } ( ) { } ( ) { }
= 5 5 + * - < = +
, , , , , x x x x x x x x x
(5.<)
( ) { } ( )
< < - + =
, , , x x x x x
. 0cestei aplicaii i corespunde
repre"entarea din figura nr. 5.*.
-
x 4
x 1
x 2
x 3
x 5
x 6
x 7
5igura nr. 5.*.
;efinirea unui graf
:raful din figura nr. 5.* s-a oinut unind punctele ce formea"
mulimea 9 prin arce definite de aplicaiile
( )
i
x
. 0stfel aplicaia
( )
+
x
arat c v4rfurile =
x
#i <
x
sunt legate cu +
x
prin arce care au e!tremitatea
iniial n +
x
. /e poate utili"a #i conceptul de aplicaie invers n v4rful j
x
,
care se notea" cu
( )
j
x
1
#i se define#te astfel&
( ) ( ) { }
i j i j
x x x x
&
1
(5.>)
0plicaia
( )
j
x
1
.
/e consider un graf
( ) , X G
poate fi definit prin cuplul 9 #i ?,
adic
( ) U X G ,
.
5
Cu ? s-a notat mulimea arcelor
( )
j i ij
x x u ,
a grafului :, adic&
( ) ( ) { }
i j j i j i
x x X x x x x U , , @ ,
(5.A)
;ou arce ale grafului : se numesc adiacente dac au o e!tremitate
comun, iar v4rfurile i
x
#i j
x
sunt adiacente, dac e!ist un arc care le
une#te.
5ie X A o sumulime de v4rfuri ale grafului :. ?n arc
U u
j
se
nume#te incident spre e!terior mulimii 0, dac e!tremitatea iniial a lui
ij
u
este n 0, iar e!tremitatea final nu, deci
A x
, iar
A x
j
. 0rcul ij
u
este
incident spre interior mulimii a dac e!tremitatea final a lui ij
u
este n 0,
iar cea iniial nu, adic atunci c4nd
A x
i
#i
A x
j
.
$n particular, un arc oarecare u este incident spre e!terior (interior)
unui v4rf !, aceasta revine la a spune c e!tremitatea iniial (final) a
arcului este u, iar e!tremitatea final (iniial) este diferit de !.
0rcul care are amele e!tremiti ntr-un v4rf i
x
se nume#te ucl.
Mulimea arcelor incidente spre e!terior sumulimii 0 (v4rfului !) se
notea" cu
+
A
U
(respectiv
+
X
U
), iar mulimea arcelor incidente spre interior
mulimii 0 (v4rfului !) se notea"
A
U
(respectiv
X
U
).
0stfel n graful din figura nr. 5.* arcele
( )
- 1
, x x
#i
( )
< + 1
, , x x x
sunt
adiacente n timp ce arcele
( )
* 1
, x x
#i
( )
= +
, x x
nu sunt, v4rfurile
-
x
#i =
x
sunt
adiacente.
5ie
{ }
5 = + *
, , , x x x x A
. 0rcul
( )
= +
, x x
spre e!emplu, este incident spre
e!terior mulimii 0, ntruc4t
A x
+ , iar
A x
= . Totalitatea arcelor incidente
spre e!terior acestei mulimi formea" mulimea
+
A
U &
( )( )( )( )( ) { }
= + = + = 5 * - * 1
, , , , , x x x x x x x x x x U
A
+
(5.1.)
=
0rcul
( )
- 1
, x x
, spre e!emplu, este incident spre interior mulimii 0
deoarece
A x
1 , iar
A x
- . Mulimea
A
U
este constituit din arcele&
( ) ( ) ( ) ( ) ( ) { }
+ = - = - 1 + 1 * 1
, , , , , x x x x x x x x x x U
A
(5.11)
;ac considerm c
{ }
*
x A
atunci arcul
( )
+ *
, x x
este incident spre
e!terior v4rfului *
x
, iar arcul
( )
* -
, x x
este incident spre interior acestuia.
3ucla de e!tremitate final #i iniial
*
x
nu este incident nici spre e!terior,
nici spre interior lui *
x
.
;eci&
( ) ( ) ( ) { } ( ) ( ) { }
* - * 1 * 5 * + * 1 * 1
, , , , , , x x x x U x x x x x x U
X X
+
(5.1*)
$n multe raionamente din teoria grafurilor este frecvent operaia de
1#tergere2 (eliminare) a unor arce dintr-un graf dat, sau a unor v4rfuri #i a
tuturor arcelor incidente spre e!terior sau interior acestora. Ca urmare a
acestor operaiuni se oine un graf parial sau un sugraf al grafului :.
/e define#te graf parial al lui :, un graf de forma
( ) B , B X G
, n
care aplicaia multivoc satisface condiia
( ) ( )
i i
x x B
, dar
( ) ( )
i i
x x B
pentru orice
X x
i
.
;eci un graf parial al lui : are acela#i v4rfuri ca #i :, dar mai puine
arce.
/e nume#te sugraf a lui :, un graf de forma G C( X , ), n care
X X , iar pentru orice
X x
i
este satisfcut relaia
X x x
i i
) ( ) (
.
;eci, un sugraf al grafului : se oine prin eliminarea din : a unui numr
a unui numr de v4rfuri #i a arcelor incidente spre e!terior #i interior
acestora.
Comin4nd cele dou concepte de mai sus va re"ulta un sugraf
parial al unui graf.
<
?n graf : se nume#te complet dac orice cuplu de v4rfuri este legat
cu cel puin un arc indiferent de direcia acestuia, dac orice cuplu
( )
j i
x x ,
este legat prin arce n amele sensuri adic
( ) U x x
j i
,
#i
( ) U x x
i j
,
, atunci
graful se nume#te simetric.
Dricrui graf : i se poate asocia o matrice oolean
( )
ij G
m M
unde& (5.1+)
Matricea asociat grafului din figura nr. 5. *. are urmtoarea structur&
,
_
. . . . . . .
. 1 . . . . .
. . 1 . 1 1 .
1 1 . . . . .
. . 1 . 1 1 1
. . . 1 1 1 .
G
M
(5.1-)
Treuie preci"at c un graf complet este determinat prin matricea
oolean asociat. ;iferitele operaii e!ecutate asupra unui graf se
concreti"ea" n operaii corespun"toare efectuate n matrice G
M
. 0stfel,
matricea asociat unui graf parial se deduce din matricea grafului iniial prin
nlocuirea unor elemente
1
ij
m
corespun"toare arcelor care se elimin prin
elemente
.
ij
m
. Matricea asociat unui sugraf se deduce din matricea
iniial prin eliminarea liniilor #i coloanelor corespun"toare v4rfurilor
eliminate.
$n aplicaiile teoriei grafurilor la economie cel mai frecvent se
utili"ea" conceptul de drum.
>
'
. .
, 1
adiacente sunt x si x vrfurile daca
x in finala cea si x in initiala e extremitat cu arcul exista daca
m
j i
j i
ij
?n drum E ntr-un graf
( ) U X G ,
este o succesiune de arce
( )
p
u u u , , ,
* 1
cu proprietatea c e!tremitatea final a arcului i
u
coincide cu
e!tremitatea iniial final a arcului urmtor.
'!tremitatea iniial a drumului
este e!tremitatea
final a arcului. ;rumul
este
neelementar.
Gungimea
( ) 1
a drumului
k
i
i
u v v
1
) ( ) (
(5.**)
se nume#te valoarea drumului
'
(e )ncep cu
.
i
%i
. , * n i pentru
i
' *ariabila i
are
semnifica+ia de valoare a drumului de la vrful
1
x
pn$ la
vrful n
x
'
(e caut$ un arc
( )
j i
x x ,
pentru care
( )
j i i j
x x v , >
' Dac$ un
astfel de arc a fost !$sim se )nlocuie%te i
cu
( )
j j i j i
x x v < + ,
,-'./
;ac e!ist mai multe variante pentru relaia (5.*+) care permit mic#orarea
variailei jm
atunci se alege j
.
Deoarece pentru fiecare vrf i
x
0 valorile luate de variabila j
formea&$ un %ir descresc$tor de numere nene!ative0 va exista
un vrf 1 p
x
0 cu proprietatea1
( )
n p p n
x x ,
1 1
,-'.2
p
x
fiind vrful care a contribuit ultima oar$ la mic%orarea valorii
variabilei n
'
0nalog, va e!ista * p
x
astfel nc4t&
( )
n p p p
x x ,
1 * 1
etc. (5.*5)
Humrul v4rfurilor fiind finit, vom oine n final&
( )
pk pk pk
x x v %i x x ,
1 1 1 1
+
(5.*=)
/e poate arta c valoarea minim a drumului care une#te v4rful 1
x
#i
n
x
este tocmai n
, iar drumul .
pentru care
( )
n
v
. este
1-
( )
n p p p
x x x x x , , , , ,
1 * 1 .
. %entru a demonstra acest lucru se consider un
drum oarecare
[ ]
1 1 1
, , ,
+
ks k
x x x
pentru care se calculea"
(5.*<)
( )
1 1 1
, .
k k
x x v
(5.*>)
( )
* 1 1 *
,
k k k k
x x v
(5.*A)
( )
n ks ks n
x x v ,
(5.+.)
$nsum4nd separat termenii acestor relaii re"ult c
( )
n ceea ce
demonstrea" ca .
este drumul cu valoarea
cea mai mic.
;e asemenea se poate arta c algoritmul 5ord este ec6ivalent cu
re"olvarea sistemului&
( ) [ ]
( ) ( )
'
xj j i
j i i j
U x x n j
x x v
, , , , * , 1
, min
.
1
(5.+1)
%rin utili"area sistemului (5.+1) se determin drumul de valoare
minim dintre i
x
#i j
x
in4nd seama de drumul de valoare minim dintre
1
x
#i i
x
#i de
( )
j i
x x v ,
pentru
( )
xj j i
U x x ,
. 0plicarea acestui procedeu
presupune parcurgerea algoritmului grafului de la st4nga spre dreapta, iar
folosirea algoritmului definit n paragrafele precedente este ec6ivalent cu
aflarea drumului minim ncep4nd de la modul n
x
ctre modul 1
x
.
15
x 2
x 1
x 3
x 6
x 4
x 5
5
4
1 1
1 0
1 5
6
1 9
1 0
1 8
1 2
1 4
5igura nr. 5.-.
:raf orientat
$n ca"ul c4nd se cere aflarea drumului de valoare ma!im, valorile
start sunt
.
1
#i
( ) n j
j
, , *
. 0tunci c4nd
( )
j i i j
x x v , <
, valorile
j
se nlocuiesc cu
( )
j i i j
x x v , +
. ;ac e!ist mai multe variante care
permit mrirea lui i
cu valoarea ma!im.
0plicarea acestui algoritm este ec6ivalent cu re"olvarea sistemului &
( ) [ ]
( ) ( )
'
xj j i
j i i j
U x x n j
x x v
, , , , * , 1
, ma!
.
1
(5.+*)
Treuie preci"at c este posiil ca graful s conin mai multe drumuri
de valoare minim (ma!im) #i de aceea pentru determinarea acestora
1=
treuie marcate toate succesiunile de arc (noduri) care conduc la aceea#i
valoare.
$n acest fel s-au pus n eviden dou drumuri de valoare minim&
( ) *5 , ,
= - 1
x x x
(5.++)
( ) *5 , , , ,
= - 5 * 1 1
x x x x x
(5.+-)
b Al!oritmul Bellman 3 4alaba
0cest algoritm se a"ea" pe principiul general al programrii
dinamice, care n ca"ul de fa capt urmtoarea formulare& dac drumul de
valoare minim (ma!im) care une#te h
x
#i k
x
atunci drumul parial care
une#te h
x
cu k
x
este drumul de valoare minim (ma!im) ntre aceste
dou v4rfuri.
$n ca"ul c4nd se cere determinarea drumului de valoare minim,
grafului
( ) , X G
i se ata#ea" matricea
( ) n j i x 5
ij
, , ,
n care
elementele ij
c
se definesc astfel&
'
j i daca
j i U x x daca
j i U x x daca x x v
c
j i
j i j i
ij
.
) ( ) , (
) ( ) , ( ) , (
(5.+5)
5iecrui v4rf i
x
al grafului : i se asocia" o variail i
v
, care are
semnificaia de valoare a drumului care une#te v4rful i
x
cu n
x
. /oluia
prolemei enunate se oine prin re"olvarea sistemului de ecuaii&
'
.
1 ,...., 1 ), ( min
n
ij j
i j
i
v
n i c v v
(5.+=)
1<
$ntra-adevr se poate arta c dac n
v v v , , ,
* 1
este soluia acestui
sistem, atunci 1
v
repre"int valoarea minim a drumului care une#te 1
x
#i
n
x
.
%entru re"olvarea sistemului (5.+=) se utili"ea" un procedeu iterativ
care pleac de la informaia iniial definit prin&
1 , , * , 1
. ) . (
) . (
'
n i
v
c v
n
in i
(5.+<)
5iecare iteraie
( ) , * , 1 k k
const n re"olvarea sistemului&
1,* I n, *, 1, j 1, - n , 1, i
.
) ( min
) (
) 1 ( ) (
'
k
n
ij
k
j
i j
k
i
v
c v v
(5.+>)
%rocesul de calcul se nc6eie n momentul n care se gse#te&
( ) ( )
n i v v
k
i
k
i
, , 1
1
(5.+A)
0tunci
) (k
i
i v v
,
( ) n i , , 1
#i valoarea minim a drumului care une#te
1
x
cu n
x
este
) (
1
k
i
v v
. (5.-.)
;eterminarea arcelor drumului de valoare minim
) (
1
k
i
v v
se face
astfel&
5ie ij
x
v4rful pentru care&
ij
k
j ij
k
j
j
k
c v c v v + +
) 1 ( 1
1
) (
1
1
) ( min
(5.-1)
1>
;rumul de lungime minim trece prin j
x
#i conform principiului
programrii dinamice
( ) 1
1
k
j
y
repre"int valoarea minim a drumului care
une#te 1 j
x
cu n
x
.
$n continuare, s presupunem c&
* 1
) * (
*
) * ( ) 1 (
1
) ( min
1
j j
k
j ij
k
j
j j
k
j
c v c v v + +
(5.-*)
;rumul
jk
v
. (5.-+)
;rumul de valoare minim va fi&
( )
n jk j j
x x x x x , , , , ,
1
1
(5.--)
'ste clar c dac unul din v4rfurile intermediare nu este unic
determinat vor e!ista mai multe drumuri de lungime minim.
Calculele se pot organi"a ntr-un tael n care se trec matricea C,
vectorul linie
( )
( ) . , , ,
1 * 1
.
n n n
c c c v
ale crui componente sunt tocmai
elementele ultimei coloane a matricei C, precum #i vectorii linie
( ) k
v ale
cror elemente se calculea" prin relaiile (5.+>).
$n vederea aplicrii algoritmului 3ellman Jalaa pentru aflarea
drumului de valoare ma!im se introduc urmtoarele modificri.
a) n definirea matricei C, dac
( )
j i
x x ,
atunci
ij
c
,
) n relaiile (5.+=) #i (5.+>) se nlocuie#te operatorul de ma!im.
5.5. 7eele de transport
'!emplul pre"entat la nceputul acestui capitol a pus n discuie o
prolem economic care poate fi repre"entat printr-un anumit tip de garf,
denumit reea de transport.
1A
/e nume#te reea de transport un graf
( ) U X G ,
finit fr ucle cu
urmtoarele proprieti&
fiec$rui arc
U u
)i este ata%at un num$r )ntre!
( ) . u c
care se
nume%te capacitatea arcului u6
exist$ un sin!ur vrf .
x
caracteri&at prin aplica+ia
( )
.
1
x
0
ca urmare aceasta nu este extremitate final$ pentru nici un arc
al !rafului G %i de acea este numit intrare )n re+ea6
exist$ un sin!ur vrf n
x
0 caracteri&at prin aplica+ii
( )
n
x
0
ca urmare acesta nu este extremitatea ini+ial$ pentru nici un
arc al !rafului G %i de aceea este numit ie%ire din re+ea'
F4rfurile 1 1
, ,
n
x x
distincte de intrarea .
x
#i ie#irea n
x
se numesc
v4rfuri intermediare.
D funcie
i
x
i
x
U u U u
u u
(5.-=)
0simil4nd
( ) u
cu o cantitate de materie care parcurge arcul u n
sensul orientrii sale, condiia 1 e!prim cerina natural ca aceast cantitate
s nu dep#easc cantitatea arcului. Condiia * arat c n v4rfurile
intermediare i
x
, nu sunt 1pierderi2 n sensul c suma cantitilor sosite n
i
x
de-a lungul arcelor incidente spre interiorul acestuia este egal cu suma
cantitilor care 1ies2 din i
x
pe arcele incidente spre e!terior lui.
$nsum4nd relaiile (5.-=) pentru toate v4rfurile intermediare #i
reduc4nd termenii pre"eni n amii memri re"ult&
*.
( ) ( ) ( )
n
U u U u
x v u u
xn x
+
.
(5.-<)
7elaia (5.-<) arat c ntr-o reea fr pierderi cantitatea de materie
1intrat2 n reea prin .
x
este egal cu cantitatea sosit n n
x
. mrimea
( )
n
x v
se nume#te valoarea flu!ului
n v4rful n
x
. pentru astfel de
proleme interesea" determinarea flu!ului de valoare ma!im ntr-o reea
de transport dat. /e cunosc mai multe metode cu ajutorul crora putem
re"olva aceast prolem. 0lgoritmul 5ord 5ulIerson are la a" conceptul
de tietur ntr-o reea de transport
( ) U X G ,
#i o sumulime 0 de v4rfuri
ale acesteia
( ) X A
care are proprietatea c
A x
. #i
A x
n
.
Mulimea
A
U
a arcelor incidente spre interiorul acestei sumulimi se
nume#te tietura n reeaua :. capacitatea tieturii
A
U
se define#te ca fiind
suma capacitilor arcelor componente.
( ) ( )
A
U u
A
u c U 5
(5.->)
'ste u#or de v"ut c o unitate de cantitate de materie care pleac din
.
x
strate cu necesitate un arc al tieturii
A
U
. /e deduce imediat c pentru
orice flu!
#i orice tietur
A
U
avem&
( ) ( )
A n
U 5 x v (+.->)
Teorema 5ord 5ulIerson, arat c ntr-o reea de transport un flu!
are valoarea ma!im dac #i numai dac e!ist o tietur de capacitate egal
cu valoarea flu!ului. $n acest ca" tietura are capacitatea minim.
;eci n ca"ul egalitii ntre flu! #i tietur,
( ) ( )
A n
U 5 x v
, atunci
flu!ul n
x
are valoarea ma!im n timp ce tietura
A
U are capacitatea
minim. 0cest re"ultat constituie condiia necesar #i suficient de e!isten
*1
a flu!ului de valoare ma!im #i st la a"a algoritmului 5ord 5ulIerson
pentru determinarea flu!ului de valoare ma!im.
0plicarea acestui algoritm const n urmtoarele&
1) se propag n reea, din v4rful .
x
ctre n
x
, un flu!
astfel nc4t
( ) ( ) u c u
, (5.5.)
*) se marc6ea" v4rfurile reelei : dup urmtoarea regul&
*a) intrarea .
x
se marc6ea" cu
[ ] +
, (+.51)
*) dac v4rful j
x
este nemarcat #i e!ist un arc
( )
j i
x x ,
nesaturat a
crui e!tremitate iniial i
x
este marcat atunci marcm j
x
j
cu
[ ]
i
x +
.
%reci"m c n ca"ul c4nd arcul
( )
j i
x x ,
este saturat, adic
( ) ( ) u c u
, nu se
poate marca v4rful j
x
.
*c) dac v4rful j
x
j
este nemarcat #i e!ist arcul
( )
i j
x x ,
strtut de
un flu! nenul a crui e!tremitate final i
x
este marcat, atunci marcm j
x
cu
[ ]
i
x
, iar n ca"ul c flu!ul este nul nu se marc6ea" v4rful j
x
. ;ac
dup aplicarea procedurii de marcare ie#irea n
x
, nu este marcat atunci
flu!ul
A
U
ale crei arce sunt saturate n virtutea regulii de marcare *. nsum4nd
egalitile (5.-=) pentru toate punctele intermediare j
x
din 0 oinem&
( ) ( ) ( ) v u u
A A
U u U u
+
+
(5.5*)
dar
( ) ( )
A A
U u
A
U u
U 5 u c u ) (
deoarece arcele tieturii sunt saturate iar
( ) .
A
U u
u
pentru orice arc #i incident spre e!terior mulimii 0 (n virtutea
regulii *c de marcare).
%rin urmare&
**
( ) ( )
A n
U 5 x v
(5.5+)
Ki conform teoremei 5ord 5ulIerson n
x
are valoarea ma!im.
$n ca"ul n care ie#irea n
x
este marcat va e!ista un lan
de arce cu
e!tremitile marcate care une#te intrarea .
x
cu ie#irea n
x
.
/ notm cu&
( ) ( ) [ ] u u c d
U u
min
1
(5.5-)
U
fiind mulimea arcelor lanului
U
este format din arcele orientate n sensul 1intrare
ie#ire2. 5ie&
( ) u d
U u
min
*
(5.55)
U
fiind mulimea arcelor lanului
U
este vid atunci
.
*
d
). (5.5=)
0dug4nd mrimea
d
la flu!urile arcelor din
U
sc"4nd aceea#i
mrime din flu!urile arcelor mulimii
U
#i menin4nd nesc6imate flu!urile
arcelor ce nu fac parte din
,
deoarece&
( ) ( ) ( )
v M d v v +
(5.5<)
$n esen algoritmul de determinare a flu!ului de valoare ma!im
const n muntirea succesiv a unui flu! iniial dat cu ajutorul
procedurii de marcare descris mai sus. Cum aceast procedur este destul
de laorioas, se evit utili"area ei, n toate iteraiile cut4ndu-se mai nt4i
un flu! complet, adic un flu! cu proprietatea c orice drum care une#te
*+
intrarea cu ie#irea din reea s conin cel puin un arc saturat. ;ac la o
anumit iteraie dispunem de un flu! care nu este complet, va e!ista un drum
- care une#te intrarea cu ie#irea din reea, compus numai din arce
nesaturate. ;ac notm&
( ) ( ) [ ] . M min u u c d
u
(5.5>)
0tunci mrind flu!urile arcelor drumului
cu mrimea
d
#i menin4nd
nesc6imate flu!urile celorlalte arce care nu fac parte din
oinem un flu!
, n sensul c
( ) ( ) ( )
v M d v v +
. $n plus drumul
va conine cel puin un arc saturat. $ntr-o a doua etap aplicm flu!ului
complet procedura de etic6etare. ;ac flu!ul curent
nu are valoarea
ma!im, aceasta se poate mri de-a lungul unui lan de arce care une#te
intrarea cu ie#irea reelei, a#a cum am v"ut mai sus. Hoului flu! i se aplic
procedura de etic6etare #.a.m.d.
5.=. ;rumuri #i circuite 6amiltoniene
Definirea problemei
$ntr-un graf
( ) , X G
, un drum
( )
n
i i i
x x x , , ,
* 1
(5.5A)
se nume#te 16amiltonian2 dac trece o dat #i numai o dat prin fiecare v4rf
al grafului. ;ac graful : de ordinul n are drumuri 6amiltoniene, lungimea
acestora este
( ) 1 n l
.
%e a"a unor modele matematice adecvate se pot determina drumurile
6amiltoniene ntr-un graf ata#at unei proleme economice. 0stfel, serviciul
po#tal al unui ora# are sarcina s asigure ridicarea corespondenei de la toate
punctele unde sunt amplasate cutii po#tale. D cale eficient de re"olvare a
*-
acestei proleme const n determinarea drumurilor 6amiltoniene ntr-un
graf : definit prin mulimea 9 a punctelor unde sunt amplasate cutiile
po#tale #i prin aplicaiile
'
k k
M M 8 M
(5.=-)
;in ultima Pmatrice2 oinem lista tuturor drumurilor elementare de
lungime
( ) 1 + k
.
;ac ordinal grafului Pn2 este mare, atunci avem de efectuat un volum
mare de Pnmuliri2 de acest tip.
0ceste calcule pot fi scurtate n mod apreciail, deoarece nmulirea
latin poate fi e!tins la matricea
( )
( ) 1
N
> ( M
s
n modul urmtor&
( ) ( ) ( ) s r s r
M M 8 M
+
N
(5.=5)
unde
( ) s
M
N
se oine din matricea
) (s
M suprim4nd prima liter din fiecare
succesiune ce figurea" n matrice.
*<
0#adar, n ipote"a c nu ne interesea" drumurile elementare mai mici
dec4t n0 va fi suficient s se calcule"e succesiv&
( ) *
M 6
( ) ( ) ( ) * * -
N
M 8 M M
,
( ) ( ) - - ) * (
N
+
M 8 M M %i
) * ( ) * ( ) * (
1 1 N
k k k
M 8 M M
(5.==)
cu n
k
* '
%rin organi"area corespun"toare a produselor ce definesc matricea
( ) n
M 0 volumul calculelor se poate reduce #i mai mult.
/pre e!emplu, pentru a determina matricele
( ) ++
M #i
( ) +-
M se
calculea"&
( ) *
M ,
( ) -
M ,
( ) >
M 0
( ) 1=
M ,
( ) +*
M 0
( ) ( ) ( ) 1 +* ++
N
M 8 M M
(5.=<)
#i
( ) ( ) ( ) * +* ++
N
M 8 M M
. (5.=>)
Metoda Pnmulirii latine2 poate fi programat u#or pe un calculator
electronic #i dac se modific adecvat ea ne permite s gsim drumuri crora
li s-au impus restricii suplimentare.
%entru a determina circuitele 6amiltoniene (dac e!ist), din matricea
( ) 1 n
M deducem matricea
( ) 1
N
n
M dup regula oi#nuit #i calculm&
( ) ( ) 1 1 Q
) (
N N
M 8 M M
n
n
(5.=A)
%rin adugarea la nceputul fiecrei succesiuni latine din matricea
Q
) (n
M
a literei ce constituie indicele liniei acestei matrice se oin circuitele
6amiltoniene (dac e!ist).
;ac graful este de ordin mare #i nu este tare cone!, pentru a
determina drumurile 6amiltoniene este preferail s-l descompunem n
sugrafuri tare cone!e, folosind algoritmul 5oulIes.
b Metoda lui #oulkes
Dricrui graf
( ) U X G ,
i se poate asocia o matrice oolean M.
0ceast matrice st la a"a algoritmului 5oulIes.
*>
n
X
#i matricea oolean M asociat acestuia, atunci prin nmulire
oolean
Q
putem determina matricea
( ) *
M 1
( ) ( )
( ) n j i m M M M
ij
, , 1 ,
* *
(5.<.)
unde conform definiiei
( )
nj in j i i i ij
m m m m m m m + + + ...
1 * 1 1
*
(5.<1)
'lementul
) * (
ij
m
va fi 1 dac cel puin unul din termenii ce-l definesc este l.
5ie acela
( ) n k m m
kj ik
1
, produsul
1
kj ik
m m
dac #i numai dac
1
ik
m
0
#i
1
kj
m
0 adic e!ist un arc de la i
x
la k
x
#i un arc de cerc de la k
x
la j
x
'
0ceasta nseamn c e!ist un drum de lungime . de la i
x
la k
x
. 7e"ult
c
1
) * (
ij
m
dac #i numai dac e!ist cel puin un drum de lungime . de la i
x
la j
x
' %rin urmare matricea
( ) *
M ofer informaii asupra e!istenei
drumurilor de lungime * ntre diferitele v4rfuri ale grafului :. Lnductiv,
matricea
( ) r
M ofer informaii asupra e!istenei drumurilor de lungime r0
ntre diferitele v4rfuri ale grafului.
;e aici re"ult imediat c elementele matricei
( )
( ) r
M 9 + (arat dac
ntre dou v4rfuri oarecare ale grafului : e!ist sau nu un drum de lungime
mai mic sau egal cu r). Calculul matricei
( )
( ) r
M 9 + se face cu ajutorul
relaiei&
( )
( ) ( ) ( ) ( ) r r
M M M 9 M 9 + + + + +
* 1
(5.<*)
'lementul
) (r
ij
d
al acestei matrice poate lua urmtoarea valoare&
{ } ( ) ( )
'
rest )n
x U U x U x x dac$
d
i i j j r
ij
.
..... 1
) (
(5.<+)
Mulimea
( ) { } ( ) ( ) ( )
i
r
i i i
x x x x x
*
1
se nume#te nc6idere
tran"itiv a lui 0 deci
( )
i
x
este o aplicaie a mulimii ! n ! definit prin
*A
relaia precedent. 0v4nd n vedere c
( ) ( ) [ ] ( ) ( ) [ ]
i i i i
x x x x
* + *
, ( )
i
x
0
etc. re"ult c
( )
i j
x x
R
arat c ntre v4rfurile
i
x
#i
j
x
e!ist un drum de
lungime mai mic sau egal cu r'
%entru un graf cu n v4rfuri orice drum elementar este de lungime cel
mult egal cu n 10 deci matricea
( )
( ) 1
+
n
M 9 va conine toate drumurile
elementare sau neelementare de lungime mai mic sau egal cu n 1'
$ntruc4t orice drum este o reuniune de drumuri elementare, matricea
( )
( ) 1 +
+
p n
M 9 este n mod necesar egal cu
( )
( ) 1
+
n
M 9 0 deci&
( )
( )
( )
( )
1
1 1
+ +
+
p M 9 M 9
n p n
(5.<-)
%rin urmare este suficient s calculm
( )
( ) 1
+
n
M 9 pentru a afla dac
e!ist un drum ntre orice v4rfuri i
x
#i j
x
al grafului :' %entru reducerea
calculelor se recomand calcularea succesiv a matricelor&
( )
( )
( )
( )
( )
( )
k
M 9 M 9 M 9
* * *
, , ,
+
+ + + ' Dperaia de nmulire oolean se opre#te
atunci c4nd&
( )
( )
( )
( )
k k
M 9 M 9
* *
1
+ +
+
(5.<5)
sau c4nd 1 * n
k
'
;up oinerea informaiilor cu privire la e!istena drumurilor
6amiltoniene ntre dou v4rfuri oarecare i
x
#i j
x
se pune prolema gsirii
succesiunii de arce care formea" fiecare drum. $n acest scop graful : se
descompune n clase de ec6ivalen.
D mulime de elemente C constituie o clas de ec6ivalen dac
elementele sale satisfac proprietile de refle!ivitate simetrice #i
tran"itivitate care se definesc astfel&
a :entru orice
5 x
i
exist$ rela+ia de echivalen+$ i
x
; j
x
,reflexivitate'
+.
b Dac$ pentru oricare dou$ vrfuri
5 x x
j i
,
exist$ rela+ia de
echivalen+$ j
x
; i
x
,simetrie'
c Dac$ pentru vrfurile
5 x x x
k j i
, ,
exist$ rela+iile de echivalen+$
i
x
; j
x
%i j
x
; k
x
0 atunci exist$ %i rela+ia de echivalen+$ i
x
; k
x
,tran&itivitate'
%reci"m c relaia i
x
; j
x
se interpretea" c i
x
este ec6ivalent cu
j
x
'
5iind dat un graf
( ) , X G
, vom considera c ntre v4rfurile
X x
i
#i
X x
j
e!ist relaia de ec6ivalen i
x
; j
x
dac #i numai dac e!ist un
drum de la i
x
la j
x
#i invers #i prin urmare treuie satisfcute relaiile&
( )
i j
x x
#i
( ) ( )
j i
x x
R
(5.<=)
0#adar, o relaie de ec6ivalen astfel definit va determina un sugraf
conve! al grafului&
;ac v4rfurile i
x
#i j
x
aparin la dou clase de ec6ivalen #i e!ist
un drum de la e!ist un drum de la
i
x
la
j
x
( ) ( )
i j
x x
atunci nu e!ist un
drum de la j
x
la i
x
(dac ar e!ista atunci i
x
; j
x
).
Consider4nd c mulimea C este clasa de ec6ivalen la care aparine
i
x
#i C clasa de ec6ivalen a lui j
x
, atunci va e!ista un drum de la fiecare
v4rf al lui C la fiecare v4rf a lui 5
#i nu e!ist nici un drum de la oricare
v4rf al lui 5
la un v4rf a lui 5' $n acest fel s-a definit o relaie de ordine
tran"itiv #i antisimetric.
%entru a oine u#or v4rfurile care aparin aceleia#i clase de
ec6ivalen este suficient s remarcm c dac dou v4rfuri aparin aceleia#i
clase, atunci n matricea ( )
( )
k
M 9
*
+ liniile corespun"toare celor dou v4rfuri
sunt identice. 7e"ult c prin ordonarea liniilor (v4rfurilor) in4nd seama de
+1
numrul de elemente egale cu 1 se oin clasele de ec6ivalen ale grafului
:' ;up aceast operaie matricea capt un aspect semitriung6iular. ;ac
matricea astfel ordonat este strict triung6iular n raport cu sumatricile
referitoare la clasele de ec6ivalen, atunci e!ist ordine total #i pot e!ista
unul sau mai multe drumuri 6amiltoniene. $n ca" contrar nu e!ist nici un
drum 6amiltonian.
'numerarea drumurilor 6amiltoniene se face lu4nd nt4i n
consideraie drumurile 6amiltoniene e!istente n cadrul fiecrei clase de
ec6ivalen, apoi acestea se racordea" la arcele care fac parte din drumurile
care traversea" toate clasele.
+*