Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
1,46 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỖ VĂN CHƯƠNG MỘT SỐ THUẬT TOÁN XÁC ĐỊNH CỘNG ĐỒNG TRONG MẠNG XÃ HỘI LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH Thái Nguyên – 2021 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỖ VĂN CHƯƠNG MỘT SỐ THUẬT TOÁN XÁC ĐỊNH CỘNG ĐỒNG TRONG MẠNG XÃ HỘI LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 84 01 01 Người hướng dẫn: TS Vũ Vinh Quang Thái Nguyên - 2021 LỜI CẢM ƠN Để hoàn thành luận văn trước tiên, em xin gửi lời cảm ơn sâu sắc tới thầy giáo hướng dẫn TS Vũ Vinh Quang tận tình hướng dẫn đưa nhiều ý kiến đóng góp cho em suốt q trình thực hoàn thành luận văn Em xin gửi lời cảm ơn đến thầy giáo, cô giáo Trường Đại học Công nghệ Thông tin Truyền thông – Đại học Thái Nguyên trực tiếp giảng dạy truyền đạt kiến thức quý báu cho em suốt trình học tập trường Mặc dù cố gắng hoàn thành luận văn phạm vi khả mình, nhiên khơng tránh khỏi thiếu sót Em mong nhận cảm thông bảo quý thầy cô bạn Em xin chân thành cảm ơn LỜI CAM ĐOAN Tôi xin cam đoan Luận văn “Một số thuật toán xác định cộng đồng mạng xã hội” thực hướng dẫn trực tiếp thầy TS Vũ Vinh Quang Các kết quả, số liệu nêu luận văn trung thực Tất tham khảo từ nghiên cứu liên quan nêu rõ nguồn gốc danh mục tài liệu tham khảo rõ tham khảo tài liệu Mọi chép không hợp lệ vi phạm quy chế đào tạo, xin chịu hoàn toàn trách nhiệm Thái Nguyên, ngày 18 tháng 02 năm 2021 Học viên Đỗ Văn Chương MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN _2 DANH SÁCH CÁC HÌNH VẼ _4 MỞ ĐẦU CHƯƠNG _11 TỔNG QUAN VỀ MƠ HÌNH ĐỒ THỊ VÀ MẠNG XÃ HỘI _11 1.1 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ MƠ HÌNH ĐỒ THỊ 11 1.1.1 Một số định nghĩa đồ thị _11 1.1.2 Một số khái niệm _12 1.1.3 Các phương pháp mô tả đồ thị 13 1.2 MỘT SỐ THUẬT TOÁN TRÊN ĐỒ THỊ 15 1.2.1 Các thuật toán duyệt đồ thị 16 1.2.2 Bài toán xác định đường ngắn _18 1.3 MỘT SỐ KIẾN THỨC VỀ MẠNG XÃ HỘI 22 1.3.1 Một số khái niệm 22 1.3.3 Một số độ đo đồ thị mạng xã hội 22 CHƯƠNG _36 MỘT SỐ THUẬT TOÁN XÁC ĐỊNH CỘNG ĐỒNG _36 2.1 GIỚI THIỆU CHUNG 36 Nhóm thuật tốn dựa mơ đun 36 Các thuật toán dựa phân tầng Clique 36 Các thuật toán dựa lan truyền nhãn 37 Các thuật toán dựa phân vùng phân cấp 37 2.2 MỘT SỐ THUẬT TOÁN XÁC ĐỊNH MẠNG XÃ HỘI _39 2.2.1 Giới thiệu họ thuật toán Girvan Newman 39 2.2.2 Giới thiệu thuật toán CONGA _42 2.2.3 Thuật toán lan truyền nhãn LPA _48 2.2.4 Thuật toán phát cộng đồng dựa độ đo đỉnh 51 CHƯƠNG _54 MƠ HÌNH CÁC CỘNG ĐỒNG HỌC SINH 54 TRONG TRƯỜNG PHỔ THÔNG 54 3.1 GIỚI THIỆU VỀ NHÀ TRƯỜNG _54 3.2 XÂY DỰNG ĐỒ THỊ DỮ LIỆU CỦA HỌC SINH _54 3.2.1 Đặt vấn đề 56 3.2.2 Kết tổng hợp phiếu điều tra 57 3.2.1 Xây dựng đồ thị mạng xã hội 58 3.3 KẾT QUẢ PHÂN TÍCH CÁC CỘNG ĐỒNG 59 KẾT LUẬN _63 TÀI LIỆU THAM KHẢO _64 PHỤ LỤC _65 THUẬT TOÁN XÁC ĐỊNH CỘNG ĐỒNG LPA 65 THUẬT TOÁN XÁC ĐỊNH CỘNG ĐỒNG DO_CD 66 DANH SÁCH CÁC HÌNH VẼ Tên hình vẽ Stt Hình 1.1: (a) Một đồ thị vơ hướng Hình 1.1: (b) Biểu diễn ma trận kề Hình 1.1: (c) Biểu diễn danh sách kề Hình 1.2: (a) Một đồ thị có hướng Hình 1.2: (b) Ma trận kề Hình 1.2: (c) Biểu diễn danh sách kề Hình 1.3: (a) Đồ thị trọng số Hình 1.3: (b) Ma trận kề Hình 1.3: (c) Danh sách kề 10 Hình 1.4: Duyệt theo chiều rộng BFS 11 Hình 1.5: Mạng Zachary Karate Club 12 Hình 1.6: Mạng American college football 13 Hình 1.7: Mạng Dolphin 14 Hình 1.8: Mạng Les Miserables 15 Hình 1.9: Độ đo trung tâm đỉnh đồ thị 16 Hình 1.10: Minh họa số độ đo đồ thị 17 Hình 1.11: Đồ thị G vơ hướng 18 Hình 2.1: Ví dụ trường hợp khơng phân tách đỉnh v đồ thị 19 Hình 2.2: Ví dụ phép phân chia đỉnh đồ thị 20 Hình 2.3: Tìm phép phân chia tối ưu 21 Hình 2.4: Ví dụ đồ thị mạng xã hội DANH SÁCH CÁC BẢNG Tên bảng Stt Bảng 3.1: Mã số môn học Bảng 3.2: Mã số loại khiếu Bảng 3.3: Kết xác định cộng đồng đồ thị HT_12A4.dat Thuật toán Lan truyền nhãn LPA – Algorithm_LPA.m Bảng 3.4: Kết xác định cộng đồng đồ thị HT_12.dat Thuật toán Lan truyền nhãn LPA – Algorithm_LPA.m Bảng 3.5: Kết xác định cộng đồng tất lớp khối 12 Thuật toán Lan truyền nhãn LPA- Thuật tốn DO_CD 55 tích cực cho việc đổi phương pháp dạy học phù hợp với xu nay, đáp ứng yêu cầu đổi giáo dục Sự cố gắng hệ thầy cô giáo góp phần to lớn việc tạo nên diện mạo cho nhà trường, cho ngành giáo dục tỉnh nhà Bên cạnh việc xây dựng đội ngũ, nhà trường cịn trọng đến cơng tác giáo dục đạo đức cho học sinh Xây dựng nội dung giáo dục kĩ sống, gắn nội dung giáo dục đạo đức nhân cách học sinh hoạt động giáo dục ngồi lên lớp, hoạt động ngoại khóa…nhằm giúp cho em học sinh có nhận thức đầy đủ không kiến thức mà trang bị cho em kiến thức xã hội giúp em đủ tự tin, vững bước vào đời, dám đối mặt biết cách giải khó khăn, thử thách cơng việc sống Số lượng học sinh xếp loại hạnh kiểm tốt, 90%, học sinh xếp loại học lực khá, giỏi 60%, khơng có học sinh mắc tệ nạn xã hội Kết học sinh giỏi cấp giữ vững Tỉ lệ đỗ tốt nghiệp THPT hàng năm đạt 98% trở lên Học sinh đỗ vào trường đại học tăng theo năm học Nhiều học sinh đạt giải Nhất, Nhì kì thi chọn học sinh giỏi cấp tỉnh, kì thi Dạy học theo chủ đề tích hợp liên mơn Bộ giáo dục Đào tạo tổ chức Nhiều thầy cô trở thành nhà giáo mẫu mực, tặng Danh hiệu Chiến sĩ thi đua, Bộ trưởng Bộ GD&ĐT, Chủ tịch tỉnh Bắc Giang tặng Bằng khen, Giám đốc Sở Giáo dục đào tạo Bắc Giang, Chủ tịch huyện Hiệp Hòa tặng Giấy khen Nhiều thầy cô giáo đạt Giáo viên dạy giỏi cấp trường, cấp tỉnh Nhà trường liên tục nhiều năm đạt Danh hiệu Trường tiên tiến Kết thi THPT Quốc gia năm 2019, trường vượt lên xếp thứ 10 tổng số 46 trường THPT toàn tỉnh Phát huy kết giáo dục đạt thầy trị Trường THPT Hiệp Hịa số ln đề phương hướng mục tiêu giai đoạn mới, tâm xây dựng nhà trường vững mạnh, toàn diện Để đạt mục tiêu đó, nhà trường ln xác định nhiệm vụ trọng tâm, trọng điểm năm học gắn với hoạt động đổi giáo dục phong trào thi đua ngành Với định hướng đó, Trường THPT Hiệp Hịa số bước phát 56 triển bền vững ngày trưởng thành, đã, trở thành nhà trường có chất lượng giáo dục tốt, địa tin cậy phụ huynh học sinh khu vực 3.2 Xây dựng đồ thị liệu học sinh 3.2.1 Đặt vấn đề Tập hợp 1400 học sinh nhà trường chia thành khối học, khối: + Khối 10: gồm 11 lớp 10A1 đến 10A11 + Khối 11: gồm 11 lớp 11A1 đến 11A11 + Khối 12: gồm 11 lớp 12A1 đến 12A11 Mỗi học sinh có nhiều khiếu khác nhau, chia thành hai loại: + Năng khiếu học tập: học sinh có khiếu mơn học chủ chốt: Tốn, Vật lý, Hóa học, Sinh học, Văn học, Lịch sử, Địa lý, Tin học, Ngoại ngữ Các môn học mã số bảng sau: Bảng 3.1 Mã số môn học Mã số 10 Tên Tốn Vật Hóa Sinh Tin Văn Lịch Địa Ngoại học môn Lý học học học Học sử Lý ngữ 11 12 GC Công Thể CD Nghệ dục + Năng khiếu Văn nghệ, thể dục thể thao: học sinh có khiếu mơn khiếu: Cầu lơng, Bóng đá, Bóng bàn, Bơi lội, Cầu mây, Hát, Múa, Đàn, Khiêu vũ Các môn khiếu mã số bảng sau: Bảng 3.2: Mã số loại khiếu Mã số Năng Cầu Bóng Bóng Bơi Cầu Hát Múa Đàn Khiêu khiếu lông đá bàn lội mây vũ Trong sinh hoạt cộng đồng, hiển nhiên học sinh có khiếu thường có quan hệ mật thiết hơn, hay nói cách khác coi học sinh cá thể cộng đồng học sinh nhà trường em có chung sở thích tạo thành cộng đồng 57 Như để nghiên cứu cộng đồng học sinh nhà trường, cần xây dựng sở liệu tồn thể cộng đồng học sinh trường, tìm cách phát cộng đồng để từ đề xuất biện pháp quản lý, giáo dục để nâng cao chất lượng học tập rèn luyện cho học sinh tương lai Với mục đích vậy, chúng tơi phát phiếu điều tra cho tồn học sinh nhà trường để khảo sát sở thích học sinh hai lĩnh vực: Học tập Năng khiếu Mẫu phiếu điều tra thiết kế sau: SỞ GD&ĐT BẮC GIANG Trường THPT Hiệp Hòa số PHIẾU ĐIỀU TRA Đề nghị Em học sinh điền đầy đủ thông tin sau Họ tên: …………………………………………………………… Lớp: ………………………………………………………………… Khối: ………………………………………………………………… Trong môn học, Em thích học mơn học nào: ……………… Trong mơn khiếu, Em thích mơn nhất: ……………… Ghi chú: Chỉ điền tên môn học môn khiếu theo danh sách sau: + Mơn học: Tốn, Vật lý, Hóa học, Sinh học, Văn học, Lịch sử, Địa lý, Tin học, Ngoại ngữ + Môn khiếu: Cầu lơng, Bóng đá, Bóng bàn, Bơi lội, Cầu mây, Hát, Múa, Đàn, Khiêu vũ 3.2.2 Kết tổng hợp phiếu điều tra Chúng phát phiếu thu 1500 phiếu điều tra tập hợp thành 72 tập liệu đánh số theo tên lớp: chia thành loại hình: Khối 10: + Từ HT_10A1 đến HT_10A11 cho thông tin môn Học tập 58 + Từ NK_10A1 đến NK_10A11 cho thông tin môn Năng khiếu Khối 11: + Từ HT_11A1 đến HT_11A11 cho thông tin môn Học tập + Từ NK_11A1 đến NK_11A11 cho thông tin môn Năng khiếu Khối 12: + Từ HT_12A1 đến HT_12A11 cho thông tin môn Học tập + Từ NK_12A1 đến NK_12A11 cho thông tin môn Năng khiếu Xuất phát từ tập liệu trên, tiến hành xây dựng liệu cho khối liệu tồn trường + Tập HT_10: Thơng tin môn Học tập cho khối 10 + Tập HT_11: Thông tin môn Học tập cho khối 11 + Tập HT_12: Thông tin môn Học tập cho khối 12 + Tập NK_10: Thông tin môn Năng khiếu cho khối 10 + Tập NK_11: Thông tin môn Năng khiếu cho khối 11 + Tập NK_12: Thông tin môn Năng khiếu cho khối 12 + Tập HT_HH: Thông tin môn Học tập cho tồn trường + Tập NK_HH: Thơng tin mơn Năng khiếu cho tồn trường 3.2.3 Xây dựng đồ thị mạng xã hội Từ tập liệu trên, mã số học sinh, coi học sinh đỉnh đồ thị mạng xã hội, hai học sinh sở thích tồn cạnh nối Từ chúng tơi thu mạng xã hội mô tả mối quan hệ học sinh lớp, khối tồn trường Các đồ thị mơ tả dạng danh sách cạnh số đỉnh mã số học sinh, cạnh mơ tả mối quan hệ sở thích Tập hợp files liệu lưu trữ dạng file.dat HT_10.đat, HT_11.dat, HT_12.dat, NK_10.dat,NK_11.dat, NK_12.dat cho khối HT_HH.dat, NK_HH.dat cho toàn trường 59 Tương tự, coi hai học sinh có sở thích: Thích học mơn học thích khiếu tồn mối quan hệ khăng khít mạng xã hội, thu đồ thị HT_NK khối lớp toàn trường Các tập liệu đầu vào cho chương trình thử nghiệm thuật tốn phát cộng đồng lập trình mơi trường Matlab 3.3 Kết phân tích cộng đồng học sinh mạng xã hội Sử dụng hai thuật toán lan truyền nhãn LPA thuật toán phân cụm đồ thị DO_CD thiết kế chương 2, tiến hành thử nghiệm xác định cộng học sinh đồ thị mạng xã hội đồ thị xây dựng Kết thu sau: Bảng 3.3: Kết xác định cộng đồng đồ thị HT_12A4.dat Thuật toán Lan truyền nhãn LPA – Algorithm_LPA.m Số học sinh: 45 STT Cộng Mã số thành viên đồng Công nghệ 42 40 32 31 17 15 13 11 GDCD 35 Ngoại ngữ 45 39 37 34 25 22 21 19 Toán học 44 43 36 33 29 27 26 20 18 16 Vật Lý 41 30 28 23 Hóa học 38 24 14 12 10 Bảng 3.4: Kết xác định cộng đồng đồ thị HT_12.dat Thuật toán Lan truyền nhãn LPA – Algorithm_LPA.m Số học sinh: 481 Tên STT cộng đồng Hóa học Mã số thành viên 473 469 452 450 440 171 167 150 148 138 130 116 60 85 71 43 42 41 40 39 34 31 30 22 21 18 17 16 14 13 12 11 2 Vật lý 26 10 25 24 23 133 122 120 115 88 77 75 70 27 15 481 480 479 475 474 472 471 470 463 462 461 458 448 447 446 443 441 439 435 434 433 432 431 429 427 426 425 424 423 421 418 416 415 413 412 410 409 407 406 402 401 400 399 124 79 374 373 372 371 370 369 368 367 366 363 362 361 360 359 358 357 356 355 354 353 352 349 347 345 339 338 337 336 331 322 321 319 318 315 312 311 306 305 304 Công nghệ 302 301 300 298 294 292 290 287 284 283 282 281 280 279 278 277 276 275 274 272 271 264 263 261 258 255 254 253 251 248 246 243 242 240 239 238 236 235 234 233 230 229 226 224 222 221 216 206 191 188 187 185 180 179 178 177 173 172 170 169 168 161 160 159 156 146 145 144 141 139 134 132 123 109 107 105 103 101 78 64 62 60 58 56 54 99 53 98 49 48 94 36 93 89 87 28 19 478 477 476 467 466 465 460 457 456 455 454 453 451 449 445 444 442 325 267 250 249 245 232 227 220 219 213 210 207 203 201 200 197 193 192 189 Toán học 183 176 175 174 165 164 163 158 155 154 153 152 151 149 147 143 142 140 136 135 128 125 121 119 118 112 110 108 106 104 102 91 90 83 80 76 74 73 47 46 45 44 37 35 33 29 67 65 63 61 59 57 20 468 464 438 437 436 430 404 382 343 342 340 335 Ngoại ngữ 333 332 329 328 327 324 316 310 307 299 273 269 268 266 265 262 260 259 237 231 218 214 208 199 198 196 195 182 181 166 162 137 131 129 126 117 61 113 111 100 95 92 86 84 81 72 68 Giáo dục 348 346 344 334 330 313 256 202 127 Công dân 52 Địa lý Tin học Sinh học 10 Văn học 11 Lịch sử 51 66 55 97 50 96 38 417 377 365 364 323 308 291 204 114 69 32 459 420 419 414 411 405 326 317 314 309 289 257 252 247 244 228 225 223 186 184 157 124 79 350 270 217 215 212 211 209 205 194 190 422 408 403 351 341 320 303 297 296 295 293 288 286 285 428 241 Bảng 3.5: Kết xác định cộng đồng tất lớp khối 12 Thuật toán Lan truyền nhãn LPA- Thuật toán DO_CD Tên Số học lớp sinh 82 Số cộng đồng Thời gian chạy Thời gian chạy LPA DO_CD 12A1 47 0.4476 2.4426 12A2 47 0.4235 2.3543 12A3 44 0.4720 2.7204 12A4 45 0.4598 2.5989 12A5 45 0.4628 2.4285 12A6 42 0.4658 2.6581 12A7 44 0.4695 2.6956 12A8 44 0.4720 2.7205 12A9 41 0.4756 2.4564 12A10 44 0.4776 2.4675 12A11 42 0.4820 2.2043 62 Hoàn toàn tương tự, thu kết xác định cộng đồng học sinh trường khối 10 chung toàn trường Các kết thu xác định cộng đồng học sinh có chung khiếu Thông qua kết thực nghiệm thuật toán liệu thực tế với số thành viên lớn có số nhận xét sau đây: + Thuật toán LPA DO_CD xác định cộng đồng mạng xã hội với độ xác cao Phù hợp với mơ hình mạng xã hội gồm thành viên học sinh trường, cộng đông thu bao gồm thành viên có sở thích + Trong trường hợp phối hợp hai sở thích Học tập Năng khiếu tức hai học sinh có sở thích coi có mối qua hệ khăng khít ta thu mạng xa hội với quan hệ phức tạp Áp dụng thuật toán trên, thu cộng đồng mô tả mối quan hệ tốt thực tế + Tại mạng xã hội nhà trường, thấy học sinh khối 12 tập chung nhiều vào ý thích học mơn Cơng nghệ với số lượng 50%, thứ nhì mơn tốn khoảng 25% thứ môn ngoại ngữ khoảng 10% Các môn xã hội văn, sử, địa học sinh quan tâm Đây phản ánh xu học sinh + Tốc độ thuật toán LPA nhanh thuật toán DO_CD thuật toán xác định bậc đỉnh mức độ phụ thuộc thông qua việc xác định đường ngắn theo thuật toán Floyd độ phức tạp O(n3) thuật tốn LPA xác định bậc đỉnh theo định nghĩa thông thường (Số cạnh nối với đỉnh) độ phức tạp O(n) Kiểm tra với đồ thị mạng xã hội học sinh toàn trường với 1500 thành viên, thời gian chạy thuật toán LPA 35.7866s thời gian chạy DO_CD 280.5210s 63 KẾT LUẬN Nội dung luận văn nghiên cứu mơ hình mạng xã hội, tốn cộng đồng số thuật toán xác định cộng đồng mạng xã hội Các kết luận văn bao gồm: Trình bày kiến thức lý thuyết đồ thị với số thuật tốn mơ hình đồ thị thuật toán duyệt đồ thị, thuật toán xác định đường ngắn làm sở để thiết kế thuật toán xác định cộng đồng Nghiên cứu khái niệm toán cộng đồng mạng xã hội, khái niệm độ đo đỉnh, độ đo cạnh Mơ hình tốn cộng đồng hướng nghiên cứu Nghiên cứu số thuật toán xác định cộng đồng: Thuật toán Girvan_ Newman, thuật toán CONGA, thuật toán lan truyền nhãn LPA, thuật tốn phân cụm đồ thị DO_CD, phân tích ưu nhược điểm độ phức tạp thuật toán cài đặt chi tiết thuật toán LPA DO_CD ngơn ngữ lập trình Matlab Xây dựng liệu sở thích học tập khiếu học sinh trường Phổ thông Trung học Hiệp Hịa Bắc Giang, từ xây dựng đồ thị mạng xã hội tương ứng mô tả mối quan hệ học sinh lớp, khối tồn trường Sử dụng thuật tốn LPA DO_CD thực nghiệm xác định cộng đồng đồ thị mạng xã hội, từ dó xác định cộng đồng gồm nhóm học sinh có sở thích nhà trường, từ đề xuất thành lập câu lạc sinh hoạt bao gồm thành viên cộng đồng Hướng phát triển tiếp sau luận văn cải tiến tốc độ thuật toán phát cộng đồng ứng dụng phát cộng đồng mơ hình cụ thể thực tế 64 TÀI LIỆU THAM KHẢO Tiếng việt [1] Nguyễn Đức Nghĩa, Nguyễn Tơ Thành, Tốn rời rạc, Nhà xuất ĐHQG Hà Nội 2003 [2] Nguyễn Hữu Ngự, Lý thuyết đồ thị, Nhà xuất Đại học Quốc gia Hà Nội, 2001 [3] Nguyễn Hiền Trinh, Vũ Vinh Quang (2020), Ứng dụng phương pháp phân cụm phổ toán phát cộng đồng, ISSN: 1859-2171, e-ISSN: 2615-9562, TNU Journal of Science and Technology 225(06): 303 – 310 [4] Nguyễn Hiền Trinh, Vũ Vinh Quang, Cáp Thanh Tùng (2020), Kết đề xuất thuật toán phát cộng đồng mạng xã hội, TNU Journal of Science and Technology 225(09): 103 – 111 Tiếng Anh [5] Girvan M and Newman M E J, Community Structure in social and biological networks, 2002 [6] Steve Gregorg, An Algorithm to find Overlapping Community Structure in networks, England, 2010 [7] U N Raghavan, R Albert, S Kumara “Near linear time algorithm to detect community structures in large-scale network”, Physics Reports, Vol 23, pp 306-323, 2007 [8] U N Raghavan, R Albert, S Kumara “Near linear time algorithm to detect community structures in large-scale network”, Physics Reports, Vol 23, pp 306-323, 2007 [9] A Zhang, G Ren, Y Lin, “Detecting community structures in network by label propagation with prediction of percolation transition”, The Scientific word journal, Vol 14, pp 315-336, 2014 [10] T Wu, Y Guo, L Chen, “Integrated structure investigation in complex networks by label propagation”, Physica A, 2016 [11] Bader D A., Kintali S., Madduri K., Mihail M (2007) Approximating Betweenness centrality In WAW 65 PHỤ LỤC Thuật toán xác định cộng đồng LPA function LPA=Algorithm(k) % Ngay 18/2/2021 clc; load d:\chuong\NK.dat SO_HS=length(NK) for i=1:SO_HS MA(i)=i; end n=SO_HS; k=1; for i=1:n for j=i+1:n if NK(j)==NK(i) source_1(k)=i; target_1(k)=j; k=k+1; end; end; end; A=1000*ones(n); for i=1:n A(i,i)=0; A(source_1(i),target_1(i))=1; A(target_1(i),source_1(i))=1; end; %Buoc 1: Xac dinh bac cua cac dinh bac=zeros(1,n); for i=1:n for j=1:n if (A(i,j)==1) bac(i)=bac(i)+1; end; end end %Buoc 2: Khoi dong tap dinh theo thu tu ngau nhien for i=1:n RAN(i)=i; end %Buoc 3: Khoi dong nhan ban dau cho tat ca cac dinh for i=1:n LA(i)=i; end 66 %Buoc 4: Lan truyen nhan for k=1:2 for i=1:n max=0; %Xac dinh dinh co bac lon nhat tap dinh ke voi dinh i for j=1:n if and((A(RAN(i),j)==1),(maxLA(j) tg=LA(i);LA(i)=LA(j);LA(j)=tg; tg1=cs(i);cs(i)=cs(j);cs(j)=tg1; end; end end % Buoc 5: Xac dinh cac cong dong ID=LA(1);C(1,1)=ID;k=1;l=2;C(1,l)=cs(1); cd=1; %Dem so cong dong for i=1:n if (LA(i)==ID) C(k,l)=cs(i);l=l+1; %Xac dinh cac dinh cung cong dong else ID=LA(i);k=k+1;C(k,1)=ID;l=2;C(k,2)=cs(i);l=l+1;cd=cd+1; %Chuyen cong dong end; end So_cong_dong=cd Danh_sach_cac_cong_dong=C Thuật toán xác định cộng đồng DO_CD function DO_CD=Algorithm_1 % Ngay 17/2/2021 clc; 67 load d:\chuong\NK.dat SO_HS=length(NK) for i=1:SO_HS MA(i)=i; end KK=NK; for i=1:SO_HS-1 for j=i+1:SO_HS if KK(i)>KK(j) tg=KK(i);KK(i)=KK(j);KK(j)=tg; end; end; end; cd=1; for i=1:SO_HS-1 if KK(i)D(i,r)+D(r,j) D(i,j)=D(i,r)+D(r,j); P(i,j)=P(r,j); end; end; end; end; for k=1:n for i=1:n for j=1:n ok=false; if and(D(i,j)0)%Dieu kien ton tai duong di tu i->j if or(i==k,j==k) %diem dau hoac diem cuoi qua dinh k trong_so(k)=trong_so(k)+1; ok=true; else vet=j; while not(P(i,vet)==i) vet=P(i,vet); if vet==k trong_so(k)=trong_so(k)+1; ok=true; end; end; end; end; if ok %ton tai duong di qua dinh k vet=j; muc_do(k,vet)=muc_do(k,vet)+1; if P(i,vet)==i muc_do(k,i)=muc_do(k,i)+1; else while not(P(i,vet)==i) vet=P(i,vet); muc_do(k,vet)=muc_do(k,vet)+1; end; muc_do(k,i)=muc_do(k,i)+1; end; end; end; end; 69 end; %Buoc 2: Xac dinh cong dong for i=1:n %Tap chi so CS(i)=i; end; for i=1:n-1 for j=i+1:n if (trong_so(i)