Thuật toán tham lam mở rộng GEA (Greedy Extension Algorithm)

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp ngăn chặn phát tán thông tin sai lệch đa chủ đề trên mạng xã hội (Trang 48 - 54)

3. Cấu trúc luận văn

2.4 Thuật toán tham lam mở rộng GEA (Greedy Extension Algorithm)

Dựa trên thuật toán tham lam cải tiến IGA, thuật toán tham lam mở rộng (GEA) có tốc độ nhanh hơn IGA dựa trên ý tưởng tính giá trị xấp xỉ trung bình của mẫu số và cập nhật nhanh giá trị hàm mục tiêu 𝜎(. ). Để làm được như vậy, cấu trúc cây được sử dụng để ước tính và cập nhật 𝜎(. ) qua mỗi vòng lặp của thuật toán.

Đầu tiên, ta xây dựng 𝑞 đồ thị 𝐺𝑖, (𝑖 = 1, 2, … , 𝑞) theo mô hình MT-LT và kết quả của bổ đề 1 (mục 2.3). Vì tập nguồn 𝑆𝑖 có thể có một hoặc nhiều đỉnh, nên các đỉnh lân cận của 𝑆𝑖 có thể bị tác động bởi các đỉnh có cùng chủ đề, để thuận tiện cho việc cập nhật nhanh hàm mục tiêu mà vẫn đảm bảo các tính chất lan truyền của mô hình LT, ta tiến hành hợp nhất các đỉnh nguồn 𝑆𝑖 trên đồ thị 𝐺𝑖 thành một đỉnh 𝐻𝑖 và thu được đồ thị 𝐺′𝑖 (thuật toán 3). Bổ đề 3 chỉ ra rằng hai biểu thức trước và sau khi chuyển đổi là tương đương.

Algorithm 3: Thuật toán hợp nhất các đỉnh nguồn phát tán 𝑆𝑖 của đồ thị 𝐺𝑖

Input: 𝐺𝑖 = (𝑉𝑖, 𝐸𝑖, 𝑤𝑖), source set 𝑆𝑖

Output: 𝐺′𝑖, 𝐻𝑖 1. 𝐺′𝑖 ← 𝐺𝑖

2. Add node 𝐻𝑖 to 𝐺′𝑖; 3. for 𝑥 ∈ 𝑆𝑖 do

5. if 𝐻𝑖 ∈ 𝐺′𝑖 then 6. Add edge (𝐻𝑖, 𝑣) to 𝐺′𝑖; 7. 𝑤𝑖′(𝐻𝑖, 𝑣) = 𝑤′𝑖(𝑥, 𝑣). 𝑝𝑥𝑖; 8. else 9. 𝑤𝑖′(𝐻𝑖, 𝑣) = 𝑤𝑖′(𝐻𝑖, 𝑣) + 𝑤′𝑖(𝑥, 𝑣). 𝑝𝑥𝑖 10. end 11. ;Blocking (𝑥, 𝑣) to 𝑆𝑖′; 12. end 13.end

14. Blocking all nodes 𝑆𝑖 from 𝐺𝑖′; 15. Return 𝐺𝑖′, 𝐻𝑖.

Bổ đề 3:

Thuật toán 3 thể hiện thấy bất kỳ biểu thức (𝐺𝑖, 𝑆𝑖, 𝑤𝑖 ) tương đương với biểu thức (𝐺′𝑖, 𝐻𝑖, 𝑤′𝑖), với 𝐻𝑖 là đỉnh nguồn hợp nhất của các đỉnh trong 𝑆𝑖.

Chứng minh:

