(Luận Văn Thạc Sĩ Toán Ứng Dụng) Tìm Hiểu Về Các Thuật Toán Phân Cụm Cho Các Đồ Thị Lớn Hai Phần

79 0 0
Tài liệu đã được kiểm tra trùng lặp
(Luận Văn Thạc Sĩ Toán Ứng Dụng) Tìm Hiểu Về Các Thuật Toán Phân Cụm Cho Các Đồ Thị Lớn Hai Phần

Đ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

Trang 1

BỘ GIÁO DỤC

VÀ ĐÀO TẠO VIàN HÀN LÂM KHOA HỌC VÀ CÔNG NGHà VIàT NAM HỌC VIàN KHOA HỌC VÀ CÔNG NGHà

Nguyßn Hương Quỳnh

TÌM HIỂU VỀ CÁC THUẬT TOÁN PHÂN CỤM CHO CÁC Đà THỊ LỚN HAI PHẦN

LUẬN VĂN THẠC SĨ TOÁN ỨNG DỤNG

Hà Nội - 2023

Trang 4

LỜI CẢM ƠN

ầu tiên, tôi xin ược tỏ lòng biết ơn sâu sắc nhất của mình tới PGS.TSKH Phan ThịHà Dương, cô ã trực tiếp hướng dẫn và giúp ỡ tôi tìm ra ề tài luận văn cũng như ịnhhình hướng nghiên cứu Không chß là người hướng dẫn khoa học tận tâm, cô còn cho tôinhững lời khuyên, ộng viên, khích lệ giúp tôi trưởng thành hơn trong cuộc sống.

Tôi xin chân thành cảm ơn TS ỗ Duy Hiếu - Viện Toán học ã hướng dẫn, góp ý vàgiúp ỡ tôi rất nhiều trong quá trình tôi ọc tài liệu và làm luận văn.

Tôi xin chân thành cảm ơn nhóm seminar ã ồng hành cùng trong việc tìm hiểu vềkiến thức liên quan ến bài toán phân cụm cho ồ thị và góp ý cho tôi trong quá trình hoànthành luận văn.

Tôi xin chân thành cảm ơn sự hỗ trợ của Công ty Cổ phần Tập oàn Vingroup ã tàitrợ cho quá trình học tập của tôi trong hai năm qua Tôi ược hỗ trợ bởi Chương trình họcbổng Thạc sĩ, Tiến sĩ của Quỹ ổi mới sáng tạo Vingroup (VINIF), Viện Dữ liệu lớn, mã sốVINIF.2021.ThS.VTH.02 và VINIF.2022.ThS.076.

Trong thời gian học tập tại Viện Toán học, tôi ã nhận ược nhiều sự quan tâm, góp ý,hỗ trợ quý báu của các thầy cô, anh chị và bạn bè Tôi xin ược chân thành chân thành bàytỏ lòng biết ơn sâu sắc ến các thầy cô, anh chị và bạn bè.

Tôi cũng xin trân trọng cảm ơn Viện Toán học và cơ sở ào tạo là Học viện Khoa họcvà Công nghệ, Viện Hàn lâm Khoa học và Công nghệ Việt Nam ã giúp ỡ và tạo iều kiệnthuận lợi về môi trường học tập cho tôi trong suốt quá trình thực hiện Luận văn này.

Cuối cùng, tôi xin tỏ lòng biết ơn vô hạn tới gia ình tôi, bố mẹ luôn kiên nhẫn và thươngyêu tôi vô iều kiện.

Trang 5

CHƯƠNG 1 KIẾN THỨC CHUẨN Bà 3

1.1 Một số khái niệm về lý thuyết ồ thị 3

1.2 Khoa học mạng và cộng ồng mạng 4

1.2.1 Khoa học mạng 4

1.2.2 Cộng ồng 4

1.3 Nội dung chính của luận văn 8

CHƯƠNG 2 CÁC THUẬT TOÁN PHÂN CỤM CHO Ồ THà LỚN 10

2.1 ộng lực khoảng cách so với tiêu chí cộng ồng do người dùng xác ịnh 10

2.2 Kiến thức liên quan 11

2.3 Mô hình tương tác ịa phương 12

2.4 Thuật toán Attractor 15

3.1.2 ộng lực khoảng cách trong mạng hai phần 20

3.2 Thuật toán phát hiện cộng ồng trên mạng hai phần: ComSim 29

3.2.1 Hàm tương tự 29

3.2.2 Thuật toán COMSIM 31

3.2.3 Cải tiến thuật toán COMSIM 33

Trang 7

LỜI MỞ ẦU

Tổng quan tình hình nghiên cứu và sự cần thiết tiến hành nghiên cứuBài toán phát hiện cộng ồng xuất hiện và phát triển vào những năm 80 của thế kß trước.ến nay các nhà khoa học ã tìm ra ược một số thuật toán ể giải quyết bài toán phâncụm như: thuật toán Louvain, thuật toán sử dụng bước i ngẫu nhiên, thuật toán dựa trênộng lực học khoảng cách.

ã có rất nhiều nhà khoa học nghiên cứu về bài toán này và có nhiều bài báo ược ăngtrên các tạp chí uy tín.

Trong khi không gian mạng ngày càng lớn và ngày càng phát triển, bài toán phát hiệncộng ồng hay phân cụm ồ thị càng ược quan tâm và mở rộng hơn nữa Bài toán pháthiện cộng ồng trong thực tế là nhóm những ßnh có nhiều iểm chung, nhiều liên kết lạivới nhau trong toán học là nhóm những ßnh có mật ộ liên kết lớn so với số ßnh của ồthị Ví dụ ồ thị mạng lưới bạn bè trên facebook hai người kết bạn với nhau thì có một cạnhnối giữa hai người, việc phân cụm những nhóm bạn có nhiều bạn chung, có nhiều tương tácvới nhau có thể giúp facebook ề xuất một số gợi ý kết bạn cho người dùng Bài toán pháthiện cộng ồng cho ồ thị hai phần cũng xuất hiện nhiều trong thực tế Ví dụ bài toán phâncụm ồ thị hai phần sau: phần 1 các ßnh của ồ thị là các nhà khoa học và phần 2 các ßnhcủa ồ thị các bài báo các nhà khoa học viết Các cạnh của ồ thị ược nối là các nhà khoahọc với bài báo họ tham gia viết Bài toán ặt ra là phân cụm các nhà khoa học có chungnhiều bài báo vào cùng một cụm.

Hiện nay bài toán phát hiện cộng ồng trên ồ thị hai phần (một lớp ồ thị quan trọng)nhưng chưa có nhiều kết quả (theo hiểu biết của chúng tôi) nên bài toán này cần ược nghiêncứu nhiều hơn nữa.

Mục ích, ối tượng và phạm vi nghiên cứuối tượng nghiên cứu: ồ thị lớn, ồ thị lớn hai phần.

Trang 8

Phạm vi nghiên cứu: ịnh nghĩa tính chất về ồ thị, ồ thị lớn và ồ thị hai phần, bàitoán phân cụm cho ồ thị lớn và ồ thị lớn hai phần.

Phương pháp nghiên cứu

ọc hiểu và trình bày hệ thống các kiến thức liên quan ến ề tài luận văn từ các tàiliệu tham khảo chuyên ngành.

Cấu trúc và dự kiến kết quả ạt ược của luận văn

Ngoài phần Lời mở ầu, Lời cảm ơn, Lời cam oan, Kết luận và Tài liệu tham khảo,Luận văn ược chia thành bốn chương.

• Chương 1: Kiến thức chuẩn bị.

• Chương 2: Thuật toán phân cụm trên ồ thị lớn.

• Chương 3: Thuật toán phân cụm trên ồ thị lớn hai phần.

• Chương 4: Một số thí nghiệm.

Trang 9

ịnh nghĩa 1.2 ồ thị có hướng

ồ thị có hướng G là một cặp có thứ tự G = (V, E), ở ây V là một tập hợp các ßnhhoặc nút, còn E là tập các cặp có thứ tự chứa các ßnh phân biệt, ược gọi là cạnh Cụ thểhơn nếu (a, b) ∈ E thì (a, b) là cạnh của G với ßnh ầu là a, ßnh cuối là b và có hướng itừ a ến b.

ịnh nghĩa 1.3 ồ thị hai phần

Một ồ thị hai phần xác ịnh bởi: G = (U, V, E) trong ó U ∪ V là tập ßnh của ồ thị;U, V rời nhau U là tập hợp các ßnh trái, V là các ßnh phải và không có cạnh nối hai ßnhbất kỳ thuộc cùng một tập hay E ¦ U × V là tập hợp các cạnh liên kết giữa U và V ịnh nghĩa 1.4 Hành trình; chu trình

G(V, E) là một ồ thị vô hướng Một hành trình trong G là một dãy các ßnh v0v1v2 vn

sao cho với mọi i = 0, 1, , n − 1, {vi, vi+1} là một cạnh của G Các cạnh {vi, vi+1}, i =0, 1, , n− 1, cũng ược gọi là các cạnh của hành trình v0v1 vn Khi ó n ược gọi là ộdài, v0 ược gọi là ßnh ầu, vn ược gọi là ßnh cuối của hành trình trên Một hành trìnhược gọi là khép kín nếu ßnh ầu và ßnh cuối của nó trùng nhau.

Một hành trình ược gọi là ường nếu các ßnh của hành trình ó ều khác nhau.Một hành trình khép kín ược gọi là chu trình, nếu nó có ộ dài ít nhất là 3 và khi xoá

Trang 10

i ßnh cuối thì trờ thành ường.

1.2 Khoa học mạng và cộng ồng mạng1.2.1 Khoa học mạng

Khoa học mạng ã phát triển thành một ngành học khổng lồ Trong phần này, chúngtôi sẽ giải thích một số kiến thức cơ bản về khoa học mạng Hiện nay có một số sách giáotrình tốt về khoa học mạng; trong số ó, chúng tôi ề cập ến tài liệu [1] với phạm vi baophủ rộng và [2] tập trung duy nhất vào mô hình hóa, giải thích và chất lượng dữ liệu.

