Tải bản đầy đủ (.pdf) (79 trang)

Phân tích, phát hiện cấu trúc cộng đồng trên mạng xã hội

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.06 MB, 79 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

PHÂN TÍCH, PHÁT HIỆN CẤU TRÚC CỘNG ĐỒNG
TRÊN MẠNG XÃ HỘI

LÊ QUANG QUỲNH

CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN
MÃ SỐ: 8.48.02.018

HƯỚNG DẪN KHOA HỌC: PGS.TS ĐOÀN VĂN BAN

HÀ NỘI – 2019


LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác
Hà Nội, ngày tháng năm 20
Tác giả luận văn

Lê Quang Quỳnh


LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Đoàn Văn Ban


người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm
luận văn.
Em cũng gửi lời cảm ơn đến các thầy cô giảng dạy và các thầy cô trong
Khoa Đào Tạo Sau Đại Học của Trường Đại Học Mở Hà Nội đã truyền đạt và
giúp đỡ em trong suốt quá trình học tập của mình.
Và cuối cùng em gửi lời cảm ơn đến các đồng nghiệp, bạn bè và gia
đình, những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để em có
được kết quả học tập như ngày hôm nay.

Hà Nội, ngày

tháng năm 20

Tác giả luận văn

Lê Quang Quỳnh


MỤC LỤC

LỜI MỞ ĐẦU ................................................................................................... 1
... 3
1.1.Giới thiệu về mạng xã hội ..................................................................................... 3
1.2.Các độ đo trên đồ thị mạng xã hội ........................................................................ 8
1.2.1. Độ đo khoảng cách trên đồ thị mạng xã hội………………………………….8
1.2.2. Độ đo trung tâm của đỉnh…………………………………………………….9
1.2.3. Độ đo trung tâm của đồ thị……………………………………………………12
1.2.4. Độ đo trung gian của cạnh…………………………………………………..13
1.3.Kết luận chương .................................................................................................. 19


C

..... 20

2.1.Cấu trúc cộng đồng mạng xã hội ........................................................................ 20
2.1.1. Một số kỹ thuật phát hiện cộng đồng mạng xã hội………………………….24
2.1.2. Phát hiện các cộng đồng gối nhau…………………………………………..25
2.1.3. Phân chia đỉnh………………………………………………………………26
2.1.4. Thuật toán phát hiện cộng đồng gối nhau ………………………………….31
2.1.5. Thuật toán nhanh phát hiện cộng đồng gối nhau …………………………..33
2.2.Sử dụng độ đo trung gian để phát hiện cấu trúc cộng đồng ................................ 35
2.2.1. Phương pháp tính độ đo trung gian trên đồ thị mạng xã hội……………….36
2.3.Thuật toán Girvan-Newman (GN) ...................................................................... 39
2.4.Phát hiện các K-clique trong mạng xã hội .......................................................... 43
2.4.1. K-clique, K-club và K-clan………................................................................50
2.4.2. Thuật toán phát hiện K-clique………………………………………………52
2.4.2.1. Thuật Toán GT biến đổi ............................................................................. 53
2.4.2.2.Thuật toán tìm Clique cực đại ...................................................................... 54
2.4.2.3. Phát hiện k-Clique cực tiểu ........................................................................ 56
2.5. Kết luận chương ................................................................................................. 58


CHƯƠNG 3. CHƯƠNG TRÌNH CÀI ĐẶT THUẬT TOÁN PHÁT HIỆN
CẤU TRÚC CỘNG ĐỒNG ............................................................................ 59
3.1.Mô tả bài toán ...................................................................................................... 59
3.2.Môi trường thực nghiệm ..................................................................................... 63
3.2.1.Môi trường phần cứng……………………………………………………….63
3.2.2.Các công cụ và phần mềm sử dụng …………………………………………63
3.3.Chương trình thực nghiệm .................................................................................. 64


