Sunteți pe pagina 1din 24

1

MATEMATICA APLICAT N MANAGEMENTUL COMPETITIVITII C13-2014


(21.05.2014)
8. ELEMENTE DE TEORIA GRAFURILOR
Definiia 8.1.
Se numete multigraf orientat perechea G = ( X , U), n care X este o mulime de elemente
oarecare, iar U N X X c .

Elementele mulimii X sunt numite vrfuri ale multigrafului, iar elementele mulimii U sunt
numite arcele multigrafului. Pentru arcul u
i
= (x
j
, x
k
, h) componenta a treia h are rolul de
numerotare a arcelor care nu pot fi difereniate altfel. Se va considera c mulimile X i U sunt
finite, iar cardinalul mulimii X, notat cu n = X , se numete ordinul multigrafului. Se noteaz cu
m cardinalul mulimii U i m se numete dimensiunea multigrafului G. Se vor considera doar
multigrafuri finite.
Definiia 8.2.
Un multigraf G se numete p-graf dac ntre oricare dou vrfuri ale sale exist cel mult p
arce care s aib acelai sens i G are dou vrfuri ntre care exist exact p arce care au acelai sens.

Definiia 8.3.
Un 1-graf se numete graf orientat.
Pentru un graf orientat G = ( X , U), X X U c , deci U este i poate fi privit i ca o
relaie binar.
Definiia 8.4.

Orice mulime X, finit sau nu, dar numrabil, prevzut cu o relaie binar I , se
numete graf i se va nota G = ( X , I) sau G = ( X , U).
Se vor considera grafuri finite.
n limba romn se utilizeaz pentru substantivul graf pluralul grafuri , dar i grafe.
Deci, un graf orientat sau un 1-graf este perechea:
G = ( X , U)

format dintr-o mulime finit de elemente X, numite vrfuri, i dintr-o familie U (sau I ) de
perechi de vrfuri care se numesc arce.
Evident, U _X x X sau I _X x X
Se va nota:
X = { x
1
, x
2
, ... , x
n
}
U = { u
1
, u
2
, ... , u
m
},
*
, N n m e
Pentru arcul u
i
= (x
j
, x
k
) vrful x
j
se numete extremitatea iniial sau originea arcului, iar vrful x
k

este extremitatea terminal. Dac extremitile unui arc coincid, atunci arcul se numete bucl.
Exemplul nr. 8.1.
Multigraful din fig. nr. 8.1. este un 2-graf, are mulimea vrfurilor X i mulimea arcelor U.
X = {1, 2, 3, 4, 5, 6, 7}
U = {(1, 2, 1); (2, 3, 1); (2, 3, 2); (3, 4, 1); (4, 7, 1); (7, 6, 1); (7, 6, 2); (6, 5, 1); (5, 1, 1)}
2


Fig. nr. 8.1.

Exemplul nr. 8.2.
Graful orientat din fig. nr. 8.2. are mulimea vrfurilor X i mulimea arcelor U.
X = {1, 2, 3, 4, 5, 6}
U = {(1, 1); (1, 2); (2, 3); (2, 4); (3, 4); (4, 5); (5, 6); (6, 1); (6, 3)}
n (1, 1) exist o bucl.


Fig. nr. 8.2.

Un drum ntr-un graf este succesiunea de vrfuri legate fiecare de urmtorul prin cte un arc.
Se noteaz drumul d:
d = [ x
1
, x
2
, ... , x
k
, ... , x
p
], p < n
sau prin arcele ce-l formeaz:

d = [( x
1
, x
2
) , ... , ( x
k
, x
k+1
) , ... , ( x
p-1
, x
p
)]
Vrful x
1
se numete extremitatea iniial a drumului d, iar x
p
este extremitatea terminal. Dac
drumul are proprietatea c extremitatea iniial a primului arc coincide cu extremitatea terminal a
ultimului arc, el se numete circuit.
Un drum se numete elementar dac nu utilizeaz de dou ori acelai vrf, iar n caz contrar
este neelementar.
Un drum se numete simplu dac nu utilizeaz de dou ori acelai arc, adic toate arcele
drumului sunt distincte dou cte dou, iar n caz contrar este compus.
1 2 3
6 5 4
1
2
3 4
5 6 7

3
Un drum elementar este i simplu, dar reciproca nu este adevrat.
Un graf parial este graful G
1
= ( X , U
1
) obinut din graful G = ( X , U) dac se suprim cel puin
un arc, U
1
c U.
Exemplul nr. 8.3.
n fig. nr. 8.3. drumul d = [X
2
, X
3
, X
2
, X
4
, X
2
] este simplu, dar nu este elementar.











Fig. nr. 8.3.

Un drum se numete eulerian dac este simplu i trece prin toate arcele grafului.
Un drum se numete hamiltonian dac este elementar i trece prin toate vrfurile grafului,
deci dac trece numai o dat prin fiecare din vrfurile grafului.
Un graf orientat G = ( X , U ) se numete hamiltonian dac exist un circuit elementar
care trece prin toate vrfurile grafului, iar un astfel de circuit se numete circuit hamiltonian.
Subgraful generat de o mulime de vrfuri A X al unui graf G = ( X , U ) este graful
G
A
= ( A , U
A
),
unde:
U
A
= { u
i
u
i
= ( x , y ), x e A , y e A , u
i

e U },

deci, este graful cu mulimea de vrfuri A i mulimea arcelor compuse din toate arcele grafului G
care au ambele extremiti n A.
Un graf este tare conex dac ntre oricare dou vrfuri distincte ale grafului exist un drum.
O component tare conex a unui graf G = ( X , U ) este un subgraf G
A
al lui G care este
tare conex i care este maximal n raport cu incluziunea fa de aceast proprietate, adic ( ) x e
X - A, subgraful lui G generat de A U { x } nu mai este tare conex.
Dou vrfuri x
i
,
x
j
e X ale grafului G = ( X , U ) se numesc echivalente,
x
i
x
j

, dac exist un drum de la x
i
la x
j
i unul de la x
j
la x
i
.
Aceasta relatie ( ) este reflexiv,
simetric i tranzitiv, deci este relaie de echivalen. Clasele de echivalen determinate de aceast
relaie de echivalen sunt componentele tare conexe: G
A1
, G
A2
, ... , G
Ak
ale lui G, care verific:

A
i
A
j
= u , i = j , A
i
, A
j
= u ; i, j = 1, 2, ... , k.
A
i
i
k
=1
U
= X
Pentru graful orientat G = ( X , U ) se definete o funcie l:
l : U R
+
{ 0 }
care asociaz fiecrui arc u valoarea sa l(u) care poate avea semnificaia concret de distan dintre
extremitile arcului u, durata trecerii de la extremitatea iniial la extremitatea terminal a arcului
u, costul trecerii de la extremitatea iniial la extremitatea terminal a arcului u, capacitatea arcului

1 3
2 4

4
respectiv etc. Lungimea unui drum este egal cu numrul arcelor sale. Valoarea unui drum este
suma valorilor arcelor care l compun. Distana minim dintre dou vrfuri ale grafului G este
lungimea minim a valorii drumurilor care unesc cele dou vrfuri. Lungimea, n sensul de valoare,
unui arc poate fi interpretat n diferite moduri: fie ca o distan euclidian, fie ca un timp asociat
unei anumite operaii care se desfoar ntre dou evenimente marcate prin cele dou extremiti
ale unui arc, fie ca un cost asociat unei operaii reprezentate printr-un arc al unui graf.
Pentru graful G = (X , U) se definete matricea conexiunilor (tranziiilor), numit i matrice
de adiacen:
( )
ij
a A = , i, j = 1, 2, ..., n;

