matematici aplicate în economie - "Lucian Blaga" din Sibiu
matematici aplicate în economie - "Lucian Blaga" din Sibiu
matematici aplicate în economie - "Lucian Blaga" din Sibiu
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Algoritmul Yu Chen pentru grafuri cu circuite.<br />
Acest algoritm are următorii pa¸si:<br />
Pasul 1. Se determină componentele tare conexe ale grafului (X, Γ), notatecuC1,C2,....<br />
Pasul 2. Se determină graful condensat asociat grafului (X, Γ), care este un graf fără circuite.<br />
Pasul 3. Se determină drumul hamiltonian <strong>în</strong> graful condensat, când există.<br />
Pasul 4. Se aranjează componentele tare conexe <strong>în</strong> or<strong>din</strong>ea dată de drumul hamiltonian<br />
determinat la Pasul 3.<br />
Pasul 5. Se scriu toate drumurile hamiltoniene <strong>din</strong> fiecare componentă tareconexă.<br />
Pasul 7. Stabilim legăturile de la o componentă laalta<strong>în</strong> funct¸iedearceledeincident¸ă<br />
(legătură) <strong>din</strong> graful dat, citind apoi toate drumurile hamiltoniene.<br />
Observat¸ia 6.2.3 Dacă<strong>în</strong> graful condensat nu există drum hamiltonian sau <strong>în</strong>tre două componente<br />
nu există legătură, atunci graful nu are drumuri hamiltoniene.<br />
Exemplul 6.2.7. Să aflăm drumurile hamiltoniene ale grafului <strong>din</strong> figura 20.<br />
La exemplul 6.2.5 am găsit componentele tare conexe<br />
C1 = {x1,x3,x7,x8},C2 = {x2},C3 = {x4},C4 = {x5,x6}<br />
¸si graful condensat <strong>din</strong> figura 21.<br />
Se observă că <strong>în</strong> graful condensat avem drumul hamiltonian<br />
dCH = {C1,C3,C4,C2}.<br />
Acum, scriem componentele tare conexe <strong>în</strong> or<strong>din</strong>ea <strong>din</strong> drumul dCH ¸si sub ele scriem<br />
toate drumurile hamiltoniene <strong>din</strong> fiecare componentă:<br />
C1 C3 C4 C2<br />
x1x3x8x7 ↘<br />
x7x8x1x3 ↗ x4 ↗ x5x6 ↘<br />
x6x7<br />
Apoi stabilim legăturile <strong>în</strong>tre ultimele elemente <strong>din</strong> drumurile <strong>din</strong>tr-o componentă ¸si<br />
primele vârfuri <strong>din</strong> componenta următoare (le indicăm prin săget¸i).<br />
Obt¸inem drumurile hamiltoniene:<br />
d1H = {x1,x3,x8,x7,x4,x5,x6,x2}<br />
d2H = {x7,x8,x1,x3,x4,x5,x6,x2}<br />
Algoritmul matricilor latine. Vom prezenta un procedeu prin care se pot găsi toate drumurile<br />
elementare, deci ¸si cele hamiltoniene, precum ¸si circuitele hamiltoniene. Fie (X, Γ)<br />
un graf.<br />
Vom utiliza matricea latină (Definit¸ia 6.1.20) L =(lij), unde<br />
<br />
xixj , dacă (xi,xj) ∈ Γ<br />
lij =<br />
0 , dacă (xi,xj) ∈ Γ,i,j = 1,n.<br />
Construim matricea L, obt¸inută <strong>din</strong> L prin <strong>în</strong>lăturarea lui xi <strong>din</strong> succesiunea xixj,<br />
când acasta există.<br />
Acum, definim o <strong>în</strong>mult¸ire specială de matrice, numită <strong>în</strong>mult¸irea latină ¸si notată<br />
prin ”∗”, după cum urmează: a) <strong>în</strong>mult¸irea se face linii prin coloane; b) <strong>în</strong> locul <strong>în</strong>mult¸irii<br />
obi¸snuite se face o alăturare de elemente, dacă acestea nu se repetă, sau se scrie 0 <strong>în</strong> caz<br />
contrar; c) <strong>în</strong> locul adunării obi¸snuite se iau grupele obt¸inute la b, când avem astfel de<br />
grupe. Prescurtat, vom scrie L ∗ L = L 2 . Analog, calculăm L 2 ∗ L = L 3 ,...,L k−1 ∗ L = L k . Se<br />
observă că L k cont¸ine toate drumurile elementare de lungime k.<br />
Prin urmare, <strong>în</strong> matricea L n−1 figurează toate drumurile hamiltoniene. Dacă dorim<br />
să obt¸inem circuitele hamiltoniene se va calcula L n , dar admitem, ca except¸ie, situat¸ia de<br />
repetare a primului ¸si a ultimului vârf (cel care <strong>în</strong>chide circuitul).<br />
Exemplul 6.2.8. Pentru graful <strong>din</strong> figura 23 să se determine drumurile hamiltoniene.<br />
109<br />
x2