Có nhiều ịnh nghĩa khoa học mạng và ta có thể tìm ược một ịnh nghĩa về khoa họcmạng trong [3]: Khoa học mạng là nghiên cứu về các mạng sử dụng lý thuyết toán học, tậptrung vào phân tích và mô tả ặc iểm và trạng thái của mạng Nghiên cứu về các mạngã thấy những nghiên cứu quan trọng, với trọng tâm là tìm hiểu và ánh giá các ặc tínhthống kê của các mạng quy mô lớn (Newman, 2003).

Phát hiện cộng ồng ề cập ến việc xác ịnh các nhóm ßnh có nhiều liên kết trongmạng tùy thuộc vào thuộc tính cấu trúc của chúng (Yang và cộng sự, 2013; Kelley và cộng

Trang 11

sự, 2012) Nhiều thuật toán ể phát hiện cộng ồng ã ược phát triển, sử dụng các kỹthuật và công cụ từ các ngành khác nhau như sinh học, vật lý, khoa học xã hội, toán họcứng dụng và khoa học máy tính (Lancichinetti và Fortunato, 2009) Tuy nhiên, một thuậttoán phát hiện cộng ồng duy nhất không hoạt ộng trong tất cả các loại mạng (Plantié vàCrampes, 2013; Yang và cộng sự, 2016) vì có rất nhiều mạng phức tạp ược tạo từ các cáchkhác nhau [4] Vì vậy bài toán phát hiện cộng ồng vẫn ang ược quan tâm và ngày càngcó nhiều thuật toán phát hiện cồng ồng ược ề xuất.

Nhiều hệ thống phức tạp trong tự nhiên và xã hội có thể ược mô tả dưới dạng ồ thị(mạng lưới) giới hạn mạng lưới kết nối phức tạp giữa các ơn vị mà chúng ược tạo thành[4] ồ thị ã nổi lên như một mô hình mạnh mẽ ể biểu diễn các loại dữ liệu khác nhau.Ví dụ: dữ liệu không có cấu trúc (ví dụ: tài liệu văn bản), dữ liệu bán cấu trúc (ví dụ: cơsở dữ liệu XML) và dữ liệu có cấu trúc (ví dụ: cơ sở dữ liệu quan hệ) ều có thể ược môhình hóa dưới dạng ồ thị, trong ó các ßnh (nút) tương ứng và các cạnh, tương ứng, cóthể là siêu liên kết, mối quan hệ cha-con và mối quan hệ chính-khóa ngoại Ngoài ra, cácbiểu ồ tự nhiên phát sinh trong các lĩnh vực ứng dụng như mạng sinh học, mạng xã hộimạng thông tin.

Cấu trúc cộng ồng tồn tại một cách tự nhiên trong nhiều mạng lưới trong thế giới thựcnhư mạng xã hội, mạng sinh học, mạng cộng tác và truyền thông chß là một vài ví dụ [4].Một câu hỏi ược quan tâm là làm thế nào ể giải thích cấu trúc của các mạng như vậyvề sự cùng tồn tại của các tiểu ơn vị cấu trúc của chúng (cộng ồng) gắn với các bộ phậncó liên kết với chúng cao hơn Việc xác ịnh các cộng ồng chưa biết trước này (ví dụ, cácnhóm người, các ngành công nghiệp và các protein liên quan ến chức năng) là rất quantrọng ối với sự hiểu biết về các ặc tính cấu trúc và chức năng của các mạng.

ể minh họa, chúng tôi giới thiệu ba ví dụ áng chú ý về các cộng ồng [5].

• Mạng xã hội trực tuyến Một loại mạng mà cộng ồng thường xuyên ược quan sátlà mạng xã hội trực tuyến ược kích hoạt bởi Internet và ược thúc ẩy bởi sự raời gần ây của các trang mạng xã hội trực tuyến như Facebook, Google+ và Twitter,nghiên cứu về khám phá cộng ồng trên các mạng xã hội trực tuyến ã và ang bùngnổ Với sự sẵn có của dữ liệu mạng xã hội quy mô lớn, nghiên cứu ã dẫn ến sự pháttriển của nhiều ứng dụng thú vị, ví dụ: khám phá vòng kết nối xã hội và tìm kiếmcộng ồng có ảnh hưởng.

• Ngoài ra, do sự phát triển của các thiết bị iện thoại thông minh, các mạng xã hội

Trang 12

trực tuyến ã dẫn ến sự phát triển nhanh chóng của các mạng xã hội ịa lý (cònược gọi là mạng xã hội dựa trên vị trí), chẳng hạn như Foursquare, Yelp, Google+và Facebook Places Trong mạng xã hội ịa lý, người dùng ược liên kết với thông tinvị trí (ví dụ: quê quán và ịa iểm ăng ký) và cộng ồng bao gồm những người dùngược kết nối chặt chẽ trong lớp xã hội cũng như gần nhau về mặt không gian tronglớp không gian.

• Mạng cộng tác học thuật Mạng cộng tác học thuật nổi tiếng là mạng DBLP, trongó một ßnh ại diện cho một tác giả và một cạnh giữa hai tác giả biểu thị mối quanhệ cộng tác, tức là họ có (các) ấn phẩm ồng tác giả Ngoài ra, các ßnh có thể có cácthuộc tính ại diện cho lĩnh vực chuyên môn của tác giả như ấn phẩm, bài báo, sách.Các cộng ồng trong mạng DBLP có thể ại diện cho một nhóm tác giả thường xuyêncộng tác với nhau và làm việc về các chủ ề tương tự.

Mạng cộng tác học thuật trong ví dụ 3 là một mạng thông tin không ồng nhất [5].Mạng không ồng nhất bao gồm các ßnh và các cạnh của cả hai loại khác nhau Ví dụ,trong một mạng lưới chăm sóc sức khỏe, các ßnh có thể là bệnh nhân, bác sĩ, xét nghiệmy tế, bệnh tật, thuốc men, bệnh viện, phương pháp iều trị, Một mặt, việc coi tất cả cácßnh cùng loại có thể bỏ sót thông tin quan trọng Mặt khác, việc coi mọi ßnh là một kiểuriêng biệt có thể bỏ sót bức tranh lớn ây là một ví dụ cổ iển về một mạng không ồngnhất Nhiều loại ối tượng như vậy, các mạng thông tin liên kết với nhau, không ồng nhấtnhưng thường là bán cấu trúc, làm cho các cộng ồng trên các mạng thông tin không ồngnhất trở nên phức tạp và thú vị.

Trong luận văn này ngoài việc giải quyết các bài toán phát hiện cộng ồng thông thườngcó tất cả các ßnh cùng loại (chương 2) thì luận văn còn tìm hiểu về cách phát hiện cộngồng trên các ồ thị hai phần ể giải quyết cho các mạng mà có hai loại ßnh khác nhau(chương 3) Ngoài ví dụ về mạng các tác giả và các sản phẩm của họ thì trong thực tế tacũng bắt gặp rất nhiều các mạng gồm hai loại ßnh khác nhau chẳng hạn như:

• ồ thị biểu diễn một số diễn viên và một số phim họ tham gia óng Khi ó tập cácdiễn viên và tập các bộ phim ược liên kết bởi các cạnh nếu diễn viên tham gia óngbộ phim nào thì sẽ có cạnh nối giữa chúng.

• ồ thị biểu diễn các công ty sản xuất và người tiêu dùng Trong ó tập ßnh gồm haitập con là công ty sản xuất và người tiêu dùng Nếu người tiêu dùng sử dụng sản phẩmcủa công ty thì sẽ có cạnh liên kết giữa chúng.

Trang 13

PHÁT HIỆN CỘNG ỒNG

Phát hiện cộng ồng trên mạng xã hội cũng là một nhiệm vụ rất quan trọng trong phântích mạng xã hội Do tầm quan trọng của các cộng ồng mạng xã hội và khả năng ứng dụngto lớn của chúng trong các lĩnh vực khác nhau ã có nhiều các thuật toán phát hiện cộngồng trên mạng xã hội ã ược ề xuất Tuy nhiên, hầu hết các thuật toán chưa ạt ượchiệu quả trong việc phát hiện cộng ồng trên các mạng xã hội quy mô rất lớn hiện nay.ồng thời, cùng với sự phát triển mạnh mẽ của công nghệ thông tin thì việc sử dụng cácmạng xã hội của chúng ta ang phát triển theo cấp số nhân và hệ quả là quy mô của mạngxã hội phát triển nhanh chóng và trở nên khổng lồ iều này dẫn ến việc phát hiện cộngồng trên các mạng xã hội quy mô rất lớn không thể giải quyết bằng các thuật toán truyềnthống do ộ phức tạp về thời gian và không gian tính toán Có nghĩa là, hầu hết các thuậttoán hiện có không thể ược mở rộng ến kích thước khổng lồ của các mạng xã hội ể giảiquyết ược thách thức ặt ra, cần ề xuất các phương pháp giảm kích thước của mạng xãhội ể thực hiện phát hiện cộng ồng mạng xã hội hiệu quả ồng thời vẫn phải ảm bảoược các tính chất của cộng ồng mạng xã hội ban ầu là rất ý nghĩa, cần thiết và quantrọng [4].

Mục tiêu của bài toán phát hiện cộng ồng mạng xã hội là từ các mạng xã hội cho trước,phát hiện ược các cộng ồng nằm trong ó và tìm hiểu về mối liên hệ bên trong các cộngồng cũng như giữa các cộng ồng với nhau, mối liên hệ ó có ảnh hưởng thế nào ến toànmạng xã hội [4] Một tập hợp các ßnh trên ồ thị ược coi là một cộng ồng nếu mật ộcạnh giữa các ßnh bên trong nó cao hơn so với mật ộ của các cạnh giữa ßnh của nó vànhững ßnh khác bên ngoài Phát hiện cộng ồng nhằm mục ích nhóm các ßnh liên kếtmạnh theo các mối quan hệ giữa chúng ể tạo thành các ồ thị con từ ồ thị ban ầu Cácmạng xã hội thường ược biểu diễn dưới dạng ồ thị ơn nên việc phát hiện cộng ồng trênmạng xã hội dựa trên cơ sở lý thuyết ồ thị còn ược gọi là bài toán phân cụm ồ thị.

