Các khái niệm cơ bản của giải thuật di truyền

Một phần của tài liệu Tối ưu hóa tham số của phương pháp lập luận mờ sử dụng đại số gia tử (Trang 44 - 49)

Giải thuật di truyền (Genetic Algorithm - GA) lần đầu đƣợc tác giả Holland giới thiệu vào năm 1962. GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốt nhất thông qua quá trình chọn lọc tự nhiên, sao cho khi giải thuật đƣợc thực thi, quần thể các lời giải tiến hoá tiến dần tới lời giải mong muốn[5].

GA duy trì một quần thể các lời giải có thể của bài toán tối ƣu hoá. Thông thƣờng, các lời giải này đƣợc mã hoá dƣới dạng một chuỗi các gien. Giá trị của các gien có trong chuỗi đƣợc lấy từ một bảng các ký tự đƣợc định nghĩa trƣớc. Mỗi cá thể đƣợc liên kết với một giá trị đƣợc gọi là độ phù hợp. Độ phù hợp đƣợc dùng trong quá trình chọn lọc để định giá mức độ cá thể đƣợc lựa chọn làm lời giải cho bài toán.

Cơ chế chọn lọc đảm bảo các cá thể có độ phù hợp tốt hơn có xác suất đƣợc lựa chọn cao hơn. Quá trình chọn lọc sao chép các bản sao của các cá thể có độ phù hợp tốt vào một quần thể tạm thời đƣợc gọi là quần thể bố mẹ.

Các cá thể trong quần thể bố mẹ đƣợc ghép đôi một cách ngẫu nhiên và tiến hành lai ghép tạo ra các cá thể con. Sau khi tiến hành quá trình lai ghép, GA mô phỏng một quá trình khác trong tự nhiên là quá trình đột biến, trong đó các gien của các cá thể con tự thay đổi giá trị với một xác suất nhỏ. Việc đột biến sẽ tạo ra tính đa dạng của quần thể.

Có 6 khía cạnh cần đƣợc xem xét, trƣớc khi áp dụng GA để giải một bài toán, cụ thể là:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Hàm xác định giá trị độ phù hợp. - Sơ đồ chọn lọc các cá thể bố mẹ. - Toán tử lai ghép.

- Toán tử đột biến.

- Chiến lƣợc thay thế hay còn gọi là toán tử tái tạo.

Trong giải thuật GA đơn giản của mình, Holland đã sử dụng mã hoá nhị phân để biểu diễn các cá thể, lý do là phần lớn các bài toán tối ƣu hoá đều có thể đƣợc mã hoá thành chuỗi nhị phân khá đơn giản. Hàm mục tiêu, hàm cần tối ƣu đƣợc chọn làm cơ sở để tính độ phù hợp của các cá thể. Giá trị độ phù hợp của từng cá thể sau đó đƣợc dùng để tính toán xác suất chọn lọc.

Holland đã đƣa ra sơ đồ chọn lọc tỷ lệ cho GA, trong sơ đồ chọn lọc này, cá thể có độ phù hợp fi có xác suất chọn lựa  Nj j i i f f p / 1 , ở đây N là số cá thể có trong quần thể.

Toán tử lai ghép đƣợc đề xuất là toán tử lai ghép một điểm cắt. Giả sử cá thể có độ dài L (có L bit), toán tử lai ghép đƣợc tiến hành qua hai giai đoạn là:

Vị trí lai ghép

1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0

1 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Hai cá thể trong quần thể bố mẹ đƣợc chọn một cách ngẫu nhiên với phân bố xác suất đều.

- Sinh một số ngẫu nhiên j trong đoạn [1,L - 1] . Hai cá thể con đƣợc tạo ra bằng việc sao chép các ký tự từ 1 đến j và tráo đổi các ký tự từ j + 1 đến L.

GA không yêu cầu toán tử lai ghép luôn xảy ra đối với hai cá thể bố mẹ đƣợc chọn, sự lai ghép chỉ xảy ra khi số ngẫu nhiên tƣơng ứng với cặp cá thể bố mẹ đƣợc sinh ra trong khoảng [0,1) không lớn hơn một tham số pc (pc đƣợc gọi là xác suất lai ghép). Nếu số ngẫu nhiên này lớn hơn pc, toán tử lai ghép không xảy ra. Khi đó hai cá thể con là bản sao trực tiếp của hai cá thể bố mẹ.

Tiếp theo, Holland xây dựng toán tử đột biến cho GA. Toán tử đột biến duyệt từng bit của từng cá thể con đƣợc sinh ra sau khi tiến hành toán tử lai ghép và tiến hành biến đổi giá trị từ 0 sang 1 hoặc ngƣợc lại với một xác suất

pm (pm đƣợc gọi là xác suất đột biến).

Cuối cùng là chiến lƣợc thay thế hay còn gọi là toán tử tái tạo. Trong GA, quần thể con đƣợc sinh ra từ quần thể hiện tại thông qua 3 toán tử là chọn lọc, lai ghép và đột biến. Quần thể này sẽ thay thế hoàn toàn quần thể hiện tại và trở thành quần thể hiện tại của thế hệ tiếp theo.

