Documente Academic
Documente Profesional
Documente Cultură
DRUMURI HAMILTONIENE
DISTANTE MINIME
ALGORITMI MATRICEALI
Daca notiunea de conexitate intr-un graf orientat este
definita cu ajutorul conceptului de lant, notiunea de tare
conexitate se va defini cu ajutorul conceptului de drum.
Definitia 1 Un graf G = (V,U) se numeste tare conex
daca are proprietatea ca pentru oricare doua varfuri distincte
x,y exista un drum de la x la y si un drum de la y la x.
Altfel zis, oricare doua varfuri din graful orientat sa se
afle pe un circuit.
Matricea drumurilor unui graf tare conex are toate
elementele egale cu unu.
Definitia 2 Se numeste componenta tare conexa a
unui graf orientat
6
1
Fig.1
Componentele tare conexe sunt: C1={1,2,3,4};C2={5};
C3={6}.
Propozitia 1
conexe distincte si varfurile x,y din C1, x',y' din C2. Daca exista
un drum dx,x', atunci nu va mai exista un drum dy',y.
2
are toate
xim = x j1
2)
4
Fig. 2
comutativa.
Tranzitiile din graf se vor dispune sub forma unui
tablou (matrice latina).
A(0)
1
2
2,1
3,1
3,2
4,1
4,2
1,4
1,5
2,5
4,3
5,3
1
2
5
5
3
3
astfel:
A(2)
143
1
142
153
253
214
215
321
314
315
325
421
432
431
5
531
415
425
532
A(3)
1
-
1432
1425
2143
1532
2531
2153
3
3142
4321
3214
3215
4215
4153
4253
4315
4325
5321
5314
3
14253
25314
5
14325
31425
42531
41532
42153
43215
53142
53214
A(5)
real
((x i , x j )) daca ( xi , x j ) U
a[i, j ] = 0 daca i = j
(1 i,j n)
daca ( x , x ) U
i
j
0 daca i = j
a [i, j ] = min i, j
(1i,j n)
altfel
*
A ( k ) (i , j ) =
A( k 1) (i, j ), daca i = k sau j = k
0, daca i = j
(1 i, j n)
(1i , j , k n)
Cunoscand varfurile vecine (in sens invers orientarii
drumului) pentru orice drum de lungime minima din graf,
acesta se poate reconstitui usor.
Exemplul 4 Sa consideram urmatorul graf:
2
2
4
1
Fig. 6
12
1
x1
x1
x1
x2
x2
x2
x2
x3
x3
x3
x4
x4
x4
x5
x5
3
4
5
x6
6
Matricea initiala D(0)
Matricea A(2)
Pentru a calcula, de exemplu, elementul
A(2)(1,3),
1
x1
x1
x2
x2
x2
x2
x2
x2
x2
x3
x3
x3
x4
x4
x4
x5
x5
4
5
x6
6
14
3
4
5
6
1
x1
x1
x2
x3
x3
x2
x2
x3
x3
x3
x3
x3
x4
x4
x4
x5
x5
4
5
6
x6
15
Matricea D(3)
(Se va tine seama de matricea T3(A(2)) si D(2))
A(4)
10
x1
x1
x2
x3
x3,x4
x4
x2
x2
x3
x3,x4
x4
x3
x3
x3,x4
x4
x4
x4
x4
x5
x5
2
3
4
5
6
x6
(3)
(3)
3
4
5
6
16
D(5)
1
1
x1
x1
x2
x3
x3,x4
x5
x2
x2
x3
x3,x4
x5
x3
x3
x3,x4
x5
x4
x4
x5
x5
x5
3
4
5
6
x6
Matricea D(5)
A(6)
x1
x1
x2
x3
x3,x4
x5
x2
x2
x3
x3,x4
x5
x3
x3
x3,x4
x5
x4
x4
x5
x5
x5
2
3
4
5
6
x6
Matricea D(6)=D*
17
Descrierea algoritmului
p1. Se determina in matricea distantelor directe A,
minimul dintre distantele directe a[1,2], a[1,3], ,a[1,n].
Daca acest minim se realizeaza, de exemplu, pentru un indice
i0, adica
a[1,io] =
min{a[1,k] / k = 2,3,,n},
atunci
mult un numar de 2
q = (n 1)(n 2) comparari si
cel
q =1
n 2
mult un numar de
q =
q =1
(n 1)(n 2)
adunari .
2
20
A(1)
21
este a*[1,3] =
a[1,3] = 3 .
Continuand rationamentul, se vor obtine urmatoarele
matrice:
1
A(2)
Se vede ca a*[1,4] = 5.
(3)
10
(4)
22
( x k1 , x j ), ( x k2 , x j ),..., ( x ks , x j )
sunt
ultimele
arce
din
indici
se va repeta
Tematica propusa
1
Roy-Floyd
si Yen.
6 Aplicati algoritmul lui Yen pe graful ponderat cu
urmatoarea matrice a costurilor:
10
25
Verificati-va cunostintele:
-1 Gradul exterior al unui varf x dintr-un graf orientat
este definit prin:
a) + (x)
b) (x )
c) + (x)
d) + (x) .
-2 Cate grafuri orientate complete de ordin n 5 (n
numar natural ) exista?
n
n
2
a) 1 ; b) 2 ; c) ; d) 3
2
26
27