3.3.1.Chương trình thực nghiệm với mạng xã hội WikipediaVote………………..64
3.3.2.Chương trình thực nghiệm với mạng xã hội Karate của Zachary…………………64
3.4.Kết luận chương .................................................................................................. 67

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...................................................... 69
TÀI LIỆU THAM KHẢO ............................................................................... 70


DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

1

Từ viết
tắt
GN

2

STT

Tiếng anh

Tiếng việt

GIRVAN - NEWMAN

Thuật toán Girvan-Newman

MCP


Maximum Clique Problem

Bài toán tối ưu Clique cực đại

3

BFS

Bredth First Search

4

FSI

Santa Fe

Viện Santa Fe

5

CONGA

Cluster-Overlap Newman

Thuật toán phát hiện cộng đồng

Girvan Algorithm

gối nhau


6

DAG

Directed Acyclic Graph

Đồ thị định hướng

Phương pháp tìm kiếm duyệt theo
chiều rộng


DANH SÁCH BẢNG
Trang
Bảng 3.1. Môi trường thực nghiệm và hệ điều hành

63

Bảng 3.2. Công cụ và phần mềm sử dụng

63


DANH MỤC CÁC HÌNH VẼ
Trang
Hình 1.1. Mạng xã hội....................................................................... .................... 03
Hình 1.2. Mạng xã hội Facebook........................................................... .............. .04
Hình 1.3. mạng xã hội Twitter............................................................................... 05
Hình 1.4. Mạng xã hội Zing me ............................................................................ 06
Hình 1.5. Mạng xã hội Zalo Việt Nam .................................................................. 06

Hình 1.6. Đồ thị có 4 đỉnh và 5 cạnh… ................................................................. 09
Hình 1.7. Những đồ thị hình sao, bánh xe có số đỉnh 3, 4, 5, 6, 7……… ........... .11
Hình 1.8. Đồ thị mạng xã hội đơn giản gồm 7 nút ............................................... .14
Hình 2.1. 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 .... 20
Hình 2.2. Cây hoặc dendrogram biểu diễn quá trình thực hiện phân cụm gộp ..... 22
Hình 2.3. Phương pháp phân cụm gộp để phát hiện cộng đồng dựa vào các trung
tâm… ..................................................................................................................... 22
Hình 2.4. (a) Mạng cho trước, (b) chia mạng theo đỉnh a thành hai phần có phần
chung, (c) và (d) là hai cách chia khác…. ............................................................ .28
Hình 2.5. Các trường hợp chia cụm theo đỉnh hoặc cạnh không tường minh ...... 28
Hình 2.6. Không chia tách những đỉnh thành những thành phần có bậc là 1 ...... .29
Hình 2.7. Tìm cách chia tốt nhất ........................................................................... 30
Hình 2.8 2-vùng của cạnh và đỉnh trên đồ thị… ................................................... 34
Hình 2.9. Độ đo độ trung gian của đồ thị ở Hình 1.8… ........................................ 36
Hình 2.10. Tính độ trung gian của các cạnh .......................................................... 37
Hình 2.11. Bước 1 & 2 của thuật toán Girvan-Newman trên đồ thị ..................... 41
Hình 2.12. Bước cuối của thuật toán GN, mức 3 và 2 .......................................... 42


Hình 2.13. Bước cuối của thuật toán GN .............................................................. 43
Hình 2.14. Ví dụ 1-clique, 2-clique và 3-clique .................................................... 51
Hình 2.15. 2-cliques, 2-clan và 2-club .................................................................. 52
Hình 2.16. Ví dụ về kết quả thực hiện thuật toán GT .......................................... .54
Hình 2.17. Kết quả thực hiện thuật toán CMP ..................................................... .56
Hình 2.18. Phát hiện hai 2-clique theo thuật toán Hk-C ...................................... .57
Hình 3.1. Cộng đồng mạng xã hội WikipediaVote ............................................... 59
Hình 3.2. Thống kê dữ liệu mạng ban đầu…. ....................................................... 60
Hình 3.3. Cộng đồng mạng xã hội Karate... .......................................................... 61
Hình 3.4 tập dữ liệu mạng Karate. ........................................................................ 62
Hình 3.5. kết quả phân chia cộng đồng mạng xã hội WikipediaVote ................... 66

