Quá trình so khớp các nút của thuật tốn NET

Một phần của tài liệu (LUẬN án TIẾN sĩ) 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 103 - 112)

Hình 3 .6 Ví dụ về chiến lược tìm kiếm theo chiều rộng, chiều sâu sử dụng mã LVEV

Hình 3.10 Quá trình so khớp các nút của thuật tốn NET

Tại dịng 9-10, nếu cĩ cây con trùng khớp với ChildFirst, hàm GenNodePattern sẽ được gọi để tạo node pattern từ những cây con khớp nhau. Hàm này sử dụng giải thuật Partial Tree Alignment trên tập cây con trùng khớp để tạo pattern. Tại dịng 12- 13, pattern cho data record được tạo ra. Cuối cùng hàm PutDataInTables xuất dữ liệu ra bảng. Việc này khá đơn giản khi mẫu bản ghi đã được tạo ra.

3.2.6 Thuật tốn di truyền

Năm 1997, Andrew D.J. Cross và cộng sự đã trình bày những phân tích tập trung vào bài tốn đồ thị cĩ gán nhãn trong giải bài tốn bằng giải thuật dị truyền [51]. Tác giả đã xây dựng trên các nghiên cứu so khớp đồ thị và cho thấy độ đo bền vững Bayes cĩ thể được tối ưu một cách hiệu quả so với hàm đi độ thích nghi trước đĩ được đề xuất bởi Wilson and Hancock (1996).

Năm 1998, Yong Wang và Naohiro Ishii cho thấy ý nghĩa của độ đo tương tự khi so khớp đồ thị theo cách song song hĩa. So khớp đồ thị và độ đo tương tự trên đồ thị cĩ nhiều ứng dụng trong việc nhận dạng mẫu, trong lập luận xấp xỉ dựa trên độ đo tương tự. Tác giả trình bày phương pháp so khớp và đo độ tương tự giữa hai đồ thị được gán nhãn trực tiếp. Bài báo xác định mức độ tương tự đo tương ứng theo sự tương tự và khớp theo sự tương tự để so sánh các đồ thị với nhau. Với tiếp cận này tác giả sử dụng giải thuật di truyền GA để phát hiện sơ đồ về tính tương tự và tính tốn độ tương tự giữa các đồ thị. Để tăng tốc thuật tốn, bài báo đã đề xuất kỹ thuật song song hĩa đối với tất cả các bước của giải thuật di truyền. Các ý tưởng lý thuyết được chương trình hĩa với ngơn ngữ C, cho giải thuật di truyền tuần tự và di truyền song song [53].

Năm 2000, Andrew D.J. Cross và cộng sự tiếp tục cải tiến thuật tốn di truyền trong [51] bằng cách kết hợp với ý tưởng của thuật tốn leo đồi. Đề xuất mới của tác giả là trình bày một cách tốn học về ý nghĩa của ý tưởng của thuật tốn leo đồi cho phép nâng mức độ hội tụ khi kích thước của các nút trong đồ thị so khớp là lớn [52]. Trong đĩ, mỗi cá thể trong quần thể được đánh chỉ số α, hàm 𝑓∝(𝑖) được định nghĩa là

mức độ trùng nhau giữa nút I trong đồ thị dữ liệu được tìm thấy bởi phương án α trong quần thể hiện tại. Các cá thể này được sinh ngẫu nhiên khi khởi tạo tương ứng với mơ hình của đồ thị gán nhãn. Phép tốn lai ghép kết hợp được sử dụng để sinh ra các thế hệ tiếp theo với xác suất lai ghép được lựa chọn là ½ nhằm thay đổi lựa chọn giữa các

phần cấu trúc khác nhau của đồ thị. Phép tốn đột biết được thiết lập ngẫu nhiên trên các nhãn được khớp trong 𝑓∝(𝑖) với tập các đỉnh được lựa chọn trong V2. Để năng cao hiệu quả của việc lựa chọn và khơi phục các đồ thị thành phần được thanh đổi trong các phép tốn lai ghép và đột biến, nhĩm tác giả đã kết hợp thuật tốn leo đồi để tái cấu hình các đồ thị nhằm cực đại giá trị so khớp 𝑃𝐺∝ sau mỗi vịng lặp. Điều này cũng cho phép thực hiện song song các vịng lặp với qui tắc lựa chọn tập quyết định là:

