Documente Academic
Documente Profesional
Documente Cultură
http://adl.anmb.ro
Grafuri.
Definiii.
Matrici
asociate
grafurilor. Drumuri. Drumuri hamiltoniene
Timp mediu de studiu: 2 ore
Sarcini de nvare: Prin parcurgerea acestei uniti de studiu, studentul va fi capabil s
ordonat ( x, y ) se numete arc n care nodul x este predecesorul nodului y iar nodul y
este succesorul nodului x .
Definiia 4 Fie graful G = ( X , ) i xi , x j X . Mulimea U = ( xi , x j ) | x j xi se numete
( X ,U )
i deci
Definiia 5 Graful G = ( X , ) se numete graf orientat dac exist cel puin un arc
( x , x ) U
i
cu proprietatea c ( x j , xi ) U .
Observaia 1 Un graf orientat este bine determinat de nodurile i arcele sale. Deoarece de
cele mai multe ori grafurile vor fi orientate vom nelege prin graf un graf orientat. Atunci
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
cnd graful va fi neorientat vom preciza explicit acest fapt. n continuare vom presupune
c grafurile sun finite.
graful este definit de mulimea X = {x1 , x2 ,K, xn } i de mulimile succesorilor fiecrui vrf
x2 = { x1 , x3 , x4 } ,
x3 = {x1 , x2 , x3} ,
x4 = {x1 , x4 } .
2. Reprezentare sagital
Un graf G = ( X , ) se reprezint grafic n plan n felul urmtor: fiecare element al lui
X este reprezentat printr-un punct n plan. Dac y x , atunci punctul care reprezint x
este legat de punctul care reprezint y printr-o sgeat orientat de la x la y .
Exemplul 2 O reprezentarea sagital a grafului din exemplul 1 este:
x1
x2
x4
x3
Figura 1
U
( i j)
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Exemplul 3 Matricea de adiacen a grafului din exemplul 1 este:
x1 x2 x3 x4
x1 0
x2 1
A=
x3 1
x4 1
1
0
1
0
0
1 .
0
1
1
1
0
cu
numrul
de
noduri,
care
pentru
fiecare
i = 1,2,K, n
j = 1,2,K, n ,
xi x j daca ( xi , x j ) U
.
lij =
daca
x
,
x
U
( i j)
x4 x4 x1
x2
x3
x1 x2
x3 x2
x1 x3
x2 x3
x3 x3
x4
x2 x4 .
x4 x4
( )
i =1,2,K,n
j =1,2,K,n
ptratic, de dimensiune
j = 1,2,K, n ,
x j daca ( xi , x j ) U
.
lij =
daca ( xi , x j ) U
Exemplul 5 Matricea latin redus asociat grafului din exemplul 1 este:
x1 x2
x1
x x
L% = 2 1
x3 x1
x4 x1
x2
x2
x3
x4
x3
x3
x3
x4 .
x4
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
matricei L .
Exemplul 6 Pentru graful din exemplul 1 semigrafurile interioare sunt:
U x1 = {( x2 , x1 ) , ( x3 , x1 ) , ( x4 , x1 )} ,
U x2 = {( x1 , x2 ) , ( x3 , x2 )} ,
U x3 = {( x1 , x3 ) , ( x2 , x3 ) , ( x3 , x3 )} ,
U x4 = {( x2 , x4 ) , ( x4 , x4 )} .
Exemplul 7 Pentru
U x+1 = {( x1 , x2 ) , ( x1 , x3 )} ,
U x+4 = {( x4 , x1 ) , ( x4 , x4 )} .
( )
xk = card U xk .
Exemplul 8 Pentru graful din exemplul 1 semigradele interioare ale nodurilor sunt x1 = 3 ,
x2 = 2 , x3 = 3 , x4 = 2 .
( )
cu proprietatea
( x , x ) U
ij
i j +1
( )
xi j +1 xi j
pentru fiecare
j {1,2,K, k 1}
(x
i1
, K , xik
j = 1,2,..., ( k 1) .
Observaia 2 Un drum este o succesiune de arce dac este format din mai multe vrfuri
n care extremitatea unuia coincide cu originea urmtorului.
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Observaia 3 Un drum de la x la y este un drum de forma ( x,K, y ) . Pot fi mai multe
drumuri de la x la y sau poate s nu existe nici unul.
Definiia 18 Un drum de la x la x se numete circuit.
Definiia 19 Lungimea unui drum este dat de numrul arcelor care l compun. Bucla
este un circuit de lungime 1.
Definiia 20 Un drum este subdrum al unui drum dac vrfurile consecutive ale lui
sunt vrfuri consecutive i n .
Definiia 21 Un drum este elementar dac nu trece mai mult de o singur dat prin nici
un vrf (dac nu constituie un circuit ca subdrum).
Definiia 22 Un drum este simplu dac nu parcurge de dou ori acelai arc.
Observaia 4 Un drum elementar este n acelai timp un drum simplu.
Definiia 23 Un drum este hamiltonian dac este elementar i trece prin toate vrfurile
grafului.
Definiia 24 Un drum simplu se numete eulerian dac conine toate arcele grafului.
Observaia 5 n definiia noiunilor de drum, circuit, intervine i orientarea arcelor din graful
respectiv.
Definiia 25 Se numete putere de atingere a unui nod xk X n graful G = ( X , )
numrul de noduri la care se poate ajunge din nodul xk . Puterea de atingere a nodului xk
se noteaz cu p ( xk ) i evident p ( xk ) x+k .
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
U ( y )()x X
(1)
y1x
yA
compoziie G = ( X , ) , = 2 1 i G = ( X , ) , = 1 2 .
x1
x2
x4
x3
Figura 2
2 : X P ( X ) , 2 x1 = {x2 } , 2 x2 = {x1 , x3 , x4 } , 2 x3 = { x1 , x4 } , 2 x4 = .
Reprezentarea sagital a grafului G2 = ( X , 2 ) este dat n figura 3.
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
x1
x2
x4
x3
Figura 3
x1 = 2 1 x1 = U 2 y = 2 x2 U 2 x4 = {x1 , x3 , x4 } U = { x1 , x3 , x4 } ,
y1 x1
x2 = 2 1 x1 = U 2 y = U 2 y = ,
y
y1 x2
x3 = 2 1 x3 = U 2 y =
U 2 y = 2 x1 U 2 x2 =
y1 x3
y{ x1 , x2 }
y1 x4
y{ x3}
{ x2 } U { x1 ,
x3 , x4 } = {x1 , x2 , x3 , x4 } ,
x4 = 21 x4 = U 2 y = U 2 y = 2 x3 = {x1 , x4 } .
Reprezentarea sagital a grafului G = ( X , ) este dat n figura 4.
x1
x2
x4
x3
Figura 4
Fie acum G = ( X , ) , = 1 2 .
x1 = 12 x1 = U 1 y = U 1 y = 1 x2 =
y2 x1
x2 = 1 2 x2 = U 1 y =
y 2 x2
x3 = 1 2 x3 = U 1 y =
y2 x3
y{ x2 }
y{ x1 , x3 , x4 }
y{ x1 , x4 }
1 y = 1 x1 U 1 x4 =
{ x2 , x4 } U {x3} = {x2 , x3 ,
x4 } ,
x4 = 1 2 x4 = U 1 y = U 2 y = .
y 2 x4
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
x1
x2
x4
x3
Figura 5
Folosim
= ( 3 2 ) 1 .
Pentru
egalitatea
x X
U Ai =
U U Ai .
i B j
j I
au
ji iB j
loc
Fie
= 3 ( 2 1 )
egalitile:
i
=
x = U 3 y = U 3 y = U U 3 y = U 3 2 z = ( 3 2 ) 1 xx .
y 2 1 x
y2 z
zx1 y 2 z
z1x
z x
1
Observaia 12 Perechea ( x, y ) este arc n G2G1 dac exist z X astfel ncat ( x, z ) s fie
arc n G1 iar ( z , y ) s fie arc n G2 .
Datorit asociativitii produsului de compoziie a grafurilor se poate vorbi de
produsul unui numr finit arbitrar de grafuri. n particular se poate defini graful G k = ( X , k )
unde G = ( X , ) . Pentru aceasta lum 0x = x, ( ) x X i k = k 1 .
Teorema 2 Fie grafurile G1 = ( X , 1 ) i G2 = ( X , 2 ) . Atunci G2G1 = G1G2 .
( G2G1 )1 z = ( 21 )1 z . Fie
y1 x0
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Definiia 41 Fie grafurile G1 = ( X , 1 ) i G2 = ( X , 2 ) . Se numete intersecie a grafurilor
G1 i G2 graful G1 G2 = ( X , 1 2 ) unde ( 1 2 ) x = 1 x I 2 x pentru orice x X .
Observaia 14 Arcul ( x, y ) este un arc n G1 G2 dac i numai dac este arc n cel puin
unul din grafurile G1 , G2 . Arcul ( x, y ) este un arc n G1 G2 dac i numai dac este arc n
2 : X P ( X ) , 2 x1 = { x2 } , 2 x2 = { x1 , x3 , x4 } , 2 x3 = { x1 , x4 } , 2 x4 = .
Fie G = G1 G2 = ( X , 1 2 ) , = 1 2 . Au loc egalitile:
x1 = 1 x1 U 2 x1 = { x2 , x4 } U { x2 } = { x2 , x4 } ,
x2 = 1 x2 U 2 x2 = U { x1 , x3 , x4 } = { x1 , x3 , x4 } ,
x3 = 1 x3 U 2 x3 = { x1 , x2 } U { x1 , x4 } = { x1 , x2 , x4 } , x4 = 1 x4 U 2 x4 = { x3} U = { x3}
Fie
acum
G = G1 G2 = ( X , 1 2 ) ,
= 1 2
x1 = 1 x1 I 2 x1 = { x2 , x4 } I { x2 } = { x2 } ,
Au
loc
egalitile:
x2 = 1 x2 I 2 x2 = I { x1 , x3 , x4 } = ,
x3 = 1 x3 I 2 x3 = { x1 , x2 } I { x1 , x4 } = { x1} , x4 = 1 x4 I 2 x4 = { x3} I = .
( y, x ) U .
( x, y ) U
rezult
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Definiia 49 Subgraful G1 = ( X 1 ,U1 ) al grafului orientat G = ( X ,U ) se numete
component tare conex dac:
1. Pentru orice x , y X 1 exist un drum de la x la y i un drum de la y la x .
toate vrfurile x j X
cu
Vom redenumi vrfurile mulimii X = {x1 , x2 ,K, xn } cu respectiv 1,2,K ,n . Fie vectorul
succesorilor denumit suc cu n componente iniializate cu 0 i vectorul predecesorilor
denumit pred cu n componente iniializate cu 0 . Componenta suc[i ] reprezint vrful
succesor al vrfului i iar componenta pred [i ] reprezint vrful predecesor al vrfului i .
Fie nrc numrul de componente tare conexe ale grafului. Descrierea algoritmului n
pseudo C cod este:
start
for (i=1;i<=n;i++)
// Iniializare vectori suc i pred
suc[i]=pred[i]=0;
end for
nrc=1;
// Exist cel puin o component tare conex
for (i=1;i<=n;i++)
// Pentru fiecare vrf
if (suc[i]==0)
then
for (j=1;j<=n;j++)
if ( x j este successor al lui xi && suc[j]==0)
then
suc[j]=nrc; // Inclusiv suc[i]=nrc
end if
if ( x j este predecessor al lui xi && pred [j]==0)
then
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
10
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
pred[j]=nrc; // Inclusiv pred[i]=nrc
end if
end for
for (j=1;j<=n;j++)
if (suc[j] != pred[j])
then
suc[j]=pred[j]=0;
end if
end for
nrc++;
end for
for (i=1;i<nrc;i++)
for (j=1;j<=n;j++)
if (suc[j]==i)
then
write j n componenta tare conex i
end if
end for
end for
write nrc-1 componente tare conexe
end
Exemplul
14
Considerm
graful
X = {x1 , x2 , x3 , x4 , x5 , x6 , x7 } ,
G = ( X ,U ) ,
U = {( x1 , x2 ) , ( x2 , x3 ) , ( x3 , x1 ) , ( x1 , x4 ) , ( x6 , x4 ) , ( x5 , x4 ) , ( x5 , x7 ) , ( x7 , x5 )} .
Vom
determina
1
0
0
2
0
0
3
0
0
4
0
0
5
0
0
6
0
0
7
0
0
Tabelul 1
Se fac atribuirile:
nrc = 1
i =1
Nodul x1 are succesorii x1 , x2 , x3 , x4 i predecesorii x1 , x2 , x3 .
Deoarece suc[1] == 0 se face atribuirea suc[1] = nrc , adic suc[1] = 1 .
Deoarece suc[2] == 0 se face atribuirea suc[2] = nrc , adic suc[2] = 1 .
Deoarece suc[3] == 0 se face atribuirea suc[3] = nrc , adic suc[3] = 1 .
Deoarece suc[4] == 0 se face atribuirea suc[4] = nrc , adic suc[4] = 1 .
Deoarece pred [1] == 0 se face atribuirea pred [1] = nrc , adic pred [1] = 1 .
Deoarece pred [2] == 0 se face atribuirea pred [2] = nrc , adic pred [2] = 1 .
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
11
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Deoarece pred [3] == 0 se face atribuirea pred [3] = nrc , adic pred [3] = 1 . Vectorii suc i
pred actualizai sunt prezentai n tabelul 2:
i
suc
pred
1
1
1
2
1
1
3
1
1
4
1
0
5
0
0
6
0
0
7
0
0
6
0
0
7
0
0
Tabelul 2
Deoarece suc[4] pred [ 4] se face atribuirea suc[4] = pred [ 4] = 0 .
Vectorii suc i pred actualizai sunt prezentai n tabelul 3:
i
suc
pred
1
1
1
2
1
1
3
1
1
4
0
0
5
0
0
Tabelul 3
Se fac atribuirile:
nrc = 2
i =2
Deoarece nodul x2 nu satisface proprietatea suc[2] == 0 , se incrementeaz i :
i = 3
1
1
1
2
1
1
3
1
1
4
2
2
5
0
2
6
0
2
7
0
2
Tabelul 4
Deoarece suc[ j ] pred [ j ] pentru j = 5,6,7 , se fac atribuirile suc[ j ] = pred [ j ] = 0 pentru
j = 5,6,7 . Vectorii suc i pred actualizai sunt prezentai n tabelul 5:
i
suc
pred
1
1
1
2
1
1
3
1
1
4
2
2
5
0
0
6
0
0
7
0
0
Tabelul 5
Se fac atribuirile:
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
12
nrc = 3
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
i =5
Nodul x5 satisface proprietatea suc[5] == 0 . Succesorii nodului x5 sunt x5 i x7 . Nodul x7
satisface proprietatea
suc[7] == 0
i se fac atribuirile
1
1
1
2
1
1
3
1
1
5
3
3
4
2
2
6
0
0
7
3
3
Tabelul 6
Deoarece nu exist j cu proprietatea suc[ j ] pred [ j ] vectorii suc i pred nu se modific.
Se fac atribuirile:
nrc = 4
i =6
Nodul x6 satisface proprietatea suc[6] == 0 . Succesorii nodului x6 sunt x6 i x4 . Nodul x6
satisface proprietatea suc[6] == 0 i se face atribuirea suc[6] = nrc , adic suc[6] = 4 . Nodul
x4 nu satisface proprietatea suc[4] == 0 i nu se face atribuirea suc[4] = nrc . Nodul x6 are
predecesorul x6 i pred [6] == 0 . Se face atribuirea pred [6] = nrc , adic pred [6] = 4 .
Vectorii suc i pred actualizai sunt prezentai n tabelul 7:
i
suc
pred
1
1
1
2
1
1
3
1
1
4
2
2
5
3
3
6
4
4
7
3
3
Tabelul 7
Deoarece Deoarece nu exist j cu proprietatea suc[ j ] pred [ j ] vectorii suc i pred nu
se modific. Se fac atribuirile:
nrc = 5
i =7
Deoarece suc[7] 0 se incrementeaz i , care devine egal cu 8 > n == 7 . n acest moment
au fost determinate nrc 1 == 4 componente tare conexe. Acestea se citesc din tabelul 7.
Din suc[i ] == pred [i ] == 1 , pentru i = 1,2,3 , rezult componenta tare conex { x1 , x2 , x3} . Din
suc[4] == pred [4] == 2 , rezult componenta tare conex
{ x4 } .
pentru i = 5,7 , rezult componenta tare conex { x5 , x7 } . Din suc[6] == pred [6] == 4 , rezult
componenta tare conex { x6 } .
Continum prezentarea noiunilor fundamentale ale teoriei grafurilor.
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
13
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Definiia 49 Fie graful G = ( X , ) , x X i C x mulimea format din x i din toate
celelalte vrfuri legate prin lanuri de x . Subgraful determinat de C x este conex; un astfel
de subgraf se numete component conex a grafului G . Un graf este conex dac are o
singur component conex.
Se poate arta c x C y dac i numai dac y C x dac i numai dac C x = C y i
dac C x C y atunci C x I C y = , U C x = X .
xX
Deci dac exist mai multe submulimi distincte C x ale lui X , atunci acestea
formeaz o partiie a lui X .
Grafurile de care ne vom ocupa vor fi conexe. Acesta este cazul interesant n
practic. Dac un anumit fenomen este modelat printr-un graf neconex, proprietile care
ne intereseaz sunt studiate pentru fiecare component conex a acestuia luat ca un
graf de sine stttor.
Definiia 52 Fie G = ( X , ) un graf. Spunem c y este succesor a lui x sau c x este un
predecesor a lui y dac exist un drum de la x la y . Dac exist un drum format din k
arce de la x la y se spune c y este succesor de ordinul k a lui x , sau c x este
predecesor de ordinul k a lui y .
Observaia 17 Graful G k = ( X , k ) este graful succesorilor de ordinul k pentru graful
G = ( X , ) n sensul c x k
graful G . De asemenea x
graful G .
x n
)
)
x mulimea x = U x k ,
k =0
( )
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
14
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
{ x1 , x2 ,
1 daca ( xi , x j ) U
j =1,2,K,n
matricea C = ( cij )i =1,2,K,n cu cij = aij +& bij este tot o matrice boolean i se numete suma
j =1,2,K,n
{0,1}
&
Figura 6
Observaia 21 Pe mulimea {0,1} operaia & coincide n nmulirea obinuit a & b = a b .
Operaiile +& i & sunt distributive una fa de cealalt. Notm cu
Dac
A = ( aij )i =1,2,K,n
j =1,2,K,n
B = ( bij )i =1,2,K,n
n
&
a
i =1
sunt
matrice
booleene,
atunci
matricea
j =1,2,K,n
n
&
C = ( cij )i =1,2,K,n , cij = aik & bkj este tot o matrice boolean numit produsul boolean al
j =1,2,K,n
k =1
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
15
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Teorema 4 Dac A i B sunt matricele booleene asociate grafurilor G1 = ( X ,U1 ) i
respectiv G2 = ( X , U 2 ) , atunci matricea A & B este matricea boolean asociat lui G2G1 .
Teorema 5 Dac A i B sunt matrici booleene, atunci matricea A & B se obine din
produsul obinuit A B prin nlocuirea n aceasta din urm a tuturor elementelor nenule cu
1.
Demonstraie: Este suficient s artm c matricile A & B i A B au aceleai elemente
nule. Acest fapt rezult din echivalena
n
&
a
k =1
Presupunem c
n
&
a
k =1
rezult c
ik
a
k =1
b =0 .
ik kj
& bkj = 0 . Rezult c max {aik bkj } = 0 de unde aik bkj = 0 i de aici
1 k n
&
dac i numai dac
ik bkj = 0
a
k =1
ik kj
aik bkj = 0 pentru orice k = 1, 2,K , n i de aici max {aik bkj } = 0 din care se obine c
1 k n
n
&
a
k =1
ik
& bkj = 0 .
Definiia 56 Fie A o matrice boolean. Produsul de k factori A & A & L & A se numete
&
puterea boolean k a matricei A i se noteaz cu Ak . Elementul de pe linia i i coloana
&
( k& )
j din matricea Ak se noteaz cu aij .
Teorema 6 Fie graful G = ( X , ) . Dac A este matricea boolean asociat grafului
( xi , xk ) U
( x , x ) U
nseamn c aik = 1 i akj = 1 i de aici aik & akj = 1 din care rezult
n
&
a
k =1
ik
ceea ce
2&
2&
2&
aij( ) = 1 , ceea ce arat c fiecare element nenul aij( ) din matricea A( ) indic existena unui
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
16
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
avea n acest caz un drum de la xi pn la prima apariie a lui xk , i un drum de la ultima
apariie a lui xk la x j . Eliminnd toate nodurile dintre prima apariie a lui xk i ultima
apariie a sa vom obine un drum de la xi la x j , n care xk apare o singur dat. Aplicnd
acest procedeu pentru toate nodurile care apar de mai multe ori pe un drum, vom obine
un drum de la xi la x j , n care fiecare nod apare o singur dat (deci un drum elementar),
care are evident cel mult n 1 arce. n concluzie, dac exist vreun drum de la xi la x j
atunci exist i un drum elementar i, deci, va exista o putere a lui A , ntre A i An 1 , n
care poziia ( i, j ) este diferit de 0 . Pentru deciderea existenei unui drum ntre oricare
dou noduri este suficient, deci, calcularea doar a primelor n 1 puteri booleene ale lui
A.
Exemplul 15 Considerm graful din figura 7.
x3
x1
x5
x2
x4
Figura 7
A = x3 1
x4 1
x5 0
0
0
1
1
0
0
0
0
1
1
1
1
. Puterile lui A sunt:
0
0
1
1
0
0
0
0
x1 x2 x3 x4 x5
x1 1
x2 0
A2 = x3 1
x4 2
x5 1
1
0
0
1
1
2
1
0
0
1
x1 x2 x3 x4 x5
x1 3
1
x2 2
2
, 3
2 A = x3 1
2
x4 2
1
x5 2
0
1
1
1
0
&
&
2
2
1
1
1
1
3
3
3
1
1
0
1
2
1
x1 x2 x3 x4 x5
x1 4
3
x2 5
2
, 4
3 A = x3 5
5
x4 6
3
x5 3
2
3
4
5
2
4
2
4
7
4
3
2
1
2
2
8
6
.
5
8
9
&
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
17
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
x1 x2 x3 x4 x5
x1 x2 x3 x4 x5
x1 x2 x3 x4 x5
x1 1
x2 0
&
A2 = x3 1
x4 1
x5 1
1
0
0
1
1
1
1
0
0
1
x1 1
1
x2 1
1
, 3&
1 A = x3 1
1
x4 1
1
x5 1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
x1 1
1
x2 1
1
, 4&
1 A = x3 1
1
x4 1
1
x5 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
&
x1 . Acestea sunt: ( x1 , x4 , x2 , x1 ) , ( x1 , x4 , x3 , x1 ) , ( x1 , x5 , x3 , x1 ) .
( x1 , x4 , x1 , x4 , x1 ) , ( x1 , x4 , x3 , x2 , x1 ) , ( x1 , x5 , x5 , x3 , x1 ) , ( x1 , x5 , x3 , x2 , x1 ) .
n 1
&
j =1,2,K,n
k =1
( xi , xk ) U
( x , x ) U
k
i memorarea vectorului
Vom nmuli deci matricea L cu matricea L% , folosind ns nite reguli de calcul speciale,
numite nmulire i adunare latin.
Definiia 58 Se numete alfabet o mulime de simboluri numite litere {si |i I } unde I
este o mulime oarecare de indici, finit sau nu.
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
18
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Definiia 59 Se numete cuvnt un ir finit de simboluri notat si1 si2 L sin . Cuvntul vid se
noteaz cu .
Definiia 60 Se numete produs latin o operaie definit pe mulimea cuvintelor unui
alfabet, notat L , definit prin si1 si2 L sin L s j1 si2 L s jm = si1 si2 L sin s j1 si2 L s jm . Produsul latin a
dou
cuvinte
nevide
se
obine
si1 si2 L sin L = L si1 si2 L sin = , L = .
prin
concatenarea
lor.
plus
Observaia 24 Produsul latin este asociativ, are ca element neutru cuvntul vid, nu este
comutativ i singurul element inversabil n raport cu produsul latin este cuvntul vid.
Definiia 61 Se numete produs latin modificat o operaie definit pe mulimea cuvintelor
unui alfabet, notat & L , definit prin:
si1 si2 L sin & L s j1 si2 L s jm = si1 si2 L sin s j1 si2 L s jm dac
{i1 , i2 ,K, in } I { j1 , j2 ,K , jm } =
i dac nu
exist
proprietatea jr = jt ,
si1 si2 L sin & L s j1 si2 L s jm =
dac
p, q {1,2,K, n} cu proprietatea
dac
exist
cu proprietatea
jr = jt .
Produsul latin modificat a dou cuvinte nevide se obine prin concatenarea lor i
coincide cu produsul latin.
Observaia 25 Produsul latin modificat este asociativ, are ca element neutru cuvntul vid,
nu este comutativ i singurul element inversabil n raport cu produsul latin este cuvntul
vid.
Definiia 62 Se numete adunare latin o operaie definit pe mulimea cuvintelor unui
+L ,
definit
prin
alfabet,
notat
si1 si2 L sin + L s j1 si2 L s jm = si1 si2 L sin , s j1 si2 L s jm ,
si1 si2 L sin + L = + L si1 si2 L sin = , + L = . Adunarea latin a dou cuvinte nevide are ca
rezultat mulimea format cu cele dou cuvinte.
Observaia 26 Produsul latin este asociativ, are ca element neutru cuvntul vid, este
comutativ i singurul element inversabil n raport cu adunarea latin este cuvntul vid.
Determinarea drumurilor
Fie graful orientat, finit de ordinul n , G = ( X , ) , X = {x1 , x2 ,K, xn } . Se calculeaz
succesiv puterile latine ale matricei L : L2 = L L% , L3 = L2 L% , ..., Lk +1 = Lk L% , ...,
L
n 1
n 2
=L
nodurilor grafului. Din felul cum a fost construit, matricea Lk va conine toate drumurile de
lungime k .
n 2
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
19
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Din felul cum a fost construit, matricea Lk va conine toate drumurile elementare
de lungime k . Cum un drum elementar poate avea cel mult n noduri (cte are graful cu
totul) rezult c: primele n 1 puteri ale lui L conin toate drumurile elementare din graf,
puterile lui L mai mari sau egale cu n au toate elementele egale cu 0 , matricea Ln 1
conine toate drumurile hamiltoniene din graf (dac exist).
Exemplul 15 Considerm graful din exemplul 1.
x4 1
x1
1
0
1
0
1
1
1
0
x2
0
1 . Matricea latina a grafului este:
0
1
x3
x4
x1
x1 x2 x1 x3
x xx
x2 x3
L= 2 2 1
x3 x3 x1 x3 x2 x3 x3
x4 x4 x1
x1 x2 x3 x4
x1
x x
L% = 2 1
x3 x1
x4 x1
x1
x2 x3
x3
x2 x3
x2 x3 x4
x2 x4 . Matricea latin redus este:
x4 x4
x4
x1 x2 x3 x4
x1 1 1 1 1
x1 1 1 1 1
x 1 1 1 1 ,
x 1 1 1 1 .
&
&
A2 = 2
A3 = 2
x3 1 1 1 1
x3 1 1 1 1
x4 1 1 1 1
x4 1 1 1 1
Rezult c ntre oricare dintre cele patru noduri ale grafului exist drumuri de lungime 2 i
de lungime 3. Primle trei puteri ale matricei A sunt:
x1 x2 x3 x4
x1 x2 x3 x4
x1 2 1 2 1
x1 4 4 5 2
x2 2 2 2 1 , 3 x2 5 4 6 3 .
2
A =
A =
x3 2 2 3 1
x3 6 5 7 3
x4 1 1 1 1
x4 3 2 3 2
Rezult de exemplu c exist 2 drumuri de lungime 2 ntre nodurile
1 = ( x1 , x2 , x3 ) , 2 = ( x1 , x3 , x3 ) .
19 September 2014
x1 i x3 :
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
20
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
Vom determina toate drumurile elementare i drumurile hamiltoniene dac cele din
urm exist. Puterile latine ale matricei L sunt:
x1
x2
x3
x4
x1 x3 x2
x1
x {x x x , x x x }
L2 = L & L L% = 2 2 3 1 2 4 1
x3
x3 x2 x1
x3 x1 x2
x4
x4 x1 x2
x1
x2
x1 x2 x3
x4 x1 x3
x3
x1 x2 x4
,
x3 x2 x4
x4
x1 x3 x2 x4
x1
.
x2
x2 x4 x1 x3
3
2
%
&
L = L L L =
x3 x3 x2 x4 x1
x3 x1 x2 x4
x4
x4 x1 x3 x2 x4 x1 x2 x3
2
Din matricea L rezult c exist dou drumuri elementare de la x2 la x1 :
( )
G.
. Notm
Ne propunem s deducem matricea boolean corespunztoare grafului G
A = I n +& A .
Aceasta este matricea corespunztoare grafului
( X ,
) . Ea se obine din A
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
21
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
deoarece A k +1 = Ak +& Ak +1 .
&
Ridicnd A la puteri booleene succesive, vom avea al un moment dat A k +1 = A k i
&
n acest moment s-a obinut matricea nchiderii tranzitive A k .
Numrul de pai pn la obinerea matricei nchiderii tranzitive poate fi redus
&
&
calculnd, A 2 , A 4 , i oprind calculul atunci cnd dou dintre matrice coincid.
Exerciii
1.
Fie
graful
X = {x1 , x2 , x3 , x4 , x5 } ,
G = ( X , ) ,
x1 = {x2 , x3 , x5 } ,
x2 = { x1 , x3 , x4 } ,
Fie
graful
X = {x1 , x2 , x3 , x4 , x5 } ,
G = ( X , ) ,
x1 = {x2 , x3 , x5 } ,
x2 = { x1 , x3 , x4 } ,
Fie
graful
X = {x1 , x2 , x3 , x4 , x5 } ,
G = ( X , ) ,
x1 = {x2 , x3 , x5 } ,
x2 = { x1 , x3 , x4 } ,
Fie
graful
X = {x1 , x2 , x3 , x4 , x5 } ,
G = ( X , ) ,
x1 = {x2 , x3 , x5 } ,
x2 = { x1 , x3 , x4 } ,
Fie
graful
orientat
G = ( X ,U ) ,
X = {x1 , x2 , x3 , x4 , x5 , x6 , x7 } ,
U = {( x1 , x2 ) , ( x2 , x3 ) , ( x2 , x4 ) , ( x3 , x1 ) , ( x2 , x3 ) , ( x3 , x4 ) , ( x6 , x4 ) , ( x6 , x5 ) , ( x5 , x4 ) , ( x5 , x7 ) , ( x7 , x5 )} . S
se determine componentele tare conexe ale grafului.
Rezolvri:
1. Se construiete matricea latin L asociat grafului. Se calculeaz L4 i se obine:
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
22
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
x1 x5 x4 x3 x2
x1 x5 x4 x2 x3
x1 x2 x3 x5 x4
x1 x2 x4 x3 x5
x1 x3 x5 x4 x2
x2 x4 x3 x5 x1
x2 x1 x3 x5 x4
x3 x5 x1 x2 x4
x3 x5 x4 x2 x1
x3 x4 x2 x1 x5
4
L =
. Graful are
x3 x2 x1 x5 x4
x4 x3 x2 x1 x5
x4 x3 x5 x1 x2
x4 x2 x3 x5 x1
x4 x2 x1 x3 x5
x5 x4 x2 x1 x3 x5 x1 x3 x2 x4
x5 x4 x3 x2 x1
x
x
x
x
x
5 1 3 4 2
x
x
x
x
x
x
x
x
x
x
5
1
2
4
3
5
1
2
3
4
21
drumuri hamiltoniene.
2. Se construiete matricea latin L asociat grafului. Se calculeaz L3 i se obine:
x2 x3 x5 x1
L3 =
x3 x4 x2 x1
x x x x
4 3 2 1
x4 x3 x5 x1
xxxx
5 4 2 1
x1 x3 x4 x2
x1 x5 x4 x2
x3 x5 x1 x2
x3 x5 x4 x2
x5 x1 x3 x2
x5 x4 x3 x2
x1 x2 x3 x5
x2 x1 x3 x5
x2 x1 x3 x4
x2 x4 x3 x5
. Graful are trei drumuri
x3 x2 x1 x5
x4 x2 x1 x5
x4 x2 x1 x3
x4 x2 x3 x5
x5 x1 x2 x3 x5 x1 x2 x4
x5 x4 x2 x3 x5 x1 x3 x4
x1 x3 x2 x4
x1 x2 x4 x3
x1 x2 x3 x4
x1 x5 x4 x3 x x x x
1 3 5 4
0
1
matricei A . Se obine: A2 = 2
1
1
de
1
3
1
1
2
1
0
1 . Pentru a
0
1
lungime 2 din graf se calculeaz puterea 2 obinuit a
1 3 2
2 1 2
2 2 1 . Rezult c exist dou circuite de lungime 2
1 2 1
2 1 2
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
23
Modelare i simulare
Grafuri. Definiii. Matrici asociate grafurilor. Drumuri. Drumuri
hamiltoniene
lungime 2 ntre nodurile x3 i x3 , dou circuite de lungime 2 ntre nodurile x4 i x4 i dou
circuite de lungime 2 ntre nodurile x5 i x5 . n total exist 11 circuite de lungime 2 n graf.
0
1
0
1
1
0
1
1
0
1
0
1 . Pentru a
0
1
determina numrul drumuri de lungime 4 ntre nodurile x2 i x5 din graf se calculeaz
11
7
7
9
14
13
12 . Rezult c exist
9
13
13
16
11
9
14
13
15
12
9
14
17
11
16
11
13
1
1
0
1
0
0
1
1
0
1
19 September 2014
Academia Naval "Mircea cel Btrn" (ANMB). Orice form de copiere, stocare, modificare
i/sau transmitere a acestui material fr acordul prealabil i scris al ANMB este strict interzis.
24