Hình 3.6. Kết quả phân chia cộng đồng mạng xã hội Karate ................................ 67


LỜI MỞ ĐẦU
Ngày nay, các nguồn thông tin từ tương tác xã hội đang đóng một vai trò khá
lớn trong việc phát hiện, theo dõi và đánh giá một sự kiện, hiện tượng. Nguồn tin
đa dạng, tổng hợp với một số lượng lớn, liên tục thay đổi và phát triển theo thời gian
đã khiến cho lượng dữ liệu này trở nên đáng tin cậy và mang giá trị sử dụng lớn.
Việc đánh giá một sự vật, hiện tượng theo từng cộng đồng có ý nghĩa lớn trong việc
xác định mối quan tâm của từng nhóm đối tượng.

Bài toán khai phá, tìm kiếm tập phổ biến được sử dụng để giải quyết rất nhiều
vấn đề quan trọng trong khai phá dữ liệu để chỉ ra các tính chất ẩn, các mối tương
quan tiềm ẩn quan trọng của tập dữ liệu. Gần đây, các kỹ thuật khai phá dữ liệu có
cấu trúc phát triển nhằm nâng cao hiệu quả ứng dụng trong nhưng lĩnh vực truyền
thống như tin sinh, tin hóa, hệ thống các mạng xã hội,… do các kỹ thuật khai phá
dữ liệu truyền thống này (phân lớp/ phân cụm, duyệt theo chiều sâu, duyệt thao
chiều rộng, …) không còn phù hợp và hiệu quả cũng như không thể mô hình yêu
cầu của các lĩnh vực này.
Phương pháp đồ thị được sử dụng phổ biến và hiệu quả để biểu diễn dữ liệu

và thể hiện sự tương tác giữa các thành phần của dữ liệu. Dữ liệu đồ thị giúp ta có
thể trực quan hóa, mô hình hóa dữ liệu có cấu trúc và quan hệ tương tác vô cùng
phức tạp trong những dữ liệu lớn. Khai phá dữ liệu đồ thị là việc trích, rút tri thức
hữu ích và mới mẻ từ dữ liệu biểu diễn dưới dạng đồ thị.
Một trong những môi trường được quan tâm nghiên cứu hiện nay là môi
trường 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
bằng một tập hợp các mối quan hệ liên kết. ví dụ như quan hệ bạn bè, gia đình, trao
đổi thông tin, … Khi đề cập đến mạng xã hội người ta thường nghĩ đến mạng
Facebook, Twitter, Zingme hay Zalo, … Thực chất đó là một loại mạng đại diện


cho một lớp mạng rộng hơn của các mạng gọi là mạng xã hội. Cấu trúc mạng được
cấu tạo nên từ các nút mạng và các nút liên kết. Nút mạng là một thực thể còn các
mối liên kết gọi là mối quan hệ giữa các thực thể tham gia vào mạng. 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,
… Mạng xã hội được biểu diễn chủ yếu dưới hai dạng là đồ thị và ma trận. Trong
bài toán phân tích mạng các biểu diễn dưới dạng đồ thị được sử dụng nhiều hơn.
Trong dữ liệu biểu diễn đồ thị mạng xã hội các đỉnh là các nút mạng, còn các cạnh
được xây dựng dụa trên các mối liên kết.

1


