Giải thuật di truyền trong công việc-sự mô phỏng bằng tay

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 47 - 50)

Bây giờ ta hãy trình bày áp dụng giải thuật di truyền vào bài toán tìm cực đại của hàm f(x)=x2. Để áp dụng giải thuật di truyền, trước tiên là phải mã hoá các biến bằng một chuỗi có chiều dài hữu hạn, ở đây ta sẽ mã hoá biến thành một số nguyên nhị phân không dấu có chiều dài là 5. Trước khi tiến hành mô phỏng là sẽ tóm tắt lại về hệ nhị phân, một sáng tạo của loài người. Trong cơ số 10, một số được biểu diễn như sau :

5.104 + 3.103 + 0.102 + 9.101 + 5.100 = 53095 Còn trong hệ nhị phân chỉ có 0 và 1 thì:

1.24 + 0.23+ 0.22+ 1.21 + 1.20 = 16 + 2 + 1 = 19

Với số 5 bít không dấu có thể biểu diễn các số trong khoảng 0 đến 31. Với một hàm mục tiêu được xác định tốt và mã hoá nhị phân, bây giờ ta mô phỏng quá trình sinh sản của giải thuật di truyền với tái tạo, ghép chéo và đột biến.

Để bắt đầu ta chọn ngẫu nhiên một quần thể cỡ 4 ban đầu bằng cách tung đồng xu 20 lần. Chúng ta có thể bỏ qua bước này bằng cách sử dụng lại các số liệu đã được tạo ra trong bài toán chuyển hộp đen, chúng được chỉ ra ở bảng 2.2.

STT D_C ban đầu X 2 x f(x) fi/tổng f fi/ f Đến ts 1 01101 13 169 0.14 0.58 1 2 11000 24 576 0.49 1.79 2 3 01000 8 64 0.06 0.22 0 4 10011 19 361 0.31 1.23 1 Sum 1170 1.00 4.00 4.0 Ave 293 0.25 1.00 1.0 Max 567 0.49 1.97 2.0

Bảng 2.2. Ví dụ về một quần thể cỡ 4 ban đầu

Giá trị giải mã x được biểu diễn cùng với giá trị độ thích nghi hay hàm mục tiêu. Để chắc chắn rằng chúng ta biết được bao nhiêu giá trị f(x) được tính từ chuỗi biểu diễn, chúng ta xem chuỗi quần thể ban đầu thứ 3 là 01000. Giải mã chuỗi này ra x = 8. Để tính hàm mụ tiêu, chúng ta chỉ việc bình phương x và nhận được độ thích nghi f(x) = 64. Các giá trị khác của x và f(x) có thể đạt được một cách tương tự.

Bạn hãy chú ý rằng giá trị hàm mục tiêu tương đương giá trị hộp đen, xem bảng 2.1 và 2.2 Điều này không hoàn toàn trùng khớp và bài toán tối ưu hoá hộp đen được biểu diễn tốt bằng các hàm đặc biệt. Tuy nhiên giải thuật di truyền không cần bết nhiều ở đây, nó chỉ tốt khi tối ưu hoá những hàm chuyển tuỳ ý. Điều này làm tăng cường chiều dài của giải thuật di truyền, bởi sự khai thác tính tương tự trong mã hoá, giải thuật di truyền có thể làm việc hiệu quả với những lớp hàm lớn hơn mà có thể có nhiều thủ tục.

Sự phát sinh của giải thuật di truyền bắt đầu với sự tái sinh. Ta chọn Mating pool của thế hệ kế tiếp bằng quay bán xe roulette 4 lần. Để mô phỏng quá trình này ta sử dụng việc dùng đồng tiền, kết quả chuỗi 1 và chuỗi 4 nhận 1 bảng copy trong mating pool, chuỗi 2 nhận 2 bảng copy, chuỗi 3 không nhận bảng nào, so sánh điều

này với số bảng copy mong đợi, ta đã thoả mãn là giữ lại những bản tốt nhất, trung bình và bỏ đi những bản xấu.

Với hoạt động gộp lại (pool) của các chuỗi tìm kiếm từ các liên kết (mate)

ghép chéo đơn giản được thực hiện theo hai bước:

- Các chuỗi được ghép lại một cách ngẫu nhiên, sử dụng việc tung đồng tiền xấp ngửa để chọn vị trí ghép chéo và.

- Cặp chuỗi được ghép chéo tại vị trí giao nhau. Qua bảng sau ta sẽ thấy rõ hơn.

Hế ghép nối sau khi ghép chéo MATE Vị trí lai tạo Quần thể mới X 2 x f(x) 0110 1 2 4 01100 12 144 1100 0 1 4 11001 25 625 11 000 4 2 11011 27 729 10 011 3 2 10000 16 256 1754 439 729

Bảng 2.3. quần thể sau khi ghép chéo.

Với sự giao nhau ở 4, 2 chuỗi 0110 1, 1100 0 giao nhau và sinh ra 2 chuỗi mới 0110 0 và 1100 1. Hai chuỗi còn lại trong mating pool đã được giao nhau tại vị trí 2, có thể kiểm tra kết quả trong bảng.

Toán tử cuối cùng, đột biến được thực thi trên từng bit cơ sở, giả định xác suất đột biến trong ví dụ này là .001. Với 20 lần chuyển đổi vị trí bit ta sẽ có 20*0.001= 0.2 bit bị đột biến trong một lần sinh sản. Sự mô phỏng quá trình này cho thấy không có sự đột biến bit với giá trị xác suất này, như kết quả không có bit nào bị thay đổi từ 0 lên 1 và ngược lại.

giá trị độ thích nghi lừ giá trị x được giải mã. Trong ví dụ minh họa này, kết quả sau cùng là tốt hơn, qua đó ta thấy làm thế nào giải thuật di truyền kết hợp các chuỗi có tính thích nghi cao để đạt kết quả tốt hơn. Trong bảng ta thấy giá trị max và trung bình đều được cải thiện từ 293 đến 439 trong 1 lần sinh sản, độ thích nghi được tăng từ 576 729. Chuỗi tốt nhất của lần sinh đầu11000 nhận 2 bản copy bởi vì nó có giá trị độ thích nghi cao, trên cả giá trị độ thích nghi trung bình của quần thể. Khi sự kết hợp ngẫu nhiên với chuỗi cao nhất kế tiếp 10011 và được giao nhau tại vị trí hai , kết quả 11011 chứng tỏ sự lựa chọn tốt của giải thuật di truyền.

Ví dụ này là minh hoạ tuyệt vời về ý tưởng cho giải thuật di truyền dù lý luận vẫn còn một cái gì đó là kinh nghiệm và ngẫu nhiên, nhưng qua đó bắt đầu thấy hiệu quả tìm kiếm của giải thuật di truyền mạnh như thế nào. Sau đây ta sẽ tìm hiểu thêm về giải thuật di truyền bằng cách phân tích giải thuật di truyền trong lược đồ các thuật ngữ hay trong các mẫu giống nhau.

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 47 - 50)