Tìm đẳng cấu đồ thị và đẳng cấu đồ thị con

Một phần của tài liệu Phát triển một số kỹ thuật so khớp ứng dụng trong quá trình phát hiện xâm nhập và giả mạo trên mạng (Trang 89 - 92)

CHƯƠNG 3. ỨNG DỤNG SO KHỚP ĐỒ THỊ TRONG QUÁ TRÌNH PHÁT HIỆN CÁC TRANG WEB GIẢ MẠO

3.2. Một số nghiên cứu liên quan về so khớp đồ thị

3.2.1 Tìm đẳng cấu đồ thị và đẳng cấu đồ thị con

Cho một đồ thị mô hình GM có ma trận kề M1 và một đồ thị dữ liệu GD có ma trận kề M2, ban đầu ta phải tính tất cả các ma trận hoán vị của M2 và chuyển ma trận đó thành cây quyết định. Khi thực hiện thuật toán, ma trận kề M1 của đồ thị GM sẽ tìm ma trận kề trong cây quyết định mà đồng nhất với nó. Ma trận kề đó sẽ tương ứng với ma trận kề biểu diễn đẳng cấu đồ thị hoặc đẳng cấu đồ thị con mà bài toán cần tìm.

Giả sử A(GD) là tập hợp tất cả các ma trận kề hoán vị của đồ thị GD. Như vậy, tập hợp A(GD) có thể được xây dựng thành một cây quyết định. Khi đó ma trận kề MD bao gồm một mảng các phần tử được gọi là phần tử hàng-cột ai, mà mỗi ai là một vector có công thức sau:

ai = (m1i, m2i,..., mii, mi(i-1),..., mi1).

Ma trận M được viết lại như sau: M = (a1, a2,...,an); i =

Đồ thị G Ma trận kề của G Vector hàng-cột biểu diễn ma trận kề của G

Hình 3.1. Minh họa về các vector hàng - cột biểu diễn ma trận kề của một đồ thị G.

Để hiểu sơ lược về thuật toán trên, chúng ta xem xét ví dụ minh họa sau đây:

Cho hai đồ thị GMGD có hướng và gán nhãn như dưới đây:

Đồ thị GM Đồ thị GD

Hình 3.2. Đồ thị GM và GD.

Ta biểu diễn đồ thị GMGD bằng hai ma trận kề M1 M2. Sau đó tìm tất cả các ma trận hoán vị có thể của M1, M2 rồi biểu diễn thành cây quyết định.

Hình 3.3. Cây quyết định biểu diễn tất cả các ma trận kề của đồ thị GD.

Hình 3.3 minh họa việc tìm tất cả các ma trận hoán vị của M1 và xây dựng cây quyết định ứng với đồ thị GD. Ma trận kề M1 có tất cả 6 ma trận hoán vị được sắp xếp từ A->F. Các ma trận này được biểu diễn bởi các phần tử hàng-cột tương ứng. Cây quyết định được xây dựng theo các phần tử hàng-cột của mỗi ma trận kề MP A(GD) như sau:

Ban đầu xuất phát từ một nút giả được khởi tạo là gốc của cây quyết định. Đây được coi là mức 0 trong cây. Tiếp theo chúng ta sẽ xây dựng các nút ở mức 1 của cây

quyết định. Mỗi nút trong mức 1 sẽ có một cung nối với nút gốc ở mức 0 và cung này biểu diễn phần tử hàng-cột a1 của mỗi ma trận hoán vị.

Ở ví dụ trên, trong 6 ma trận hoán vị từ A->F, hai ma trận A, B có phần tử hàng cột a1 = {b} và 4 ma trận C, D, E, F có phần tử hàng cột a1 = {a} chính vì vậy sẽ có hai cung biểu diễn cho phần tử a1. Nút con 2 và 3 sẽ được nối với nút gốc bởi hai cung trên. Ở mức 2, ta đi tìm các cung nối biểu diễn các phần tử hàng cột a2 của các ma trận hoán vị. Và tại mỗi bước chúng ta đi kiểm tra phần tử hàng-cột a1 của nó để xác định xem cung này là nhánh con thuộc cung nào ở mức 1. Ví dụ ma trận hoán vị A, B, D có cùng a2 = {1, a, 0} nhưng chỉ ma trận A, B có phần tử hàng-cột a1 = {a} vì vậy cung biểu diễn phần tử hàng-cột a2 của ma trận A, B thuộc nhánh con của cung nối nút 1 và 2 còn ma trận hoán vị D lại có phần tử hàng-cột a1 = {b} nên cung biểu diễn phần tử hàng-cột a2 của ma trận D thuộc vào nhánh con của cung nối nút 1 và 3.

Làm tương tự, ở mức 2 chúng ta thu được 4 cung biểu diễn cho phần tử a2 của 6 ma trận hoán vị ứng với 4 nút 4, 5, 6, 7 (như hình vẽ 3.5). Các cung ở mức 3 sẽ biểu diễn các phần tử hàng cột a3 của 6 ma trận hoán vị A, B, C, D, E, F. Trong ví dụ trên ta thu được 6 cung biểu diễn cho các phần tử hàng-cột ở mức 3.

Như vậy ta thu được 6 nhánh thuộc cây quyết định, cũng chính là 6 nhánh biểu diễn cho 6 ma trận hoán vị được sắp xếp từ A->F.

Một điều lưu ý trong khi xây dựng cây quyết định biểu diễn tất cả các ma trân hoán vị là số mức của cây quyết định bằng với số phần tử hàng-cột ai của các ma trận hoán vị đó.

Cây quyết định biểu diễn đồ thị GM được thực hiện tương tự như việc xây dựng cây quyết định biểu diễn đồ thị GD. Nếu giữa hai đồ thị GMGD tồn tại một đẳng cấu (nếu số đỉnh của hai đồ thị bằng nhau) hoặc một đẳng cấu đồ thị con (nếu số đỉnh của đồ thị GM nhỏ hơn GD) thì cây quyết định biểu diễn đồ thị GMGD sẽ đồng nhất với nhau hoặc cây quyết định của GM đồng nhất với một nhánh của GD nhưng không tạo ra nút mới nào. Hình 3.3 và 3.4 minh họa cho cây quyết định biểu diễn hai đồ thị GDGM trong ví dụ được nêu ở trên. Ta thấy cây quyết định của hai đồ thị GM GD không đồng nhất với nhau, cây quyết định của đồ thị GM có hai nút mới là nút 13 và 15 trong khi cây quyết định của GD không có hai nút này. Dựa vào đây ta có thể khẳng định

Hình 3.4. Cây quyết định biểu diễn hai đồ thị GM và GD

Ưu điểm của thuật toán là đơn giản, dễ hiểu, dễ cài đặt. Giải quyết được hai bài toán phức tạp bài toán đẳng cấu đồ thị và đẳng cấu đồ thị con và áp dụng cho nhiều dạng đồ thị khác nhau. Nhưng nhược điểm của thuật toán là trong trường hợp đồ thị lớn sẽ dẫn đến bùng nổ tổ hợp dẫn đến tính tất cả các hoán vị biểu diễn cho đồ thị GMGD nên thời gian thực hiện thuật toán là hàm giai thừa.

Một phần của tài liệu Phát triển một số kỹ thuật so khớp ứng dụng trong quá trình phát hiện xâm nhập và giả mạo trên mạng (Trang 89 - 92)

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

(135 trang)