Mạng xã hội và bài toán phát hiện cộng đồng mạng xã hội là nội dung nghiên cứu mang tính thời sự, là nhu cầu bức thiết trong thời điểm hiện nay và nó đang thu hút được rất nhiều sự quan
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan các kết quả nghiên cứu trong luận văn này là do tự bản thân tôi tìm hiểu dưới sự hướng dẫn của PGS TS Đoàn Văn Ban Các chương trình thực nghiệm do chính bản thân tôi lập trình, các kết quả là hoàn toàn trung thực Các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc
TÁC GIẢ LUẬN VĂN
Dương Thị Tình
Trang 3Đồng thời tôi cũng xin chân thành cảm ơn sự góp ý chân thành của các thầy, cô giáo Viện Công nghệ thông tin, các thầy, cô giáo Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên đã tạo mọi điều kiện thuận lợi cho tôi hoàn thành đề tài này
Dù đã rất cố gắng nhưng chắc chắn sẽ không tránh khỏi những thiếu sót
vì vậy rất mong nhận được sự góp ý của các thầy, cô và các bạn để luận văn này được hoàn thiện hơn
Tôi xin chân thành cảm ơn!
Thái Nguyên, tháng 08 năm 2020
Dương Thị Tình
Trang 4MỤC LỤC
Trang
MỞ ĐẦU 1
CHƯƠNG 1 MẠNG XÃ HỘI VÀ CÁC ĐỘ ĐO TRÊN ĐỒ THỊ MẠNG XÃ HỘI 4
1.1. MẠNG XÃ HỘI 4
1.2.CẤU TRÚC CỘNG ĐỒNG MẠNG XÃ HỘI 8
1.3.CÁC ĐỘ ĐO TRÊN ĐỒ THỊ MẠNG XÃ HỘI 11
1.3.1 Hệ số cố kết của mạng 12
1.3.2 Hệ số trung tâm vector đặc trưng 13
1.3.3 Độ đo trung tâm của đỉnh 14
1.3.4 Hệ số trung gian của đỉnh 18
1.3.5 Độ đo trung gian của cạnh 20
1.4.THUẬT TOÁN TÍNH ĐỘ TRUNG GIAN 22
1.5.KẾT LUẬN CHƯƠNG 26
CHƯƠNG 2 THUẬT TOÁN PHÁT HIỆN CỘNG ĐỒNG MẠNG XÃ HỘI 27
2.1.BÀI TOÁN PHÁT HIỆN CỘNG ĐỒNG TRÊN ĐỒ THỊ MẠNG XÃ HỘI 27
2.2.THUẬT TOÁN PHÂN CỤM PHÂN CẤP 28
2.3.THUẬT TOÁN PHÁT HIỆN CỘNG ĐỒNG DỰA TRÊN TỐI ƯU HOÁ ĐỘ ĐO ĐƠN THỂ 30
2.4.THUẬT TOÁN PHÁT HIỆN CỘNG ĐỒNG DỰA VÀO ĐỘ ĐO TRUNG GIAN 30
2.5.PHÁT HIỆN CÁC CỘNG ĐỒNG GỐI NHAU 33
2.5.1 Phát hiện các k-cliques trong mạng xã hội 34
2.5.2 Thuật toán phát hiện k-clique 36
2.5.3 Thuật toán EAGLE 38
2.5.4 Đánh giá thuật toán 43
2.6.KẾT LUẬN CHƯƠNG 2 44
CHƯƠNG 3 ỨNG DỤNG THUẬT TOÁN GIRVAN-NEWMAN TRONG PHÁT HIỆN CỘNG ĐỒNG MẠNG XÃ HỘI 45
Trang 53.1.MÔ TẢ BÀI TOÁN PHÁT HIỆN CỘNG ĐỒNG MẠNG XÃ HỘI 45
3.2.CHƯƠNG TRÌNH PHÁT HIỆN CỘNG ĐỒNG MẠNG XÃ HỘI 45
3.2.1 Bộ cơ sở dữ liệu 45
3.2.2 Môi trường thử nghiệm 47
3.2.3 Thử nghiệm và đánh giá 49
3.3.KẾT LUẬN CHƯƠNG 3 54
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 55
TÀI LIỆU THAM KHẢO 56
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Mạng xã hội Facebook 7
Hình 1.2 Mạng xã hội Zing me 7
Hình 1.3 Mô hình mạng lưới cộng tác của các nhà khoa học làm việc tại SFI 9 Hình 1.4 Đồ thị có 4 đỉnh và 5 cạnh 15
Hình 1.5 Những đồ thị hình sao, bánh xe có số đỉnh 3, 4, 5, 6, 7 17
Hình 1.6 Đồ thị mạng xã hội đơn giản gồm 7 nút 21
Hình 2.1 Phát hiện cộng đồng mạng sử dụng Girven-Newman 32
Hình 2.2 Ví dụ 1-clique, 2-clique và 3-clique 35
Hình 2.3 2-cliques, 2-clan và 2-club 36
Hình 2.4 (a), (b) Mạng ban đầu 40
Hình 2.5 (c) Các cộng đồng được phát hiện bởi thuận toán của Newman 41
Hình 2.6.(d) Các cộng đồng được phát hiện bởi thuật toán k-clique 41
Hình 2.7.(e) Các cộng đồng thể hiện sự chồng chéo và phân cấp rõ ràng được phát hiện bởi thuật toán EAGLE 42
Hình 3.1 Mô phỏng số cộng đồng tìm được trong đồ thị simple_network 49
Hình 3.2 Mô phỏng số cộng đồng tìm được trong bộ dữ liệu dolphin 50
Hình 3.3 Mô phỏng số cộng đồng tìm được trong bộ dữ liệu karate 50
Hình 3.4 Mô phỏng số cộng đồng tìm được trong bộ dữ liệu football 51
Hình 3.5 Mô phỏng kết quả tìm kiếm cộng đồng trên bộ dữ liệu amazon_small 51
Trang 7DANH MỤC CÁC BẢNG
Bảng 3.1 Mô tả chi tiết về các bộ dữ liệu được sử dụng trong phát hiện cộng đồng mạng 47Bảng 3.2 Thông tin phần cứng được sử dụng 48Bảng 3.3 Bảng tổng hợp kết quả của 2 thuật toán Girvan-Newman và k-cliques trên các bộ dữ liệu khác nhau 53
Trang 8MỞ ĐẦU
1 Lý do chọn đề tài
Sự phát triển vượt bậc của công nghệ thông tin làm cho lượng thông tin được lưu trữ trên các thiết bị nhớ không ngừng tăng lên Những đồ thị lớn và mạng (networks) là những mô hình toán học tự nhiên cho những đối tượng tương tác với nhau như mối quan hệ giữa con người trong mạng xã hội, các cấu trúc phân tử trong mạng sinh học, mạng biểu diễn gene, Trong thực tế, cỡ của các mạng như thế khá lớn mà khả năng phân tích, khai thác các tính chất của chúng lại rất hạn chế Mặt khác, xu thế phát triển công nghệ và ngày càng xuất hiện nhiều loại hình truyền thông mạng xã hội dẫn đến sự thay đổi về hành
vi của con người trong xã hội và hình thành những cộng đồng trực tuyến Hành
vi con người thay đổi dẫn đến nhiều hình thức kinh doanh, tiếp thị, dịch vụ và
kể cả trong lĩnh vực giáo dục, an ninh, chính trị cũng thay đổi theo từ cách tiếp cận cho đến việc quản lý người dùng
Sự phát triển nhanh chóng của các mạng xã hội kéo theo sự bùng nổ dữ liệu trên mạng xã hội Đây là một nguồn thông tin hết sức hữu ích, liên tục được cập nhật Một đặc trưng bản chất của mạng xã hội là tính cộng đồng Mạng xã hội và bài toán phát hiện cộng đồng mạng xã hội là nội dung nghiên cứu mang tính thời sự, là nhu cầu bức thiết trong thời điểm hiện nay và nó đang thu hút được rất nhiều sự quan tâm của các nhà khoa học thuộc các lĩnh vực khác nhau như xã hội học, khoa học máy tính, kinh tế, sinh học, …
Do đó, việc đánh giá một sự vật, hiện tượng theo từng cộng đồng có ý nghĩa to lớn trong việc xác định mối quan tâm của từng nhóm đối tượng Vì em
quyết định lựa chọn đề tài “Nghiên cứu độ đo trung gian và thuật toán phát
hiện cộng đồng trên mạng xã hội” để nghiên cứu làm luận văn thạc sĩ của
mình
Trang 92 Mục đích nghiên cứu
Những mục tiêu nghiên cứu của luận văn:
- Tìm hiểu mạng xã hội, cấu trúc cộng đồng trên đồ thị mạng xã hội và các phương pháp tìm kiếm cấu trúc cộng đồng mạng xã hội
- Nghiên cứu các độ đo trên đồ thị mạng xã hội và tìm hiểu các thuật toán phát hiện cấu trúc cộng đồng trên mạng xã hội
- Xây dựng ứng dụng phát hiện cộng đồng mạng xã hội ở tập dữ liệu đã được công bố trên mạng
3 Đối tượng nghiên cứu
- Lý thuyết đồ thị
- Mạng xã hội và mô hình cộng đồng mạng xã hội
- Thuật toán Girvan-Newman phát hiện cộng đồng mạng
4 Phạm vi nghiên cứu
+ Lý thuyết:
- Kỹ thuật khai phá dữ liệu đồ thị,
- Các thuật toán phát hiện cấu trúc cộng đồng của mạng xã hội
+ Thực nghiệm:
- Thực nghiệm chương trình phát hiện cộng đồng mạng dựa trên họ các thuật toán Girvan-Newman và k-cliques
- Áp dụng chương trình để phát hiện cộng đồng mạng trên một số bộ dữ
liệu mạng xã hội trực tuyến
5 Ý nghĩa khoa học
Trang 10Đây là một hướng nghiên cứu lý thuyết và ứng dụng về phân tích và phát
hiện cộng động mạng xã hội
6 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết: Sưu tập các tài liệu có liên quan
đến đề tài, nghiên cứu để hiểu sâu các nội dung vấn đề cần nghiên cứu
- Phương pháp nghiên cứu thực nghiệm: Cài đặt thử nghiệm kiểm thử
chương trình
- Phương pháp trao đổi khoa học: Trao đổi nội dung nghiên cứu với giáo
viên hướng dẫn, với các đồng nghiệp để đề xuất và giải quyết các nội dung luận
văn đề ra
7 Cấu trúc đề tài
Luận văn được chia thành các phần chính như sau:
Chương 1: Mạng xã hội và các độ đo trên đồ thị mạng xã
Chương 2: Thuật toán xác định cấu trúc cộng đồng mạng
Chương 3: Ứng dụng thuật toán GN trong phát hiện cộng đồng mạng
xã hội
Kết luận và hướng phát triển
Trang 11CHƯƠNG 1 MẠNG XÃ HỘI VÀ CÁC ĐỘ ĐO TRÊN ĐỒ THỊ MẠNG XÃ HỘI
Mạng xã hội là một tập hợp các thực thể được kết nối với nhau thông qua các mối quan hệ, mối liên kết, Phân tích mạng xã hội là xem xét các mối quan hệ xã hội dựa vào lý thuyết đồ thị bao gồm các đỉnh và các cạnh (còn được gọi là các liên kết hoặc kết nối) Các đỉnh được xem là những cộng đồng riêng
lẻ trên mạng, và các cạnh là các mối quan hệ giữa các cộng đồng Cộng đồng mạng xã hội là một tập hợp các cá nhân (tác nhân, thực thể) tương tác với nhau thông qua các phương tiện truyền thông cụ thể, có khả năng vượt qua những ranh giới địa lý và chính trị để theo đuổi lợi ích hay mục tiêu chung Chương này giới thiệu khái quát về mạng xã hội và các độ đo phúc vụ cho phân tích, phát hiện cộng đồng trên đồ thị mạng xã hội
Dựa vào người dùng (User-based): Trước khi các mạng xã hội như
Facebook hoặc MySpace trở thành chuẩn mực, các trang web dựa trên nội dung được cập nhật bởi người dùng và được các khách truy cập Internet
Trang 12để đọc, tham khảo thông tin Không có người dùng, mạng sẽ là một không gian trống chứa đầy các diễn đàn, ứng dụng và phòng trò chuyện trống Hướng của nội dung đó được xác định bởi bất kỳ ai tham gia vào cuộc thảo luận Đây là những gì làm cho các mạng xã hội trở nên thú vị và năng động hơn nhiều đối với người dùng Internet thông thường
Tương tác (Interactive): Một đặc điểm khác của các mạng xã hội hiện đại
là các thực thể thường xuyên tương tác thông qua các mối liên kết Điều này có nghĩa là một mạng xã hội không chỉ là một bộ sưu tập các phòng chat, diễn đàn, …, các trang web như Facebook còn chứa đầy các ứng dụng chơi trò chơi, quảng cáo, bán hàng online, phổ biến tin tức, … Các mạng xã hội trở thành trò tiêu khiển mà nhiều người dùng lựa chọn nhiều hơn trên truyền hình bởi vì nó không chỉ là giải trí, học tập, trao đổi công việc và đó còn là cách thức để mọi người kết nối, tương tác với nhau
Hướng đến cộng đồng (Community-driven): Mạng xã hội được xây dựng
và phát triển từ các khái niệm về cộng đồng Điều này có nghĩa là giống như các cộng đồng hoặc các nhóm xã hội trên toàn thế giới được thành lập dựa trên thực tế là các thành viên có niềm tin hoặc sở thích chung, có chung điểm chung,
Các mối quan hệ (Relationships): Không giống như các trang web trong
quá khứ, các mạng xã hội phát triển mạnh về các mối quan hệ Càng có nhiều mối quan hệ trong mạng, các thực thể càng thiết lập được vai trò trung tâm của mạng đó Tồn tại tính địa phương, mối quan hệ giữa các thực thể có xu hướng tạo thành các cụm (cộng đồng) Đồng thời tạo môi trường cho việc tương tác và chia sẻ thông tin giữa các thành viên trong mạng như người thân, đồng nghiệp, gia đình, bạn bè, người hâm mộ, …
Cảm xúc về nội dung (Emotion over content): Một đặc điểm độc đáo khác
của mạng xã hội là yếu tố cảm xúc Mặc dù các trang web trong quá khứ
Trang 13tập trung chủ yếu vào việc cung cấp thông tin cho khách truy cập, nhưng mạng xã hội ngày nay thực sự mang đến cho người dùng sự an toàn về mặt cảm xúc và cảm giác rằng dù có chuyện gì xảy ra, bạn bè của họ vẫn
ở trong tầm kiểm soát
Trong mạng có nhiều kiểu liên kết như liên kết vô hướng, liên kết một chiều, liên kết hai chiều, … Ta có thể biểu diễn mạng mạng xã hội bằng một
đồ thị (được gọi là đồ thị mạng xã hội) mà các thực thể được biểu diễn bởi các đỉnh, còn các liên kết được biểu diễn bởi các cạnh Trong đó với hai đỉnh A và
B có cạnh nối với nhau là thể hiện mối quan hệ giữa chúng Ngoài ra, các liên kết này còn có thể đánh trọng số để biểu diễn độ mạnh yếu của mối liên kết Mạng xã hội phát triển rất nhanh chóng, với số lượng người tham gia và mối quan hệ với nhau rất lớn đòi hỏi phải có những phương pháp nghiên cứu phù hợp về mạng xã hội
Ví dụ 1.1
Mạng xã hội Facebook là mạng xã hội được coi là phổ biến nhất hiện nay, Facebook là mạng xã hội miễn phí do công ty Facebook Inc điều hành Người sử dụng có thể tham gia các mạng lưới được tổ chức theo thành phố, nơi làm việc, trường học và khu vực để liên kết và giao tiếp với người khác trên thế giới mọi người đều có thể kết bạn và gửi tin nhắn cho nhau, và cập nhật thông tin của mình cho bạn bè biết Tên của Facebook nhắc tới những cuốn sổ lưu niệm dùng để ghi tên những thành viên của cộng đồng campus mà một số trường đại học và cao đẳng tại Mỹ đưa cho các sinh viên mới vào trường, phòng ban, và nhân viên để có thể làm quen với nhau trong khuôn viên trường
Trang 14Hình 1.1 Mạng xã hội Facebook
Zing me là một trong những mạng xã hội phố biến hiện nay tại Việt Nam,
nó có khả năng kết nối người dùng trên phạm vi rộng lớn, đồng thời khi sử dụng bạn có thể tham gia các trò chơi, tiện ích, tính năng kết nối cộng đồng mà ứng dụng đang sở hữu Ngoài ra ở Việt Nam còn có thể kể đến mạng xã hội Zalo
Hình 1.2 Mạng xã hội Zing me
Trang 15Trên mạng, một số đỉnh có liên kết chặt chẽ với nhau tạo thành từng cụm,
và giữa các cụm đó được nối với nhau chỉ bằng một vài cạnh khác Tính chất
đó của các mạng trên thực tế được gọi là tính cộng đồng (community) [1], [9] Đây là một tính chất quan trọng của mạng xã hội và đang ngày càng được nhiều người quan tâm nghiên cứu, phân tích cấu trúc cộng đồng của mạng xã hội bởi tần quan trọng của chúng Khả năng phát hiện và phân tích các cộng đồng sẽ cung cấp cho chúng ta những sự giúp đỡ vô giá để hiểu biết và hình dung được những cấu trúc, tính chất đặc trưng của mạng xã hội
1.2 Cấu trúc cộng đồng mạng xã hội
Cấu trúc cộng đồng mạng xã hội (Community social structure) gọi tắt là cộng đồng mạng xã hội là một tập hợp các tác nhân tương tác thông qua các phương tiện truyền thông cụ thể, có khả năng vượt qua những ranh giới địa lý
và chính trị để theo đuổi lợi ích hay mục tiêu chung Cộng đồng là một nhóm các thực thể có những tính chất tương tự nhau, liên kết chặt chẽ với nhau hơn
và cùng đóng một vai trò nhất định trong mạng xã hội Một cộng đồng được
mô tả như một nhóm các đỉnh (đồ thị con) cùng chia sẻ các thuộc tính chung hoặc đóng vai trò tương tự trong một mạng Một cộng đồng có thể được định nghĩa là một tập hợp các đỉnh có mật độ liên kết giữa các đỉnh cao và mật độ liên kết thấp với phần còn lại của mạng Nói một cách khác một cộng đồng được tạo ra bởi một tập hợp các tác nhân có tương tác thường xuyên với nhau hơn so với cá nhân khác ngoài cộng đồng Do vậy, nó thường là một tập hợp như: bạn bè, đồng nghiệp, nhóm những người có cùng sở thích, cùng chuyên môn, mối quan tâm, … [1], [3], [9], [14], [26],
Ví dụ 1.2
Hình 1.3 hiển thị các thành phần kết nối lớn nhất trong mạng lưới các cộng tác nghiên cứu của các nhà khoa học làm việc tại Viện Santa Fe (SFI) Đồ
Trang 16thị bao gồm 118 đỉnh đại diện cho các nhà khoa học làm việc tại SFI và các cộng tác viên của họ Các cạnh được liên kết giữa các nhà khoa học khi họ đã công bố cùng với nhau ít nhất một bài báo Ở mạng này ta quan sát được một
số cộng đồng, mỗi cộng đồng biểu hiện cho những tác giả đã cùng nhau công
bố một hay nhiều bài báo khoa học Mặt khác ta cũng thấy giữa các cộng đồng trong mạng trên chỉ có một số ít mối liên kết Các đỉnh cùng màu là cùng một cộng đồng theo các lĩnh vực nghiên cứu của SFI
Hình 1.3 Mô hình mạng lưới cộng tác của các nhà khoa học làm việc tại SFI
Trong mạng xã hội, việc trích xuất, phát hiện được những cấu trúc cộng đồng là rất hữu ích vì nó giúp chúng ta nghiên cứu được cấu trúc tổng thể của mạng Khái niệm của khám phá, phát hiện cộng đồng tương tự như phân vùng (phân cụm) đồ thị nhưng có một số khác biệt như trong phân vùng đồ thị, số lượng nhóm và kích thước của chúng đã được biết trước, nhưng trong trường hợp phát hiện ra cộng đồng, chúng ta không biết về số lượng cộng đồng trong mạng và cộng đồng cũng có thể không cùng kích cỡ với nhau
Trang 17Một số ứng dụng chính của bài toán phát hiện cộng đồng mạng xã hội [1], [3], [4] , [14], [25] là:
- Phát hiện cộng đồng có thể được sử dụng trong tư vấn thông tin và xác định được những cộng đồng có cùng một số quan tâm, sở thích tương tự
- Cộng đồng cũng sẽ giúp chúng ta hiểu cấu trúc của mạng xã hội, làm rõ các thuộc tính và chức năng của mạng
- Phát hiện các cộng đồng để hiểu hành vi của mạng xã hội trong quy mô lớn vì nó sẽ làm rõ các quá trình chia sẻ thông tin và truyền bá thông tin
- Các phương pháp phát hiện cộng đồng có lợi thế lớn trong việc định tuyến nhận thức trong xã hội và ngăn chặn thông tin độc hại trên mạng
xã hội
- Các cộng đồng trong mạng sinh học giúp chúng ta hiểu các cơ chế cơ bản kiểm soát các quá trình thay đổi của các tế bào
- Trong các cộng đồng mạng của các khách hàng có cùng sở thích có thể được sử dụng để tạo ra hệ thống tư vấn thông tin để nâng cao hiệu quả của sản xuất, kinh doanh
- Có thể dễ dàng hiểu được các cấu trúc của các đồ thị phức tạp với sự trợ giúp của các cộng đồng được phát hiện
- Mạng xã hội loài người thể hiện cấu trúc cộng đồng mạnh mẽ Một mạng lưới có cấu trúc cộng đồng mạnh bao gồm các cộng đồng, các cộng đồng này có nhiều kết nối trong đó và ít kết nối giữa các cộng đồng Cấu trúc cộng đồng không chỉ ảnh hưởng đến sự lây lan của bệnh truyền nhiễm trong cộng đồng nhưng cũng bảo vệ mạng khỏi dịch bệnh quy mô lớn
- Trong hệ sinh học và hệ chăm sóc sức khỏe, có nhiều thuật toán phát hiện cộng đồng được phát triển cho các mạng xã hội cũng có thể được
mở rộng thành công cho các mạng sinh học Ví dụ phát hiện cộng đồng
Trang 18được sử dụng trong Calderone để so sánh các mạng tương tác Alzheimer
và Parkinson
1.3 Các độ đo trên đồ thị mạng xã hội
Theo quan điểm cấu trúc, chúng ta có thể mô hình hóa các mối quan hệ trong mạng xã hội như là đồ thị vô hướng G = (V, E), với V là tập các đỉnh và
E là tập các cạnh, được gọi là đồ thị mạng xã hội Tập V biểu diễn cho các thành viên (tác nhân) của mạng xã hội, còn E thể hiện mối quan hệ xã hội giữa các thành viên với nhau Dựa vào lý thuyết đồ thị, cấu trúc mạng xã hội cũng
có thể được biểu diễn thông qua ma trận liền kề A = (Aij) ∈ {0, 1}n×n, với n =
|V| và Aij = 1 nếu hai đỉnh i và j có cạnh nối giữa chúng (có liên kết - quan hệ trực tiếp với nhau), ngược lại Aij = 0
Để áp dụng được kỹ thuật khai phá dữ liệu trong phân tích mạng xã hội
và phát hiện cộng đồng thì trước tiên phải định nghĩa được độ đo khoảng cách (distance measure) giữa các đỉnh, cạnh của đồ thị Khi các cạnh của đồ thị được gắn nhãn thì các nhãn này có thể được sử dụng như là độ đo khoảng cách, tùy thuộc vào những gì mà chúng đại diện Nhưng khi các cạnh không có nhãn, như đồ thị “bạn bè” thì cần phải định nghĩa độ đo khoảng cách giữa các đỉnh
Giả thiết mạng xã hội được biểu diễn bởi một đồ thị G = (V, E), trong đó
V là tập các đỉnh, E là tập các cạnh Trước tiên ta quy ước, những đỉnh gần nhau (closed) nếu chúng có cạnh nối trực tiếp giữa chúng, ngược lại là những đỉnh xa nhau (distant) Khoảng cách giữa đỉnh x và y V, ký hiệu là d(x, y),
có thể định nghĩa d(x, y) theo hai cách:
d(x, y) = 0 nếu (x, y) E, ngược lại là d(x, y) = 1
Hoặc d(x, y) = 1 nếu có cạnh nối giữa chúng, và bằng khi chúng xa nhau, không có cạnh nối giữa chúng
Trang 19Tuy nhiên, cả hai trường hợp trên đều không phải là định nghĩa độ đo khoảng cách thực sự (metric), bởi chúng không thỏa mãn bất đẳng thức tam giác Dễ nhận thấy, nếu có cạnh nối A với B và cạnh nối B với C, thì không có
gì đảm bảo có cạnh nối A với C
Có nhiều độ đo (measures) khác nhau được sử dụng để phân loại, phân tích, đánh giá đồ thị mạng xã hội Chúng thường được sử dụng bởi các nhà nghiên cứu và người dùng thương mại để phân tích các đặc điểm của mạng xã hội được xem xét Các phép đo quan trọng nhất được xác định phần lớn đều dựa trên lý thuyết đồ thị Tasleem Arif [4] sử dụng các hệ số cố kết mạng và hệ
số trung tâm vector đặc trưng [24] để phân tích, đánh giá mạng xã hội Freeman [12] đề xuất một tập các độ đo (Measures) xác định độ trung tâm của các đỉnh, cạnh trên đồ thị, như hệ số trung tâm trực tiếp theo bậc của đỉnh, hệ trung tâm lân cận và độ trung gian (Betweenness) và được sử dụng nhiều trong phân tích mạng xã hội và phát hiện các cộng đồng
1.3.1 Hệ số cố kết của mạng
Trong phân tích mạng xã hội có rất nhiều hệ số để so sánh các mạng xã hội với nhau, một trong những hệ số quan trọng nhất đó là hệ số cố kết (Density, Cohesion) [4] Khi hệ số cố kết của mạng càng lớn, mức độ gắn kết, sự chặt chẽ của các mối quan hệ giữa các thực thể (tác nhân) trong mạng càng lớn, và
do đó, sự tương trợ, hỗ trợ, … giữa các tác nhân cũng càng nhiều, càng hiệu quả hơn, sự điều tiết của mạng đối với hành vi của tác nhân cũng cũng mạnh
mẽ hơn và ngược lại Một cách tổng quát, tính cố kết của mạng lưới là tỷ lệ giữa tổng các mối liên hệ thực tế trong mạng và tổng các mối quan hệ lý thuyết của nó (tức là tổng các mối quan hệ có thể có của mạng) Hệ số cố kết của đồ thị G, được tính như sau:
𝐷𝐺 = 2 𝑘
Trang 20Trong đó, k là tổng các mối liên hệ thực tế của mạng, k = |E| và n = |V| Giá trị của hệ số này chạy từ 0.00 - 1.00 Càng gần tới giá trị 1.00 thì tính cố kết của mạng lưới càng mạnh và do đó sự tương trợ, sự trao đổi thông tin, … giữa các thành viên trong mạng được diễn ra càng tốt và ngược lại Theo Scott [27], hệ số cố kết của mạng lưới phụ thuộc vào số lượng tác nhân của nó, tức
là khi càng có nhiều tác nhân thì hệ số cố kết của nó càng nhỏ và ngược lại Đối với những đồ thị đầy đủ (clique) thì hệ số cố kết là tuyệt đối, tức là DG = 1.00
1.3.2 Hệ số trung tâm vector đặc trưng
Dựa trên ý tưởng là những tác nhân có vị trí trung tâm, có tầm ảnh hưởng hay nổi tiếng trên mạng là những tác nhân có quan hệ với nhiều tác nhân mà bản thân những tác nhân đó cũng là tác nhân trung tâm (có tầm ảnh hưởng hay nổi tiếng) Do vậy, độ trung tâm không chỉ phụ thuộc vào số các đỉnh liền kề
mà còn phụ thuộc vào độ trung tâm của những đỉnh liền kề với những đỉnh đó
Độ trung tâm hay vị thế (status) của đỉnh thường xác định tổng quát theo quan
hệ đệ quy (recursively related) theo các độ trung tâm hoặc vị thế mà chúng có mối liên kết (trực tiếp hoặc gián tiếp) với nhau Độ đo đó được gọi là độ trung tâm vector đặc trưng (Eigenvector centrality) [24]
Giả thiết A = (Aij) là ma trận liền kề không âm của đồ thị có hướng G = (V, E) Độ trung tâm vector đặc trưng xi của đỉnh i được định nghĩa như sau:
xi = Ai1x1 + Ai2x2 + … + Ainxn, i = 1, 2, …, |V| = n (1.2)
Độ trung tâm của mỗi đỉnh xi là một hàm của những đỉnh có liên kết với đỉnh đó Tập các phương trình (1.2) được thể hiện theo ma trận (AT là ma trận chuyển vị của A) là:
Trang 21Độ trung tâm của mỗi đỉnh được xác định theo hàm tuyến tính độ trung tâm của những đỉnh có liên kết với đỉnh đó
Khi nghiên cứu sức mạnh của các cộng đồng trên mạng xã hội, vị thế của tác nhân được tăng lên bởi những đề cử (nominations) từ những người nhận được nhiều đề cử khác Trong cộng đồng mạng truyền thông, những người nhận được nhiều trao đổi thông tin từ những người khác sẽ có nhiều nguồn thông tin
Hệ phương trình (1.2) cho nghiệm là vector đặc trưng x khác 0 khi ma
trận A có giá trị đặc trưng là 1 Độ đo vector đặc trưng là độ đo trung tâm chuẩn
để phân tích mạng xã hội [11], [26], [27]
1.3.3 Độ đo trung tâm của đỉnh
Chúng ta xét một đồ thị vô hướng G = (V, E) bất kỳ (liên thông hoặc không liên thông) Xét cặp đỉnh (vi, vj) bất kỳ, không phân biệt thứ tự Giữa chúng có thể có một hoặc nhiều đường đi Nếu có đường đi giữa chúng thì độ dài đường đi là bằng số cạnh (tổng trọng số trên các cạnh đối với đồ thị có trọng số) trên đường đi đó Trong số các đường đi đó sẽ có một số đường đi ngắn nhất Nếu (vi, vj), (vj, vi) E, thì đường đi ngắn nhất sẽ có độ dài là 1 Trường hợp đường đi ngắn nhất lớn hơn 1 thì chắc chắn phải có ít nhất một đỉnh khác nằm trên đường đi ngắn nhất nối giữa vi với vj và những đỉnh này có tiềm năng
Trang 22để điều khiển sự liên thông hay truyền thông (Control communications) giữa các đỉnh vi, vj
Ví dụ 1.3
Xét đồ thị ở Hình 1.4 Giữa v1 và v3 có 2 đường đi ngắn nhất có độ dài
là 2, một đi qua v2, còn đường kia đi qua v4 và những đỉnh này có tiềm năng điều khiển sự liên thông giữa các đỉnh v1, v3
Hình 1.4 Đồ thị có 4 đỉnh và 5 cạnh
Chúng ta nghiên cứu và khái quát hóa khái niệm “khoảng giữa”, hay “độ trung gian” (Betweenness) trong lý thuyết đồ thị [5] Trước tiên xét một đỉnh
vk V và cặp các đỉnh (vi, vj) bất kỳ không phân biệt thứ tự với i j k
Chúng ta định nghĩa độ trung gian (khoảng giữa) bộ phận của đỉnh vk đối với (vi, vj), ký hiệu là Bij(vk) như sau:
Nếu giữa vi và vj không có đường đi thì Bij(vk) = 0
Ngược lại, nếu giữa chúng có đường đi, nghĩa là chúng liên thông với nhau qua một số đường đi Khi đó xác suất trao đổi, quan hệ giữa chúng
là 1/gij, với gij là số đường đi ngắn nhất giữa vi và vj Như vậy, tiềm năng
mà vk điều khiển (control) thông tin trao đổi (mối quan hệ) giữa vi với vj
được xác định bằng chính bằng xác suất mà vk nằm trên những đường đi ngắn nhất giữa chúng Ký hiệu gij(vk) là số đường đi ngắn nhất có đi qua
Trang 23Ví dụ 1.4
Trên Hình 1.4., v2, v4 có xác suất nằm trên 2 đường đi ngắn nhất giữa v1
và v2 là ½ Như vậy, nếu vk nằm trên tất cả các đường đi ngắn nhất giữa vi và
vj thì Bij(vk) = 1 Trong những trường hợp này, thì vk là cần thiết để điều khiển mối liên kết giữa vi và vj
Để xác định được độ trung tâm (centrality) tổng thể của đỉnh vk trên đồ thị thì cần phải tính tổng tất cả các độ trung gian bộ phận của vk đối với tất cả các cặp đỉnh trên đồ thị
Định nghĩa 1.1 Độ trung tâm của đỉnh vk trong đồ thị G = (V, E), ký hiệu là C(vk) được xác định như sau:
C(vk) = n
j i i
k
ij v B
,
)
Nếu vk xuất hiện trên tất cả các đường đi ngắn nhất giữa hai đỉnh vi, vj
thì C(vk) tăng lên 1 Trường hợp vk chỉ xuất hiện trên một số đường đi ngắn nhất giữa hai đỉnh vi, vj thì C(vk) sẽ tăng lên với một giá trị tương ứng là tỉ số những lần xuất hiện trên những đường đi ngắn nhất giữa vi, vj như công thức (1.5)
Độ trung tâm của đỉnh vk, C(vk) chính là hệ số tiềm năng để điều khiển
sự liên kết giữa các đỉnh trên đồ thị
Việc tính C(vk) phụ thuộc vào hai yếu tố chính:
1 Sắp xếp các cạnh để xác định vị trí của vk và những đường đi ngắn nhất giữa các cặp đỉnh
2 Số đỉnh n trên đồ thị
Chúng ta nhận thấy, độ trung tâm của đỉnh vk đạt được giá trị cực đại khi mọi đỉnh khác trong G đều có cạnh nối với vkvà vk nằm trên tất cả các đường
Trang 24đi ngắn nhất có độ dài lớn hơn 1 Những đồ thị như thế sẽ có dạng hình sao
(Star) hoặc bánh xe (wheel) như Hình 1.5 trong đồ thị, khi mọi đỉnh đều đến
được (có đường đi) tới tất cả các đỉnh khác (trực tiếp hoặc gián tiếp đi qua vk)
thì số đường đi giữa chúng là n * (n – 1)/2, trong đó có n-1 được nối với vk
Vậy, độ trung tâm của đỉnh vk cực đại sẽ là
max C(vk) = ( 1 )
2
) 1 (
(𝐹𝑟𝑒𝑒𝑚𝑎𝑛 1977; 𝐴𝑛𝑡ℎ𝑜𝑛𝑖𝑠𝑠𝑒, 1971)
Trang 25Những độ đo trung tâm chuẩn chỉ ra rằng cạnh đó có thể đi tới những cạnh khác trên những đường đi ngắn nhất tương ứng
1.3.4 Hệ số trung gian của đỉnh
Độ đo trung tâm của mạng hay đồ thị được xác định theo hai cách Cách thứ nhất dựa vào lý thuyết đồ thị, trung tâm của đồ thị được đánh giá theo bậc (degree), hay độ lân cận của các đỉnh trong đồ thị Những đỉnh có bậc cực đại
có thể được xem như là tâm điểm của đồ thị Đo theo cách này thì việc ứng dụng sẽ bị hạn chế, bởi nó chỉ áp dụng được cho những bài toán như thiết kế truyền thông với mục đích là nhằm đạt được hiệu quả truyền thông cực đại Cách thứ hai là dựa vào ưu thế trội (domination) của các đỉnh Một thực thể (đỉnh) có ưu thế trội là thực thể có thể điều khiển sự truyền thông trên mạng (đồ thị)
Theo quan điểm của Freeman [12], một tác nhân nào đó trong mạng có thể ít gắn kết với các thành viên khác trong mạng (tức hệ số trung tâm trực tiếp thấp, bậc của đỉnh không cao), cũng không "gần gũi" lắm với mọi thành viên trong mạng (tức hệ số trung tâm lân cận thấp), nhưng lại là "cầu nối" (bridge),
là "trung gian" cần thiết trong mọi cuộc trao đổi trong mạng Nếu một tác nhân đóng được vai trò trung gian càng lớn trong mạng lưới, tác nhân đó sẽ càng ở
vị trí thuận lợi trong việc "kiểm soát" mọi giao dịch, mọi thông tin trong mạng; tác nhân đó cũng tác động đến mạng một cách dễ dàng bằng cách thanh lọc hoặc "lái" thông tin lưu chuyển trong mạng theo hướng có lợi cho mình nếu muốn; đồng thời tác nhân đó cũng đứng ở vị trí tốt nhất để thúc đẩy sự phối hợp giữa các thành viên khác trong mạng Freeman [12] đã đề xuất độ đo trung
tâm trung gian (betweenness centrality) gọi tắt là độ đo trung gian của một đối
tượng trong mạng xã hội là số các cá thể có thể trao đổi với nhau thông qua đối tượng đó Những đỉnh (cá thể) xuất hiện trên nhiều đường đi ngắn nhất giữa
Trang 26các đỉnh có độ trung gian cao hơn những đỉnh không nằm trên những đường đi ngắn nhất đó
Chúng ta xét một đồ thị liên thông G = (V, E) bất kỳ (những đỉnh độc lập không cần xét) Xét cạnh (cặp đỉnh) (vi, vj) bất kỳ, không phân biệt thứ tự đỉnh đầu, đỉnh cuối Giữa chúng có thể có một hoặc nhiều đường đi Nếu có đường
đi giữa chúng thì độ dài đường đi là bằng số cạnh (tổng trọng số trên các cạnh đối với đồ thị có trọng số) trên đường đi đó Trong số các đường đi đó sẽ có một số đường đi ngắn nhất Nếu (vi, vj), (vj, vi) E, thì đường đi ngắn nhất sẽ
có độ dài là 1 Trường hợp đường đi ngắn nhất có độ dài (tổng số cạnh trên đường đi) lớn hơn 1 thì chắc chắn phải có ít nhất một đỉnh khác nằm trên đường
đi ngắn nhất nối giữa vi với vj và những đỉnh này có tiềm năng để điều khiển
sự liên thông hay truyền thông (control communications) giữa các đỉnh vi, vj
Cho trước đồ thị G = (V, E) có n đỉnh, độ trung gian CB(v) của đỉnh v được xác định như sau:
- Với mỗi cặp đỉnh (s, t), tính tất cả các đường đi ngắn nhất nối giữa chúng
- σst;
- Với mỗi cặp đỉnh (s, t), tính phân số giữa những đường đi ngắn nhất σst(v)
có đi qua v và số các đường đi ngắn nhất từ s tới t là σst(v)/σst;
- Tính tổng các phân số của tất cả các cặp đỉnh (s, t)
Ta ký hiệu σst là số đường đi ngắn nhất đi từ s tới t, và σst(v) là số đường
đi ngắn nhất đi từ s tới t và có đi qua v Khi đó độ đo trung gian kí hiệu là CB(v) của đỉnh v sẽ được tính như sau:
CB(v) = ∑𝑠≠𝑡≠𝑣𝜎𝑠𝑡(𝑣)/𝜎𝑠𝑡 (1.8)
Hệ số này cũng đi từ 0.00 đến 1.00 Khi một tác nhân nào đó có hệ số trung tâm trung gian càng gần đến 1.00 thì số lượng quan hệ giữa các tác nhân
Trang 27khác phải "thông qua" tác nhân này càng nhiều và do đó ảnh hưởng của tác nhân này trên mạng cũng càng lớn
Chúng ta nhận thấy, độ trung tâm của đỉnh v đạt được giá trị cực đại khi mọi đỉnh khác trong G đều có cạnh nối với vvà v nằm trên tất cả các đường đi ngắn nhất có độ dài lớn hơn 1 Những đồ thị như thế sẽ có dạng hình sao (star) hoặc hình bánh xe (wheel) [7],[12]
Tuy nhiên, việc sử dụng những độ đo này chỉ phù hợp cho những mạng, trong đó khái niệm độ trung gian (Betweenness) được xem là quan trọng trong tiềm năng ảnh hưởng tới quá trình xử lý sự liên kết giữa các đỉnh Như trong nghiên cứu các mạng truyền thông (Communication Network), vấn đề quan trọng là cần xác định những cạnh có tiềm năng điều khiển truyền thông để đảm bảo mạng truyền thông hiệu quả và bền vững
1.3.5 Độ đo trung gian của cạnh
Chúng ta đã nghiên cứu ba độ đo C(vk) để xác định những tâm điểm của
đồ thị và chúng được ứng dụng trong nhiều mục đích khác nhau Tuy nhiên, việc sử dụng những độ đo này chỉ phù hợp cho những mạng, trong đó khái niệm
độ trung gian (Betweenness) được xem là quan trọng trong tiềm năng ảnh hưởng tới quá trình xử lý sự liên kết giữa các đỉnh Như trong nghiên cứu các mạng truyền thông (Communication Network), vấn đề quan trọng là cần xác định những cạnh có tiềm năng điều khiển truyền thông để đảm bảo mạng truyền thông hiệu quả và bền vững
Chúng ta định nghĩa độ đo “độ trung gian” (Betweenness) các cạnh trên
đồ thị như sau
Định nghĩa 1.2 Độ trung gian của cạnh (a, b) là số các cặp đỉnh x và y mà cạnh
(a, b) nằm trên đường đi ngắn nhất nối giữa x và y
Trang 28Lưu ý: x, y có thể trùng với a, b
Ta hình dung, cạnh (a, b) giữa hai cộng đồng thì a và b không nằm trong cùng một cộng đồng Một cạnh nằm giữa hai cộng đồng (được xem như là cầu nối giữa hai cộng đồng đó), do vậy số các đường đi ngắn nhất đi qua cạnh đó thường là khá lớn
Ví dụ 1.6 Xét đồ thị
Hình 1.6 Đồ thị mạng xã hội đơn giản gồm 7 nút
Trên đồ thị ở Hình 1.6., cạnh (B, D) có độ trung gian là lớn nhất, bởi nó nằm trên 12 đường đi ngắn nhất nối giữa các nút A, B, và C với D, E, F, và G,
3 × 4 = 12 Cạnh (D, F ) chỉ có 4 đường đi ngắn nhất nối giữa các nút A, B, C
Với hai đỉnh s, t V, cạnh e E và st(e) là số đường đi ngắn nhất đi từ
đỉnh s tới đỉnh t và đi qua cạnh e
Độ đo trung gian của đỉnh v cũng có thể tính thông qua công thức tính
độ đo trung gian của cạnh e
𝐶𝐵(𝑣) = 1
2∑𝑒∈Γ(v)𝐶𝐵(e) − (𝑛 − 1) (1.10)
Trang 29Trong đó, Γ(v) là tập các cạnh kề với v và n là số đỉnh của thành phần chứa v
1.4 Thuật toán tính độ trung gian
Để tính độ trung gian của các đỉnh, cạnh thường phải thực hiện qua 2 bước:
1 Tính độ dài và số đường đi ngắn nhất giữa các cặp đỉnh
2 Tính tổng tất cả các độ trung gian của các cạnh
Công việc chính của quá trình này là phát hiện tất cả các đường đi ngắn nhất từ đỉnh tới gốc Định nghĩa tập tiền tố của đỉnh v trên các đường đi ngắn nhất từ s như sau:
𝑃𝑠(𝑣) = {𝑢 ∈ 𝑉: {𝑢, 𝑣} ∈ 𝐸, 𝑑𝐺(𝑠, 𝑢) = 𝑑𝐺(𝑠, 𝑢) + 𝑤(𝑢, 𝑣)} (1.11)
Bổ đề 1.1 (Tổ hợp của đường đi ngắn nhất) For s v ∈ V
𝐶𝐵(𝑣) = ∑𝑠≠𝑣≠𝑡∈𝑉𝛿𝑠𝑡(𝑣) (1.12)
Chứng minh Theo giả thiết tất cả các trọng số đều là số dương, cạnh cuối của
đường đi ngắn nhất đi từ s tới v là cạnh (u, v) ∈ E sao cho dG(s, u <dG(s, v)
Từ Bổ đề 1.1 suy ra, số đường đi ngắn nhất đi từ s tới v kết thúc bằng
cạnh này đúng bằng số đường đi ngắn nhất đi từ s tới u
Sự phụ thuộc của s ∈ V vào một đỉnh v ∈ V , được định nghĩa như sau:
𝛿𝑠(𝑣) = ∑ 𝛿𝑠𝑡(𝑣)
𝑡∈𝑉
Bổ đề 1.2 Nếu tồn tại đúng một đường đi ngắn nhất đi từ s ∈ V tới mọi đỉnh t
∈ V, thì sự phụ thuộc của s vào v ∈ V sẽ là
𝛿𝑠(𝑣) = ∑𝑤∶𝑣∈𝑃𝑠(𝑤)(1 + 𝛿𝑠(𝑤)) (1.13)
Trang 30Để thực hiện thuật toán tính độ đo trung gian của các đỉnh trên đồ thị một cách hiệu quả, người ta thường sử dụng phương pháp duyệt theo chiều rộng BFS (Breadth-First Search) [11]
Thuật toán duyệt theo chiều rộng tìm kiếm các đường đi ngắn nhất từ đỉnh gốc qua các cạnh tới tất cả các đỉnh khác trong đồ thị Các cạnh giữa các mức của quá trình duyệt BFS bắt đầu từ đỉnh gốc X sẽ tạo thành đồ thị định hướng, phi chu trình, được gọi DAGX Brandes đề xuất thuật toán duyệt theo chiều rộng [21] bắt đầu từ mỗi đỉnh x V và tính độ đo trung gian của các cạnh trên đồ thị DAGx Với mỗi đỉnh v trên DAGx, khoảng cách của đỉnh v đến gốc
x, được ký hiệu là dv, là số các cạnh trên đường đường đi ngắn nhất từ x đến v
Thuật toán nhanh xác định trung tâm của độ trung gian FABC (Faster Algorithm for Betweenness Centrality) trên đồ thị không có trọng số [5] được thực hiện như sau
Thuật toán FABC: Thuật toán thực hiện 4 bước
Bước 1 – Khởi tạo giá trị biến chung
CB[r] ← 0, r ∈ V ;
for r ∈ V do{
Bước 2 – Khởi tạo biến cục bộ
S ← empty stack; Q ← empty queue;
P [w] ← empty list, w ∈ V ; σ[t] ← 0, t ∈ V ; σ[r] ← 1;
d[t] ← ∞, t ∈ V ; d[r] ← ∞;
enqueue r → Q;
}
Trang 31Bước 3 – Duyệt theo BFS
while Q not empty do{
dequeue v ← Q;
push v → S;
for all neighbor w of v do{
// w được tìm thấy lần đầu
if d[w] = ∞ then { enqueue w → Q;
Bước 4 – Tích lũy vào CB
Trang 32} Sau phần khởi tạo các giá trị cho mảng CB[v], v V, stack S, và 3 mảng
bổ sung Mảng σ xác định số đường đi ngắn nhất từ mỗi đỉnh tới gốc r của cây các đường đi ngắn nhất, mảng d đo khoảng cách của mỗi đỉnh từ gốc cây BFS Đối với đồ thị không có trọng số, đây chính là số cạnh cực tiểu giữa mỗi đỉnh
và gốc của cây Ban đầu, khoảng cách của các đỉnh và gốc đều gán bằng ∞ Mảng P, là danh sách liên kết, mỗi đỉnh v là một danh sách liên kết P[v], chứa tất cả các đỉnh đứng trước v trong cây duyệt theo chiều rộng BFS Bước 3 và Bước 4 là các thành phần chính của thuật toán
Bước 3 duyệt theo chiều rộng BFS từ gốc cho trước để tìm đường đi ngắn nhất tới tất cả các đỉnh khác Trong bước này, mỗi phần tử được đặt vào một hàng đợi khi nó được tìm thấy Khi duyệt theo chiều rộng, khoảng cách từ gốc
s tới từng đỉnh v được tính Với mỗi đỉnh v được tìm thấy trong lần duyệt BFS
sẽ tương ứng với một danh sách các đỉnh cha, những đỉnh gần gốc hơn Tất cả những đường đi ngắn nhất đi qua đỉnh cha của các đỉnh v và những đỉnh này được tích lũy vào σ[v]
Ở công thức (1.7), σst(v) xác định số đường đi ngắn nhất đi từ s đến t mà
có qua v và σst là số đường đi ngắn nhất đi từ s đến t Nếu không có đường đi ngắn nhất đi từ s đến t và qua v thì σst(v) = 0
Bước 4 tính độ trung gian CB (betweenness centrality) kỹ thuật tích lũy phụ thuộc (dependency accumulation technique) của Brandes [5]
Trong [5] đã chứng minh được quan hệ sau:
𝛿𝑠(𝑣) = ∑ 𝜎𝑠𝑣
𝜎𝑠𝑤{𝑤 |𝑣∈𝑃𝑠(𝑤)} (1 + 𝛿𝑠(𝑤)) (1.14)
Trang 33Từ đó suy ra rằng không cần thiết phải tính lâu hơn tổng của tất cả các phụ thuộc cặp như quan hệ đệ qui Ngoài ra ở đây có thể tính δs(w), thông qua thuật toán tìm đường đi ngắn nhất từ gốc s đến một đỉnh còn lại của đồ thị
Phân tích độ phức tạp
Kích thước bộ nhớ của stack, queue và các mảng σ và d là O(|V| ), nghĩa
là cỡ của các cấu trúc bổ sung được giới hạn bằng số đỉnh V của đồ thị Bộ nhớ cần thiết cho mảng liên kết được giới hạn bởi số cạnh E, đó là O(|E|) Bởi mỗi lần duyệt BFS được tính độc lập, chỉ cần duy trì một bản copy của những cấu trúc này, Bước 2 thực hiện duyệt cây BFS qua O(|V| + |E|) bước tính toán Không gian bộ nhớ của mảng CBcủa thuật toán là O(|V| + |E|) Do vậy, độ phức tạp tính toán của việc duyệt cây BFS là O(|V| + |E|) và của việc tích lũy sự phụ thuộc (dependency accumulation) cũng vào khoảng O(|V| + |E|), số các bước cực đại được xác định bởi số đỉnh cha là O(|E|), và số đỉnh con tương ứng là O(|V|) Vậy, độ phức tạp của thuật toán sẽ là O(|V|2 +|V| * |E|) Trong trường hợp |E|>|V|, thì độ phức tạp của thuật toán sẽ là O(|V| * |E|)
1.5 Kết luận chương
Trong nội dung chương này học viên đã trình bày giới thiệu về mạng xã hội và các đặc tính của mạng xã hội, cộng đồng mạng xã hội và phát hiện cộng đồng mạng xã hội, tiếp theo là các độ đo trong mạng xã hội, thuật toán xác định
độ đo trung gian trên mạng xã hội Ở chương tiếp theo của luận văn học viên
sẽ trình bày về cấu trúc cộng đồng mạng xã hội, một số phương pháp phát hiện cộng đồng và tập trung vào thuật toán Girvan-Newman, sử dụng độ đo trung gian để phát hiện cấu trúc cộng đồng mạng xã hội