Phép dẫn từ bài toán Tập phủ dạng 0−1 đến bài toán MDM

Một phần của tài liệu Luận văn tốt nghiệp giảm thiểu tối đa thiệt hại do thông tin sai lệch gây ra trên mạng xã hội trực tuyến (Trang 47 - 55)

4 THỰC NGHIỆM

3.1 Phép dẫn từ bài toán Tập phủ dạng 0−1 đến bài toán MDM

Dễ thấy rằng phép dẫn này thực hiện trong thời gian đa thức theo n.

Qua phép dẫn xây dựng ở trên, ta sẽ chứng minh hai thể hiện ISC ={U,S, k} và IM DM ={G, w(u, v), θv, S, c(u), r(u), d, B, t} là tương đương với nhau.

Phần thuận: Nếu bài tốn Tập phủ dạng 0−1 có lời giải thì bài tốn MDM

cũng có lời giải tương ứng.

Giả sử thể hiện ISC có lời giải là tập S0 với |S0| ≤k và nó có thể phủ tồn bộ các phân tử của tập U. Bằng phép dẫn ở trên, chọn tập đỉnh để tạo miễn dịch là I ={ui|Si ∈ S0}. Khi đó, ta có P

ui∈Ic(ui) ≤k =B. Do S0 phủ tất cả các phần tử tập U nên mọi đỉnh vj (j = 1..m) đều kề với ít nhất một đỉnh ui∈I. Như vậy khi tạo miễn dịch trên tập I ta có: P

ui∈Nin

active(vj)w(ui, vj)<1 =θvj, suy ra khơng có bất kỳ đỉnh vj nào được kích hoạt. Các đỉnh ui ∈/ I và kề trực tiếp với các đỉnh thuộc tập S sẽ bị thơng tin sai lệch kích hoạt, do đó DSd(I) = n−k.

Phần nghịch. Nếu bài tốn MDM có lời giải thì bài tốn Tập phủ dạng 0−1

cũng có lời giải tương ứng.

Giả sử thể hiện IM DM có lời giải là tập đỉnh cần tạo miễn dịch I ⊂V\S với

P

u∈Ic(u) = B = k sao cho DS

d(I) ≤ n −k. Bằng phép dẫn ở trên, ta xác định tập S0 ={Si|ui ∈ I}. Khi đó, ta có |S0| =k. Do c(vj) = +∞ > B (j = 1..m) nên không thể tạo miễn dịch trên các đỉnh vj (j = 1..m), như vậy tập I chỉ có thể

bao gồm các đỉnh ui (i= 1..n). Ngoài ra, DS

d(I)≤n−k nên chứng tỏ mọi đỉnh vj

(j = 1..m) đều khơng bị thơng tin sai lệch kích hoạt, suy ra mỗi đỉnh vj đều kề với ít nhất một đỉnh ui ∈I hay tập S0 phủ toàn bộ các phần tử của tập U.

Định lý được chứng minh hồn tồn!

3.3 Các thuật tốn đề xuất giải quyết bài toán MDM

Đối với các bài tốn dạng lan truyền thơng tin, người ta có thể dùng các thuật tốn cơ sở Max Degree và thuật tốn Random để tìm lời giải “đủ tốt”. Hai thuật toán cơ sở này thường được sử dụng để kiểm định tính hiệu quả khi so sánh với các thuật toán mới đề xuất [1, 4, 47, 55].

Ký hiệu Nk(S) là tập hợp các đỉnh có khoảng cách khơng q k tính từ tập nguồn phát thơng tin sai lệch S trong đồ thị G. Khi k = 1, Nk(S) là tập đỉnh hàng xóm đi ra từS. Để ngăn chặn thông tin sai lệch lan truyền sau d bước thời gian thì các đỉnh được lựa chọn đểtạo miễn dịch cũng phải nằm trong tập Nd(S) với d∈Z+.

Trong mục này, tác giả đề xuất hai thuật toán tham lam cho bài tốn MDM,

thuật tốn thứ nhất dựa trên đặc tính hàm số f(I) (cho bởi Công thức 3.7) đo độ giảm thiệt hại sau khi chọn tập đỉnh I để tạo miễn dịch, thuật toán hai sử

