Bài toán dành cho GAs là tìm kiếm trên không gian các giả thuyết ứng cử để xác định giả thuyết tốt nhất. Trong GAs “giả thuyết tốt nhất” được định nghĩa như là một giả thuyết tối ưu hóa một đại lượng số được định nghĩa trước cho bài toán sắp tới, được gọi là
độ thích nghi của giả thuyết. Ví dụ, nếu tác vụ học hỏi là bài toán xấp xỉ một hàm chưa biết cho tập mẫu huấn luyện gồm dữ liệu đầu vào và dữ liệu đầu ra, thì độ thích nghi có thể được định nghĩa như là độ chính xác của giả thuyết trên dữ liệu huấn luyện này. Nếu tác vụ là học chiến lược chơi cờ, độ thích nghi có thể là số ván thắng của chiến lược này khi đấu với các chiến lược khác trong quần thể hiện tại.
Mặc dù các thuật giải di truyền được thực hiện thay đổi theo bài toán cụ thể, nhưng chúng chia sẻ chung cấu trúc tiêu biểu sau: Thuật giải hoạt động bằng cách cập nhật liên tục tập giả thuyết – được gọi là quần thể. Ở mỗi lần lặp, tất cả các cá thể trong quần thể được ước lượng tương ứng với hàm thích nghi. Rồi quần thể mới được tạo ra bằng cách lựa chọn có xác suất các cá thể thích nghi tốt nhất từ quần thể hiện tại. Một số trong những cá thể được chọn được đưa nguyên vẹn vào quần thể kế tiếp. Những cá thể khác được dùng làm cơ sở để tạo ra các cá thể con bằng cách áp dụng các tác động di truyền:
lai ghép và đột biến.
Bảng 3.1: Thuật giải di truyền mẫu. [20]
GA (Fitness, Fitness_threshold, p, r, m)
{ // Fitness: hàm gán thang điểm ước lượng cho một giả thuyết.
// Fitness_threshold: Ngưỡng xác định tiêu chuẩn dừng giài thuật tìm kiếm. // p: Số cá thể trong quần thể giả thuyết.
// r: Phân số cá thể trong quần thể được áp dụng toán tử lai ghép ở mỗi bước. // m: Tỉ lệ cá thể bị đột biến.
Khởi tạo quần thể: P Tạo ngẫu nhiên p cá thể giả thuyết
Ước lượng: Ứng với mỗi h trong P, tính Fitness(h)
while [max Fitness(h)] < Fitness_threshold do
Tạo thế hệ mới, PS
1. Chọn cá thể: chọn theo xác suất (1 – r)p cá thể trong quần thể P thêm vào PS. Xác suất Pr(hi) của giả thuyết hi thuộc P được tính bởi công thức:
25
𝐏𝐫 hi = Fitness(hi) Fitness(hj)
p j=1
2. Lai ghép: chọn lọc theo xác suất 2
rp
cặp giả thuyết từ quần thể P, theo Pr(hi) đã tính ở bước trên. Ứng với mỗi cặp <h1, h2>, tạo ra hai con bằng cách áp dụng toán tử lai ghép. Thêm tất các các con vào PS.
3. Đột biến: Chọn m% cá thể của PS với xác suất cho mỗi cá thể là như nhau. Ứng với mỗi cá thể biến đổi một bit được chọn ngẫu nhiên trong cách thể hiện của nó.
4. Cập nhật: PPS.
5. Ước lượng: Ứng với mỗi h trong P, tính Fitness(h)
Trả về giả thuyết trong P có độ thích nghi cao nhất. }
Quần thể gồm p cá thể. Ở mỗi lần lặp, quần thể kế tiếp PS được hình thành từ việc lựa chọn theo xác suất các giả thuyết hiện tại theo độ thích nghi của chúng và bằng cách thêm vào các giả thuyết mới. Các giả thuyết mới được tạo ra bằng cách áp dụng toán tử lai ghép cho cặp giả thuyết thích nghi nhất và bằng cách tạo ra các đột biến điểm đơn trong thế hệ giả thuyết kết quả. Quá trình này được lặp cho đến khi các giả thuyết thích hợp được phát hiện. Các toán tử lai ghép và đột biến tiêu biểu được định nghĩa trong bảng kế tiếp.
Một thuật giải di truyền mẫu được mô tả trong bảng 3.1. Các đầu vào cho thuật giải này bao gồm hàm tính độ thích nghi để tính hạng cho các giả thuyết ứng cử, một giá trị ngưỡng được định nghĩa cấp độ thích nghi có thể chấp nhận để kết thúc thuật giải, kích thước quần thể, và các tham số quyết định các quần thể kế tiếp được tạo ra như thế nào: phần quần thể bị thay thế ở mỗi thế hệ và tỉ lệ đột biến.
Lưu ý trong thuật giải này, ở mỗi bước lặp qua vòng lặp chính tạo ra một thế hệ mới các giả thuyết dựa vào quần thế hệ hiện tại. Trước tiên, một số giả thuyết được chọn từ quần thể hiện tại để đưa vào thế hệ kế tiếp. Những giả thuyết này được chọn theo xác suất, ở đây xác suất của giả thuyết được tính bởi [20]:
Pr 𝑖 = 𝐹𝑖𝑡𝑛𝑒𝑠𝑠 𝑖 𝐹𝑖𝑡𝑛𝑒𝑠𝑠 𝑗
𝑝 𝑗 =1
Vì vậy, xác suất để giả thuyết được chọn tỉ lệ với độ thích nghi của nó và tỉ lệ nghịch với độ thích nghi của các giả thuyết cạnh tranh khác trong quần thể hiện tại.
Một khi các cá thể này của thế hệ hiện tại đã được chọn để đưa vào quần thể thế hệ kế tiếp, các cá thể thêm vào được tạo ra dùng toán tử lai ghép. Lai ghép, được định nghĩa chi
26
tiết trong phần kế tiếp, lấy hai giả thuyết từ thế hệ hiện tại và tạo ra hai giả thuyết con bằng cách kết hợp các phần của hai giả thuyết cha. Các giả thuyết cha được chọn theo xác suất từ quần thể hiện tại, sử dụng hàm xác suất được định nghĩa ở trên. Sau khi các cá thể mới được tạo ra từ hoạt động lai ghép này, quần thế thế hệ mới bây giờ có đủ số lượng thành viên mong muốn. Lúc này, một phân số m nào đó các cá thể này được chọn một cách ngẫu nhiên và tất cả các đột biến ngẫu nhiên được thực hiện để thay đổi các cá thể này.