1. Trang chủ
  2. » Luận Văn - Báo Cáo

GIỚI THIỆU THUẬT TOÁN TÌM BETWEENNESS CENTRALITY

21 1,7K 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 707,42 KB

Nội dung

Mối quan hệ giữa các actor trên mạng được biểu diễn bằng đồ thị: có thể làđồ thị có hướng hoặc vô hướng tùy theo mối quan hệ giữa các actor, mỗimối quan hệ giữa 2 actor được thể hiện bằn

Trang 1

Mở đầu

Ý tưởng rằng các mạng quan hệ là quan trọng trong khoa học xã hội không phải là mới, nhưng phổ biến rộng rãi dữ liệu sẵn có và sự phát triển trong tính toán và phương pháp luận đã làm cho việc phân tích mạng xã hội được ứng dụng rộng rãi ở nhiều lĩnh vực vượt ra ngoài khoa học xã hội, mặc dù những tiến bộ lớn nhất nói chung đã liên quan đến việc nghiên cứu cấu trúc được tạo ra bởi 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 để nghiên cứu các trang web, lưu lượng truy cập Internet, phổ biến thông tin… Phương tiện truyền thông đang ngày càng tham gia tích cực vào trong cuộc sống thường nhật của hàng trăm triệu người dân, trong đó có mạng xã hội – một kênh thông tin có tốc độ lan truyền rất nhanh, phân tích mạng xã hội là một yêu cầu đặt ra và kết quả phân tích được sử dụng trong nhiều lĩnh vực… Phạm vi bài thu hoạch này tôi xin trình bày lại phần kiến thức tìm hiểu được của mình sau tìm hiểu về mạng xã hội gồm 2 phần chính:Phần 1 Phân tích mạng xã hội, phần 2 xây dựng thuật toán tính Betweenness theo thuật toán của Ulrik Brandes - Department of Computer & Information Science, University of Konstanz trong bài báo A Faster Algorithm for Betweenness Centrality (2001).

Qua đây tôi cũng xin chân thành gởi lời cảm ơn đến PGS TS Đỗ Phúc đã chuyển tải những bài giảng cho chúng tôi qua cách thể hiện sinh động của Thầy Tôi cũng rất cảm ơn các bạn cùng lớp đã đóng góp những tài liệu quý báu làm cơ sở cho tôi thực hiện bài tiểu luận này.

Trang 2

Mục lục

Trang 3

Nội dung

Chương I: PHÂN TÍCH MẠNG XÃ HỘI

I.1 Giới thiệu mạng xã hội

Mạng xã hội, hay gọi là mạng xã hội ảo, là dịch vụ nối kết các thành viêncùng sở thích trên Internet lại với nhau với nhiều mục đích khác nhau khôngphân biệt không gian và thời gian

Mạng xã hội có những tính năng như chat, e-mail, phim ảnh, voice chat, 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ếtvớ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ệuthà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ànhviên tìm kiếm bạn bè, đối tác: dựa theo group (ví dụ như tên trường hoặc tênthà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 canhạc), lĩnh vực quan tâm: kinh doanh, mua bán

I.2 Một số khái niệm

I.2.1 Network

Trong phân tích mạng xã hội, khái niệm về lý thuyết đồ thị được dùng để hiểu

và giải thích các hiện tượng xã hội Một mạng xã hội bao gồm một tập hợpnhững actor – có thể là một tổ chức hay cá nhân và giữa họ có nhiều loại quanhệ

Trang 4

Mối quan hệ giữa các actor trên mạng được biểu diễn bằng đồ thị: có thể là

đồ thị có hướng hoặc vô hướng tùy theo mối quan hệ giữa các actor, mỗimối quan hệ giữa 2 actor được thể hiện bằng một cạnh và có thể có hoặckhông có trọng số

Ví dụ sau đây giả sử mạng có 4 actor và giữa họ có những mối quan hệgiao tiếp với nhau : Ann (1),Jim(2), Mary( 3), John (4) được mô phỏngbằng một đồ thị có hướng như sau:

Dữ liệu của đồ thị có hướng này được biểu diễn bằng danh sách cạnh, hoặc ma trận kề như hình bên dưới

Biểu diễn bằng đồ thị vô hướng:

Trang 5

I.2.2 Liên kết mạnh và liên kết yếu (Strong and weak Ties)