dụng hàm số α(v) (cho bởi Cơng thức 3.8) đo độ tăng của hàm f(I) tính trên một đơn vị chi phí khi thêm một đỉnh mới v vào tập I.

Hàm giảm thiệt hại. Với mỗi tập I ⊂Nd(S), ta định nghĩa hàm giảm thiệt hại

f(I) thức sau:

f(I) = DSd(∅)− DdS(I) =DdS − DdS(I) (3.7) trong đó ngầm định DdS(∅) = DSd.

Hàm tăng giá trị của f(I) trên một đơn vị chi phí. Với mỗi tậpI đã cho, hàm α(v) đo độ tăng giá trị hàmf(I)khi thêm một đỉnh v ∈Nd(S)vào tậpI xác định như sau:

α(v) = (f(I∪ {v})−f(I))

c(v) (3.8)

3.3.1 Thuật toán tham lam dựa trên hàm f(I)

Mục tiêu của bài tốn MDM là cực tiểu hóa tổng thiệt do thơng tin sai lệch gây ra, tức là cực tiểu hóa hàm DdS(I) hoặc hiểu theo cách khác là cực đại hóa độ giảm thiệt hại, tức là cực đại hóa hàm f(I). Như vậy, ta có thể sử dụng f(I)

như là một hàm mục tiêu thay thế trong bài toán MDM, thuật toán tác giả đề

xuất hoạt động dựa trên việc bổ sung dần tập I theo kiểu ăn tham.

Ý tưởng thuật toán: Khởi tạo I =∅, tiếp theo thực hiện lặp việc chọn đỉnh v ∈Nd(S) sao cho hàm f(I ∪ {v}) đạt giá trị lớn nhất, nếu tổng chi phí hiện tại để tạo miễn dịch chưa vượt ngưỡng ngân sách B thì bổ sung v vào I, ngược lại thì dừng và trả về kết quả tập I. Quá trình này kết thúc khi tổng chi phí để tạo miễn dịch cho tập đỉnh I vượt ngưỡng ngân sách B đã cho hoặc đã xét hết tất cả các đỉnh trong tập Nd(S). Chi tiết thuật toán được đặc tả trong phần giả mã của Thuật toán 5.

Algorithm 1: Thuật toán tham lam dựa trên hàmf(I)

Input : G= (V, E), w(u, v), d, B, tập nguồn phát thông tin sai lệchS.

Output: Tập đỉnh I là lời giải của bài toánMDM. begin 1 I← ∅; 2 N ←Nd(S); 3 C←0; 4 while (C < B) and(N 6=∅)do 5

u←argmaxv∈Nf(I∪ {v});//Chọn ra đỉnhv sao chof(I∪ {v})đạt giá trị lớn nhất 6 if C+c(u)≤B then 7 I←I∪ {u}; 8 C←C+c(u); 9 end 10 N←N\{u}; 11 end 12 ReturnI; 13 end 14

Dễ thấy rằng, trong trường hợp xấu nhất, Thuật toán 5 thực hiện tối đa n21 vịng lặp việc tính lại giá trị hàm f(I), với n1 = |Nd(S)|, tuy nhiên theo Cơng thức 3.7, để tính được giá trị hàm f(I) ta cần tính tốn được kỳ vọng số đỉnh bị thơng tin sai lệch kích hoạt sau d bước lan truyền. Việc tính tốn chính xác giá trị kỳ vọng số đỉnh bị kích hoạt là vấn đề #P-khó [21, 60]. Để giải quyết vấn đề này, Wei Chen [21,60] đã sử dụng phương pháp mơ phỏng Monte Carlo q trình lan truyền thơng tin, từ đó ước lượng giá trị kỳ vọng số đỉnh bị kích hoạt. Ước lượng giá trị hàm DSd(I) bằng pháp mơ phỏng Mote Carlo q trình lan truyền thơng tin được trình bày trong Thuật toán 2.

Với mỗi tập hạt giống S, tiến hành mơ phỏng q trình lan truyền thơng tin ngẫu nhiên R lần. Mỗi lần, tính số đỉnh ở trạng thái kích hoạt sau d bước lan truyền, sau đó tính tổng trung bình trên R lần mô phỏng. Khi số lần mô phỏng R càng lớn thì ước lượng giá trị kỳ vọng số đỉnh bị kích hoạt có độ chính xác càng cao.

