ĐỀ XUẤT mô HÌNH và THUẬT TOÁN xác ĐỊNH NHỮNG NGƯỜI HƯỚNG dẫn dư LUẬN TRONG các CỘNG ĐỒNG ảo CHUYÊN BIỆT NHƯ FACEBOOK GROUPS

96 132 0
ĐỀ XUẤT mô HÌNH và THUẬT TOÁN xác ĐỊNH NHỮNG NGƯỜI HƯỚNG dẫn dư LUẬN TRONG các CỘNG ĐỒNG ảo CHUYÊN BIỆT NHƯ FACEBOOK GROUPS

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI CẢM ƠN Luận Văn Thạc Sỹ thực Trường Đại Học Công Nghệ Thông Tin TP Hồ Chí Minh Để hồn thành luận văn này, tơi xin tỏ lòng biết ơn sâu sắc gửi lời cảm ơn chân thành đến Thầy TS Ngô Thanh Hùng, tận tình hướng dẫn, giúp đỡ cho tơi suốt trình thực luận văn tốt nghiệp Tôi xin chân thành cảm ơn quý Thầy, Cô khoa Khoa học máy tính phòng Sau đại học Trường Đại Học Công Nghệ Thông Tin TP Hồ Chí Minh tận tình truyền đạt kiến thức, tạo điều kiện thuận lợi mặt thủ tục cho hoạt động học tập thực luận văn Tôi xin gửi lời cảm ơn tới anh chị bạn lớp cao học khóa giúp tơi nhiều q trình học tập hồn thành luận văn Cuối cùng, tơi xin bày tỏ lòng biết ơn sâu sắc tới gia đình, bạn bè ln động viên, khích lệ tinh thần để tơi có đủ nghị lực hồn thành luận văn thạc sỹ Huỳnh Thanh Việt LỜI CAM ĐOAN Tôi cam đoan kết tìm hiểu đưa luận văn dựa kết thu q trình tìm hiểu riêng tơi Nội dung luận văn có tham khảo sử dụng số thơng tin, tài liệu từ nguồn sách, tạp chí, website liệt kê danh mục tài liệu tham khảo TP Hồ Chí Minh, Tháng 06 năm 2016 Huỳnh Thanh Việt MỤC LỤC MỤC LỤC DANH MỤC CÁC KÝ TỰ, CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU 10 Chương 1: TỔNG QUAN 15 Chương 2: CƠ SỞ LÝ THUYẾT 20 2.1 Lý thuyết truyền thông - 20 2.1.1 Truyền thơng q trình truyền thơng 20 2.1.2 Các loại truyền thông 25 2.1.3 Mơ hình truyền thơng hai giai đoạn 28 2.1.4 Truyền thông cộng đồng ảo 31 2.2 Lý thuyết Opinion Leader - 32 2.2.1 Định nghĩa Opinion Leader 32 2.2.2 Xác định Opinion Leader 34 2.2.3 Mơ hình hóa mạng xã hội 35 2.2.3.1 Mơ hình đồ thị mạng xã hội 35 2.2.3.2 Mơ hình lan truyền sức ảnh hưởng 36 2.2.4 Các phương pháp xác định Key Player/Opinion leader 37 2.3 Lý thuyết xử lý đa luồng xử lý phân tán - 39 2.3.1 Xử lý đa luồng 39 2.3.2 Mơ hình lập trình phân tán MapReduce 40 Chương 3: XÂY DỰNG MƠ HÌNH VÀ GIẢI THUẬT XÁC ĐỊNH KEY PLAYERS 42 3.1 Mơ tả tốn - 42 3.2 Những giả định toán 42 3.2.1 Mơ hình đồ thị thơng tin 42 3.2.1.1 Hướng cạnh 42 3.2.1.2 Trọng số cạnh 42 3.2.2 Mô hình lan truyền độc lập 43 3.2.3 Lựa chọn mơ hình cho toán 43 3.3 Áp dụng mơ hình cho nhóm Facebook 43 3.3.1 Giới thiệu nhóm Facebook, phân tích nhóm Facebook 43 3.3.2 Phương pháp thu thập liệu từ nhóm Facebook 45 3.4 Sức ảnh hưởng đỉnh đồ thị - 48 3.4.1 Sức ảnh hưởng trực tiếp đỉnh 48 3.4.2 Sức ảnh hưởng gián tiếp đỉnh 48 3.4.2.1 Sức ảnh hưởng đỉnh có đường nối đỉnh 49 3.4.2.2 Sức ảnh hưởng đỉnh có đường nối đỉnh 49 3.4.2.3 Sức ảnh hưởng đỉnh trường hợp tổng quát 50 3.4.3 Kiểm chứng cơng thức tìm sức ảnh hưởng đỉnh tới đỉnh khác 51 3.5 Phương pháp xác định Opinion leader/Key player 51 3.5.1 Dựa vào tổng sức ảnh hưởng tới tất đỉnh 51 3.5.1.1 Mơ tả tốn 51 3.5.1.2 Các bước thực thuật toán 51 3.5.2 Dựa vào tổng số đỉnh bị ảnh hưởng đỉnh theo ngưỡng (threshold) quan tâm  52 3.5.2.1 Mơ tả tốn 52 3.5.2.2 Các bước thực thuật toán 52 3.6 Xác định sức ảnh hưởng hai đỉnh theo mơ hình xử lý đa luồng - 53 3.6.1 Ý tưởng thực 53 3.6.2 Mơ hình xử lý 53 Chương 4: CÀI ĐẶT VÀ THỬ NGHIỆM 55 4.1 Dữ liệu đồ thị thông tin dùng thử nghiệm - 55 4.1.1 Dữ liệu đồ thị thông tin tự tạo 55 4.1.1.1 Đồ thị thông tin dạng thẳng 55 4.1.1.2 Đồ thị thông tin chứa đường gián tiếp giao hai đỉnh 55 4.1.1.3 Đồ thị thông tin chứa hai đường gián tiếp không giao hai đỉnh 56 4.1.1.4 Đồ thị thông tin chứa đường trực tiếp hai đường gián tiếp hai đỉnh 56 4.1.1.5 Đồ thị thông tin chứa đường trực tiếp nhiều đường gián tiếp hai đỉnh 57 4.1.2 Dữ liệu đồ thị thông tin thu thập từ Facebook Group 57 4.1.2.1 Đồ thị thơng tin nhóm lập trình viên Windows Phone chương trình DVLUP Việt Nam 57 4.1.2.2 Đồ thị thơng tin nhóm chun điện thoại Nokia Lumia 58 4.2 Môi trường cài đặt 59 4.3 Thử nghiệm - 59 4.3.1 Kiểm nghiệm công thức tìm sức ảnh hưởng đỉnh tới đỉnh khác đồ thị mơ hình lan truyền ý tưởng 59 4.3.1.1 Đồ thị thông tin dạng thẳng 60 4.3.1.2 Đồ thị thông tin chứa đường gián tiếp giao hai đỉnh 67 4.3.1.3 Đồ thị thông tin chứa hai đường gián tiếp không giao hai đỉnh 68 4.3.1.4 Đồ thị thông tin chứa đường trực tiếp hai đường gián tiếp hai đỉnh 69 4.3.1.5 Đồ thị thông tin chứa đường trực tiếp nhiều đường gián tiếp hai đỉnh 70 4.3.2 Xác định Key players dựa theo phương pháp KPP-TI, KPP-NOA phương pháp sức ảnh hưởng thông tin 71 4.3.2.1 Dữ liệu đồ thị thông tin tự tạo 72 4.3.2.2 Dữ liệu đồ thị thơng tin thu thập từ nhóm Facebook 75 4.3.4 So sánh phương pháp xác định Key players/Opinion leaders 78 4.3.4.1 Nhận xét, so sánh kết phương pháp tìm Key players KPPTI, KPP-NOA với phương pháp dựa vào sức ảnh hưởng thông tin 78 4.3.4.2 Nhận xét, so sánh cách tiếp cận xác định Key player đề tài 78 Chương 5: KẾT LUẬN, ƯU ĐIỂM, HẠN CHẾ, HƯỚNG PHÁT TRIỂN 80 5.1 Kết - 80 5.2 Đóng góp đề tài - 80 5.3 Ưu điểm 81 5.4 Hạn chế 81 5.5 Hướng phát triển 81 TÀI LIỆU THAM KHẢO 82 PHỤ LỤC 85 DANH MỤC CÁC KÝ TỰ, CHỮ VIẾT TẮT KPP-TI: Key player Problem – Total Influence KPP-NOA: Key player Problem – Number Of Affected DANH MỤC CÁC BẢNG Bảng 3.1 Bảng liệu Available module thu thập liệu 45 Bảng 3.2 Bảng liệu Feeds module thu thập liệu 46 Bảng 3.3 Bảng liệu Likes module thu thập liệu 46 Bảng 3.4 Bảng liệu Users module thu thập liệu 46 Bảng 4.1: Kết kiểm nghiệm sức ảnh hưởng trực tiếp đỉnh đồ thị thông tin dạng thẳng 62 Bảng 4.2: Kết kiểm nghiệm sức ảnh hưởng đỉnh qua đỉnh trung gian đồ thị thông tin dạng thẳng 64 Bảng 4.3: Kết kiểm nghiệm sức ảnh hưởng đỉnh qua đỉnh trung gian đồ thị thông tin dạng thẳng 65 Bảng 4.4: Kết kiểm nghiệm sức ảnh hưởng đỉnh qua đỉnh trung gian đồ thị thông tin dạng thẳng 66 Bảng 4.5: Kết kiểm nghiệm sức ảnh hưởng đỉnh qua đỉnh trung gian đồ thị thông tin dạng thẳng 67 Bảng 4.6: Kết kiểm nghiệm sức ảnh hưởng với đồ thị thông tin chứa đường gián tiếp giao 68 Bảng 4.7: Kết kiểm nghiệm sức ảnh hưởng với đồ thị thông tin chứa hai đường gián tiếp không giao 69 Bảng 4.8: Kết kiểm nghiệm sức ảnh hưởng với đồ thị thông tin chứa đường trực tiếp hai đường gián tiếp 70 Bảng 4.9: Kết kiểm nghiệm sức ảnh hưởng với đồ thị thông tin chứa đường trực tiếp nhiều đường gián tiếp 71 Bảng 4.10: Kết đỉnh Key Players theo phương pháp đồ thị thông tin dạng thẳng 73 Bảng 4.11: Kết đỉnh Key Players theo phương pháp đồ thị thông tin chứa đường gián tiếp giao 73 Bảng 4.12: Kết đỉnh Key Players theo phương pháp đồ thị thông tin chứa hai đường gián tiếp không giao 74 Bảng 4.13: Kết đỉnh Key Players theo phương pháp đồ thị thông tin chứa đường trực tiếp hai đường gián tiếp 74 Bảng 4.14: Kết đỉnh Key Players theo phương pháp đồ thị thông tin chứa đường trực tiếp nhiều đường gián tiếp 75 Bảng 4.15: Kết đỉnh Key Players theo phương pháp với ngưỡng KPPNOA 0.4 đồ thị thông nhóm lập trình viên Windows Phone chương trình DVLUP Việt Nam 76 Bảng 4.16: Kết đỉnh Key Players theo phương pháp với ngưỡng KPPNOA 0.7 đồ thị thơng nhóm lập trình viên Windows Phone chương trình DVLUP Việt Nam 76 Bảng 4.17: Kết đỉnh Key Players theo phương pháp với ngưỡng KPPNOA 0.4 đồ thị thơng tin nhóm điện thoại Nokia Lumia 77 Bảng 4.18: Kết đỉnh Key Players theo phương pháp với ngưỡng KPPNOA 0.7 đồ thị thơng tin nhóm điện thoại Nokia Lumia 78 Cài đặt thử nghiệm Key player Phương pháp có ý nghĩa cho trường hợp cụ thể mà yêu cầu người dùng cần phải xác định giá trị ngưỡng trước cho trình xác định Key Players 79 Kết luận, ưu điểm, hạn chế, hướng phát triển Chương 5: KẾT LUẬN, ƯU ĐIỂM, HẠN CHẾ, HƯỚNG PHÁT TRIỂN 5.1 Kết Đề tài tìm hiểu nghiên cứu mạng xã hội, lý thuyết truyền thơng, cơng trình nghiên cứu key player, opinion leader, nghiên cứu mơ hình mạng xã hội, giải thuật xác định key player Xây dựng mơ hình cho mạng xã hội dựa vào mơ hình đồ thị thơng tin mơ hình lan truyền độc lập Xây dựng mơ hình cho cộng đồng ảo chuyên biệt Facebook Group đồ thị có hướng, có trọng số chứa thơng tin cá nhân cộng đồng mạng ảnh hưởng viết cá nhân Xây dựng cơng thức tính sức ảnh hưởng hai đỉnh đồ thị mạng xã hội dựa xác suất lan truyền thành công ý tưởng Đã cài đặt thử nghiệm mơ hình lan truyền độc lập Dùng kiểm nghiệm cơng thức tính sức ảnh hưởng hai đỉnh đồ thị Đề xuất cách tiếp cận để xác định Key player/ Opinion leader Phương pháp KPP-TI dựa vào tổng sức ảnh hưởng đỉnh tới đỉnh khác đồ thị; phương pháp KPP-NOA dựa vào số đỉnh chịu ảnh hưởng đạt ngưỡng cho trước đỉnh đồ thị Đã vận dụng, xây dựng thuật toán xác định người hướng dẫn dư luận nhóm Facebook Đã gửi báo khoa học đến tạp chí SpringerPlus, chờ kết thẩm định tạp chí 5.2 Đóng góp đề tài Đưa định nghĩa Sức ảnh hưởng hai đỉnh dựa lý thuyết xác suất Xây dựng công thức tính xác Sức ảnh hưởng hai đỉnh dựa lý thuyết xác suất mơ hình lan truyền độc lập Công thức kiểm thử mô hình Monte Carlo với số đồ thị cho độ xác 95% Đề xuất cách xác định người hướng dẫn dư luận dựa tổng sức ảnh hưởng số người chịu ảnh hưởng đạt/ vượt ngưỡng 80 Kết luận, ưu điểm, hạn chế, hướng phát triển 5.3 Ưu điểm Xây dựng cơng thức tính sức ảnh hưởng hai đỉnh đồ thị Đề xuất hai cách xác định Keyplayer/Opinion leader cộng đồng ảo Kiểm nghiệm cơng thức tính sức ảnh hưởng hai đỉnh Monte Carlo với số đồ thị cho độ xác cao 5.4 Hạn chế Việc xây dựng đồ thị cho mạng xã hội thực đề tài đơn giản Đề tài trọng đến viết trạng thái thích (like) viết, việc xác định trọng số cạnh dựa số lượng thích viết tổng số viết, nhiều yếu tố khác hệ thống thật chưa tính tới thời gian viết, nội dung viết, comment với viết Tốc độ xử lý chương trình chưa cao, chưa áp dụng tảng phân tán nên chưa thể giải cho toán lớn 5.5 Hướng phát triển Hướng phát triển đề tài mở rộng mơ hình, phân tích xử lý yếu tố thời gian viết, nội dung viết comment với viết, nâng cao mục tiêu ứng dụng đề tài Áp dụng tảng phân tán nhằm tăng tốc độ xử lý chương trình phục vụ cho việc xử lý liệu lớn 81 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phan Trọng Tiến (04/2014), Bài giảng Lập trình Windows: Chương Lập trình đa luồng, Trường Đại học Nông nghiệp Hà Nội [2] Trần Cao Đệ (2013), “Điện toán đám mây toán xử lý liệu lớn theo mơ hình ánh xạ -rút gọn”, Tạp chí khoa học Trường Đại học Cần Thơ [3] Trần Hữu Quang, Xã hội học Truyền Thông Đại Chúng, NXB Đại Học Mở Bán công TP Hồ Chí Minh, 1997 Tiếng Anh [4] Berzinji A Detecting key players in terrorist networks MSc Thesis, Uppsala University 2011 [5] Elihu Katz (1957), “The Two-Step Flow of Communication: An Up-To Date Report on a Hypothesis”, The Public Opinion Quarterly 21:1, pp 61-78 [6] Jeffrey Dean, SanJay Ghemawat (2010), “MapReduce: A Flexible Data Processing Tool”, Communications of the ACM, Vol.53, No.1, pp72 [7] Matthew C Nisbet, John E Kotcher (2009), “A two -step of influence? Opinion Leader Campaigns on Climate Change”, Science Communication, Vol.30 (3), pp 328-354 [8] Mohamed Abdel-Ghany (2012), “IDENTIFYING OPINION LEADERS USING SOCIAL NETWORK ANALYSIS, A STUDY IN AN EGYPTIAN VILLAGE”, Russian Journal of Agricultural and Socio-Economic Sciences, No.4, pp 12-18 [9] Mohamed Sathik, Abdul Rasheed (2009), “A Centrality Approach to Identify Sets of Key Players in an Online Weblog”, International Journal of Recent Trends in Engineering, Vol.2 (3), pp 85-87 [10] Ortiz-Arroyo (2010), “Discovering Sets of Key Players in Social Networks”, Computational Social Networks Analysis, pp 27-47 [11] Oritz-Arroyo, Hussain (2008), “An Information Theory Approach to Identify Sets of Key Players”, Intelligence and Security Informatics, pp 15-26 82 [12] Paul Felix Lazarsfeld, Bernard Bereson, Hazel Gaudet (1944), “The People’s choice: how the voter makes up his mind in a presidential campaign”, Columbia University Press [13] Rogers, Cartano (1962), “Methods of measuring Opinion Leadership”, The Public of Opinion Quarterly, 26(3), pp 435-441 [14] Stephen P Borgatti (2006), “Identifying sets of key players in a social network”, Comput Math Organiz Theor, pp 21-34 [15] Troldahl (2001), “A Field Test of a Modified “Two-Step Flow of Communication” Model”, Public Opinion Quarterly 30.4 [16] Valente, Pumpuang (2007), “Identifying Opinion Leaders to promote behavior change”, Health Educ Behav, 34 (6), pp 881-896 [17] Vito Latora, Massimo Marchiori (2004), “How the science of complex networks can help developing strategies against terrorism”, Chaos, Solitons and Fractals, pp 69-75 [18] Vito Latora, Massimo Marchiori (2003), “Economic small -world behavior in weighted networks”, The European Physical Journal B, pp 249-263 [19] Xiaofei Zhang, Dahai Dong (2008), “Ways of Identifying the Opinion Leaders in Virtual Communities”, International Journal of Business and Management, pp 21-27 [20] Wei Chen, Yifei Yuan, Li Zhang (2010) “Scalable Influence Maximization in Social Networks under the Linear Threshold Model” [21] Freeman, L C (1978) Centrality in social networks conceptual clarification Social networks, 1(3), 215-239 [22] Goldenberg, J., Libai, B., & Muller, E (2001) Talk of the network: A complex systems look at the underlying process of word-of-mouth Marketing letters, 12(3), 211-223 [23] Goldenberg, J., Libai, B., & Muller, E (2001) Using complex systems analysis to advance marketing theory development: Modeling heterogeneity effects on new product growth through stochastic cellular automata Academy of Marketing Science Review, 2001, 83 [24] Fang, X., Hu, P J H., Li, Z., & Tsai, W (2013) Predicting adoption probabilities in social networks Information Systems Research, 24(1), 128-145 [25] Goyal, A., Bonchi, F., & Lakshmanan, L V (2010, February) Learning influence probabilities in social networks In Proceedings of the third ACM international conference on Web search and data mining (pp 241-250) ACM [26] Kempe, D., Kleinberg, J., & Tardos, É (2003, August) Maximizing the spread of influence through a social network In Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining (pp 137-146) ACM [27] Lei, S., Maniu, S., Mo, L., Cheng, R., & Senellart, P (2015, August) Online influence maximization In Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (pp 645-654) ACM [28] Borgatti, S.P (2002) NetDraw Software for Network Visualization Lexington, KY: Analytic Technologies [29] Borgatti S.P., Everett MG and Freeman LC 2002, Ucinet for Windows: Software for Social Network Analysis Havard, MA: Analytic Technologies 84 PHỤ LỤC Dưới source code chương trình viết ngơn ngữ C++ mơ tả số thuật tốn đề tài  Mô tả source code phương pháp xác định Key players dựa vào tổng sức ảnh hưởng tới đỉnh :  Các hàm thực cơng việc sau: - Tính sức ảnh hưởng đỉnh đồ thị + Duyệt ma trận đầu vào, tìm đường hai đỉnh (bao gồm đường trực tiếp đường gián tiếp) Đường hai đỉnh vi vj xác định bao gồm: đường trực tiếp trọng số cạnh ij theo công thức (3.1) đường gián tiếp xác định theo cơng thức (3.3) + Tính sức ảnh hưởng đỉnh mạng theo công thức (3.5) (3.7) - Sắp xếp sức ảnh hưởng từ cao đến thấp - Xuất danh sách đỉnh có sức ảnh hưởng lớn  Source code  Tìm sức ảnh hưởng đỉnh đồ thị  Source code hàm tìm sức ảnh hưởng đỉnh tới đỉnh khác đồ thị sử dụng đệ quy: Hàm FindPathTwoVertex1(MTWEIGHTEDIN, source, end, numOfEdge) duyệt tất đường từ đỉnh đến đỉnh khác, tính sức ảnh hưởng đỉnh tới đỉnh theo đường FindPathTwoVertex1(MTWEIGHTEDIN, source, end, numOfEdge) // input: ma trận trọng số, source: đỉnh bắt đầu, end: đỉnh kết thúc, numOfEdge: số cạnh đường hai đỉnh // ouput: sức ảnh hưởng theo đường từ đỉnh source đến đỉnh end If (L[numOfEdge-1] == end && source!= end ) //xét điều kiện để tính toán đường hai đỉnh CalculateLen1(source, end, numOfEdge);// hàm tính tốn đường hai đỉnh source end 85 Else For i=1 to n If( MTWEIGHTEDIN[L[numOfEdge-1]][i]>0 && Mark[i] == ) L[numOfEdge] = i; //Lưu lại đỉnh vừa tới Mark[i] = 1; // Đánh dấu đỉnh vừa duyệt tới FindPathTwoVertex1(MTWEIGHTEDIN, source, end, numOfEdge+1); //Duyệt tới đỉnh L[numOfEdge] = 0; 10 Mark[i] = 0; //xóa đánh dấu đỉnh vừa duyệt tới 11 EndIf 12 13 EndFor EndIf  Source code hàm tìm sức ảnh hưởng đỉnh tới đỉnh khác đồ thị không sử dụng đệ quy: FindPathTwoVertex2(MTWEIGHTEDIN, source, end) // input: ma trận trọng số, source: đỉnh bắt đầu, end: đỉnh kết thúc // ouput: sức ảnh hưởng theo đường từ đỉnh source đến đỉnh end arrayVertex1[countStack1]=source; // khởi tạo mảng chứa đỉnh bắt đầu arrayVertex2[countStack2]=source; While( countStack1>0 AND countStack2>0 ) index = arrayVertex1[countStack1]; If ( index == end ) // index với đỉnh kết thúc tiến hành tính đường arrayVertex2[0] = source; CalculateLen(arrayVertex2,countStack2, source, end); // Gọi hàm tính độ dài đường hai đỉnh 86 DeleteArrayVertex (arrayVertex1,countStack1,arrayVertex2,countStack2); Else 10 hangVertex = 1; //Gia su ton tai dinh treo 11 For i=1 to n 12 If(MTWEIGHTEDIN[index][i] > && CheckVertexInStack(i,arrayVertex2,countStack2)==1)//kiểm tra đỉnh i mảng đỉnh 13 countStack1++; 14 arrayVertex1[countStack1] = i; 15 hangVertex = 0; 16 EndIf 17 EndFor 18 If(hangVertex==1) // tồn đỉnh treo DeleteArrayVertex (arrayVertex1,countStack1,arrayVertex2,countStack2);//Xóa tất phần từ giống đầu arrayVertex1 arrayVertex2 19 Else 20 countStack2++; 21 arrayVertex2[countStack2]= arrayVertex1[countStack1]; 22 EndIf 23 If(arrayVertex2[countStack2]==end) 24 arrayVertex2[0] = source; 25 CalculateLen(arrayVertex2,countStack2, source, end);// Gọi hàm tính độ dài đường 26 DeleteArrayVertex (arrayVertex1,countStack1,arrayVertex2,countStack2); 27 28 29 EndIf EndIf EndWhile  Hàm tính tốn đường CalculateLen(arrayVertex2,countStack2, source, end) sau: CalculateLen(arrayVertex2,countStack2, source, end) 87 // input: soure, end, arrayVertex2, countStack2: đỉnh nguồn, đích, mảng chứa cạnh đường đi, độ dài số cạnh đường // output: sức ảnh hưởng theo đường từ đỉnh source đến đỉnh end lenValue = 1; For i = to countStack2 lenValue = lenValue * MTWEIGHTED[arrayVertex2[i- 1]][ arrayVertex2[i]]; EndFor If (LenPath[source][end] == 0) LenPath[source][end] = - lenValue;// lúc đường m_IsPath[source][end] = true; // đánh dấu có đường từ đỉnh source tới đỉnh end Else LenPath[source][end] *= ( 1- lenValue); // lúc đường thứ 2,3,… 10 m_IsPath[source][end] = true; // đánh dấu có đường từ đỉnh source tới đỉnh end 11 EndIf  Source code hàm tính sức ảnh hưởng đỉnh đồ thị : EffectionOfVertex(MTWEIGHTEDIN) // input: ma trận trọng số đồ thị // output: sức ảnh hưởng đỉnh đồ thị For i=1 to n P[i] = 0; // khởi tạo sức ảnh hưởng đỉnh mạng EndFor For i=1 to n For j=1 to n If ( i!= j) // i khác j FindPathTwoVertex2(MTWEIGHTED, i, j); EndIf 88 If ( m_IsPath[i][j] == true ) //nếu tồn đường từ đỉnh i đến đỉnh j 10 LenPath[i][j] = – LenPath[i][j];// tính sức ảnh hưởng theo cơng thức (3.5) 11 EndIf 12 P[i] += LenPath[i][j];// tính tổng sức ảnh hưởng đỉnh i tới đỉnh khác đồ thị theo công thức (3.6) 13 EndFor 14 EndFor 15 For i=1 to n 16 Return P[i]; // xuất giá trị sức ảnh hưởng đỉnh đồ thị 17 EndFor  Source code tìm Key player  Hàm Keyplayer(count) dùng để tìm in danh sách đỉnh có sức ảnh hưởng lớn (key player/opinion leader) đồ thị thông tin: Keyplayer(count) // input: count số lượng key player cần tìm đồ thị thơng tin // output: xuất danh sách count đỉnh key players EffectionOfVertex(MTWEIGHTEDIN); // Gọi hàm tính sức ảnh hưởng SortMT(P,a); // xếp thứ tự đỉnh mảng theo sức ảnh hưởng giảm dần OutMatrix(a, P, count);  Source code hàm xếp đổi chỗ trực tiếp sau: SortMT(P,a) // input: mảng P chứa sức ảnh hưởng đỉnh, mảng a chứa đỉnh theo thứ tự sức ảnh hưởng mảng P // output: mảng P a xếp lại theo sức ảnh hưởng For i = to n-1 For j = i+1 to n 89 If(P[i]

Ngày đăng: 23/12/2018, 06:12

Từ khóa liên quan

Mục lục

  • BiaSau

  • NoiDung

Tài liệu cùng người dùng

Tài liệu liên quan