Một trong những vai trò của các mạng là tạo ra cầu nối cục bộ cũng nhưtoàn cầu để cung cấp những sự giải thích cho câu hỏi quá trình đơn giảnxảy ra tại các nút riêng và lan truyền thông qua những liên kết phức tạptrong toàn bộ mạng

- Cạnh nối có thể biểu diễn cho các tương tác, dòng chảy của thông tin,hàng hoá, tương đồng / hội nhập, hoặc quan hệ xã hội, cụ thể đối vớiquan hệ xã hội

- Nguyên tắc: triadic closure: trong mạng xã hội nếu 2 người một ngườibạn chung, thì trong tương lai có thể 3 người trở nên bạn của nhau(transitivity – trong phân tích mạng xã hội đây là thuộc tính của một kếtnối)

Trang 6

Hình trsên minh họa: B, C có chung nút kề A, Cạnh BC sẽ có khả năngđược hình thành…Giải thích dựa theo hình minh họa thuật ngữ “Triadicclosure” xuất phát từ cạnh nối BC là cạnh thứ 3 của 3 cạnh tam giác ABC.Nếu ta quan sát ảnh chụp của mạng xã hội tại 2 điểm phân biệt trong mộtkhoảng thời gian, sau đó trong ảnh chụp sau, ta sẽ thấy có một số lượngđáng kể các cạnh nối xuất hiện mà cạnh này là cạnh “đóng” của “tam giác– 2 nút có chung một nút kề” trong ảnh chụp trước đó

- Triadic closure có vai trò cơ bản là thúc đẩy sự hình thành độ đo mạng

xã hội đơn giản và nắm được mức độ lan tỏa, phổ biến của nó, mộttrong số đó là hệ số phân nhóm (clustering cofficient) Hệ số phânnhóm của một nút được định nghĩa như 2 người bạn bất kỳ của nút đólàm bạn với nhau Hay nói các khác hệ số phân nhóm của một nút là tỉ

lệ mà những nút kề của nút đó nối với nhau bằng một cạnh nối trên tổng

số các nút kề Ví dụ trong hình trên hệ số phân nhóm của nút A tronghình (a) là 1/6 trong khi đó nút A trong hình (b) là 3/6 Tóm lại hệ sốphân nhóm nằm trong phạm vi từ 0 đến 1, hệ số này bằng 0 khi không

có cạnh nối nào của các nút bạn của nút đó, và bằng 1 khi các nút bạncủa nó nối với nhau từng đôi một Hệ số phân nhóm càng cao, phản ánh

Trang 7

mức độ liên kết hoạt động của nhóm các nút lân cận càng mạnh vàngược lại.

- Cầu nối và cầu nối vùng (brigde and local brigde): cầu nối là cạnh nối màkết nối 2 nhóm (lân cận) Trong hình sau mô tả mạng xã hội, trong mỗicạnh của nó có nhãn là s(strong) mạnh hoặc w(Weak) yếu để mô tả mốiquan hệ mạnh hoặc yếu Trong hình sau, cạnh AB không phải là duy nhấtkết nối 2 điểm A,B mặc dù có thể không nhận ra nó, có con đường xa hơn

để kết nối từ A đến B là qua F, G và H Loại cấu trúc này có thể coi là phổbiến hơn nhiều so với cầu nối trong mạng xã hội thật sự

Trong đồ thị trên cạnh nối 2 điểm A và B là cầu nối vùng (local brigdes), khi A và B không có chung đỉnh kề nào, nếu xóa đi cạnh nối A, B thì sẽ làm tăng khoảng cách đi từ A đến B

- Homophily (đồng tính) là mối quan hệ giữa những người đồng tính cách, quan điểm trạng thái, tín ngưỡng…nó dẫn đến sự hình thành các nhóm (cụm) đồng nhất, hình thành các mối quan hệ dễ dàng hơn Sự đồng nhất

Trang 8

cực đoan có thể dẫn đến làm trái với tư tưởng chung trong một số ngữ cảnh(đó là hệ quả không mong muốn)

I.2.3 Phần tử chủ chốt (Key Player)

Trong mạng xã hội, phần tử chủ chốt được hiểu như là phần tử mà có đóng gópquan trọng trong sự gắn kết các phần tử trong mạng… như việc kết nối các actor,truyền thông tin … Để xếp hạng cho các các actor trong mạng dựa vào các chỉ