Bài toán: Phát hiện các cộng ồng trong mạng xã hội.

ầu vào: ồ thị mạng xã hội G = (V, E) gồm tập V có các ßnh: v1, v2, , vn và tập Ecác cạnh E = {(vi, vj)}.

ầu ra: Tập các cộng ồng mạng xã hội C.

THUẬT TOÁN PHÁT HIỆN CỘNG ỒNG

Trong nhiều thập kÿ qua, số lượng các giải pháp phát hiện cộng ồng trên mạng xã hộiã ược nghiên cứu là rất nhiều, thường xuyên và liên tục Hiện tại có nhiều phương pháp

Trang 14

phát hiện cộng ồng, cũng như vô số biến thể và cải tiến Chúng tôi ề cập ến một số côngtrình thu thập và so sánh một số lượng lớn các phương pháp.

Nhiều cuộc khảo sát nhóm các phương pháp theo nền tảng lý thuyết/khái niệm củachúng Ví dụ, Rosvall et al [6] phương pháp phát hiện cộng ồng nhóm dưới bốn góc ộ:

• quan iểm dựa trên mặt cắt, nhằm mục ích giảm thiểu số lượng cạnh giữa các ßnh;

• quan iểm phân cụm, trong ó tìm thấy các nhóm nút chặt chẽ, dày ặc;

• quan iểm tương ương ngẫu nhiên, trong ó suy ra các nhóm bằng cách sử dụng cácmô hình thống kê (như mô hình khối ngẫu nhiên);

• quan iểm dựa vào ộng lực học, dựa trên cách cấu trúc mô-un tác ộng ến sự pháttriển của các quy trình trên mạng.

Có nhiều cách phân loại khác, xem [6, 7, 8] Mặt khác, một số nghiên cứu so sánh các thuậttoán phát hiện cộng ồng bằng cách chạy chúng trên một số lượng lớn mạng và phân tíchkết quả Dao et al [9] phân loại các phương pháp thành năm nhóm chính: dựa trên loại bỏcạnh, tối ưu hóa mô un, dựa trên quy hoạch ộng, dựa trên suy luận thống kê và nhómcuối cùng gồm các phương pháp khác không thuộc bốn nhóm còn lại Các phương pháp óược chạy trên hơn 100 mạng từ nhiều miền khác nhau, sau ó ược so sánh dựa trên thờigian chạy, số lượng cộng ồng ược tìm thấy và quy mô cộng ồng, chất lượng cộng ồng vàsự tương ồng giữa các phân vùng ược tạo Kết quả chi tiết ược ưa ra, có ý nghĩa choviệc lựa chọn một phương pháp phù hợp trong thực tế Các nghiên cứu thực nghiệm khác,với nhiều cách tiếp cận khác nhau, bao gồm [10, 11, 12].

1.3 Nội dung chính của luận văn

Luận văn có hai chủ ề chính: thuật toán phân cụm cho ồ thị lớn và ồ thị lớn haiphần.

Trong chương 2 chúng tôi trình bày về một thuật toán phân cụm cho ồ thị lớn ó làthuật toán dựa vào ộng lực học khoảng cách (Distance Dynamics).

Trong chương 3 chúng tôi tiếp tục trình bày về thuật toán dựa vào ộng lực học khoảngcách ở trên ồ thị hai phần Ngoài ra trong chương này chúng tôi trình bày một số thuậttoán khác cho ồ thị hai phần như thuật toán: ComSim (sử dụng tính tương tự của chutrình và ßnh).

Trang 15

Cuối cùng trong chương 4 chúng tôi sẽ so sánh các thuật toán này với một số các thuậttoán phổ biến khác thông qua phân tích ví dụ cụ thể và thực hành chạy các thuật toán trênPython (trình bày ở phụ lục của luận văn).

Trang 16

2.1 ộng lực khoảng cách so với tiêu chí cộng ồng do người dùng xác ịnhHiện nay, nhiều tiêu chí ã ược ề xuất ể ánh giá cấu trúc cộng ồng theo các quaniểm khác nhau và mỗi tiêu chí ều có những ưu và nhược iểm riêng Trong nghiên cứunày, thay vì giới thiệu tiêu chí mới do người dùng xác ịnh, chúng tôi trình bày một phươngpháp phát hiện cộng ồng mới dựa trên ộng lực khoảng cách Tiêu chí cơ bản là hình dungmạng như một hệ thống ộng và tìm hiểu khoảng cách ộng giữa các ßnh liền kề ể khámphá cấu trúc cộng ồng của nó So với hầu hết các thuật toán hiện có, ngoại trừ cách thứcsinh ộng ể khám phá cộng ồng, quan iểm mới còn có thêm một số iểm khởi sắc ángmong ợi (a) Khám phá ộng lực học khoảng cách cung cấp một hình ảnh trực quan vàtoàn diện ể mô hình hóa ộng lực học mạng trong thế giới thực Ví dụ, một cộng ồng(ví dụ: mạng lưới tình bạn) thường ược thiết lập và tăng cường dựa trên các mối quan hệthông qua tương tác (ví dụ: các hoạt ộng xã hội trong mạng lưới tình bạn) (b) Không sửdụng các biện pháp do người dùng xác ịnh, các cộng ồng ược phát hiện tự ộng do cấutrúc liên kết ịa phương bên trong của mạng (c) Cái nhìn sâu sắc về ộng lực học khoảngcách cũng cung cấp một cách tổng quát ể khai thác mạng trong không gian số liệu thay vìkhông gian vectơ iều này khá có lợi cho việc phân tích mạng vì thông tin của các mạngtrong thế giới thực mà chúng ta thường có ược là các mẫu kết nối của chúng.

Sau ây, chúng tôi bắt ầu với một số ịnh nghĩa cần dùng ến, sau ó một mô hìnhtương tác ược ề xuất trong mục 2.1.3, mục 2.1.4 trình bày chi tiết thuật toán Attractor

Trang 17

và chúng tôi phân tích ộ phức tạp về thời gian của nó trong mục 2.1.5.

Hình 1: Minh họa phát hiện cộng ồng dựa trên ộng lực học khoảng cách (a)Một mạng xã hội, trong ó các ường ứt nét biểu thị mối quan hệ giữa nhữngngười với nhau và các mũi tên biểu thị các tương tác trực tiếp lẫn nhau dựatrên các mối quan hệ của họ (b) Dựa vào mô hình tương tác ược ề xuất,<khoảng cách= giữa mọi người sẽ thay ổi theo thời gian, trong ó những ngườitrong cùng một cộng ồng có xu hướng dần dần di chuyển ến gần nhau trongkhi những người trong các cộng ồng khác nhau sẽ cách xa nhau (c) Trạngthái ổn ịnh của con người xét về <khoảng cách=: ba cộng ồng trực giác.2.2 Kiến thức liên quan

Với mục ích phát hiện cộng ồng, một số ịnh nghĩa cần thiết trước tiên ược giới thiệu.ịnh nghĩa 2.1 Giả sử G = (V, E, W ) là một ồ thị có hướng, trong ó V là tập hợp ßnh,E là tập hợp cạnh; W là tập trọng số tương ứng với cạnh e = {u, v} ∈ E chß ra một kết nốigiữa các ßnh u và v w(u, v) biểu diễn cho trọng số của cạnh e ∀e = {u, v} ∈ E, w(u, v) = 1,trong trường hợp ồ thị không có trọng số.

ịnh nghĩa 2.2 (Lân cận của ßnh u) Cho một ồ thị vô hướng G = (V, E, W ), lân cậncủa ßnh u ∈ V là tập hợp N(u) chứa ßnh u và các ßnh lân cận của nó.

Dựa trên hai ịnh nghĩa, chúng tôi tiếp tục sử dụng khoảng cách Jaccard [14] ể xácịnh khoảng cách ban ầu giữa hai ßnh liền kề Lựa chọn biện pháp này chủ yếu có hai lýdo ầu tiên, khoảng cách Jaccard cho chúng ta một cách trực quan ể mô tả tính tươngtự của ßnh Nói chung, hai ßnh càng có nhiều ßnh lân cận chung thì chúng càng có nhiềuiểm chung và liên kết chặt chẽ hơn Thứ hai, khoảng cách Jaccard ược tính theo kiểu ịaphương và do ó hiệu quả về mặt thời gian.

Trang 18

ịnh nghĩa 2.3 (Khoảng cách Jaccard) Cho một ồ thị vô hướng G = (V, E, W ), khoảngcách Jaccard của hai ßnh u và v ược xác ịnh là:

x∈N (u)∩N (v)(w(u, x) + w(v, x))P

{x,y}∈E;x,y∈N (u)∪N (v)w(x, y) (2.3)2.3 Mô hình tương tác ịa phương

ể khám phá cấu trúc cộng ồng trong các mạng dựa trên ộng lực khoảng cách, chúngta nên xây dựng một mô hình tương tác phù hợp Do ó, phạm vi tương tác và mô hìnhtương tác cần ược xem xét ầu tiên.

cấu trúc liên kết ịa phương là iều cần thiết Do ó, thay vì quan sát tất cả các tương tác,chúng tôi tập trung vào ộng lực khoảng cách theo cách ịa phương Rõ ràng, các kết nốibên trong (các cạnh) của các mạng trong thế giới thực mang lại một cách tự nhiên ể môhình hóa phạm vi tương tác Chính xác là ối với mỗi ßnh, nó tương tác một cách tự nhiênvới các ßnh liền kề của nó.

