2- LỰA CHỌN ROULETTE WHEEL:
V-XÂY DỰNG GIẢI THUẬT:
Ap dụng GAs để tìm kiếm điểm cực đại ,ta mã hoá các điểm thành các dân số là tập các nhiễm sắc thể , mỗi nhiễm sắc thể là chuỗi nhị phân có chiều dài 32 bit , ở bài toán này có hai loại nhiễm sắc thể tương ứng với hai biến x và y .GAs tìm kiếm trên tập hợp các điểm ,để có tập các điểm (dân số) ban đầu ta tạo ra bằng cách ngẫu nhiên , mỗi nhiễm sắc thể có một giá trị thích nghi tương ứng dựa vào hàm thích nghi được chọn, sau đó điều chỉnh lại độ thích nghi (Fitness Scaling) nếu được chọn , tiếp theo là lựa chọn tối ưu (elitism) nếu được chọn , kế tiếp thực hiện quá trình sinh sản .Việc chọn lựa cha mẹ cho sinh sản được thực hiện ngẫu nhiên qua bánh xe roulette, theo nguyên tắc nhiễm sắc thể nào có độ thích nghi cao sẽ sinh sản nhiều hơn (số lượng sẽ tăng ) , nhiễm sắc thể có độ thích nghi thấp dần dần mất đi .Quá trình sinh sản có hai dạng : sinh sản hữu tính thực hiện qua việc ghép chéo từ cặp nhiễm sắc thể cha me , vị trí ghép chéo được chọn theo nguyên tắc ngẫu nhiên , sinh sản vô tính chỉ đơn giản là sao chép từ cha mẹ , sau đó là đột biến (đổi bit nào đó từ 0 thành 1 và ngược lại)nếu
được chọn . Các quá trình được lặp đi lặp lại cho đến khi vượt quá số thế hệ tìm kiếm hay đạt đến điểm cực đại.
1- CÁC SƠ ĐỒ GIẢI THUẬT:
* Sơ đồ giải thuật chương trình chính:
-Tạo ngẫu nhiên dân số ban đầu:pop[i]
-Nhập các thông số:
.Kích thước dân số:PopSize. .Số thế hệ sinh ra:MaxGen. .Xác suất ghép chéo:CrossProb. .Xác suất đột biến:MuteProb.
Gen= 0;
Thực hiện quá trình sinh sản
-Chọn hàm mục tiêu và chuyển thành hàm thich nghi:fit[i]
Ghi các dữ liệu vào file Chọn phép co độ thích nghi
newop[0] = best
Gen < MaxGen N Y Y Phép co độ thích nghi N Y Select elitist=TRUE N Y
Sơ đồ giải thuật quá trình sinh sản:
Y Điều kiện ghép chéo N i= 0
Thực hiện ghép chéo (sinh sản hữu tính)
Chọn ngẫu nhiên cha mẹ
Thực hiện đột biến
Sinh sản vô tính
Điều kiện đột biến
Y N
i < PopSize
N
Y
* Sơ đồ giải thuật chọn hàm mục tiêu:
FitAlgor (chọn phép co )
0 1 2 3
f1(x,y) f3(x,y) f3(x,y)
Chuyển hàm mục tiêu thành hàm thích nghi: fit[i]
f2(x,y)
* Sơ đồ giải thuật chọn phép co độ thích nghi:
Equation (chọn hàm mục tiêu)
0 1 2