Tính chất cộng đồng là tính chất quan trong của mạng xã hội và được các nhà
khoa học rất quan tâm, nghiên cứu. Khai phá cấu trúc cộng đồng mạng xã hội là
một lĩnh vực nghiên cứu mới trong đó tập trung vào phát hiện và tìm ra các đặc tính
của cấu trúc mạng đã nhận được nhiều quan tâm trong những năm qua.
Bài toán phát hiện cộng đồng trên mạng xã hội cho trước là tìm cấu trúc cộng
động nằm trong đó và tìm hiểu 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ệ đó ảnh hưởng thế nào đến cấu trúc của mạng
xã hội.

Phát hiện cấu trúc cộng đồng tập chung chủ yếu vào việc từ đồ thị mạng xã
hội tìm ra những cụm, nhóm cộng đồng, …, có mối liên kết chặt chẽ với nhau.
Nhằm giải quyết những vấn đề nêu trên tôi đề xuất đề tài
“Phân tích, phát hiện cấu trúc cộng đồng trên mạng xã hội” là đề tài nghiên cứu
của mình.
Những mục tiêu nghiên cứu của luận văn:
-


Tìm hiểu được các kiến thức cơ bản về mạng xã hội, cấu trúc cộng đồng trên

đồ thị mạng xã hội, 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.
-

Vận dụng sử dụng độ đo khoảng cách trên đồ thị để tìm được các cấu trúc

cộng đồng trên đồ thị mạng xã hội.
Luận văn tập trung nghiên cứu phát triển các 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.
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: Chương trình cài đặt thuật toán phát hiện cấu trúc cộng đồng.

2


CHƯƠNG 1. MẠNG XÃ HỘI VÀ CÁC ĐỘ ĐO TRÊN ĐỒ THỊ

MẠNG XÃ HỘI
1.1.

Giới thiệu về mạng xã hội

Mạng xã hội là một tập hợp các thực thể (Entity) được kết nối với nhau bằng một tập
hợp các mối quan hệ, liên kết (Link), ví dụ quan hệ bạn bè, gia đình, cộng sự hay trao
đổi thông tin, … Khi đề cập đến “mạng xã hội”, người ta thường nghĩ đến mạng
Facebook, Twitter, Google+, …., thực chất đó là một loại mạng đại diện cho một lớp
rộng hơn của các mạng được gọi là “xã hội”.

Hình 1.1. Mạng xã hội

Ngày nay, mạng xã hội trở thành một nhu cầu phổ biến của nhiều người, đặc biệt là
giới trẻ trên toàn thế giới. Nó được coi là cuộc sống ảo của con người trong xã hội
hiện đại. Đây không chỉ là nơi để con người trao đổi thông tin, giải trí, kết nối bạn bè,
mà theo thời gian nó đã nhanh chóng trở thành một kênh cung cấp những tin tức hàng
ngày. Mạng xã hội có những tính năng như tán gẫu, thư điện tử, phim ảnh, voice chat,

3


chia sẻ file, blog và xã luận. Mạng đã đổi mới hoàn toàn cách cư dân mạng liên kết
với nhau và trở thành một phần tất yếu của mỗi ngày cho hàng trăm triệu thành viên
khắp thế giới. Các dịch vụ này có nhiều phương cách để các thành viên tìm
kiếm bạn bè, đối tác: dựa theo nhóm (ví dụ như tên trường hoặc tên thành phố),
dựa trên thông tin cá nhân (như địa chỉ e-mail hoặc screen name), hoặc dựa trên sở
thích cá nhân (như thể thao, phim ảnh, sách báo, hoặc ca nhạc), lĩnh vực quan tâm:
kinh doanh, mua bán, ... Hiện nay thế giới có hàng trăm mạng xã hội khác


nhau, với MySpace và Facebook nổi tiếng nhất trong thị trường Bắc Mỹ và Tây Âu;
Orkut và Hi5 tại Nam Mỹ; Friendster tại Châu Á và các đảo quốc Thái Bình Dương.
Mạng xã hội khác gặt hái được thành công đáng kể theo vùng miền như Bebo
tại Anh Quốc, CyWorld tại Hàn Quốc, Mixi tại Nhật Bản và Zing me tại Việt Nam.

