Để hiểu được cấu trúc của các mạng xã hội, mạng tin sinh cỡ lớn, sẽ rất thuận tiện nếu phân tích chúng thành các đơn vị con hay các modul nhỏ hơn. Trong [14], Rosvall - Bergstrom phát triển một nền tảng lý thuyết thông tin cho khái niệm về độ đo modularity trong các mạng. Các tác giả xác định các modul trong mạng bằng cách tìm một phép nén tối ưu cho topology của mạng đó dựa trên cấu trúc của nó. Hình 2.6 dưới đây minh họa một nền tảng cơ bản cho việc phân cụm (xác định các cộng đồng) trong mạng. Chúng ta hình dung quá trình mô tả một mạng phức tạp bằng một bản tóm tắt đơn giản về cấu trúc modul của nó như một quá trình truyền thông. Cấu trúc liên kết của một mạng phức tạp là một biến ngẫu nhiên X, một tín hiệu biết được dạng đầy đủ của mạng X và nhằm mục đích chuyển tải nhiều thông tin hơn tới bộ tiếp nhận tín hiệu trong thời gian ngắn hơn. Để làm được điều này, tín hiệu mã hóa thông tin về X như một mô tả đơn giản Y và gửi đi thông điệp đã được mã hóa này thông qua một kênh truyền thông ít nhiễu. Bộ nhận tín hiệu quan sát thông điệp Y và sau đó sẽ "giải mã" thông điệp này, sử dụng nó để tạo ra các dự đoán Z về cấu trúc của mạng gốc X.
Có nhiều cách khác nhau để mô tả một mạng X bằng một mô tả đơn giản hơn Y. Cách nào trong số này là tốt nhất? Câu trả lời cho câu hỏi này tất nhiên phụ thuộc vào những gì ta muốn làm với mô tả. Tuy nhiên, lý thuyết thông tin cung cấp một câu trả lời chung hấp dẫn cho câu hỏi này. Cho một số tập hợp các mô tả ứng viên Yi, mô tả Y tốt nhất của một biến ngẫu nhiên X là một trong những mô tả nhiều thông tin nhất về X, nghĩa là tối đa hóa thông tin chung I(X;Y) giữa mô tả và mạng.
Do chúng ta quan tâm đến việc xác định cấu trúc các cụm (cộng đồng), chúng ta sẽ khám phá các mô tả Y tổng hợp cấu trúc của mạng X bằng cách liệt kê các cụm hoặc các phân hệ trong X và mô tả các mối quan hệ giữa chúng. Trong [14], các tác giả xem xét một phương pháp cụ thể để mã hóa cấu trúc các cụm của X. Để tổng quát hơn, có thể và nên xem xét các bộ mã hóa khác, để lựa chọn một trong những giải pháp phù hợp nhất cho bài toán.
Một cách trực tiếp để đặt tên cho các nút là sử dụng mã Huffman. Mã Huffman tiết kiệm không gian bằng cách gán từ mã ngắn tới các sự kiện hoặc các đối tượng phổ biến và các từ mã dài cho các đối tượng ít xuất hiện, giống như các ngôn ngữ trên thực tế. Hình 2.7(a) chỉ ra một ví dụ về mã Huffman tiền tố tự do.
(a) Mã Huffman (b): Miêu tả 2 mức Hình 2.7. Ví dụ về mã Huffman [14]
Mỗi từ mã xác định một nút và chiều dài của từ mã nhận được từ tần xuất ghé thăm nút của một bước đi ngẫu nhiên hữu hạn. Với mã Huffman trong hình 2.7(a), ta
có thể miêu tả 71 bước đi ngẫu nhiên bằng 314 bit. Nếu chúng ta thay thế bằng việc chọn một mã đồng nhất, trong đó tất cả các từ mã có cùng chiều dài, mỗi từ mã sẽ có log25 = 5 bit chiều dài và 71x5 = 355 bit để miêu tả bước đi này.
Ta xét một mạng X là đồ thị vô hướng không có trọng số, với kích thước n đỉnh, l liên kết, được biểu diễn bởi ma trận kề như (2.9).
Ta lựa chọn miêu tả: 𝑌 = {𝒂 = ( 𝑎1 .. . 𝑎𝑛) , 𝑴 = ( 𝑙11 ⋯ 𝑙1𝑚 ⋮ ⋱ ⋮ 𝑙𝑚1 ⋯ 𝑙𝑚𝑚 )} (2.16) với m modul, trong đó a là véc tơ chỉ định modul, ai∈{1, 2, ...,m}, và M là ma trận modul. Ma trận modul M = M(X, a) miêu tả cách mà m modul được tạo bởi véc tơ chỉ định modul được kết nối trong mạng thực. Modul i có ni node và kết nối với modul j với lij liên kết (hình 2.6).
Để tìm được chỉ định modul tốt nhất a*, ta cần cực đại hóa thông tin chung trên toàn bộ các chỉ định có thể của các nút trong m modul:
𝑎∗= arg max
𝑎 𝐼(𝑋; 𝑌) (2.17) Theo định nghĩa, thông tin chung I(X; Y) = H(X) - H(X|Y) = H(X) - H(Z), trong đó H(X) là thông tin cần thiết để miêu tả X, và thông tin điều kiện H(X|Y) = H(Z) là thông tin cần thiết để miêu tả X theo Y. Do đó, ta sẽ chuyển bài toán (2.2) sang việc cực tiểu hóa H(Z). Điều này tương đương với việc cấu trúc một véc tơ chỉ định sao cho Z là nhỏ nhất có thể. 𝐻(𝑍) = 𝑙𝑜𝑔 [∏ (𝑛𝑖(𝑛𝑖−1)2 𝑙𝑖𝑖 ) 𝑚 𝑖=1 ∏ (𝑛𝑖𝑛𝑗 𝑙𝑖𝑗 ) 𝑖>𝑗 ] (2.18) Trong đó, các đấu ngoặc đơn biểu thị các tổ hợp chập và logarit tính ở cơ số 2. Mỗi tổ hợp chập trong m tích đầu tiên cho biết số lượng các modul khác nhau có thể được xây dựng với các nút ni và liên kết lii. Mỗi tổ hợp chập trong m(m-1)/2 tích thứ 2 cho biết số cách khác nhau mà modul i và j có thể được kết nối với nhau.
Tiếp theo, các tác giả đi giải quyết các thách thức trong việc lựa chọn một mô hình. Trong một số trường hợp đặc biệt, chúng ta sẽ biết được có bao nhiêu modul tạo thành mạng mẫu, nhưng nói chung, việc xác định các cụm là mô hình hai bước.
Đầu tiên ta cần phải xác định số lượng modul trong mạng, và sau đó chúng ta cần phải phân hoạch các nút vào trong các modul đó. Cả hai việc này đều phải thực hiện đồng thời. Các tác giả đưa ra một giải pháp dựa trên thuật toán lý thuyết thông tin.
Xem lại hình 2.6, bộ mã hóa tìm kiếm một kết quả nén của mạng để bộ giải mã có thể tạo ra ước lượng tốt nhất cho mạng thực tế. Một cách tiếp cận đó là phân vùng mã hóa mạng thành các mudul, mỗi modul cho một nút. Điều này đảm bảo rằng bộ giải mã có thể tái tạo lại mạng một cách đầy đủ, nhưng theo tiếp cận này thì không đạt được lợi ích gì trong việc nén thông tin hay xác định modul. Do đó, bộ mã hóa phải cân bằng lượng thông tin cần thiết để mô tả mạng ở dạng modul, như được cho bởi tín hiệu Y trong hình 2.6. Đây là một bài toán mã hóa tối ưu và có thể giải quyết theo nguyên tắc độ dài mô tả tối thiểu (MDL). Ý tưởng là để khai thác tính chính xác trong cấu trúc của mạng X thực tế để tóm tắt nó ở dạng cô đặc, mà không cần "overfitting" nó.
Hình 2.8: Phân hoạch vào một lượng tối ưu các modul. (A): mạng được cấu thành bởi 40 tạp chí như các nút từ 4 lĩnh vực khác nhau (vật lý, hóa học, sinh học và kinh
tế). 189 liên kết kết nối các nút nếu tối thiểu có một bài báo từ tạp chí này trích dẫn một bài báo từ tạp chí khác. (B): độ dài mô tả tối thiểu cho mạng A đã được phân
Để giảm thiểu độ dài mô tả của mạng X ban đầu, tác giả tìm kiếm số modul giảm thiểu độ dài của mô tả modul cộng với độ dài mô tả điều kiện, trong đó độ dài mô tả có điều kiện là số lượng thông tin bổ sung có thể cần phải xác định chính xác X đến người nhận đã giải mã mô tả Y. Tức là, tìm cách cực tiểu hóa tổng:
L(Y) + L(X|Y) (2.19) trong đó L(Y) là chiều dài tính theo bit của tín hiệu, và L(X|Y) là số lượng bit cần thiết để xác định mạng bởi tín hiệu Y một cách đáng tin cậy. Chiều dài mô tả dễ dàng tính toán trong trường hợp rời rạc như sau:
L(Y) + L(X|Y) = 𝑛𝑙𝑜𝑔𝑚 +1
2𝑚(𝑚 + 1)𝑙𝑜𝑔𝑙 + 𝐻(𝑍) (2.20) trong đó số hạng thứ nhất và thứ hai đưa ra kích thước cần thiết để mã hóa véc tơ chuyển đổi a và ma trận modul M(X, a), và H(Z) được xác định theo công thức (2.18). Trong hình 2.8 B chỉ ra chiều dài mô tả với mạng tạp chí được phân hoạch vào từ 1 tới 5 modul. Với phân hoạch 4 modul cho ta chiều dài mô tả tối thiểu, và tương ứng với phân hoạch chỉ ra trong hình 2.8 A.
Vậy có thể tóm tắt các bước của thuật toán như sau:
Bước 1: Với mạng đầu vào X biểu diễn bởi ma trận kề, có l liên kết, ta lựa
chọn một miêu tả: 𝑌 = {𝒂 = ( 𝑎1 .. . 𝑎𝑛) , 𝑴 = ( 𝑙11 ⋯ 𝑙1𝑚 ⋮ ⋱ ⋮ 𝑙𝑚1 ⋯ 𝑙𝑚𝑚 )}.
Bước 2: Tính toán thông tin cần thiết để miêu tả X theo Y:
𝐻(𝑍) = 𝑙𝑜𝑔 [∏ ( 𝑛𝑖(𝑛𝑖− 1) 2 𝑙𝑖𝑖 ) 𝑚 𝑖=1 ∏ (𝑛𝑖𝑛𝑗 𝑙𝑖𝑗 ) 𝑖>𝑗 ] Bước 3: Tính chiều dài mô tả X:
L(Y) + L(X|Y) = 𝑛𝑙𝑜𝑔𝑚 +1
2𝑚(𝑚 + 1)𝑙𝑜𝑔𝑙 + 𝐻(𝑍)
Bước 4: Lặp lại từ bước 1 đến 3 cho đến khi nào L(Y) + L(X|Y) không thể giảm thêm được nữa (L(Y) + L(X|Y) là cực tiểu).
Kết quả: ta thu được số cụm là số modul m, xác định mỗi nút thuộc vào cụm nào thông qua véc tơ chỉ định modul a, chất lượng phân cụm là chiều dài tối thiểu của từ mã biểu diễn X.