Cây bao trùm tối thiểu với hạn chế độ trễ (Delay Constrained

Một phần của tài liệu Các thuật toán phân tán giải bài toán định tuyến đa đích (Trang 40 - 42)

Minimum Spanning Trees)

Trong giải thuật này một nhóm trong mạng được chọn để xác định cấu trúc cây. Do vậy chỉ có một con đường hoạt động giữa hai route bất kỳ. Từ cây này mở rộng cho tất cả các nút trong mạng gọi là cây bao trùm. Khi một route nhận được một gói tin multicast nó sẽ chuyển các gói trên tất cả các đường mà thuộc cây bao trùm. Bảo đảm rằng tất cả các gói tin sẽ đến tất cả các routers trong mạng.

Có thể sử dụng quá trình duyệt để tìm một cây bao trùm nếu có một cây bắc cầu tồn tại. Cây tìm được thường là cây vô hướng. Việc tìm cây “tốt nhất” thường rất quan trọng. Chính vì vậy, chúng ta có thể gắn một “độ dài” cho mỗi cạnh trong đồ thị và đặt ra yêu cầu tìm một cây có độ dài tối thiểu. Thực tế, “độ dài” có thể là khoảng cách, giá, hoặc là một đại lượng đánh giá độ trễ hoặc độ tin cậy. Một cây có tổng giá là tối thiểu được gọi là cây bắc cầu tối thiểu. Nói chung, nếu đồ thị là một đồ thị không liên thông, chúng ta có thể tìm được một rừng bắc cầu tối thiểu. Một rừng bắc cầu tối thiểu là một tập hợp các cạnh nối đến đồ thị một cách tối đa có tổng độ dài là tối thiểu. Bài toán này có thể được xem như là việc lựa chọn một đồ thị con của đồ thị gốc chứa tất cả các nút của đồ thị gốc và các cạnh được lựa chọn.

Trong bài toán cây bao trùm tối thiểu(MST). Cho một đồ thị G(V, E),

chúng ta cần phải tìm một cây chi phí tối thiểu kết nối tất cả các nút trong V.

Bài toán này có thể được giải quyết trong thời gian thực bởi thuật toán Kruskal’s[17] hoặc thuật toán Prim’s[21]. Tuy nhiên, tương tự như bài toán đường đi ngắn nhất, bài toán cây MST trở thành bài toán NP-khó khi hạn chế độ trễ được áp dụng cho các đường cần đến trong cây định tuyến. Thực tế này có thể dễ dàng chứng minh, kể từ khi bài toán cây bao trùm tối thiểu là tổng quát cho bài toán con đường với chi phí tối thiểu.

Do sự phức tạp tính toán cho cây bao trùm tối thiểu (MST) với hạn chế độ trễ, một số các thuật toán tự tìm đã được đưa ra để giải quyết nó. Một đề xuất của Salama và cộng sự đưa ra một giải pháp gần đúng giải quyết cho bài toán cây bao trùm tối thiểu với hạn chế độ trễ. Thuật toán Bounded Delay Broadcast (BDB) là một phương pháp tiếp cận đơn giản cung cấp giải pháp gần tối ưu. BDB Heuristic có mục đích chạy nhanh và tạo ra các giải pháp nhanh chóng cho các trường hợp thường thấy của bài toán định tuyến đa đích hạn chế độ trễ.

Thuật toán BDB tiến hành như sau. Giai đoạn đầu tiên, thuật toán cố gắng kết hợp các liên kết, xắp xếp theo chi phí tăng dần, nhưng không tạo ra chu kỳ (tức là: ban đầu, tạo một đồ thị có các nút, các thành phần và không có cạnh nào cả. Mỗi lần, chúng ta chọn một cạnh để thêm vào đồ thị này hai thành phần liên thông trước đó chưa được kết nối được liên kết lại với nhau tạo ra một thành phần liên thông mới (chứ không chọn các cạnh thêm vào một thành phần liên thông trước đó và tạo ra một vòng)). Các kỹ thuật được sử dụng tương tự như thuật toán Prim’s, trong đó từng bước bổ sung thêm các yếu tố để tìm ra giải pháp, chỉ dừng lại khi có một cây hoàn chỉnh đáp ứng các yêu cầu của bài toán. Đặc biệt, tại mỗi bước của thuật toán BDB đảm bảo rằng hiện tại là một phần của giải pháp đáp ứng các yêu cầu độ trễ cho định tuyến đa đích.

Nếu yêu cầu này không được thỏa mãn bởi một phần giải pháp hiện tại, thì các bước này được thực hiện lại, bao gồm các thủ tục sau đây. Nếu một nút có thể được kết nối bởi một đường thay thế, đồng thời giảm độ trễ thì đường dẫn mới được chọn. Nếu sau khi bước này được thực hiện lại, vẫn không có đường nào có độ trễ thích hợp cho một số nút, thuật toán này không thành công và phản hồi duy nhất một phần câu trả lời.

Một số ví dụ khác của thuật toán tính toán độ trễ cho cây bao trùm gồm: Tài liệu của Chow[5]. Trong tài liệu đó, thuật toán được sử dụng trong bối cảnh tìm ra cây định tuyến mới, dựa trên các định tuyến đã có. Kết quả độ trễ MST được sử dụng để kết hợp các định tuyến khác nhau vào một cây định tuyến duy nhất.

Một phần của tài liệu Các thuật toán phân tán giải bài toán định tuyến đa đích (Trang 40 - 42)