Algorithm 2: Thuật toán ước lượng giá trị hàmDS d(I)

Input : G= (V, E), w(u, v), tập nguồn phát thông tin sai lệchS, tập đỉnhItạo miễn dịch.

Output: Giá trị ước lượng hàmDS d(I).

begin

1

Đồ thị G(I)thu được sau khi loại bỏ tập đỉnhItừ đồ thị G; 2

count←0;

3

forj = 1toR do

4

mơ phỏng q trình lan truyền thơng tin trên đồ thịG(I)từ tập nguồnS; 5

na ←số đỉnh kích hoạt saudbước lan truyền; 6 count←count+na; 7 end 8 Returncount/R; 9 end 10

Như vậy, trong trường hợp xấu nhất, Thuật tốn 1 có độ phức tạp tính tốn là O(n2

1R), với n1 =|Nd(S)|, R là số lần mơ phỏng.

3.3.2 Thuật tốn tham lam dựa trên hàm α(v)

Trong mục trước, Thuật toán 1 dựa trên ý tưởng chọn ra những đỉnh thu được độ giảm thiệt hại lớn nhất để thêm vào tập đỉnh cần tạo miễn dịch, tuy nhiên,

trong mục này tác giả đề xuất thuật toán khác dựa trên ý tưởng lựa chọn ra những đỉnh thu được lợi nhuận lớn nhất nhưng xét đến yếu tố chi phí bỏ ra.

Ý tưởng thuật toán: Khởi tạo I =∅, tiếp theo thực hiện lặp việc chọn đỉnh v ∈Nd(S) sao cho hàm α(v) đạt giá trị lớn nhất, nếu tổng chi phí hiện tại để tạo miễn dịch chưa vượt ngưỡng ngân sáchB thì bổ sungv vàoI, ngược lại thì dừng và trả về kết quả tập I. Quá trình này kết thúc khi tổng chi phí đểtạo miễn dịch

cho tập đỉnh I vượt ngưỡng ngân sách B đã cho hoặc đã xét hết tất cả các đỉnh trong tập Nd(S). Chi tiết thuật toán được đặc tả trong phân giả mã của Thuật toán 3.

Trong trường hợp xấu nhất, Thuật tốn 3 cũng có độ phức tạp tính tốn là O(n21R), với n1 =|Nd(S)|, R là số lần mơ phỏng.

Algorithm 3: Thuật tốn tham lam dựa trên hàmα(v)

Input : G= (V, E), w(u, v), d, B, tập nguồn phát thông tin sai lệchS.

Output: Tập đỉnh I là lời giải của bài toánMDM. begin 1 I← ∅; 2 N ←Nd(S); 3 C←0; 4 while (C < B) and(N 6=∅)do 5 α(v) =(f(I∪ {v})−f(I)) c(v) ,∀v∈N; 6

u←argmaxv∈Nα(v);//Chọn ra đỉnhv sao choα(v)đạt giá trị lớn nhất 7 if C+c(u)≤B then 8 I←I∪ {u}; 9 C←C+c(u); 10 end 11 N←N\{u}; 12 end 13 ReturnI; 14 end 15

Chương 4 THỰC NGHIỆM

Ở Chương 4 tác giả tập trung đánh giá chi tiết hiệu quả hai thuật toán đề xuất: Thuật toán 1 và Thuật toán 3, so sánh với các thuật toán cơ sở khác như thuật tốn Max Degree và thuật tốn Random. Tính hiệu quả ở đây xét trong ngữ cảnh độ giảm thiệt hại hay độ giảm số đỉnh bị thơng tin sai lệch kích hoạt sau khi tạo miễn dịch cho tập đỉnh I.

4.1 Mục đích thực nghiệm

