Luận án Một số bài toán tối ưu trên mạng xã hội

Lời cam đoan i

Lời cảm ơn ii

Danh sách hình vẽ vii

Danh mục các từ viết tắt ix

MỞ ĐẦU 1

Chương 1. Tổng quan về các bài toán lan truyền thông tin 6

1.1. Giới thiệu về mạng xã hội . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1.1. Những đặc điểm chung của MXHTT . . . . . . . . . . . . . . . . . . 7

1.1.2. Lợi ích của MXHTT . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.1.3. Những tác hại của MXHTT . . . . . . . . . . . . . . . . . . . . . . . 8

1.2. Các mô hình phát tán thông tin trên MXHTT . . . . . . . . . . . . . . . . . 9

1.2.1. Mô hình phát tán thông tin rời rạc . . . . . . . . . . . . . . . . . . . . 10

1.2.2. Mô hình Ngưỡng tuyến tính (LT) . . . . . . . . . . . . . . . . . . . . 11

1.2.3. Mô hình Bậc độc lập (IC) . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.2.4. Mô hình cạnh trực tuyến (live-edge) . . . . . . . . . . . . . . . . . . . 14

1.3. Một số bài toán lan truyền thông tin trên MXHTT . . . . . . . . . . . . . . 17

1.3.1. Tối đa ảnh hưởng (IM) . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.3.1.1. Các thuật toán cho bài toán IM . . . . . . . . . . . . . . . . . 18

1.3.1.2. Một số biến thể của bài toán cực đại ảnh hưởng . . . . . . . . 22

1.3.2. Ngăn chặn ảnh hưởng (IB) . . . . . . . . . . . . . . . . . . . . . . . . 24

1.3.2.1. Loại bỏ tập người dùng và liên kết . . . . . . . . . . . . . . . 25

1.3.2.2. Tẩy nhiễm thông tin . . . . . . . . . . . . . . . . . . . . . . . 26

1.4. Kết luận chương . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Chương 2. Bài toán tối ưu tổ hợp và một số phương pháp giải các bài toán tối

ưu tổ hợp 29

2.1. Bài toán TƯTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.2. Phân loại các lớp bài toán trong TƯTH . . . . . . . . . . . . . . . . . . . . 29

2.3. Một số phương pháp giải bài toán TƯTH . . . . . . . . . . . . . . . . . . . 34

2.3.1. Thuật toán xấp xỉ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.3.2. Phương pháp Mote-Carlo . . . . . . . . . . . . . . . . . . . . . . . . 37

2.3.2.1. Bài toán tìm giá trị cực đại . . . . . . . . . . . . . . . . . . . . 38

2.3.2.2. Bài toán uớc lượng kỳ vọng của một biến ngẫu nhiên . . . . . 39

 

