Giải thuật di truyền đơn quần thể:
Giả sử chúng ta đã có phƣơng pháp mã hóa di truyền cho bài toán và xây dựng hàm lƣợng giá độ thích nghi cho các cá thể. Giải thuật di truyền bao gồm các bƣớc sau:
Bước 1: Khởi tạo quần thể ban đầu.
Bước 2: Lƣợng giá hàm mục tiêu hay tính độ thích nghi cho từng nhiễm sắc thể trong quần thể.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bước 3: Kiểm tra điều kiện tối ƣu. Nếu điều kiện tối ƣu đƣợc thỏa mãn thì chuyển sang bƣớc 5. Nếu không chuyển sang bƣớc 4.
Bước 4: Thực hiện tạo quần thể mới bằng cách thực hiện các cơ chế di truyền nhƣ chọn lọc, lai ghép, đột biến. Các cá thể mới sinh ra đƣợc thay thế cho các cặp cha mẹ trong quần thể cũ.
Bước 5: Khi điều kiện tối ƣu đƣợc thoả mãn, giải thuật dừng và trả lại cá thể tốt nhất.
Hình 2.2: Sơ đồ giải thuật di truyền.
Mô phỏng giải thuật di truyền:
Thỏa Điều kiện tối ƣu Không Đánh giá hàm thích nghi Bắt đầu Tạo quần thể Cá thể tốt nhất Chọn lọc Lai ghép Đột biến Kết thúc
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Cấu trúc của một giải thuật tiến hóa nói chung và của một giải thuật di truyền nói riêng có dạng nhƣ trên. Ở bƣớc lặp t, giải thuật di truyền duy trì một quần thể các lời giải.Mỗi lời giải đƣợc đánh giá để biết đƣợc độ thích nghi của nó.Ở mỗi quần thể mới (tức ở lần lặp thứ t + 1) đƣợc hình thành bằng cách chọn và giữ lại những cá thể thích nghi nhất.Một số cá thể của quần thể này trải qua những biến đổi nhờ lai ghép và đột biến hình thành nên những lời giải mới.
Một quá trình đơn quần thể nhƣ trình bày trên là khá mạnh và có thể đƣợc áp dụng tốt cho một lớp lớn các bài toán. Tuy nhiên chúng ta có thể thu đƣợc kết quả tốt hơn nếu nhƣ sử dụng không chỉ một mà là nhiều quần thể, hay còn gọi là các quần thể con. Mỗi quần thể con sẽ tạo ra một vài thế hệ cô lập trƣớc khi có sự trao đổi một hay nhiều cá thể giữa các quần thể với nhau. Lúc này, giải thuật di truyền đƣợc gọi là đa quần thể và việc mô phỏng sẽ gần gũi với tự nhiên hơn giải thuật đơn quần thể.
Begin
t = 0; // biến lưu trữ giá trị quần thể thứ t Khởi tạo quần thể ban đầu P(t);
Tính độ thích nghi cho các cá thể thuộc P(t); Lặp (Khi chưa thỏa điều khiển dừng)
t = t + 1;
Tái sinh P’(t) từ P(t); // Replication Lai ghép Q(t) từ P(t-1); // Crossover Đột biến R(t) từ R(t-1); // Mutation Chọn lọc P(t) từ P; // Selection Kết thúc lặp
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn