.2 Những thiếu sót của thuật toán Member-Only

Một phần của tài liệu (LUẬN văn THẠC sĩ) định tuyến multicast trong mạng cáp quang (Trang 29 - 35)

Để dễ dàng nhận ra các thiếu sót của thuật tốn Member-Only, chúng tơi sẽ trình bày thơng qua các ví dụ dưới đây.

Ví dụ 1

Xét mạng máy tính đơn giản như trong hình 2.1, trong đó nhãn của các cạnh là giá của chúng. Giả sử rằng, chúng ta có một yêu cầu multicast (s, {d1,

d2, d3}), và chúng ta áp dụng thuật toán Member-Only ở trên. Kết quả của

nhìn thấy từ hình vẽ chúng ta có thể tìm một light-forest khác ({s-MI-d1-d3-

d2}) với giá ít hơn 2+2+3+5 =12. Lý do ở đây là , thuật tốn Member-Only

tìm light-forest với thứ tự các nút trong của tập UV là cố định trong quá trình xét các nút trong UV cho việc xây dựng cây multicast. Thực tế, như chúng ta

nhìn thấy ở đây, sau khi thêm một nút từ UV tới cây T, thứ tự của các nút còn lại trong UV có thể thay đổi theo nghĩa khoảng cách giữa chúng đến cây hiện hành. Cụ thể, trong ví dụ này, chúng ta có tập UV = {d1, d2, d3} với thứ tự d1<

d2 < d3, và do vậy thứ tự các nút được xét lần lượt trong việc xây dựng cây sẽ

là d1, d2 và d3. Tuy nhiên, sau khi thêm d1 vào cây, nút MI được thêm vào V’, và tập UV bây giờ cịn d2 và d3. Sau đó, dựa vào khoảng cách từ d2 và d3 tới

cây hiện hành, chúng ta có thứ tự d3 < d2 trong UV, vì vậy d3 nên được xét

trước nút d2 trong quá trình xây dựng cây.

Hình 2.1: Mạng đơn giản 1

Để khắc phục nhược điểm này, chúng ta cần thay đổi thuật toán bằng việc xét lần lượt các nút UV tại bước 3 sao cho mỗi lần chúng ta chọn được nút gần

với V nhất.  Ví dụ 2 4 5 4 3 3 2 2 s MI d3 d2 d1

Xét mạng đơn giản được mô tả trong hình 2.2 và một yêu cầu multicast (s, {d1, d2}), light-forest được tìm thấy bởi thuật tốn Member-Only sẽ là ({s-VS-

MI-d1-d2}) với giá 3 +2+1+6 =12. Tuy nhiên, một light-forest khác ({s-VS- MI-d1}, {VS-MI-d2}) với giá 3+2+1+ 3+2 = 11 cũng đáp ứng yêu cầu kết nối này. Lý do của sự thiếu sót này đó là thuật tốn Member-Only đã sử dụng dus tại bước 6 như là một ngưỡng (threshold) cho việc tạo một nhánh mới hoặc một cây mới và ngưỡng này là cố định. Cụ thể, trong ví dụ này, sau khi thêm

d1 theo đường đi ngắn nhất (d1, MI, vs, s), tập V chứa đụng nút vs và s, tập V’

chứa đựng nút MI, và tập Z chưa đựng nút vs và s. Bây giờ, xét nút d2, đầu

tiên chúng ta tìm đường ngắn nhất từ nút d2 tới V không qua các nút trong V’ là (d2, d1) và giá của nó là 6. So sánh với giá của đường đi ngắn nhất từ d2 tới

s (trong thuật toán dus) tại bước 8, giá của đường (d2, d1) là nhỏ hơn, do vậy

thuật toán kết nối nút d2 tới nút d1 theo (d2, d1). Tuy nhiên, vì các nút trong Z là hữu dụng cho việc phát triên cây, chúng ta có thể kết nối nút d2 tới nút vs

theo đường (d2, MI, vs) với giá là 3 + 2 = 5 nhỏ hơn giá của đường (d2, d1). Hệ quả là, tổng giá của light-forest sẽ giảm. Sự thiếu sót này có thể loại bỏ bằng cách đặt giá trị của dus tại bước 6, như là khoảng cách từ nút u tới tập Z như được chỉ ra trong thuật toán cải tiến dưới đây

Hình 2.2: Mạng đơn giản.2 3 3 1 6 7 3 2 s MI vs d1 d2

Thuật toán cải tiến:

{

1: F (s, D) = ø, UV = D; 2: V = s, V’ = ø, Z = s, T = ø 3: Xét u ∈UV gần nhất với V.

4: Find P (v, u): v V, x P (v, u): x V’

5: If  tập v: lựa chọn nút v có độ ưu tiên cao nhất

6: duv = d(u, v); dus = min {d (u, x)} : x ∈Z; 7: IF ( P (v, u)) { 8: if (dus ≥duv ) 9: Add  link e ∈ P (v, u) to T 10: else { 11: Tìm P (w, u):w ∈Z; 12: duw = d (u, w) 13: if (dus ≥duw )

14: Thêm mọi link e ∈ P (w, u) tới T; 15: else

16: Thêm mọi link link e ∈ P (s, u) to T;

}

17: if (v = MI node) chuyển v từ V tới V’ 18: for  x ∈ P (v, u) or P(s, u) or P (w, u):

21: if (x = MC node) chuyển x tới V;

22: if (x = VS node) chuyển x tới Z; } 23: chuyển u từ UV tới V 24: if (UV = ø) 26: STOP. 27: else 28: Go to (3) } 29:ELSE (! P (v, u))

30: Chuyển các nhánh trong T tới F (s, D) và chuyển về bước (2)

}

Chú ý rằng, chúng ta thay đổi ở bước 3 và 6 là các bước quan trọng nhất của thuật toán. Bước 3 quyết định thứ tự các nút đích được thêm vào cây multicast. Bước 6 quyết định khi nào một nhánh mới được tạo. Thêm nữa, nó rất quan trọng để chú ý là sự thay đổi này không làm tăng thêm độ phức tạp của thuật toán ban đầu, bởi vì khoảng cách giữa các nút là được tính tốn off-line. Thêm nữa, những sự cải tiến ở trên không thế loại bỏ được hoàn toàn nhược điểm của cách tiếp cận dựa trên nút nguồn (source-based), như được chỉ ra trong ví dụ sau:

Ví dụ 3

Hình 2.3: Mạng đơn giản 3

Dựa theo chiến lược Source-based đó là xây dựng light-forest dựa trên các đường đường đi ngắn nhất, chúng ta sẽ tìm được light-forest ({s-MI-d1-MC-

d2}) đáp ứng yêu cầu multicast với giá 1+2+1+3 = 7, tròn khi một light-forest

khác ({s-MI-MC-d2}, {MC-d1}) có giá ít hơn là 1+1+3 + 1 = 6 nên được sử dụng.

Để vượt qua nhược điểm này, chương tiếp theo, chúng tơi sẽ trình bày một thuật toán dựa trên thuật toán di truyền GA với mong muốn vượt quan những thiếu sót cố hữu của các thuật tốn sử dụng các đường đi ngăn nhất trong việc xây dựng cây multicast.

3 1 1 1 2 s MI MC d1 d2

Chương III: ÁP DỤNG GIẢI THUẬT DI TRUYỀN CHO ĐỊNH TUYẾN MULTICAST

Một phần của tài liệu (LUẬN văn THẠC sĩ) định tuyến multicast trong mạng cáp quang (Trang 29 - 35)

Tải bản đầy đủ (PDF)

(57 trang)