𝑓∝(𝑖) = arg 𝑚𝑎𝑥𝑉2𝑃𝐺∝

Luật này dùng để định vị các phương án gần tối ưu cục bộ để đưa ra phương án tối ưu tồn cục. Do đĩ, việc phân bố lại quần thể trong các giải pháp được đánh giá một lần nữa dựa trên giá trị hàm thích nghi. Các phương án tối ưu cục bộ ở dưới mức tối ưu tồn cục đang cĩ sẽ bị loại khỏi quần thể thơng qua phép chọn lọc tự nhiên. Quá trình này khơng chỉ làm tăng tốc độ hội tụ, mà cịn làm giảm các yêu cầu đối với độ lớn của quần thể khi biểu các đồ thị cĩ cấu trúc lớn. Xác suất lựa chọn các cá thể cho quần thể kế tiếp được xác định là 𝑃𝑠∝ = 𝑃𝐺(∝)

∑∝′∈𝒫𝑃𝐺(∝′) Trong đĩ, 𝑃𝐺(∝) là xác suất của cấu hình tối ưu tồn cục đối với các cá thể trong quần thể.

Năm 2002, Khoo và Suganthan đã đề xuất cơ sở lý luận cho các phép tốn lai ghép và đột biến tương thích cho bài tốn so khớp đồ thị. Thuật tốn đề xuất cho phép sử dụng hai kiểu biểu diễn quần thể khác nhau để thực thi đồng thời. Đây là cơ sở để thực hiện phép tốn so khớp trên các máy tính song song dựa trên việc so sánh các quần thể một cách độc lập.

Năm 2005, Jain cùng cộng sự đã đề xuất thuật tốn di truyền cho so khớp đồ thị sử dụng các nút đặc trưng. Năm 2007, Surapong Auwatanamongkol đã đề xuất thuật tốn di truyền cho bài tốn so khớp đồ thị khơng chính xác đùng để nhận dạng ảnh để tính tốn độ tương tự giữa hai đồ thị với hàm tối ưu đa mục tiêu [68]. Năm 2008, Gerard Sanrom và cùng cộng sự giới thiệu thuật tốn di truyền lai kết hợp với phân tích Procrustes nhằm tăng cường độ chính các trong so sánh các đồ thị được sinh ra từ các hình ảnh [69]. Tiếp đĩ, M. Ferrer cùng cộng sự cũng phát triển thuật tốn di truyền cho bài tốn nhận dạng mẫu dựa trên đồ thị Median [70] năm 2009.

3.3. Giải thuật di truyền cho bài tốn so khớp đồ thị

3.3.1. Giải thuật di truyền

Thuật tốn di truyền được xây dựng dựa trên quy luật tiến hĩa sinh học hay phát triển tự nhiên của một quần thể sống do Goldberg đề xuất và được David và Michalevicz [45] phát triển để giải các bài tốn tối ưu hĩa tổ hợp.

Các cá thể phải trải qua một quá trình phát triển và sinh sản để tạo ra những cá thể mới cho thế hệ tiếp theo. Trong quá trình tăng trưởng và phát triển những cá thể xấu (theo một tiêu chuẩn nào đĩ ví dụ như độ thích nghi với mơi trường và mỗi cá thể sẽ cĩ độ thích nghi với mơi trường khác nhau) sẽ bị đào thải, đồng thời, những cá thể tốt sẽ được giữ lại (quá trình này gọi là quá trình chọn lọc) và được lai ghép (quá trình lai ghép) để tạo ra những cá thể mới cho thế hệ sau.

Quá trình lai ghép được thực hiện ngẫu nhiên giữa các cá thể trong quần thể. Những cá thể mới được sinh ra mang những tính trạng của cá thể cha mẹ (di truyền). Các cá thể trong quá trình lai ghép cĩ thể sẽ xảy ra hiện tượng đột biến và tạo ra các cá thể khác với cá thể cha mẹ. Các cá thể này cĩ thể tốt hơn hoặc xấu hơn cá thể cha mẹ chúng. Tuy nhiên xác suất xảy ra hiện tượng đột biến là nhỏ hơn rất nhiều so với hiện tượng di truyền. Như vậy lai ghép và chọn lọc là hai quá trình cơ bản xuyên suốt quá trình tiến hĩa tự nhiên.