Hình 1.2. Mạng xã hội Facebook

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

4


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.

Hình 1.3. Mạng xã hội Twitter

Twitter là một dịch vụ mạng xã hội trực tuyến miễn phí cho phép người dùng
đọc, nhắn tin và cập nhật những mẩu tin nhỏ gọi là tweets, một dạng tiểu Blog. Những
mẩu tweet được giới hạn tối đa 140 ký tự được lan truyền nhanh hóng trong phạm vi
nhóm bạn của người nhắn tin, hoặc có thể được trưng rộng rãi cho mọi người. Thành
lập từ năm 2006, Twitter đã trở thành một hiện tượng phổ biến trên toàn cầu. Những
tweet có thể chỉ là những dòng tin vặt cá nhân cho đến những cập nhật thời sự tại chỗ,
kịp thời và nhanh chóng hơn cả các hãng truyền thông chính thống.


5


Hình 1.4. Mạng xã hội Zing me

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.5. Mạng xã hội Zalo Việt Nam

6


Zalo là ứng dụng hỗ trợ trò chuyện tốt nhất dành cho người dùng Việt Nam ở trên
nền tảng điện thoại Smartphone. Zalo có thể giúp bạn nhắn tin, gọi điện miễn phí một
cách dễ dàng, chát chít, kết bạn cùng với mọi người. Chính thức ra mắt vào tháng 12
năm 2012 thống kê cho đến tháng 05 năm 2018 Zalo đã cán mốc 100 triệu người sử
dụng.
Mạng xã hội có những đặc tính thực sự như sau:
1. Có một sưu tập (Collection) các thực thể tham gia vào mạng. Thực thể ở đây

có thể là người, cơ quan, tổ chức hay những sự vật, khái niệm, … tham gia
vào mạng,
2. Có ít nhất một mối quan hệ giữa các thực thể của mạng. Một số quan hệ có thể
tất cả-hoặc chẳng là gì cả (all-or-nothing); như hai người có thể là bạn bè hoặc
chẳng quen biết nhau,
3. Tồn tại tính địa phương (locality), mối quan hệ giữa các thực thể có xu hướng

tạo thành các cụm (cluster). Nếu thực thể A có quan hệ với cả B và C, thì xác
suất tồn tại một liên kết sẽ lớn hơn mối quan hệ trung bình giữa B và C.

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, … Ở dạng đơn giản nhất, mạng xã hội được biểu diễn dưới dạng một đồ
thị vô hướng mà các mối liên kết phù hợp giữa các nút. Ta có thể biểu diễn mạng liên
kết này bằng một đồ thị mà các nút (thực thể) được biểu diễn bởi các điểm, còn các
liên kết được biểu diễn bởi các đoạn thẳng. Trong đó với hai đỉnh (nút) A và B có
cạnh (cung) 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.
Trê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) hay còn gọi là sự phân cụm [12].
Đâ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ầm 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.

7


1.2.

Các độ đo trên đồ thị mạng xã hội

Trước tiên ta định nghĩa được độ đo khoảng cách giữa các đỉnh, các cung của đồ
thị. Khi các cung 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 cung

không có nhãn, thì cần phải định nghĩa độ đo khoảng cách giữa các đỉnh. Theo
Freeman [3] đề xuất một số độ đo trung tâm của đồ thị dựa trên khái niệm trung gian.

1.2.1. Độ đo khoảng cách trên đồ thị mạng xã hội
Để áp dụng được kỹ thuật khai phá dữ liệu, cụ thể là phân cụm các đồ thị mạng xã
hội, thì bước đầu 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 qui ước, những đỉnh (nút) 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à 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:
1. d(x, y) = 0 nếu (x, y)  E, ngược lại là d(x, y) = 1.
2. 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.
Tuy 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.
Freeman đề xuất một số độ đo (Measures) trung tâm của đồ thị dựa trên khái niệm
khoảng giữa, độ trung gian (Betweenness) để phát hiện các cộng đồng mạng.