số độ đo trung tâm (centrality) Để xác định được tập các phần tử chủ chốt trướchết cần phải biết được mục đích của việc tìm phần tử chủ chốt để xác định dựavào chỉ số trung tâm nào ?

Key player (Stephen P Borgatti) được nhiều được chia làm 2 loại

- Key player Problem/Negative (KPP_Neg): những key player tiêu cực

là những phần tử mà khi loại bỏ nó khỏi mạng thì làm cho mạng kết quả trở nên phân mảnh (ít sự gắn kết)

Trang 9

- Key player Problem/Positive (KPP_Pos): những key player tích cực: là những phần tử có khả năng kết nối tất cả các node trong mạng Để xác định được những phần tử đó ta phải dựa vào các độ đo trung tâm.

 Các độ đo trung tâm

o Degree: (bậc ) là chỉ số xác định số liên kết được nối vớinode, nếu đồ thị vô hướng, nếu đồ thị có hướng thì gồm tổng

số liên kết vào và liên kết ra) là độ đo xác định sự kết nối,mức độ ảnh hưởng, phổ biến của nút Độ đo này hữu ích khidùng để xác định nút có là trung tâm lan truyền thông tin vàảnh hưởng ngay lập tức đến các node kề của nó

o Đường đi và đường đi ngắn nhất

 Đường đi giữa hai node: là thứ tự các node (không lặplại) kết nối giữa hai nút

 Đường đi ngắn nhất giữa hai node là đường đi mà sốcạnh kết nối giữa 2 node là ngắn nhất

