1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo mạng xã hội cài đặt chương trình tính degree cluster coefficient

8 0 0
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cài đặt chương trình tính Degree & Cluster coefficient
Tác giả Tưởng Ngọc Quốc Bình, Huỳnh Văn Công
Người hướng dẫn PGS.TS. Đỗ Phúc, Nguyễn Thị Anh Thư
Trường học ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo
Năm xuất bản 2016
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 8
Dung lượng 161,39 KB

Nội dung

Trong đồ thị ví dụ: các đỉnh 1 và 3 có bậc là 2, các đỉnh 2, 4 và 5 có bậcbằng 3, đỉnh 6 có bậc 1.1.2 Ứng dụng: Bậc của đồ thị cho biết số láng giềng xung quanh của một nút trong mạng,từ

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÁO CÁOMẠNG XÃ HỘI

Cài đặt chương trình tínhDegree & Cluster coefficient

Giảng viên hướng dẫn: PGS.TS.Đỗ Phúc

Nguyễn Thị Anh Thư Sinh viên thực hiện:

1.Tưởng Ngọc Quốc Bình135200502.Huỳnh Văn Công 14520096 Lớp: IS353.G12

TP Hồ Chí Minh, tháng 1 năm 2016

Trang 2

1.1 Cấu trúc dữ liệu Degree 4

1.2 Cấu trúc dữ liệu Clustering coefficient 5

Trang 3

Trong đồ thị ví dụ: các đỉnh 1 và 3 có bậc là 2, các đỉnh 2, 4 và 5 có bậcbằng 3, đỉnh 6 có bậc 1.

1.2 Ứng dụng:

Bậc của đồ thị cho biết số láng giềng xung quanh của một nút trong mạng,từ đây ta có thể tính được nhiều thông số giúp phân tích đồ thị như:Clustering coefficient, clique

Tưởng Ngọc Quốc Bình 13520050ng Ng c Qu c Bình 13520050ọc Quốc Bình 13520050ốc Bình 13520050Huỳnh Văn Công 14520096Page 1

Trang 4

2 Clustering coefficient ( hệ số cụm ) :

2.1 Định nghĩa:

Hệ số phân nhóm là thước đo mức độ mà các nút trong một đồ thị có xuhướng chụm lại với nhau Bằng chứng cho thấy rằng trong hầu hết cácmạng thế giới thực, và đặc biệt là các mạng xã hội, các nút có xu hướngtạo ra các nhóm đan chặt đặc trưng bởi một mật độ tương đối cao của cácmối quan hệ; khả năng này thường phải lớn hơn xác suất trung bình củamột tie lập ngẫu nhiên giữa hai nút

 Công thức tính hệ số phân nhóm là:

Trong công thức này, một bộ ba kết nối được định nghĩa là một đồ thịcon kết nối bao gồm ba đỉnh và hai cạnh Như vậy, mỗi tam giác tạothành ba ba kết nối, giải thích các yếu tố của ba trong công thức Mộtkhái quát đến các mạng trọng đã được đề xuất bởi Opsahl và Panzarasa(2009), [5] và một định nghĩa lại để hai chế độ mạng (cả nhị phân vàtrọng số) của Opsahl (2009)

Trang 5

Ví dụ: hình bên

CC(i)=1

Ví dụ hệ số phân nhóm cục bộ trên một đồ thị vô hướng Hệ số phânnhóm của nút màu xanh được tính là tỷ lệ của các kết nối giữa các nướcláng giềng mà đang thực sự nhận ra so với số lượng của tất cả các kếtnối có thể Trong hình, các nút màu xanh có ba người hàng xóm, trongđó có thể có tối đa là 3 kết nối giữa chúng

2.2 Ứng dụng:

Nếu bậc lớn thì có nhiều bạn, hệ số cụm phản ánh mức độ của vùngláng giềng và các láng giềng này có quan hệ với nhau Từ các chỉ sốtrên về hệ số cụm ta có thể biết được mối quan hệ trong xã hội có thựcsự bền vững hay không Ứng dụng trên thực tế cho thấy, ví dụ: ViệtNam đưa mục tiêu là phải có mối quan hệ tốt với Nga và Hoa kỳ, dựavào chỉ số phân tích này liệu có được không khi mối quan hệ giữa Ngavà Hoa kỳ là thù địch với nhau.Vì thế ứng dụng của chỉ số Clusteringcoefficient là rất hữu ích trong thực tế

Tưởng Ngọc Quốc Bình 13520050ng Ng c Qu c Bình 13520050ọc Quốc Bình 13520050ốc Bình 13520050Huỳnh Văn Công 14520096Page 3

Trang 6

II Hiện thực chương trình :

1 Cấu trúc dữ liệu.

1.1 Cấu trúc dữ liệu Degree.

 Ý tưởng thuật toán

 Khởi tạo degree của mỗi nút mang giá trị 0

 Dùng 1 vòng lặp để kiểm tra trên ma trận kề theo từng dòng củatừng nút nếu gặp giá trị khác 0 thì ta tăng giá trị degree của nút đólên 1

 Chạy 1 vòng lặp để tính tất cả các nút

 Độ phức tạp : n²

 Code:

 CODE : public int DegreeCount(int x, string[,] matrix) {

int count = 0; int rong = matrix.GetLength(1); for (int i = 0; i < rong; i++) {

if (matrix[x, i].CompareTo("0") != 0 && x != i) count++;

} return count; }

Trang 7

 Ý tưởng thuật toán : Tạo mảng dinhke[] là danh sách các nút mà nút i liên kết với độ lớn

tương ứng là degree[i]. Khởi tạo cluster của nút cần tính bằng 0  Khởi tạo biến d bằng 0 để đếm số liên kết của các nút liền kề. Dùng 2 vòng lặp từ 0->Degree(của nút cần tính) để xét từng cặp

đỉnh trong danh sách các nút liên kết với nút cần tính Nếu gặp 2nút dinhke[i],dinhke[j] có giá trị khác 0 ở ma trận kề (maxtri) thì tatăng biến d lên 1

 Trả về giá trị (0.5 * (d*(deg-1)) / deg)  Chạy 1 vòng lặp để tính tất cả các nút. Độ phức tạp : n³

Tưởng Ngọc Quốc Bình 13520050ng Ng c Qu c Bình 13520050ọc Quốc Bình 13520050ốc Bình 13520050Huỳnh Văn Công 14520096Page 5

Trang 8

 Code:public double Cluster( int node, string[,] matrix) {

int[] dinhke = new int[matrix.GetLength(1)]; int count = 0;

int deg = DegreeCount(node, matrix); if (deg == 0)

return 0; for (int x = 0; x < matrix.GetLength(1); x++) {

if (matrix[node, x].CompareTo("0") != 0) dinhke[count++] = x;

} int d = 0; for (int i = 0; i < deg - 1; i++) {

for (int j = i + 1; j < deg; j++) {

if (matrix[dinhke[i], dinhke[j]].CompareTo("0") != 0) {

d++; }

} } return (0.5 * (d*(deg-1)) / deg);

Ngày đăng: 31/08/2024, 15:31

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

TÀI LIỆU LIÊN QUAN

w