Một giải thuật di truyền đơn giản

Một phần của tài liệu Tối ưu hóa các thông số hệ mờ sử dụng phân cụm dữ liệu trừ và giải thuật di truyên (Trang 43 - 47)

Các cơ chế của một giải thuật di truyền đơn giản một cách đáng ngạc nhiên, không có gì phức tạp hơn việc sao chép các chuỗi và đổi chỗ cục bộ các chuỗi. Sự đơn giản của hoạt động và sự hiệu quả là hai sự thu hút chính của tiếp cận giải thuật di truyền.

Phần trước đã chỉ ra các giải thuật di truyền xử lý quần thể các chuỗi như thế nào. Hãy trở lại với vấn đề hộp đen công tắc, nhớ rằng quần thể khởi tạo có 4 chuỗi: 01101, 11000, 01000, 10011.

Cũng chú ý rằng quần thể này được lựa chọn một cách ngẫu nhiên bằng cách tung đồng xu. Bây giờ chúng ta phải xác định một tập hợp các thao tác đơn giản để chọn quần thể khởi tạo và tạo ra được các quần thể kế thừa mà chúng ta hi vọng là cải thiện theo thời gian.

Một giải thuật đơn giản cho những kết quả tốt trong nhiều bài toàn thực tế bao gồm ba thao tác:

1. Sinh sản (reproduction)

2. Lai ghép (Crossover)

3. Đột biến (Mutation)

Sinh sản là một quá trình trong đó các chuỗi cá thể được sao chép tuỳ theo giá trị của hàm mục tiêu f (các nhà sinh vật học gọi các hàm này là hàm thích nghi). Về mặt trực giác, chúng ta có thể nghĩ hàm f như là sự định lượng về lợi nhuận, tiện ích, hay các tính chất tốt mà chúng ta muốn cực đại hoá. Sự sao chép các chuỗi theo các giá trị phù hợp của chúng nghĩa là các chuỗi với các giá trị cao sẽ có khả năng

cao hơn trong việc truyền lại các đặc tính cho thế hệ tiếp theo. Hoạt động này là một phiên bản nhân tạo của lựa chọn tự nhiên, sự sống sót theo học thuyết ĐacUyn của một cá thể có sự thích nghi tốt nhất trong chuỗi các sinh vật.

Hoạt động tái sinh có thể được thực hiện trong các dạng thuật toán theo một số cách khác nhau. Có lẽ cách đơn giản nhất là tạo một bánh xe Rulet, trong đó mỗi chuỗi trong quần thể chiếm một khe có kích thước tỉ lệ với độ thích nghi của nó trên bánh xe. Giả sử quần thể mẫu của bốn chuỗi trong bài toán hộp đen có các giá trị hàm thích nghi (hàm mục tiêu) như trong bảng 2.1.

Lấy tổng độ thích nghi của 4 chuỗi, chúng ta được 1170. Tỷ lệ phần trăm của độ thích nghi tổng của quần thể được chỉ ra trong bảng 2.1.

Số thứ tự Chuỗi Độ thích nghi % trên tổng

1 0 1 1 0 1 169 14.4

2 1 1 0 0 0 576 49.2

3 0 1 0 0 0 64 5.5

4 1 0 0 1 1 361 30.9

Tổng số 1170 100.0

Bảng 2.1. Ví dụ về các chuỗi và các độ thích nghi tƣơng ứng

Bánh xe Rulet được đánh trọng số phù hợp cho sự sinh sản của thế hệ này được thể hiện trên hình 2.1.

Hình 2.6 Sự sinh sản đơn giản phân bố các chuỗi con cháu nhờ sử dụng bánh xe Rulet với các khe hở tỉ lệ với bộ thích nghi. Bánh xe mẫu đƣợc dựa trên

Để sinh sản, chúng ta chỉ cần quay bánh xe Rulet 4 lần đối với bài này, chuỗi 1 có giá trị thích nghi là 169, đại diện cho 14.4 phần trăm so với tổng độ thích nghi. Kết quả là chuỗi 1 chiếm 14.4% bánh xe Rulet dốc, và cứ mỗi lần quay 1 chuỗi chiếm 0.144. Mỗi khi chúng ta yêu cầu một thế hệ khác một vòng quay đơn giản của bánh xe Rulet đánh trọng số sẽ chọn ra được ứng cử viên để sinh sản. Bằng cách này những chuỗi thích nghi hơn sẽ có số lượng con cháu lớn hơn trong các thế hệ kế tiếp. Mỗi khi một chuỗi được chọn để sinh sản, một bản sao chính xác của chuỗi đó sẽ được tạo ra. Các bản sao này được đưa vào bể ghép đôi (mating pool), một sự ướm thử quần thể mới cho hoạt động di truyền sau được thực hiện.