Hình 2: Minh họa sự thay ổi khoảng cách giữa các ßnh bị ảnh hưởng bởi bakiểu tương tác riêng biệt.

xác ịnh các kiểu tương tác giữa các ßnh ể mô phỏng ộng lực khoảng cách Chính thức,ặt e = {u, v} ∈ E là một cạnh giữa hai ßnh liền kề u và v, và d(u, v) là khoảng cách banầu của nó Rõ ràng, bất kỳ thay ổi nào của khoảng cách d(u, v) ều là kết quả của sự thayổi của ßnh u và ßnh v Trên thực tế, có ba tình huống riêng biệt cho phép ảnh hưởng ếnkhoảng cách d(u, v), dựa vào cấu trúc tô pô ịa phương của nó (xem Hình 2) Trong phần

Trang 19

sau ây, chúng tôi sẽ trình bày chi tiết cách khoảng cách thay ổi tương ứng trong ba tìnhhuống khác nhau.

Trường hợp 1: Ảnh hưởng từ các ßnh liên kết trực tiếp Khoảng cách d(u, v) giữa ßnhuvà ßnh v rõ ràng bị ảnh hưởng bởi hai ßnh liên kết trực tiếp u và v Thông qua sự tươngtác với nhau, ßnh này hút ßnh kia di chuyển về phía mình và do ó làm giảm d(u, v) (xemHình 2 (b)) Giống như một mạng lưới tình bạn, mỗi người ều ảnh hưởng ến những ngườiquen biết của họ và có xu hướng tăng dần tính gắn kết (tức là <khoảng cách= sẽ giảm i).Chính thức, ể biểu diễn cho sự thay ổi của khoảng cách d(u, v), ta ịnh nghĩa DI, biểuthị ảnh hưởng từ tương tác của các ßnh liên kết trực tiếp, như sau:

DI =− f (1 − d(u, v))

f (1− d(u, v))deg(v)

(2.4)trong ó deg(u) (số cạnh liên thuộc với u) là bậc của ßnh u, f(.) là một hàm ghép và sin()ược sử dụng trong nghiên cứu này 1 − d(u, v) biểu thị sự giống nhau giữa u và v và haißnh càng giống nhau thì chúng sẽ có ảnh hưởng lẫn nhau càng cao Thuật ngữ: 1/ deg(u)ược gọi là hệ số chuẩn hóa, ược dùng ể xem xét các ảnh hưởng khác nhau giữa các ßnhược liên kết với các mức ộ khác nhau Cụ thể, các ßnh có nhiều liên kết hơn sẽ khó bịảnh hưởng hơn so với các ßnh có ít liên kết hơn Lấy mạng người hướng dẫn làm ví dụ.Một người giám sát thường liên kết với nhiều sinh viên trong khi một sinh viên chß kết nốivới người giám sát của mình Trong tình huống này, người giám sát có thể có ảnh hưởng lớnến từng học sinh trong khi ảnh hưởng ối với người giám sát từ mỗi học sinh là tương ốithấp Tóm lại, hai ßnh có liên kết trực tiếp sẽ có xu hướng lại gần nhau hơn.

Trường hợp 2: Ảnh hưởng từ ßnh lân cận chung Chúng tôi xem xét khả năng thứ hai:ảnh hưởng từ những ßnh lân cận chung CN = (N(u) − u) ∩ (N(v) − v) của các ßnh u và v(Hình 2(c)) Vì các ßnh lân cận chung có cả hai liên kết với hai ßnh u và v nên chúng húthai ßnh này và do ó dẫn ến sự thay ổi khoảng cách d(u, v) Cụ thể, mỗi ßnh lân cậnchung sẽ thu hút cả ßnh u và ßnh v ể di chuyển về phía chính nó và do ó dẫn ến việcgiảm khoảng cách d(u, v) (xem Hình 2(c)) Chính thức, chúng tôi xác ịnh sự thay ổi củad(u, v) từ ảnh hưởng của các ßnh lân cận chung, CI, như sau:

deg(u).f (1− d(x, u).(1 − d(x, v))) + deg(v)1 f (1− d(x, v).(1 − d(x, u))

(2.5)Ở ây, hai thuật ngữ (1 − d(x, v)) và (1 − d(x, u)) cho mỗi ßnh lân cận chung ược sử dụngể ịnh lượng thêm mức ộ ảnh hưởng so với ảnh hưởng từ các ßnh ược liên kết trực tiếp.

Trang 20

Tóm lại, hai ßnh có càng nhiều ßnh lân cận chung càng có xu hướng lại gần nhau hơn.Ví dụ: khi xem xét một lân cận chung x tương tác với ßnh u (xem Hình 2(c)), nếu x và vcàng giống nhau thì ảnh hưởng từ x lên u càng lớn tương tự như ảnh hưởng từ v Về mặt lýthuyết, một khi ộ giống nhau giữa x và v bằng một (nghĩa là chúng có thể ược xem nhưcùng một ßnh), ảnh hưởng của ßnh x trên khoảng cách d(u, v) chß ơn giản là chuyển vàomẫu ầu tiên.

Trường hợp 3: Ảnh hưởng từ các ßnh lân cận riêng: Mẫu tương tác thứ ba xảy ra khitồn tại một số lân cận chß thuộc về ßnh u hoặc v, lần lượt là EN(u) = Σ(u) − Σ(u) ∪

riêng của u thu hút u di chuyển ến gần chính nó, không biết liệu ßnh u bị thu hút ể dichuyển ến gần ßnh v hay bị thu hút ể di chuyển ra xa v (xem Hình 2 (d)) ể xác ịnhảnh hưởng tích cực hoặc tiêu cực của các lân cận riêng ối với khoảng cách, một cách tìmhiểu chúng dựa trên sự tương ồng ược ề xuất Vấn ề cơ bản là iều tra xem mỗi ßnhlân cận riêng của ßnh u có giống với ßnh v hay không và ngược lại Nếu ßnh lân cận riêngcủa ßnh u tương tự với ßnh v, thì sự di chuyển của ßnh u về phía ßnh lân cận riêng sẽ làmgiảm khoảng cách d(u, v) Tương tự, nếu ßnh lân cận riêng của u không tương tự với ßnhv, thì sự di chuyển của ßnh u về phía ßnh lân cận riêng sẽ dẫn ến hiệu ứng ngược lại: dichuyển ra xa khỏi ßnh v Do ó, ở ây chúng tôi giới thiệu tham số lực dính λ, ể xác ịnhảnh hưởng cơ bản như sau Tham số lực dính λ sẽ ược thảo luận thêm trong Phần 2.3

p(x, u) =

(2.6)trong ó ρ(x, u) ặc trưng cho mức ộ ảnh hưởng tích cực hoặc tiêu cực ến khoảng cáchd(u, v) Khi ó, sự thay ổi của d(u, v) ảnh hưởng bởi các ßnh lân cận riêng, EI, ược ịnhnghĩa như sau: ặc trưng cho mức ộ ảnh hưởng tích cực hoặc tiêu cực ến khoảng cáchd(u, v).

EI =−Σx∈EN (u)( 1

−Σy∈EN (v)( 1

deg(v).f (1− d(y, v)).p(y, v))

Cuối cùng, bằng cách xem xét ba kiểu tương tác cùng nhau, ộng lực học của khoảng cáchd(u, v) giữa các ßnh u và v theo thời gian bị chi phối bởi:

Trang 21

ở ây d(u, v, t + 1) là khoảng cách ược gia hạn tại bước thời gian t + 1 DI(t), CI(t) vàEI(t) lần lượt mô tả sự thay ổi khoảng cách từ các ßnh ược liên kết trực tiếp, các ßnhlân cận chung và các ßnh lân cận riêng.

2.4 Thuật toán Attractor

Trong phần này, chúng tôi trình bày chi tiết thuật toán Attractor Tương tác ộng.Dựa trên mô hình tương tác (xem phương trình ( 2.8)), ộng lực học khoảng cách có thểược mô phỏng, chủ yếu bao gồm các bước sau:

a) Tại thời iểm ban ầu (t = 0), không có bất kỳ tương tác nào, mỗi cạnh ược liênkết với một khoảng cách ban ầu Ở ây, giá trị ban ầu ược tính theo khoảng cáchJaccord với ịnh nghĩa 2.2 hoặc ịnh nghĩa 2.3.

b) Khi thời gian thay ổi, dựa trên cấu trúc tô pô ịa phương, ộng lực học của từngkhoảng cách ược mô phỏng theo ba mẫu tương tác ược ề xuất (Phương trình (2.4),Phương trình (2.5) và Phương trình (2.7)) Nhờ các ảnh hưởng ịnh hướng tô pô,khoảng cách giữa các ßnh chia sẻ cùng một cộng ồng có xu hướng giảm dần trongkhi khoảng cách giữa các cộng ồng khác nhau tăng dần.

c) Cuối cùng, tất cả các khoảng cách sẽ hội tụ và có thể dễ dàng thu ược các cộng ồngbằng cách loại bỏ các cạnh có khoảng cách tối a (tức là d(u, v) = 1).

Hình 3: Minh họa về ộng lực học khoảng cách (a) Biểu diễn ồ thị của mạngxã hội trong Hình 1(a), trong ó các số trên các cạnh biểu thị khoảng cách banầu giữa các ßnh ược kết nối (b) Khoảng cách giữa các ßnh ược cập nhậtsau một bước thời gian (c) Trạng thái cuối cùng của mạng.

ể minh họa, Hình 3(a)-(c) hiển thị ba trạng thái cho mạng xã hội của Hình 1 từ t = 0ến t = 9 trong quá trình tương tác ộng ịa phương T = 0 biểu thị khoảng cách ban ầugiữa các ßnh ược kết nối (Hình 3(a)) Kể từ thời iểm ó, mỗi ßnh tương tác với các ßnhlân cận và ảnh hưởng ến khoảng cách tương ứng dựa trên mô hình tương tác ược ề xuất

