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 -
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ácchươ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àntoàn trung thực Các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồngố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ácthầy, cô giáo Viện Công nghệ thông tin, các thầy, cô giáo Trường Đại họcCông nghệ thông tin và Truyền thông Thái Nguyên đã tạo mọi điều kiệnthuậ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ănnà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 T HUẬT TOÁN PHÁT HIỆN CỘNG ĐỒNG DỰA TRÊN TỐI ƯU HOÁ ĐỘ ĐO ĐƠN THỂ 30
2.4 T HUẬ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 C HƯƠ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 8vi 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áchtiế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êncứ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ĩnhvự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
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ử
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ôngqua 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ácmố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ươngtác với nhau thông qua các phương tiện truyền thông cụ thể, có khả năng vượtqua những ranh giới địa lý và chính trị để theo đuổi lợi ích hay mục tiêuchung 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
1.1 Mạng xã hội
Mạng xã hội là một cấu trúc xã hội xã hội được tạo ra từ các thực thể,tác nhân (actor) hoặc các tổ chức được liên kết, kết nối bởi một hoặc nhiềuquan hệ với nhau [3], [4], [27] Theo Fortunato và các cộng sự [25] 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 bằng một tập hợp cácmối quan hệ, liên kết, như quan hệ bạn bè, gia đình, cộng sự hay trao đổithông tin,… Các mối quan hệ giữa các thực thể có thể mang nhiều nội dungkhác nhau từ sự tương trợ, trao đổi thông tin cho đến việc trao đổi hàng hóa,các dịch vụ, … Mạng cung cấp nhiều cách khác nhau để các tổ chức thu thậpthông tin, cạnh tranh với nhau trong việc thiết lập giá kinh doanh hoặc chínhsách, … Mạng xã hội thường có những đặc tính như sau [11], [25], [26]:
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ộidung đượ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ộtkhông gian trống chứa đầy các diễn đàn, ứng dụng và phòng trò chuyệntrống Hướng của nội dung đó được xác định bởi bất kỳ ai tham gia vàocuộ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òngchat, diễn đàn, …, các trang web như Facebook còn chứa đầy các ứng dụngchơ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êntruyề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 đượcthà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íchchung, 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 đượcvai 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ờitạo môi trường cho việc tương tác và chia sẻ thông tin giữa các thànhviên trong mạng như người thân, đồng nghiệp, gia đình, bạn bè, ngườihâm mộ, …
Trang 13 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 14tập trung chủ yếu vào việc cung cấp thông tin cho khách truy cập, nhưngmạ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ộtchiề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à
Bcó 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ênkế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ốiquan 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ọingườ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ủamì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 15Hì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ệtNam, 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 16Trên mạng, một số đỉnh có liên kết chặt chẽ với nhau tạo thành từngcụ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ínhchấ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ủamạ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íchcá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ácphươ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ómcá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 chunghoặc đóng vai trò tương tự trong một mạng Một cộng đồng có thể được địnhnghĩ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 nhauhơ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ợpnhư: bạn bè, đồng nghiệp, nhóm những người có cùng sở thích, cùng chuyênmô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áccộ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 17thị bao gồm 118 đỉnh đại diện cho các nhà khoa học làm việc tại SFI và cáccộ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ủamạ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ườnghợp phát hiện ra cộng đồng, chúng ta không biết về số lượng cộng đồng trongmạng và cộng đồng cũng có thể không cùng kích cỡ với nhau
Trang 18đị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
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 địnhtuyế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 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ấutrúc cộng đồng không chỉ ảnh hưởng đến sự lây lan của bệnh truyềnnhiễm trong cộng đồng nhưng cũng bảo vệ mạng khỏi dịch bệnh quy môlớn
Trang 19- Trong hệ sinh học và hệ chăm sóc sức khỏe, có nhiều thuật toán pháthiệ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 20đượ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à
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 = (A ij ) ∈ {0, 1}n×n, với n = |V| và A ij = 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 A ij = 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ị đượcgắn nhãn thì các nhãn này có thể được sử dụng như là độ đo khoảng cách, tùythuộ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ầnnhau (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 21Tuy nhiên, cả hai trường hợp trên đều không phải là định nghĩa độ đokhoảng cách thực sự (metric), bởi chúng không thỏa mãn bất đẳng thức tamgiá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ântí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 đềudự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ủacá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ềutrong 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ànglớ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ũngcũ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ạnglướ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ốiquan 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:
Trang 23Trong đó, 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ếtcủa mạng lưới càng mạnh và do đó sự tương trợ, sự trao đổi thông tin, … giữacá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à khicà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
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 ảnhhưở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ácnhâ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 ảnhhưở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ớinhững đỉnh đó Độ trung tâm hay vị thế (status) của đỉnh thường xác địnhtổng quát theo quan hệ đệ quy (recursively related) theo các độ trung tâmhoặ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
Độ trung tâm của mỗi đỉnh xi là một hàm của những đỉnh có liên kếtvới đỉnh đó Tập các phương trình (1.2) được thể hiện theo ma trận (AT là matrận chuyển vị của A) là:
AT x = x
Trang 24Khi xét độ trung tâm của đỉnh i: cùng với tập các đỉnh lân cận của nó làN(i), ta có:
= ∑ ∈ ( ) = ∑
Độ trung tâm vector đặc trưng được định nghĩa theo cách này phụ thuộc vào số các đỉnh lân cận |N(i)| và số các liên kết với nó là x j , j ∈ N(i) Cần lưu ý rằng j N(i) thì A ij = 0 nên ta có công thức (1.4).
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âmchuẩ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
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
đườ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
Trang 25để điều khiển sự liên thông hay truyền thông (Control communications) giữacá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
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à
ngắn nhất giữa chúng Ký hiệu gij(vk) là số đường đi ngắn nhất có đi qua vk, ta có
Bij(vk) = gij(vk) / gij
Trang 26Ví 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ềukhiể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:
Độ 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ị
Trang 27đ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à
Trang 28Những độ đo trung tâm chuẩn chỉ ra rằng cạnh đó có thể đi tới nhữngcạ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ôngcực đại Cách thứ hai là dựa vào ưu thế trội (domination) của các đỉnh Mộtthực thể (đỉnh) có ưu thế trội là thực thể có thể điều khiển sự truyền thông trênmạ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 trongmạ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ácnhâ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ữacá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 29cá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
đầu, đỉnh cuối Giữa chúng có thể có một hoặc nhiều đường đi Nếu có đường đigiữ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 đốivới đồ thị có trọng số) trên đường đi đó Trong số các đường đi đó sẽ có một số
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ớnhơ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
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;
Trang 301.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ểmcủa đồ thị và chúng được ứng dụng trong nhiều mục đích khác nhau Tuynhiê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ềmnăng ảnh hưởng tới quá trình xử lý sự liên kết giữa các đỉnh Như trongnghiên cứu các mạng truyền thông (Communication Network), vấn đề quantrọ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 31Hì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à D với F
Độ trung gian của cạnh e, ký hiệu là CB(e), được xác định như sau:
(e) = ∑ ≠
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
Trang 32Trong đó, Γ(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 2bướ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ắnnhấ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ắnnhất từ s như sau:
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
( ) =
Trang 33Để 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ềurộ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ừ đỉnhgố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ứccủa quá trình duyệt BFS bắt đầu từ đỉnh gốc X sẽ tạo thành đồ thị định hướng,
Thuật toán nhanh xác định trung tâm của độ trung gian FABC (FasterAlgorithm for Betweenness Centrality) trên đồ thị không có trọng số [5] đượcthự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 34Bướ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
Bước 4 – Tích lũy vào CB