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

(Luận văn) mô hình đồ thị và ứng dụng đối với bài toán cộng đồng trên mạng xã hội

59 1 0

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG lu an n va LUẬN VĂN THẠC SĨ gh tn to p ie ĐỀ TÀI d oa nl w Mơ hình đồ thị ứng dụng toán cộng đồng mạng xã hội ll u nf va an lu oi m z at nh Giáo viên hướng dẫn : TS Vũ Vinh Quang : Hoàng Văn Dũng Lớp : Cao học K17 z Học viên m co l gm @ an Lu n va Thái Nguyên, tháng năm 2020 ac th si LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn chân thành sâu sắc tới thầy Vũ Vinh Quang, người trực tiếp hướng dẫn tận tình đóng góp ý kiến q báu suốt trình em làm luận văn tốt nghiệp Tiếp theo em xin gửi lời cảm ơn đến đến thầy cô giáo trường Đại học Công nghệ Thông tin Truyền thông - Đại học Thái Nguyên, tận tâm truyền đạt kiến thức quý báu làm tảng để em hoàn thành luận văn Học Viên lu an n va Hoàng Văn Dũng p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si LỜI CAM ĐOAN Tôi xin cam đoan mơ hình đồ thị ứng dụng toán cộng đồng mạng xã hội trình bày luận văn tơi thực hướng dẫn thầy Vũ Vinh Quang Tất tham khảo từ nghiên cứu liên quan nêu nguồn gốc cách rõ ràng từ danh mục tài liệu tham khảo luận văn Trong luận văn khơng có việc chép tài liệu, cơng trình nghiên cứu người khác mà khơng rõ tài liệu tham khảo lu Thái Nguyên, ngày tháng năm 2020 an n va Học viên p ie gh tn to d oa nl w Hoàng Văn Dũng ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si MỤC LỤC LỜI MỞ ĐẦU…………………………………………………………………… …….……1 Chƣơng 1: MỘT SỐ KIẾN THỨC CƠ BẢN VỀ MƠ HÌNH ĐỒ THỊ……………………3 Một số khái niệm ………… ………………………………… …………………… Định nghĩa đồ thị…………… …………………………………………………………… Các thuật ngữ bản………………… ………………………………………………………4 Đường đi, chu trình Đồ thị liên thơng………………… ………… ….……………….…5 Một số phƣơng pháp mô tả đồ thị…………… …………………………………… ….… Cấu trúc ma trận kề ……………….………………………………………… ….… Cấu trúc danh sách kề…………………………………………………………….……………7 lu Một số thuật toán đồ thị…………………… ……………………………….…………8 an n va Các thuật toán duyệt đồ thị……………….…………………………………………….…………8 tn to Bài toán khung nhỏ nhất………… ……………….………………………….…… …… ie gh Bài toán xác định đường ngắn nhất…………………………………………….… ….…….12 p Kết luận chương 1……….………………………………………………………… …… 15 nl w Chƣơng 2: MƠ HÌNH MẠNG XÃ HỘI VÀ BÀI TOÁN CỘNG ĐỒNG………… ……17 oa Khái niệm toán cộng đồng………………….…………………………….…………17 d Một số độ đo đồ thị…… ………………………………………………………………18 lu va an Độ đo trung tâm đỉnh……………… ……………………………………….….…… 18 Độ đo trung gian đỉnh……………………………………………………………………19 u nf ll Độ đo gần theo khoảng cách trắc địa……….………… ………………………21 oi m Độ đo trung tâm đồ thị…………………….………………………… ………………………22 z at nh Độ đo trung gian cạnh…………………………………………… ……………….……22 Độ trung tâm véc tơ đặc trưng………………………………………… ……………….….25 z gm @ Thuật toán phát cộng đồng………… ……………………………………….… … 26 Giới thiệu họ thuật toán Girvan Newman……………….………………….… …27 l Giới thiệu thuật toán CONGA………………………………….……………… ………28 m co Kết luận chương 2……….……………………………………………………… … …… 33 an Lu Chƣơng 3: MỘT SỐ KẾT QUẢ THIẾT KẾ VÀ THỰC NGHIỆM CÁC THUẬT TOÁN Xác định độ đo trung tâm đỉnh…………………….………………………………….34 va n Xác định độ đo trung gian đỉnh…………………….………………………… ….….35 ac th si Xác định độ đo trung gian cạnh………………… ……………………………… ….36 Kết luận chương 3……….……………………………………………………… … …… 41 TÀI LIỆU THAM KHẢO………………………………………………………………… 42 lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si DANH SÁCH CÁC HÌNH VẼ Hình 1.1: (a) Một đồ thị vô hướng; …………………… ………………………………………6 (b) Biểu diễn ma trận kề;……………………….………………………………………6 (c) Biểu diễn danh sách kề…………………….….……………………………………6 Hình 1.2: (a) Một đồ thị có hướng; ………………….….…………………………… …………7 (b) Ma trận kề: ………………….….……………………………………… …………7 (c) Biểu diễn danh sách kề ……………….….…………………………… …………7 Hình 1.3: (a) Đồ thị trọng số; ……………….….………….………………………… …………7 lu an (b) Ma trận kề: …………………………….….…………………………… …………7 n va (c) Danh sách kề.……………….….…………………………….………… …………7 Duyệt theo chiều rộng BFS…………………………………………….………….9 gh tn to Hình 1.4: Hình 2.1: ie p Hai đỉnh v2, v5 hạng đỉnh cịn lại hạng 2……………………… 19 w Hình 2.2: d Hình 2.3: oa nl Ví dụ trường hợp không phân tách đỉnh v đồ thị……………… …………….30 lu u nf va Hình 2.4: an Ví dụ phép phân chia đỉnh đồ thị………………… … …… ……… 31 Tìm phép phân chia tối ưu……………………………………….…………… ……32 ll oi m Hình 3.1: Độ đo trung tâm đỉnh đồ thị ………… ………………… ….35 Hình 3.2: Đồ thị G vơ hướng …………………………………… ………………………….36 z at nh Hình 3.3……………………………………………………………………………………….40 z m co l gm @ an Lu n va ac th si MỞ ĐẦU Mơ hình đồ thị mơ hình cấu trúc liệu kinh điển tin học, mơ hình này, thường quan tâm đến việc mô tả cấu trúc máy tính điện tử thuật tốn tìm kiếm, tối ưu mơ hình Có thể nói việc nghiên cứu ứng dụng mơ hình đồ thị thực tế lĩnh vực vô rộng lớn có ý nghĩa thực tế cao Đa số nguồn liệu biểu diễn dạng cấu trúc liệu đồ thị, thí dụ liệu mạng internet, mạng xã hội, cấu trúc protein, hợp chất hóa học, quy trình chương trình…Cấu trúc đồ thị đánh giá cấu trúc có tính bao qt mơ tả đối tượng so với cấu trúc tuần tự, cây, mạng ngữ nghĩa…và dựa cấu trúc thiết kế nhiều thuật tốn giải nhiều tốn có độ tính tốn phức tạp cao Mỗi liệu lớn hệ thống lu an mạng biểu diễn dạng đồ thị mối quan hệ chúng theo n va liên kết kết nối vật lý; kết nối mạng lớp mạng; mối quan hệ tn to mạng xã hội; siêu liên kết trang web tương tác phức tạp thực thể Các đồ thị chứa đựng thông tin giá trị cho việc ứng dụng vào hệ thống gh p ie mạng phát từ cộng đồng, điểm chung; phân lớp; tìm kiếm mạng; hệ thống đưa theo thứ tự đó; độ tin cậy uy tín; tìm kiếm nl w lấy liệu từ điểm đến điểm Để đưa liệu xét vào dạng đồ thị, d oa cần phải định nghĩa ma trận mô tả cấu trúc tổng thể đồ thị; định nghĩa an lu ma trận mô tả mẫu đặc trưng giao tiếp bên đồ thị phải tìm va cấu trúc có tính đặc trưng cộng đồng mạng; hiểu rõ mơ hình việc lấy từ ll u nf đồ thị; phát triển ứng dụng thuật toán hiểu để khai thác liệu oi m hệ thống mạng Nhiều liệu có cấu trúc biểu diễn mạng, z at nh tập hợp đỉnh nối với theo cặp liên kết, mạng sinh học, hợp tác nhà nghiên cứu,… Đặc điểm quan trọng gắn kết mạng lại z với cấu trúc cộng đồng, có nhóm có mật độ kết nối mạnh gm @ đỉnh nhóm kết nối yếu nhóm Do đó, việc xác định cộng l đồng xem việc tìm kiếm cụm đỉnh phân nhóm Một cộng đồng m co nhóm thực thể dùng chia sẻ tài sản tương tự kết nối với thông qua mối quan hệ lựa chọn Việc xác định kết nối định vị an Lu thực thể cộng đồng khác coi mục tiêu nghiên cứu n va phát cộng đồng Bằng trực quan dễ dàng tìm nhóm cộng đồng có ac th si độ tập trung cao, cộng đồng hình thành mối liên hệ chặt chẽ dễ thấy số cộng đồng hình thành dạng ẩn Điều quan trọng phải tìm phân phối cạnh đỉnh, từ phát đưa cộng đồng tồn bên mạng xã hội Như vậy, khai phá liệu đồ thị phát cấu trúc cộng đồng mạng xã hội lĩnh vực nghiên cứu hấp dẫn nhà khoa học quan tâm nghiên cứu Xuất phát từ đồ thị mạng xã hội, người ta tìm cụm, nhóm cộng đồng có mối liên hệ chặt chẽ với nhau, từ phát tìm đặc tính cấu trúc mạng Mục tiêu luận văn đặt nghiên cứu đặc trưng mơ hình đồ thị, số thuật tốn tìm kiếm tối ưu mơ hình đồ thị Khái niệm lu tốn cộng đồng số thuật toán xác định cộng đồng mạng xã hội Dự kiến nội dung báo cáo luận văn gồm: Phần mở đầu, chương chính, phần kết luận, tài liệu tham khảo, phụ lục Bố cục trình bày sau: an n va tn to Phần mở đầu: Nêu lý chọn đề tài hướng nghiên cứu luận văn Chƣơng 1: Trình bày tổng quan mơ hình đồ thị bao gồm: Các khái niệm bản, gh p ie phương pháp mơ tả đồ thị, thuật tốn duyệt đồ thị trọng tâm thuật w toán xác định đường ngắn đồ thị [1, 2, 3, 4, 6, 7] d oa nl Chƣơng Trình bày khái niệm mơ hình mạng xã hội tốn cộng đồng bao gồm: Tổng quan mạng xã hội, khái niệm độ đo đỉnh độ đo cạnh, thuật toán tương ứng Khái niệm cộng đồng số thuật toán xác định cộng đồng, Họ thuật toán Girvan_Newman, thuật toán CONGA[5, 8, 9] va an lu ll u nf Chƣơng Đưa số kết cài đặt thuật toán: thuật toán xác định độ đo đỉnh, thuật toán xác định độ đo cạnh, thuật toán xác định cộng đồng m oi Các kết cài đặt thuật tốn thực mơi trường Matlab version 7.0 z at nh z m co l gm @ an Lu n va ac th si Chƣơng MỘT SỐ KIẾN THỨC CƠ BẢN VỀ MƠ HÌNH ĐỒ THỊ Nội dung chương đưa khái niệm lý thuyết đồ thị, thuật tốn mơ hình đồ thị Các kiến thức tham khảo tài liệu [1] [2] 1.1 Một số khái niệm [1] 1.1.1 Định nghĩa đồ thị Đồ thị cấu trúc rời rạc bao gồm đỉnh cạnh nối đỉnh này, loại đồ thị khác phân biệt kiểu số lượng cạnh nối hai đỉnh đồ thị Giả sử V tập hữu hạn, không rỗng phần tử Bộ G = (V,E) gọi lu đồ thị hữu hạn Mỗi phần tử V gọi đỉnh phần tử u = (x,y) E an gọi cạnh đồ thị G = (V,E) va n Xét cạnh u E tồn hai đỉnh x, y V cho u = (x,y), ta nói tn to x nối với y x y phụ thuộc u ie gh  Nếu cạnh u = (x,y) mà x y hai đỉnh phân biệt ta nói x, y hai đỉnh kề p w  Nếu u = (x,x) u cạnh có hai đỉnh trùng ta gọi khuyên oa nl  Nếu u = (x,y) mà x, y cặp đỉnh có phân biệt thứ tự hay có hướng từ x đến y d u cung, x gốc cịn y x đỉnh vào, y đỉnh lu va an  Khi cặp đỉnh (x,y) có nhiều cạnh ta nói cạnh u nf cặp đỉnh cạnh song song cạnh bội ll Trong thực tế ta gặp nhiều vấn đề mà dùng mơ hình đồ thị để biểu m oi diễn, sơ đồ mạng máy tính, sơ đồ mạng lưới giao thông, sơ đồ thi công công z at nh trình Định nghĩa Đơn đồ thị vơ hướng G = (V,E) bao gồm V tập đỉnh E z @ tập cặp thứ tự gồm hai phần tử khác V gọi cạnh l gm Định nghĩa Đa đồ thị vô hướng G = (V,E) bao gồm V tập đỉnh, E họ cặp khơng có thứ tự gồm hai phần tử khác V gọi cạnh Hai m co cạnh e1 e2 gọi cạnh lặp chúng tương ứng với cặp đỉnh an Lu Rõ ràng đơn đồ thị đa đồ thị, đa đồ thị đơn đồ thị, đa đồ thị có hai (hoặc có nhiều hơn) cạnh nối cặp đỉnh n va ac th si Định nghĩa Giả đồ thị vô hướng G = (V,E) bao gồm V tập đỉnh, E họ cặp khơng có thứ tự (khơng thiết phải khác nhau) V gọi cạnh Cạnh e gọi khuyên có dạng e = (u,u) Định nghĩa Đơn đồ thị có hướng G = (V,E) bao gồm V tập đỉnh E cặp có thứ tự gồm hai phần tử khác V gọi cung Nếu mạng có đa kênh thoại chiều, ta phải sử dụng đến khái niệm đa đồ thị có hướng: Định nghĩa Đa đồ thị có hướng G = (V,E) bao gồm V tập đỉnh E họ cặp có thứ tự gồm hai phần tử khác V gọi cung Hai cung e1, e2 tương ứng với cặp đỉnh gọi cung lặp Trong phần tử chủ yếu làm việc với đơn đồ thị vô hướng lu an đơn đồ thị có hướng Vì vậy, để ngắn gọn, ta bỏ qua tính từ đơn nhắc đến n va chúng Định nghĩa Hai đỉnh u v đồ thị vô hướng G gọi kề gh tn to 1.1.2 Các thuật ngữ p ie (u,v) cạnh đồ thị G Nếu e = (u,v) cạnh đồ thị ta nói cạnh liên thuộc với hai đỉnh u v, nói cạnh e nối đỉnh u đỉnh v, đồng thời nl w đỉnh u v gọi đỉnh đầu cạnh (u,v) d oa Định nghĩa Ta gọi bậc đỉnh v đồ thị vô hướng số cạnh liên thuộc an lu với ký hiệu deg(v) va Định nghĩa Nếu e = (u,v) cung đồ thị có hướng G ta nói hai đỉnh u u nf v kề nhau, nói cung (u,v) nối đỉnh u với đỉnh v nói cung ll khỏi đỉnh u vào đỉnh v Đỉnh u(v) gọi đỉnh đầu(cuối) cung (u,v) m oi Định nghĩa Ta gọi bán bậc (bán bậc vào) đỉnh v đồ thị có hướng z at nh số cung đồ thị khỏi (đi vào nó) ký hiệu deg+(v)(deg-(v)) z 1.1.3 Đường đi, chu trình Đồ thị liên thơng gm @ Định nghĩa 10 Đường độ dài n từ đỉnh u đến đỉnh v, n số nguyên l dương, đồ thị vô hướng G = (V,E) dãy x0, x1,…, xn-1, xn u = x0, v = xn, cạnh: (x0,x1), (x1,x2),…, (xn-1,xn) m co (xi, xi+1)  E, i = 0,1,2,…, n-1 Đường nói cịn biểu diễn dạng dãy an Lu Đỉnh u gọi đỉnh đầu, đỉnh v gọi đỉnh cuối đường Đường có đỉnh n va đầu trùng với đỉnh cuối (tức u = v) gọi chu trình Đường hay chu trình ac th si 0 Hình 3.1: Độ đo trung tâm đỉnh đồ thị lu an Sử dụng cấu trúc danh sách cạnh, G mơ tả véc tơ n va Soure = [1; 8; 1; 2; 1; 3; 2; 8; 2; 3; 3; 5; 10; 7; 10; 6; 9; 8; 10; 9; 4; 10; 10; 5]; to Tanget= [8; 1; 2; 1; 3; 1; 8; 2; 3; 2; 5; 3; 7; 10; 6; 10; 8; 9; 9; 10; 10; 4; 5; 10]; gh tn Kết xác định bậc đỉnh thực thuật toán 3.1 sau p ie Đỉnh 10 3 1 3 oa Nhận xét nl w Độ đo d + Thuật toán 3.1 xác định xác độ đo trung tâm đồ thị vô hướng, với an lu độ phức tạp O(n ) Thuật toán chi tiết mô tả phần phụ lục va ll m phần sau u nf + Thuật toán làm sở để thiết kế thuật toán xác định cộng đồng oi 3.2 Xác định độ đo trung gian đỉnh z at nh Xuất phát từ định nghĩa độ đo trung gian đỉnh, sử dụng thuật toán Floyd để xác định tất đường ngắn cặp đỉnh từ xác định đường z gm @ có qua đỉnh thứ k để xác định bậc trung gian tương ứng Từ việc xác định độ đo trung gian tất đỉnh đồ thị G mơ tả thuật tốn sau đây: l m co Thuật toán 3.2 (Xác định độ đo trung gian đỉnh) Input : G = (V, E) mô tả ma trận trọng số C với trọng số cạnh =1 n va BEGIN an Lu Output: D=(d(1),d(2),…,d(n)) độ đo trung gian đỉnh ac th 44 si For k=1 to n Begin D(k)=0; For i=1 to n For j=1 to n Begin + Xác định đường ngắn (i,j) kí hiệu L(i,j) + If j if or(i==k,j==k) %diem dau hoac diem cuoi qua dinh k trong_so(k)=trong_so(k)+1; thanh_vien(k,i)=i; ok=true; else vet=j; while not(P(i,vet)==i) vet=P(i,vet); if vet==k trong_so(k)=trong_so(k)+1; thanh_vien(k,i)=i; ok=true; end; end; end; end; if ok %ton tai duong di qua dinh k vet=j; muc_do(k,vet)=muc_do(k,vet)+1; if P(i,vet)==i muc_do(k,i)=muc_do(k,i)+1; else while not(P(i,vet)==i) vet=P(i,vet); muc_do(k,vet)=muc_do(k,vet)+1; end; muc_do(k,i)=muc_do(k,i)+1; end; end; end; end; end; trong_so thanh_vien muc_do Thuật toán xác định độ đo trung gian cạnh d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va function cong_dong_canh_1=thuat_toan_33(thuat_toan_33.m) % xac dinh so cua canh % so cac duong di ngan nhat di qua canh ac th 53 si lu an n va p ie gh tn to % Muc phu thuoc cua cac dinh clc; load d:\hien_trinh\data; n=length(A); M=n*(n-1)/2; muc_do=zeros(n,M); trong_so=zeros(1,M); canh=zeros(1,2); for i=1:n for j=1:n D(i,j)=A(i,j); P(i,j)=i; end; end; for r=1:n for i=1:n for j=1:n if D(i,j)>D(i,r)+D(r,j) D(i,j)=D(i,r)+D(r,j); P(i,j)=P(r,j); end; end; end; end; % tinh bac cua canh m=0; for k=1:n-1 for l=k+1:n m=m+1; if A(k,l)0,trong_so(m)

Ngày đăng: 21/07/2023, 08:57

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w