Xét một hệ phân tán là một đồ thị vô hƣớng G=(V,E), với tập nút V biểu diễn các bộ xử lý của mạng và tập cạnh E biểu diễn các liên kết truyền thông giữa các bộ xử lý. Mỗi nút trong mạng có một định danh phân biệt. Mỗi liên kết trong mạng có một trọng số nhất định, giả sử trọng số của các liên kết là khác nhau. Để tiện trong việc xây dựng giải thuật, ta giả thiết trọng số của các liên kết là khác nhau. Ta có định nghĩa sau:
Định nghĩa 3.1:Một cây khung tối thiểu trong đồ thị G = (V, E) (Minimum Spanning Tree - MST) là một đồ thị con gồm n nút và n – 1 cạnh thỏa mãn các tính chất sau:
- Cây khung là liên thông và không có chu trình (giữa hai nút trên cây tồn tại duy nhấtmột đƣờng đi nối hai nút đó).
- Tổng trọng số của n – 1 cạnh của cây khung là nhỏ nhất.
Trong hệ phân tán, bài toán MST có những yêu cầu khác biệt, dựa trên tính chất của từng mạng cụ thể. Nếu mạng là tĩnh, bài toán yêu cầu xây dựng cây khung tối thiểu bằng giải thuật phân tán. Nếu mạng là động nhƣ các mạng MANET, yêu cầu bài toán cần có đáp ứng cụ thể với sự thay đổi hình trạng mạng.
Bài toán xây dựng cây khung MST trên mạng tĩnh phân tán là bài toán kinh điển, thuật toán có kết quả tốt nhất đến thời điểm hiện tại là thuật toán GHS- 83[2,4] do Gallager, Humblet và Spira đề xuất năm 1983, với độ phức tạp thông báo là O(|V|log|V|). Đây là cơ sở cho hầu hết các giải thuật phân tán cũng nhƣ các giao thức liên quan đến việc xây dựng cây khung phân tán.
Tƣ tƣởng của giải thuật
Tƣ tƣởng của giải thuật dựa trên việc kết hợp dần các mảnh MST lại một cách phân tán không đồng bộ thông qua các liên kết ngoài nhỏ nhất chọn đƣợc, từ đó hình thành nên cây MST hoàn chỉnh trong hệ thống. Trong hệ thống phân tán, một nút trên mạng không biết đƣợc cấu trúc toàn cục của hệ thống. Do đó, muốn đảm bảo kết hợp mảnh một cách không đồng bộ, ta dựa vào các định lí sau:
Định lý 2.1: Cho một mảnh MST, gọi e là một liên kết ngoài có trọng số tối thiểu của mảnh. Thì e là một cạnh trong cây MST hoàn chỉnh.
Định lý 2.2: Nếu tất cả các cạnh của một đồ thị liên thông có các trọng số phân biệt, thì cây MST là duy nhất.
Giải thuật bắt đầu với các mảnh là một nút trong mạng. Áp dụng định lý 2.1 để mở rộng các mảnh theo các liên kết ngoài có trọng số tối thiểu. Định lý thứ 2.2 đảm bảo việc mở rộng một cách độc lập giữa các mảnh không bị xung đột lẫn nhau.
Cho w(e) là trọng số của cạnh e trong đồ thị thì trọng số của cây khung sẽ là tổng của tất cả các w(e) thuộc vào cây. Cây khung có trọng số nhỏ nhất (MST)[2] là cây khung có tổng trọng số w(e) nhỏ nhất.
Một số thuật ngữ liên quan là:
- Mảnh của MST là một cây con thuộc cây MST hoàn chỉnh. Ban đầu, mỗi mảnh MST chỉ bao gồm một nút.
- Liên kết ngoài: Liên kết ngoài của một mảnh MST là liên kết có một nút bên trong mảnh và nút còn lại nằm bên ngoài mảnh.
- Gốc của mảnh: là một nút trong mảnh đƣợc quy ƣớc là lấy định danh làm định danh của mảnh.
- Mức của mảnh là sự phân cấp liên kết trong cây. Ban đầu, mỗi mảnh gồm một nút đơn có mức là 0.
Trong quá trình xây dựng cây khung thủ tục quan trọng nhất là kết hợp mảnh, mỗi nút ban đầu đƣợc xem nhƣ là một mảnh, các mảnh này sẽ dẫn kết hợp với nhau tạo thành một mảnh lớn hơn dựa trên việc tìm kiếm các liên kết ngoài có trọng số tối thiểu, việc kết hợp dần các mảnh tạo thành một cung khung hoàn chỉnh có trọng số tối thiểu, việc kết hợp các mảnh thực hiện theo nguyên tắc sau: Giả sử cho mảnh F có mức là L ≥ 0 và một mảnh khác là F’ có cạnh liên kết ngoài tối thiểu tại mức L’. Mảnh F và F’ kết hợp với nhau trong các trƣờng hợp sau:
- Nếu L<L’ thì mảnh F bị hấp thụ bởi F’ và mảnh mở rộng có mức là L’. - Nếu L=L’ và mảnh F và F’ có cùng một cạnh ngoài có trọng số tối thiểu, thì hai mảnh đƣợc kết hợp với nhau thành một mảnh mới có mức là L+1.
- Trƣờng hợp còn lại, mảnh F đợi mảnh F’ đạt tới mức đủ lớn để kết hợp với F theo các quy tắc trên.
Đánh giá độ phức tạp: Độ phức tạp thông báo của giao thức làO(E + N log N) [2], độ phức tạp thời gian của giải thuật GHS-83 làO(N log N) [2].