Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 84 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
84
Dung lượng
1,92 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG PHẠM THỊ LIÊN BÀI TỐN ĐỒ THỊ CON ĐẲNG CẤU TRONG KHAI PHÁ DỮ LIỆU ĐỒ THỊ VÀ ỨNG DỤNG PHÁT HIỆN ĐỒ THỊ CON PHỔ BIẾN LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Thái Nguyên - 2020 LỜI CAM ĐOAN Tôi xin cam đoan luận văn tự thân tơi tìm hiểu, nghiên cứu hướng dẫn PGS TS Đoàn Văn Ban Các chương trình thực nghiệm thân tơi lập trình, kết hồn tồn trung thực Các tài liệu tham khảo trích dẫn thích đầy đủ TÁC GIẢ LUẬN VĂN Phạm Thị Liên LỜI CẢM ƠN Tôi xin bày tỏ lời cảm ơn chân thành tới tập thể thầy cô giáo Viện công nghệ thông tin – Viện Hàn lâm Khoa học Công nghệ Việt Nam, 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 dạy dỗ chúng tơi suốt q trình học tập chương trình cao học trường Đặc biệt tơi xin bày tỏ lịng biết ơn sâu sắc tới thầy giáo PGS.TS Đoàn Văn Ban quan tâm, định hướng đưa góp ý, chỉnh sửa q báu cho tơi q trình làm luận văn tốt nghiệp Cũng bạn bè, đồng nghiệp, gia đình người thân quan tâm, giúp đỡ chia sẻ với suốt q trình làm luận văn tốt nghiệp Dù có nhiều cố gắng chắn không tránh khỏi thiếu sót mong nhận đóng góp ý kiến thầy, bạn để luận văn hồn thiện Tơi xin chân thành cảm ơn! Thái Nguyên, tháng 08 năm 2020 Phạm Thị Liên MỤC LỤC Trang MỞ ĐẦU .1 CHƯƠNG 1: KHAI PHÁ ĐỒ THỊ .3 1.1 Cấu trúc đồ thị 1.2 Các dạng biểu diễn cấu trúc liệu đồ thị 1.2.1 Danh sách liên thuộc 1.2.2 Danh sách liền kề 1.2.3 Ma trận liên thuộc .8 1.2.4 Ma trận liền kề 1.2.5 Dạng tắc đồ thị 10 1.3 Các kỹ thuật khai phá đồ thị 14 1.3.1 Phát cấu trúc cộng đồng mạng xã hội .15 1.3.2 Khai phá đồ thị thường xuyên đóng 19 1.4 Tổng kết chương 20 CHƯƠNG 2: BÀI TOÁN ĐỒ THỊ ĐẲNG CẤU VÀ KHAI PHÁ ĐỒ THỊ CON PHỔ BIẾN 21 2.1 Bài toán đồ thị đẳng cấu 21 2.2 Thuật toán kiểm tra đồ thị đẳng cấu 24 2.2.1 Thuật tốn Dijsktra tìm đường ngắn 24 2.2.2 Thuật tốn tính khoảng cách d(u, v) đồ thị phụ thêm đồ thị kết đôi 24 2.2.3 Thuật toán xác ma trận dấu dạng tắc 25 2.2.4 Thuật toán xếp đỉnh hai đồ thị để kiểm tra tính đẳng cấu chúng dựa vào dạng tắc 26 2.2.5 Một số tính chất đồ thị đẳng cấu 26 2.3 Bài toán đẳng cấu đồ thị SGI 30 2.3.1 Một số khái niệm sở ký hiệu 31 2.3.2 Cây định đồ thị 32 2.3.3 Thuật toán xây dựng định .36 2.4 Khai phá đồ thị phổ biến 40 2.4.1 Cây đồ thị dạng tắc 40 2.4.2 Phép kết nối N-Join hai đồ thị 41 2.4.3 Phép N-Extension .43 2.5 Thuật toán FFSM cho khai phá đồ thị phổ biến CSDL đồ thị 44 2.6 Kết luận chương 47 CHƯƠNG THỬ NGHIỆM VÀ ĐÁNH GIÁ 48 3.1 Dữ liệu môi trường thử nghiệm 48 3.1.1 Bộ liệu thử nghiệm 48 3.1.2 Môi trường thử nghiệm 49 3.2 Cài đặt thử nghiệm thuật tốn tìm kiếm tra đồ thị đẳng cấu .50 3.2.1 Mô tả yêu cầu toán kiếm tra đồ thị đẳng cấu 50 3.2.2 Kết thử nghiệm 50 3.3 Thử nghiệm thuật toán FFSM cho khai phá đồ thị phổ biến 53 3.3.1 Mơ tả u cầu tốn khai phá đồ thị phổ biến .53 3.3.2 Phân tích đánh giá kết 53 3.4 Kết luận chương 55 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56 TÀI LIỆU THAM KHẢO 57 THUẬT NGỮ VÀ TỪ VIẾT TẮT Ca non C C o ấ G Fa st G r Bài toán Viện S u b G DANH MỤC CÁC HÌNH VẼ Hình 1.1 Các đồ thị vơ hướng có hướng Hình 1.2 Hợp hai đồ thị .5 Hình 1.3 G1’ phần bù G1 Hình 1.4 Danh sách liên thuộc đồ thị Hình 1.5 Đồ thị vơ hướng Hình 1.6 Biểu diễn danh sách liền kề đồ thị hình 1.5 Hình 1.7 Ma trận liên thuộc đồ thị vô hướng Hình 1.8 Ma trận liền kề đồ thị ví dụ 1.6 Hình 1.9 Các đồ thị cực đại .11 Hình 1.10 Mạng lưới cộng tác nhà khoa học làm việc SFI [1] 17 Hình 2.1 Các phần tử hàng - cột ma trận liền kề .33 Hình 2.2 Cây định để phân lớp ma trận liền kề G 34 Hình 2.3 Cấu trúc từ điển mục cho định 35 Hình 2.4 Cây định G G’ 35 Hình 2.5 Cây định compact để phân lớp ma trận liền kề {A, B, …, F} {A’, B’, …, F’} đồ thị G G’ .37 Hình 2.6 Hai phép tốn N-Join va N-Extension 43 Hình 3.1 Mô tả cấu trúc liệu thử nghiệm với kho gồm đồ thị 48 Hình 3.2 Bộ liệu đơn giản thử nghiệm thuật toán kiểm tra đồ thị đẳng cấu .51 Hình 3.3 Kết đồ thị đẳng cấu với liệu đơn giản 51 Hình 3.4 Kết đồ thị đẳng cấu với đồ thị target có kích thước lớn 52 Hình 3.5 Ví dụ không tồn đẳng cấu đồ thị 52 Hình 3.6 Thời gian chạy thuật toán FFSM liệu 10000 đồ thị 53 Hình 3.7 Số đồ thị tìm ứng với độ hộ trợ tối thiểu khác liệu 10.000 đồ thị 54 DANH MỤC CÁC BẢNG Bảng 3.1 Thông tin phần cứng sử dụng thử nghiệm 49 Bảng 3.2 Tổng hợp kết chạy thuật toán FFSM liệu 54 MỞ ĐẦU Lý chọn đề tài Khai phá liệu lĩnh vực nhiều người tập trung nghiên cứu phát triển nhiều ứng dụng phổ biến Trong đó, tốn khai phá đồ thị thường xuyên thu hút nhiều quan tâm nghiên cứu phạm vi ứng dụng quan trọng nhiều lĩnh vực khác tin-sinh (bioinformatics), tinhóa (cheminformatics) khai thác đăng nhập trang web, lập mục video, hay lập mục sở liệu hiệu quả, Vấn đề khai phá mẫu thường xuyên từ tập liệu đối tượng với ngưỡng độ hỗ trợ tối thiểu minsup Dữ liệu đa dạng từ liệu nhị phân, liệu số nguyên, số thực liệu có cấu trúc phức tạp cấu trúc cây, đồ thị, … Cho đến chưa có lời giải hiệu cho tốn độ phức tạp toán lớn đồ thị có số đỉnh lớn mật độ cạnh dày Tuy nhiên, phức tạp vấn đề giảm sở liệu (CSDL) đồ thị có thêm thơng tin đỉnh cạnh gán nhãn Có thể sử dụng nhãn để hạn chế đỉnh tạo thành cặp trình kiểm tra đẳng cấu đồ thị Và lý em lựa chọn đề tài “Bài toán đồ thị đẳng cấu khai phá liệu đồ thị ứng dụng phát đồ thị phổ biến” để nghiên cứu làm luận văn thạc sĩ Mục đích nghiên cứu Nghiên cứu thuật tốn đẳng cấu đồ thị thuật toán phát đồ thị phổ biến CSDL đồ thị Đối tượng nghiên cứu - Bài toán đồ thị đẳng cấu - Khai phá liệu đồ thị - Bài toán khai phá đồ thị phổ biến CSDL đồ thị - Thuật toán FFSM - Thuật toán SGI Decision Tree chứa 1.000 đồ thị Trong đó, “Qx.txt” chứa đồ thị có số cạnh nhỏ “x” cạnh Bộ liệu thứ hai tập liệu hợp chất hóa học (Chemical Compound Datasets) Tập liệu có 340 hợp chất hóa học, hợp chất mơ hình hóa đồ thị vô hướng Trong tập liệu có 66 kiểu nguyên tử (atom) kiểu liên kết (single, double, triple, aromatic bond) Các thông tin nguyên tử liên kết lưu trữ file riêng biệt sử dụng thủ tục giới thiệu tài liệu [15] xây dựng đồ thị cho tập liệu Bộ liệu lưu tệp tin “Chemical_340.txt” bao gồm 340 đồ thị, với đồ thị bé gồm đỉnh cạnh, đồ thị lớn bao gồm 214 đỉnh 214 cạnh Toàn bộ liệu tải địa chỉ: https://drive.google.com/file/d/1_vyR1_C9kLTG1 3qJH3DoVnteNtL8Kx/view?u sp=sharing 3.1.2 Môi trường thử nghiệm - Phần cứng: Các thông tin phần cứng sử dụng luận văn thể bảng 3.1 Bảng 3.1 Thông tin phần cứng sử dụng thử nghiệm Thôn g C p4 P co R 20 A G G K P hô H D T O U S bu - Phần mềm ngôn ngữ lập trình Các thuật tốn sử dụng để phát cộng đồng mạng lập trình ngơn ngữ Python phiên 3.6 Trình biên dịch python thư viện mặc định cài đặt thông qua phần mềm Anaconda tải địa chỉ: https://www.anaconda.com/distribution/ Trình hỗ trợ soạn thảo lập trình (IDE) Pycharm Community (Free) tải địa chỉ: https://www.jetbrains.com/pycharm/download - Thư viện hỗ trợ Để hỗ trợ cho việc đọc, ghi biểu diễn đồ thị sử dụng thư viện networkx Python cài thông qua lệnh: “pip install networkx” Phiên networkx sử dụng luận văn 2.4 Để hiển thị đồ thị lưu lại dạng tệp tin ảnh sử dụng thư viên matplotlib có sẵn Anaconda Nếu chưa có, cài đặt thư viện matplotlib theo dòng lệnh “conda install matplotlib” Phiên sử dụng luận văn 3.2.0 3.2 Cài đặt thử nghiệm thuật tốn tìm kiếm tra đồ thị đẳng cấu 3.2.1 Mơ tả u cầu tốn kiếm tra đồ thị đẳng cấu Cho độ thị Graph A Graph B, kiểm tra xem đồ thị A có đẳng cấu với đồ thị B hay không Input: Graph A graph B Output: Yes: Nếu graph A đẳng cấu với graph B đưa phép ánh xạ đẳng cấu No: Nếu graph A không đẳng cấu với graph B 3.2.2 Kết thử nghiệm Đầu tiên, tiến hành thử nghiệm với kho gồm đồ thị hình 3.2 Trong đó, đồ thị Source Target có đỉnh cạnh Hình 3.2 Bộ liệu đơn giản thử nghiệm thuật toán kiểm tra đồ thị đẳng cấu Kết kiểm tra đồ thị Source Target hình 3.2 thể hình 3.3 Ta thấy đồ thị đẳng cấu với thông qua ánh xạ là: 04, 11, 23, 30, 42 04, 11, 22, 30, 43 Trong hình 3.2 đồ thị Source thể bên trái với đỉnh màu đỏ cạnh màu xanh, đồ thị Target thể bên phải với đỉnh màu xanh cạnh màu vàng Hình 3.3 Kết đồ thị đẳng cấu với liệu đơn giản Tiếp theo, xét trường hợp đồ thị có kích thước lớn Hình 3.4 mơ tả kết ánh xạ đồ thị Source với đồ thị đồ thị Target, đồ thị Source có đỉnh cạnh, cịn đồ thị target có 214 đỉnh 217 cạnh Hình 3.4 Kết đồ thị đẳng cấu với đồ thị target có kích thước lớn Hình 3.5 mơ tả kết khơng tồn đồ thị đẳng cấu đồ thị Source đồ thị Target Hình 3.5 Ví dụ khơng tồn đẳng cấu đồ thị 3.3 Thử nghiệm thuật toán FFSM cho khai phá đồ thị phổ biến 3.3.1 Mơ tả u cầu tốn khai phá đồ thị phổ biến Cho trước kho đồ thị độ hỗ trợ tối thiểu (minsupp), yêu cầu tìm liệt kê tất đồ thị phổ biến G (sup(G) > minsupp) Input: Một CSDL (kho) đồ thị D = {G1, G2, …Gn} độ hỗ trợ tối thiểu minsupp Output: D’ = {Gk, 0