Thuật tốn di truyền là một trong những thuật tốn tiến hĩa, hình thành dựa trên quan niệm cho rằng, quá trình tiến hĩa tự nhiên là quá trình hồn hảo và hợp lý nhất, tự nĩ đã mang tính tối ưu. Điều này tuy chưa được chứng minh nhưng nĩ phù hợp với thực tế khách quan. Tính tối ưu là thế hệ sau bao giờ cũng tốt hơn, hồn thiện hơn thế hệ trước. Tuy nhiên, khơng phải tất cả các trường hợp đều như vậy, vẫn cĩ một hoặc một số cá thể của thế hệ trước tốt hơn thế hệ sau vì vậy, trong khi sử dụng thuật tốn di truyền, chúng ta phải lưu lại những cá thể tốt nhất ở mỗi thế hệ, trải qua số thế hệ nhất định (đây là tham số thiết kế) chúng ta đem so sánh những cá thể tốt nhất của thế hệ với nhau và chọn ra những cá thể tốt nhất giữa chúng. Đĩ cĩ thể chính là lời giải tối ưu của bài tốn hoặc hội tụ tới lời giải tối ưu của bài tốn.

Thuật tốn di truyền sử dụng nhiều thuật ngữ của ngành sinh học như chọn lọc, lai ghép, đột biến, gen, nhiễm sắc thể. Thơng thường một cá thể mang nhiều nhiễm sắc

thể nhưng để đơn giản ta chỉ coi mỗi cá thể mang một nhiễm sắc thể và bộ mã gen của nĩ mang đặc tính của cá thể, mỗi nhiễm sắc thể là một lời giải của bài tốn.

Như đã nĩi ở mục trên, với hai đồ thị GM = (VM, EM) và GD = (VD,ED) với |VM| =

m, |VD| = n (m < n) ta phải đi tìm một ánh xạ f: VM  VD phù hợp nhất biến mỗi cặp đỉnh của đồ thị GM thành một cặp đỉnh của đồ thị GD. Nếu tổng số cặp đỉnh thỏa mãn ánh xạ f càng lớn thì ánh xạ f càng phù hợp.