Để chứng minh bổ đề này, ta chứng minh hàm 𝜎(𝐺, 𝑆, 𝐴) trên hai biểu thức là như nhau. Giả sử v là đỉnh lân cận với tập 𝑆. Khi S có một đỉnh duy nhất là 𝑢, rõ ràng ảnh hưởng từ 𝑆 đến 𝑣 là 𝑤(𝑢, 𝑣). 𝑝𝑖𝑢 = 𝑤(𝐻𝑖, 𝑣). Khi tập 𝑆 có 𝑘 đỉnh nguồn 𝑢1, 𝑢2, … , 𝑢𝑘, ảnh hưởng của 𝑘 đỉnh đến đỉnh 𝑣 là: ∑𝑘 𝑤(𝑢𝑖, 𝑣). 𝑝𝑖𝑢𝑖

𝑖=1 = 𝑤(𝐻𝑖, 𝑣), thỏa mãn điều kiện lan truyền trên mô hình

LT. Khi 𝑆 có 𝑘 + 1 đỉnh nguồn, 𝑤(𝐻𝑖, 𝑣) là ảnh hưởng sau khi trộn 𝑘 đỉnh. Trộn thêm nguồn thứ k+1, tổng ảnh hưởng 𝑤(𝐻𝑖, 𝑣) = 𝑤(𝐻𝑖, 𝑣) + w(𝑢𝑘+1, 𝑣) đây là ảnh hưởng từ 𝐻𝑖 đến 𝑣 theo thuật toán 3. Theo mệnh đề quy nạp, ta có điều phải chứng minh.

Mỗi đồ thị 𝐺𝑖 sau khi đã hợp nhất đỉnh nguồn. Ta sử dụng phương pháp mô phỏng Monter-carlo để tạo ra 𝑛𝑖 đồ thị mẫu g từ 𝐺𝑖 theo mô hình cạnh trực

tuyến [3]. Vì có thể truy cập các đỉnh từ 𝐻𝑖 với cây có gốc 𝐻𝑖 nên ta chỉ giữ lại những cây mà từ đỉnh gốc có thể truy cập đến các đỉnh khác cho đồ thị mẫu. Thao tác này làm giảm một số lượng đáng kể các đồ thị mẫu vô nghĩa, giúp cập nhật giá trị đạt giá trị xấp xỉ gần đúng hơn. Từ 𝑛𝑖 mẫu, ta đặt bộ 𝒯𝑖 (𝑖 = 1. . 𝑞) chứa gốc của 𝑛𝑖 cây. Với mỗi cây 𝑇𝑖 ∈ 𝒯𝑖, 𝑓(𝑇𝑖, 𝐴𝑖) là giá trị của hàm 𝜎(𝐺𝑖 , 𝑆𝑖 , 𝐴𝑖) trên cây Ti, ta thấy rằng 𝑓(𝑇𝑖, 𝑢) = |{𝑣|𝑣 ∈ 𝑠𝑢𝑏𝑡𝑟𝑒𝑒(𝑢)}| và chúng ta có thể tính 𝑓(𝑇𝑖, 𝑢) cho mọi đỉnh 𝑢 ∈ 𝑇𝑖 bằng thuật toán tìm kiếm sâu - DFS (thuật toán 4). Do ngân sách B dùng để ngăn chặn tất cả các chủ đề thông tin sai lệch và một đỉnh có thể có mặt trên nhiều cây khác nhau, vì vậy để tính 𝜎(𝐺, 𝑆, 𝐴) trên 𝑞 chủ đề, ta áp dụng tính xấp xỉ trung bình mẫu số để tính như sau:

