Tiểu luận môn cơ sở dữ liệu nâng cao SUBGRAPH ISOMORPHISM IN POLYNOMIAL TIME

27 442 0
Tiểu luận môn cơ sở dữ liệu nâng cao SUBGRAPH ISOMORPHISM IN POLYNOMIAL TIME

Đ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

oĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CỞ SỞ DỮ LIỆU NÂNG CAO ĐỀ TÀI: SUBGRAPH ISOMORPHISM IN POLYNOMIAL TIME Giảng viên hướng dẫn: PGS TS. Đỗ Phúc Học viên thực hiện: Ngô Hải Linh MSHV: CH1101019 Lớp cao học khóa 6 TP Hồ Chí Minh, tháng 8/2012 Subgraph Isomorphism in Polynomial Time MỤC LỤC Mở đầu 2 1. Giới thiệu 3 2. Các định nghĩa và ký hiệu 5 3. Thuật toán Ullman 6 4. Đẳng cấu đồ thị con bằng cây quyết định 7 5. Trình bày hiệu quả hơn về cây quyết định 12 6. Cây quyết định 15 7. Phân tích độ phức tạp 17 8. Thu gọn cây quyết định cho các ứng dụng thực tế 20 9. Cài đặt thuật toán cây quyết định 24 Kết luận 26 Cơ sở dữ liệu nâng cao Trang 2 Subgraph Isomorphism in Polynomial Time MỞ ĐẦU Ngày nay, hầu hết các ứng dụng đều lưu trữ một lượng dữ liệu khổng lồ.Vấn đề lưu trữ và xử lý dữ liệu trở nên khó khăn và cần được quan tâm hơn, dữ liệu thay đổi rất nhanh, thậm chí thay cả đổi cấu trúc cơ bản của dữ liệu. Việc xử lý đòi hỏi phải linh hoạt và không làm gián đoạn ứng dụng.Với hệ thống lưu trữ hiện tại không thể linh động với yêu cầu này. Từ những yêu cầu trên, dữ liệu đồ thị ra đời để giải quyết những vấn đề đó. Dữ liệu đồ thị là lưu trữ thông tin ở dạng đồ thị gồm các đỉnh và cạnh. Với cách thức lưu trữ này, việc quản lý dữ liệu trở nên mềm dẽo và dễ dàng hơn ngay cả trong việc ứng dụng tri thức vào khối dữ liệu lưu trữ. Trong bài tiểu luận này, em xin tóm tắt lại bài báo Subgraph Isomorphism in Polynomial Time – B.T. Messmer và H. Bunke. Bài báo trình bày một thuật toán mới xác định đẳng cấu đồ thị con trên dữ liệu đồ thị. Đồng thời, em cũng cài đặt thuật toán trên bằng winform C# .NET. Thông qua những buổi giảng dạy và hướng dẫn của thầy Đỗ Phúc, giúp em nắm được kiến thức tổng quát và hiểu hơn về các mô hình cơ sở dữ liệu hiện nay. Do khả năng và kiến thức có hạn, nên bài viết còn nhiều sai sót. Em xin chân thành cảm ơn thầy đã giảng dạy và hướng dẫn để hoàn thành bài viết này. Cơ sở dữ liệu nâng cao Trang 3 Subgraph Isomorphism in Polynomial Time 1. Giới thiệu Đồ thị và đẳng cấu đồ thị con là những khái niệm đã được sử dụng mạnh mẽ trong nhiều ứng dụng. Sức mạnh của đồ thị và việc so sánh giữa các đồ thị khác nhau đã dẫn nhiều nhà nghiên cứu trong hai mươi năm qua đi đến nghiên cứu vấn đề về tính toán cách hiệu quả đồ thị và đẳng cấu đồ thị con. Cho đến nay, đó vẫn là một câu hỏi mở, liệu vấn đề đẳng cấu đồ thị nói chung có thể được giải quyết bởi một thuật toán mà chỉ là đa thức trong thời gian và trong không gian [GJ79]. Tất cả các thuật toán được đề xuất cho đến nay đều có sự phức tạp về thời gian theo cấp số nhân trong trường hợp tệ nhất. Ngoài ra, vấn đề phát hiện đẳng cấu đồ thị con được biết đến là NP-complete [GJ79]. Trong phần sau đây, chúng tôi sẽ cung cấp một tổng quan về các thuật toán đồ thị và đẳng cấu đồ thị con. Có hai phương pháp cơ bản mà nghiên cứu trước đây đã được thực hiện đối với vấn đề đẳng cấu đồ thị. Các phương pháp tiếp cận đầu tiên dựa trên khái niệm lý thuyết nhóm và dựa trên việc nghiên cứu của nhóm hoán vị. Trong [Bab81], chỉ ra rằng có tồn tại một dạng theo cấp số nhân ràng buộc đối với các vấn đề đẳng cấu đồ thị nói chung. Hơn nữa, bằng cách áp đặt hạn chế nhất định trên các thuộc tính của đồ thị, nó đã có thể lấy được các thuật toán có độ phức của đa thức nhất định. Ví dụ, Luks và Hoffman mô tả phương pháp giới hạn đa thức để phát hiện đẳng cấu đồ thị bằng giới hạn biên [Hof82]. Đối với trường hợp đặc biệt của đẳng cấu đồ thị vô hướng, trong [Luk82] có độ phức tạp tính toán O(n 6 ). Trong [HW74], phương pháp tính toán các đẳng cấu của đồ thị phẳng chỉ có độ phức tạp tuyến tính thời gian. Tuy nhiên, nhược điểm lớn của các thuật toán dựa trên những khái niệm lý thuyết chính là tốn chi phí lớn và hằng số lớn liên với sự phức tạp lý thuyết. Cách tiếp cận thứ hai với đồ thị và đẳng cấu đồ thị con được định hướng thực tế hơn và nhắm thẳng vào việc phát triển một cách thức tính toán để phát hiện đẳng cấu. Hầu hết các thuật toán này được dựa trên việc tìm kiếm không gian trạng thái bằng backtracking. Một trong những ấn phẩm đầu tiên trong lĩnh vực này là của Corneil và Gotlieb [CG70]. Một cải tiến lớn của phương pháp backtracking, sau đó đã được thực hiện bởi Ullman, người đã giới thiệu một phương pháp sàng lọc làm giảm đáng kể việc tìm kiếm không gian của backtracking [Ull76]. Tổng quan về các ấn phẩm đẳng cấu đồ thị, hãy xem [Gat79, RC77]. Công việc gần đây được mô tả trong [MLL92, FFG90] cho rằng vấn đề đồ thị đẳng cấu được giảm thành vấn đề phát hiện bằng cách xây dựng một đồ thị liên kết cho tất cả các Cơ sở dữ liệu nâng cao Trang 4 Subgraph Isomorphism in Polynomial Time đỉnh có thể ánh xạ. Và gần đây nhất, một cách tiếp cận mạng dựa trên đồ thị kết hợp đã được đề xuất bởi các tác giả [MB95b]. Cho đến nay, chúng ta chỉ quan tâm đến vấn đề tìm ra được một đồ thị hoặc đồ thị đẳng cấu giữa hai đồ thị tại một thời điểm. Tuy nhiên, trong các ứng dụng thực tế thường có một cơ sở dữ liệu của đồ thị, được gọi là đồ thị mô hình, và một đồ thị đơn đầu vào chưa xác định phải được kiểm tra. Nếu số lượng các đồ thị trong cơ sở dữ liệu lớn thì việc kiểm tra tuần tự mỗi đồ thị mô hình trở nên rất tốn kém về mặt tính toán. Như một hệ quả, một số hệ thống đã được đề xuất trước đây mà kết hợp các thuật toán đồ thị hoặc đẳng cấu đồ thị con bằng phương pháp lập chỉ mục. Ý tưởng cơ bản của lập chỉ mục là sử dụng những tính năng cụ thể và dễ dàng tính toán của một đồ thị đầu vào để chọn một tập hợp nhỏ những đồ thị mô hình từ một cơ sở dữ liệu lớn. Trong [HS88], Horaud đề xuất sử dụng đa thức nội tại thứ hai của ma trận Laplacian của một đồ thị như là một chỉ mục vào các cơ sở dữ liệu của đồ thị. Tuy nhiên, chỉ mục này chỉ duy nhất cho đồ thị có ít hơn 12 đỉnh và có độ phức tạp O(n 4 ), trong đó n là số đỉnh của đồ thị. Cách tiếp cận khác được thực hiện ở Paris trong [Par93], đã đề xuất để tính toán một chỉ số cấu trúc được tổ chức trong một mạng lưới phân loại theo thứ tự tương tự như sự kết hợp đồ thị dựa trên mạng trong [MB95b]. Được quan tâm nhiều đến bài viết này chính là phương pháp lập chỉ mục được đề xuất trong [Ike87, GB89, Spi93]. Thay vì sử dụng một cơ chế lập chỉ mục làm tiền xử lý một số thuật toán đẳng cấu đồ thị con thông thường, các cơ sở dữ liệu của đồ thị được chuyển đổi thành một cây quyết định. Cây quyết định được sử dụng chỉ mục trực tiếp và đồng thời và so khớp đồ thị mô hình với các đồ thị đầu vào. Tuy nhiên, tất cả các phương pháp cây quyết định đã được trình bày cho đến nay đều phải gắn chặt với vật thể 3D nhất định và không đưa ra giải pháp cho vấn đề đẳng cấu đồ thị nói chung Trong bài báo này, Messmer & Bunke đề xuất một phương pháp mới phát hiện đồ thị và đẳng cấu đồ thị con. Nó có hai tính năng quan trọng. Đầu tiên, thời gian chạy của nó chỉ là bậc hai trong số các đỉnh trong đồ thị đầu vào nếu chúng ta bỏ qua thời gian cần thiết cho tiền xử lý. Thứ hai, sự phức tạp thời gian thì độc lập với số lượng đồ thị trong cơ sở dữ liệu. Phương pháp mới này thì dựa trên ý tưởng sau đây. Chúng tôi tạo ra tập hợp của tất cả các hoán vị của ma trận kề của một đồ thị mô hình và tổ chức tập này trong một cây quyết định. Đồ thị mô hình khác nhau có thể được kết hợp vào cùng một cây quyết định. Cây quyết định được xây dựng từ mô hình đồ thị trong bước tiền xử lý off-line. Thời gian chạy, nó Cơ sở dữ liệu nâng cao Trang 5 Subgraph Isomorphism in Polynomial Time được sử dụng để xác định cách hiệu quả là có hay không một đẳng cấu đồ thị con từ một đồ thị đầu vào chưa biết với một trong những đồ thị mô hình. Ưu điểm chính của phương pháp mới là được bảo đảm chấm dứt trong thời gian bậc hai. Tuy nhiên, đổi lại cho thời gian chạy hiệu quả là kích thước của cây quyết định. Trong trường hợp xấu nhất, nó chứa một số theo cấp số nhân các nút. Tuy nhiên, chúng tôi tin rằng phương pháp đề nghị là một đóng góp mới vào lĩnh vực phát hiện đẳng cấu đồ thị con. Nó là sự quan tâm đặc biệt trong các ứng dụng đồ thị cơ bản là khá nhỏ, nhưng đáp ứng theo thời gian thực. 2. Các định nghĩa và ký hiệu Định nghĩa 2.1: Cho đồ thị G = (V, E, µ, ν, L v , L e ). Trong đó: V là tập các đỉnh VxVE ⊆ là tập các cạnh µ : V → L v là chức năng gán nhãn cho các đỉnh ν : E → L e là chức năng gán nhãn cho các cạnh Như thường lệ, chúng tôi giả định rằng L v và L e là tập hợp hữu hạn của các nhãn Với đồ thị vô hướng, chúng tôi yêu cầu cho mỗi cạnh (v 1 , v 2 ) một cạnh (v 2 , v 1 ) theo hướng ngược lại với cùng một nhãn này. Định nghĩa 2.2: Cho đồ thị G = (V, E, µ, ν, L v , L e ), và một đồ thị S = (V s , E s , µ s , ν s , L v , L e ) là con của G. 1. V⊆ s V 2. )( sss xVVEE ∩= 3. µ s (v) = µ(v) nếu s Vv ∈ 4. ν s (e) = ν (e) nếu s Ee ∈ Cho G = (V, E, µ, ν, L v , L e ) là một đồ thị với V = {v 1 , v 2 , , v n }. G cũng có thể thay thế bởi ma trận kề M = (m ij ); i, j = 1, , n, trong đó m ii = µ(ν i ) và m ij = ν((ν i , ν j )) với i ≠ j. Rõ ràng, các ma trận kề của một đồ thị không đưa vào vòng lặp tại một đỉnh. Tuy nhiên, đây không phải là hạn chế thực sự bởi vì vòng lặp có thể được thay thế bởi một tập hợp mở rộng nhãn đỉnh. Rõ ràng, ma trận M không phải là duy nhất cho một đồ thị G. Nếu M đại diện cho G, thì bất kỳ hoán vị của M cũng là một đại diện hợp lệ của G. Định nghĩa 2.3: Một ma trận n x n P = (p ij ) được gọi là một ma trận hoán vị nếu: Cơ sở dữ liệu nâng cao Trang 6 Subgraph Isomorphism in Polynomial Time 1. }1,0{∈ ij p với i,j = 1, , n 2. ∑ = = n i ij p 1 1 với j = 1, , n 3. ∑ = = n j ij p 1 1 với j = 1, , n Nếu một đồ thị G được đại diện bởi một ma trận n x n kề M và P là một ma trận hoán vị n x n, thì ma trận n x n M’ = P M P T (1) P T biểu thị là ma trận chuyển vị của P, cũng là một ma trận kề của G. Nếu p ij = 1 thì đỉnh thứ j trong M trở thành đỉnh thứ i trong M’. Định nghĩa 2.4: Cho hai đồ thị G 1 và G 2 , và M 1 và M 2 là ma trận kề tương ứng của chúng. G 1 và G 2 là đẳng cấu nếu có tồn tại một ma trận hoán vị P như sau: M 2 = P M 1 P T (2) Chú ý rằng ma trận P có thể được hiểu như là một hàm bijective f mà các bản đồ các đỉnh G 1 tới G 2 và ngược lại. Đó là, f(v j ) = v i nếu m ij = 1. Chúng ta sẽ gọi cả P và f là một đẳng cấu đồ thị giữa G 1 và G 2 . Như vậy, vấn đề của việc tìm kiếm đẳng cấu đồ thị giữa hai đồ thị G 1 và G 2 là tương đương với việc tìm kiếm ma trận hoán vị P ở công thức (2). Định nghĩa 2.5: Cho hai đồ thị G 1 và G 2 , có một đẳng cấu đồ thị con từ G 1 tới G 2 nếu có tồn tại một đồ thị con S ⊂ G 2 như vậy thì G 1 và S là đẳng cấu. Định nghĩa 2.6: Cho M = (m ij ) là một ma trận n x n. Khi đó, S k,m (M) biểu thị ma trận k x m thu được từ M bằng cách xóa các dòng k + 1, , n và cột m + 1, , n; trong đó k, m ≤ n. Nghĩa là, S k,m (M) = (m ij ); i = 1, , k và j = 1, , m. Cho G 1 và G 2 là 2 đồ thị với ma trận kề M 1 và M 2 có kích thước m x m và n x n tương ứng, trong đó m ≤ n. Có một đẳng cấu đồ thị con từ G 1 tới G 2 nếu có một ma trận hoán vị P n x n như sau: M 1 = S m,m (P M 2 P T ) (3) Như vậy, vấn đề tìm ra một đẳng cấu đồ thị con từ G 1 tới G 2 là tương đương với việc tìm ra ma trận hoán vị P ở công thức (3). Chú ý rằng S m,m (P M 2 P T ) = S m,n (P) M 2 (S m,n (P)) T . 3. Thuật toán Ullman Thuật toán Ullman được dựa trên ý tưởng của việc tìm kiếm tất cả các đẳng cấu đồ thị con bằng việc từng bước thiết lập các dòng ma trận hoán vị P theo dòng (xem hình 1). Từ Cơ sở dữ liệu nâng cao Trang 7 Subgraph Isomorphism in Polynomial Time định nghĩa 2.3 ở trước phần, chúng ta biết rằng mỗi dòng k trong P có chứa đúng một giá trị khác không p ki = 1, trong khi tất cả các phần tử khác p kj của dòng k có j ≠ i được thiết lập là 0. Quá trình lập lại Backtrack bắt đầu bằng cách thiết lập phần tử p 11 đầu tiên của dòng đầu tiên của P tới 1 và tất cả các phần tử khác trong dòng đầu tiên của P tới 0. Nếu S 1,n (P) là phần kết hợp đại diện cho một đẳng cấu đồ thị con thì quá trình Backtrack được gọi đệ quy lại một lần nữa và dòng thứ hai của P dự kiến được thiết lập. Quá trình này được tiếp tục cho đến khi dòng m của P đã được thiết lập thành công và một đẳng cấu đồ thị con được tìm thấy hoặc là điều kiện trong bước (3.b.ii) không được thỏa mãn. Trong cả hai trường hợp, thủ tục Backtrack quay lại mức trước đây và thử thiết lập khác của p ki . ULLMAN (G = (V, E, µ, ν, L v , L e ), G I = (V I , E I , µ I , ν I , L v , L e )) 1. Cho P = (p ij ) là ma trận hoán vị n x n, n = |V|, m = |V I |, và M và M I biểu diễn ma trận kề G và G I tương ứng. 2. Gọi hàm Backtrack(M, M I , P, 1) 3. procedure Backtrack(ma trận kề M, ma trận kề M I , ma trận kề P, biến đếm k) (a) Nếu k > m thì P là đẳng cấu đồ thị con từ G I tới G. Xuất P và kết thúc. (b) For i =1 to n i. Đặt p kj = 1, với mọi j ≠ I đặt p kj = 0 ii. Nếu S k,k (M I ) = S k,k (P) M (S k,n (P)) T call Backtrack(M, M I , P, k + 1) Hình 1: Thuật toán Ullman 4. Đẳng cấu đồ thị con bằng cây quyết định Vấn đề chính của các thuật toán được mô tả trong phần trước ở chỗ là tất cả các ma trận hoán vị đại diện cho một đẳng cấu đồ thị con được tính toán và tạo ra ở thời gian chạy. Hơn nữa, các thuật toán có thể chạy vào những đầu cuối và việc quay lui (backtracking) trở nên cần thiết. Để khắc phục những vấn đề này và để tránh backtracking lúc chạy, chúng tôi đề xuất một phương pháp tiếp cận dựa trên cây quyết định. Chúng tôi giả định rằng có một tập hợp các mô hình đồ thị được gọi là một ưu tiên, trong khi đồ thị đầu vào trở nên dễ tiếp cận chỉ ở lúc chạy. Đối với mỗi đồ thị mô hình, chúng tôi tính toán tất cả các hoán vị có thể của ma trận kề của nó và chuyển đổi những ma trận kề này thành một cây quyết định. Vào thời gian chạy, ma trận của đồ thị đầu vào sau đó được sử dụng để tìm những ma trận kề Cơ sở dữ liệu nâng cao Trang 8 Subgraph Isomorphism in Polynomial Time Hình 2: Dòng-cột đại diện của ma trận kề trong quyết định cây giống với nó. Các ma trận hoán vị tương ứng với các ma trận kề này đại diện cho đồ thị hoặc đẳng cấu đồ thị con mà chúng tôi đang tìm kiếm. Cho G = (V, E, µ, ν, L v , L e ) là một đồ thị mô hình và M là ma trận kề n x n tương ứng. Hơn nữa, cho A(G) biểu diễn tập hợp của tất cả các ma trận kề hoán vị của G. A (G) = {M P | M P = P M P T , trong đó P là một ma trận hoán vị n x n (4) Tổng số ma trận kề đã được chuyển hoán là |A(G)| = n! , có n! ma trận hoán vị khác nhau của n phần tử. Chúng tôi đã sẵn sàng xác định lại các vấn đề đẳng cấu đồ thị con xét theo việc thiết lập được giới thiệu ở trên. Đối với một mô hình đồ thị G có ma trận kề n x n tương ứng là M và một đồ thị đầu vào G I với ma trận kề M I m x m và m ≤ n, xác định có tồn tại một ma trận M P ∈ A(G) như là M I = S m,m (M P ). Nếu một ma trận M P tồn tại thì ma trận hoán vị P tương ứng với M P là một đẳng cấu đồ thị con từ G I tới G, tức là M I = S m,m (M P ) = S m,m (PMP T ). Nếu G và G I có kích thước bằng nhau thì ma trận hoán vị P là cho một đẳng cấu đồ thị giữa G I và G, tức là M I = PMP T . Chúng tôi đề nghị tổ chức tập A(G) trong một cây quyết định như vậy mà mỗi ma trận A(G) được phân loại bởi cây đó. Các đặc tính được sử dụng cho quá trình phân loại là các phần riêng lẻ trong các ma trận kề. Tuy nhiên, điều quan trọng cần lưu ý là mục đích của các cây quyết định sẽ được phân loại ma trận kề của đồ thị đầu vào. Trong trường hợp phát hiện đẳng cấu đồ thị con, các ma trận này sẽ nhỏ hơn so với các ma trận A(G). Vì vậy, cần thiết để gom nhóm các phần riêng lẻ của ma trận kề A(G) vào các đặc tính như là việc phân loại vào từng cấp độ cây quyết định thì độc lập với kích thước của ma trận kề được phân loại. Vì mục đích này, chúng tôi giới thiệu một ký hiệu mới cho một ma trận kề n x n M = (m ij ). Chúng ta nói ma trận bao gồm một mảng của các phần tử dòng-cột a i , trong đó a i là một vector mẫu. a i = (m 1i , m 2i , …, m (i - 1) , …, m i1 ) Cơ sở dữ liệu nâng cao Trang 9 Subgraph Isomorphism in Polynomial Time Ma trận lúc này co thể viết là: M = (a 1 , a 2 , …, a n ); i = 1, …, n Hình 3: Cây quyết định biểu diễn phân loại ma trận kề A…F của g 1 . Cây quyết định được xây dựng theo các phần từ dòng-cột của mỗi ma trận kề M P ∈ A(G). Ở đỉnh của cây quyết định có một nút gốc duy nhất. Các nút kế trực tiếp của nút gốc tạo thành các mức đầu tiên của cây quyết định. Ở mức đầu tiên, việc phân loại các ma trận ở A(G) được thực hiện theo phần từ dòng-cột đầu tiên a 1 của mỗi ma trận M P ∈ A(G). Phần từ a 1 = (m 11 ) đại diện cho nhãn đỉnh đầu tiên trong mỗi ma trận A(G), với m 11 ∈ L v (xem phần 2). Do đó, mỗi ma trận ở A(G) được phân loại theo nhãn đỉnh đầu tiên của nó. Mỗi nhánh mà dẫn đến một nút kế trực tiếp của nút gốc thì được liên kết với một giá trị cụ thể cho phần từ dòng-cột a 1 . Tiếp theo, ở mức thứ hai của cây quyết định, phần tử dòng-cột a 2 của ma trận thì được dùng để phân loại Nói chung, các ma trận được đại diện bởi một số nút trên mức k thì được chia thành các lớp theo như phần tử a k . Với mỗi ma trận M P được đại diện bởi một số nút N ở mức k, ma trận hoán vị tương ứng P cũng được đưa ra. M P đã được phân loại thành đỉnh thứ k, P là một đẳng cấu đồ thị con cho các đồ thị con có ma trận kề S k,k (M P ) tới G. Vào thời gian chạy, P sẽ là một đẳng cấu đồ thị con cho bất kỳ đồ thị Cơ sở dữ liệu nâng cao Trang 10 [...]... trên nền Net Framework 4.0 1 Màn hình giao diện chính Cơ sở dữ liệu nâng cao Trang 25 Subgraph Isomorphism in Polynomial Time 2 Màn hình sau khi tạo cây quyết định từ đồ thì g 1 3 Màn hình sau khi thêm đồ thị g 2 vào cây quyết định hiện có Cơ sở dữ liệu nâng cao Trang 26 Subgraph Isomorphism in Polynomial Time 4 Màn hình kiểm tra đẳng cấu đồ thị KẾT LUẬN Chúng tôi đã trình bày một thuật toán mới cho các... thời gian đa thức, nhưng nó rất phù hợp cho các ứng dụng cơ sở dữ liệu lớn của đồ thị Đặc biệt, các cây quyết định thu gọn theo chiều sâu có thể sử dụng chỉ mục có hiệu quả các mô hình trong cơ sở dữ liệu Tài liệu tham khảo chính: (1) Subgraph Isomorphism in Polynomial Time – B.T Messmer và H Bunke (2) Thuật toán sắp xếp hoán vị Cơ sở dữ liệu nâng cao Trang 27 ... tiếp Cơ sở dữ liệu nâng cao Trang 19 Subgraph Isomorphism in Polynomial Time M 2k theo mức k + 1 do đó có O(( k )l e l v ) Tổng của các nút trên tất cả các mức (không tính nút gốc) là: M −1 M   O(l v ∑  (l e2 ) k ) = O(l v (1 + l e2 ) M )   k =0  k  (11) Nếu có một số đồ thị mô hình trong cơ sở dữ liệu, các cây quyết định trở thành tuyến tính phụ thuộc vào N, kích thước của cơ sở dữ liệu: ... từ điển Cơ sở dữ liệu nâng cao Trang 11 Subgraph Isomorphism in Polynomial Time được đưa ra trong hình 4 Trong ví dụ này, một cấu trúc ba cấp chỉ số là cần thiết cho việc tổ chức các mục từ điển Hình 5: Cây quyết địn cho đồ thị g1 ở hình 3 và đồ thị g2 Đến nay, chúng tôi đã chỉ bàn về cấu trúc của cây quyết định đối với một đồ thị mô hình đơn Nếu có một số đồ thị mô hình trong một cơ sở dữ liệu nhỏ... quyết định Như vậy, thời gian chạy của thuật toán mới cho đồ thị vô hướng, không có nhãn trên cơ sở của một cây quyết định thu là O(n 3) (xem phương trình 15) Việc xây dựng một cây quyết định thu gọn theo kỹ thuật này được dựa trên một quy Cơ sở dữ liệu nâng cao Trang 23 Subgraph Isomorphism in Polynomial Time trình hai bước Đầu tiên, cây quyết định đầy đủ được xây dựng, và sau đó số lượng tối đa của... trận kề hoán vị A(G) được phân loại vào cây quyết Cơ sở dữ liệu nâng cao Trang 22 Subgraph Isomorphism in Polynomial Time định Cụ thể, tất cả các hoán vị của mô hình ma trận mà điều kiện trên không nắm giữ, có thể được loại bỏ tại thời điểm thực thi Với đồ thị có kết nối thấp, số lượng các nút cây quyết định mà được thu gọn bởi kỹ thuật này có thể rất cao Do vậy, chuyển đổi đồ thị đầu vào có độ phức... T (xem phương trình 6) Hình 7: Thuật toán merge_tree Cơ sở dữ liệu nâng cao Trang 14 Subgraph Isomorphism in Polynomial Time Hình 8: Cây quyết định thu gọn phân loại các ma trận kề {A, …, F} và {A’, …, F’} của đồ thị g1 và g2 (xem hình 3 và 5) Bây giờ chúng tôi mô tả thủ tục để biên dịch một cây quyết định từ một đồ thị mô hình nhất định Ý tưởng cơ bản của chương trình biên dịch là tạo ra một cây quyết... phức tạp không gian của các thuật toán thông thường là trong trường hợp tốt nhất: (Trường hợp tốt nhất không gian phức tạp) O (M2 I) Cơ sở dữ liệu nâng cao (8) Trang 18 Subgraph Isomorphism in Polynomial Time Các trường hợp xấu nhất cho các thuật toán thông thường phát sinh khi các mô hình đồ thị và đồ thị đấu vào không có nhãn, vô hướng và được kết nối Trong trường hợp này, có trên mỗi mức I có thể... có thể được thu gọn: Cơ sở dữ liệu nâng cao Trang 13 Subgraph Isomorphism in Polynomial Time R = P1 P2T (6) T bởi vì thay R trong phương trình (5) bằng P1 P2T và thay M2 bằng P2 M S P2 cho ra P1 P2T ( P2 M S P2T )( P1 P2T ) T = P1 M S P1T = M 1 Vì vậy, bất kỳ ma trận kề đại diện trong nút N 2 có thể được chuyển đổi, bằng ma trận R, vào một ma trận được biểu diễn trong N 1 Kết luận quan trọng nhất... l e + Ml v ) (14) Chú ý rằng phân tích độ phức tạp của thuật toán mới đối với việc phát hiện đẳng cấu đồ thị con ở trên cũng được áp dụng để phát hiện đẳng cấu đồ thị Cơ sở dữ liệu nâng cao Trang 20 Subgraph Isomorphism in Polynomial Time Một lần nữa, trường hợp đặc biệt có thể được thấy đồ thị không có nhãn, vô hướng, thì hiệu suất thời gian thực thi là: O(M2) (15) Điều quan trọng là cần lưu ý rằng . 24 Kết luận 26 Cơ sở dữ liệu nâng cao Trang 2 Subgraph Isomorphism in Polynomial Time MỞ ĐẦU Ngày nay, hầu hết các ứng dụng đều lưu trữ một lượng dữ liệu khổng lồ.Vấn đề lưu trữ và xử lý dữ liệu. TP HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CỞ SỞ DỮ LIỆU NÂNG CAO ĐỀ TÀI: SUBGRAPH ISOMORPHISM IN POLYNOMIAL TIME Giảng viên hướng dẫn: PGS TS. Đỗ Phúc Học viên thực hiện: Ngô Hải Linh MSHV:. dựng từ mô hình đồ thị trong bước tiền xử lý off-line. Thời gian chạy, nó Cơ sở dữ liệu nâng cao Trang 5 Subgraph Isomorphism in Polynomial Time được sử dụng để xác định cách hiệu quả là có

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