Cấu trúc thuật giải di truyền tổng quát

Một phần của tài liệu Các kỹ thuật toán học cho bài toán so sánh đa trình tự (Trang 70 - 71)

4- NGÀY HOÀN THÀNH NHI ỆM VỤ :

4.3.2.Cấu trúc thuật giải di truyền tổng quát

Bắt đầu

t=0;

Khởi tạo quần thểP(t);

Tính độ thích nghi cho các cá thể thuộc P(t); while (điều kiện dừng chưa thoả) { t = t+1; Tái sinh P’(t) từP(t-1); Lai Q(t) từP’(t); Đột biến R(t) từP’(t); Chọn lọc P(t) từ P t( − ∪1) Q t( )∪R t( )∪P' t( ); } Kết thúc.

Ý tưởng của việc sử dụng giải thuật GA cho bài toán TSP:

Chúng ta xây dựng một quần thể các lời giải của bài toán TSP. Quần thể có m cá thể với m là tham số do người dùng điều chỉnh. Mỗi nhiễm sắc thể sẽ có k gene, mỗi gene đại diện cho 1 đỉnh. Hàm fitness chính là chiều dài của quãng đường ứng với nhiễm sắc thể. Quãng đường ứng với nhiễm sắc thể càng ngắn hàm thích nghi càng tốt. Chúng ta sẽ xây dựng các hàm lai ghép, đột biến, và chọn lọc cho giải thuật.

Ví dụ:

Phép lai ghép sử dụng phép lai ghép theo giải thuật PMX(Partially-Mapped Crossover). Nội dung phép lai ghép này như sau: Sử dụng 2 điểm cắt trên nhiễm sắc thể của cả cha-mẹ. Để tạo một nhiễm sắc thể mới(con), phần chuỗi nằm giữa 2 điểm cắt của nhiễm sắc thể thứ nhất cha(mẹ) sẽ được thay thế cho phần chuỗi nằm giữa 2 điểm cắt của nhiễm sắc thể còn lại. So sánh sự thay đổi gene trong phần giữa 2 điểm cắt của nhiễm sắc thể thứ hai với nhiễm sắc thể mới tạo, thực hiện sự thay đổi các phần tử bên ngoài vùng giữa 2 điểm cắt của nhiễm sắc thể con, dựa trên sự thay đổi này. Điều này đảm bảo cho không có sự lặp lại của các gene trong nhiễm sắc thể mới. Tương tự đổi vai trò của nhiễm sắc thể cha mẹ với nhau ta sẽ tạo được thêm 1 con mới.

Xét ví dụ 2 nhiễm sắc thể cha 1 2 5 6 4 3 8 7 và mẹ 1 4 2 3 6 5 7 8 . Xét 2 điểm cắt tại vị trí 3,6. Quá trình tạo ra 1 nhiễm sắc thể mới(con) như sau. Thay thế chuỗi nằm giữa 2 điểm cắt của mẹ là 2 3 6 bằng chuỗi nằm giữa 2 điểm cắt của cha 5 6 4 lúc

Nhiễm sắc thể cho bài toán TSP 9 đỉnh [9 3 4 0 1 2 5 7 6 8]

này nhiễm sắc thể con là 1 4 5 6 4 5 7 8. Như vậy 5, 4 xuất hiện 2 lần trong nhiễm sắc thể con. So sánh phần nằm giữa 2 điểm cắt của nhiễm sắc thể con và nhiễm sắc thể mẹ ta thấy gene 5 được thay bằng 2, gene 4 được thay bằng 6, nhưng vì 6 có trong phần giữa 2 điểm cắt nên 4 được thay bằng 3. Thực hiện sự thay đổi này với phần nằm ngoài 2 điểm cắt ta được nhiễm sắc thể con mới: 1 3 5 6 4 2 7 8 . Chúng ta có một ví dụ minh họa cho phép Crossover của giải thuật.

Phép đột biến: phép đột biến được thực hiện bằng cách đổi chỗ một cách ngẫu nhiên 2 gene bất kỳ trong 1 nhiễm sắc thể, sao cho nhiễm sắc thể mới thu được có chiều dài của con đường tương ứng ngắn hơn so với nhiễm sắc thể ban đầu.

Ví dụminh họa cho phép đột biến của giải thuật:

Phép chọn lọc: Chọn lọc các cá thể có hàm thích nghi tốt nhất.

Một phần của tài liệu Các kỹ thuật toán học cho bài toán so sánh đa trình tự (Trang 70 - 71)