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

Tiểu luận môn cơ sở dữ liệu nâng cao KHAI THÁC DỮ LIỆU ĐỒ THỊ

24 709 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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 6,4 MB

Nội dung

Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 1 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐỒ ÁN MÔN HỌC KHAI THÁC DỮ LIỆU ĐỒ THỊ Giảng viên phụ trách : PGS. TS. Đỗ Phúc Học viên thực hiện : Châu Kim Hùng – CH1101013 Lớp : CH.CNTT.K6 Khóa : 06 Tp HCM, Tháng 08 năm 2012 Page 1 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 2 Tóm tắt Để tìm kiếm giải pháp và phương hướng giải quyết và khắc phục những hạn chế trong các quá trình xử lý khai thác dữ liệu trên đồ thị, người ta đã đưa ra nhiều phương pháp để giải quyết bài toán, nó tập trung vào hướng nghiên cứu giải quyết vấn đề về đẳng cấu đồ thị, đẳng cấu đồ thị con và tìm sự tương đồng của đồ thị, nhưng còn nhiều hạn chế về thời gian tìm kiếm và lưu trữ dữ liệu cho phù hợp. Với những lý do nêu trên, đồ án này tập trung nghiên cứu cài đặt lại những phương pháp, giải thuật đã được nghiên cứu trước đó để có sự tiếp cận rõ hơn về khai thác dữ liệu đồ thị, tạo tiền đề để nghiên cứu sau này. Page 2 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 3 MỤC LỤC Chương 1 GIỚI THIỆU ĐỀ TÀI 1.1.Bối cảnh Trong vài năm gần đây, bài toán khai thác đồ thị là bài toán được nhiều người quan tâm và nghiên cứu trong lĩnh vực khai thác dữ liệu. Bài toán này đặc biệt có ý nghĩa trong các ứng dụng sinh, hóa học, khai thác weblog, phân loại, phân tích mạng xã hội Hiện nay nhiều hướng nghiên cứu tập trung giải quyết những vấn đề về xã hội trong lĩnh vực công nghệ thông tin như nhận diện dấu vân tay, khung mắt người, phân tích đặc điểm chung từ mạng xã hội, nghiên cứu sự tương đồng trong thành phần hóa học – cấu trúc - chức năng có liên quan mật thiết với nhau trong lĩnh vực hóa sinh ( enzyme) thì một kỹ Page 3 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 4 thuật có hiệu quả để giải quyết những bài toán này là Khai thác dữ liệu đồ thị (Graph Mining) đây là một kỹ thuật mới, được dùng để phát hiện tri thức và đặc biệt thích hợp với dữ liệu có cấu trúc, vì có thể sử dụng đồ thị để mô tả. Dữ liệu có cấu trúc thường phát sinh những mối quan hệ sự tương đồng về thánh phần, cấu trúc. Mỗi tập dữ liệu có một số sự tương đồng với tập dữ liệu khác. Để thể hiện, quản lý, nhận diện các mỗi quan hệ giữa các tập dữ liệu người ta thường biểu diển dữ liệu dưới dạng đồ thị (có hướng hoặc vô hướng), từ cấu trúc của đồ thị ta có thể tìm được sự giống nhau về cấu trúc, thành phần của các tập dữ liệu. Nhưng với một lượng dữ liệu thông tin khổng lồ ngày nay việc biểu diễn dữ liệu bằng đồ thị, thì bài toán xử lý đồ thị gặp nhiều khó khăn, vì đồ thị quá lớn những xử lý trên đồ thị gặp vấn đề về thời gian, mà thường các bài toán tìm đẳng cấu đồ thị và đẳng cấu đồ thị con rơi vào trường hợp độ phức tạp dạng không đẳng thức. Những phương pháp tìm đẳng cấu đồ thị và đẳng cấu đồ thị con trước đây không phù hợp với các bài toán cần giải quyết hiện nay về lĩnh vực khai thác dữ liệu đồ thị. 1.2.Mục tiêu và phạm vi Với những vấn đề nêu ra ở trên, mục tiêu của chuyên đề nhằm tiếp cận và tìm cách giải quyết khắc phục những khó khăn về vấn đề tìm đẳng cấu đồ thị - đẳng cấu đồ thị con để phục vụ cho lĩnh vực khai thác dữ liệu – khai thác dữ liệu đồ thị. Đây là một trong những hướng nghiên cứu mới có nhiều tiềm năng, ứng dụng trong cuốc sống ngày nay. Nổi bật là hướng nghiên cứu về phân tích mạng xã hội trên đồ thị, sự tương đồng trong thành phần hóa học – cấu trúc - chức năng có liên quan mật thiết với nhau trong lĩnh vực hóa sinh. Vì việc tiếp cận và thực hiện chuyên đề trong khoảng thời gian ngắn, nên chuyên đề này tập trung nghiên cứu, phân tích ưu nhược điểm, phân tích đặc điểm những hướng nghiên cứu trước đó và cài đặt lại những phương pháp, giải thuật đó để có sự tiếp cận rõ hơn về bài toán tìm đẳng cấu đồ thị và đẳng cấu đồ thị con trong lĩnh vực khai thác dữ liệu đồ thị, tạo tiền đề để nghiên cứu sau này. Page 4 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 5 Chương 2 TỔNG QUAN VỀ KHAI THÁC DỮ LIỆU ĐỒ THỊ 2.1.Cơ sở lý thuyết 2.1.1. Đẳng cấu đồ thị Hai đồ thị có chứa cùng số đỉnh, và các đỉnh có liên kết với nhau theo một cách nào đó giống nhau thi được gọi là đẳng cấu. Định nghĩa toán học, hai đồ thị G 1 = (V 1 , E 1 ) và G 2 = (V 2 , G 2 ) đẳng cấu với nhau, kí hiệu: G 1 G 2 , nếu ở đó có một song ánh φ : V 1 -> V 2 . Như vậy, với mỗi cặp đỉnh v i , v j € V 1 , holds (v i , v j ) € E 1 nếu và chỉ nếu (φ (v i ), φ (v j )) € E 2 . φ (1) = can, φ (2) = cat, φ (3) = car, φ (4) = ear. Hình 2.1 hai đồ thị đẳng cấu Hai đồ thị đẳng cấu thì ta có: - Cùng số đỉnh Page 5 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 6 - Cùng số đỉnh bậc k, với mọi k nguyên dương - Cùng số cạnh - Cùng số thành phần  Nếu hai đồ thị có ma trận kề bằng nhau, thì chúng đẳng cấu với nhau. 2.1.2. Đẳng cấu đồ thị con Một đồ thị G ’ là một đồ thị con của một đồ thị G cho trước nếu số đỉnh và số cạnh của G ’ thỏa tập con của số đỉnh và số cạnh của G. Một đồ thị G 1 = (V 1 , E 1 ) là đẳng cấu với một đồ thị con của một đồ thị G 2 = (E 2 , V 2 ) nếu ở đó tồn tại đồ thị con của G 2 , ta gọi là G 2 ’ , như vậy G 1 G 2 . Hình 2.2 đẳng cấu đồ thị con 2.2.Tiếp cận các phương pháp kiểm tra đẳng cấu 2.2.1. Giải thuật Ullman (1976) – [Ull76] Ullman ([Ull76] Ullman 1976) là người đầu tiên và được đánh cao về cách tiếp cận so khớp đồ thị mẫu chính xác của giải thuật đẳng cấu đồ thị con. Giải thuật này áp dụng cho đồ thị đơn có hướng hoặc vô hướng. Giả sử chúng ta muốn tìm sự phù hợp giữa đồ thị mẫu P và đồ thị dữ liệu G (hình 2.3) Hình 2.3 một ví dụ về đồ thị mẫu P và đồ thị dữ liệu G Page 6 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 7 Giải thuật Ullman đơn giản là ta đi tìm tất cả các trường hợp có thể ánh xạ các đỉnh của P đến các đỉnh trong G theo phương pháp tìm kiếm theo chiều sâu trên cây. Mỗi node ở bậc i của cây tìm kiếm ánh xạ đỉnh V pi trong P đến một đỉnh trong G (hình 2.4). Hình 2.4 một cây tìm kiếm cho giải thuật Ullman, ánh xạ từ đồ thị mẫu P đến đồ thị dữ liệu G. Đường tô đen trình bày sự so khớp của P trong G. Mỗi nhánh từ gốc đến node lá trong cây tìm kiếm trình bày một ánh xạ các đỉnh trong P đến các đỉnh trong G. Bất kỳ ánh xạ nào mà duy trì tính kề trong P và trong G ( các đỉnh kề nhau trong P ánh xạ với các đỉnh kề nhau trong G) thể hiện một đằng cấu từ P đến một đồ thị con của G. Nếu không tồn tại bất cứ nhánh nào thỏa điều kiện trên thì không tôn tại đẳng cấu. Vì không gian tìm kiếm tỉ lệ với kích thước đồ thị nhập vào tăng theo hàm mũ, Ullman đề xuất các bước tinh lọc, cắt tỉa không gian tìm kiếm ở các cây con, loại ra những nhánh không thể ánh xạ, để thu hẹp không gian tìm kiếm. Các tiêu chuẩn để có thể thu hẹp không gian tìm kiếm: - Bậc của đỉnh: nếu bậc của đỉnh Vertex V pi (số cạnh có nối với đỉnh V pi ) lớn hơn bậc của đỉnh V Gj thì V Pi không thể ánh xạ đến V Gj . Ví dụ, V p1 không thể ánh xạ với V G4 , vì degree(V P1 )=2 và degree(V G4 )=1. - Ánh xạ một một của các đỉnh: khi ta đã ánh xạ đỉnh V Pi đến V Gj , thì ta không thể ánh xạ đến V Pi bất kì đỉnh nào khác trong G và cũng không thể ánh xạ bất kì đỉnh nào khác trong P đến V Gj. - Kiểm tra sự liên thuộc: Trong khi đang đi xuống theo chiều sâu của cây, vì bất kì đỉnh nào có khả năng ánh xạ theo tiêu chuẩn 1 và 2 thì sẽ dẫn đến việc ánh xạ bị thừa và không trùng khớp. Ta có thể bỏ các nhánh ánh xạ nếu nó không thỏa điều kiên liên thuộc giữa P và G. Cho ví dụ, giả sử ta đã ánh xạ V P1 đến V G1 , và ta tiếp tục ánh xạ từ đỉnh V p2 đến V G3 . Ta không cấn quan tâm đến sự đi Page 7 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 8 xuống của nhánh như thế nào, vì ánh xạ V p2 đến V G3 không phù hợp tính liên thuộc vì V P1 và V P2 là hai đỉnh kế nhau trong P, nhưng V G1 và V G3 không kế nhau trong G. Vì vấy ta loại bỏ trường hợp ánh xạ từ V P2 đến V G3 .  Khi ta duyệt trong cây tìm kiếm nếu trương hợp nào không thỏa một trong ba tiêu chuẩn trên thì ta bỏ tất cả nhánh con liên quan tới nó.  Ưu điểm Tuy ý tưởng của giải thuật cảu Ullman là duyệt trên không gian tìm kiếm là một cây tìm kiếm được dựng từ đồ thị dữ liệu, nhưng thực chất là ta duyệt trên một cây gián tiếp chứ không dựng cây, bởi vì việc dụng cây như thế chi phí là n! ( n là số đỉnh của đồ thị mẫu). Trong quá trình duyệt cây tại mỗi node mà nó không thỏa một trong ba tiêu chuẩn được Ullman đề xuất ở trên thì ta loại tất cả các nhánh con của node đó, thu gọn không gian tìm kiếm,ta có thể dừng một cách an toàn không cần phải mở rộng các node con sau đó và tránh được trường hợp quay lui, tiết kiệm được rất nhiều thời gian. Đối với trường hợp kiểm tra sự đẳng cấu giữa hai đồ thị mà chúng ít tương đồng với nhau thì việc cắt tỉa thu gọn được không gian tìm kiếm rất hiệu quả (không phải đi xuống quá sâu trong không gian tìm kiếm). Với đồ thị mẫu mà có số đỉnh nhỏ thì dù đồ thị dữ liệu rất lớn thì việc tìm đằng cấu cũng rất nhanh. Tranh lãng phí của việc dựng cây.  Nhược điểm Tuy nhiên giải thuât Ullman vấn gặp một vấn đề lớn là chi phí thực hiện trường hợp xấu nhất dạng hàm mũ! Trường hợp hai đồ thị có độ tương đồng cao thì khả năng đi xuống sâu trong không gian tìm kiếm là rất lớn. 2.2.2. Giải thuật Messmer (1995) Messmer đề xuất một phương pháp giải quyết vấn đề tìm đẳng cấu đồ thị con từ một đồ thị nhập trực tiếp với một đồ thị bất kỳ trong bộ dữ liệu đồ thị. Phương pháp này tập trung nhiều vào bước tiền xử lý tập dữ liệu đồ thị cái dùng để tạo ra cây quyết định. Sau khi đã tạo được cây quyết định từ tập dữ liệu đồ thị thì ở bước tìm đẳng cấu, đồ thị nhập sẽ được phân lớp bởi cây quyết định với toàn bộ tập dữ liệu đồ thị nếu ở đó tồn tại đẳng cấu đồ thị con tại một node. Nếu bỏ qua thời gian cần cho bước tiền xử lý, thì tính toán độ phức tạp của giải thuật Messmer chỉ bình phương với số đỉnh của đồ thị nhập. Hơn thế nữa, nó không phụ thuộc vào số lượng tập dữ liệu đồ thị và số cạnh của bất kì đồ Page 8 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 9 thị nào trong tập dữ liệu. Tuy nhiên cây quyết định được khởi tạo ở bước tiền xử lý chi phí ở dạng hàm mũ với số đỉnh của của tập dữ liệu đồ thị. Trong nghiên cứu của Messmer ta có một số định nghĩa và kí hiệu được sử dụng xuyên suốt quá trình của giải thuật. Định nghĩa: Một đồ thị có nhãn G là một đồ thị gồm 6 thuộc tính, G = (V, E, μ,ν, L V , L E ), trong đó: - V là tập đỉnh của đồ thị - E là tập cạnh của đồ thị - μ: V -> L V hàm gán tên cho đỉnh - ν: E -> L E hàm gán tên cho cạnh Rõ ràng, ma trận M thì không phải là ma trận kề duy nhất biển diễn cho đồ thị G. Nếu M là biễu diển của G, thì bất kỳ hoán vị nào của M cũng đều là biễu diễn của G. Định nghĩa: một ma trận n x n P = (p ij) thì được gọi là ma trận hoán vị nếu 1. p ij € {0,1} với i, j = 1 n 2. với j = 1 n 3. với j = 1 n Nếu ma trận G được biểu diễn bởi một ma trận kề M (n x n) và P ma trận hoán vị n x n, thì ma trận M ’ (n x n) M ’ = P.M.P T (1) Trong đó P T là kí hiệu ma trận chuyển vị của P, thì M ’ cũng là một ma trận kề của G. Nếu p ịj = 1thì đỉnh thứ j trong M sẽ trở thành đỉnh thứ i trong M ’ . Ví dụ: cho đồ thị g 1 như sau Ta có 6 ma trận kề biểu diễn cho ma trận g 1 như sau: Page 9 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 10  Xây dựng cây quyết định Để xây dựng cây quyết định trước tiên ta phải tìm tất cả các trường hợp hoán vị của ma trận kề biểu diễn cho đồ thị theo phương pháp ánh xạ của công thức (1). Cây quyết định được xây dựng theo các thành phần dòng cột của mỗi ma trận kề M p € A(G) (A(G) là tập các ma trận kề biểu diển cho đồ thị). Đỉnh của cây quyết định là một node gốc đơn. Những node con trực tiếp của node gốc tạo nên cấp đầu tiên của cây quyết định. Với n node con đầu tiên sẽ phân lớp tập dữ liệu đồ thị thành n lớp, với m là cấp của mỗi node trong cây quyết định thì giá trị để phân lớp đồ thị là các thành phần của dòng m cột n trong ma trận kề. Nếu tại mỗi node của cây mà các thành phần dòng cột của các ma trận kề giống nhau thi chúng được gom chung thành một nhóm, đảm bảo theo cây phân cấp từ trên xuống của cây quyết định (hình 2.5). Hình 2.5 cây quyết định cho phân lớp của các ma trận kề A F của đồ thị g 1 Một yêu cầu quan trọng của cây quyết định là sự phân lớp tại mỗi cấp phải được tính một cách dễ dàng. Bên cạnh đó, nêu một ma trận M P thì được phân lớp theo thành Page 10 [...]... 30 giây! Và trong trường hợp tìm đẳng cấu đồ thị con cũng thế Đồ thị nhập chỉ có 3 đỉnh và đồ thị dữ liệu là đồ thị Petersen (10 đỉnh) thời gian chạy cũng tới khoảng 30 giây, tương đương với trường hợp chạy hai đồ thị Petersen ở trên Chương 4 Page 22 22 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị TỔNG KẾT Khai thác dữ liệu - khai thác dữ liệu đồ thị là một hướng nghiên cứu triển vọng ngày... đồ thị nhập đẳng cấu đồ thị con với đồ thị trong dữ liệu tại một node trên một nhanh đi duy nhất, nếu không tôn tại node nay thì sẽ không có đẳng cấu Theo Messmer đã phân tích thì độ phức tạp của bước duyệt cây tìm đẳng cấu đồ thị con khoảng O(M2) – M là số đỉnh lớn nhất của một tập dữ liêu đồ thị Và việc tìm được đẳng cấu đồ thị con của đồ thị nhập với tập dữ liệu đồ thị nó đồng thời xác định đồ thị. .. một đồ thị đơn Nếu ta có một vài đồ thị trong tập dữ liệu đồ thị thì cách đơn giản nhất ta cũng có thể tạo một cây quyết định cho mỗi đồ thị Tuy nhiên ta vẫn có thể biểu diễn một vài đồ thị chung trong một cây quyết định Cách tạo cây quyết định cho một vài đồ thị cũng rất đơn giản, giống với cách tạo cho một đồ thị nếu ta vẫn có được tập ma trận kề biểu diễn cho tất cả các đồ thị có trong tập dữ liệu. .. quả ánh xạ có thể có của đồ thị public ArrayList isoGraph()  Giao diện chương trình Giao diện chính của chương trình Page 17 17 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị  Kết quả thử nghiệm Chương trình sử dụng tập dữ liệu của chương trình “The Graph Isomorphism Algorithm”[4] của Ashay Dharwadker và John-Tagore Tevet Tập dữ liệu đồ thị gồm 9 loại đồ thị: Tên đồ thị Hình minh họa Kết quả... trường hợp hoán vị của ma trận kề biểu diển cho một đồ thị n đỉnh là n! Xây dựng cây quyết định chi phí tốn ở dạng hàm mũ với số đỉnh của đổ thị Và nó thật sự có vấn đề đối với giải thuật này nếu đồ thị với số lượng đỉnh lớn 2.2.3 Độ tương tự đồ thị Page 12 12 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị Việc tìm đẳng cấu đồ thị và đẳng cấu đồ thị con là một vấn đề phức tạp gặp nhiều khó khăn,... vertexB) - Hàm kiểm tra sự liên thuộc của hai đồ thị: trả về true nếu hai đồ thị liên thuộc, ngược lại trả về false private bool forwardChecking( int level, int[] isomorphism) Page 16 16 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị - Tìm đẳng cấu đồ thị và đẳng cấu đồ thị con: đây là xử lý chính của lớp, hàm sẽ lưu tập kết quả ánh xạ có thể có của đồ thị private void findIsomorphism(List... Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị  Hình 2.6 cây quyết định cho đồ thị g1 trong hình 3 và đồ thị g2 Tìm đẳng cấu đồ thị con từ cây quyết định Cũng từ trên ý tưởng của Ullman, Messmer xây dựng không gian tìm kiếm bằng cây quyết định và phương pháp tìm đẳng cấu đồ thị con cũng đơn giản là ta duyệt theo nhánh của cây, quá trình đi xuống node con khi đồ thị nhập thỏa điều kiện tại mỗi... sâu, tại mỗi đỉnh của cây chứa các đỉnh thuộc tập đỉnh của đồ thị, ta phải kiểm tra các đỉnh đó có tạo được đồ thị con đầy đủ hay không từ ma trận kề biểu diển của đồ thị Đồ thị con đẩy đủ tối đại của đồ thị là những đồ thị con mà tại một node của cây các đỉnh có thể lập thành một đồ thị đầy đủ và số đỉnh của node là lớn nhất Theo tính chất các đồ thị con của clique cũng phải là clique, ta có thể thu gọn... ma trận kề của đồ thị nhập thành một tập các thành phần dòng cột cái để chúng ta dùng kiểm tra giá trị phân lớp tại mỗi node của cây quyết định Đ ồ thị nhập sẽ được phân lớp bởi cây quyết định với toàn bộ tập dữ liệu đồ thị nếu ở đó tồn tại đẳng cấu đồ thị con tại một node , các đồ thị có cùng phân lớp với đồ thị nhập thuộc các nhánh hướng trực tiếp từ node mà ở đó tồn tại đẳng cấu đồ thị con  Ưu điểm... giống nhau Clique (đồ thị con đầy đủ) : cho đồ thị G gồm có tập đỉnh V và tập cạnh E Đồ thị G được gọi là đồ thị đầy đủ khi với một cặp đỉnh bất kỳ đều có một cạnh nối giữa chúng Một cách tiếp cận về việc tìm đồ thị con đầy đủ là dựa trên ý tưởng của giải thuật Ullman,ta tìm được các đồ thị đầy đủ từ không gian tìm kiếm xây dựng bằng cây tìm kiếm từ các đỉnh của đồ thị Quá trình tìm đồ thị đầy đủ là quá . sự phù hợp giữa đồ thị mẫu P và đồ thị dữ liệu G (hình 2.3) Hình 2.3 một ví dụ về đồ thị mẫu P và đồ thị dữ liệu G Page 6 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 7 Giải thuật Ullman. tìm đẳng cấu đồ thị và đẳng cấu đồ thị con trong lĩnh vực khai thác dữ liệu đồ thị, tạo tiền đề để nghiên cứu sau này. Page 4 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 5 Chương. của đồ thị nhập. Hơn thế nữa, nó không phụ thuộc vào số lượng tập dữ liệu đồ thị và số cạnh của bất kì đồ Page 8 Trường ĐH Công Nghệ Thông Tin Khai Thác Dữ Liệu Đồ Thị 9 thị nào trong tập dữ liệu.

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w