e
e
=
U X X daca
U X X daca
a
j i
j i
ij
) , ( , 0
) , ( , 1


8.3. METODE DE PLANIFICARE, PROGRAMARE I CONTROL N REEA.
METODA DRUMULUI CRITIC

Metodele teoriei grafurilor se pot utiliza n managementul prin proiecte. Un proiect este
reprezentat de o mulime de operaii sau activiti specifice, a cror nlnuire este n funcie de
dependenele tehnologice impuse i conduce la atingerea unui obiectiv, a unui scop dinainte
precizat. Un proiect sau o lucrare orict de complex, poate fi descompus n lucrri simple sau
operaii denumite activiti i n etape denumite evenimente care marcheaz sfritul sau nceputul
activitilor. Evenimentele se reprezint prin vrfuri (noduri) ntr-un graf reea, iar activitile prin
arce sau sgei ale grafului reea. Astfel, un proiect sau o lucrare orict de complex se reprezint
printr-un graf reea format din vrfuri i arce.
Conducerea unui proiect prin metodele drumului critic se realizeaz n dou etape: etapa de
programare i etapa de control.
Etapa de programare const n analiza timpului, costului i resurselor, iar fiecare dintre
acestea are dou faze: stabilirea informaiei iniiale, de intrare (reeaua proiectului, duratele,
costurile i resursele activitilor) i determinarea unui program optim (programarea timpului,
determinarea drumului critic).
Etapa de control const n compararea periodic a realizrilor de pe teren cu cele
programate i dac sunt diferene se revizuiete programul, se actualizeaz, se elaboreaz un nou
program.
Principalele metode de drum critic sunt: CPM, PERT, CPM/COST, PERT/COST, MPM.
Problemele de drum critic se pot rezolva pe calculator cu programele Qsb, Dsspom, Microsoft
Project, Oracle Primavera i alte programe.

8.3.1. METODA CPM

Metoda CPM Critical Path Method a aprut n 1957 n SUA i se utilizeaz la conducerea
unor proiecte cu durata activitilor bine cunoscute, deci deterministe. Structura proiectului de
condus este reprezentat printr-un graf (o reea) cu activitile pe arce, fiecrei activiti asociindu-
i-se o singur valoare, durata sa fix. O lucrare orict de complex poate fi descompus n lucrri
(operaii) simple denumite activiti i n etape denumite evenimente care marcheaz sfritul sau
nceputul activitilor. Evenimentele se reprezint prin vrfuri (noduri), iar activitile prin arce n
graful reea.
Se vor prezenta cteva reguli de ntocmire a reelelor de drum critic.
1. Modul de reprezentare a activitilor i evenimentelor:

1 A 2
t
1 2
5

unde: 1, 2 sunt evenimente (noduri);
A denumirea activitii;
t durata activitii.
2. Activitile se reprezint n ordine tehnologic sau logic. Activitile pot fi succesive,
cnd se niruie n ordine tehnologic sau simultane (paralele) n cazul n care pornesc din
acelai evenimente, se desfoar paralel n timp.
Activiti succesive:

A 2 B 3
t
1
t
2

Activiti simultane (paralele):

A B
t
1
t
2


t
3
C

D
4 5
t
4

3. O activitate nu poate ncepe nainte ca activitatea precedent s se fi terminat.
Activitile sunt de trei feluri:
- activiti propriu-zise, consum timp i resurse;
- ateptri, consum numai timp;
- activiti fictive, nu consum nici resurse, nici timp , t = 0 . Activitile fictive au un rol
logic, se utilizeaz pentru elimina anumite confuzii i se reprezint prin arce ntrerupte,
linie punctat.

. . .. . . .

4. Nu este permis existena circuitelor n nici o reea de drum critic.
5. O reea trebuie s posede un singur nod iniial i un singur nod final.
6. Orice alt nod n afar de cel iniial i cel final trebuie s posede cel puin o activitate
precedent i cel puin o activitate urmtoare.

Termenele evenimentelor
Se consider o reea de drum critic cu evenimentele notate de la 1 la n. Pentru fiecare
eveniment al reelei se pot calcula dou termene:
- termenul minim al evenimentului j , notat T
Ej
, E de la Early (n englez) devreme,
curnd, reprezint termenul cel mai devreme de realizare a evenimentului j i este egal cu
lungimea (valoarea) drumului maxim ales dintre toate drumurile care duc de la
evenimentul iniial 1 la evenimentul j, adic:
T
Ej
= max{L(D
1j
)} (8.6)

unde D
1j
este un drum oarecare de la evenimentul iniial 1 la evenimentul j, iar L(D
1j)
este
valoarea (lungimea) sa. Prin valoarea unui drum se va nelege suma duratelor activitilor
componente ale drumului.
- termenul maxim al evenimentului j, notat T
Lj
, L de la Late (n englez) trziu,
reprezint termenul cel mai trziu admisibil de realizare a evenimentului j, astfel ca durata
minim a proiectului s nu fie depit (durata minim a proiectului este T
En
). Rezult c
2
4 5
1
2
3
2
3
2
2 1
6
termenul maxim T
Lj
este egal cu diferena dintre durata total a proiectului T
En
i durata
drumului cel mai lung care duce de la evenimentul j la evenimentul final n, deci:

T
Lj
= T
En
- max{L(D
jn
)} (8.7)
sau
T
Lj
= min {T
En
- L(D
jn
)} .
Deci, pentru a-l obine pe T
Lj
se parcurge reeaua n sens invers, de la evenimentul final n la
evenimentul j, scznd din durata minim T
En
a proiectului lungimea fiecrui drum D
jn
(parcurs n
sens invers) i alegnd cel mai mic rezultat.
Evenimentele pentru care T
Ej
= T
Lj
sunt critice i nu admit nici o amnare, aceste
evenimente determinnd drumul critic.
Toate celelalte evenimente admit o ntrziere maxim egal cu T
Lj
- T
Ej
.

Termenele i rezervele de timp ale activitilor

Fiecrui activiti (i, j) i corespund patru termene:
- termenul minim de ncepere T
S
min
(i, j);
- termenul minim de terminare T
F
min
(i, j);
- termenul maxim de ncepere T
S
max
(i, j);
- termenul maxim de terminare T
F
max
(i, j).
Termenul minim de ncepere al activitii (i, j) este egal cu termenul minim al evenimentului i:

T
S
min
(i, j) = T
Ej
= max{L(D
1j
)}



Termenul minim de terminare al activitii (i, j) , T
F
min
(i, j) , este egal cu termenul minim de
ncepere adunat cu durata sa t
ij
:

T
F
min
(i, j) = T
S
min
(i, j) + t
ij


Termenul maxim de terminare al activitii (i, j) , T
F
max
(i, j) , este egal cu termenul maxim
al evenimentului j:

T
F
max
(i, j) = T
Lj
= min {T
En
- L(D
jn
)}

Termenul maxim de ncepere al activitii (i, j) , T
S
max
(i, j) , este egal cu termenul maxim de
terminare al activitii (i, j) minus durata activitii t
ij
:

T
S
max
(i, j) = T
F
max
(i, j) t
ij


Rezervele sau marjele de timp ale unei activiti (i, j) sunt:
- rezerva total R
T
(i, j);
- rezerva liber R
L
(i, j);
- rezerva intermediar R
I
(i, j);
- rezerva sigur sau independent R
S
(i, j).
Rezerva total a activiti (i, j), notat R
T
(i, j), reprezint intervalul de timp maxim cu care se
poate mri durata t
ij
fr ca durata total a proiectului s fie depit.

R
T
(i, j) = T
Lj
(T
Ej
+ t
ij
) = T
F
max
(i, j) - T
F
min
(i, j)

O activitate (i, j) este critic dac rezerva sa total este zero:

R
T
(i, j) = 0
7

Consumarea rezervei totale a activitii (i, j) R
T
(i, j) implic anularea rezervelor activitilor
precedente i ale celor urmtoare activitii (i, j).
Rezerva sau marja liber a activitii (i, j) , notat R
L
(i, j), reprezint intervalul de timp
maxim cu care se poate mri durata t
ij
, fr ca durata total a proiectului s fie depiti fr s se
anuleze rezervele activitilor urmtoare ale activitii (i, j).
R
L
(i, j) = T
Ej

Consumarea rezervei libere R
L
(i, j) conduce la anularea rezervelor activitilor precedente
activitii (i, j).
Rezerva intermediar a activitii (i, j) , notat R
I
(i, j), reprezint intervalul de timp maxim
cu care se poate mri durata activitii (i, j), notat t
ij
, fr s se depeasc durata total a
proiectului i fr s se anuleze rezervele activitilor precedente.
R
I
(i, j) = T
Lj
(T
Li
+ t
ij
)
Consumarea rezervei intermediare R
I
(i, j) conduce la anularea rezervelor activitilor
urmtoare activitii (i, j).
Rezerva sigur sau independent R
S
(i, j) este intervalul de timp maxim cu care poate fi
mrit durata t
ij
fr a depi durata total a proiectului i fr a afecta n vreun fel rezervele
celorlalte activiti. .
R
S
(i, j) = max {T
Ej
(T
Li
+ t
ij
), 0}

8.3.2. METODA PERT Program Evaluation and Review Technique

Metoda PERT a fost elaborat n SUA n laboratoarele marinei militare americane, n 1958.
Metoda PERT se utilizeaz n conducerea proiectelor din domeniul cercetrii i dezvoltrii, la care
duratele activitilor sunt cunoscute cu un grad mare de imprecizie, considernd duratele
activitilor ca variabile aleatoare. Aceast metod utilizeaz reele cu activitile pe arce, durata
fiecrei activiti fiind evaluat prin trei estimri: pesimist, cea mai probabil i optimist.
Durata optimist a activitii (i, j), notat a
ij
, corespunde cazului cnd exist condiiile cele
mai favorabile pentru desfurarea activitii.
Durata cea mai probabil a activitii (i, j), notat m
ij
, este estimarea cu cea mai mare ans
de realizare n condiii normale de lucru.
Durata pesimist a activitii (i, j), notat b
ij
, este intervalul de timp maxim de realizare a
activitii (i, j), corespunztor mprejurrilor cele mai defavorabile de execuie, excluznd
calamitile naturale.
Pentru fiecare activitate (i, j) sunt verificate inegalitile:

0 < a
ij
s m
ij
s b
ij

Variabila aleatoare t
ij
este durata activitii (i, j) i verific inegalitile:
0 < a
ij
s t
ij
s b
ij

Utiliznd cele trei estimri ale activitii (i, j): pesimist, cea mai probabil i optimist, t
ij

se calculeaz ca o medie ponderat cu relaia (8.8).


6
. 4
ij ij ij
ij
b m a
t
+ +
= (8.8)
Dispersia este (8.9).

2
2
6
|
|
.
|

\
|
=
ij ij
ij
a b
o (8.9)
Durata fiecrei activiti se va calcula cu relaia (8.8) i se va scrie pe arcul corespunztor al reelei,
iar n continuare se procedeaz ca la metoda CPM pentru determinarea drumului critic.
Durata total a proiectului T
e
este o variabil aleatoare cu media i dispersia egale cu suma
mediilor i respectiv dispersiilor duratelor activitilor critice componente.
8
1
8
5 3
2 4 7
6

2
3
P
2
C B
M
D
4
O
H
5
I
10
F
E
6
A
G
8
6
N J
3
3 4

e
=
DC j i
ij e
t T
) , (
(8.10)

e
=
DC j i
ij
) , (
2 2
o o (8.11)
S-a notat cu DC drumul critic determinat i cu T
e
timpul (durata) estimat.
Se poate determina probabilitatea de realizare a unui proiect utiliznd factorul de probabilitate Z i
tabelele corespunztoare.

2
o
e pl
T T
Z

= (8.12)
T
pl
reprezint termenul (durata) planificat al proiectului, T
e
este durata estimat cu (8.10).

Exemplul nr. 8. 5.
Problem de drum critic metoda CPM.
Un proiect determinist are structura, activitile i evenimentele n graful reea din figura nr. 8.6. Se
cere s se determine durata minim a proiectului i drumul critic. Se va rezolva cu programele Qsb
i Dsspom.









Fig. nr.8.6.

Din rezolvarea cu programul Qsb rezult durata minim a proiectului este 24 uniti de timp.
Sunt dou drumuri critice formate din activitatile:
DC1: A, F, G, I, M, N, D ;
DC2: A, F, G, C, D.

Exemplul nr. 8.6.
Problem de drum critic n tabelul nr.8.1. metoda PERT. Graful reea corespunztor este n
fig.nr.8.7. Se va rezolva cu programele Qsb i Dsspom.
Din rezolvarea cu programul Qsb rezult durata minim a proiectului este 39 uniti de timp.
9
Sunt dou drumuri critice formate din activitatile:
DC1:A4, B4, A6, O1, E4, F2, H6, I12, J1, K2;
DC2: A4, C2, E4, F2, H6, I12, J1, K2.
Tabelul nr. 8.1.
Nr. Activitate Noduri a
ij
m
ij
b
ij
1 A
4
(1, 2) 3 4 6
2 B
4
(2, 3) 2 4 5
3 A
6
(3, 4) 1 2 3
4 C
2
(2, 5) 3 6 8
5 E
4
(5, 6) 3 4 5
6 F
2
(6, 7) 1 2 3
7 G3 (6, 8) 2 3 5
8 H
6
(7, 9) 5 6 7
9 I
12
(9, 10) 10 12 13
10 J
1
(10, 11) 1 2 4
11 K
2
(11, 12) 2 3 4
12 O
1
(4, 5) 0 0 0
13 O
2
(8, 9) 0 0 0

Fig. nr. 8.7.

3. Metoda CPM/COST
Parametrii analizai de metoda CPM/COST sunt timpul i costul, iar aplicarea acestei
metode are ca scop minimizarea costului total al proiectului n baza unei relaii de dependen
liniar ntre costul i durata unei activiti.
4. Metoda PERT/COST
10
Metoda PERT/COST este o dezvoltare a metodei PERT, care, pe lng parametrul timp,
analizeaz i parametrul cost.
5. Metoda MPM Metra Potential Method (Metodes des Potentiels Metra)
Metoda MPM a fost dezvoltat n Frana de Bernard Roy n 1958 i utilizeaz reele cu
activitile situate pe noduri, fiecare nod reprezentnd o activitate, iar evenimentele pe arce.

8.2. Determinarea drumurilor hamiltoniene minime

Se consider graful G,
G =( X, U ) ,
X = { x
1
, x
2
, ... , x
n
} ,
U = {(x
i
, x
j
) x
i
, x
j
e X },
Valoarea (lungimea) arcelor din graful considerat poate reprezenta timpul de prelucrare sau costul
prelucrrii unor piese. Problema se rezolv prin determinarea drumurilor hamiltoniene n graful G
considerat i alegerea celui de lungime minim.
Se poate rezolva problema determinrii drumurilor hamiltoniene cu algoritmul lui
FOULKES cu care n prima faz se determin componentele tare conexe ale grafului G.
Calculele ce se fac folosesc operatiile + si din algebra Boole {0 , 1} :
0 + 0 = 0 ; 0 0 = 0 (8.3)
0 + 1 = 1 ; 0 1 =0
1 + 0 = 1 ; 1 0 = 0
1 + 1 = 1 ; 1

1 = 1
De fapt + corespunde disjunciei (sau), iar corespunde conjunciei (i) din logica matematic
bivalent.
a) Algoritmul lui FOULKES
1. Se scrie matricea boolean A a grafului G, G = (X , U ) :
A = ( a
ij
) , i,j = 1, 2, ...,n.