Trang 22

(xem Phương trình 2.8) và khoảng cách mới sau một bước thời gian ược minh họa rõ hơntrong Hình 3 (b) Sau chín bước, tất cả các khoảng cách hội tụ, 0 hoặc 1 và ba cộng ồngược xác ịnh một cách tự nhiên bằng cách cắt bỏ tất cả các cạnh có khoảng cách bằng 1.

giới thực, thường tồn tại nhiều cộng ồng với nhiều quy mô khác nhau ặc biệt là trongcác mạng quy mô lớn, quy mô của một phần lớn cộng ồng thường nhỏ [15] Tuy nhiên, ốivới nhiều thuật toán phát hiện cộng ồng truyền thống, chẳng hạn như Modularity hoặcNcut, chúng có xu hướng phân vùng toàn bộ mạng thành các nhóm có kích thước tương ốibằng nhau với kích thước cụm không nhỏ hơn √n (n là số ßnh trong mạng) [15] và khôngtìm thấy các cộng ồng nhỏ do vấn ề gọi là <giới hạn ộ phân giải= [16] ối với thuật toánAttractor, vì nó mô phỏng ộng lực học khoảng cách và không dựa vào bất kỳ tiêu chí nàodo người dùng xác ịnh, nên nó cho phép tìm kiếm các cộng ồng với kích thước tùy ý trongmạng một cách trực quan Do ó, nó cũng cung cấp một cách ầy hứa hẹn ể xử lý các iểmbất thường/ngoại lệ Trong trường hợp này, các iểm bất thường ược hiểu là các ßnh liênkết với nhiều ßnh khác hoặc các ßnh bất thường bị cô lập khỏi tất cả các ßnh khác theothời gian và cuối cùng sẽ tự ộng bật ra.

Trang 23

Algorithm 1 Thuật toán Attractor

1: ầu vào: G = (V, E, W ), λ2: Khởi tạo khoảng cách

3: for mỗi cạnh e = {u, v} ∈ E do4:tính toán khoảng cách ban ầu d0

esử dụng phương trình 2.35:for mỗi ßnh x ∈ EN(u) do do

6:tính khoảng cách d0

vysử dụng phương trình 2.3;7:end for

8:for mỗi ßnh y ∈ EN(v) do9:tính khoảng cách d0

11: end for

12: ộng lực học khoảng cách13: Flag=FALSE

35: for mỗi cạnh e = {u, v} ∈ E do36:if dt+1

e= 1 then

37:xóa cạnh e khỏi mạng;38:end if

39: end for

40: tìm các thành phần kết quả (cộng ồng) C;41: ầu ra: C;

Trang 24

Hình 4: ộ nhạy của tham số liên kết λ khi phát hiện cộng ồng.

ể xác ịnh ảnh hưởng tương tác tích cực hoặc tiêu cực ối với khoảng cách từ các lân cậnloại trừ (xem phương trình (2.6)) Nói chung, với giá trị cao hơn của λ, nó mang lại nhiềucộng ồng hơn trong khi tạo ra các cộng ồng lớn hơn với giá trị thấp hơn của λ Bằngcách iều chßnh tham số gắn kết λ, Attractor cho phép phân tích cấu trúc cộng ồng từthô ến tinh Hơn nữa, λ cung cấp nhiều thông tin và dễ iều chßnh so với các thuật toányêu cầu chß ịnh số lượng cụm Hình 4(a) biểu thị số lượng cộng ồng tìm ược với các λkhác nhau nằm trong khoảng từ 0 ến 1 trên mạng tổng hợp Từ biểu ồ này, chúng ta cóthể thấy rằng Attractor cho phép tạo ra cách phân cụm tốt với tham số λ trên phạm vi ổnịnh dài (0, 2 − 0, 7) Các kết quả phân cụm ối với các tham số riêng biệt ược minh họarõ hơn trong Hình 4 (b) ến Hình 4 (e) Các thử nghiệm mở rộng chứng minh thêm rằngAttractor không nhạy cảm với kết quả phân cụm và thường tạo ra kết quả tốt trong phạmvi λ = [0, 4; 0, 6] Cuối cùng, giả code của Attractor ược ưa ra trong Thuật toán 1.2.5 Phân tích ộ phức tạp

ể tính ộ phức tạp của ộng lực khoảng cách, khoảng cách ban ầu của hai ßnh ượcliên kết bất kỳ trong mạng là bắt buộc và do ó thời gian tính toán là O(|E|) Ngoài ra,ối với tương tác ộng ịa phương, Attractor cũng cần tính toán khoảng cách jaccard tươngứng cho các lân cận riêng (Thuật toán 1 (Dòng 5-10)) ộ phức tạp về thời gian là O(k.|E|),trong ó k xấp xß là số lân cận riêng trung bình của hai ßnh ược liên kết Trong quátrình tương tác ộng ịa phương, vì tất cả các khoảng cách ã tồn tại, Attractor chß cầngọi lại các khoảng cách này ở thời gian trước ó mà không cần tính toán khoảng cách vàdo ó ộ phức tạp thời gian là O(T.|E|) Tổng cộng, ộ phức tạp tính toán về thời gian làO(|E| + k.|E| + T |E|), trong ó T là số bước thời gian Trong hầu hết các trường hợp, Tnhỏ với 3 f T f 50.

Trang 25

3.1 Phát hiện cộng ồng trong mạng hai phần bằng ộng lực học khoảng cách3.1.1 ộng lực khoảng cách trong Unipartite Networks

Trong phần này, chúng tôi mô tả ngắn gọn thuật toán Attractor ể khám phá các cộngồng của các mạng ơn phương sử dụng ộng lực học khoảng cách Attractor là nền tảngcủa BiAttractor ược ề xuất của chúng tôi trong phần tiếp theo Ý tưởng về Attractor ượclấy cảm hứng từ quan iểm hình thành cộng ồng từ xã hội học Một cộng ồng bạn bèthường ược thiết lập và tăng cường do các tương tác nhất quán Những tương tác như vậythường ược thúc ẩy bởi lợi ích của ý chí, chia sẻ lợi ích chung, Tương tác giữa nhữngngười trong xã hội ưa ra một hình ảnh sống ộng về khoảng cách ộng giữa các ßnh trongkhoa học mạng Do ó, Attractor ã ề xuất ể khám phá các cộng ồng từ các mạng bêndưới bằng cách sử dụng ộng lực học khoảng cách [13] Mạng ược xem như một hệ thốngộng trong ó các ộng lực cạnh ã ược nghiên cứu Do sự tương tác của các ßnh với cácßnh lân cận của chúng, khoảng cách giữa chúng tăng dần theo thời gian và cuối cùng ạtến sự hội tụ Các cộng ồng có thể ược phát hiện một cách tự nhiên bằng cách loại bỏcác cạnh liên cộng ồng.

Trang 26

Tiếp theo, các bước chính của Attractor ã ược giới thiệu Cho một mạng vô hướngvà không trọng số G = (V ; E) trong ó V là tập các ßnh và E là tập các cạnh Attractornhằm mục ích tìm một phân vùng của V thành các cộng ồng V1; V2; ; VC dựa trên ộnglực học khoảng cách.

a) Ban ầu, mỗi cạnh ược liên kết với một khoảng cách ban ầu theo hệ số Jaccard.b) Theo thời gian, khoảng cách của mỗi cạnh thay ổi do tác ộng qua lại giữa các ßnh

lân cận ịa phương Các mẫu tương tác bao gồm ảnh hưởng từ các ßnh ược kết nốitrực tiếp, ảnh hưởng từ các ßnh lân cận chung và các ßnh lân cận riêng.

c) Cuối cùng, mọi khoảng cách ều ạt trạng thái hội tụ Các cạnh ược liên kết với số0 biểu thị các cạnh trong cộng ồng Những cái ược liên kết với một cạnh chß ra giữacác cộng ồng ã bị xóa ể hình thành các cộng ồng một cách tự nhiên.

Attractor có tham số λ ể xác ịnh kích thước và số lượng cộng ồng Nó ảnh hưởngến những ßnh lân cận riêng như một ngưỡng tác ộng tích cực hoặc tác ộng tiêu cực ộphức tạp thời gian tuyến tính O(|E|) cho phép nó ược áp dụng cho các mạng thưa thớt cókích thước rất lớn trong một thời gian ngắn.

Tuy nhiên, Attractor chß ược áp dụng cho các mạng ơn phương chứa một loại ßnh.Vì vậy, chúng tôi khái quát hóa nó ể xử lý các mạng hai phần trong phần tiếp theo.3.1.2 ộng lực khoảng cách trong mạng hai phần

Trong phần này, chúng tôi mở rộng Attractor thành BiAttractor ể giải quyết việc pháthiện cộng ồng trong các mạng hai phần Một số ịnh nghĩa liên quan sẽ ược giải thíchnhư sau.

G = (U, V, E) là một ồ thị hai phía vô hướng và không trọng số, trong ó U và Vại diện cho hai tập hợp các loại ßnh khác nhau Cạnh e thuộc E kết nối các loại ßnhkhác nhau Không có cạnh giữa các ßnh từ cùng một tập hợp U hoặc V Attractor trongphần trước phụ thuộc vào lân cận của ßnh và Khoảng cách Jaccard Tương tự, phươngpháp BiAttractor của chúng tôi phụ thuộc vào các lân cận bậc hai của ßnh và khoảng cáchJaccard ịa phương (LJD) mới.

Tiếp theo, chúng sẽ ược giới thiệu chi tiết.

Trang 27

Hình 5: Các ßnh lân cận và các ßnh lân cận bậc hai của các ßnh ã cho.Hình tròn và hình vuông biểu thị hai loại ßnh trong mạng hai phần (a) ßnhu của hình tròn màu lục và các lân cận của nó N (u) ược biểu thị bằng cáchình vuông màu tím (b) Các vòng tròn màu xanh biểu thị ßnh lân cận bậchai NN(u) của u.