Trong phần này, luận văn trình bày cách thức tiến hành thực nghiệm và kết quả thực nghiệm nhằm đánh giá hiệu quả hai thuật toán tham lam: Thuật toán 1 và Thuật toán 3, so sánh với các thuật toán cơ sở khác như thuật toán Max Degree và thuật toán Random. Hai thuật toán cơ sở này được sử dụng nhiều trong thực nghiệm nhằm so sánh với các thuật toán đề xuất: Kempe, 2003, [47]; Chen, 2010, [61]; Goyal, 2011, [64]. Ngoài ra, thực nghiệm cũng nhằm giải quyết các câu hỏi: Khi ngân sách B thay đổi sẽ ảnh hưởng thế nào đến kết quả? Kích thước của tập nguồn phát thông tin sai lệch S thay đổi sẽ ảnh hưởng thế nào đến kết quả?

4.2 Dữ liệu tiến hành thực nghiệm

Dữ liệu được tiến hành thực nghiệm bao gồm dữ liệu của ba mạng xã hội trong thực tế và chúng được dùng rộng rãi trong các nghiên cứu về lan truyền thông tin, được lấy từ nguồn [http://snap.stanford.edu/data/]. Ba bộ dữ liệu được chọn đại diện cho các mạng với quy mô khác nhau, từ vài trăm đến vài nghìn đỉnh.

• Email: Đây là một mạng lưới trao đổi email trong một cơ quan nghiên cứu lớn của châu Âu. Tồn bộ thơng tin về các email gửi đến và gửi đi giữa các thành viên trong cơ quan được ẩn danh. Mỗi nhà nghiên cứu là một đỉnh trong đồ thị và một email từ nhà nghiên cứu u đến nhà nghiên cứu v tạo

thành một cạnh (u, v, t) tương ứng, trong đó t là thời điểm gửi thư. Bộ dữ liệu thu thập được của mạng xã hội này gồm: 986 đỉnh và 332,334 cạnh. • CollegeMsg: Đây là bộ dữ liệu bao gồm các tin nhắn được gửi trên một mạng

xã hội trực tuyến tại Đại học California, Irvine. Mỗi người dùng có thể tìm kiếm bạn bè trên mạng dựa trên thông tin tiểu sử của người kia, sau đó bắt đầu cuộc trị chuyện bằng cách gửi tin nhắn cho nhau. Mỗi người dùng trong mạng là một đỉnh trong đồ thị và một tin nhắn từ người dùng u đến người dùng v tạo thành một cạnh (u, v, t) tương ứng, trong đó t là thời điểm gửi tin nhắn. Bộ dữ liệu thu thập được của mạng xã hội này gồm: 1,899 đỉnh và 59,835 cạnh.

• Gnutella: Gnutella là một mạng chia sẻ tập tin ngang hàng, được xây dựng vào năm 2000. Sử dụng một trình khách (Client) Gnutella được cài đặt trên máy, người dùng có thể tìm kiếm, tải xuống, tải lên các tệp tin trên mạng. Bộ dữ liệu thu được bằng một loạt các bức ảnh chụp nhanh (Snapshot) của mạng chia sẻ tập tin ngang hàng Gnutella. Tổng cộng có 9 bức ảnh chụp nhanh vào tháng 8/2002. Các đỉnh của đồ thị đại diện cho các máy trạm trong tôpô mạng, các cạnh biểu diễn các kết nối giữa những máy trạm này. Bộ dữ liệu thu thập được của mạng này gồm: 6,301 đỉnh và 20,777 cạnh.

Thông tin chi tiết về các bộ dữ liệu tiến hành thực nghiệm được mô tả trong bảng 4.1 dưới đây:

Tên mạng Kiểu đồ thị Số đỉnh Số cạnh Bậc lớn nhất Bậc trung bình

Email Có hướng 986 332,334 333 25.2

CollegeMsg Có hướng 1,899 59,835 237 10.6

Gnutella Có hướng 6,301 20,777 48 3.2

Bảng 4.1: Dữ liệu thực nghiệm

4.3 Cài đặt thực nghiệm

Các thuật toán trong thực nghiệm được cài đặt bằng ngơn ngữ lập trình Python. Thực nghiệm được tiến hành với các bộ dữ liệu mạng quy mô lớn, do vậy tất cả các thực nghiệm đều được chạy trên máy tính có tốc độ tính tốn cao để đảm bảo hiệu suất và thời gian chạy thực nghiệm. Cụ thể, cấu hình máy tính thực nghiệm như sau: Chipset: 2 x Intel(R) Xeon(R) CPU E5-2697 v4 @ 2.30GHz, RAM: 64 GB DIMM ECC DDR4 @ 2400MHz, hệ điều hành CentOS.

Ngồi hai thuật tốn tham lam được đề xuất, tác giả sử dụng hai thuật toán sau đây để so sánh, chi tiết hai thuật tốn xem trong phần phụ lục của luận văn:

• Max Degree: Lựa chọn những đỉnh có bậc cao nhất để tạo miễn dịch.

• Random: Lựa chọn ngẫu nhiên các đỉnh để tạo miễn dịch.

Trọng số ảnh hưởngw(u, v)trong mơ hình lan truyền thơng tin LT, được thiết lập như trong nội dung thực nghiệm của Kempe, 2003, [47] và nhiều cơng trình nghiên cứu khác [13, 61]: Mỗi cạnh đi đến đỉnh v được gán trọng số ảnh hưởng bằng 1/d(v), với d(v)là bậc đi đến (In-degree) của v. Điều này có nghĩa rằng mỗi cạnh đều có đóng góp như nhau trọng việc kích hoạt đỉnh v và tổng trọng số của tất cả các cạnh đi đến đỉnh v bằng 1.

Chi phí tạo miễn dịch với thông tin sai lệch đối với mỗi đỉnh u∈V được khởi tạo ngẫu nhiên một số thuộc khoảng [1.0,3.0].

Hơn nữa, tất cả những thuật tốn sử dụng phương pháp mơ phỏng Mote Carlo đều được chọn số lần mô phỏng R= 10000.

4.4 Kết quả thực nghiệm

Ảnh hưởng khi ngân sách B thay đổi: Chúng ta so sánh hiệu quả của Thuật toán 1 và Thuật tốn 3 với các thuật tốn cịn lại khi ngân sách B thay đổi, B = {10,25,35,50,70,110}, với d = 6 và tập nguồn phát thông tin sai lệch được khởi tạo ngẫu nhiên, |S| = 10. Tổng thiệt hại do thông tin sai lệch gây ra sau khi tạo miễn dịch cho tập đỉnh I được chỉ ra trong hình 4.1. Ở tất cả các trường hợp, Thuật toán 1 và Thuật toán 3 đều tốt hơn hai thuật toán Max Degree và Random, độ giảm thiệt hại khi áp dụng hai thuật toán này cao hơn từ 1.017 lần đến3.4781 lần so với thuật toán Max Degree. Đặc biệt, đối với mạng Email, khi ngân sách B = 10, Thuật toán 1 và Thuật toán 3 hiệu quả hơn 3.4781 lần và2.87lần tương ứng, so với thuật toán Max Degree; đối với mạng Gnutella, khi ngân sách B = 10, Thuật toán 1 và Thuật toán 3 hiệu quả hơn3.0521 lần và 3.02781 lần tương ứng, so với thuật toán Max Degree.

Khi ngân sách B = {50,70,110}, áp dụng Thuật toán 1 và Thuật tốn 3 hạn chế được từ 43.11% đến90.44% thơng tin sai lệch lan truyền trên mạng. Đặc biệt, đối với mạng Gnutella, khi B = 110, Thuật toán 1 và Thuật tốn 3 hạn chế được 90.44% và 90.41% tương ứng, thơng tin sai lệch lan truyền.

0 5 10 15 20 25 30 35 40 0 10 20 30 40 50 60 70 80 90 100 110 Tổ ng thi ệt hạ i Ngân sách (B) Algorithm 1 Max Degree Random Algorithm 3 (a) Email 0 10 20 30 40 50 60 0 10 20 30 40 50 60 70 80 90 100 110 Tổ ng thi ệt hạ i Ngân sách (B) Algorithm 1 Max Degree Random Algorithm 3 (b) CollegeMsg 0 20 40 60 80 100 120 0 10 20 30 40 50 60 70 80 90 100 110 Tổ ng thi ệt hạ i Ngân sách (B) Algorithm 1 Max Degree Random Algorithm 3 (c) Gnutella

Một phần của tài liệu Luận văn tốt nghiệp giảm thiểu tối đa thiệt hại do thông tin sai lệch gây ra trên mạng xã hội trực tuyến (Trang 47 - 55)

Tải bản đầy đủ (PDF)

(69 trang)