e
e
=
U X X daca
U X X daca
a
j i
j i
ij
) , ( , 0
) , ( , 1

2. Fie
M = A + E ,
unde E este matricea unitate de ordinul n, iar adunarea este boolean.
Deci:
E =
|
\

|
.
|
|
|
|
1 0 0
0 1 0
0 0 1
...
...
... ... ... ...
...

Matricea M se ridic la puteri succesive pn cnd dou puteri consecutive ale lui M sunt egale.
Dac n este mare, se caut k minim :
2
k
< n , astfel nct:

2
k
2
k-1

11
M = M (8.4)

nmulirea matricelor se face tot n sens boolean.
2
k

3. n matricea M se suprim liniile de rang i
1
, i
2
, . . . ,i
p
care sunt formate numai cu cifra 1 i
coloanele corespunztoare care sunt formate numai cu cifra 0 i se obin astfel vrfurile: X
i1
,
X
i2
, . . . ,X
ip
care formeaz prima clas de echivalen G
M1
( component tare conex).
4. Dac M
R
este matricea rmas din matricea M dup suprimarea liniilor i coloanelor la
etapa 3, se aplic etapa 3. lui M
R
, iar dac nu este posibil, se aplic etapele 2 i 3 ,
determinnd a doua clas de echivalen G
M2
. Procedeul continu pn se obin toate clasele
de echivalen ale grafului G: G
M1
, G
M2
, . . . ,G
Mm
, iar pentru vrfurile fiecrei clase de
echivalen G
Mi
, i = 1, 2, . . . ,m , se traseaz arcele care pstreaz incidenele din graful G.
b) Determinarea drumului hamiltonian minim