𝜎(𝐺, 𝑆, 𝐴) ≈ 𝜎̂(𝐺, 𝑆, 𝐴) = 1 𝑞∑( 1 𝑛𝑖 𝑞 𝑖=1 ∑ 𝑓(𝑇𝑖, 𝐴𝑖) 𝑇𝑖∈𝒯𝑖 (5)

Trong thuật toán 5, lần chọn thứ nhất, chọn tập A1 trong vòng lặp (dòng 9 - 22) bằng cách bổ sung dần các đỉnh 𝑢 vào tập 𝐴1 một cách tham lam, , sao cho cho 𝛿(𝑢) đạt giá trị tối đa (dòng 12). Lần thứ hai, chọn đỉnh

umax sao cho 𝑐(𝑢𝑚𝑎𝑥) ≤ 𝐵 và trung bình mẫu xấp xỉ 𝜎(𝑢𝑚𝑎𝑥) được tối đa hóa (dòng 23). Giả sử 𝐴1 là giải pháp hiện tại trong vòng lặp t. Ta ước tính hàm mục tiêu sẽ tăng dần khi loại bỏ đỉnh 𝑣 theo phương trình sau:

𝛿(𝐴1, 𝑣) = 𝜎(𝐺, 𝑆, (𝐴1 ∪ {𝑣})) − 𝜎(𝐺, 𝑆, 𝐴1) ≈ 1 𝑞∑ ∑ (𝑓(𝑇𝑖, 𝐻𝑖) − 𝑓(𝑇𝑖 ⊙ {𝑣}, 𝐻𝑖) 𝑇𝐻1∈𝐿𝑖 𝑞 𝑖=1 (6)

Sau khi chọn 𝑢 vào𝐻𝑖, tiến hành xem xét tất cả các cây 𝑇𝑖 ∈ 𝒯𝑖 trên tất cả các chủ đề để loại bỏ đỉnh 𝑢 ra khỏi các cây 𝑇𝑖 và cập nhật hàm 𝑓(𝑇𝑖, 𝑢) trên cây 𝑇𝑖 ∈ 𝒯𝑖, (dòng 17-19) như sau:

1) Nếu 𝑣 là hậu tố của 𝑢, ta có thể xóa chúng bởi vì không thể truy cập từ Hi trong Ti

2) Nếu 𝑣 là tiền tố của 𝑢, 𝑓(𝑇𝐻𝑖 ⊙ {𝑢}, 𝑣) = 𝑓(𝑇𝑖, 𝑣) − 𝑓(𝑇𝑖, 𝑢). Minh họa việc cập nhật trong hình 1. Chúng ta có thể tính: 𝑓(𝑇𝑖, 𝐻𝑖) = 10; 𝑓(𝑇𝑖, 𝑣3) = 6; Sau khi loại bỏ 𝑣3 và cập nhật 𝑓(𝑇𝑖 ⊙ {𝑢}, 𝐻𝑖) = 10 − 6 = 4.

Hình 2.4.1

Hình 2.4.1. Ước tính và cập nhật 𝑓(𝑇𝑖 ⊙ {𝑢}, 𝐻𝑖) bằng cách sử dụng cây gốc

Cuối cùng thuật toán trả về lời giải tốt hơn là umax và 𝐴𝑖 bằng cách so sánh 𝜎̂(𝑢𝑚𝑎𝑥) và 𝜎̂(𝐴𝑖).

Algorithm 4: Tính toán 𝑓(𝑇𝑖, 𝑢)

Input: 𝐴 Tree 𝑇𝑖 root at 𝐻𝑖 and node 𝑢 ∈ 𝑉

Output: 𝑓(𝑇𝑖, 𝑢)

1. If ( u is not a leaf) Then

2. 𝑟 ← 1; 3. for (𝑣 is child of 𝑢) do 4. 𝑟 ← 𝑟 + 𝑓(𝑇𝑖, 𝑣); 5. end 6. else 7. 𝑟 ← 1;

8. 𝐞𝐧𝐝

9. return r;

10. end.

Algorithm 5: Thuật toán tham lam mở rộng (GEA) Input: Graph 𝐺 = (𝑉, 𝐸, 𝑤), source S, budget 𝐵 > 0 Output: The set of nodes 𝐴

1. 𝑈 ← 𝑉 2. Build 𝐺𝑖 = (𝑉𝑖, 𝐸𝑖, 𝑤𝑖), 𝑖 = 1. . 𝑞 from 𝐺 = (𝑉, 𝐸, 𝑤) by MT-LT model; 3. (𝐺𝑖′, 𝐻𝑖) ← 𝑀𝑒𝑟𝑔𝑒(𝐺𝑖, 𝑆𝑖) for 𝑖 = 1. . . 𝑞 according to Algorithm 3; 4. Foreach 𝐺𝑖′ do