ịnh nghĩa 3.1 Vùng lân cận của ßnh u bao gồm các ßnh lân cận của u Tương tự,chúng ta có thể có ược lân cận của ßnh v Trong các mạng hai phần, các lân cận ược kếtnối trực tiếp của ßnh u thuộc về tập V ược hiển thị trong hình 5 (a) Nó tương tự như cácßnh lân cận ược kết nối trực tiếp của ßnh v.

ịnh nghĩa 3.2 (Lân cận bậc hai của ßnh u và ßnh v)

Phần mở rộng từ ßnh lân cận ến ßnh lân cận bậc hai ược thể hiện trong Hình 5 (b).Nếu chúng ta ịnh nghĩa N(u), các lân cận của ßnh u, là các ßnh liền kề của nó.

Khi ó các ßnh lân cận bậc hai NN(u) ược ịnh nghĩa là các ßnh lân cận của y, trongó y là các ßnh lân cận của u ịnh nghĩa của NN(v) tương tự như NN(u).

Trang 28

ịnh nghĩa 3.3 (Khoảng cách Jaccard)

Cho một ồ thị hai phần vô hướng và không có trọng số G = (U, V, E), khoảng cáchJaccard của ßnh u và ßnh v ược ịnh nghĩa như bên dưới trong biểu thức 3.5 N(u)∩N(v)là tập rỗng nếu u liên thông với v vì N(u) và N(v) là các loại ßnh khác nhau.

djac(u, v) = 1− |N(u) ∩ N(v)|

ịnh nghĩa 3.4 (Khoảng cách Jaccard ịa phương)

Khoảng cách Jaccard hoạt ộng tốt trong Attractor vì các ßnh lân cận chung N(u)∩N(v)tồn tại trong các mạng ơn phương Tuy nhiên, nó không giống như vậy trong các mạng haiphần N(u) và N(v) là các loại ßnh khác nhau và (N(u) ∩ N(v)) = ∅ Tuy nhiên, u ßnh lâncận bậc hai NN(u) là cùng loại với N(v) ßnh lân cận của v Do quan iểm này, chúng tôiề xuất khoảng cách Jaccard ịa phương ể xử lý việc phát hiện cộng ồng trong các mạnghai phần.

Khoảng cách Jaccard ịa phương (LJD) giữa ßnh u và v ược hiển thị trong biểu thức3.6 Các ßnh lân cận riêng của u ược ịnh nghĩa là EN(u) = N(u) − {v} Tương tự, chúngta có thể lấy các ßnh lân cận riêng của v là EN(v) = N(v) − {u} Khoảng cách Jaccardgiữa ßnh u và các ßnh lân cận riêng của v ược tính tổng và chia cho số lân cận riêng củanó |EN(v)| Vì các ßnh lân cận của u và các ßnh lân cận bậc hai của v là cùng một loạißnh Tương tự, khoảng cách Jaccard từ ßnh v và các ßnh lân cận riêng của u ược tínhtổng và chia cho số ßnh lân cận riêng của nó |EN(u)| Giá trị trung bình của hai phần óược ịnh nghĩa là LJD Ngoài ra, các ßnh lân cận bậc hai có hiệu quả ể xử lý dự oánliên kết của các mạng phức [19, 20].

d(u, v) = 12

v′∈EN (v)

djac(u, v′) + 1|EN(u)|

u′∈EN (u)

djac(v, u′)

jac trong G2 Nhưng trên thực tế, cạnh màuỏ giữa ßnh v2 và u3 dẫn ến khoảng cách ngắn hơn giữa u và v trong G2 Hơn nữa, chúngtôi áp dụng LJD cho cùng một mẫu Như ược hiển thị trong Hình 6 (a), d(u, v) = 0, 708theo biểu thức 3.6 Tương tự, nó ược hiển thị trong Hình 6 (b) trong ó d(u, v) = 0, 590.

Trang 29

d(u, v) của G2 nhỏ hơn d(u, v) của G1 vì cạnh ỏ giữa ßnh v2 và u3 làm cho u và v gầnnhau hơn.

Hình 6

Một ví dụ ể so sánh Khoảng cách Jaccard và Khoảng cách Jaccard ịa phương trong cácmạng hai phần (a) Một mạng hai phần mẫu G1 = (U1, V1, E1), trong ó |U1| = 4, |V1| = 3và |E1| = 6 ßnh v2 và u3 ối ßnh (b) Một ồ thị hai phần mẫu G2 = (U2, V2, E2), trongó |U2| = 4, |V2| = 3 và |E2| = 7 ßnh v2 và u3 thông nhau.

a Mô hình tương tác

Trong phần này, các mẫu tương tác của BiAttractor sẽ ược giải thích trước khi chúngtôi diễn giải thuật toán BiAttractor BiAttractor ược ưa ra bởi các mô hình tương tác xãhội trong xã hội loài người Mọi người có xu hướng có mối quan hệ thân thiết với bạn bè củahọ trong cùng một cộng ồng, nhưng giữ khoảng cách nhất ịnh với người lạ Mối quan hệcủa họ không hoàn toàn ổn ịnh mà thay ổi theo thời gian Lấy cảm hứng từ ý tưởng này,chúng tôi nghĩ rằng các ßnh gần với các ßnh ó trong cùng một cộng ồng nhưng cách xacác ßnh trong các cộng ồng khác nhau Về mặt lý thuyết, các mối quan hệ chặt chẽ ượcbiểu thị bằng các cạnh trong cộng ồng và các mối quan hệ chung ược biểu thị bằng cáccạnh liên cộng ồng.

Cần xác ịnh phạm vi tương tác trước khi ưa ra các mẫu tương tác Một ßnh khôngthể tương tác với mọi ßnh khác trong mạng bên dưới Thay vào ó, nó tương tác với cácßnh lân cận ể tạo thành cộng ồng Phạm vi ịa phương thay vì phạm vi toàn bộ ượcchọn trong phương pháp của chúng tôi.

Có ba kiểu tương tác khác nhau của Attractor bao gồm ảnh hưởng của các ßnh ược

Trang 30

liên kết trực tiếp, ảnh hưởng của các lân cận chung và ảnh hưởng của các lân cận riêng [13].Tuy nhiên, không có lân cận chung của u và v trong các mạng hai phần vì N(u) và N(v) làcác loại ßnh khác nhau Do ó, chß có hai sự tương tác ược nói tới trong BiAttractor baogồm ảnh hưởng của các ßnh ược kết nối trực tiếp và ảnh hưởng của các lân cận riêng.ịnh nghĩa 3.5 (Sự ảnh hưởng trực tiếp)

Khoảng cách trực tiếp giữa ßnh u và ßnh v ược ịnh nghĩa như bên dưới Ảnh hưởngtrực tiếp DI(u, v) dẫn ến hiện tượng u và v di chuyển lại gần nhau do u và v liên thôngvới nhau.

DI(u, v) =− f (1 − d(u, v))

f (1− d(u, v))deg(v)

(3.7)Nó tương tự như ịnh nghĩa ược ề xuất bởi Shao et al [13], trong ó f(u) là sin(u), deg(u)là bậc của ßnh u Biểu thức minh họa của khái niệm này ược thể hiện trong Hình 3 (a).Chúng tôi thay ổi hàm khoảng cách d(u, v) từ khoảng cách Jaccard thành Khoảng cáchJaccard ịa phương vì Khoảng cách Jaccard luôn không biểu thị ược ộ tương tự của ßnhtrong các mạng hai phần Lý do ã ược minh họa trước ây khi chúng tôi trình bày ịnhnghĩa về khoảng cách Jaccard ịa phương.

Hình 7: Các mẫu tương tác của BiAttractor Hình tròn và hình vuông ạidiện cho các loại ßnh khác nhau.

(a) Tương tác trực tiếp giữa ßnh u và v ược ánh dấu bằng các ường liền nét có trọngsố Hình tròn màu lục u chịu ảnh hưởng của hình vuông màu lục v và ngược lại.

(b) Ảnh hưởng tiêu cực giữa ßnh u và các lân cận riêng của nó N(u) ược minh họa.Hình tròn màu lục u di chuyển về phía hình vuông màu tím N(u), nhưng nó di chuyển raxa v.

Trang 31

(c) Ảnh hưởng tích cực giữa ßnh u và các lân cận riêng của nó N(u) ược hiển thị Hìnhtròn u màu lục di chuyển về phía hình vuông màu tím N(u) Bởi vì NN(u) ược kết nốichặt chẽ với hình vuông màu lục v, v gần u hơn.

ịnh nghĩa 3.6 (Ảnh hưởng từ các lân cận riêng) Ảnh hưởng của cạnh (u, v) giữa ßnh uvà ßnh v từ các lân cận riêng ược ịnh nghĩa là phương trình 3.8 d(u, v) là Khoảng cáchJaccard ịa phương, deg(u) là bậc của ßnh u và f(u) là sin(u) Khoảng cách ộng ến từcác lân cận riêng EN(u) = N(u) − {v} và EN(v) = N(v) − {u}.

Tương tự như ảnh hưởng từ các ßnh ược liên kết trực tiếp, mỗi lân cận riêng thu hútßnh u di chuyển về phía chính nó vì chúng ược kết nối Nhưng chúng ta không biết liệußnh u có xu hướng tiến lại gần ßnh v hay không ể minh họa những ảnh hưởng tích cựchoặc tiêu cực của những ßnh lân cận riêng về khoảng cách, một cách tương tự với cách ượcề xuất bởi Shao et al [13] Nếu như ßnh v tương tự với các lân cận riêng của u, việc dichuyển từ u sang các lân cận riêng của nó dẫn ến việc giảm d(u, v) Mặt khác, nếu ßnh vkhông tương tự với các lân cận loại trừ của u, thì việc di chuyển từ u sang các lân cận loạitrừ của nó dẫn ến sự gia tăng của d(u, v).

