Toán tử đột biến

Một phần của tài liệu Giải thuật di truyền giải bài toán phủ đỉnh nhỏ nhất (Trang 34 - 35)

Có nhiều cách khác nhau để biến đổi một biểu diễn lời giải của bài toán. Dưới đây là một số toán tử đột biến thông dụng.

2.3.2.4.1. Phép đảo bit

Đây là kỹ thuật đột biến đơn giản nhất và thường áp dụng cho mã hóa nhị phân, nó được tiến hành như sau:

 Chọn một (hoặc một số) vị trí ngẫu nhiên để tiến hành đảo bit.

 Lật giá trị của bit tại vị trí đã chọn.

Ví dụ:

Trước đột biến : 1 0 0 1 1 1 0 1 Sau đột biến : 1 0 1 1 1 0 0 1

ở đây, bit 1 được đổi thành bit 0 và ngược lại.

2.3.2.4.2. Phép đổi chỗ

Thường áp dụng cho mã hóa hoán vị và cách tiến hành cũng khá đơn giản. Ví dụ sau đây là thủ tục đổi chỗ 3 gen.

 Chọn ngẫu nhiên 3 vị trí xác định 3 gen sẽ đổi chỗ.

 Đổi vị trí của các gen: gen thứ ba sẽ nằm ở vị trí của gen thứ hai, gen thứ hai sẽ nằm ở vị trí của gen thứ nhất, gen thứ nhất sẽ nằm ở vị trí của gen thứ ba.

Ví dụ:

Hình 2.7. Phép toán đột biến đổi chỗ

Giá trị 9 nằm ở vị trí của giá trị 5, giá trị 5 nằm ở vị trí của giá trị 2 và giá trị 2 nằm ở vị trí của giá trị 9.

Trước đột biến : 1 2 3 4 5 6 7 8 9

2.3.2.4.3. Phép đổi giá trị

Áp dụng chủ yếu cho mã hóa theo giá trị, được tiến hành như sau:

 Chọn ngẫu nhiên một số gen để đổi giá trị.

 Gán lại các giá trị ngẫu nhiên (nhưng nằm trong miền giá trị cho phép) cho các gen đó.

Ví dụ:

Hình 2.8. Phép toán đột biến đổi giá trị

Biến đổi giá tị 2.6 thành 5.1 và 1.9 thành 1.0.

2.3.2.4.4. Phép đảo đoạn

Áp dụng được cho nhiều cách mã hóa khác nhau.

 Chọn 2 vị trí ngẫu nhiên xác định đầu và cuối của đoạn gen sẽ đảo.

 Xếp lại các gen trong đoạn đó theo trật tự ngược với trật tự ban đầu.

Ví dụ:

Hình 2.9. Đột biến đảo đoạn

Một phần của tài liệu Giải thuật di truyền giải bài toán phủ đỉnh nhỏ nhất (Trang 34 - 35)