Việc xác định các phần tử lan truyền có ảnh hưởng (influential spreaders) trong một mạng xã hội đóng vai trò quan trọng trong việc lan truyền thông tin một cách hiệu quả. Ta có thể chọn được những phần tử có tính ảnh hưởng lớn nhất bằng cách dựa vào các độ đo như PageRank, Closeness, Betweenness,...
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN - - BÁO CÁO ĐỒ ÁN MÔN HỌC: MẠNG XÃ HỘI Năm học: 2020 - 2021 ĐỀ TÀI: SO SÁNH HIỆU NĂNG VÀ TÌM HIỂU THUẬT TỐN PHÂN CỤM Lớp: IS353.L12.HTCL Giảng viên hướng dẫn: Nguyễn Thị Kim Phụng Nhóm thực hiện: 18520872 – Lê Võ Đình Kha 18521018 – Bùi Cảnh Long 19522247 – Vũ Phú Thành 18520864 – Nguyễn Thu Huyền 17520589 – Trầm Thanh Huy TP Hồ Chí Minh, tháng 11 năm 2020 MỤC LỤC Lời nói đầu Lời cảm ơn Nhận xét giảng viên Lý chọn đề tài Độ đo VoteRank 2.1 Gới thiệu thuật toán VoteRank 2.2 Ý tưởng thuật toán VoteRank 2.3 Các bước thuật toán VoteRank 2.4 Ví dụ VoteRank 3 Betweenness Centrality Closeness Centrality PageRank 5.1 Giới thiệu thuật toán PageRank 5.2 Ý tưởng thuật toán PageRank 6 Girvan-Newman Thuật toán Louvain community Mơ hình dịch bệnh SIR 10 8.1 Các khái niệm mô hình SIR 10 8.2 Lý chọn mơ hình SIR 10 Đánh giá hiệu 11 10 Thực chương trình Python 15 10.1 Nội dung thằn lằn 15 10.2 Nội dung chim én 16 Phụ lục Tài liệu tham khảo Phân công công việc LỜI NÓI ĐẦU Việc xác định phần tử lan truyền có ảnh hưởng (influential spreaders) mạng xã hội đóng vai trị quan trọng việc lan truyền thơng tin cách hiệu Ta chọn phần tử có tính ảnh hưởng lớn cách dựa vào độ đo PageRank, Closeness, Betweenness, Tuy nhiên phương pháp dựa vào độ đo liệt kê gặp phải hạn chế xảy trường hợp phần tử lan truyền gần dẫn đến ảnh hưởng chúng bị trùng lắp làm giảm hiệu lan truyền Trong báo cáo nhóm muốn giới thiệu độ đo VoteRank vốn thiết kế để khắc phục vấn đề mà độ đo gặp phải Trong thuật toán VoteRank tất phần tử (nodes) tham gia vào bầu chọn phần tử có ảnh hưởng lớn (spreader) lượt khả bầu cử láng giềng node chọn giảm lượt Theo báo cáo nhóm tác giả VoteRank: Dựa mơ hình SIR (SusceptibleInfected-Recovered) SI (Susceptible-Infect) phương pháp dùng VoteRank vượt trội độ đo truyền thống tốc độ lây lan mạng lẫn quy mơ ảnh hưởng cuối (final affected scale) Ngồi VoteRank cịn có hiệu tính tốn tốt mặt tốc độ Báo cáo viết dựa báo khoa học nhóm tác giả VoteRank: Jian-Xiong Zhang, Duan-Bing Chen, Qiang Dong & Zhi-Dan Zhao Bài báo gốc tìm thấy địa chỉ: https://www.nature.com/articles/srep27823.pdf LỜI CẢM ƠN Trên thực tế khơng có thành công mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt học kỳ bắt đầu làm đồ án môn Mạng xã hội, nhóm em nhận nhiều quan tâm, giúp đỡ quý Thầy Cô, anh chị khóa bạn bè ngồi lớp Với lịng biết ơn sâu sắc nhất, nhóm em xin chân thành cảm ơn Cô Nguyễn Thị Kim Phụng tận tâm hướng dẫn chúng em qua buổi học lớp, giải đáp kịp thời thắc mắc chúng em Nếu khơng có lời hướng dẫn Cơ nhóm em nghĩ báo cáo nhóm khó để hồn thành Đồ án thực vịng hai tuần, bước đầu sử dụng ngơn ngữ Python để xử lý thuật tốn Do vậy, khơng tránh khỏi thiếu sót điều chắn, nhóm em mong nhận ý kiến đóng góp quý báu Cô làm kiến thức nhóm em hồn thiện Sau cùng, kính chúc Cơ thật nhiều sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau NHẬN XÉT CỦA GIẢNG VIÊN: - Lý chọn đề tài Trong giới thực, nhiều hệ thống phức tạp biểu diễn dạng mạng phức tạp Trong đó, nhiều hoạt động quảng cáo phương tiện truyền thông truyền miệng mạng xã hội mơ tả thông tin lan truyền mạng phức tạp Tối đa hóa quy mơ lan rộng mục tiêu phổ biến Với cấu trúc liên kết không thay đổi thay đổi chút, vị trí nút gốc xác định quy mô lan truyền cuối mức độ lớn Vấn đề chọn nút ban đầu làm nút lan truyền để đạt quy mô lan truyền tối đa xác định vấn đề tối ưu hóa ảnh hưởng Nghiên cứu chúng em tập trung vào chiến lược chọn tập hợp nút quan trọng làm công cụ lan truyền nguồn tin báo cáo Độ đo VoteRank 2.1 Giới thiệu thuật tốn VoteRank VoteRank thuật tốn nhóm tác giả Jian-XiongZhang, Duan-BingChen, Qiang Dong Zhi-DanZhao thuộc trung tâm khoa học Web trung tâm nghiên cứu BigData Đại học Khoa học Công nghệ Điện tử Trung Quốc đề xuất Bài báo khoa học nhóm hội đồng khoa học chấp nhận ngày 23 tháng năm 2016 xuất ngày 14 tháng năm 2016 Bài báo có tựa đề “Identifying a set of influential spreaders in complex networks” tạm dịch “Việc xác định tập hợp node có tính ảnh hưởng cao mạng lưới phức tạp” Bài báo để xác định tính ảnh hưởng node ta sử dụng độ đo closeness, betweenness, PageRank, ClusterRank Tuy nhiên, độ đo gặp phải hạn chế có khả số node có ảnh hưởng lớn lại gần nhau, dẫn đến phạm vi ảnh hưởng node dễ bị trùng lặp Thuật tốn leo đồi (hill-climbing) giải vấn đề đề cập trên, nhiên tốn thời gian, đặc biệt mạng có tỉ lệ scale lớn Ngồi ra, Narayanam and Narahari đề xuất thuật toán SPIN, tốn thời gian cho mạng lưới lớn, thời gian chạy CPU 28.25 phút để tìm 30 node quan trọng mạng có 1589 node Vì vậy, thuật toán VoteRank đời, node mạng lưới tiến hành bỏ phiếu cho node láng giềng (khởi tạo số bầu cử node nhau), sau bầu cử chọn node có số điểm cao nhất, đồng thời giảm khả bầu cử So sánh hiệu tìm hiểu thuật tốn phân cụm Trang node láng giềng node cao vừa Cứ tiếp tục thực n – lần bầu cử tìm n node có tính ảnh hưởng cao mạng lưới mà phạm vi ảnh hưởng chúng không bị trùng lặp đồng thời phương pháp áp dụng cho mạng với hàng triệu node lại tốn thời gian cập nhật thơng tin nội (local) sau chọn node ảnh hưởng Nhóm tác giả phát biểu rằng, qua bốn lần thử nghiệm mạng lưới thực tế (real networks) theo mơ hình lây lan dịch bệnh Susceptible-Infected-Recovered (SIR) mơ hình Susceptible-Infected (SI), VoteRank vượt trội so với phương pháp điểm chuẩn truyền thống tỉ lệ lan truyền thang đo ảnh hưởng cuối Hơn nữa, VoteRank có hiệu tính toán vượt trội 2.2 Ý tưởng thuật toán VoteRank Trong giới thực, người A hỗ trợ người B khả hỗ trợ người A người khác bị giảm Dựa vào quan sát đó, nhóm tác giả đưa ý tưởng thuật tốn VoteRank Ý tưởng VoteRank chọn node có ảnh hưởng lớn dựa điểm bỏ phiếu (voting scores) nhận từ láng giềng Node có điểm bỏ phiếu lớn xem node có ảnh hưởng lớn Những node láng giềng bị giảm khả bỏ phiếu Giả sử ta cần chọn N node có ảnh hưởng lớn tất node phải bỏ phiếu N lần Trong lần bỏ phiếu, node có điểm lớn chọn vào số N node có ảnh hưởng lớn Nếu node chọn lần bỏ phiếu trước node bị loại bỏ lần chọn sau Đồng thời láng giềng node chọn bị giảm khả bầu chọn (giảm điểm) lượt chọn sau Chúng ta tiếp tục lặp lại bước tìm N node có sức ảnh hưởng lớn 2.3 Các bước thuật toán VoteRank Trong VoteRank node gán (su, vau) su điểm mà node u nhận từ láng giềng, vau số điểm mà node u bầu cho láng giềng u Thuật toán bao gồm bước sau: Bước 1: Khởi tạo tất node với (0, 1) So sánh hiệu tìm hiểu thuật toán phân cụm Trang Bước 2: Thực bầu cử Các node nhận điểm từ láng giềng đồng thời cho điểm láng giềng Bước 3: Chọn node có su lớn gán cho node chọn (0, 0) lượt bầu cử sau Bước 4: Làm yếu khả bầu cử node láng giềng node chọn bước Các node láng giềng gán (su, vau – f) Với f tính cơng thức: 𝑓= 𝑘 Với k số bậc trung bình 2.4 Ví dụ VoteRank - Yêu cầu: Giả sử ta có mạng sau với yêu cầu tìm nodes có sức ảnh hưởng lớn - Các bước thực hiện: Khởi tạo tất node với (0,1) So sánh hiệu tìm hiểu thuật tốn phân cụm Trang Thực bầu cử lượt Các node nhận điểm từ láng giềng, đồng thời cho điểm láng giềng Chọn node có điểm bầu cử lớn (node với điểm) Thực bầu cử lượt Node gán (0, 0) láng giềng bị giảm điểm bầu cử f = 1/2.4 (2.4 số bậc trung bình mạng) Chọn node có điểm bầu cử lớn (2.583) So sánh hiệu tìm hiểu thuật toán phân cụm Trang Betweenness Centrality Betweenness centrality đỉnh tính tổng số đường ngắn ngang qua đỉnh xét chia cho tổng số đường ngắn tồn mạng Nói cách khác, Betweenness Centrality độ đo dùng để xác định vị tri tác nhân mạng mà có khả kết nối đến cặp tác nhân hay nhóm tác nhân khác Betweeness Centrality đỉnh u, ký hiệu CB (u), độ đo dùng để xem xét khả chi phối quan hệ nút khác mạng Một node có độ đo Betweenness Centrality cao thì: + Giữ vị trí đặc biệt quan trọng tầm ảnh hưởng lớn mạng + Nếu node bị loại bỏ gây tan rã cấu trúc mạng, tức node khơng cịn trao đơi thơng tin liên lạc với Cơng thức tính Betweenness centrality: 𝐶𝐵 𝑣 = 𝑠 ≠𝑣 ≠𝑡 ∈ 𝑉 So sánh hiệu tìm hiểu thuật tốn phân cụm 𝜎𝑠𝑡 (𝑣) 𝜎𝑠𝑡 Trang TÀI LIỆU THAM KHẢO Jian-Xiong Zhang, Duan-Bing Chen, Qiang Dong & Zhi-Dan Zhao, Identifying a set of influential spreaders in complex networks, https://www.nature.com/articles/srep27823.pdf Compartmental models in epidemiology https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology NDlib - Network Diffusion Library, https://ndlib.readthedocs.io/en/latest/ NetworkX 2.4 documentation, https://networkx.github.io/documentation/stable/tutorial.html Closeness centrality, Closeness centrality - Wikipedia Betweenness centrality, Betweenness centrality - Wikipedia Girvan-Newman, Girvan–Newman algorithm - Wikipedia Louvain community, Louvain method - Wikipedia Animal Social Networks, http://networkrepository.com/reptilia-lizard-networksocial.php 10 Hu, Z.-L., Liu, J.-G., Yang, G.-Y & Ren, Z.-M Effects of the distance among multiple spreaders on the spreading EPL106, 18002 (2014) Thơng tin liên hệ nhóm báo cáo: 18520872 – Lê Võ Đình Kha - 0342565857 18521018 – Bùi Cảnh Long - 0981249458 19522247 – Vũ Phú Thành - 0822021903 18520864 – Nguyễn Thu Huyền - 0364605631 17520589 – Trầm Thanh Huy - 0932909199