Nội dung thuật toán

Một phần của tài liệu CNTT1002 (Trang 28 - 30)

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ñột biến.

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.

http://etrithuc.vn

// 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 [maxFitness(h)] < Fitness_thresholddo

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:

2. Lai ghép: chọn lọc theo xác suất

2

r×p

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. }

Bảng 3.1. Thuật giải di truyền mẫu

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ñộ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.

http://etrithuc.vn

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ừ (adsbygoogle = window.adsbygoogle || []).push({});

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:

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 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 cho bởi phương trình (2.1). 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.

Một phần của tài liệu CNTT1002 (Trang 28 - 30)