Phân tích mạng xã hội Social Network Analysis – SNA hiện đang là một trong các chủ đề được quan tâm nghiên cứu.. Phân tích mạng xã hội bao gồm việc nghiên cứu các quan hệ, kết nối, mẫu
Trang 1NGHIÊN CỨU VÀ PHÁT TRIỂN THUẬT
TOÁN TÌM PHẦN TỬ CHÍNH YẾU
TRONG MẠNG XÃ HỘI VÀ ỨNG DỤNG
Học viên : ĐỖ VĂN MẠNH Giảng viên hướng dẫn : PGS.TS ĐỖ PHÚC
ĐỀ TÀI:
1
Trang 2ỨNG DỤNG CÁC ĐỘ ĐO CENTRALITY TÌM KEY PLAYER
Trang 3 Phân tích mạng xã hội (Social Network Analysis – SNA) hiện đang là một trong các chủ đề được quan tâm nghiên cứu Phân tích mạng xã hội bao gồm việc nghiên cứu các quan hệ, kết nối, mẫu truyền thông và hành vi giữa các nhóm xã hội khác nhau…
Các phương pháp "phân tích mạng xã hội" đã được nghiên cứu và ứng dụng ngày càng nhiều hơn trong các nghiên cứu xã hội học nói riêng và
pháp phân tích mạng xã hội còn khá mới mẻ, do đó việc ứng dụng phương pháp phân tích này còn khá hạn chế
3
Trang 4 Đi kèm với phân tích nói trên là bài toán xác định phần tử chính yếu (Key player) hay còn gọi là những tác nhân quan trọng trong mạng xã hội
Phần tử chính yếu là các phần tử trong mạng được xem là quan trọng xét theo một điều kiện nào đó Có thể nói rằng, key player là những node có khả năng điều khiển luồng thông tin, là những node nổi bật nhất và có tầm ảnh hưởng đến các node khác trong mạng xã hội
Độ đo Centrality là đơn vị đo lường xác định các mối liên kết của một đỉnh trong đồ thị Thông qua Centrality, ta có thể phát hiện được thực thể nào trong mạng là quan trọng và có tầm ảnh hưởng đến
Trang 5 Dựa vào bài toán tìm đường đi ngắn nhất qua các đỉnh của một đồ thị Có thể xem mạng xã hội như một đồ thị, các thực thể trong mạng là các đỉnh (node) của đồ thị, mối quan hệ giữa các thực thể trong mạng là các cạnh (link) của đồ thị
Bài toán đặt ra là xây dựng thuật toán dựa vào các
độ đo Centrality và đường đi ngắn nhất đi qua các đỉnh của đồ thị, từ đó xác định thực thể nào là quan trọng nhất, có tầm ảnh hưởng lớn nhất tới các thực thể khác trong mạng xã hội
5
Trang 6 Trong phân tích mạng xã hội, ta xem xét mạng xã hội như là đồ thị mạng bao gồm các đỉnh (nodes), các cạnh (links) Node biểu diễn tập các tác nhân, thực thể, còn link biểu diễn mối quan hệ (relation) giữa các tác nhân, thực thể đó:
Trang 7 Phân tích mạng xã hội (SNA) ngày càng phổ biến Quan hệ xã hội
và kết nối mạng là những thành phần quan trọng của đời sống con người
Các nhà khoa học máy tính đã sử dụng phương pháp phân tích mạng xã hội (SNA) để nghiên cứu các trang Web, lưu lượng truyền thông trên internet, mức độ phổ biến thông tin,…
tượng và phương pháp phân tích của đồ thị Những điều này kết hợp với các công cụ phân tích khác và các phương pháp phát triển đặc biệt cho sự hình dung và phân tích của
gọi là phương pháp phân tích mạng xã hội – SNA
7
Trang 8 Trong Phạm vi của lý thuyết đồ thị và phân tích mạng, có nhiều biện pháp để nghiên cứu mô hình thông tin liên lạc cũng như cấu trúc của một mạng xã hội Trong đó biện pháp Centrality là một trong các biện pháp được nghiên cứu nhiều nhất nhằm xác định tầm quan trọng tương đối của một đỉnh trong đồ thị
Centrality mô tả vị trí tương đối của một tác nhân trong bối cảnh của mạng xã hội của mình:
8
Trang 91. Độ đo trung tâm theo bậc (Degree
Centrality)
gian (Betweenness Centrality)
(Closeness Centrality)
9
Trang 10 Cho đồ thị G = (V, E) có n đỉnh
các liên kết tới đỉnh đó trong đồ thị (tổng số cạnh kề của một đỉnh)
được tính bởi 2 giá trị: in-degree và out-degree
khác đến node đang xét
đang xét đến các node khác
10
Trang 11 Công thức tính độ đo trung tâm theo bậc của đỉnh v :
) deg(
C D ( ) deg( )
11
Trang 12VD1: Cho đồ thị gồm 7 đỉnh sau:
Dựa vào công thức 2.1 và 2.2 ta tính
được các độ đo trung tâm theo bậc
của từng đỉnh như sau
12
Trang 13 Nhận xét:
Degree centrality được dùng để xác định node nào có thể
lan truyền thông tin nhanh, có khả năng gây ảnh hưởng trực tiếp đến các node xung quanh
Một thực thể có giá trị degree centrality cao:
Là người hoạt động tích cực hoặc nổi tiếng nhất
Là một đầu nối quan trọng
Có một vị trí thuận lợi
Có tầm ảnh hưởng quan trọng trong mạng
13
Trang 14 Betweenness centrality của một đỉnh được tính bằng tổng số các đường đi ngắn nhất ngang qua đỉnh đang xét chia cho tổng số các đường đi ngắn nhất của toàn mạng Nói cách khác thì Betweenness Centrality là độ đo dùng để xác định vị trí của tác nhân trong mạng mà nó có khả năng kết nối đến những cặp tác nhân hay những nhóm tác nhân khác
Công thức tính Betweenness Centrality của đỉnh v:
Cho đồ thị G = (V,E) có n đỉnh:
: ) ( v
st B
v v
C
( ) )
Trang 15 Công thức tính Betweenness Centrality theo dạng chuẩn:
lớn đến việc phân bổ cấu trúc của các cụm hay nhóm
việc kiểm soát mọi thông tin trao đổi giữa các tác nhân khác trong mạng
2 2
1)( ) / (
) ( )
v C v
15
Trang 16VD2: Cho một mạng xã hội có các tác nhân: v1, v2, v3, v4, v5, v6 và các link: (v1,v2); (v1,v3); (v2,v4); (v3,v2); (v3,v4); (v4,v5); (v4,v6)
Ta coi Mạng xã hội trên như là một đồ thị như sau:
v1
v2 v3
v4
Trang 17Ta thấy công
thức 2.3 có đề
cập tới đường đi
ngắn nhất từ
đỉnh s tới đỉnh t,
như vậy ban đầu
ta phải tính các
đường đi ngắn
nhất của tất cả
các cặp node
trong đồ thị:
Bảng 1
17
Trang 18 Dựa vào bảng 1 ta cũng tính được =17
đỉnh t có qua đỉnh v:
Xét đỉnh v1:không có bất kỳ đường đi từ đỉnh s bất kỳ tới đỉnh t mà
đi qua v1 Như vậy
Xét đỉnh v2: có 3 đường đi có đi qua đỉnh v2, vậy
Xét đỉnh v3: có 3 đường đi có đi qua đỉnh v3, vậy
Xét đỉnh v4: có 8 đường đi có đi qua đỉnh v4, vậy
Xét đỉnh v5 và v6: ta không thấy có bất kỳ đường đi nào đi qua 2 đỉnh này, như vậy và
st
hay t
Trang 19Như vậy, ta tính được độ đo Betweenness Centrality của từng node:
19
Trang 20 Một node có độ đo Betweenness Centrality càng cao thì:
Giữ một vị trí đặc biệt quan trọng và một tầm ảnh hưởng rất lớn trong mạng
Nếu node này bị loại bỏ thì sẽ gây ra sự tan rã cấu trúc của mạng, tức là các node sẽ không còn có thể trao đổi thông tin liên lạc với nhau
Khi loại bỏ đỉnh v4
20
Trang 21Closeness centrality được tính bằng trị nghịch đảo của
tổng số khoảng cách ngắn nhất từ một đỉnh đến tất cả
các đỉnh còn lại của đồ thị
(2.5)
21
Trang 22(2.6)
22
Trang 23 Xét lại VD2, ta sử dụng lại Bảng 1 để tìm độ đo Closeness Centrality của các đỉnh trong đồ thị:
1 1
1 1
1
)
, ( )
C
2
0 5
1 2
1 2
2
)
, (
) (
G
C
t v d
v
C
17
0 6
1 3
1 3
3
)
, (
) (
G
C
t v d
v
C
5
0 2
1 4
1 4
4
)
, (
) (
G
C
t v d
v C
0 6
23
Trang 24 Như vậy, đỉnh v4 có giá trị Closenness Centrality cao nhất sẽ là đỉnh có thể truyền đạt, tiếp nhận thông tin từ các node khác trong mạng một cách nhanh nhất, ít tốn thời gian nhất
trong mạng
khác
24
Trang 25 Việc xác định được các giá trị độ đo Centrality đã làm nền tảng để tiếp cận giải quyết bài toán tìm phần tử chính yếu (key player) trong mạng xã hội của đề tài
qua các bước cơ bản sau:
Bước 1: Tính toán tìm tất cả các đường đi ngắn nhất từ 1 đỉnh đến tất cả các đỉnh còn lại trong đồ thị cho tất cả các đỉnh
Bước 2: Tính toán độ đo trung tâm theo bậc của tất cả các đỉnh trong đồ thị
Bước 3: Tính toán tìm độ đo trung tâm theo trung gian của tất cả các đỉnh trong đồ thị
Bước 4: Tính toán độ đo trung tâm theo sự lân cận của mỗi đỉnh trong đồ thị
Bước 5: Dựa vào các độ đo trung tâm -> Đưa ra kết quả
25
Trang 26 Bước 1: tìm tất cả các đường đi ngắn nhất
Cơ sở của phương pháp cài đặt này là "lập lịch" duyệt các đỉnh Việc thăm một đỉnh sẽ lên lịch duyệt các đỉnh
kề nó sao cho thứ tự duyệt là ưu tiên chiều rộng (đỉnh nào gần S hơn sẽ được duyệt trước)
Trang 27Giải thuật BFS như sau:
Bước 1: Khởi tạo:
Các đỉnh đều ở trạng thái chưa đánh dấu, ngoại trừ đỉnh xuất phát S là đã được đánh dấu
Một hàng đợi (Queue), ban đầu chỉ có một phần tử S Hàng đợi dùng để chứa các đỉnh sẽ được duyệt theo thứ tự ưu tiên theo chiều rộng
Bước 2: Lặp các bước sau cho đến khi hàng đợi rỗng:
Lấy v ra khỏi hàng đợi, thông báo thăm v (bắt đầu việc duyệt đỉnh v)
Xét tất cả các đỉnh u kề với v mà chưa được đánh dấu, với mỗi đỉnh u đó:
Đánh dấu u
Ghi nhận vết đường đi từ v tới u (có thể làm chung với việc đánh dấu)
Đẩy u vào hàng đợi (u sẽ chờ được duyệt ở các bước sau)
Bước 3: Truy vết tìm đường đi
27
Trang 28Queue sau khi lấy v ra
Các đỉnh u kề
v mà chưa lên lịch
Queue sau khi đẩy các u vào
(1) 1 Rỗng 2,3 (2,3) (2,3) 2 (3) 4 (3,4) (3,4) 3 (4) 5 (4,5) (4,5) 4 (5) 6 (5,6) (5,6) 5 (6) (không có) (6)
Trang 29 Bước 2: Tìm Degree Centrality
Ý tưởng: ta duyệt từng đỉnh, mỗi đỉnh ta xét các đỉnh lân cận với nó Lặp lại cho tới khi không còn đỉnh để duyệt
v4
29
Trang 30 Bước 3: Tìm Betweenness Centrality:
Ý Tưởng: để tìm độ đo Betwenneess Centrality của 1 đỉnh ta dựa vào các đường đi ngắn nhất của đỉnh đó tới các đỉnh còn lại tìm được bằng thuật toán BFS và công thức 2.3
Xét lại VD 2 : Ta đã tìm được các độ đo Betwenneess Centrality của
đó nếu mất đỉnh v4 thì cấu trúc mạng thay đổi rất lớn vì sẽ mất đi 2 đỉnh v5 và v6.
30
Trang 31 Bước 4: Tìm Closeness Centrality:
Ý tưởng: dựa vào sự truy vết đường đi trong thuật toán BFS
ta tính được tổng độ dài của đường đi từ 1 đỉnh đến các đỉnh còn lại và công thức (2.5)
Xét lại VD 2: Từ bảng 1, ta sử dụng các độ dài (length(v,t)) từ
1 đỉnh các đỉnh còn lại:
) , (
1 )
(
v C
G v V t
Trang 3232
Trang 3333