Ta nĩi f là song ánh nếu và chỉ nếu với mỗi cặp đỉnh (u EM, cho ta cặp (f(u),f(v)) ED. Như vậy cung (f(u),f(v)) là ảnh của cung (u,v) trong đồ thị GD.

Nếu qua ánh xạ f mọi cặp đỉnh (u,v) EM với u, v VM đều cho ảnh của nĩ trong đồ thị GD thì ta sẽ thu được một đồ thị là ảnh của đồ thị GM. Nếu ảnh đĩ trùng khớp với GD thì ta khẳng định hai đồ thị này bằng nhau, cịn trường hợp hai đồ thị chỉ trùng

khớp một phần ta nĩi hai đồ thị này khơng hồn tồn giống nhau. Khi khơng tồn tại ảnh nào của đồ thị GM trong GD, thì ta nĩi hai đồ thị GD và GM là khác nhau.

Ta coi mỗi cá thể qua ánh xạ f của đồ thị GM, là một lời giải của bài tốn đại diện cho một đồ thị con của đồ thị GD với số đỉnh bằng số đỉnh của đồ thị GM. Như vậy tổng số đồ thị con của đồ thị GD chính là tổ hợp chập m phần tử của n.

- Biểu diễn của cá thể: Mỗi cá thể là một véctơ gồm n thành phần I = (i1,

i2,…,ij,… im) với ý nghĩa ánh xạ đỉnh biến j VM thành đỉnh ij VD hay đỉnh ij VD chính là ảnh qua ánh xạ của đỉnh j VM. Với cách biểu diễn này mỗi cá thể I cĩ m nhiễm sắc thể ứng với m đỉnh của đồ thị GD.

- Khởi tạo quần thể ban đầu: Ban đầu ta khởi tạo một quần thể gồm P_SIZE cá

thể (P_SIZE là một hằng số được xác định trước) và là kích thước của quần thể. Mỗi cá thể được sinh ngẫu nhiên bằng cách sinh ngẫu nhiên m số nguyên trong đoạn [1.. n]. Tất nhiên, m số nguyên ngẫu nhiên được sinh ra phải khác nhau. Quần thể ban đầu được sinh P_SIZE cá thể.

- Hàm đo độ thích nghi: Hàm đo độ thích nghi đánh giá độ tốt của một giải pháp

của bài tốn. Nếu độ thích nghi càng cao thì giải pháp đĩ càng gần với lời giải tối ưu của bài tốn. Như vậy hàm đo độ thích nghi trong bài tốn này chính tính tổng các các đơn ánh thỏa mãn với mỗi (u,v) EM cho ta (f(u), f(v)) ED.

Dựa vào ý tưởng đĩ, ta dùng hàm check(u,v) để kiểm tra với mỗi (u,v) EM, cĩ cho ta ảnh (f(u), f(v)) ED của chúng hay khơng? Hay chính là kiểm tra cặp (u,v) cĩ thỏa mãn ánh xạ f hay khơng? Nếu thỏa mãn thì check = 1, nếu khơng thỏa mãn ta gán giá trị bằng 0.

Check(u, v) = (5).

Đối với các dạng đồ thị khác nhau thì điều kiện kiểm tra cặp (u,v) thỏa mãn ánh xạ f là khác nhau.

- Trường hợp đồ thị là vơ hướng: Điều kiện thỏa mãn ánh xạ fnếu cặp (u,v) là

cạnh của đồ thị GM thì (f(u), f(v)) là một cạnh của đồ thị GD trong đĩ f(u), f(v) là ảnh của u, v qua ánh xạ f.

- Trường hợp đồ thị là cĩ hướng: Điều kiện thỏa mãn ánh xạ fnếu cặp (u,v) là

cung của đồ thị GM thì (f(u), f(v)) là cũng là một cung của đồ thị GD.

- Trường hợp đồ thị cĩ trọng số vơ hướng (cĩ hướng): Điều kiện thỏa mãn

ánh xạ f nếu cặp (u,v) là một cạnh (cung) của đồ thị GM thì (f(u), f(v)) là cũng là một cạnh hoặc cung của đồ thị GD thì trọng số cạnh(cung) của chúng phải bằng nhau.

- Trường hợp đồ thị gán nhãn vơ hướng (cĩ hướng): Trường hợp này cũng tương tự như trường hợp đồ thị cĩ trọng số vơ hướng (cĩ hướng) tuy nhiên điều kiện thỏa mãn ánh xạ f trong trường hợp này là nhãn giữa các đỉnh của

hai đồ thị phải giống nhau tức là nhãn đỉnh u trong đồ thị mơ hình GM trùng với nhãn của đỉnh f(u) trong đồ thị dữ liệuGD, nhãn đỉnh v trong đồ thị mơ hìnhGM trùng với nhãn của đỉnh f(v) trong đồ thị dữ liệuGD.

Hàm cost(I) để tính tổng tất cả các cặp (u,v) thỏa mãn ánh xạ f.

cost(I) = . (6);

Cơng thức tính độ thích nghi là:

Nếu cost(I) càng lớn thì fit(I) càng gần 1 như vậy cá thể I càng gần với nghiệm tối ưu.

- Phép tốn lai ghép: khi đồ thị mẫu là bé, độ dài (số thành phần, hay gen)

của các cá thể là ngắn thì việc lai ghép đơn điểm là đủ tốt. Tuy nhiên, khi kích thước của đồ thị mẫu lớn lên, độ dài của các cá thể dài hơn do vậy với một điểm lai ghép các cá thể con thường mang nhiều gen của một trong hai cá thể cha mẹ, điều này dẫn đến quần thể khơng đủ đa dạng. Mặt khác, khi tiến hành lai ghép đa điểm cho hai cá thể tốt (độ thích nghi cao) thì xác suất để lấy được những đoạn nhiễm sắc thể tốt từ hai cá thể lai ghép sẽ cao hơn hơn. Vì vậy, lai ghép đa điểm nên được sử dụng. Trong trường hợp này, nghiên cứu sinh sử dụng lai ghép 2 điểm. Để đảm bảo tính ngẫu nhiên của q trình lai ghép thì thuật tốn phải chọn ra hai cá thể bất kỳ (ngẫu nhiên) trong quần thể và để cĩ thể thực hiện được việc lai ghép thì xác suất lai ghép của cặp cá thể đĩ (xác suất này được sinh ngẫu nhiên) phải nhỏ hơn xác suất lai ghép pc (pc là tham số thiết kế). Trong quá trình lai ghép, mỗi khi hai cá thể được chọn để thực hiện lai ghép, chúng ta sinh ra một số ngẫu nhiên thuộc 𝑟 ∈ [0,1], nếu 𝑟 ≥ 𝑝𝑐 thì chúng ta thực hiện phép trên hai cá thể này, ngược lại chúng ta khơng thực hiện. Xác suất lai ghép là pc (chẳng hạn pc = 0.6 – tức là 60% các cá thể được lai ghép với nhau) cĩ nghĩa là khi lựa chọn hai cá thể cha mẹ để thực hiện lai ghép thì ta sinh ra một số ngẫu nhiên r trong khoảng [0,1], nếu r < 0.6 thì ta thực hiện lai ghép lai ghép, ngược lại ta khơng thực hiện việc lai ghép giữa hai cá thể này.

- Phép toán đột biến : tương tự như lai ghép đa điểm thì đột biến đa điểm sẽ

cho hiệu quả tốt hơn khi kích thước đồ thị lớn và phức tạp do tăng xác suất loại bỏ nhiều các đỉnh khơng tốt (các đỉnh khơng thỏa mãn ánh xạ f) tuy

nhiên các đồ thị mà tác giả nghiên cứu chỉ là những đồ thị vừa và nhỏ nên chỉ giới hạn trong đột biến đơn điểm. Quá trình đột biến cũng là một quá trình ngẫu nhiên vì vậy để đảm bảo tính ngẫu nhiên thì thuật tốn phải chọn ra cá thể I bất kỳ trong quần thể (cá thể I biểu diễn một đồ thị con của

thể này (là một số được sinh ngẫu nhiên 𝑟 ∈ [0,1]) phải nhỏ hơn pm (pm là tham số thiết kế).

Vì các cá thể mới được sinh ra chủ yếu là do quá trình lai ghép, vì vậy việc lựa chọn xác suất lai ghép cũng như đột biến hay phương pháp lai ghép hay đột biến (đơn điểm hay đa điểm) một cách phù hợp với từng bài tốn là một vấn đề khĩ cần phải thực nghiệm một cách xâu rộng. Tuy nhiên, theo khuyến nghị của các tác giả trong [51,53,68,69.70] thì với các thuật tốn di truyền chuẩn xác suất lai ghép và đột biến nên dùng là 0.6 và 0.02 tương ứng. Vì vậy, chúng tơi sử dụng hai giá trị này trong thực nghiệm.

Ban đầu thuật tốn sinh ngẫu nhiên một số nguyên k trong khoảng từ [1..n] (k được gọi là điểm đột biến). Sinh ngẫu nhiên một đỉnh j thay thế cho đỉnh ở vị trí k của cá thể I với điều kiện đỉnh j khơng trùng với đỉnh nào thuộc cá thể I.

- Chọn lọc các cá thể cho thế hệ tiếp: ở mỗi một thế hệ ta chon ra P_SIZE cá

thể cĩ độ thích nghi (Fitness Function) cao nhất trong các cá thế, các cá thể được sinh ra bởi quá trình lai ghép và đột biến sẽ được lựa chọn cho thế hệ kế tiếp.

- Điều kiện dừng: thuật tốn sẽ dừng sau G thế hệ (G là tham số thiết kế)

hoặc giá trị trung bình về độ thích nghi của cá thể khơng thay đổi hoặc sau

Một phần của tài liệu (LUẬN án TIẾN sĩ) 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 103 - 112)