1− d(x, v), (1 − d(x, v)) g λ

1− d(x, v) − λ, trong các trường hợp còn lại

(3.8)Ảnh hưởng tiêu cực của những lân cận riêng ược thể hiện trong Hình 7 (b) Vì không cóliên hệ nào giữa v và các lân cận bậc hai của u NN(u), N(u) và v không như vậy Do ó,các lân cận riêng của u thu hút u di chuyển ến gần họ hơn, nhưng u ở xa v.

Ảnh hưởng tích cực của những lân cận riêng ược thể hiện trong Hình 7 (c) Do các kếtnối giữa v và các lân cận bậc hai của u, NN(u), v và u là tương tự nhau Các lân cận riêngcủa u thu hút bạn di chuyển về phía họ và bạn cũng di chuyển ến gần v hơn.

ộng lực của việc giới thiệu λ trong biểu thức 3.8 là xác ịnh xem ảnh hưởng của cácßnh lân cận riêng là tích cực hay tiêu cực Nếu λ nhỏ, các ßnh lân cận loại trừ của u cótác ộng tích cực ể làm cho u và v tiến lại gần nhau hơn Bởi vì các ßnh lân cận riêng củautương tự với v, khi λ nhỏ Nó ược biểu thị bằng ρ g 0 Mặt khác, các ßnh lân cận loại

Trang 32

trừ của u có tác ộng ngược chiều làm cho các ßnh u và v dịch chuyển ra xa Ảnh hưởngtiêu cực ược biểu thị bằng ρ < 0.

ịnh nghĩa 3.7 (Khoảng cách ộng)

Xem xét các ảnh hưởng từ cả các ßnh lân cận ược kết nối trực tiếp và riêng biệt, chúngtôi giải thích thêm về khái niệm khoảng cách ộng Khoảng cách ộng dt+1(u, v) tại bướcthời gian t + 1 ược xác ịnh bởi khoảng cách dt+1(u, v) tại bước thời gian trước ó t, ảnhhưởng từ tương tác trực tiếp DIt(u, v) và các lân cận loại trừ EIt(u, v) Giá trị ban ầu củadt(u, v) ược tính bằng khoảng cách Jaccord ịa phương từ biểu thức 3.6 Khoảng cách cậpnhật cho ến khi chúng hội tụ (dt+1(u, v) = 1 hoặc dt+1(u, v) = 0) Khi tất cả các khoảngcách ạt ến trạng thái ổn ịnh, quá trình ộng chấm dứt Thuật toán chi tiết có thể ượcmô tả trong Thuật toán 2 trong phần tiếp theo.

Tiếp theo, chúng tôi minh họa sự giống và khác nhau giữa Attractor và BiAttractor.Khung chung của BiAttractor giống hệt với sơ ồ Attractor ban ầu, bởi vì chúng tôi tuântheo cùng một ý tưởng về ộng lực Cả hai ều ược thúc ẩy bởi các mô hình tương tácxã hội trong xã hội loài người Mọi người có xu hướng có mối quan hệ thân thiết với bạn bècủa họ trong cùng một cộng ồng, nhưng giữ một khoảng cách nhất ịnh với người lạ Doó, khoảng cách giữa các ßnh trong cùng một cộng ồng là nhỏ nhưng khoảng cách giữacác cộng ồng khác nhau thì lớn Khi chúng ta mở rộng phương pháp từ mạng ơn thànhphần sang mạng hai phần, các phần sau ược sửa ổi.

ầu tiên, Attractor dựa trên Khoảng cách Jaccard ể o khoảng cách ộng của hai ßnhbất kỳ trong mạng Khoảng cách Jaccard dựa trên các ßnh lân cận chung của hai ßnh ãcho Nhưng trong nghiên cứu về các mạng hai phần, chúng ta thấy rằng ßnh u và ßnh v làcác loại ßnh khác nhau và các ßnh lân cận của chúng cũng là các loại ßnh khác nhau Doó, không có ßnh lân cận chung nào tồn tại về Khoảng cách Jaccard giữa hai loại ßnh khácnhau bất kỳ trong mạng hai phần Quan sát thêm cho thấy các lân cận của ßnh u N(u) cóliên kết với các lân cận bậc hai của ßnh u NN(u) Do ó, chúng tôi ề xuất Khoảng cáchJaccard ịa phương (LJD) thay vì khoảng cách Jaccard trong BiAttractor.

Thứ hai, do không có vấn ề về ßnh lân cận chung trong các mạng hai phần nên ảnhhưởng của ßnh lân cận chung ối với khoảng cách ộng bị bỏ qua Do ó, một iểm khác biệtnữa giữa Attractor và BiAttractor là chß ảnh hưởng ược liên kết trực tiếp và ảnh hưởng từcác ßnh lân cận riêng mới ược xem xét trong BiAttractor Nhưng Attractor có ảnh hưởng

Trang 33

của những ßnh lân cận chung còn BiAttractor thì không có Hơn nữa, các phương trình vềảnh hưởng ược liên kết trực tiếp và ảnh hưởng từ các ßnh lân cận riêng ến từ phươngpháp ban ầu Attractor Nhưng chúng ược sửa ổi ể sử dụng Khoảng cách Jaccard ịaphương (LJD) thay vì Khoảng cách Jaccard.

Vì hai lý do ược trình bày ở trên, các phương trình thay ổi khoảng cách ộng củaAttractor và BiAttractor là khác nhau Nó ược hiển thị trong biểu thức 3.9 ể xác ịnh quátrình thay ổi của BiAttractor DIt(u, v) và EIt(u, v) phụ thuộc vào Khoảng cách Jaccardịa phương (LJD).

Algorithm 2 Thuật toán BiAttractor

1: ầu vào: Cho trước một mạng hai phần vô hướng và không trọng số G(U, V, E) và tham số cố kết λ.λược cập nhật lặp lại giữa [0, 1] ể có ược phân vùng cộng ồng tối ưu với Qbtối a.

2: ầu ra: k cộng ồng hai chế ộ C1, C2, , Ck.

3: Khởi tạo mỗi cạnh e = {u, v} từ E với khoảng cách ban ầu d0(u, v) bởi phương trình 3.6.4: Khởi tạo d0(u, x) trong ó x∈ EN(u) bởi phương trình 3.6.

5: Khởi tạo d0(v, y) trong ó y∈ EN(v) bởi phương trình 3.6.6: while không hội tụ từ tất cả các cạnh do

7:if 0 < dt(u, v) < 1 then

8:dt+1(u, v) = dt(u, v) + DIt(u, v) + EIt(u, v) bởi phương trình 3.9.9:end if

10:if dt(u, v) <= 0 then11:dt(u, v) = 0, dthội tụ.12:end if

13:if dt(u, v) >= 1 then14:dt(u, v) = 1, dtlà hội tụ.15:end if

16: end while

17: Tạo các cộng ồng C1, C2, , Ckbằng cách loại bỏ tất cả các cạnh có dt(u, v) = 1).

Trang 34

a) Ban ầu, mỗi cạnh ược gắn với một khoảng cách ban ầu theo khoảng cách Jaccardịa phương theo phương trình 3.6.

b) Theo thời gian, khoảng cách của mỗi cạnh thay ổi do liên kết giữa các ßnh ược kếtnối trực tiếp và các lân cận riêng theo phương trình 3.9 Ở ây, kiểu tương tác củaBiAttractor khác với kiểu tương tác của Attractor Các so sánh và lý do ã ược giớithiệu trong phần trước về các mẫu tương tác.

c) Khoảng cách ộng dt thay ổi lặp i lặp lại nếu 0 < dt(u, v) < 1 Các cạnh trong cùngmột cộng ồng có xu hướng giảm và cạnh giữa các cộng ồng khác nhau có xu hướngtăng Cuối cùng, mọi khoảng cách ều hội tụ (dt(u, v) = 0 hoặc dt(u, v) = 1) Các cạnhược liên kết với giá trị 0 biểu thị các cạnh trong cộng ồng Những cái ược liên kếtvới giá trị một ại diện cho các cạnh liên cộng ồng ã bị xóa khỏi các mạng bên dướiể hình thành các cộng ồng một cách tự nhiên.

d) Lý do của việc giới thiệu λ là ể xác ịnh xem ảnh hưởng của các ßnh lân cận riênglà tích cực hay tiêu cực Nếu λ nhỏ, các ßnh lân cận riêng của u có tác ộng tích cựcể làm cho u và v tiến lại gần nhau hơn Bởi vì các ßnh lân cận riêng của u tươngtự với v, khi λ nhỏ Mặt khác, các ßnh lân cận riêng của u có tác ộng ngược chiềulàm cho các ßnh u và v dịch chuyển ra xa λ ược cập nhật lặp lại giữa [0, 1] ể chạythuật toán (ví dụ: λ = 0, 05 ược ề xuất) Do λ tối ưu, phân vùng cộng ồng tối ưuược chọn với mô un tối a Qb [21].

Hình 8: Một ví dụ của BiAttractor (a) ồ thị bao gồm ba thành phần phụtheo các màu khác nhau trong ó hình tròn và hình vuông biểu thị hai loạißnh khác nhau Khoảng cách gắn vào các cạnh ược khởi tạo ở bước ầu

tiên (b) Ở bước thời gian thứ hai, khoảng cách ược cập nhật theo

Trang 35

BiAttractor (c) Cuối cùng, tất cả các cạnh trong cộng ồng có ộ lớn 0 vàcác cạnh giữa các cộng ồng có ộ lớn bằng một Loại bỏ các cạnh ược liên

kết với giá trị có thể tự ộng phát hiện các cộng ồng.