Sau khi sinh sản, một qúa trình lai ghép đơn giản được tiến hành theo hai bước: Đầu tiên các thành viên các chuỗi mới trong bể ghép được ghép đôi với nhau một cách ngẫu nhiên. Bước thứ hai, mỗi cặp sẽ trải qua việc lai ghép như sau: một số nguyên chỉ vị trí k dọc theo chuỗi sẽ được lựa chọn qua giá trị ngẫu nhiên nằm trong khoảng từ 1 đến chiều dài chuỗi l-1 [1, l-1]. Hai chuỗi mới sẽ tạo ra bằng cách hoán đổi tất cả các kí tự nằm giữa vị trí k + 1 và l. Thí dụ, xét hai chuỗi A1 và A2 từ quần thể ban đầu trong ví dụ:

A1 = 01101 1 A2 = 11001 0

Giả sử trong khi chọn một số ngẫu nhiên nằm trong khoảng từ 1 đến 4, chúng ta được k = 4 (như được chỉ ra bằng dấu ngăn cách ). Kết quả của việc lai ghép làm sinh ra hai chuỗi mới A’1 và A’2 trong đó dấu ’ có nghĩa là các chuỗi này là phần tử của thế hệ mới.

A’1 = 0 1 1 0 0 A’2 = 1 1 0 0 1

Cơ chế sinh sản và lai ghép đơn giản bao gồm việc sinh số ngẫu nhiên, sao chép chuỗi và trao đổi các chuỗi thành phần. Tuy nhiên điểm cần nhấn mạnh là việc sinh sản và trao đổi thông tin có cấu trúc (dù là một cách ngẫu nhiên) của quá trình lai ghép làm cho các giải thuật di truyền tăng thêm sức mạnh.

Hình 2.7. Lƣợc đồ của sự ghép chéo đơn giản chỉ ra sự sắp xếp hai chuỗi và trao đổi thông tin giữa hai chuỗi sd vị trí trao đổi một cách ngẫu nhiên

Bằng cách nào mà hai cơ chế tính toán nhỏ và đơn giản như vậy lại đạt kết quả ở bất cứ cái gì huống chi là cơ chế tìm kiếm nhanh chóng và bền vững? Hơn nữa, có bất bình thường không nếu may mắn cũng đóng vai trò cơ bản trong quá trình tìm kiếm trực tiếp. Chúng ta sẽ trả lời cho câu hỏi thứ nhất ở phần sau, câu trả lời cho câu hỏi thứ hai được đưa ra bởi nhà toán học J.Hadamard (1949):

Chúng ta sẽ thấy ở phần sau rằng: những khám phá do may mắn đơn thuần là không thể có được. Ngược lại, ngoài may mắn phải có sự lao động không biết mệt mỏi. Điêu này không hề ngược lại với phần trên. Thực sự, những phát minh hay khám phá, cho dù là trong lĩnh vực toán học hay bất cứ lĩnh vưc nào, đều là sự kết hợp giữa công sức lao động và sự may mắn.

Nếu sự sinh sản theo độ thích nghi kết hợp với sự lai ghép làm cho giải thuật di truyền có năng lực xử lý tốt hơn, thì sự đột biến đóng một vai trò quyết định thứ hai trong hoạt động của giải thuât di truyền. Sự đột biến là cần thiết bởi vì cho dù sự sinh sản và lai ghép đã tìm kiếm hiệu quả và tái kết hợp các kí hiệu lại với nhau, nhưng thỉnh thoảng chúng trở nên quá sốt sắng và làm mất một vài gen hữu ích nào đó (bit 1 hay bit 0 tại một vị trí đặc biệt nào đó). Trong các hệ thống gen nhân tạo, hoạt động đột biến sẽ chống lại những sự mất mát mà không khôi phục lại được như thế. Trong giải thuật đi truyền đơn giản đột biến là sự thay đổi ngẫu nhiên và không thường xuyên (xác suất nhỏ) trị số vị trí của một chuỗi. Trong việc mã hoá nhị phân bài toán hộp đen, có nghĩa là chỉ cần đổi 1 thành 0 và ngược lại. Tự thân nó đột biến là một hoạt động ngẫu nhiên trong không gian chuỗi, khi được dùng cùng với sự

sinh sản và lai ghép, nó sẽ thành một chính sách bảo hiểm chống lại nguy cơ mất mát những kí hiệu quan trọng. (adsbygoogle = window.adsbygoogle || []).push({});

Hoạt động đột biến đóng một vai trò không quan trọng trong giải thuật di truyền đơn giản, tần số của đột biến để đưa ra được kết quả tốt trong giải thuật di tryền theo kinh nghiệm là 1 đột biến trên một nghìn bít chuyển đổi. Sự đột biến thường nhỏ trong quần thề tự nhiên, do đó chúng ta có thể đột biến được xem như là một cơ chế phụ trong sự thích nghi của giải thuật di truyền.

Ba hoạt động sinh sản, lai ghép và đột biến được chứng minh là rất đơn giản và hiệu quả trong việc giải quyết một số vấn đề tối ưu hoá quan trọng. Trong phần tiếp theo đây, chúng la thực hiện một sự mô phỏng bằng tay của một giải thuật di truyền đơn giản để minh hoạ các cơ chế của nó cũng như sức mạnh của nó.

Một phần của tài liệu Tối ưu hóa các thông số hệ mờ sử dụng phân cụm dữ liệu trừ và giải thuật di truyên (Trang 43 - 47)