5. Generate 𝑛𝑖 sample graphs by live-edge model [3] and creat a set 𝒯𝑖 contains 𝑛𝑖 trees.

6. For each 𝑇𝑖 ∈ 𝒯𝑖, calculate 𝜎(𝑇𝑖, 𝑢) for all 𝑢 ∈ 𝑇𝐻𝑖 by Algorithm 4. 7. end 8. 𝑢𝑚𝑎𝑥 ← 𝑎𝑟𝑔𝑚𝑎𝑥𝑣∈𝑉, 𝑐(𝑣)≤𝑩𝜎̂(𝑣); 9. Repeat 10. 𝑐𝑚𝑖𝑛 ← 𝑎𝑟𝑔𝑚𝑖𝑛𝑣∈𝑉𝑐(𝑣) 11. If 𝑐𝑚𝑖𝑛 + 𝑐(𝐴1) > 𝐵 then break; 12. 𝑢 ← 𝑎𝑟𝑔𝑚𝑎𝑥𝑣∈𝑉𝛿(𝐴1, 𝑣) 13. 𝑈 ← 𝑈 \ {𝑢}; 14. if 𝑐(𝐴1) + 𝑐(𝑢) ≤ 𝐵 then 15. 𝐴1 ← 𝐴1 ∪ {𝑢}; 16. for 𝑖 = 1 𝑡𝑜 𝑞 do 17. foreach 𝑇𝑖 ∈ 𝒯𝑖 do

18. if 𝑢 ∈ 𝑇𝑖 then block node u and update 𝑓(𝑇𝑖, 𝑣), ∀𝑣 ∈ 𝑇𝑖; 19. end 20. end 21. end 22. until 𝑈 = ∅; 23. 𝐴 ← 𝑎𝑟𝑔𝑚𝑎𝑥𝑈𝑚𝑎𝑥,𝐴1{𝜎̂(𝑢𝑚𝑎𝑥), 𝜎̂(𝐴1)} 24. return 𝑨.

Về độ phức tạp về thời gian của GEA, độ phức tạp về thời gian của việc tạo tập 𝒯𝑖 là (𝑛𝑖(𝑛 + 𝑚)). Độ phức tạp của thời gian của việc tính toán 𝑓(𝑇𝑖, 𝑢) được thực hiện bằng thuật toán 4, thời gian chạy 𝑂(𝑛). Trong mỗi bước chọn đỉnh 𝑢 có giá trị lớn nhất là 𝛿(𝐴, 𝑢) cần 𝑂(𝑛𝑖𝑛). Do đó, độ phức tạp về thời gian của thuật toán GEA là 𝑂((∑𝑞𝑖=1𝑛𝑖)(𝑚 + 𝑘𝑛)). Trong đó, 𝑞 là số chủ đề, 𝑛, 𝑚 là số đỉnh, số cạnh của đồ thị 𝐺(𝑉, 𝐸, 𝑤); 𝑛𝑖 là số cây được tạo trong mô phòng MC với chủ đề 𝑖;

2.5 Kết luận chương

Chương này đã trình bày giải pháp ngăn chặn thông tin sai lệch đa chủ đề trên mạng xã hội, mô hình và định nghĩa bài toán ngăn chặn lan truyền thông tin sai lệch đa chủ đề. Xác định độ phức tạp của bài toán và các thuật toán giải quyết trong luận văn. Hai thuật toán IGA và GEA hoàn toàn phù hợp để giải quyết bài toán và có thể cài đặt thử nghiệm trên các tập dữ liệu mà luận văn đã trình bày.

CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ

Trong phần này, tác giả tiến hành các thử nghiệm để cho thấy hiệu quả của các thuật toán IGA và GEA. Các thuật toán được so sánh với các thuật toán Degree và Random trên cùng một thiết lập của mô hình MT-LT.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp ngăn chặn phát tán thông tin sai lệch đa chủ đề trên mạng xã hội (Trang 48 - 54)