Hoạt động của thuật toán di truyền dựa trên thuyết chọn lọc tự nhiên. Theo thuyết này thì quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất. Quá trình tiến hóa diễn ra trên nhiều thế hệ, thế hệ sau đƣợc sinh ra thƣờng tốt hơn thế hệ trƣớc do đƣợc kế thừa những mặt tốt của bố mẹ. Xuất phát từ ý tƣởng đó, thuật toán di truyền đã đƣợc ra đời, kế thừa những tƣ tƣởng của lý thuyết chọn lọc tự nhiên. Chúng ta sẽ nói về các “cá thể” trong một quần thể: thƣờng thì các cá thể này còn đƣợc gọi là xâu hoặc nhiễm sắc thể. Mỗi tế bào trong cơ thể của một loại nào đó chứa một số nhất định nhiễm sắc thể (ví dụ trong cơ thể ngƣời có 46 nhiễm sắc thể); tuy nhiên, trong bài này thì ta chỉ nói về các cá thể chỉ chứa đúng một nhiễm sắc thể. Mỗi nhiễm sắc thể bao gồm các đơn vị - gen – xếp liên tiếp; mỗi gen điều khiển sự thừa kế của một hoặc vài tính trạng. Gen của tính trạng nhất định có vị trí xác định trên nhiễm sắc thể, vị trí đó đƣợc gọi là loci (vị trí trên xâu). Một tính trạng bất kỳ (thí dụ màu mắt) có thể đƣợc thể hiện với nhiều mức độ khác nhau; ta nói gen đó có nhiều trạng thái (gọi là allete).
Mỗi nhiễm sắc thể (cá thể) sẽ biểu thị một lời giải có thể của một bài toán (ý nghĩa của mỗi nhiễm sắc thể, nghĩa là kiểu gen của nó, đƣợc quy ƣớc bởi ngƣời lập trình); một qúa trình tiến hóa đƣợc thực hiện trên một quần thể nhiễm sắc thể là tƣơng đƣơng với sự tìm kiếm trong một không gian các lời giải có thể. Sự tìm kiếm này đòi hỏi sự cân bằng giữa hai mục đích: khai thác lời giải tốt nhất và khám phá không gian tìm kiếm. Phƣơng pháp “leo núi” là một ví dụ về chiến lƣợc khai thác lời giải tốt nhất
theo các hƣớng cải tiến. Tìm kiếm ngẫu nhiên là một ví dụ điển hình của sự khám phá không gian tìm kiếm, không chú trọng khai thác các miền hứa hẹn trong không gian tìm kiếm. Thuật toán di truyền là lớp các phƣơng pháp tìm kiếm tổng quát (không phụ thuộc vào miền xác định) với sự cân bằng đáng kể giữa khai thắc và khám phá không gian tìm kiếm.
Hình II.1. Mô phỏng quá trình tiến hóa
Thuật toán dị truyền, cũng nhƣ các thuật toán tiến hóa nói chung, 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à hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ƣu. Quan niệm này có thể đƣợc xem nhƣ là một tiên đề đúng, không chứng minh đƣợc, nhƣng phù hợp với thực tế khách quan. Quá trình tiến hóa thể hiển tính tối ƣu ở chỗ, thế hệ sau bao giờ cũng tốt hơn, phát triển hơn, hoàn thiện hơn thế hệ trƣớc. Tiến hóa tự nhiên đƣợc duy trì nhờ hai quá trình cơ bản: sinh sản và chọn
lọc tự nhiên. Xuyên suốt quá trình tiến hóa tự nhiên, các thế hệ mới luôn đƣợc sinh ra để bổ xung và thay thế thế hệ cũ. Cá thể nào phát triển hơn, thích ứng hơn với môi trƣờng sẽ tồn tại, cá thể nào không thích ứng với môi trƣờng sẽ bị đào thải. Sự thay đổi môi trƣờng là động lực thúc đẩy quá trình tiến hóa. Ngƣợc lại, tiến hóa cũng tác động trở lại góp phần làm thay đổi môi trƣờng.
Trong thuật giải di truyền, các cá thể mới liên tục đƣợc sinh ra trong quá trình tiến hóa nhờ sự lai ghép ở thế hệ cha mẹ. Một các thể mới có thể mang những tính trạng của cha mẹ (di truyền), cũng có thể mang những tính trạng hoàn toàn mới (đột biến). Di truyền và đột biến là hai cơ chế có vai trò quan trọng nhƣ nhau trong tiến hóa, dù rằng đột biến xay ra với xác xuất nhỏ hơn nhiều so với hiện tƣợng di truyền. Các thuật toán tiến hóa, tuy có những đặc điểm khác biết, nhƣng đề mô phỏng bốn quá trình cơ bản: Lai ghép, đột biến, sinh sản và chọn lọc tự nhiên.
Nhƣ vậy quá trình tiến hóa càng lâu thì càng có điều kiện cho các cá thể tốt đƣợc sinh ra, và chất lƣợng của các cá thể càng đƣợc nâng lên.
II.3.1. Quá trình lai ghép (phép lai)
Phép lai là quá trình hình thành nhiếm sắc thể mới trên cơ sở các nhiễm sắc thể của cha mẹ, bằng cách ghép một hay nhiều đoạn gen của hai (hay nhiều) nhiễm sắc thể cha mẹ với nhau.
Lai ghép một điểm
Trên nhiễm sắc thể của cơ thể cha mẹ sẽ chọn ra một vị trí (điểm lai). Dữ liệu ở các phía của điểm lai sẽ đƣợc hoán chuyển cho nhau giữa hai nhiễm sắc thể của cha mẹ. Kết quả ta sẽ có nhiễm sắc thể của thế hệ con.
Hình II.2. Lai ghép một điểm
Trên cơ thể của cha mẹ đƣợc xác định hai điểm lai ghép. Mọi dữ liệu giữa hai điểm lai ghép đó đƣợc hoán đổi cho nhau trong nhiễm sắc thể của hai cha mẹ, tạo ra hai nhiễm sắc thể của thế hệ con.
Hình II.3. Lai ghép hai điểm
Cắt và ghép
Không giống nhƣ hai kiểu trên, với phƣơng pháp lai “cắt và ghép” cho ta kết quả hai cơ thể con có độ dài nhiễm sắc thể khác nhau, lý do của sự khác biệt này chính là mỗi nhiễm sắc thể của cha mẹ đều có điểm lai khác nhau.
Hình II.4. Cắt và ghép
Ví dụ về phép lai
Hình II.5. Ví dụ về phép lai
- Chọn ngẫu nhiên hai (hay nhiều) các thể bất kì trong quần thể. Giả sử các nhiễm sắc thể của cha mẹ đều có m gen.
- Tạo một số ngẫu nhiên trong khoảng từ 1 đến m-1 (ta gọi là điểm lai). Điểm lai chia các chuỗi cha mẹ dài m thành 2 nhóm chuỗi con dài m1 và m2. Hai chuỗi nhiễm sắc thể con mới sẽ là m11+m22 và m12+m21.
- Đƣa hai cá thể mới này vào quần thể để tham gia các quá trình tiến hóa tiếp theo.
II.3.2. Quá trình đột biến (phép đột biến)
Đột biến là hiện tƣợng cá thể con mang một số tính trạng không có trong mã di truyền của cha mẹ. Mục đích của phép đột biến trong thuật toán di truyền là giúp cho thuật toán tránh đƣợc các cực trị cục bộ. Phép đột biến xảy ra với xác suất Pm nhỏ hơn rất nhiều so với xác suất Pc. Một phép đột biến có thể mô phỏng nhƣ sau:
Hình II.6. Đột biến tại bít thứ 6
- Chọn ngẫu nhiên một cá thể cha mẹ bất kì trong quần thể. - Tạo một số ngẫu nhiên k trong khoảng từ 1 đến m (1≤k≤m).
- Thay đổi gen thứ k và trả cá thể này về quần thể để tham gia quá trình tiến hóa tiếp theo.
II.3.3. Quá trình sinh sản và chọn lọc (phép tái sinh và phép chọn)
Phép tái sinh là quá trình trong đó các cá thể đƣợc sao chép trên cơ sở độ thích nghi của nó. Còn phép chọn là quá trình loại bỏ các cá thể xấu trong quần thể để giữ lại trong quần thể các cá thể tốt. Phép chọn lọc có thể mô phỏng nhƣ sau:
- Sắp xếp quần thể theo thứ tự độ tốt giảm dần.
- Loại bỏ các cá thể cuối dãy để chỉ giữ lại m cá thể có độ thích nghi tốt nhất, ở đây ta giả sử quần thể có kích thƣớc cố định m.