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.. Thay vì sử dụng một cơ chế lập chỉ mục l
Trang 1CỞ SỞ DỮ LIỆU NÂNG CAO
Trang 2MỤ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
Trang 3MỞ ĐẦ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ưutrữ 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ônglà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ứcvà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 inPolynomial 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ênbằ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 đượckiế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ảngdạy và hướng dẫn để hoàn thành bài viết này
Trang 41 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ẽ trongnhiề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ẫnnhiề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áchhiệ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 trongthờ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ộtdạ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ácthuật toán có độ phức của đa thức nhất định Ví dụ, Luks và Hoffman mô tả phương phápgiớ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ườnghợ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(n6).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ạptuyế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áiniệ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áchtiế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ắmthẳ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ậttoá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 trongnhữ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ếnlớn của phương pháp backtracking, sau đó đã được thực hiện bởi Ullman, người đã giớithiệ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ủabacktracking [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
Trang 5đỉ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ưaxá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ểmtra 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ínhnă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ạithứ 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ạpO(n4), 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ânloại theo thứ tự tương tự như sự kết hợp đồ thị dựa trên mạng trong [MB95b] Được quantâ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ộtcâ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ảiphá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 chotiề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áchoá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ó
Trang 6đượ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ápmớ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 gianchạ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 đónggó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.
đồ thị vô hướng, chúng tôi yêu cầu cho mỗi cạnh (v1, v2) một cạnh (v2, v1) theo hướngngược lại với cùng một nhãn này
4 ν s(e) = ν(e) nếu e E s
Cho G = (V, E, µ, ν, Lv, Le) là một đồ thị với V = {v1, v2, , vn} G cũng có thể thay thế bởi
ma trận kề M = (mij); i, j = 1, , n, trong đó mii = µ(νi) và mij = ν((ν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ôngphả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 = (pij) được gọi là một ma trận hoán vị nếu:
1 p ij 0 , } với i,j = 1, , n
Trang 7đẳng cấu đồ thị giữa G1 và G2 Như vậy, vấn đề của việc tìm kiếm đẳng cấu đồ thị giữa hai
đồ thị G1 và G2 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ị G1 và G2, có một đẳng cấu đồ thị con từ G1 tới G2 nếu
có tồn tại một đồ thị con S G2 như vậy thì G1 và S là đẳng cấu
Định nghĩa 2.6: Cho M = (mij) là một ma trận n x n Khi đó, Sk,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à, Sk,m(M) = (mij); i = 1, , k và j = 1, , m
Cho G1 và G2 là 2 đồ thị với ma trận kề M1 và M2 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ừ G1 tới G2 nếu có một ma trận hoán vị P
n x n như sau:
M1 = Sm,m (P M2 PT) (3)Như vậy, vấn đề tìm ra một đẳng cấu đồ thị con từ G1 tới G2 là tương đương với việctìm ra ma trận hoán vị P ở công thức (3)
Chú ý rằng Sm,m (P M2 PT) = Sm,n (P) M2 (Sm,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ừđị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ị
Trang 8khác không pki = 1, trong khi tất cả các phần tử khác pkj 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ử p11 đầu tiên của dòng đầutiê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 S1,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ụccho đế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 đượctì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ườnghợp, thủ tục Backtrack quay lại mức trước đây và thử thiết lập khác của pki
ULLMAN (G = (V, E, µ, ν, Lv, Le), GI = (VI, EI, µI, νI, Lv, Le))
1 Cho P = (pij) là ma trận hoán vị n x n, n = |V|, m = |VI|, và M và MI biểu diễn ma trận
kề G và GI tương ứng
2 Gọi hàm Backtrack(M, MI, P, 1)
3 procedure Backtrack(ma trận kề M, ma trận kề MI, ma trận kề P, biến đếm k)
(a) Nếu k > m thì P là đẳng cấu đồ thị con từ GI tới G Xuất P và kết thúc
(b) For i =1 to n
i Đặt pkj = 1, với mọi j ≠ I đặt pkj = 0
ii Nếu Sk,k (MI) = Sk,k (P) M (Sk,n (P))T
call Backtrack(M, MI, 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 matrậ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ộttậ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ếpcậ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àothờ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ề
Trang 9Hì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, µ, ν, Lv, Le) 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) = {MP | MP = P M PT, 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 nhaucủ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 GI với ma trận kề MI m x m và m ≤ n, xác định có tồn
tại một ma trận MP A(G) như là MI = Sm,m (MP) Nếu một ma trận MP tồn tại thì ma trậnhoán vị P tương ứng với MP là một đẳng cấu đồ thị con từ GI tới G, tức là MI = Sm,m (MP) =
Sm,m (PMPT) Nếu G và GI có kích thước bằng nhau thì ma trận hoán vị P là cho một đẳngcấu đồ thị giữa GI và G, tức là MI = PMPT
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 matrậ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 đíchcủ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ợpphá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ệcphâ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 = (mij) 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 ai, trong đó ai
là một vector mẫu
ai = (m1i, m2i, …, m(i - 1), …, mi1)
Trang 10Ma trận lúc này co thể viết là:
M = (a1, a2, …, an); 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 g1
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ề MP
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ốctạ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 a1 của mỗi ma trận MP A(G).Phần từ a1 = (m11) đại diện cho nhãn đỉnh đầu tiên trong mỗi ma trận A(G), với m11 Lv
(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 a1 Tiếp theo, ở mức thứ hai của cây quyết định, phần tử dòng-cột
a2 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ử ak Với mỗi ma trận MP
đượ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.
MP đã đượ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ề Sk,k (MP) tới G Vào thời gian chạy, P sẽ là một đẳng cấu đồ thị con cho bất kỳ
Trang 11đồ thị đầu vào mà đã được phân loại vào nút N Cuối cùng, ở dưới cùng của cây quyết định,
có các nút lá Mỗi nút lá đại diện cho một loại ma trận giống nhau MP A(G) Đối vớimỗi ma trận này, ma trận hoán vị tương ứng được lưu trữ trong các nút Số lượng củanhững ma trận hoán vị trong mỗi nút lá thì bằng số tự đẳng cấu của G (Tự đẳng cấu là mộtđẳng cấu của một đồ thị cho chính nó)
Hình 4: Từ điển và chỉ mục cho cây quyết định nút 3 trong hình 3
Trong hình 3 - một đồ thị g1, và cây quyết định tương ứng của nó Các nút của câyquyết định được thể hiện bởi các vòng tròn được tô đậm Mỗi chi nhánh trực tiếp từ một nútnày tới nút khác đã liên kết với một phần tử dòng-cột Ở phía trên của hình 3 tập A(g1) của
ma trận kề hoán vị g1 được liệt kê Dễ dàng thấy rằng số lượng của tự đẳng cấu của g1 làmột Vì vậy, mỗi nút lá trong cây quyết định thể hiện chính xác một ma trận kề
Một yêu cầu quan trọng cho một cây quyết định là phân loại theo từng cấp phải đượctính toán một cách dễ dàng Vì vậy, nếu một ma trận MP được phân loại theo dòng-cột kcủa phần tử ak, sự kế thừa thông qua phần tử aki, với aki = ak phải dễ dàng tính toán Với mụctiểu này, tất cả các phần tử dòng-cột mà liên quan đến các nhánh từ một nút trên mức k đếnmột nút trên mức k + 1 đều được chọn trong một từ điển về chuỗi Từ điển này được tổchức như là một cấu trúc chỉ mục 2k - 1 chỉ số Chính xác có 2k - 1 phần tử mij trong mộtdòng-cột phần tử ak và các phần tử này được sử dụng như một chỉ mục Tìm một phần tửtrong từ điển này có thể được thực hiện trong bước 2k - 1 Vì vậy việc tìm kiếm các nút kếtrong cây quyết định ở mức k có thể được thực hiện trong O(2k - 1) = O(k) bước Ví dụ,xem xét nút 3 trong cây quyết định ở hình 3 Có ba nhánh từ nút 3 tới nút 5, 6, và 7, tươngứng Các phần tử dòng-cột liên kết với các chi nhánh này được tổ chức trong một từ điển
Trang 12đượ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ỏ giải pháp sẽ được đểxây dựng một cây quyết định riêng biệt cho mỗi đồ thị mô hình Tuy nhiên, có thể biểu diễn
cho một số đồ thị mô hình bởi cùng một cây quyết định Trên mỗi mức, việc phân loại các
ma trận kề cho một đồ thị mô hình chỉ được thực hiện trên cơ sở của các phần tử dòng-cộthiện tại Việc không kiểm tra trên mọi mức của cây quyết định cũng tận dụng được chính
đồ thị mô hình Vì vậy, cho một tập mô hình đồ thị G1, G2, …, GL, tập ma trận kề tương ứngA(G1), A(G2), …, A(GL) có thể được phân loại và được thay bởi cùng một cây quyết định.Trong hình 5 cây quyết định cho đồ thị g1 của hình 3 và một đồ thị, g2, được hiển thị Đểphân loại các ma trận kề trong A(g2) (ở đỉnh của Hình 5) chỉ có hai nút được thêm vào câyquyết định tương ứng với đồ thị g1 Vì có ba tự đẳng cấu của g2, mỗi nút 13 và 15 tronghình 5 thể hiện chính xác ba ma trận kề
Trang 13Tại thời điểm chạy, cây quyết định được sử dụng trực tiếp để phân loại ma trận kề m
x m M1 của một đồ thị đầu vào chưa xác định GI Ma trận M1 được xếp vào mức đầu tiêntheo phần tử dòng-cột a1I Nếu có một nhánh i nào đó từ nút gốc tới nút kế mà phần tử a1i
khớp với a1I, thuật toán vẫn tiếp tục với các nút kế vào mức thứ hai Nếu tại một điểm màviệc phân loại không thể thực hiện, thì đồ thị đầu vào GI không đẳng cấu với bất kỳ đồ thịcon của đồ thị mô hình hoặc bất kỳ mô hình đồ thị trong cơ sở dữ liệu Nếu mỗi phần tửdòng-cột của GI đã được sử dụng trong quá trình phân loại và một nút N nào đó trong câyquyết định đã được đạt tới thì mỗi ma trận hoán vị mà được liên kết với N thì thể hiện chomột đẳng cấu đồ thị con từ đồ thị đầu vào tới một trong các đồ thị mô hình Nếu nút N làmột nút lá và đồ thị đầu vào và đồ thị mô hình có kích thước bằng nhau thì mỗi ma trậnhoán vị liên kết với N
Hình 6: Thuật toán compile_tree
5 Trình bày hiệu quả hơn về cây quyết định
Cây quyết định được mô tả trong phần cuối thì lớn không cần thiết Trong phần nàychúng tôi giới thiệu cách trình bày nhỏ gọn hơn Nó được dựa trên quan sát ở mức k trongcây quyết định tất cả các đồ thị con bao gồm đỉnh k, với k = 1, …, n Chú ý rằng mỗi đồ thịcon S được thực hiện k! / α lần, trong đó α là số các tự đẳng cấu khác nhau S Rõ ràng, tất
cả các thay thế này là tương đương với nhau, và các thông tin mà chúng có chứa phần lớn
là dư thừa Chúng tôi trình bày cách tránh được sự dư thừa này Kết quả là, một sự trìnhbày nhỏ gọn hơn về cây quyết định thu được
Cho N1 và N2 là các nút của cây quyết định mà cả hai đại diện cho các đồ thị con Scủa một đồ thị mô hình G và S được cho bởi ma trận kề MS của mình Hơn nữa, cho M1 và
M2 là các ma trận kề đại diện N1 và N2, P1 và P2 với ma trận hoán vị tương ứng như
1 1