Sơ đồ tổng thể của GA đƣợc thể hiện qua các bƣớc sau đây:

Bước 1: Khởi tạo

k  0;

//Khởi tạo quần thể P0 một cách ngẫu nhiên.

khởi_động(Pk);

//Tính giá trị hàm mục tiêu cho từng cá thể.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

//Đặt lời giải của giải thuật bằng cá thể có giá trị hàm mục tiêu tốt nhất

Xbest tốt_nhất(Pk);

Bước 2: Tiến hoá

//Chuyển đổi giá trị hàm mục tiêu thành giá trị độ phù hợp và

//tiến hành chọn lọc tạo ra quần thể bố mẹ Pparent

Pparent chọn_lọc(Pk );

//Tiến hành lai ghép và đột biến tạo ra quần thể cá thể con Pchild

Pchild đột_biến(lai_ghép(Pparent));

//Thay thế quần thể hiện tại bằng quần thể cá thể con

k  k + 1; Pk Pchild;

tính_hàm_mục_tiêu(Pk);

//Nếu giá trị hàm mục tiêu obj của cá thể tốt nhất X trong quần

//thể Pk lớn hơn giá trị hàm mục tiêu của Xbest thì thay thế lời giải

X  tốt_nhất(Pk);

Nếu obj(X) > obj(Xbest) thì Xbest X;

Bước 3: lặp

Nếu k < G thì quay lại bƣớc 2;

Giải thuật di truyền phụ thuộc vào bộ 4 (N, pc, pm, G), trong đó N là số cá thể trong quần thể, pc là xác suất lai ghép, pm là xác suất đột biến và G là số thế hệ cần tiến hoá, đây là các tham số điều khiển của GA. Cá thể có giá trị

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

hàm mục tiêu tốt nhất của mọi thế hệ là lời giải cuối cùng của GA. Quần thể đầu tiên đƣợc khởi tạo một cách ngẫu nhiên.

Ví dụ: xét bài toán tìm max của hàm f(x) = x2 với x là số nguyên trên đoạn [0,31].

Để sử dụng giải thuật di truyền ta mã hóa mỗi số nguyên x trong đoạn [0,31] bởi một số nhị phân có độ dài 5, chẳng hạn chuỗi 11000 là mã của số nguyên 24

Hàm thích nghi đƣợc xác định chính là hàm f(x)=x2

Quần thể ban đầu gồm 4 cá thể (kích thƣớc quần thể n=4).

Thực hiện quá trình chọn lọc ta có bảng sau, trong bảng này ta thấy cá thể 2 có độ thích nghi cao nhất nên nó đƣợc chọn 2 lần, cá thể 3 có độ thích nghị thấp nhất không đƣợc chọn lần nào, mỗi cá thể 1 và 4 đƣợc chọn 1 lần

Bảng 2.1. Minh họa quá trình chọn lọc Số hiệu cá thể Quần thể ban đầu x Độ thích nghi f(x)=x2 Số lần đƣợc chọn 1 0 1 1 0 1 13 169 1 2 1 1 0 0 0 24 576 2 3 0 1 0 0 0 8 64 0 4 1 0 0 1 1 19 361 1

Thực hiện quá trình lai ghép với xác suất lai ghép pc=1, cả 4 cá thể sau chọn lọc đều đƣợc lai ghép.

Kết quả lai ghép đƣợc cho trong bảng sau, trong bảng này, chuỗi thứ nhất đƣợc lai ghép với chuỗi thứ hai với điểm lai ghép là 4, hai chuỗi còn lại đƣợc lai ghép với nhau với điểm ghép là 2.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Bảng 2.2. Minh họa quá trình lai ghép Quần thể sau chọn lọc Điểm ghép Quần thể sau lai ghép x Độ thích nghi f(x)=x2 0 1 1 0|1 4 0 1 1 0 0 12 144 1 1 0 0|0 4 1 1 0 0 1 25 625 1 1|0 0 0 2 1 1 0 1 1 27 729 1 0|0 1 1 2 1 0 0 0 0 16 256

Để thực hiện quá trình đột biến, ta chọn xác suất đột biến pm=0.001, tức là ta hy vọng có 5 x 4 x 0.001 = 0.02 bit đƣợc đột biến, do đó sẽ không có bit nào đƣợc đột biến.

Nhƣ vậy thế hệ quần thể mới là quần thể sau lai ghép. Ta thấy rằng trong thế hệ ban đầu độ thích nghi cao nhất là 576 và độ thích nghi trung bình là 292. Còn trong thế hệ mới, độ thích nghi cao nhất là 729 và độ thích nghi trung bình là 438. Nhƣ vậy chỉ qua một thế hệ, các cá thể đã “tốt lên” rất nhiều.

Một phần của tài liệu Tối ưu hóa tham số của phương pháp lập luận mờ sử dụng đại số gia tử (Trang 44 - 49)