Chương 2 : CƠ SỞ LÝ THUYẾT
2.5. Thuật toán Di truyền Genetic Algorithm
Học thuyết tiến hóa là học thuyết về sự tiến hóa sinh học được đề xướng chủ yếu bởi nhà bác học Charles Darwin thông qua cuốn sách Nguồn gốc các loài (xuất bản năm 1859). Học thuyết này đưa ra lý thuyết về sự tiến hóa tự nhiên của các sinh vật qua nhiều thế hệ dựa trên nguyên lý chọn lọc tự nhiên, lồi nào thích nghi tốt hơn sẽ tồn tại. Ngoài cạnh tranh với các loài khác về nơi sinh sống, nguồn thức ăn,…với các loài khác, các cá thể trong cùng một loài cũng cạnh tranh với nhau, các cá thể có đặc tính tốt, thích nghi hơn với mơi trường sẽ được phối ghép để sinh sản ra thế hệ tiếp theo mang đặc tính của tổ tiên hoặc các đặc tính mới. Qua nhiều thế hệ tiến hóa hóa sẽ tạo ra các cá thể và giống lồi mới với các đặc tính tốt, thích nghi hơn với sự thay đổi mơi trường sống.
Trong các thập niên 1950s và 1960s, một số các nhà khoa học máy tính, trong quá nghiên cứu các hệ thống tiến hóa, đã đề xuất ý tưởng trong tất cả các hệ thống này là để phát triển một số các giải pháp ứng cử viên cho một vấn đề nào đó, bằng cách sử dụng tốn tử lấy cảm hứng từ sự biến đổi di truyền tự nhiên và chọn lọc tự nhiên lấy từ thuyết tiến hóa của nhà sinh vật học Darwin.
Ý tưởng việc ứng dụng giải thuật di truyền (GA) vào các chương trình máy tính để giải quyết các bài tốn tối ưu có khơng gian cực lớn được John Henry Holland phát minh vào những năm 1960; sau đó các đồng nghiệp và sinh viên của ông tại đại học Michigan triển khai và phát triển. Ông đã đúc kết các nghiên cứu của mình trong cuốn sách Adaptation in Natural and Artificial system (1975) [26]. Đây là cơ sở nền tảng cho giải thuật di truyền.
Cùng với các thuật tốn thơng minh khác như tính tốn mờ (fuzzy computing), mạng Nơ-ron (neural networks), hệ đa tác tử (multi-agent systems), thuật tốn tối ưu hóa bầy đàn (Particle Swarm Optimization), thuật toán đàn kiến (Ant colony
algorithm), GA ngày càng phát triển và áp dụng thành cơng để giải các bài tốn mà việc mơ tả tốn học cho bài tốn gặp rất nhiều khó khăn. Trong đó có rất nhiều đề tài nghiên cứu dùng giải thuật GA để tìm thơng số của bộ điều khiển vịng kín PID.
Genetic algorithm (GA) là giải thuật lặp sử dụng quá trình ngẫu nhiên để thăm dị và tối ưu hóa nguồn gốc và cảm hứng của chúng được lấy từ thuyết tiến hóa sinh vật học của Darwin.
Như chúng ta đã biết, một sinh vật được cấu thành từ một hoặc nhiều tế bào, ví dụ như con người gồm khoảng 1014 tế bào. Mỗi tế bào có chứa cùng một tập của một hoặc nhiều chuỗi nhiễm sắc thể của DNA, đóng vai trị như là một "bản đồ thiết kế" cho các sinh vật. Một nhiễm sắc thể có thể được chia thành Genetics và được mã hóa thành protein đặc trưng. Mỗi đặc điểm khác nhau được thiết lập (ví dụ, màu xanh, nâu, nâu nhạt) được gọi là kiểu hình. Mỗi Genetic nằm tại một vị trí đặc biệt trên nhiễm sắc thể. Rất nhiều sinh vật có nhiều nhiễm sắc thể trong mỗi tế bào. Các bộ sưu tập hoàn chỉnh các vật liệu di truyền (tất cả các nhiễm sắc thể lấy nhau) được gọi là hệ Genetic của sinh vật. Hai cá thể có bộ gen giống hệt nhau được cho là có kiểu gen giống nhau. Sinh vật có nhiễm sắc thể được dàn theo cặp được gọi là lưỡng bội; sinh vật có nhiễm sắc thể là lẻ được gọi là đơn bội.
Trong các thuật toán di truyền, nhiễm sắc thể thường đề cập đến một giải pháp ứng cử viên và thường được mã hóa như là một chuỗi bit. "Genetic" là một trong hai bit duy nhất hoặc các khối ngắn bit liền kề mã hóa một yếu tố đặc biệt của giải pháp ứng cử viên. Trong quá trình chọn lọc tự nhiên, những kiểu hình nào thích nghi với tự nhiên sẽ sống sót và ngược lại, những kiểu khơng thích nghi sẽ bị loại đào thải. Genetic di truyền của một sinh vật có được nhờ q trình lai ghép (Crossover), đột biến (Mutation) và sinh sản (Reproduction) qua các thế hệ, chọn lọc tự nhiên với quá trình đào thải các kiểu hình khơng thích nghi sẽ đào thải các kiểu Genetic khơng thích nghi. Với một tổ hợp Genetic lớn, một lồi sẽ tiến hóa dần (tối ưu hóa dần) theo chọn lọc tự nhiên mặc dù số lượng cá thể trong loài khơng đủ lớn để một tập hợp có đầy đủ tổ hợp Genetic. Quá trình này lai, di truyền sẽ tạo nên một thế hệ mới với những
20
đặc điểm đã được thích nghi, q trình đột biến tạo ra những tổ hợp Genetic mới có thể có tính thích nghi cao hơn.
Theo tài liệu [6] giải thuật di truyền được biểu diễn như lưu đồ giải thuật dưới đây:
Khởi tạo quần thể ngẫu nhiên ban đầu
Bắt đầu Thích nghi Điều kiện dừng Lựa chọn giải pháp tốt nhất Chọn lọc Lai tạo Đột biến Các thủ tục của GA Sản sinh thế hệ mới Kết thúc Ước lượng giá trị
hàm mục tiêu
Hình 2.10: Sơ đồ thực hiện giải thuật di truyền
Theo sơ đồ giải thuật Hình 2.8, thuật tốn GA được thực hiện qua các bước sau: (1) [Bắt đầu]: Nhận các tham số cho thuật toán.
(2) [Khởi tạo]: tạo ra ngẫu nhiên một quần thể gồm n cá thể (n là số giải pháp để giải bài toán)
(3) [Sản sinh quần thể mới]: tạo ra quần thể mới bằng cách lặp lại các bước sau: [Thích nghi]: ước tính giá trị thích nghi của mỗi cá thể.
[Kiểm tra điều kiện dừng]: Kiểm tra điều kiện kết thúc của giải thuật.
[Chọn lọc]: Chọn lọc hai cá thể bố mẹ từ quần thể cũ theo độ thích nghi (cá thể có độ thích nghi cao càng có nhiều khả năng được chọn).
[Lai ghép]: lai ghép cá thể bố mẹ được chọn để tạo ra cá thể mới theo một xác xuất lai ghép được chọn.
[Đột biến]: Biến đổi cá thể mới theo một xác xuất đột biến được chọn.
(4) [Chọn kết quả]: Nếu điều kiện dừng được thỏa mãn, thì giải thuật kết thúc và trả về giải pháp tốt nhất (tối ưu nhất so với hàm mục tiêu) trong quần thể hiện tại.
22