1.2.2. Độ đo trung tâm của đỉnh
Chúng ta xét một đồ thị 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

8



đườ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 để đ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.1. Xét đồ thị ở Hình 1.6. 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.

v3

v4

v2

v1

Hình 1.6. Đồ 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ị [3]. 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:


9


 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 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 vk, ta có

Bij(vk) = gij(vk) / gij

(1.1)

Ví dụ 1.2. Trên Hình 1.6., 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:
n

C(vk) =

 B (v

ij

k

) , với |V| = n

(1.2)

i , j ,i  j

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.1).

Độ 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ị.

10


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 đ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.7 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ẽ


max C(vk) =

n 2  3n  2
n * (n  1)
 (n  1) =
2
2

(1.3)

Ví dụ 1.3. Những đồ thị hình sao và bánh xe có số đỉnh 3, 4, 5, 6, 7.

Hình 1.7. Những đồ thị hình sao, bánh xe có số đỉnh 3, 4, 5, 6, 7

Định nghĩa 1.2. Độ trung tâm tương đối của đỉnh vk trong đồ thị G được định nghĩa
như sau:
C’(vk) =

2C (vk )
n  3n  2

(1.4)

2

11



Các giá trị C(vk) và C’(vk) đều có thể sử dụng để so sánh giữa các đồ thị đối xứng
liên thông hoặc không liên thông. Cả hai giá trị này đều đạt được cực đại ở những
tâm điểm của những đồ thị hình sao hoặc hình bánh xe như Hình 1.7.
Ví dụ 1.4. Nếu đồ thị là dạng hình bánh xe thì C’(vk) = 1, vk là đỉnh ở trục và C’(vi) = 0,
với các đỉnh khác (trên vành bánh xe).

