1. Giảithuật đề xuất
1.1. Tìm lịch truyền tốt nhất trên cây multicast
Trước khi đi sâu vào giải thuật LSMEM, tác giả sẽ trình bày giải thuật tham lam giải bài toán tìm lịch truyền tốt nhất trên cây multicast. Bài toán như sau:
Cho đồ thị 𝐺 = (𝑉, 𝐸) và một cây multicast T ⊂ G. Hãy tìm lịch truyền khả thi
𝐵: 𝑛𝑙(𝑇) → 2{1,2,…,𝐾} trên T sao cho tổng năng lượng tiêu tốn trong mỗi phiên multicast П(𝑇𝑜𝑝𝑡, 𝐵𝑜𝑝𝑡) = ∑𝑢∈𝑛𝑙(𝑇𝑜𝑝𝑡)|𝐵𝑜𝑝𝑡(𝑢)|. 𝑒𝑠+ (|𝑉(𝑇𝑜𝑝𝑡)| − 1). 𝑒𝑟 là nhỏ nhất.
Để đưa ra lịch truyền B, cần phải tìmminimum hitting set(MHS)của họ tập khe thời gian của tất cả các nút con của mỗi nút trên cây T.Bài toán MHSđược phát biểu như sau:
Cho họ tập 𝐶 = {𝐴1, 𝐴2, … , 𝐴𝑛} tập 𝐹 ⊂ 𝐴1∪ 𝐴2∪ … ∪ 𝐴𝑛 được gọi là hitting set của C nếu trong F chứa ít nhất một phần tử của mỗi tập con có trong C, nghĩa là
𝐹 ∩ 𝐴𝑖 ≠ ∅ ∀ 𝑖 = 1, 𝑛̅̅̅̅̅. Hitting set có số lượng phần tử nhỏ nhất gọi là minimum hitting set của C và được ký hiệu là MHS(C). Hãy tìm MHS(C).
Bài toán MHSđã được chứng minh thuộc lớp NP-khó [5,7,18] vì vậy tác giả áp dụng giải thuật tham lam để giải bài toán này:
Khởi tạo tập H = ∅.
Thực hiện vòng lặp thực hiện các bước sau:
o Bước 1: Chọn phần từ c* sao cho số lượng tập 𝐴𝑖 ∈ 𝐶 thỏa mãn c* ∈ 𝐴𝑖 là lớn nhất. Thực hiện bước 2.
o Bước 2: Thêm phần tử c* vào tập H và loại bỏ các tập 𝐴𝑖 thỏa mãn c*
∈ 𝐴𝑖 ra khỏi họ tập C. Nếu như họ tập C = ∅ thì kết thúc vòng lặp và trả về tập H là minimum hitting set. Nếu không, quay lại thực hiện bước 1.
Dưới đây là mã giả của giải thuật tham lam giải bài toán MHS: MHS Greedy Algorithm 1. H ←∅ 2. D ←∅ 3. For Ai C do 4. D ← D ∩ Ai 5. endFor 6. While (true)do 7. k ← null 8. size ← 0 9. ForciDdo 10. Count ← 0 11. ForAi Cdo 12. If (ciAi) then 13. count←count + 1 14. endIf 15. endFor
16. If (size < count)or ((size = count) and (ci< k))then
17. size ← count 18. k ← ci 19. End If 20. End for 21. H ←H ∪{k} // Thêm phần tử k vào tập H 22. ForAi Cdo
23.C.remove( Ai) // Xóa Ai khỏi C 24. endFor 25. If (c = ∅)then 26. endIf 27. endWhile 28. Return H
Hình 13 minh họa tìm lịch truyền khả thi từ nút 1 đến các nút con 2, 3 và 4. Lịch truyền tốt nhất là MHS của họ tập C = {A2, A3, A4}. Trong đó A2 = {1, 5}; A3 = {1, 7}; A4 = {2, 4}.
MHS(C) = {1, 2}:thông tin sẽ truyền từ nút 1 đến nút 2, 3 qua khe thời gian 1 và truyền đến nút 4 qua khe thời gian 2.
Đánh giá độ phức tạp:
Trong trường hợp tồi nhất, giải thuật phải xét mọi phần tử thuộc họ tập C, mỗi bước lặp duyệt qua |C| tập. Như vậy, độ phức tạp của giải thuật tham lam tìm MHS(C) trong trường hợp tồi nhất là O(K.|C|) với K là số lượng phần tử tối đa của mỗi tập hợp (K = Max{|Ai|}).
Để tìm lịch truyền tốt nhất trên cây multicast T cần giải bài toán MHS |V| lần. Do đó, độ phức tạp của giải thuật tìm lịch truyền tốt nhất là O(K.|V|.|V|) = O(K.|V|2).