Khai phá đồ thị con thường xuyên đóng

Một phần của tài liệu (LUẬN văn THẠC sĩ) bài toá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 (Trang 27 - 28)

Khai phá đồ thị con phổ biến (Frequent Subgraph Mining) [1, 3, 8, 9] là một kỹ thuật điển hình nhóm phân tích đồ thị theo cách tiếp cận khai phá đồ thị con của khai phá đồ thị. Phần này giới thiệu một thuật toán PSI-CFSM [3] cải tiến thuật toán gSpan và FFSM.

Thuật toán PSI-CFSM

Input: Tập dữ liệu đồ thị GD và 𝜎 = min⁡_𝑠𝑢𝑝

Output: CS2, CS3, ..., CSk, tập các đồ thị con thường xuyên đóng tương ứng với số đỉnh các tập đó chứa.

Xây dựng một danh sách liên kết được sắp thứ tự theo CAM 𝐶2𝑛 chỉ chứa các 2- subgraph;

Foreach 𝑢 ∈ 𝐶2𝑛 do

Tìm kiếm nhị phân u trong 𝐶2𝑛 và xác định supu>⁡𝜎 đưa vào

𝐹𝑆2𝑖 và 𝐹𝑆2𝐷; End;

K3;

While sinh ra ứng viên mức k trong 𝑔𝑖 ∈ 𝐺𝐷 từ 𝐹𝑆2𝑖 và 𝐹𝑆2𝐷 do Xây dựng danh sách liên kết được sắp thứ tự theo CAM 𝐶𝑘𝑛; Foreach 𝑢 ∈ 𝐶𝑘𝑛 do

Thực hiện tìm kiếm nhị phân để tùm u trong 𝐶𝑘𝑛 và xác định supu>⁡𝜎 đề đưa vào 𝐶𝑆𝑘𝑖 và 𝐶𝑆𝑘;

Kiểm tra 𝑣 ∈ 𝐶𝑆𝑘−1𝑖 nếu supv = supu thì loại v ra khỏi

𝐶𝑆𝑘−1;

End; Kk+1 End

Các tác giả đã đưa ra phương pháp xác định đồ thị con đẳng cấu bằng cách sử dụng CAM để biểu diễn duy nhất cho một đồ thị g trong tập dữ liệu đồ thị đầu vào GD. Cùng với CAM chúng ta có thể chia tách vấn đề khai phá đồ thị con thường

chỉ có 1 cạnh tức là chỉ có 2 đỉnh và gọi các đồ thị này là 2-subgraph. Đầu tiên sẽ khai phá tất cả các đồ thị 2-subgraph, tìm tất cả các đồ thị 2-subgraph là thường xuyên và lưu lại. Ở đây chúng ta sử dụng nhiều tập lưu trữ các 2-subgraph thường xuyên. Tập CS2 sẽ lưu toàn bộ các 2-subgraph thường xuyên đóng của toàn bộ tập dữ liệu đồ thị GD và các tập FSi2 sẽ lưu các 2-subgraph thường xuyên của các đồ thị gi∈ GD. Cùng với đó chúng ta cũng sẽ dùng 𝐶2𝑖 để lưu toàn bộ ứng viên 2-subgraph của đồ thị gi ∈⁡

GD. Tiếp theo từ 𝐹𝑆3𝑖 trở đi chúng ta chỉ lưu các tập đồ thị con thường xuyên đóng nên 𝐹𝑆3𝑖 bị thay thế bằng 𝐶𝑆3𝑖. Tại mỗi bước khai phá đồ thị con thường xuyên đóng mức k (k >= 2) ta sẽ kết hợp các đồ thị nằm trong 𝐹𝑆2𝑖 và 𝐶𝑆𝑘−1𝑖 ⁡để sinh ra các ứng viên nằm trong 𝐶𝑘𝑖, mỗi thành viên nằm trong 𝐶𝑘𝑖 khi sinh ra sẽ được đưa vào một danh sách liên kết được sắp xếp sẵn tạo thành một danh sách liên kết được sắp thứ tự theo CAM. Khi cần xác định một ứng viên trong 𝐶𝑘𝑖 có phải là đồ thị con thường xuyên hay không thì chúng ta áp dụng chiến thuật tìm kiếm nhị phân được coi là tối ưu nhất hiện nay để tìm sự xuất hiện của nó trong các 𝐶𝑘𝑗 khác. Rõ ràng, ta thấy ở đây mỗi đồ thị con ứng viên sẽ được tìm bằng tìm kiếm nhị phân. Giả sử mỗi đồ thị gi có m đồ thị con ứng viên mức k thì việc tìm kiếm một đồ thị con trong nó là O(logm) nên dù m có lớn đến đâu thì thuật toán xác định đồ thị con đẳng cấu và đếm độ hỗ trợ của một đồ thị con ứng viên vẫn thuộc lớp P tức là giải quyết trong thời gian đa thức [3].

Một phần của tài liệu (LUẬN văn THẠC sĩ) bài toá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 (Trang 27 - 28)

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

(66 trang)