pdf172 trang | Chia sẻ: honganh20 | Ngày: 15/03/2022 | Lượt xem: 378 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Luận án Một số bài toán tối ưu trên mạng xã hội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
án tính bằng công thức sau: TimeSPBA = max{TimePBA(L,G,,δ), T imePBA(U,G,,δ)}+ Timetính Iˆ (3.61) = O(nk1 −2 ln( ( n kmax ) /δ)M) + Time tính Iˆ (3.62) 3.3. Thực nghiệm và kết quả Luận án so sánh Thuật toán SPBA với các thuật toán khác trên nhiều bộ dữ liệu khác nhau để đánh giá hiệu quả của SPBA đối với bài toán BCIM. Các thuật toán được so sánh bao gồm: - Thuật toán BCT [76]: là thuật toán cho tỷ lệ xấp xỉ (1− 1√ e − ) đối với bài toán IM có xét chi phí mỗi đỉnh là khác nhau và tổng chi phí (ngân sách) là giới hạn. Lý do luận án sử dụng BCT để so sánh vì BCIM là một biến thể của IM có sự tương đồng với biến thể mà BCT giải quyết. Với mỗi đỉnh có chi phí khác nhau, các thuật toán xử lý được ràng buộc này đối với IM thì BCT đang là thuật toán tốt nhất. - Degree: chọn lần lượt các đỉnh có bậc cao nhất tới khi đạt đến chi phí giới hạn L. - Random: Chọn ngẫu nhiên các đỉnh cho đến khi đạt đến ngân sách giới hạn L. Các thuật toán Degree và Random là các thuật toán cơ sở (baseline). Lý do chọn chúng trong thực nghiệm là do chúng được sử dụng rộng rãi trong các bài toán lan truyền thông tin [43, 19, 39, 95, 11]. 3.3.1. Dữ liệu và tham số a. Dữ liệu. Luận án sử dụng 6 bộ dữ liệu về các mạng bao gồm: Gnutella, Enron, Epinions, Email-Eu, DBLP và Wiki. Các dữ liệu này đã được thu tập và có sẵn tại Stanford Network Analysis Project 1. Dữ liệu này được sử dụng rộng rãi trong các nghiên cứu liên quan về các bài toán lan truyền thông tin [75, 76]. Thông tin về các bộ dữ liệu này được biểu diễn trong Bảng 3.2. Gnutella. Là một hệ thống mạng ngang hàng trong đó các nút đại diện cho các máy chủ trong cấu trúc liên kết mạng Gnutella và các cạnh thể hiện các kết nối giữa các máy chủ Gnutella. 1https://snap.stanford.edu/data/ 67 Bảng 3.2: Dữ liệu được sử dụng trong thực nghiệm Tên mạng Số đỉnh Số cạnh Loại mạng Bậc trung bình Gnutella[56] 6,301 20,777 Có hướng 3.29 Enron[58] 36.692 183,831 Vô hướng 5.01 Epinions[82] 75,879 508,837 Có hướng 6.7 Email-Eu[56] 265,214 420,045 Có hướng 1.58 DBLP[107] 317,080 1,049,866 Vô hướng 5.01 Wiki-vote [108] 1,791,489 28,511,807 Có hướng 6.7 Eron.Mạng lưới liên lạc email Enron bao gồm tất cả các giao tiếp email trong một bộ dữ liệu khoảng nửa triệu email với các địa chỉ email của Enron. Epinions. Đây là một mạng xã hội trực tuyến đánh giá sự tin cậy của người tiêu dùng Epinions.com. Các thành viên của trang web có thể quyết định có nên “tin tưởng” lẫn nhau hay không. Tất cả các mối quan hệ tin cậy tương tác sau đó được kết hợp với xếp hạng đánh giá để xác định đánh giá nào được hiển thị cho người dùng. Email-Eu.Mạng được tạo bằng dữ liệu email từ một tổ chức nghiên cứu lớn ở châu Âu. DBLP. Là một mạng lưới đồng tác giả, nơi hai tác giả được kết nối nếu họ xuất bản ít nhất một bài báo cùng nhau. Trong mạng này, các tác giả có thể ảnh hưởng lẫn nhau thông qua mối liên hệ đồng tác giả. Wiki-vote. Là một bách khoa toàn thư miễn phí được viết bởi các tình nguyện viên trên khắp thế giới. Một phần nhỏ những người đóng góp Wikipedia là quản trị viên, là người dùng có quyền truy cập vào các tính năng kỹ thuật bổ sung hỗ trợ bảo trì. Trong các dữ liệu trên, các mạng Eron, Epinions, Email-Eu, DPLB, và Wiki-vote là các mạng xã hội hoặc có những tính năng như mạng xã hội. Mục đích thực nghiệm trên các bộ dữ liệu còn lại đánh giá khả năng áp dụng của bài toán BCIM trên các loại mạng khác nhau. b. Tham số. Các tham số của SPBA được thiết lập như trong Bảng 3.3. Cách thiết lập giống với các nghiên cứu trước đó đối với IM [18, 22, 76, 75, 95, 94]. Ngoài ra, tập SB được chọn ngẫu nhiên 10% số đỉnh đối với mỗi mạng. Chi phí của mỗi đỉnh c(u) được chọn ngẫu nhiên trong khoảng [1, 3] theo nghiên cứu trước đối với bài toán IM có xét chi phí [72, 60]. c. Độ đo. Luận án sử dụng thuật toán điều kiện dừng trong [27] để tính Iˆ theo 68 Bảng 3.3: Bảng tham số thí nghiệm cho BCIM Tham số  δ ′ δ′ w(u, v) L τ Giá trị 0.1 1n 0.01 0.01 1 din(v) 100 3, 4, 5 (, δ)-xấp xỉ và so sánh giá trị của ước lượng Iˆ đối với mỗi thuật toán. d. Môi trường. Các thuật toán được viết bằng C++ với trình biên dịch GCC 4.7 trên hệ điều hành Linux với máy cấu hình như sau: 2 x Intel(R) Xeon(R) CPU E5-2697 v4 @ 2.30GHz 8 x 16 GB DIMM ECC DDR4 @ 2400MHz. Tiêu chí đánh giá. Luận án đánh giá sự hiệu quả của các thuật toán thông qua hai tiêu chí: (1) chất lượng lời giải (hàm mục tiêu) và (2) thời gian chạy của các thuật toán. 3.3.2. Kết quả thực nghiệm Để đánh giá toàn diện về kết quả các thuật toán, luận án tiến hành đánh giá các thuật toán theo hai trường hợp: (1) chi phí tổng quát (mỗi đỉnh có chi phí khác nhau được chọn trong khoảng [1, 3]) và (2) chi phí đồng nhất (các đỉnh có chi phí giống nhau bằng 1). 3.3.2.1. Trường hợp chi phí tổng quát Trong kịch bản này, tham số τ = 5, ngân sách L thay đổi từ 0 to 100. Hình 3.6 biểu diễn hiệu quả của các thuật toán theo hàm ảnh hưởng I(SA) trên các bộ dữ liệu Gnutella, Enron, Epinions, Email-Eu, DBLP và Wiki. Trong hình này, trục tung biểu diễn giá trị của hàm mục tiêu I(SA) (ảnh hưởng của tập hạt giống SA), trục hoành biểu diễn các giá trị của ngân sách L. Thuật toán SPBA luôn cho kết quả tốt nhất. Cụ thể SPBA tốt hơn từ 10% đến 30% so với BCT. Lý do cho kết quả này là BCT chỉ xem xét ảnh hưởng của tập hạt giống SA nhưng không xem xét tác động của SB. Thêm vào đó BCT cũng bỏ qua ảnh hưởng của τ . Trong khi đó SPBA có xét các yếu tố về ràng buộc thời gian trong việc ước lượng các hàm xấp xỉ trên và dưới. SPBA gồm ba thành phần và việc chọn lời giải cuối cùng dựa trên kết quả tốt nhất. Kết quả này cũng khẳng định thuật toán cho CTVM và IM (bài toán gần nhất với BCIM) có hiệu quả không cao với BCIM. Degree chỉ hoạt động tốt với bộ dữ liệu Enron nhưng không tốt với các bộ dữ liệu còn lại. SPBA tốt hơn tới 7.7 lần so với Degree. Degree là thuật toán heuristic đơn giản chỉ xét bậc của đỉnh trong quá trình ảnh hưởng cạnh tranh nên cho kết quả không tốt. 69 20 40 60 80 100 Budget(L) 0 1000 2000 3000 4000 5000 In flu en ce sp re ad GNUTELLA Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 5000 10000 15000 20000 In flu en ce sp re ad ENRON Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 5000 10000 15000 20000 In flu en ce sp re ad EPINIONS Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 5000 10000 15000 20000 In flu en ce sp re ad EMAIL-Eu Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 20000 40000 60000 80000 100000 120000 In flu en ce sp re ad DBLP Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 50000 100000 150000 200000 250000 In flu en ce sp re ad Wiki Ramdom Degree SPBA BCT Hình 3.6: So sánh các thuật toán trong trường hợp chi phí tổng quát với τ = 5. 3.3.2.2. Trường hợp chi phí đồng nhất Để chỉ rõ hơn hiệu quả của các thuật toán, luận án so sánh các thuật toán trong trường hợp chi phí bằng nhau và bằng 1 trên các bộ dữ liệu Gnutella, Enron, Epinions and Email-Eu. Hình 3.7 biểu diễn kết quả của các thuật toán trong trường hợp này. SPBA vẫn cho kết quả tốt nhất. Cụ thể, SPBA tốt hơn 1.06 tới 1.76 so với BCT và tốt hơn 1.2 tới 17.2 lần so với Degree. Kết quả này phù hợp với trường hợp trước và khẳng định kết quả nổi trội của thuật toán SPBA. 3.3.2.3. So sánh thời gian chạy Hình 3.8 biểu diễn thời gian chạy của các thuật toán trên 6 bộ dữ liệu với trục tung biểu diễn thời gian chạy, trục hoành biểu diễn các giả trị của ngân sách L. SPBA cho thời gian chạy lâu nhất. Điều này là do thuật toán này gồm ba thành 70 20 40 60 80 100 Budget(L) 0 2000 4000 6000 8000 In flu en ce sp re ad GNUTELLA Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 5000 10000 15000 20000 In flu en ce sp re ad ENRON Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 5000 10000 15000 20000 In flu en ce sp re ad EPINIONS Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 5000 10000 15000 20000 25000 In flu en ce sp re ad EMAIL-Eu Ramdom Degree SPBA BCT Hình 3.7: So sánh các thuật toán trong trường hợp chi phí đồng nhất phần chính là: PBA(L, G, L, , δ), PBA(U, G, L, , δ) và tính toán ước lượng Iˆ(·). Random và Degree là các thuật toán đơn giản nên thời gian chạy rất ngắn. Mặc dù BCT cũng là thuật toán xấp xỉ ngẫu nhiên, tuy nhiên thời gian chạy khá nhanh do có cấu trúc đơn giản hơn so với SPBA. Tuy vậy, SPBA cho thấy thời gian chạy tương đối nhanh với các bộ dữ liệu. Đặc biệt, với mạng Wiki (với 1.79 triệu đỉnh và 28.5 triệu cạnh) SPBA có thể hoàn thành trong 90 giây. 3.3.2.4. Ảnh hưởng của bước thời gian τ Luận án đánh giá ảnh hưởng của τ đối với các thuật toán trong đó τ được thay đổi từ 3 đến 5, ngân sách được cố định L = 50. Các kết quả được biểu diễn trong Hình 3.9 với trục tung biểu diễn hàm mục tiêu và trục hoành biểu diễn các mốc thời gian τ . SPBA vẫn cho kết quả tốt nhất, nó tốt hơn từ 1.01 đến 1.23 lần so với BCT và 2.5 lần so với Degree. Kết quả này cho thấy hiệu quả của SPBA so với các bước thời gian τ . Khi τ càng lớn, ảnh các thuật toán cho kết quả càng cao, điều này cũng cho thấy việc xem xét ảnh hưởng của bước thời gian trong chiến lược cạnh tranh. Trong trường hợp này, thuật toán SPBA cũng cho thấy sự tăng đáng kể nhất với các thuật toán còn lại. Điều này khẳng định thêm tầm quan trọng của ràng buộc thời gian và thuật toán đề xuất. 71 20 40 60 80 100 Budget(L) 0.00 0.25 0.50 0.75 1.00 1.25 1.50 Ru nn in g tim e( s) GNUTELLA Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 10 20 30 40 Ru nn in g tim e( s) ENRON Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 10 20 30 40 Ru nn in g tim e( s) ENRON Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 5 10 15 20 25 30 Ru nn in g tim e( s) EMAIL-Eu Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 10 20 30 40 Ru nn in g tim e( s) DBLP Ramdom Degree SPBA BCT 20 40 60 80 100 Budget(L) 0 20 40 60 80 Ru nn in g tim e( s) WIKI Ramdom Degree SPBA BCT Hình 3.8: So sánh thời gian thực hiện của các thuật toán 3.4. Bài toán tối đa ảnh hưởng cạnh tranh trên mô hình cạnh tranh ngưỡng tuyến tính xác định Trong mục này, luận án mở rộng các kết quả nghiên cứu cho bài toán CIM trên mô hình Cạnh tranh ngưỡng tuyến tính xác định DCLT (Deterministic Competitive Linear Threshold). Mô hình này được tác giả đề xuất dựa trên việc mở rộng mô hình ngưỡng tuyến tính xác định DLT [68] và mô hình CLT [19]. Khác với mô hình LT, trên mô hình này các ngưỡng kích hoạt của các đỉnh được cho trước với giả thuyết rằng các ngưỡng này có thể đánh giá được thông qua các phương pháp khai thác dữ liệu hoặc khảo sát. Một số biến thể của mô hình này như Mô hình bỏ phiếu [118], mô hình phát tán giới hạn cục bộ (Locally Bounded Diffusion Model) [28]. 72 3 4 5 0 1000 2000 3000 4000 In flu en ce sp re ad GNUTELLA Ramdom Degree SPBA BCT 3 4 5 0 2000 4000 6000 8000 10000 12000 In flu en ce sp re ad EPINIONS Ramdom Degree SPBA BCT 3 4 5 0 2000 4000 6000 8000 10000 12000 14000 In flu en ce sp re ad EMAIL-Eu Ramdom Degree SPBA BCT 3 4 5 0 10000 20000 30000 40000 50000 60000 In flu en ce sp re ad DBLP Ramdom Degree SPBA BCT Hình 3.9: So sánh các thuật toán khi τ thay đổi và L cố định Việc sử dụng loại mô mình này và các biến thể làm giảm bớt thời gian tính toán hàm ảnh hưởng cạnh tranh. Trên mô hình này, hàm ảnh hưởng cạnh tranh có thể tính toán được trong thời gian đa thức. 3.4.1. Mô hình và định nghĩa bài toán Trong mô hình này, mỗi cạnh (u, v) cũng có hai trọng số wA(u, v) và wB(u, v) biểu diễn ảnh hưởng của A và B trên cạnh (u, v). Sự khác nhau giữa mô hình CLT với mô hình DCLT là: mỗi đỉnh v có hai ngưỡng kích hoạt θA(v) và θB(v) được cho trước, và (ii) bước lan truyền giới hạn là (steps) d. Quá trình lan truyền diễn ra theo các bước rời rạc t = 1, . . . , d như sau: Tại bước t = 0, A0 = A, B0 = B. Tại bước t ≥ 1, mỗi đỉnh v sẽ bị kích hoạt bởi A nếu thõa mãn điều kiện sau: ∑ u∈Nin(v)wA(u, v) ≥ θA(v)∑ u∈Nin(v)wB(u, v) < θB(v) (3.63) hoặc ∑ u∈Nin(v) wA(u, v) ≥ ∑ u∈Nin(v) wB(u, v) + αA (3.64) 73 Tương tự, đỉnh v bị kích hoạt bở B nếu: ∑ u∈Nin(v)wA(u, v) < θA(v)∑ u∈Nin(v)wB(u, v) ≥ θB(v) (3.65) hoặc ∑ u∈Nin(v) wB(u, v) ≥ ∑ u∈Nin(v) wA(u, v) + αB (3.66) Trong đó αA, αB được gọi hệ số kiềm chế của A với B và B với A. αA giải thích rằng v bị ảnh hưởng bởi A khi tổng trọng số ảnh hưởng của A lớn hơn đáng kể so với tổng trọng số ảnh hưởng của B. Quá trình lan truyền dừng lại tại bước lan truyền d. Với tập SA ⊆ V chúng ta có thể tính toán ảnh hưởng IA(SA) trong thời gianO(m+n) bằng việc sử dụng thuật toán BFS. Trong trường hợp này bài toán CIM được định nghĩa cụ thể như sau: Định nghĩa 3.6. (Tối đa ảnh hưởng cạnh tranh -CIM trên DCLT) • Input: Cho một MXHTT G = (V,E) dưới một mô hình ảnh hưởng cạnh tranh DCLT. Có hai đối thủ cạnh tranh là A và B, cho trước SB, thời gian giới hạn là d, ngân sách k2. • Output: Tìm tập hạt giống của A là SA với SA ∈ V \ SB, |SA| ≤ k sao cho số người dùng bị ảnh hưởng bởi SA là lớn nhất. Độ phức tạp của bài toán CIM trên mô hình DCLT được phát biểu qua định lý sau: Định lý 3.7. CIM là bài toán NP-Khó và không thể xấp xỉ được trong thời gian đa thức với tỷ lệ n1− trên mô hình DCLT với giả thuyết P 6= NP. Chứng minh. Ta chứng minh rằng nếu có thuật toán đa thức P có thể xấp xỉ CIM với tỷ lệ n1−, thì tồn tại thuật toán xấp xỉ bài toán Tập phủ (SC) trong thời gian đa thức. Xét phiên bản quyết định của SC được định nghĩa như sau: Tập phủ (SC) Cho số nguyên dương t, tập vũ trụ U = {e1, e2, ..., eM} và bộ sưu tập các tập con S = {S1, S2, ..., SN}, với t < M < N . Có hay không tập con gồm t phần tử của S sao cho hợp của chúng bằng U? Cho một thể hiện ISC = (U , t, S) ta xây dựng phép dẫn đa thức tới thể hiện ICIM = (G,SB, k) như sau: Phép dẫn. Với mỗi tập Si ∈ S, tạo đỉnh ui; với mỗi ej , tạo một đỉnh vj , đặt X = 2sử dụng trong trường hợp chi phí các đỉnh đồng nhất và số đỉnh chọn là k 74 {ui|i = 1 . . . n}, Y = {vj |j = 1 . . .m}. Thêm các cạnh (ui, vj) vào E nếu ej ∈ Si, với i = 1 . . . n, j = 1, . . . ,m, ta đặt SA = X và SB = ∅. Đặt các trọng số wA(ui, vj) = 1 |Nin(vj)| , wB(ui, vj) = 0, với (ui, vj) ∈ E, θA(ui) = 1|Nin(ui)| , θB(vj) = 1|Nin(vj)| , αA = αB = 0, t = k. Với mỗi đỉnh vj ∈ Y ta thêm một tập Z = {z1, z2, . . . , zQ} gồm Q đỉnh với Q > max{N, 13e ln(6N)  }. Thêm Q cạnh (vj , zl), l = 1 . . . Q, với các trọng số wA(vj , zl) = 1, wB(vj , zl) = 0, l = 1 . . . Q. Dễ thấy phép dẫn có thể thực hiện được trong thời gian đa thức. Ta xét hai trường hợp sau: Trường hợp 1: Nếu ISC không có lời giải dễ thấy có ít nhất một đỉnh v ∈ Y không bị kích hoạt bởi tập SA được chọn bất kỳ. Điều này dẫn tới tập Z không bị ảnh hưởng bởi A. Do đó OPT < k +M < 2N . Trường hợp 2: Nếu ISC có lời giải S′, ta chọn SA = {ui|Si ∈ S′} là lời giải của CIM. Bằng phép dẫn ở trên, ta thấy rằng các đỉnh trong Y đều bị kích hoạt bởi A. Xét các đỉnh zl ∈ Z, ta có ∑ v∈Nin(zl) = 1 = θA(zl). Bởi vậy σ(SA) = t+ |Y |+ |Z| = k+M+Q = OPT. Trong trường hợp này, vì thuật toán P có thể xấp xỉ CIM với tỷ lệ n1− (n = N +M +Q), nên nó có thể tìm S′A thỏa mãn: σ(S′A) ≥ 1 n1− OPT = k +M +Q (N +M +Q)1− (3.67) > Q (3Q)1− = (3Q) 3 (do Q > N > M) (3.68) > 2N (do Q > 13e ln(6N)  ) (3.69) Điều này chứng tỏ ISC có lời giải t nếu và chỉ nếu σ(S′A) < 2N . Do vậy ta có thể dùng P để tìm lời giải cho SC. Điều này trái với việc SC là bài toán thuộc lớp NP-đầy đủ. 3.4.2. Các thuật toán cho CIM trên mô hình DCLT Trong phần này, tác giả đề xuất hai thuật toán cho bài toán CIM bao gồm Thuật toán tham lam (Greedy) và Thuật toán tham lam nâng cao (Greedy+ +). Vì hàm mục tiêu không có tính chất submodular nên hai thuật toán này không cho tỷ lệ xấp xỉ. Thuật toán tham lam phỏng theo ý tưởng của thuật toán tham lam đối với IM của Kempe [43]. Tại mỗi bước nó chọn đỉnh u có hàm đo lợi ích lớn nhất δ(SA, u) = σA(SA + {u})− σA(SA). (3.70) đến khi lựa chọn được k đỉnh. Các bước chi tiết được mô tả trong Thuật toán 14. Độ phức tạp của thuật toán này là O(kn(m + n)). Thuật toán Greedy + + là một phiên bản cải tiến của thuật toán tham lam trong đó cải tiến kỹ thuật “lazy evaluation" trong [57]. Các bước chi tiết được trình bày trong Thuật toán 15. Thuật toán này dựa trên giả sử hàm 75 mục tiêu vẫn là submodular với ý tưởng chính không xem xét các đỉnh có lợi ích thấp trong các vòng lặp sau. Algorithm 14: Thuật toán tham lam (Greedy) Data: Graph G = (V,E), SB, propagation hop d, budget k Result: SA 1 begin 2 SA ←− ∅ 3 for i = 1 to k do do 4 δmax ←− 0 5 foreach u ∈ V \ {SA ∪ SB} do 6 if δ(A ∪ u) > δmax then 7 δmax ←− δ(A ∪ u), umax ←− u; 8 end 9 end 10 If δmax = 0 then return SA else A←− A ∪ {umax} 11 end 12 return SA; 13 end Algorithm 15: Thuật toán Greedy + + Input: Graph G = (V,E, θ), SB, d, k, p Output: SA 1 begin 2 A←− ∅; Priority queue Q←− ∅; 3 iteration←− 1; 4 foreach u ∈ V \ {B} do 5 u.value←− δ(u) u.iteration←− 1 6 insert u into Q with u.value as the key; 7 end 8 choose p top elements of queue Q; 9 while iteration ≤ k do 10 extract top element u of Q; 11 if u.iteration = iteration then 12 SA ←− SA ∪ {u}; 13 iteration+ + 14 pop element u of Q; 15 else 16 u.value←− σA(SA ∪ u)− σA(SA); 17 u.iteration←− iteration 18 re-insert u into Q 19 end 20 end 21 return SA; 22 end Thuật toán sử dụng một hàng đợi Q để lưu p đỉnh ứng viên. Trong đó mỗi đỉnh u có hai trường: u.value chỉ giá trị δ(SA, u) ở vòng lặp hiện tại và u.iteration chỉ vòng lặp hiện tại mà đỉnh u đang được xem xét. Để hạn chế thời gian tính toán, thuật toán chọn p đỉnh ứng viên có giá trị lợi ích lớn nhất trong Q (dòng 7). Trong mỗi vòng lặp, thuật toán chọn đỉnh u có giá trị u.value lớn nhất, kiểm tra vòng lặp của đỉnh này, nếu giá trị này được xét ở vòng lặp hiện tại thì thêm vào tập lời giải SA (dòng 11-14). Nếu không 76 cập nhật lại giá trị của đỉnh này và vị trí của nó trong Q (dòng 16-18). Độ phức tạp của thuật toán Greedy+ + vẫn là O(kn(m+n)), tuy nhiên thực nghiệm chỉ ra nó có thời gian chạy nhanh hơn Greedy nhiều lần. 3.4.3. Thực nghiệm Luận án tiến hành thực nghiệm so sánh thuật toán Greedy,Greedy + + với hai thuật toán cơ sở là: Random và Degree. a. Dữ liệu và tham số. Dữ liệu thực nghiệm được mô tả trong Bảng 3.4 3. Bảng 3.4: Dữ liệu được sử dụng trong thực nghiệm Mạng Số đỉnh Số cạnh Loại Bậc trung bình Nguồn email-EU 1005 25571 có hướng 25.44 [56] Gnutella#1 6,301 20,777 có hướng 3.30 [56] Gnutella#2 36682 88328 có hướng 2.41 [56] Epinions 75879 508837 có hướng 6.71 [82] Trọng số được chọn theo các nghiên cứu trước đối với IM [43, 75, 22, 18]. SB được chọn ngẫu nhiên với số đỉnh là 50 và 100 tùy theo kích cỡ mạng. Các tham số được trình bày trong Bảng 3.5. Bảng 3.5: Bảng tham số thí nghiệm cho CIM Tham số θA(v), θB(v) w(u, v) k d p (Greedy + +) Giá trị ngẫu nhiên trong [0, 1] 1 din(v) 50 3, 4, 5 1000 Các thí nghiệm được thực hiện trên máy tính có cấu hình Intel (R) Core i7-4510U CPUs with 2.00GHz, 8GB RAM với ngôn ngữ C++. Thời gian giới hạn cho các thuật toán là 12h. b. Kết quả thực nghiệm. Các kết quả thực nghiệm được biểu diễn trong các Hình 3.10 và Hình 3.11. Greedy cho kết quả tốt nhất nhưng không áp dụng được với các mạng Gnutella-2 và Epinion vì vượt quá thời gian giới hạn là 12h. Thuật toán Greedy + + cho kết quả xấp xỉ với Greedy 3Phần mô tả các loại mạng được trình bày trong thực nghiệm trước nên luận án không trình bày ở các mục sau. 77 nhưng có thời gian chạy nhanh hơn từ 17.5 đến 103 lần. Lý do là thuật tham lam phải 0 50 100 150 200 250 300 350 400 0 5 10 15 20 nu m be r o f i nf lu en ce d no de s by A k email-EU, d = 5, B = 50 nodes Greedy Greedy++ Max Degree Random 0 200 400 600 800 1000 1200 0 5 10 15 20 ru nt im e (s ec on ds ) k email-EU, d = 5, B = 50 nodes Greedy Greedy++ Max Degree Random 0 500 1000 1500 2000 2500 3000 0 10 20 30 40 50 nu m be r o f i nf lu en ce d no de s by A k gnutella#1, d = 5, B = 100 nodes Greedy Greedy++ Max Degree Random 0 5000 10000 15000 20000 25000 30000 35000 40000 0 10 20 30 40 50 ru nt im e (s ec on ds ) k gnutella#1, d = 5, B = 100 nodes Greedy Greedy++ Max Degree Random 0 1000 2000 3000 4000 5000 6000 7000 0 10 20 30 40 50 nu m be r o f i nf lu en ce d no de s by A k gnutella#2, d = 5, B = 100 nodes Greedy++ Max Degree Random 0 200 400 600 800 1000 0 10 20 30 40 50 ru nt im e (s ec on ds ) k gnutella#2, d = 5, B = 100 nodes Greedy++ Max Degree Random 0 2000 4000 6000 8000 10000 12000 0 10 20 30 40 50 nu m be r o f i nf lu en ce d no de s by A k epinion, d = 5, B = 100 nodes Greedy++ Max Degree Random 0 10000 20000 30000 40000 50000 60000 70000 0 10 20 30 40 50 ru nt im e (s ec on ds ) k epinion, d = 5, B = 100 nodes Greedy++ Max Degree Random Hình 3.10: So sánh các thuật toán khi k thay đổi 0 500 1000 1500 2000 2500 3000 0 1 2 3 4 5 nu m be r o f i nf lu en ce d no de s by A d gnutella#1, k = 50, B = 315 nodes Greedy++ Max Degree Random 0 200 400 600 800 1000 0 1 2 3 4 5 ru nt im e (s ec on ds ) d gnutella#1, k = 50, B = 315 nodes Greedy++ Max Degree Random 0 1000 2000 3000 4000 5000 6000 7000 0 1 2 3 4 5 nu m be r o f i nf lu en ce d no de s by A d gnutella#2, k = 50, B = 100 nodes Greedy++ Max Degree Random 0 200 400 600 800 1000 0 1 2 3 4 5 ru nt im e (s ec on ds ) d gnutella#2, k = 50, B = 100 nodes Greedy++ Max Degree Random Hình 3.11: So sánh các thuật toán khi d thay đổi tính lại hàm lợi ích của tất cả các đỉnh ở mỗi vòng lặp còn Greedy++ đã rút ngắn được thời gian chạy do chỉ xét các đỉnh có lợi ích cao nhất và cập nhật lại thay vì tính giá trị này đối với tất cả các đỉnh. Về chất lượng lời giải, Greedy++ cho kết quả tương tự Greedy chứng tỏ hiệu quả của chỉ chọn p = 1000 đỉnh có lợi ích lớn nhất cũng đảm bảo chất lượng lời giải. Các thuật toán cơ sở cho kết quả không tốt, Greedy + + và Greedy cho kết quả hơn Degree tới 1.65 lần. Điều này chứng tỏ hiệu quả của việc lựa chọn các đỉnh dựa trên hàm lợi ích đối với Greedy và Greedy + +. Luận án cũng thực nghiệm trường hợp khi k cố định và d thay đổi bằng 3, 4, 5. Thuật toán Greedy + + vẫn hoạt động tốt và cho giá trị tăng dần khi d tăng. 3.5. Kết luận chương Trong chương này, luận án trình bày kết quả nghiên cứu bài toán tối đa ảnh hưởng cạnh tranh tổng quát với thời gian và ngân sách hạn chế BCIM trên các MXHTT. Luận án đề xuất thuật xấp xỉ SPBA cho BCIM trên mô hình TCLT. Các thực nghiệm được tiến hành trên các bộ dữ liệu chuẩn được công bố chỉ ra thuật toán đề xuất cho hiệu quả nổi trội so với các thuật toán hiện dùng bao gồm: Kết quả cũng chỉ ra SPBA có thể 78 áp dụng với các mạng lớn hàng triệu đỉnh và cạnh (bộ dữ liệu Wiki bao gồm gần 1,8 triệu đỉnh và 28,5 triệu cạnh). Luận án cũng đề xuất nghiên cứu bài toán CIM trên mô hình ngưỡng tuyến tính cạnh tranh xác định DCLT. Trên mô hình này, luận án chỉ ra có thể tính toán hàm mục tiêu trong thời gian đa thức và đề xuất hai thuật toán hiệu quả là Greedy và Greedy + +. Thực nghiệm cũng được tiến hành để chỉ ra hiệu quả của 2 thuật toán đề xuất. Tuy vậy, một nhược điểm khi áp dụng giải pháp giải pháp này trong thực tiễn cần có nhưng giải pháp thu thập dữ liệu một cách hiệu quả cho các MXHTT, tiền xử lý các tham số cho mô hình để đáp ứng các yêu cầu đầu vào của bài toán BCIM. Ngoài ra cần “ làm mịn” thêm mô hình để phù hợp hơn với thực tiễn. Trong tương lai, tác giả sẽ tiếp tục cải tiến thêm thuật toán SPBA về thời gian chạy và đề xuất thuật toán heuristic tốt hơn đối với thuật toán CIM trên mô hình DCLT. Ngoài ra tác giả mở rộng các nghiên cứu theo khắc phục các nhược điểm trên để phù hợp hơn với thực tiễn. 79 CHƯƠNG 4 NGĂN CHẶN THÔNG TIN SAI LỆCH VỚI RÀNG BUỘC VỀ NGÂN SÁCH VÀ THỜI GIAN Việc ngăn chặn thông tin sai lệch (TTSL) được quan tâm nghiên cứu nhiều trong những năm gần đây do những tác hại lớn của TTSL gây ra. Tuy nhiên, những nghiên cứu trước đó thường bỏ qua hai yếu tố quan trọng trong việc giảm thiểu thiệt hai do TTSL gây là: ngân sách cho việc phòng ngừa và thời gian ngăn chặn sự phát tán. Trong chương này, luận án nghiên cứu bài toán hạn chế thông tin sai lệch với ràng buộc về ngân sách và thời gian (MMR) trên mô hình LT. Luận án đưa ra một số kết quả lý thuyết về độ khó của bài toán và đề xuất một số thuật toán hiệu quả cho bài toán. Các thuật

Các file đính kèm theo tài liệu này:

  • pdfluan_an_mot_so_bai_toan_toi_uu_tren_mang_xa_hoi.pdf
Tài liệu liên quan