o Betweenness centrality của một nút: tổng tỉ lệ số con đườngngắn nhất đi qua nút i chia cho tổng số con đường ngắn nhấttrong toàn mạng chỉ số này thể hiện mức độ nút này nằm trênđường truyền thông tin giữa các nút khác trong mạng, và khiloại bỏ nút này thì làm mạng sẽ bị tách ra nhiều phần (phầnnày sẽ được trình bày kỹ hơn ở chương 2 trong thuật toán tìmBetweenness

o Closeness centrality: là chiều dài của tất cả các đường đi ngắnnhất từ một nút đến tất cả các nút khác trên mạng, là chỉ sốdùng để xác định tốc độ lan truyền thông tin từ một nút đếncác nút khác trong mạng

Trang 10

o Eigenvector centrality: tỉ lệ thuật với eigenvector của các nút

kề của nó, mục đích của chỉ số này để xác định nút nào có kếtnối với nhiều nút được kết nối nhất

Chương II: GIỚI THIỆU THUẬT TOÁN TÌM

BETWEENNESS CENTRALITY

Một công cụ cần thiết cho việc phân tích mạng xã hội là các chỉ số trung tâm(centrality), được định nghĩa dựa trên tập đỉnh của đồ thị Chúng được thiết

kế để xếp hạng các actor tùy theo vị trí của nó trong mạng và được hiểu như

sự nổi bật của những actor đó khi nhúng vào cấu trúc xã hội Nhiều chỉ

số dựa trên đường đi ngắn nhất nối những cặp actor, đo lường … ví dụ nhưkhoảng cách trung bình từ các actor khác hoặc tỉ lệ giữa đường đi ngắn nhất

có chứa actor đó Centrality là khái niệm cốt lõi trong phân tích mạng xã hội,trong đó Betweenness là một trong những chỉ số nổi bật nhất

Betweenness centrality là chỉ số rất quan trọng trong quá trình phân tíchmạng, nhưng chi phí tính toán nó quá đắt Trong phần này xin trình bày thuậttoán có độ phức tạp về không gian là O(n+m) và độ phức tạp thời gian làtrong khoảng O(nm) và O(nm+n2logn) cho đồ thị có trọng số và không cótrọng số trong đó m là số liên kết, n là số các actor trên mạng Độ đobetweenness dựa trên đường đi ngắn nhất là một thước đo chuẩn trongnhiều nghiên cứu và triển khai các phần mềm phân tích mạng

Trang 11

II.1 Định nghĩa và ký hiệu

- Một đồ thị có hướng G=(V,E) gồm một tập đỉnh V và tập cạnh E (haycòn gọi là các kết nối) Cạnh có hướng e =(u,v) E trong đó v được gọi làđỉnh đầu, u là đỉnh cuối và v được gọi là đỉnh kề với u

- Đồ thị vô hướng tương đương với đồ thị có hướng đối xứng có chứa 2cạnh có hướng ngược nhau đối với mỗi cạnh vô hướng

- Một đường đi (path) từ đỉnh nguồn s V đến đỉnh t V viết là (s,t) là thứ

tự các đỉnh và cạnh: s, (s,v1), v1, (v1,v2), v2,…,(vk,t),t bắt đầu từ s vàkết thúc ở t, đỉnh cuối của cạnh là đỉnh đầu của cạnh tiếp theo trongđường đi Chiều dài của đường đi từ s đến t: length(s,t) là số các cạnh

mà nó chứa Khoảng cách giữa s và t: dist(s,t) được định nghĩa là chiềudài ngắn nhất từ đỉnh s đến đỉnh t trong các đường đi từ s đến t Lưu ýnếu s và t trùng nhau thì dist(s,t) =0

- Kí hiệu : số đường đi ngắn nhất từ s đến t (shortest(s,t)) và kí hiệu là sốđường đi ngắn nhất từ s đến t mà đi qua v Nếu s=t thì và nếu đỉnh v{s,t} thì đặt

- Bổ đề: (Bellman criterion): Một đỉnh v nằm trên một đường đi ngắnnhất giữa s và t nếu và chỉ nếu dist(s,t) = dist(s,v)+dist(v,t)

- Cho khoảng cách từng cặp đỉnh và số đếm đường đường đi ngắn nhất,giá trị cặp đỉnh phụ thuộc st(v) được tính bằng công thức

trong đó s,t và có đỉnh trung gian vĐiều đó có nghĩa là tỉ lệ đường đi ngắn nhất giửa s và t mà có đi qua vđược tính:

- Đường đi ngắn nhất Betweenness CB (v) được định nghĩa theo công thứcsau:

Trang 12

hay công thức:

Với qui ước 0/0 =0 Độ đo này được hiểu như là mức độ đỉnh đó thamgia vào các kết nối trên những cặp đỉnh khác nhau, dựa trên giả thuyết lànhững kết nối quan trọng được chia đều chó tất cả các đường đi ngắnnhất đối với mỗi cặp đỉnh

- Một điểm đã được chỉ ra trong Freeman (1977), định nghĩa betweenness

áp dụng cho đồ thị không liên thông không có gì thay đổi Mặc dùkhoảng cách giữa hai đỉnh không được kết nối bởi một đường đi cóhướng là không xác định, điều này cũng có nghĩa là số đường đi ngắnnhất giữa chúng là 0, 0 chính là kết quả mong muốn

- Tóm lại: betweenness centrality theo truyền thống được xác định qua 2 bước:

o 1: Tính độ dài và số đường đi ngắn nhất giữa các cặp đỉnh (từng đôi một)

o 2: Tính tổng tất cả các cặp phụ thuộc

II.2 Đếm số đường đi ngắn nhất

- Bổ đề 2: ( đếm đường đi đại số): đặt lũy thừa k của ma trận kề của đồ thị không có trọng số Và (auv(k) bằng số đường đi từ u đến v có độ dài k

- Với mỗi đỉnh tính tổng các cặp phụ thuộc chi phí là O(n2) , thời gian chạy tổng thể thực hiện được chi phối bởi thời gian nhân ma trận

- Rõ ràng, đếm đường đi đại số đã tìm ra nhiều thông tin hơn cần thiết.Thay vì số đường đi có chiều dài ngắn hơn đường kính của mạng

Trang 13

(khoảng cách lớn nhất của tất cả các cặp đỉnh) chúng ta chỉ quan tâmđến số con đường ngắn nhất giữa mỗi cặp đỉnh

- Để lợi dụng những thực thể điển hình nằm rải rác, chúng ta đếm sốđường đi ngắn nhất bằng thuật toán duyệt (traversal algorithm) Cả haithuật toán BFS cho đồ thị không có trọng số và thuật toán Dijkstra cho

đồ thị có trọng số bắt đầu từ một đỉnh nguồn s và mỗi bước đưa thêmđỉnh gần nhất vào tập đỉnh đã được thăm để tìm đường đi ngắn nhất từđỉnh nguồn đến tất cả các đỉnh khác Trong quá trình này, chúng đươngnhiên sẽ khám phá ra tất cả các đường đi ngắn nhất từ đỉnh nguồn Tậpcác đỉnh trước của đỉnh v trên đường đi ngắn nhất từ đỉnh s là

- Bổ đề 3: Đếm tổ hợp các đường đi ngắn nhất đối với đỉnh s≠v

Chứng minh: Vì tất cả các trọng số cạnh là rõràng, cạnh cuối cùng của bất kỳ đường đi ngắnnhất từ s đến v là một cạnh {u,v} do vậy dG(s,u) < dG(s,v) Rõ ràng, sốđường đi ngắn nhất từ s đến v kết thúc bởi cạnh này bằng với số đường

đi ngắn nhất từ s đến u

II.3 Gom nhóm các cặp đỉnh phụ thuộc

- Khái niệm về sự phụ thuộc của một đỉnh s vào một đỉnh v được địnhnghĩa bởi công thức

Điều quan trọng ta nhận thấy rằng tổng của những phần này tuân theomột quan hệ đệ quy

- Bổ đề 5: Nếu có chính xác một đường đi ngắn nhất từ s đến mỗi đỉnh t,

sự phụ thuộc của đỉnh s vào bất kỳ đỉnh v tuân theo công thức

Trang 14

- Định lý 6: sự phụ thuộc của s vào bất kỳ v tuân theo công thức

Chứng minh: ta có >0 chỉ khi tồn tại t mà v nằm trên ít nhất một đường

đi ngắn nhất từ s đến t, và lưu ý rằng trên bất cứ một đường đi nào như thế có chính xác 1 cạnh {v,w} với vPs(w) Điều này sẽ được thấy rõ hơn qua hình minh họa sau:

Hình 2: Trường hợp tổng quát của định lý 6, các thành phần của phụthuộc vào đỉnh sau được kế thừa dọc theo những cạnh của đồ thị có

hướng mở của những đường đi ngắn nhất từ đỉnh nguồn

Hình 1.1: với giả thiết trong

bổ đề 5, một đỉnh nằm trên tất

cả các đường đi ngắn nhất đếnđỉnh sau nó trong cây đường

đi ngắn nhất từ đỉnh nguồn

Trang 15

II.4 Thuật toán tìm Betweenness (Ulrik Brandes 2001)

- Betweenness được tính toán hiệu quả dựa trên thực tế khối số lượngtừng cặp đỉnh phụ thuộc = có thể được tổng hợp mà không cần tính tất

cả chúng một các rõ ràng

Với mọi s,v ta có thể kết luận

Quan hệ đệ qui này khẳng định rằng sự phụ thuộc của đỉnh s vào một sốđỉnh v có thể được dịch ra từ sự phụ thuộc vào những đỉnh trên các cạnhnằm ở xa

Thuật toán: Shortest path vertex betweenness (Brandes, 2001)

 Input: đồ thị có hướng G=(V,E)

 Dữ liệu:

o hàng đợi Q, stack S có thể chứa tất cả các đỉnh v

o dist[v]: khoảng cách từ đỉnh nguồn

o Pred[v]: danh sách các đỉnh trước của v trong đường đi ngắnnhất

o đỉnh nguồn đến v

o : phụ thuộc của đỉnh nguồn trên v

 Output: betweenness của CB[v] (v)

(1)

Trang 16

- Vì CB(v) = v), Thuật toán 1 tính betweenness bằng cách lặp lại đốivới tất cả các đỉnh v, mỗi lầ tính toán (sv) cho đỉnh v có 2 bước:bước 1 là tìm kiếm theo chiều rộng: xác định khoảng cách và sốđường đi ngắn nhất từ s, bước 2: lần ngược lại tất cả các đỉnh đãđược đặt theo thứ tự thăm trong quá trình duyệt theo chiều rộng ởbước 1 có nghĩa là đỉnh ở xa s nhất sẽ được duyệt đầu tiên và tính độphụ thuộc theo công thức (1)

- Lưu ý rằng thuật toán này áp dụng chung cho đồ thị có hướng và vôhướng Với đồ thị vô hướng thì số điểm sẽ được ghi nhận gấp đôi sovới đồ thị có hướng vì mỗi cặp đỉnh được xem xét 2 lần mỗi lần một

Ngày đăng: 10/04/2015, 13:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w