1. Se aplic algoritmul lui Foulkes pentru a se determina
componentele tare conexe ale grafului G considerat.
2. ntre vrfurile acestor componente se consider incidenele lor din graful G .
3.Trecnd succesiv de la o component conex la alta, se stabilesc toate drumurile
hamiltoniene ale grafului G .
4. Pentru drumurile hamiltoniene determinate se calculeaz :


e
=
DH j i
ij
t T
) , (
min min
(8.5)
sau

e
=
DH j i
ij
c C
) , (
min min

Suma se ia pentru ( X
i
, X
j
) e DH
Unde
DH = drumul hamiltonian,
se obine drumul hamiltonian de lungime minim (timp total minim sau sau cost total minim).
Exemplul nr. 8. 4.

Se presupune c trebuie prelucrate n = 7 piese P
1
, P
2
, , P
7
pe o main, iar la trecerea de la
prelucrarea piesei P
i
la prelucrarea piesei P
j
se consum timpul t
ij
, t
ij
> 0 ; i, j =1, 2, . . . , 7, i = j ,
urmrindu-se minimizarea timpului total de nefuncionare a mainii. Se va asocia acestei probleme
un graf orientat G, fig. nr.8.4,

G = (X , U ) ,
X = {x
1
, x
2
, . . . , x
7
} ,
U = { u
1
, u
2
, . . . , u
m
},

ale crui vrfuri x
i
, i = 1, 2, . . . , 7; sunt cele 7 piese, iar valoarea (lungimea) arcului de la vrful
P
i
la vrful P
j
este t
ij
,
l (P
i
, P
j
) = t
ij
, i, j =1, 2,. . . , 7; i = j.
Problema determinrii succesiunii optime de prelucrare a celor 7 piese se reduce la problema
determinrii drumului hamiltonian minim n graful G considerat, deci se aplic algoritmul lui
Foulkes.
12
Matricea boolean (de adiacen, a tranziiilor) a grafului G este A. Se calculeaz matricea M, M
2
,
M
4
, M
5
.
Din calcul rezult M
4
= M
5
, vrfurile 2, 3, 6 au n matricea M
4
liniile corespunztoare 2, 3, 6
formate din elemente egale cu 1 i coloanele formate numai din elemente egale cu 0, exceptnd
elementele de la intersecia acestora, care sunt 1, rezult prima component tare conex este format
din vrfurile 2, 3, 6., C
1
= G
M1
= {2, 3, 6}.

|
|
|
|
|
|
|
|
|
.
|

\
|
=
0 0 1 0
0 0 0 0
1 0 0 0
1 0 1 0
0
1
0
0
0
1
0
0
0
0
0
1
0 1 0 0 0 0 0
0 1 1 0 1 0 1
0 0 0 1 0 0 0
A ,
|
|
|
|
|
|
|
|
|
.
|

\
|
=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0
0
0
0
0
0
0
0
0
0
0
0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
E ,

M = A + E =
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
0 1 0 0
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
0
0
1
0 1 0 0 1 0 0
0 1 1 0 1 1 1
0 0 0 1 0 0 1
,
M
2
= M . M =
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
0 1 0 0
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
0
0
1
0 1 0 0 1 0 0
0 1 1 0 1 1 1
0 0 0 1 0 0 1
.
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
0 1 0 0
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
0
0
1
0 1 0 0 1 0 0
0 1 1 0 1 1 1
0 0 0 1 0 0 1
=
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
0 1 1 0
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
1
0
1
0 1 0 0 1 1 0
1 1 1 1 1 1 1
1 0 1 1 0 0 1

M
4
= M
2
. M
2
=
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
0 1 1 0
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
1
0
1
0 1 0 0 1 1 0
1 1 1 1 1 1 1
1 0 1 1 0 0 1
.
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
0 1 1 0
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
1
0
1
0 1 0 0 1 1 0
1 1 1 1 1 1 1
1 0 1 1 0 0 1
=
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
1 1 1 1
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
1
0
1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 0 1 1 0 0 1

13
1
2 5
4 7
3 6





1
2
5
4
7
3
6



M
5
= M
4
. M
1
=
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
1 1 1 1
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
1
0
1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 0 1 1 0 0 1
.
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
0 1 0 0
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
0
0
1
0 1 0 0 1 0 0
0 1 1 0 1 1 1
0 0 0 1 0 0 1
=
|
|
|
|
|
|
|
|
|
.
|

\
|
1 0 1 0
1 1 1 1
1 0 1 0
1 0 1 1
0
1
0
0
0
1
0
0
0
1
0
1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 0 1 1 0 0 1
= =
M
4


Se elimin (taie) din matricea M
4
liniile i coloanele 2, 3, 6 i rezult matricea M
1
. n
matricea M
1
liniile 1, 2 care corespund vrfurilor 1 i 4 au toate elementele egale cu 1 i coloanele
corespunztoare au elementele 0, exceptnd cele de la intersecie, deci se obine a doua component
tare conex C
2
= G
M2
= {1, 4}. Se suprim (taie) liniile i coloanele 1, 2 din M
1
care corespund
vrfurilor 1 i 4, rezult matricea M
2
.

|
|
|
|
|
.
|

\
|
=
1 1 0 0
1 1 0 0
1 1 1 1
1 1 1 1
1
M ,
|
|
.
|

\
|
=
1 1
1 1
2
M
Rezult a treia component tare conex C
3
= G
M3
= {5, 7}. Dac se reaeaz vrfurile grafului din
fig. nr. 8.4 dup componentele tare conexe la care aparin, graful dat se va reprezenta ca n fig.
nr.8.5. Se determin drumul de lungime minim.


12
5
10 9 4 3 10
14
11
9
11

8

Fig. Nr. 8.4.





8 11 10 12
3 10
9
5 4


9 14 11

Fig. Nr.8.5.
14
Un drum se numete hamiltonian dac trece numai o dat prin fiecare din vrfurile grafului.
Din fig. nr.8.5. rezult dou drumuri hamiltoniene:
- primul drum trece prin vrfurile: 3, 6, 2, 1, 4, 7, 5 i are lungimea l(D
1
) ,
l(D
1
) = 8 + 9 + 5 + 9 + 11 + 10 = 52 u.t.;
- al doilea drum trece prin vrfurile: 3, 6, 2, 1, 4, 5, 7 i are lungimea l(D
2
) ,
l(D
2
) = 8 + 9 + 5 + 9 + 4 + 3 = 38, deci drumul hamiltonian de lungime minim este D
2
.
Trebuie prelucrate n = 7 piese P
1
, P
2
, , P
7
pe o main, iar la trecerea de la prelucrarea piesei P
i
la prelucrarea piesei P
j
se consum timpul t
i j
, t
i j
> 0 ; i , j =1, 2, . . . , 7, i = j , iar minimizarea
timpului total de nefuncionare a mainii se realizeaz dac se prelucreaz astfel: P
3
, P
6
, P
2
, P
1
, P
4

, P
5
, P
7
.

8.4. Grafuri neorientate

Un graf neorientat este un sistem G = (X , U) , cu X o mulime de elemente numite vrfurile
grafului U i o mulime de perechi neordonate de vrfuri.
Un element din mulimea U se numete muchie. O muchie se mai noteaz [X
i
, X
j
] sau ) , (
j i
X X
pentru a o deosebi de arcul (X
i
, X
j
) dintr-un graf orientat. Reprezentarea geometric a muchiilor
unui graf neorientat se deosebete de cea a arcelor prin faptul c lipsete orientarea de la arce.
Un graf neorientat se mai noteaz G = (X, U ) pentru a nu fi confundat cu graful orientat G =
(X , U).
Deci, n cazul grafurilor neorientate n comparaie cu grafurile orientate, se vorbete de muchii n
loc de arce, de lan n loc de drum, de ciclu n loc de circuit.
Oricrui drum ntr-un graf orientat i corespunde un lan ntr-un graf neorientat, dar nu oricrui lan
i corespunde un drum.
Orice circuit este un ciclu, dar nu i invers.
Un graf neorientat este conex dac ntre oricare dou vrfuri distincte ale sale exist cel puin un
lan.
Un graf orientat tare conex este conex, dar reciproca nu este adevrat.
Drumuri de valoare optim n grafuri

Pentru graful G = (X , U) se consider matricea conexiunilor (tranziiilor), numit i matrice
de adiacen:
( )
ij
a A = , i, j = 1, 2, ..., n;

e
e
=
U X X daca
U X X daca
a
j i
j i
ij
) , ( , 0
) , ( , 1

Graful G este valorizat dac exist o funcie l,

l: U R
+
{ } 0
l(u
i
) = l((X
i
, X
j
)) = v
ij
, ( ) (X
i
, X
j
) e U (8.13)
v
ij
>0
Valoarea v
ij
se numete valoarea arcului (X
i
, X
j
) , poate avea semnificaia de cost, durat, distan
etc.
Drumul d n graful G, d = (u
1
, u
2
, , u
p
) are valoarea egal cu suma valorilor arcelor care l
compun, deci:
L(d) =

=
p
k
k
u l
1
) (
15
Dou vrfuri sunt adiacente dac sunt distincte i sunt unitate printr-un arc. Dou arce sunt
adiacente dac sunt distincte i au o extremitate comun. Dac un vrf nu este extremitatea nici unui
arc el este numit vrf izolat.
Se consider: mulimea B
2
= {0, 1}, operaiile i definite n tabelele nr. 8.2 i nr.8.3, care
formeaz algebra Boole (B
2
, , ).
Tabelul nr. 8. 2
0 1
0 0 1
1 1 1
Tabelul nr. 8. 3
0 1
0 0 0
1 0 1

Se noteaz cu
k
A puterea k a matricii A n algebra Boole (B
2
, , ), k N e , k>2; i cu A
k

puterea k a matricii A n corpul numerelor reale (R, +, .), k N e , k>2 , adic cu operaiile + i .
obinuite.
) (k
A = (
) (k
ij
a ) , k = 2, 3, ...; i, j = 1, 2, , 5;
) (
) ( ) ( k
ij
k
a A = , k = 2, 3, ...; i, j = 1, 2, , 5;
Pentru k = 2,
2
A se interpreteaz astfel:
- n matricea
2
A linia i arat existena drumurilor de lungime 2 (compuse din 2 arce) de la X
i

la vrfurile n coloanele crora apare 1 pe aceast linie;
- n matricea
2
A coloana j arat existena drumurilor de lungime 2 incidente interior n X
j
i
venind de la vrfurile pe a cror linie apare 1 n aceast coloan.
n mod analog se interpreteaz n matricile
3
A ,
4
A , ...,
k
A pentru drumurile de lungime 3, 4,
..., k.
n A
k
, puterea k a matricii A n corpul numerelor reale (R, +, .), k N e , k>2 , se dau
cteva valori lui k.
Pentru k = 2, A
2
= (a
ij
(2)
) se interpreteaz astfel:
- linia i arat numrul drumurilor distincte (elementare sau nu) de lungime 2 (formate din 2
arce) de la X
i
la fiecare din vrfurile grafului, deci a
ij
(2)
reprezint numrul drumurilor de
lungime 2 de la X
i
la X
j
;
- coloana j conine numrul drumurilor distincte (elementare sau nu) de lungime 2 care ajung
n X
j
venind din vrfurile grafului, deci a
ij
(2)
reprezint numrul drumurilor din X
i
n X
j
de
lungime 2.
n mod analog se interpreteaz n matricile A
3
, A
4
, , A
k
pentru drumurile de lungime 3, 4, , k.
Matricile
3
A ,
4
A , ...,
k
A se pot obine prin calcul direct n algebra Boole (B
2
, +, .) sau din
matricile A
3
, A
4
, , A
k
punnd 1 n loc de a
ij
(k)
> 1.
Dac n vrful X
i
exist o bucl, atunci pe diagonala principal a
ii
= 1.

Teorema 1
Dac un graf nu are circuite, atunci exist pentru care

A = O , deci i

A = O.
(O matricea zero).

Dac X
i
este un vrf care particip la formarea unui circuit de lungime 2 (elementar sau nu) ,
atunci la intersecia liniei i cu coloana i pe diagonala principal vom avea 1 n matricea
2
A , deci
a
ii
(2)
= 1, circuitul respectiv pornete din X
i
i ajunge tot n X
i
.
16
n mod analog n matricea
3
A pentru vrfurile X
i
care particip la circuite, elementare sau nu, de
lungime 3, a
ii
(3)
= 1, n matricea
4
A pentru circuitele de lungime 4 avem a
ii
(4)
= 1.
n general n matricea A
k
se va gsi pe diagonala principal n dreptul fiecrui vrf X
i
, numrul
circuitelor de lungime k (elementare sau nu) la care acesta particip.

Exemplul nr. 8.7.
Se consider graful definit de matricea A:


|
|
|
|
|
|
.
|

\
|
=
1
0
0
0
1
1
0
1
0
1
0 0 0 1 1
1 0 0 0 1
1 1 0 0 0
A
Se va desena graful corespunztor.
n vrful X
5
exist o bucl, a
55
= 1.
Se calculeaz
2
A ,
3
A ,
4
A i A
2
, A
3
, A
4
.

2
A = A A =
|
|
|
|
|
|
.
|

\
|
1
1
0
1
1
0
1
1
1
1
1 1 0 0 1
1 1 1 0 0
1 0 1 1 1


3
A = A A A =
2
A A =
|
|
|
|
|
|
.
|

\
|
1
1
1
1
1
1
1
1
1
1
1 1 1 1 1
1 0 1 1 1
1 1 1 1 1


4
A = A A A A =
3
A A =
|
|
|
|
|
|
.
|

\
|
1
1
1
1
1
1
1
1
1
1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1


A
2
= A . A =
|
|
|
|
|
|
.
|

\
|
1
2
0
1
1
0
1
1
1
2
2 1 0 0 1
2 1 1 0 0
1 0 2 1 1

17
A
3
= A . A . A = A
2
. A =
|
|
|
|
|
|
.
|

\
|
3
5
1
2
1
3
1
1
2
2
3 1 3 1 1
2 0 3 2 2
3 1 1 2 3


A
4
= A . A . A . A = A
3
. A =
|
|
|
|
|
|
.
|

\
|
9
8
2
2
4
7
2
5
3
6
5 1 4 4 5
6 2 2 3 5
8 3 4 2 4

Coeficienii care nu aparin diagonalelor acestor matrici ridicate la diverse puteri ne dau informaii
despre drumuri, iar cei de pe diagonale despre circuite.
Astfel, n exemplul considerat, exemplul nr. 8.7, avem:
- n matricea
2
A avem:
) 2 (
11
a =
) 2 (
44
a =
) 2 (
55
a = 1 , deci vrfurile X
1
, X
4
, X
5
particip la
cte un circuit de lungime 2, vrful X
1
particip la circuitul elementar: [X
1
, X
4
, X
1
], vrful
X
4
particip la circuitul elementar: [X
4
, X
1
, X
4
], circuitul din X
5
se parcurge de 2
ori bucla sa ;
- n matricea A
2
, a
13
(2)
= 2, deci exist 2 drumuri de lungime 2 de la X
1
la X
3
,
d
1
= [X
1
, X
4
, X
3
] , d
2
= [X
1
, X
5
, X
3
];
- n matricea
3
A avem:
) 3 (
11
a =
) 3 (
22
a =
) 3 (
33
a =
) 3 (
44
a =
) 3 (
55
a = 1 , deci toate vrfurile
grafului considerat particip la circuite de lungime 3;
- n matricea A
3
, a
11
(3)
= 3, vrful X
1
particip la 3 circuite de lungime 3:
[X
1
, X
5
, X
3
, X
1
], [X
1
, X
4
, X
3
, X
1
], [X
1
, X
4
, X
2
, X
1
]; la fel: a
15
(3)
= 3, deci din X
1
n X
5

exist 3 drumuri de lungime 3:
d
1
= [X
1
, X
4
, X
2
, X
5
],
d
2
= [X
1
, X
3
, X
2
, X
5
],
d
3
= [X
1
, X
4
, X
3
, X
5
].
Matricile
k
A , k >4, sunt pline (toate elementele sunt egale cu 1), ceea ce nseamn c graful G
este tare conex.
Drumuri de valoare minim

Se consider graful finit G = (X , U).
Graful G este valorizat, exist o funcie l,

l: U R
+
{ } 0
l(u
i
) = l((X
i
, X
j
)) = v
ij
, ( ) (X
i
, X
j
) e U
v
ij
>0
Valoarea v
ij
se numete valoarea arcului (X
i
, X
j
) , poate avea semnificaia de cost, durat, distan
etc.
Se noteaz :
E = R
+
{ } { } 0

ab = a + b (8.14)
ab = min {a, b}
a = a = , ) ( a, b eE , a < .
Operaiile i se extind pentru matrici ptrate cu coeficieni din E.
Se formeaz matricea B.
18

B = (b
ij
) , i, j = 1, 2, ..., n;

=
e
e
=
j i dac
U X X dac
U X X dac v
b
j i
j i ij
ij
, 0
) , ( ,
) , ( ,
(8.15)

Teorema 2

Dac se consider graful G = (X , U) , orientat i finit, n care se ataeaz fiecrui arc (X
i
,
X
j
) eU, valoarea sa l((X
i
, X
j
)) = v
ij
, se formeaz matricea B = (b
ij
) conform relaiei (8.15) care se
ridic la puterea k conform relaiilor (8.14), atunci B
k
conine toate valorile minime ale drumurilor
formate din cel mult k arce, aezate la ncruciarea liniei vrfului din care ncepe drumul cu coloana
celui n care se termin (k<n, n = numrul vrfurilor grafului).
Observaii
- Drum de valoare minim (infinit) nseamn drum inexistent.
- Matricea
B
k
= (b
ij
(k)
)
are semnificaia :
b
ij
(k)
= valoarea drumului minim de la X
i
la X
j
format din cel mult k arce.
- Drumurile obinute prin aceast metod sunt elementare (drumul se numete elementar dac
nu utilizeaz de dou ori acelai vrf).
- Operaiile (8.14) sunt asociative, deci se poate scurta calculul prin calcularea succesiv a
puterilor lui B : B
2
, B
4
, B
8
etc.
- Teorema este aplicabil att grafurilor cu circuite, ct i celor fr circuite.
- Dac exist un drum d
ij
de valoare minim de la X
i
la X
j
, atunci principiul optimalitii ne
spune c dac X
k
, X
l
ed
ij
, atunci tronsonul dintre X
k
i X
l
al lui d
ij
are valoare minim n
mulimea drumurilor dintre X
k
i X
l
.
- Teorema este valabil i pentru grafuri neorientate, dar avem v
ij
= v
ji
i n enun se
nlocuiesc arcele cu muchiile i drumurile cu lanuri .
- ncepnd de la un anumit k<n , avem B
k
= B
k+1
= B
k+2
= . . . , deoarece se epuizeaz toate
posibilitile de a uni prin drumuri cu valoare minim vrfurile grafului.
- Matricea B
k
d valorile minime ale tuturor drumurilor posibile n graf ntre orice perechi de
vrfuri, indiferent de lungimile lor (numrul arcelor care le compun).
Teorema 2 ofer numai valorile minime ale drumurilor grafului, nu ofer algoritmul de identificarea
drumurilor de valoare minim. (Se pot utiliza algoritmii Ford, Bellman-Kalaba etc.).
Algoritmul pentru identificarea drumurilor de valoare minim se poate enuna astfel:
1. se formeaz matricea B utiliznd relaiile (8.15), se calculeaz B
2
utiliznd relaiile
(8.14), iar n matricea B
2
se scot n eviden valorile finite aprute n plus sau
distincte de cele din matricea B i se noteaz indicele de preceden (prin ce vrf
intermediar trece drumul) , reprezentnd drumuri de valoare minim i de lungime
doi (formate din dou arce), care au originea n vrful dat de linia matricii i cu
extremitatea vrful dat de coloana n care se gsete valoarea determinat;
2. dac sunt doi su mai muli indici de preceden pentru aceeai valoare, sunt mai
multe drumuri minime distincte prin vrful intermediar corespunztor;
3. valorile rmase nemarcate sunt ale tranziiilor ntre extremitile crora nu exist
drumuri de lungime doi cu valoare mai mic dect a tranziiei;
4. se calculeaz B
3
= B
2
B , B
4
= B
3
B , ..., B
k+1
= B
k
B , keN
*
etc. pn
cnd dou puteri consecutive ale lui B coincid. Puterile matricii B se calculeaz n
tabel , ntr-o csu n partea superioar este trecut drumul sau drumurile, iar n
partea inferioar a csuelor este trecut valoarea minim a drumului.
19

Exemplul nr. 8.8.
Se consider graful G = (X, U) din figura nr. 8.9. cu valorile arcelor notate pe figur.
X = {x
1
, x
2
, x
3
, x
4
, x
5
, x
6
}. Trebuie determinat matricea drumurilor de valoare minim ale
grafului.

Se scrie matricea B folosind relaiile (8.15).
Se calculeaz B
2
utiliznd relaiile (8.14) i se va scrie tabelar n tabelul nr. 8.4.
n matricea B
2
din tabelul nr.8.4. , b
(2)
13
= 14 n loc de b
13
= din matricea B i s-a subliniat
valoarea 14, iar deasupra s-a scris 2 , deoarece:
b
(2)
13
= 14 = min (0 + , 4 + 10 , + 0, + 2, + 4, 20 + ) ,
14 = 4 + 10 = b
12
+ b
23
,
deci x
2
l precede pe x
3
n drumul de la x
1
la x
3
, d
13
, d
13
= [x
1
, x
2
, x
3
] .

Fig. Nr. 8.9

|
|
|
|
|
|
|
.
|

\
|




=
0
12
1
0
8
4
15
0
4
2
6 22 0 2
16 5 10 0
20 4 0
B
Tabelul nr. 8.4. Matricea B
2
.

0

4
2
14
6
24
2
9
2
20, 20



0
5
9
5, 6
20

5
3
16



2

0
6
10
2, 6
7

6


3
4

2

0

8
3
8


3
6

4

15

0
3
10




5
5

4

1

0

20
De la x
1
la x
6
sunt dou drumuri, unul este arcul (x
1
, x
6
), iar al doilea drum trece prin x
2
. Pe
linia 1 n matricea B, b
16
= 20, iar n matricea B
2
, b
(2)
16
= 20 i s-a subliniat valoarea 20 i
deasupra s-a scris 2 , deoarece drumul d
16
= [x
1
, x
2
, x
6
] trece prin x
2
.
Pe linia 2 n matricea B, b
24
= , deci nu exist arc de la x
2
la x
4
, iar n matricea B
2
, b
(2)
24
= 20
i s-a subliniat valoarea 20 i deasupra s-au scris numerele 5, 6, deoarece exist dou drumuri de
valoare minim 20 de la x
2
la x
4
, care trec prin x
5
, respectiv x
6
.
Drumul d
24
= [x
2
, x
5
, x
4
] trece prin x
5
, iar al doilea drum d
1
24
= [x
2
, x
6
, x
4
] trece prin x
6
.
Valoarea b
(2)
24
= 20 s-a obinut cu relaiile (8.14) prin nmulirea liniei 2 din B cu coloana 4 a lui
B, astfel:
b
(2)
24
= 20 = min ( + , 0 + , 10 + 22, + 0, 5 +15, 16 + 4 ).
b
25
= 5, b
54
= 15, deci primul drum trece prin x
5
;
b
26
= 16, b
64
= 4, deci al doilea drum trece prin x
6
.
Se calculeaz cu relaiile (8.14) matricea B
3
n tabelul nr.8.5.

B
3
= B
2
B

Tabelul nr. 8.5. Matricea B
3
.

0

4
2, 5
13
2,5;2, 6; ; 6
24
2
9
2; 2, 3
20, 20



0
5
9
3,6;5; 6
20

5
3
16, 16



2

0
6
10
2, 6
7

6


3
4

2

0

8
3
8


3
6

4
3, 6
14

0
3
10


5, 3
7
5
5

4

1

0

Se calculeaz cu relaiile (8.14) matricea B
4
n tabelul nr.8.6.
B
4
= B
3
B

Tabelul nr. 8.6. Matricea B
4
.

0

4
2, 5
13
2,5;2, 6; ; 6
24
2
9
2; 2, 3
20, 20



0
5
9
3,6;5; 6
20

5
3
16, 16



2

0
6
10
2, 6
7

6


3
4

2

0

8
3
8


3
6

4
3, 6
14

0
3
10


5, 3
7
5
5

4

1

0

Se calculeaz cu relaiile (8.14) matricea B
5
n tabelul nr.8.7.
B
5
= B
4
B = B
3 .
B
2






21
Tabelul nr. 8.7. Matricea B
5
.

0

4
2, 5
13
2,5, 3, 6
23
2
9
2, 5, 3
19



0
5
9
5, 3,6
19

5
5, 3
15



2

0
6
10
2, 6
7

6


3
4

2

0

8
3
8


3
6

4
3, 6
14

0
3
10


5, 3
7
5
5

4

1

0

Se calculeaz cu relaiile (8.14) matricea B
6
.
B
6
= B
5
B = B
4 .
B
2
= B
5

Calculul se ncheie, deoarece B
6
= B
5

Matricea valorilor minime ale drumurilor elementare existente n graful considerat n figura nr.
8.9 i traseele drumurilor minime sunt n tabelul nr. 8.7.
Drumuri de valoare maxim

Se consider graful finit G = (X , U).
Graful G este valorizat, exist o funcie l,

l: U R
+
{ } 0
l(u
i
) = l((X
i
, X
j
)) = v
ij
, ( ) (X
i
, X
j
) e U

v
ij
>0
Valoarea v
ij
se numete valoarea arcului (X
i
, X
j
), poate avea semnificaia de cost, durat, distan
etc.
Se noteaz :
E = R
+
{ } { } 0

ab = a + b (8.16)
ab = max {a, b}
a (- ) = (- ) a = - , ) ( a, b eE , a > - .
Operaiile i se extind pentru matrici ptrate cu coeficieni din E.
Se formeaz matricea B.

B = (b
ij
) , i, j = 1, 2, ..., n;

=
e
e
=
j i dac
U X X dac
U X X dac v
b
j i
j i ij
ij
, 0
) , ( ,
) , ( ,
(8.17)

Teorema 3
Dac se consider graful G = (X , U) , orientat i finit, n care se ataeaz fiecrui arc (X
i
,
X
j
) eU, valoarea sa l((X
i
, X
j
)) = v
ij
, se formeaz matricea B = (b
ij
) conform relaiei (8.17) care se
ridic la puterea k conform relaiilor (8.16), atunci B
k
conine toate valorile maxime ale drumurilor
22
formate din cel mult k arce, aezate la ncruciarea liniei vrfului din care ncepe drumul cu coloana
celui n care se termin (k<n, n = numrul vrfurilor grafului).
Observaii

- Drum de valoare maxim - (- infinit) nseamn drum inexistent.
- Teorema 3 este aplicabil pentru determinarea tuturor valorilor maxime ale drumurilor
elementare ntr-un graf fr circuite.
- Teorema 3 ofer numai valorile maxime ale drumurilor grafului, nu ofer algoritmul de
identificarea drumurilor de valoare maxim. (Se pot utiliza algoritmii Ford, Bellman-Kalaba
etc.).
- Algoritmul pentru identificarea drumurilor de valoare maxim se poate enuna astfel:
1. se formeaz matricea B utiliznd relaiile (8.17), se calculeaz B
2
utiliznd relaiile
(8.16), iar n matricea B
2
se scot n eviden valorile finite aprute n plus sau
distincte de cele din matricea B i se noteaz indicele de preceden (prin ce vrf
intermediar trece drumul) , reprezentnd drumuri de valoare maxim i de lungime
doi (formate din dou arce), care au originea n vrful dat de linia matricii i cu
extremitatea vrful dat de coloana n care se gsete valoarea determinat;
2. dac sunt doi su mai muli indici de preceden pentru aceeai valoare, sunt mai
multe drumuri maxime distincte prin vrful intermediar corespunztor;
3. valorile rmase nemarcate sunt ale tranziiilor ntre extremitile crora nu exist
drumuri de lungime doi cu valoare mai mare dect a tranziiei;
4. se calculeaz B
3
= B
2
B , B
4
= B
3
B , ..., B
k+1
= B
k
B , keN
*
etc. pn
cnd dou puteri consecutive ale lui B coincid. Puterile matricii B se calculeaz n
tabel , ntr-o csu n partea superioar este trecut drumul sau drumurile, iar n
partea inferioar a csuelor este trecut valoarea maxim a drumului.

Exemplul nr. 8.9.

Se consider graful G = (X, U) din figura nr. 8.10. cu valorile arcelor notate pe figur.
X = {x
1
, x
2
, x
3
, x
4
, x
5
, x
6
, x
7
, x
8
}. Trebuie determinat matricea drumurilor de valoare maxim
ale grafului.

Fig. Nr. 8.10

Se scrie matricea B folosind relaiile (8.17) .
23
|
|
|
|
|
|
|
|
|
|
.
|

\
|




























=
0
1
2
0
4 0
3 5
4
0
1 0 2
3 0
3 2 1 0
2 3 3 0
B

Se calculeaz B
2
utiliznd relaiile (8.16) i se va scrie tabelar n tabelul nr. 8.8.

Tabelul nr. 8.8. Matricea B
2
.

0

3
4
4
2
4
2
5
2
6
5, 6
11

-

-

0
4
3

1
4
2, 2
5
7
6
7
6
5

-

-

0

-

-

-

3
7
4

-

-

2

0

1
5
6
3
5
7
5

-

-

-

-

0

5

-
6
7

-

-

-
-

-

-

4
7
5

-

-

-

-

-

-

0

1

-

-

-

-

-

-

-

0

n matricea B
2
din tabelul nr.8.8. , b
(2)
13
= 4 n loc de b
13
= 3 din matricea B i s-a subliniat
valoarea 4, iar deasupra s-a scris 4 , s-a obinut cu relaiile (8.16) prin nmulirea liniei 1 din B cu
coloana 3 a lui B, deoarece:
b
(2)
13
= 4 = max (0 + 3, 3 - , 3 + 0, 2 + 2, - - , - - , - - , - - ) ,
4 = 2 + 2 = b
14
+ b
43
,
deci x
4
l precede pe x
3
n drumul de la x
1
la x
3
, d
13
,
d
13
= [x
1
, x
4
, x
3
]
Pe linia 2 n matricea B, b
23
= - , deci nu exist arc de la x
2
la x
3
, iar n matricea B
2
, b
(2)
23
= 3
i s-a subliniat valoarea 3 i deasupra s-a scris numrul 4, deoarece drumul de valoare maxim 3
de la x
2
la x
3
, trece prin x
4
.
Drumul d
23
= [x
2
, x
4
, x
3
] trece prin x
4
. Valoarea b
(2)
23
= 3 s-a obinut cu relaiile (8.16) prin
nmulirea liniei 2 din B cu coloana 3 a lui B, astfel:
b
(2)
23
= 3 = max (- + 3, 0 - , - + 0, 1+ 2, 2 - , 3 - , - - , - - ).
b
24
= 1, b
43
= 2, deci drumul trece prin x
4
.
n matricea B
2
, b
(2)
32
= - , deci nu exist nici arc, nici drum de lungime doi (format din
dou arce), de la vrful x
3
la x
2
.
Analog se calculeaz cu relaiile (8.16) matricea B
3
, reprezentnd drumuri de valoare maxim i de
lungime trei (formate din trei arce), care au originea n vrful dat de linia matricii i cu extremitatea
vrful dat de coloana n care se gsete valoarea determinat.

B
3
= B
2
B

24
Tabelul nr. 8.9. Matricea B
3
.

0

3
2, 4
6
2
4
2; 2, 4
5
2, 5
10
2, 6
10
2, 6; 2,5
8

-

0
4
3

1
4
2, 2
5; 4, 5
7
6
7
5; 6
9

-

-

0

-

-

-

3
7
4

-

-

2

0

1
5
6
5, 6
10
5, 6
8

-

-

-

-

0

5
6
9
6, 7
10

-

-

-
-

-

-

4
7
5

-

-

-

-

-

-

0

1

-

-

-

-

-

-

-

0

Analog se calculeaz cu relaiile (8.16) matricea B
4
, reprezentnd drumuri de valoare maxim i de
lungime patru (formate din patru arce), care au originea n vrful dat de linia matricii i cu
extremitatea vrful dat de coloana n care se gsete valoarea determinat.
.
B
4
= B
2
B
2
etc.

S-ar putea să vă placă și