1.3.1 Giới thiệu
Giải thuật di truyền (Genetic algorythm) do D.E. Goldberg đề xuất, được L. Davis và Z. Michalevicz phát triển lần đầu ở Hà Lan trên cơ sở các thuật toán tiến hoá, được xây dựng trên cơ sở học thuyết Darwin cho chọn lọc tự nhiên.
Thuật toán di truyền là thuật toán tối ưu ngẫu nhiên dựa trên cơ chế chọn lọc tự nhiên và tiến hóa di truyền. Nguyên lý cơ bản của thuật toán di truyền đã được Holland giới thiệu vào năm 1962. Cơ sở toán học đã được phát triển từ cuối những năm 1960 và đã được giới thiệu trong quyển sách đầu tiên của Holland, Adaptive in
O Traffic Conditioner (Shaping, Policing, DS Field Marking) DiffServ-aware service level agreements (SLAS)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Natural and Artificial Systems. Thuật toán di truyền được ứng dụng đầu tiên trong hai lĩnh vực chính: tối ưu hóa và học tập của máy.
Từ những năm 1975 cho đến nay, các nghiên cứu của nhiều tác giả đề cập đến lĩnh vực này ngày càng phong phú [8, 13, 14]. Thông qua các nghiên cứu đó có thể thấy việc giải các bài toán phức tạp, có không gian đa chiều… bằng các phương pháp truyền thống thường gặp nhiều trắc trở. Bởi vì bài toán đó có thể không tồn tại, hoặc các ràng buộc đặt ra khi giải không phù hợp với thực tế…
Thuật giải di truyền cung cấp một cách tiếp cận cho việc học dựa vào mô phỏng sự tiến hóa. Các giả thuyết thường được mô tả bằng các chuỗi bit, việc hiểu các chuỗi bit này tùy thuộc vào ứng dụng, ý tưởng các giả thuyết cũng có thể được mô tả bằng các biểu thức kí hiệu hoặc ngay cả các chương trình máy tính. Tìm kiếm giả thuyết thích hợp bắt đầu với một quần thể, hay một tập hợp có chọn lọc ban đầu của các giả thuyết. Các cá thể của quần thể hiện tại khởi nguồn cho quần thể thế hệ kế tiếp bằng các hoạt động lai ghép và đột biến ngẫu nhiên sau đó là sinh sản và chọn lọc lấy các mẫu tốt nhất sau các quá trình “đấu tranh sinh tồn” và “tiến hoá” sinh học. Ở mỗi bước, các giả thuyết trong quần thể hiện tại được ước lượng liên hệ với đại lượng thích nghi được cho, với các giả thuyết phù hợp nhất được chọn theo xác suất là các hạt giống cho việc sản sinh thế hệ kế tiếp. Thuật giải di truyền được ứng dụng một cách thành công cho những tác vụ học khác nhau và cho các vấn đề tối ưu hóa khác. Ví dụ, chúng đó được dùng để học tập luật điều khiển robot [3, 4, 14] và để tối ưu hóa các thông số học và tôpô cho mạng nơron nhân tạo đáp ứng các hệ thống tiến hoá tương lai [4, 8, 13].
1.3.2 Giải thuật di truyền và tìm kiếm tối ƣu
Giải thuật di truyền khác với các những sự tối ưu hoá thông thường và các giải thuật tìm kiếm đơn giản khác ở 4 điểm sau:
Giải thuật di truyền làm việc với một bộ các thông số chứ không phải bản thân các thông số.
Giải thuật di truyền tìm kiếm từ một số điểm quần thể chứ không phải từ một điểm đơn lẻ.
Giải thuật di truyền sử dụng các thông tin trả giá (payoff) của các hàm mục tiêu chứ không phải đạo hàm (derivatives) hay những tri thức phụ khác.
Giải thuật di truyền sử dụng các luật chuyển đổi theo xác suất chứ không phải các luật chuyển đổi xác định.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Giải thuật di truyền đòi hỏi một tập các thông số tự nhiên của bài toán tối ưu để mã hoá thành các chuỗi có chiều dài hữu hạn, dựa trên một số hữu hạn các kí tự.
1.3.3 Cấu trúc một giải thuật di truyền
1.3.3.1 Cấu trúc một giải thuật di truyền đơn giản
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.
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.
Các tính chất đặc thù của thuật toán di truyền
GA lập luận mang tính chất ngẫu nhiên (stochastic) thay vì xác định (deterministic) như toán học giải tích.
GA xét duyệt toàn bộ các giải pháp, sau đó lựa chọn giải pháp tốt nhất dựa trên hệ số thích nghi.
GA chỉ tập trung vào giải pháp (dãy số tuợng trung cho giải pháp) mà không cần quan tâm đến chi tiết vấn đề.
GA thích hợp cho việc tìm điều kiện tối ưu cho việc điều hành và phân nhóm những giải pháp có được.
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:
Sinh sản (reproduction)
Lai ghép (Crossover)
Đột biến (Mutation)
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. Ngoài ra, còn có phép toán chọn lọc, nhằm lọc ra các kết quả tốt nhất trong quần thể.
1.3.3.2 Các phép toán của giải thuật di truyền
1.3.3.2.1 Sinh sản (Reproduction)
Sinh sản là quá trình chọn quần thể mới thỏa phân bố xác suất dựa trên độ thích nghi. Độ thích nghi là một hàm gán một giá trị thực cho cá thể trong quần thể.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Các cá thể có độ thích nghi lớn sẽ có nhiều bản sao trong thế hệ mới. Hàm thích nghi có thể không tuyến tính,không đạo hàm, không liên tục bởi vì thuật toán di truyền chỉ cần kết nối hàm thích nghi với các chuỗi số.
Quá trình này được thực hiện dựa trên bánh xe roulette với các rãnh được định kích thuớc theo độ thích nghi. Kỹ thuật này được gọi là lựa chọn cha mẹ theo bánh xe roulette. Bánh xe roulette được xây dựng như sau:
- Tính độ thích nghi fi, i=1÷ n của mỗi nhiễm sắc thể trong quần thể hiện hành,với n là kích thuớc của quần thể (số nhiễm sắc thể trong quần thể).
- Tìm tổng giá trị thích nghi toàn quần thể:
n i i 1 F f
- Tính xác suất chọn pi cho mỗi nhiễm sắc thể: i fi p
F
- Tính vị trí xác suất qi cho mỗi nhiễm sắc thể:
i i j j 1 q p
Tiến trình chọn lọc được thực hiện bằng cách quay bánh xe roulette n lần, mỗi lần chọn một nhiễm sắc thể từ quần thể hiện hành vào quần thể mới theo cách sau:
- Phát sinh ngẫu nhiên một số r trong khoảng [0÷1] khi quay bánh xe.
- Nếu r < q1 thì chọn nhiễm sắc thể đầu tiên; nguợc lại thì chọn nhiễm sắc thể thứ i sao cho qi-1 < r = qi Ví dụ: Xét bài toán dân số có 6 nhiễm sắc thể với chuỗi mã hóa và hệ số thích nghi tương ứng cho trong bảng 1.1.
Bảng 1.1 Kết quả tính toán cho các nhiễm sắc thể
Nhiễm sắc thể Chuỗi mã hoá Trị thích nghi f(i) Xác suất chọn pi Xác suất chọn qi 1 01110 8 0.16 0.16 2 11000 15 0.3 0.46 3 00100 2 0.04 0.5 4 10010 5 0.1 0.6 5 01100 12 0.24 0.84 6 00011 8 0.16 1.0
Bây giờ ta quay bánh xe roulette 6 lần, mỗi lần chọn một nhiễm sắc thể cho quần thể mới. Giá trị ngẫu nhiên của 6 số trong khoảng [0÷1] và các nhiễm sắc thể tương ứng được chọn được cho trong bảng 1.2.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Bảng 1.2 Quần thể mới Số lần quay 1 2 3 4 5 6 Số ngẫu nhiên 0.55 0.1 0.95 0.4 0.8 0.7 Nhiễm sắc thể 4 1 6 2 5 5 Ta thấy: Lần 1: r1= 0.55 > q1 = 0.16 và q3 < r <q4 nên ta chọn NST 4. Lần 2 : r2 = 0.1 < q1= 0.16 nên ta chọn NST 1. 1 2 3 4 5 6 Hình 1.5 Bánh xe roulette
Tương tự cho các lần quay còn lại, ta có sẽ được một quần thể mới. Ta thấy, có thể sẽ có một số nhiễm sắc thể được chọn nhiều lần, các nhiễm sắc thể có độ thích nghi cao hơn sẽ có nhiều bản sao hơn, các nhiễm sắc thể có độ thích nghi kém nhất thì dần dần loại bỏ.
Sau khi lựa chọn được quần thể mới, buớc tiếp theo trong thuật toán di truyền là thực hiện các phép toán lai ghép và đột biến.
1.3.3.2.2 Lai ghép (Crossover)
Phép lai là quá trình hình thành nhiễm sắc thể mới trên cơ sở các nhiễm sắc thể cha - mẹ, bằng cách ghép một hay nhiều đoạn Gen của hai (hay nhiều) nhiễm sắc thể cha - mẹ với nhau. Phép lai xảy ra với xác suất pc, được thực hiện như sau:
- Đối với mỗi nhiễm sắc thể trong quần thể mới, phát sinh ngẫu nhiên một số r trong khoảng [0÷1], nếu r < pc thì nhiễm sắc thể đó được chọn để lai ghép.
- Ghép đôi các nhiễm sắc thể đã chọn được một cách ngẫu nhiên, đối với mỗi cặp nhiễm sắc thể được ghép đôi, ta phát sinh ngẫu nhiên một số nguyên pos trong khoảng [0÷m-1] (m là tổng chiều dài của một nhiễm sắc thể - tổng số gen). Số pos
cho biết vị trí của điểm lai. Điều này được minh họa như hình 1.6.
Sự lai tạo là chuyển đổi các gen nằm sau vị trí lai. Như vậy, phép lai này tạo ra hai chuỗi mới, mỗi chuổi đều được thừa hưởng những đặc tính lấy từ cha và mẹ của chúng. Mặc dù phép lai ghép sử dụng lựa chọn ngẫu nhiên, nhưng nó không được xem như là một lối đi ngẫu nhiên qua không gian tìm kiếm. Sự kết hợp giữa tái sinh và lai ghép làm cho thuật toán di truyền huớng việc tìm kiếm đến những vùng tốt hơn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 1.6 Cơ chế lai ghép giữa 2 nhiễm sắc thể 1.3.3.2.3 Đột biến (Mutation)
Đột biến là hiện tuợng cá thể con mang một (số) tính trạng không có trong mã di truyền của cha mẹ. Phép đột biến xảy ra với xác suất pm, nhỏ hơn rất nhiều so với xác suất lai pc. Theo nghiên cứu của Kenneth DeJong thì:
Tỉ lệ lai ghép trung bình: 0.6
Tỉ lệ đột biến: 0.001
Tỉ lệ tạo sinh: 0.399
Mỗi gen trong tất cả các nhiễm sắc thể có cơ hội bị đột biến như nhau, nghĩa là đối với mỗi nhiễm sắc thể trong quần thể hiện hành (sau khi lai) và đối với mỗi gen trong nhiễm sắc thể, quá trình đột biến được thực hiện như sau:
- Phát sinh ngẫu nhiên một số r trong khoảng [0÷1] - Nếu r < pm, thì đột biến gen đó.
Đột biến làm tăng khả năng tìm được lời giải gần tối ưu của thuật toán di truyền. Đột biến không được sử dụng thuờng xuyên vì nó là phép toán tìm kiếm ngẫu nhiên, với tỷ lệ đột biến cao, thuật toán di truyền sẽ còn xấu hơn phương pháp tìm kiếm ngẫu nhiên.
Sau quá trình tái sinh, lai và đột biến, quần thể mới tiếp tục được tính toán các giá trị thích nghi, sự tính toán này được dùng để xây dựng phân bố xác suất (cho tiến trình tái sinh tiếp theo), nghĩa là, để xây dựng lại bánh xe roulette với các rãnh được định kích thuớc theo các giá trị thích nghi hiện hành. Phần còn lại của thuật toán di truyền chỉ là sự lặp lại chu trình của những buớc trên.
* Hàm thích nghi (Fitness)
Ta xây dựng hàm thích nghi f(x) nhận giá trị không âm. Có 2 truờng hợp: b1 b2 … bPos bPos+1 … bm-1 bm
c1 c2 … cPos cPos+1 … cm-1 cm Vị trí lai
b1 b2 … bPos cPos+1 … cm-1 cm
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Đối với bài toán tìm cực tiểu hàm g(x)
max max max C g(x) khi g(x) C f (x) 0 khi g(x) C
Có thể lấy Cmax là giá trị g lớn nhất trong quần thể hiện tại. - Đối với bài toán tìm cực đại hàm g(x)
min min
min
u(x) C khi u(x) C 0 f (x) 0 khi u(x) C 0
Có thể lấy Cmin là trị tuyệt đối của u bé nhất trong quần thể hiện tại.
Hàm thích nghi, còn được coi là tiêu chuẩn để xếp hạng các giả thuyết tiềm ẩn và để chọn lọc chúng theo xác suất nhằm đưa vào quần thể thế hệ kế tiếp. Hàm thích nghi có thể đo hiệu suất tổng của thủ tục kết quả hơn là hiệu suất của các luật riêng biệt.
Các các thể nào sau quá trình thực hiện thuật toán di truyền có độ thích nghi cao nhất sẽ được chọn làm cá thể trong quần thể kế tiếp.
1.3.4 Ứng dụng của giải thuật di truyền
Thuật toán di truyền đã chứng tỏ tính hữu ích của nó khi được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau của cuộc sống.
Trong lĩnh vực điều khiển tự động, thuật toán di truyền có thể được sử dụng để xác định thông số tối ưu cho các bộ điều khiển. Thông số bộ điều khiển được mã hóa thành các nhiễm sắc thể, thông qua mô phỏng, các nhiễm sắc thể này được đánh giá và lựa chọn thông qua mức độ thích nghi của chúng (cũng chính là các chỉ tiêu chất luợng của hệ thống). Kết quả của thuật toán sẽ cho một bộ điều khiển có thông số tốt nhất.
Trong y học, cấu trúc của các chất hóa học được mã hóa thành các nhiễm sắc thể hoặc đồ thị. Thuật toán di truyền sẽ lai ghép, lựa chọn để tạo ra các nhiễm sắc thể mới (các chất hóa học mới, các loài mới). Và trong thực tế đã có rất nhiều cá thể mới (loại thuốc mới, loài mới) được tạo ra như vậy.
1.4 Giải thuật di truyền mờ 1.4.1 Giới thiệu 1.4.1 Giới thiệu
Trong những năm trở lại đây, kỹ thuật tính toán thông minh đặc biệt phát triển và là nền tảng của kỹ thuật tính toán mềm. Trong kỹ thuật tính toán thông minh gồm 3 công nghệ tính toán: Giải thuật di truyền, Logic mờ, Mạng Noron.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Cả 3 kỹ thuật trên kết hợp qua lại với nhau hình thành các hệ thống kết hợp, nhằm đem lại hiệu quả cao nhất trong việc giải quyết các bài toán phức tạp. Trên thực tế đã có rất nhiều sản phẩm, tiện ích thông minh sử dụng kết hợp 2 trong 3 hoặc cả 3 kỹ thuật trên. Trong chương này, trình bày về mô hình kết hợp giữa giải thuật di truyền và logic mờ để tận dụng các ưu điểm của mỗi kỹ thuật đơn lẻ.
1.4.2 Giải thuật di truyền kết hợp với logic mờ
Việc kết hợp giữa giải thuật di truyền và logic mờ là một lĩnh vực mới và ít được khai thác thác hơn so với việc kết hợp giữa giải thuật di truyền hoặc logic mờ với mạng nơron. Charles Karr là người tiên phong đưa ra kỹ thuật kết hợp giữa giải thuật di truyền và logic mờ, thử nghiệm đầu tiên thực hiện vào năm 1989: dùng giải thuật di truyền để cải tiến bộ điều khiển mờ. Một số ứng dụng trong thực tế đã chứng minh tính khả thi của hệ thống kết hợp hợp trên. Tuy nhiên, nhiều nghiên cứu sau đó đã đưa ra những cải tiến của kỹ thuật kết hợp này [40].
Giải thuật di truyền và logic mờ có một vài đặc điểm chung và riêng. Cả hai kỹ thuật đều thích hợp với việc xử lý bộ dữ liệu dùng cho các hệ thống phi tuyến. Sử dụng hai kỹ thuật này giúp cải tiến hiệu suất của hệ thống: tối ưu kết quả và tốc độ thực hiện.
Hệ thống mờ được dùng để lưu trữ tri thức của chuyên gia với những cấu trúc thích hợp, tiện lợi cho việc mô phỏng hay chỉnh sửa tri thức. Hệ thống mờ rất hữu ích trong việc xác định giải pháp của lớp bài toán có cấu trúc tri thức cố định và