1.2.3. Độ đo trung tâm của đồ thị
Độ đ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 (degre) 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
đỉnh có ưu thế trội là đỉnh có thể điều khiển sự truyền thông trên mạng (đồ thị).
Định nghĩa 1.3. Đỉnh trung tâm của đồ thị G là đỉnh vk* có C’(vk*) đạt giá trị cực đại.
Khi đó, độ trội (ưu thế) của đỉnh trung tâm nhất trong đồ thị sẽ là
n

 (C ( v
CG =

i 1

*
k

)  C ' ( vi ))

(1.5)


n 1

Đây chính là độ lệch trung bình của đỉnh trung tâm nhất so với các đỉnh khác trên đồ
thị. Giá trị CG luôn nằm trong khoảng 0 và 1. Dễ nhận thấy, CG = 0 với mọi đồ thị G
mà độ trung tâm của tất cả các đỉnh đều bằng nhau, và CG = 1 cho những đồ thị hình
sao hoặc hình bánh xe.

1.2.4. Độ đo trung gian của cạnh
Chúng ta đã nghiên cứu ba độ đo C(vk), C’(vk), CG để 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

12


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.
Ví dụ 1.5. Leavitt [3] đã nghiên cứu mối quan hệ giữa điểm trung tâm và mức độ
thỏa mãn (satisfaction) của con người cùng tham gia giải quyết các vấn đề đặt ra. Mỗi
người tham gia có một mẩu (một phần) tin cần thiết để giải một bài toán. Mỗi người
chỉ có thể trao đổi với một số người được chỉ định khác và bài toán được giải khi tất

cả các mẩu tin được chia sẻ giữa những người cùng tham gia giải bài toán đó. Leavitt
đã đo độ trung tâm của đỉnh theo hàm của độ dài của đường đi hoặc khoảng cách giữa
các đỉnh trên đồ thị. Qua đó xác định được mối quan hệ nguyên thủy giữa độ dài
đường đi với mức độ thỏa mãn của những người tham gia giải quyết công việc. Thông
qua trao đổi với những người khác, mỗi người có thể nhận được những thông tin quan

trọng để giải quyết bài toán và họ cảm thấy thỏa mãn, nghĩa là độ độ trung gian lớn
hơn thì mức độ thỏa mãn sẽ lớn hơn.
Đối với những mạng được Leavitt nghiên cứu, độ dài đường đi và độ trung gian của

các cạnh có mối liên hệ chặt chẽ với nhau. Cạnh nối giữa các cộng đồng có ảnh hưởng
rất lớnđến dòng chảy của thông tin giữa các tác nhân (nút) khác nhau, đặc biệt là trong
trường hợp thông tin lưu truyền trong mạng chủ yếu theo con đường ngắn nhất. Thuật
toán điển hình nhất trong các thuật toán phát hiện cộng đồng của mạng là thuật toán
Girvan-Newman [9].
Chúng ta định nghĩa độ đo “độ trung gian” (Betweenness) các cạnh trên đồ thị như
sau.
Định nghĩa 1.4. Độ 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.
Lư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ị

13


Hình 1.8. Đồ thị mạng xã hội đơn giản gồm 7 nút

Trên đồ thị ở Hình 1.8., 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.
Thuật toán xác định độ đo trung gian (betweenness centrality) của đỉnh

Chúng ta xét đồ thị vô hướng không có trọng số G = (V, E).
+ dG(s, t) độ dài đường đi ngắn nhất giữa s và t trong G. Theo qui ước, dG(s, s) = 0
với mọi s ∈ V , và dG(s, t) = dG(t, s) với s, t ∈ V.
+ σst là số đường đi ngắn nhất từ s ∈ V tới t ∈ V , trong đó σss = 1 theo qui ước. Hiển
nhiên σst = σts
+ σst(v) số đường đi ngắn nhất từ s tới t có đi qua v ∈ V.

+ Một số độ đo “trung tâm” chuẩn:

14


Nhữ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.
Bổ đề 1.1 (Bellman criterion) Một đỉnh v ∈ V nằm trên đường đi ngắn nhất giữa hai
đỉnh s, t ∈ V, nếu và chỉ nếu dG(s, t) = dG(s, v) + dG(v, t) [13].
+ Sự phụ thuộc (Pair-dependency) từng cặp s, t∈ V vào đỉnh trung gian v ∈ V , với
s  v  t, được xác định như sau:

+ Sự phụ thuộc của đỉnh v được định nghĩa là tổng các phụ thuộc của tất cả các cặp
đỉnh:

Trong đó st(v) = σst(v)/σst là độ phụ thuộc từng cặp (pair-dependencies).
Do vậy, để tính sự phụ thuộc (độ trung gian) 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
2. Tính tổng tất cả các phụ thuộc cặp.
Cả hai thuật toán duyệt theo chiều rộng BFS (breadth-first search) đối với đồ thị
không trọng số và thuật toán Dijkstra đối với đồ thị có trọng số bắt đầu từ đỉnh s ∈ V
và, ở mỗi bước đều bổ sung vào đỉnh mới gần nhất với tập những đỉnh đã được duyệt
15



để tìm đường đi ngắn nhất từ gốc s tới các đỉnh khác. 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 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.6)
Bổ đề 1.2 (Tổ hợp của đường đi ngắn nhất) For s v ∈ V

(1.7)
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.
Cả hai thuật toán Dijkstra và thuật toán BFS đều có thể dễ dàng dựa vào Bổ đề này
để tính được số đường đi ngắn nhất. Độ phức tạp tính toán của hai thuật toán là
O(m+nlogn).
+ Sự phụ thuộc của s ∈ V vào một đỉnh v ∈ V, được định nghĩa như sau

Bổ đề 1.3 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.8)

16


×