Chƣơng 3 SỬ DỤNG GIẢI THUẬT DI TRUYỀN TÁCH TỪ TIẾNG VIỆT
3.3. Sử dụng giải thuật di truyền để tách từ tiếng Việt
3.3.5. Toán tử chọn lọc
Ở mỗi thế hệ, chúng ta đánh giá và chỉ chọn giữ lại N cá thể tốt nhất. Trƣớc tiên, các cá thể sẽ đƣợc tính độ thích nghi (fitness) chính là tổng giá trị MI của các từ đƣợc tách trong câu.
Hàm thích nghi của mỗi cá thể id đƣợc xác định nhƣ sau: fit(id) = fit(x1x2…xm) = m k k x MI 1 ) ( (3.7) fit(pop) = N i i id fit 1 ) ( (3.8)
Xử lý chọn lọc các thể đƣợc hình thành trên mô hình tái tạo quay trên vòng tròn có hƣớng Rulet. Mỗi khi cần tạo ra một con, giải thuật sẽ thực hiện một lần quay trên vòng tròn có trọng số nhằm sinh sản ra ứng cử viên cho việc tái sinh. Kỹ thuật này có thể thực hiện theo các bƣớc sau:
- Tính fit(pop) của tất cả các thành viên trong quần thể. - Sinh một số ngẫu nhiên trong khoảng từ 0 đến fit(pop).
- Trả lại thành viên đầu tiên mà độ phù hợp của nó công với độ phù hợp của các thành viên trƣớc đấy lớn hơn hoặc bằng .
Nếu ta cần chọn tái sinh N cá thể thì chỉ việc tiến hành N lần. Sau đó khi thực hiện quá trình tái tạo, quần thể sẽ đƣợc sắp xếp theo giá trị của độ thích nghi giảm dần, quá trình chọn lọc cá thể sẽ chọn top N cá thể có độ thích nghi cao nhất để tạo nên quần thể tiếp tục tiến hoá ở các thế hệ sau.
Đây là quá trình quan trọng trong cải tiến trình tiến hoá vì việc lựa chọn cá thể ở bƣớc này sẽ quyết định cá thể tiến hoá có tốt hay không.
3.3.6. Toán tử lai ghép
Áp dụng thao tác lai ghép trên hai xâu bit bố mẹ để tạo ra những con lai tốt với xác suất lai ghép pc. Xác suất này cho chúng ta số lƣợng pc*pop các cá thể đƣợc dùng cho hoạt động lai ghép.
Với một cá thể trong quần thể:
- Sinh một số ngẫu nhiên r trong [0..1]. - Nếu r < Pc thì chọn cá thể đó để lai ghép.
- Kết hợp các cá thể đƣợc chọn một cách ngẫu nhiên.
Luận văn đề xuất cải tiến cho phép lai đó là thực hiện lai ghép nhiều điểm trên hai cá thể bố mẹ. Với mỗi cặp cá thể id1 và id2, phát sinh ngẫu nhiên
n số pi (i [1..n]) báo hiệu vị trí lai ghép trên cá thể bố mẹ. Hai cá thể con đƣợc tạo ra bằng hoán đổi các đoạn của id1 với id2 và ngƣợc lại.
Ví dụ: Giả sử có hai bố mẹ là: id1 = 1 0 0 | 1 1 1 | 0 1 0 1
id2 = 0 1 0 | 0 1 1 | 1 1 1 0
với vị trí lai ghép là 3 và 6 thì hai cá thể con: id‟1 = 1 0 0 0 1 1 0 1 0 1
id‟2 = 0 1 0 1 1 1 1 1 1 0
Trong quá trình thực hiện lai ghép, nếu cá thể con vi phạm các điều kiện giới hạn về kích thƣớc (mỗi đoạn xk có kích thƣớc tối đa là 4) thì sẽ đƣợc chuẩn bằng cách đảo các bit gây ra vi phạm ở cuối đoạn này.
3.3.7. Toán tử đột biến
Thay vì dùng phép đột biến đảo bit ngẫu nhiên, luận văn này đề xuất hai cải tiến đối với quá trình đột biến nhƣ sau:
Hoán chuyển vị trí của hai bit liền nhau tại một vị trí ngẫu nhiên:
Trong việc phân định ranh giới từ, ta thấy một tiếng nếu kết hợp với tiếng trƣớc không phù hợp thì có thể kết hợp với từ đứng sau sẽ phù hợp hơn, hoặc là đứng một mình.
Ví dụ: Có một chuỗi có độ dài 14 nhƣ sau:
id = 1 0 0 1 0 0 0 1 1 0 0 1 0 0
Thực hiện đảo vị trí 2 bit số 7 và 8 trong chuỗi ta đƣợc các thể mới: id' = 1 0 0 1 0 0 1 0 1 0 0 1 0 0
Thực hiện tìm kiếm và sắp xếp lại các bit trong cá thể con (toán tử đảo ngƣợc). Dƣới tác động của toán tử này, hai điểm đƣợc chọn dọc theo chiều dài của chuỗi, rồi cắt chuỗi tại hai điểm đó. Tiếp theo đó, hai chuỗi gen con ở hai đầu sẽ đƣợc đổi chỗ cho nhau.
Ví dụ: Có một chuỗi có độ dài 14 nhƣ sau: id = 1 0 | 0 1 0 0 0 1 1 0 0 0 | 0 1
Chuỗi trên đƣợc cắt tại vị trí số 2 và vị trí số 12, sau đó tráo đổi hai chuỗi ở hai đầu cho nhau, chúng ta có chuỗi kết quả:
A' = 0 1 0 1 0 0 0 1 1 0 0 0 1 0
Tƣơng tự quá trình lai ghép, ta sẽ chuẩn hóa các cá thể để thỏa mãn điều kiện giới hạn kích thƣớc của phân đoạn.