Thuật toán gSpan (Graph-Based Substructure Pattern Mining)

Một phần của tài liệu nghiên cứu và thử nghiệm một số thuật toán phát hiện các đồ thị con thường xuyên (Trang 27 - 32)

* Thứ tự từ điển DFS:

+ Đánh chỉ số DFS: Khi biểu diễn tìm kiếm theo chiều sâu trong một đồ thị. Ta xây dựng một cây DFS, một đồ thị có thể có nhiều cây DFS khác nhau. Ví dụ các đồ thị trong hình 3.3 (b)-(d) là đẳng cấu với chúng trong hình 3.3(a).

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 3.3 Cây tìm kiếm theo chiều sâu.

Việc làm dày các cạnh trong hình 3.3(b) – (d) biểu diễn ba cây DFS khác nhau cho đồ thị trong hình 3.3 (a). Tìm kiếm theo chiều sâu phát hiện các đỉnh theo thứ tự tuyến tính. Sử dụng chỉ số dƣới để gán nhãn cho thứ tự số lần phát hiện của chúng i j nghĩa là vi đƣợc phát hiện trƣớc vj. Gọi v0 là nút gốc

còn vn là nút ngoài cùng bên phải, đƣờng nối từ v0 tới vn là đƣờng ngoài cùng bên phải. Hình 3.3(b)-(d) có ba chỉ số dƣới đƣợc phát sinh cho đồ thị trong hình 3.3(a). Đƣờng ngoài cùng bên phải là (v0,v1,v4) trong hình 3.3(b), (v0,v4)trong hình 3.3(c) và (v0,v1,v2,v4)trong hình 3.3(d). Biểu diễn chỉ số dƣới của GGT.

+ Cạnh trước và cạnh sau:

Cho GT cạnh trƣớc là tập tất cả các cạnh trong cây DFS và cạnh sau là tập tất cả các cạnh không chứa trong cây DFS.

Ví dụ 3.3. (i, j)là một cặp đỉnh có thứ tự để biểu diễn cho một cạnh. Nếu

j

i thì nó là cạnh trƣớc ngƣợc lại thì là cạnh sau.

Một thứ tự tuyến tính T đƣợc xây dựng dựa vào tất cả các cạnh trong G bởi các luật sau:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Giả sử: e1 (i1, j1), e2 (i2, j2)

i) if (i1 i2)and(j1 j2)then e1T e2

ii) if (i1 j1)and(j1 j2)then e1 T e2

iii) if(e1T e2)and(e2T e3)thene1 T e3

* Định nghĩa 3.2. (Mã DFS)

Cho một cây DFS T của một đồ thị G, một cạnh tuần tự (e1) có thể đƣợc xây dựng dựa trên T, nhƣ là eiTei 1, trong đó i 0,...., E 1. ( )ei

đƣợc gọi là một mã DFS, ký hiệu là Code(G,T)

Ví dụ 3.4. Một cạnh đƣợc biểu diễn bởi một bộ gồm năm thành phần )

, , , ,

(i j li l(i,j) lj trong đó li, ljlà nhãn của vivj,l(i,j)là nhãn cạnh giữa chúng.

Ví dụ 3.4. (v0,v1) trong hình 3.3(b) đƣợc biểu diễn bằng (0,1,X,a,Y). Bảng 1 Mã DFS tƣơng ứng cho hình 3.3(b), 3.3(c), 3.3(d)

* Định nghĩa 3.3. (Thứ tự từ điển DFS)

Giả sử Z= { Code(G,T) | T là một cây DFS của G },Z là một tập bao gồm tất cả mã DFS của tất cả các đồ thị có nhãn liên tục. Giả sử có một thứ tự tuyến tính (L)) trong tập nhãn (L) thì sự kết hợp theo thứ tự từ điển của

T

 và Llà một thứ tự tuyến tính (e) trên tập ET L L L.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Nếu Code(G ,T ) (a0,a1,...,am) và Code(G ,T ) (b0,b1,...,bn)

Z

, thì nếu cả hai điều kiện dƣới đây cùng thỏa mãn:

i) t,0 t min(m,n),ak bkcho k< t , ate bt

ii) ak bk cho 0 k m, và n m

Cho đồ thị trong hình 3.3(a) có mƣời mã DFS tồn tại khác nhau, ba trong số chúng đƣợc xây dựng dựa trên cây DFS hình 3.3(b)-(d) đƣợc liệt kê trong bảng 1. Theo quy tắc thứ tự từ điển DFS ,  

* Định nghĩa 3.4. (Mã DFS tối thiểu)

Cho một đồ thị G, Z(G) = { Code(G,T) | T là một cây DFS của G }. Dựa trên thứ tự từ điển DFS, một tối thiểu min(Z(G)) đƣợc gọi là mã DFS tối thiểu của G, cũng đƣợc gọi là một nhãn chính tắc của G.

Định lý 3.1. Cho hai đồ thị GG‟, G là đẳng cấu với G‟ nếu và chỉ nếu

min(G) = min(G’).Theo đó vấn đề của khai phá các đồ thị con liên thông thƣờng xuyên tƣơng đƣơng với việc khai phá các mã DFS tối thiểu của chúng. Cho một mã DFS (a0,a1,...,am)và mã DFS có giá trị bất kỳ

) , ,.., ,

(a0 a1 am b đƣợc gọi là con của , và đƣợc gọi là cha của .

Để xây dựng một giá trị mã DFS thì b phải là một cạnh chỉ gia tăng từ các đỉnh ngoài cùng bên phải. Thứ tự liệt kê các cây con theo trình tự từ điển DFS là: 3.4(b),3.4(c), 3.4(d), 3.4(e), và 3.4(f)

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 3.4 Mã DFS/ Đồ thị gia tăng.

* Định nghĩa 3.5. ( cây mã DFS)

Trong cây mã DFS, mỗi node biểu diễn một mã DFS, mối quan hệ giữa node cha và node con tuân theo luật:

Với mối quan hệ cha –con đã mô tả phần trên. Mối quan hệ anh – em bao gồm thứ tự từ điển DFS, đó là tìm kiếm theo thứ tự trƣớc của cây mã DFS theo thứ tự từ điển DFS.

Cho một tập nhãn L, một cây mã DFS chứa vô hạn số đồ thị, chỉ xét các đồ thị con thƣờng xuyên trong một cơ sở dữ liệu vô hạn. Kích thƣớc của một cây DFS là vô hạn. Hình 3.4 biểu diễn một cây mã DFS, các node mức nth chứa mã DFS của các đồ thị (n-1) – cạnh. Qua việc tìm kiếm của cây mã, tất cả các mã DFS tối thiểu của các đồ thị con thƣờng xuyên có thể đƣợc phát hiện. Nghĩa là tất cả các đồ thị con thƣờng xuyên có thể đƣợc phát hiện bằng cách thức này.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Thuật toán 3.3: GraphSet_Projection(D,S) [9,tr.5-6]

Thủ tục con : Subgraph Mining(D,S,s)

Một phần của tài liệu nghiên cứu và thử nghiệm một số thuật toán phát hiện các đồ thị con thường xuyên (Trang 27 - 32)

Tải bản đầy đủ (PDF)

(70 trang)