ể hiểu rõ hơn về thuật toán BiAttractor, ý tưởng cơ bản ược trình bày ngắn gọn bằngmột ví dụ trong Hình 8 Cho một ồ thị hai phần ơn giản có mười ßnh và mười một cạnh,hình tròn và hình vuông ại diện cho hai loại ßnh riêng biệt Khoảng cách cạnh biểu thị mốiquan hệ giữa hai ßnh ược kết nối bởi cạnh Các giá trị nhỏ hơn luôn biểu thị rằng chúng cónhiều khả năng ở trong cùng một cộng ồng hơn Ở bước ầu tiên, mỗi cạnh ược cung cấpmột khoảng cách ban ầu theo các cấu trúc tô pô ịa phương ược tính bởi phương trình3.6 như trong Hình 8 (a) Khoảng cách sẽ ược cập nhật bởi phương trình 3.9 nếu chúngkhông ạt ến trạng thái ổn ịnh như trong Hình 8 (b) Sau khi tất cả các khoảng cách hộitụ về 0 hoặc 1, các cộng ồng có thể ược phân vùng khỏi mạng bên dưới bằng cách loại bỏcác cạnh có khoảng cách 1 như trong Hình 8 (c) ược biết, ba cộng ồng ược phát hiệnbằng cách loại bỏ hai cạnh liên cộng ồng.

c ộ phức tạp

ể nghiên cứu ộ phức tạp về thời gian của BiAttractor, mỗi cạnh của mạng bên dướiã ược tính toán một lần ể thu ược giá trị ban ầu Như ược hiển thị trong dòng 3trong thuật toán 2, do ó thời gian O(|E|) ược xem xét ở bước ầu tiên Tiếp theo, nhưược hiển thị trong dòng 4 và dòng 5, các cấu trúc tô pô ịa phương yêu cầu BiAttractorthu ược ảnh hưởng từ các lân cận riêng ộ phức tạp thời gian ít nhất là O(k|E|) trong ók là số lân cận riêng trung bình Nó ược hiển thị từ dòng 6 ến dòng 16 sau T bước thờigian, BiAttractor hội tụ ến trạng thái cuối cùng ộ phức tạp là O(T |E|) trong quá trìnhlặp.

Do ó, tổng ộ phức tạp thời gian của BiAttractor là O(|E| + k|E| + T |E|) T là hằng sốtrong thử nghiệm của chúng tôi với mạng bên dưới G ộ phức tạp thời gian O(|E| + k|E| +T|E|) có thể ược viết là O(z|E|) trong ó z là nhãn thông thường của mạng ộ trung bình.Nếu mạng dày ặc, ộ phức tạp ít nhất là bậc hai Mạng thực thường là mạng thưa thớt vàz không ổi ộ phức tạp thời gian là tuyến tính trong trường hợp này.

3.2 Thuật toán phát hiện cộng ồng trên mạng hai phần: ComSim3.2.1 Hàm tương tự

Trong phần này, chúng tôi chính thức trình bày thuật toán phát hiện dành cho ồ thịhai phía ầu tiên chúng tôi nhắc lại các ịnh nghĩa cần thiết (Phần 3.2.1) trước khi mô tả

Trang 36

thuật toán ComSim (Phần 3.2.2).

Một ồ thị hai phần xác ịnh bởi: G = (U, V, E) trong ó U là tập hợp các ßnh trên, Vlà các ßnh ở phía dưới (ví dụ diễn viên) và E ¦ U × V tập hợp các cạnh viên kết giữa Uvà V (chẳng hạn là các liên kết giữa diễn viên và các bộ phim họ tham gia).

Hình 9: Ví dụ của một ồ thị hai phần G = (U, V, E)

So với biểu ồ một phần, các ßnh trong biểu ồ hai phần ược tách thành hai tập hợprời rạc và các liên kết luôn nằm giữa một ßnh trong một tập hợp và một ßnh trong tậphợp kia Nhưng iều tự nhiên là cũng phải iều tra xem các ßnh trong cùng một tập hợpcó quan hệ với nhau như thế nào Cách tiếp cận này thường ược nắm bắt bởi khái niệmhình chiếu của một ồ thị hai phần trên một trong hai tập hợp của nó.

Trang 37

Chú ý rằng trong phần còn lại của 3.2, chúng ta sẽ sử dụng hàm lân cận chung tiêuchuẩn θ(x, y) = |N(x) ∩ N(y)| Nhưng cách tiếp cận này dễ dàng mở rộng sang các hàm sốtương tự khác như chß số jaccard [22], phân bổ các ßnh [22] hoặc hệ số adamic-adar [23]3.2.2 Thuật toán COMSIM

Cho một ồ thị hai phía G = (U, V, E) và một hàm tương tự θ chẳng hạn như các ßnhlân cận chung, COMSIM tạo một phân vùng theo hai bước ầu tiên, nó xác ịnh các cộngồng cốt lõi, ó là các nhóm ßnh có ộ tương tự cao theo hàm θ.

Như mọi người có thể thấy trong Thuật toán 3 trình bày chi tiết bước ầu tiên này,thuật toán tạo ra một chuỗi các ßnh bằng cách i theo các liên kết ra ngoài có trọng sốcao nhất theo θ Khi chuỗi này ến một ßnh ã ược xem xét, iều ó có nghĩa là một chukỳ ã ược phát hiện trong chuỗi Chu kỳ này sau ó tạo thành cốt lõi của một cộng ồngtrong tương lai.

Trên ví dụ về trong Hình 9, nó sẽ dẫn ến việc phát hiện ra rằng các ßnh A và B tạothành cốt lõi của một cộng ồng, cũng như E và F iều này phù hợp với Hình 10 cho thấyrằng A và B, cũng như E và F có các liên kết có trọng số cao nhất Các ßnh khác (C và D)ược ể lại trong tập K còn lại.

Sau ó, giai oạn thứ hai của thuật toán cố gắng ịnh vị các ßnh còn lại của K trongcác cộng ồng hiện có bằng cách tối a hóa ộ tương tự giữa các ßnh này và tất cả các ßnhcủa các cộng ồng cốt lõi.

Như ược mô tả trong Thuật toán 4, bước thứ hai xem xét tất cả các ßnh còn lại khôngphải là một phần của phân vùng sau bước ầu tiên ối với mỗi nút x, nó xác ịnh các cộngồng có ít nhất một liên kết với x Sau ó, thuật toán sẽ chọn cộng ồng tối a hóa tổng sốiểm tương ồng giữa x và tất cả các ßnh của cộng ồng.

Trên ví dụ về ồ chơi trong Hình 9, và không phụ thuộc vào thứ tự mà các ßnh C và Dược xem xét trong bước 2, nó sẽ dẫn ến việc ảnh hưởng từ ßnh C ến cộng ồng A − B(tổng các iểm tương ồng là 3) và ßnh D ến cộng ồng E − F (tổng các iểm giống nhaulà 4).

iều áng chú ý là vì một số liên kết có thể có trọng số tương tự nhau nên hai bước cóthể phải ối mặt với một số tùy chọn bằng nhau Trong trường hợp ó, thuật toán sẽ chọnngẫu nhiên một tùy chọn thống nhất trong số tất cả các tùy chọn có thể Vì lý do này, thuậttoán không xác ịnh và một số lần chạy có thể dẫn ến các phân vùng khác nhau.

Trang 38

Thuật toán phát hiện cộng ồng trên mạng hai phần sử dụng tính tương tự của chu trìnhvà ßnh.

Algorithm 3 Thuật toán COMSIM - Bước ầu tiên

1: ầu vào: Một ồ thị hai phần G = (U, V, E), hàm tương tự θ

2: ầu ra: trả về một phân vùng P gồm các ßnh U và một tập K các nút còn lại (cho bước thứ hai)3: P := ∅ // tập hợp phân vùng

4: T := U //tập hợp các ßnh ược xem xét5: x := rand_and_remove(T ) // ßnh ngẫu nhiên6: H := ∅

7: K := ∅ //tập hợp các ßnh còn lại8: while T ̸= ∅ do

9:tìm một ßnh lân cận y ∈ N(N(x)) của x mà hàm θ(x, y) ạt giá trị lớn nhất.10:y:= argmaxy∈N(N (x))θ(x, y)

Trang 39

Algorithm 4 Thuật toán COMSIM - Bước thứ hai

1: ầu vào: Một ồ thị hai phần G = (U, V, E), một phân vùng P , Một tập hợp K các ßnh dư lại sau(bước ầu tiên) hàm tương tự θ

2: ầu ra: trả về một phân vùng P′gồm các ßnh của U và các ßnh không thỏa mãn R3: R := ∅

4: P′:= P

5: for với mỗi x ∈ K do

6:Px= comneigh(x, P ) // Tìm tất cả các cộng ồng lân cận của x7:if Px=∅ then

9:end if

10:if Px̸= ∅ then11:C:= argmaxCx∈Px

y∈Cxθ(x, y)12:Thêm x vào phân vùng C của P′13:end if

14: end for

15: return P′và R

3.2.3 Cải tiến thuật toán COMSIM

Sau khi phân cụm ược một bên của ồ thị hai phần ban ầu thành các cộng ồng chúngtôi tiếp tục phân cụm cho bên còn lại Từ trên chúng tôi ã có các cụm cộng ồng ở trongtập hợp ßnh U với các ßnh thuộc tập hợp ßnh V chúng tôi xét số liên kết từ mỗi ßnh ếncác cộng ồng trong U số liên kết với cộng ồng nào nhiều nhất ta sẽ ghép iểm vào cộngồng ó.

Ví dụ ở phía trên ta ã phân cụm ược tập hợp ßnh U thành hai cộng ồng gồm ßnhA, B, Cvà cộng ồng gồm ßnh D, E, F Ta xét các iểm thuộc V ví dụ iểm 1 Ta thấy tổngcác liên kết từ 1 ến cộng ồng A, B, C là 2 và 1 không có liên kết với cộng ồng D, E, Fvậy 1 ược ghép vào cộng ồng gồm 3 ßnh A, B, C.

Cuối cùng ta sẽ thu ược cộng ồng cần tìm.

Ngày đăng: 06/05/2024, 16:43

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

  • Đang cập nhật ...

Tài liệu liên quan