Cấu trúc của luận văn như sau: Chương I: Giải thuật di truyền và Tính toán tiến hóa Giới thiệu tóm lược về lịch sử, sự phát triển và các kết quả đạt được của giải thuật di truyền cổ điể
Trang 1TRẦN QUỐC HƯNG
TÍNH TOÁN TIẾN HÓA
VÀ ỨNG DỤNG LẬP THỜI KHÓA BIỂU TRƯỜNG TRUNG HỌC PHỔ THÔNG
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Mã số: 1.01.1
LUẬN VĂN THẠC SĨ
Hà Nội – Năm 2004
Trang 2TRẦN QUỐC HƯNG
TÍNH TOÁN TIẾN HÓA
VÀ ỨNG DỤNG LẬP THỜI KHÓA BIỂU TRƯỜNG TRUNG HỌC PHỔ THÔNG
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Trang 3MỤC LỤC
Mở đầu 4
Cấu trúc của luận văn 6
Chương I: Giải thuật di truyền và Tính toán tiến hóa 8
1.1 Giải thuật di truyền 8
1.1.1 Lược sử 8
1.1.2 í tưởng 10
1.1.3 Đặc thù của GA cổ điển 10
1.1.4 Cấu trúc của GA cổ điển 11
1.1.4.1 Cấu trỳc nhiễm sắc thể và kiểu gene 12
1.1.4.2 Thủ tục GA 13
1.1.4.3 Phương pháp mó húa và giải mó 15
1.1.4.4 Thủ tục chọn lọc (Selection) 17
1.1.4.5 Quỏ trỡnh tỏi tạo 18
1.1.4.5.1 Cỏc toỏn tử di truyền 18
1.1.4.5.2 Quỏ trỡnh tỏi tạo 20
1.1.4.6 Điều kiện kết thỳc 20
1.1.5 Sự hội tụ của GA 20
1.1.6 Biểu diễn bằng vector số thực 25
1.2 Tớnh toỏn tiến húa 26
1.2.1 Các chiến lược tiến hóa (Evolution Strategies – ES) 28
1.2.1.1 Chiến lược tiến hóa hai thành viên 28
1.2.1.2 Chiến lược tiến hóa đa thành viờn: ký hiệu ( +1) ES 30
1.2.1.3 Chiến lược tiến hóa đa thành viên cải tiến 31
1.2.2 Lập trỡnh tiến húa (Evolutionary Programming EP) 32
1.2.2.1 í tưởng 32
Trang 41.2.2.2 Biểu diễn nhiễm sắc thể 32
1.2.3 Lập trỡnh di truyền (Genetic Programming – GP) 34
1.2.3.1 í tưởng của GP 34
1.2.3.2 Biểu diễn nhiễm sắc thể 34
1.2.4 Chương trỡnh tiến húa (Evolution Programmes – EPs) 36
1.2.4.1 í tưởng 36
1.2.4.2 So sánh GA cổ điển và các chương trỡnh tiến húa 36
1.2.5 Các bước xây dựng một chương trỡnh tiến húa 39
Chương II: Tổng quan bài toán thời khóa biểu và các phương pháp tiếp cận 41
2.1 Tổng quan: 41
2.2 Cỏc bài toỏn thời khúa biểu 43
2.2.1 Thời khúa biểu Tiểu học 43
2.2.2 Thời khóa biểu Trung học cơ sở, Trung học phổ thông 43
2.2.3 Thời khóa biểu Cao đẳng-Đại học 45
2.3 Các phương pháp tiếp cận hiện nay 48
Chương III: Mô hỡnh tiến húa cho bài toỏn thời khúa biểu THPT 51
3.1 Biểu diễn nhiễm sắc thể và kiểu gene 51
3.2 Khởi tạo quần thể ban đầu 53
3.2.1 Phõn bố số tiết học trong mỗi ngày cho từng khối lớp 53
3.2.2 Thủ tục tạo ngẫu nhiờn 1 nhiễm sắc thể 53
3.3 Xác định hàm thích nghi 56
3.4 Cỏc toỏn tử di truyền 57
3.4.1 Cỏc toỏn tử biến dị 57
3.4.1.1 Toán tử đổi chỗ tiết học trong một lớp (khử tiết cụm) 57
Trang 53.4.1.2 Toán tử đổi chỗ giỏo viờn trong một lớp (khử tiết trựng) 58
3.4.1.3 Toỏn tử chuyển dịch mụn học trong một ngày (khử tiết cỏch) 59
3.4.1.4 Toỏn tử dồn tiết của một mụn học của một lớp (khử tiết phõn tỏn) 59
3.4.1.5 Toán tử thay đổi toàn bộ lớp 60
3.4.2 Cỏc toỏn tử lai ghộp 60
3.5 Quỏ trỡnh chọn lọc 61
3.6 Thủ tục tiến húa 62
Chương IV: Xây dựng phần mềm 64
4.1 Tổ chức dữ liệu 64
4.2 Sơ đồ phân ró chức năng 65
4.3 Một số chức năng và giao diện của phần mềm 67
4.3.1 Chức năng “Nhập dữ liệu” 67
4.3.1.1 Chức năng “Bảng phõn cụng Giảng dạy” 67
4.3.1.2 Chức năng “Bảng đăng ký tiết dạy bằng tay” 68
4.3.2 Chức năng Hiển thị TKB 69
4.3.2.1 Chức năng “Xem/In Thời khóa biểu Giáo viên” 69
4.3.2.2 Chức năng “In Thời khóa biểu Giáo viên” 70
4.3.2.3 Chức năng “Xem/In thời khóa biểu Lớp” 73
4.3.2.4 Chức năng “In thời khóa biểu các lớp” 74
4.4 Thử nghiệm phần mềm 75
4.4.1 Kết quả đạt được của phần mềm 75
4.4.2 Bảng kết quả thử nghiệm 76
Kết luận 77
Tài liệu tham khảo 78
Trang 6MỞ ĐẦU
Thời khóa biểu của trường học là kế hoạch giảng dạy của giỏo viờn và học tập của học sinh Một bảng thời khúa biểu hợp lý giỳp giỏo viờn thuận lợi, thoải mỏi khi lờn lớp và giỳp học sinh thoải mỏi khi học tập
Đó từ lõu, việc lập thời khúa biểu là vấn đề quan trọng của nhà trường và phải luôn luôn hoàn thành trước khi triển khai giảng dạy Lập thời khóa biểu bằng phương pháp thủ công là công việc rất nặng nề, tốn nhiều thời gian và
dễ vị phạm các ràng buộc về nghiệp vụ Do vậy, khi áp dụng phải trải qua điều chỉnh vài lần mới có thể đạt được yêu cầu cơ bản
Lập thời khóa biểu là vấn đề của tất cả các hệ thống trường học từ bậc phổ thông đến cao đẳng đại học phải thường xuyên đối mặt trong việc tỡm
ra một giải phỏp tối ưu hoặc chấp nhận được
Các bài toán thời khóa biểu rất phong phú và đa dạng bởi những ràng buộc và yêu cầu đặc trưng của từng hệ đào tạo, thậm chí từng trường học
Bài toỏn thời khúa biểu thuộc lớp bài toỏn NP khú [12]nên các giải thuật truyền thống khó giải quyết được trọn vẹn các yêu cầu nghiệp vụ và yêu cầu
về thời gian thực hiện
Trong gần ba thập niên qua, giải thuật di truyền và các cải tiến-phát triển của nó gọi chung là tính toán tiến hóa [7] đó thực sự tạo ra cỏc kết quả rất khả quan khi ỏp dụng giải quyết cỏc bài toỏn tối ưu Giải thuật di truyền và tính toán tiến hóa mô phỏng sự tiến hóa của tự nhiên của sinh học và gần đây nhất
là phương pháp tối ưu hóa đàn kiến do Dorigo đề xuất là hướng tiếp cận hiện đại nhất Cả hai loại giải thuật trên đó tỏ ra rất hiệu quả trong việc ỏp dụng
Trang 7giải quyết cỏc bài toỏn tối ưu trong thực tế, tiêu biểu là bài toán lập thời khóa biểu trường học, là một bài toán thú vị và có tính thực tiễn cao
Ở Việt Nam đó cú một vài phần mềm lập thời khúa biểu khỏ tốt, nhưng chưa đáp ứng hết các yêu cầu thực tế cũng như cách tổ chức giảng dạy của từng trường Ở Đăk Lăk, chưa có phần mềm lập thời khóa biểu riêng đáp ứng các điều kiện cụ thể của miền núi
Xuất phát từ những vấn đề trên, đề tài “Tính toán tiến hóa và áp dụng lập thời khóa biểu trường Trung học phổ thông”, khúa luận tập trung nghiờn cứu
giải thuật di truyền và phương pháp tính toán tiến hóa đồng thời giải quyết bài toán thời khóa biểu về mặt lý thuyết lẫn xõy dựng phần mềm, xem như một thử nghiệm đầu tiên ở vùng Tây Nguyên xa xôi
Do khả năng và thời gian hạn chế, tác giả chỉ mới hoàn thành phần mềm ở mức cơ bản nhất, chỉ tạm sử dụng nội bộ trong trường nơi tác giả công tác
Hy vọng trong thời gian tới, tác giả sẽ bổ sung thêm chức năng cho phần mềm
và hoàn chỉnh thành sản phẩm sử dụng được trong ngành giáo dục Đăk Lăk
Trang 8Cấu trúc của luận văn như sau:
Chương I: Giải thuật di truyền và Tính toán tiến hóa
Giới thiệu tóm lược về lịch sử, sự phát triển và các kết quả đạt được của giải thuật di truyền cổ điển trong việc giải quyết bài toán tối ưu hàm số nhiều biến Các phần tiếp theo trỡnh bày cỏc khỏi niệm, các đặc trưng, cấu trúc và cơ chế hoạt động của giải thuật di truyền Minh họa việc tỡm giỏ trị cực đại hàm số nhiều biến bằng giải thuật di truyền cổ điển
Giới thiệu sự phỏt triển và cỏc cải tiến của giải thuật di truyền với tờn gọi chung là tớnh toỏn tiến hóa Nêu đặc trưng trong việc thay đổi cách biểu diễn nhiễm sắc thể và các toán tử di truyền cho phù hợp với từng bài toán cụ thể Các hướng tiếp cận chính của phương pháp tính toán tiến hóa Nêu cấu trúc và các bước cơ bản để xây dựng một chương trỡnh tiến húa
Chương II: Tổng quan các bài toán thời khóa biểu
Phát biểu sơ bộ các loại thời khóa biểu, chủ yếu là bài toán thời khóa biểu trường Trung Học Phổ Thông Nêu các đặc trưng nghiệp vụ, các ràng buộc của từng loại thời khóa biểu
Chương III: Mô hỡnh tiến húa cho bài toỏn cho bài toỏn thời khúa biểu Trung Học Phổ Thụng
Đây là nội dung chính của luận văn Các vấn đề được trỡnh bày là phỏt biểu đầy đủ các ràng buộc của bài toán thời khóa biểu Trung học phổ thông, giới thiệu cách biểu diễn nhiễm sắc thể và các toán tử di truyền để giải quyết bài toán bằng phương pháp tính toán tiến hóa
Chương IV: Xây dựng phần mềm lập thời khóa biểu THPT
Giới thiệu các chức năng cơ bản của phần mềm minh họa bài toán lập thời khóa biểu Trung Học Phổ Thông theo phương pháp tính toán tiến hóa,
Trang 9một số giao diện của phần mềm Phần mềm được xây dựng bằng Access
2000
Kết quả thử nghiệm của phần mềm trên bộ dữ liệu thực của trường Trung Học Phổ Thông Buôn Ma Thuột Đánh giá hiệu quả và tính khả dụng của phần mềm
Trang 10Chương I
GIẢI THUẬT DI TRUYỀN
VÀ TÍNH TOÁN TIẾN HểA (Genetic Algorithm and Evolutionary Computation)
1.1 GIẢI THUẬT DI TRUYỀN:
1.1.1 Lược sử
í tưởng giải thuật di truyền được nêu ra từ những năm 1950-1960 bởi các nhà sinh học nhằm giải quyết các bài toán di truyền trong sinh học Khi đó, giải thuật di truyền chưa trở thành một phương pháp luận mà chỉ ở mức độ giải quyết các bài toán sinh học riêng lẻ
A.S Fraser là người tiên phong nêu lên sự tương đồng giữa sự tiến hóa của sinh vật trong tự nhiên và chương trỡnh tin học giả tưởng về giải thuật di truyền cổ điển (GA-Genetic Algorithm)
Thực tế, John Henry Holland mới là người đầu tiên triển khai ý tưởng và phương thức giải quyết các bài toán tối ưu dựa theo sự tiến hóa tự nhiên của sinh vật Năm 1975, John Henry Holland và các đồng nghiệp của ông ở trường Đại học Michigan – Hoa Kỳ công bố Giải thuật di truyền và ông được xem là người đề xướng giải thuật này Ông đó đúc kết các bài giảng và các
bài báo thành sách với tựa đề Adaptation in Nature and Artificial Systems –
Sự mụ phỏng theo tự nhiờn và cỏc hệ thống nhõn tạo Trong sách, J.H
Holland đó trỡnh bày rất hệ thống phương pháp giải quyết các bài toán tối ưu hàm nhiều biến nhờ một kiểu gene nhị phân và nhiều công trỡnh nghiờn cứu
về giải thuật di truyền, gọi tắt là GA
Trang 11Sau Holland, nhiều đồng nghiệp của ông như Kenneth De Jong, David E Goldberg đó dần tạo nờn nền tảng lý thuyết vững chắc cho GA và thực hiện cỏc ỏp dụng của GA để giải quyết các bài toán phức tạp trong thực tế Kể từ
đó, nhiều công trỡnh nghiờn cứu về GA đó được công bố ở nhiều nơi trên thế giới
Hai đồng nghiệp xuất sắc của ông là Kenneth De Jong và David E Goldberg đó cú nhiều cụng trỡnh nghiờn cứu về GA cổ điển và những phát triển của nó trong nhiều lĩnh vực khác nhau Đặc biệt, David E Golberg đưa
ra “Thuật toán di truyền hỗn hợp” vào năm 1993, được xem là một cải tiến quan trọng trong GA cổ điển Các nhà nghiên cứu về GA cổ điển lại tiếp tục đưa ra nhiều cải tiến vô cùng phong phú cho GA cổ điển và được gọi chung là Tính toán tiến hóa – Evolutionary Computation [7]
GA đó kết hợp với cỏc kỹ thuật thuộc lĩnh vực trớ tuệ nhõn tạo như Hệ chuyên gia (Expert System), Mạng Neuron nhân tạo (Artificial Neural Network), Logic mờ (Fuzzy Logic) nhằm tỡm giải phỏp tối ưu cho những vấn
đề phức tạp mà các giải thuật cổ điển truyền thống đó khụng giải quyết được thỏa đáng [3]
GA ứng dụng được nhiều trong các lĩnh vực khác nhau, từ khoa học tự nhiên đến khoa học nhân văn, từ kỹ thuật sang thương vụ và kinh tế tài chớnh Những ứng dụng này cú thể chia làm ba nhúm chớnh:
Tỡm mụ hỡnh tối ưu cho vấn đề Tỡm kiếm và tối ưu hóa giải pháp là
đề tài thích hợp nhất của GA
Hoạch định quy trỡnh sản xuất, lộ trỡnh vận chuyển, cỏch bố trớ cỏc
bộ phận trong mụi trường
Chọn lựa cỏc nhúm hay thành phần trong một tổ chức
Trang 121.1.2 í tưởng
í tưởng của GA là mô phỏng theo quá trỡnh tiến húa tự nhiờn của sinh vật theo thuyết Darwin Trong quỏ trỡnh tiến húa, mỗi cỏ thể đều phải tự tỡm cỏch thớch nghi tốt nhất với mụi trường sống rất phức tạp và luôn luôn thay đổi Cá thể nào có khả năng thích nghi với môi trường cao hơn thỡ sẽ cú khả năng tồn tại, phát triển và sinh sản cao hơn, ngược lại cá thể nào có khả năng thích nghi thấp sẽ có nhiều nguy cơ bị tiêu vong hoặc phát triển chậm Sự thích nghi đó được đúc kết và ghi lại trong cấu trỳc của nhiễm sắc thể của chỳng
Việc giải bài toỏn thực tế cú thể xem là việc tỡm kiếm trong một khụng gian cỏc lời giải tiềm năng nhằm tỡm ra lời giải tốt nhất hoặc chấp nhận được
mà ta có thể gọi là quá trỡnh tối ưu hóa
Đối với không gian tỡm kiếm nhỏ, đơn giản nhất là dùng kỹ thuật “vét cạn”, nghĩa là liệt kê toàn bộ lời giải tiềm năng, sau đó chọn ra lời giải Đối với không gian tỡm kiếm khỏ lớn thỡ kỹ thuật vột cạn cú độ phức tạp rất lớn, khó chấp nhận được Khi đó, giải thuật di truyền tỏ ra rất thớch hợp cho việc giải quyết bài toỏn tỡm kiếm lời giải tối ưu
GA không chú trọng đến giải pháp duy nhất và chính xác như các phương thức cổ điển, trái lại GA xét đến toàn bộ các giải pháp và chọn lấy giải pháp tương đối tốt nhất
GA dựa trờn tớnh ngẫu nhiên như trong thế giới tự nhiên của sinh vật, nhưng được hướng dẫn bởi hàm thích nghi (Fitness Function), hơn nữa GA cũn cú nền tảng lý thuyết vững chắc là lý thuyết sơ đồ (Schema theorem) [20]
1.1.3 Đặc thù của GA cổ điển
Trang 13GA lập luận ngẫu nhiờn thay vỡ xỏc định
GA duyệt toàn bộ các giải pháp, sau đó chọn lấy giải pháp tương đối tốt nhất dựa trên hệ số thích nghi
GA không để ý đến chi tiết vấn đề mà chỉ chỳ ý đến giải pháp, đặc biệt là dóy số tượng trưng cho giải pháp
Goldberg và Zbiniev Michalewicz nêu ra đặc trưng của GA như sau:
GA làm việc với một mó húa của tập hợp tham số mà khụng phải một tham số
GA tỡm kiếm từ một quần thể cỏc điểm chứ không phải một điểm hoặc một vài điểm như phương pháp tỡm kiếm leo đồi (Hill Climbing)
GA đánh giá thông tin với hàm mục tiêu mà không đưa vào đạo hàm hay thông tin bổ sung khác
GA sử dụng các luật biến đổi theo xác suất mà không sử dụng luật quyết định
1.1.4 Cấu trúc của giải thuật di truyền cổ điển
GA cổ điển sử dụng ý tưởng và các thuật ngữ trong di truyền học như được trỡnh bày sau đây
Trong tự nhiên, mỗi cá thể có một tập hợp các tính chất và đặc điểm riêng biệt được thể hiện ra ngoài môi trường gọi là kiểu hỡnh (phenotype) Kiểu hỡnh này được quyết định bởi cấu trúc gene trong cơ thể, gọi là kiểu gene (genotype) Các gene tạo thành các nhiễm sắc thể, mỗi tế bào có tập hợp các nhiễm sắc thể như nhau Các nhiễm sắc thể là các chuỗi DNA (DeoxyriboNucleotic Acid) hoạt động như một mô hỡnh cho toàn bộ cơ thể
Sự đa dạng về kiểu gene của các cá thể dẫn đến sự đa dạng về kiểu hỡnh của
Trang 14một quần thể sinh học Quỏ trỡnh phỏt triển của mỗi quần thể tuõn theo quy luật chọn lọc của tự nhiờn mà tiến húa qua cỏc thế hệ nối tiếp nhau Trong
đó, các hậu duệ được sinh ra từ thế hệ trước thông qua quá trỡnh sinh sản (di truyền và biến dị) cạnh tranh tự nhiờn với nhau, cỏ thể nào cú kiểu hỡnh (và
do đó là kiểu gene) thích nghi cao hơn trong môi trường phát triển thỡ sẽ cú khả năng cao hơn trong tồn tại và sinh sản con cháu Do đó, kiểu gene này sẽ tiến hóa và hoàn thiện Quỏ trỡnh tiến húa này được lặp đi lặp lại, các cá thể
có kiểu gene phù hợp sẽ sống sót và phát triển, các cá thể yếu sẽ bị loại bỏ dần
GA là kỹ thuật tối ưu dựa trên khái niệm chọn lọc tự nhiên và di truyền
Do vậy, lời giải của bài toán được trỡnh bày như các gene trong nhiễm sắc thể GA mô tả một nhóm các lời giải tiềm năng được đề cử, qua tiến hóa và chọn lọc tự nhiên các nhiễm sắc thể với độ thích nghi tốt hơn sẽ xuất hiện
Chọn lọc tự nhiên đảm bảo cho cá thể có độ thích nghi tốt nhất sẽ được truyền lại cho các thế hệ con cháu (các quần thể tương lai) Phép lai ghép (Crossover) kết hợp các gene từ hai cá thể bố mẹ để tạo thành hai cá thể con mới (Offspring) với độ thích nghi có chiều hướng cao hơn bố mẹ Phép biến
dị (Mutation) cho phép tạo ra chất liệu di truyền mới, tạo ra những đột phá trong tỡm kiếm
GA cung cấp sự cải tiến thế hệ về độ thích nghi của các cá thể và sau nhiều thế hệ sẽ tạo ra các cá thể chứa những thiết lập biến đổi đó được tối ưu
Mỗi cá thể (Individual) trong GA thường chỉ gồm một nhiễm sắc thể Do vậy thuật ngữ cá thể và nhiễm sắc thể được dùng không phân biệt ngữ nghĩa
1.1.4.1 Cấu trỳc nhiễm sắc thể và kiểu gene
Trong GA cổ điển, mỗi cá thể (hay nhiễm sắc thể) được mó húa bởi cỏc chuỗi nhị phõn
Trang 15Vớ dụ: một nhiễm sắc thể gồm 8 gene như sau:
1 0 0 1 0 1 1 0
Mỗi kiểu gene (một nhiễm sắc thể cụ thể) biểu thị một lời giải tiềm năng của bài toán Một quá trỡnh tiến húa được thực hiện trên một quần thể (một tập hợp các cá thể) tương đương với sự tỡm kiếm trong một khụng gian cỏc lời giải tiềm năng (Potential solution) Sự tỡm kiếm này đũi hỏi sự cõn bằng giữa hai mục tiờu: tỡm lời giải tốt nhất và khỏm phỏ khụng gian tỡm kiếm
GA cổ điển thực hiện việc tỡm kiếm theo nhiều hướng bằng cách duy trỡ một tập lời giải tiềm năng, khuyến khích sự hỡnh thành và trao đổi thông tin giữa các hướng Tập lời giải trải qua quá trỡnh tiến húa và cuối cựng cho ta một lời giải đủ tốt theo yêu cầu Tại mỗi thế hệ, các lời giải tương đối tốt được tái sinh, và các lời giải tương đối xấu bị loại bỏ dần Để đánh giá mức
độ tốt xấu của từng lời giải, người ta xây dựng hàm thích nghi (Fitness Function), hàm này đóng vai trũ như môi trường sống trong thuyết tiến hóa của Darwin
Trang 16Mỗi x trong M, được mó húa bởi một chuỗi nhị phõn z = (x1, x2, … xm), với m là độ dài của chuỗi Chuỗi này gọi là nhiễm sắc thể hay cá thể, mỗi xi gọi là một gene Người ta xây dựng các thủ tục mó húa và giải mó tương ứng Xây dựng hàm eval trên tập nhiễm sắc thể để đánh giá độ thích nghi của mỗi cá thể: eval(z) = f(x), trong đó x là vector tương ứng với z
Tương ứng với t = 0, là điểm xuất phát thủ tục GA hay thế hệ ban đầu, ta khởi tạo ngẫu nhiên quần thể ban đầu P(0) gồm N cá thể
Sau đó tiến hành đánh giá độ thích nghi của quần thể Quá trỡnh tiến húa được diễn ra thông qua quá trỡnh chọn lọc cỏc cỏ thể tốt, biến đổi các cá thể bởi các toán tử di truyền, rồi lại đánh giá độ tốt của quần thể cho đến khi chọn được các cá thể đủ tốt
Cấu trúc của GA cổ điển như sau:
Trang 17Trong đó P(t) là quần thể tại thế hệ thứ t
Quỏ trỡnh tiến húa được diễn ra trong vũng lặp While, tại thế hệ thứ t, giải thuật duy trỡ một tập lời giải P ( t ) {x1t, x2t, , xn t} Mỗi lời giải xi t
được đánh giá độ thích nghi Một tập lời giải mới được xây dựng (vũng lặp t+1) bằng cỏch chọn lọc cỏc cỏ thể cú độ thích nghi cao hơn, ta được tập lời giải trung gian Tiếp theo, một số cá thể trong tập lời giải đó được chọn này được biến đổi bằng các toán tử di truyền là “lai ghép” và “biến dị” để tạo thành một lời giải mới cho thế hệ thứ t+1
1.1.4.3 Phương pháp mó húa và giải mó
Biểu diễn mó nhị phõn và giải mó của mỗi lời giải tiềm năng thực hiện như sau:
Mó húa: Giả sử ta cần tỡm cực đại của hàm số n biến f(x1, x2, … xn)
với sai số mỗi biến xi là 10-p (sai số đến p chữ số thập phân)
Ta chia mỗi đoạn [ai, bi] thành (bi ai) x 10p đoạn bằng nhau Ký hiệu mi là
số tự nhiờn nhỏ nhất thỏa món:
1 2 10 ).
i
i a
b
Khi đó, nếu x = (x1, x2, …xn) và xi thuộc đoạn thứ k thỡ xi được mó húa
bởi chuỗi nhị phõn cú độ dài mi cú dạng ( b 1, , b0)
i
m
j
j j
b k
sẽ thỏa món yờu cầu về độ chính xác và x được biểu diễn bởi chuỗi nhị phân
có độ dài n
j jm m
Trang 18m1 bits đầu tiên của chuỗi ứng với một giá trị x1 [a1, b1], m2 bits tiếp theo ứng với một giỏ trị x2 [a2, b2], …, mk bits cuối cựng của chuỗi ứng với một giỏ trị xk [ak, bk]
Vớ dụ: Tỡm giỏ trị cực đại của hàm số hai biến:
f(x 1 , x 2 ) = 10 + x 1 sinx 1 + x 2 sinx 2 trờn miền –1 x1 3; 3 x2 5 với sai
số cỏc biến là 10-2
Vỡ b1 – a1 = 3 – (-1) = 4; 4x102
= 400 và 28 < 400 < 29 nên cần 9 gene để biểu diễn x1
Tương tự, b2 – a2 = 5 – 3 = 2; 2x102 = 200 và 27 < 200 < 28 nên cần 8 gene
để biểu diễn x2
Do vậy, m = 17 là độ dài của chuỗi
Giải mó: Chuyển đổi các chuỗi nhị phân về dạng số thập phân Với mỗi
i
m
j
j j
k
và cú:
1 2
.
i
m i i i i i
a b k a
) (
) 2 (
j i
i
a b b
a
x
Trang 191.1.4.4 Thủ tục chọn lọc (Selection)
Các cá thể được chọn lọc theo độ thích nghi của chúng để tham gia vào pha tiếp theo của quá trỡnh tiến húa Cỏ thể cú độ thích nghi cao hơn có cơ hội được chọn nhiều hơn, nghĩa là có nhiều con cháu trong các thế hệ tiếp theo
Phép chọn lọc các cá thể trong mỗi quần thể được thực hiện nhờ bánh xe
xổ số (Roulette Wheel tờn một trũ đánh bạc của Châu Âu)
Với mỗi quần thể P(t –1) gồm N nhiễm sắc thể: P(t – 1) = {v1, v2, …, vn} ta
xây dựng bánh xe xổ số như sau:
1
)(
Tớnh xỏc suất chọn lọc pi của mỗi cỏ thể vi :
F
v eval
Tớnh xỏc suất tớch lũy qi cho mỗi cỏ thể vi:
i
j j
q
1, i = 1, 2, … N
Quỏ trỡnh chọn lọc
Quỏ trỡnh chọn lọc quần thể Q(t) từ P(t – 1) dựa vào bỏnh xe xổ số được thực hiện như sau:
Trang 20Đối với mỗi số tự nhiên k = 1, 2, , N, phát sinh một số thực ngẫu nhiên rk [0, 1]
Nếu rk q1 thỡ chọn cỏ thể v1, ngược lại, chọn cá thể vi sao cho qi-1 < rk
qi, 2 i N
Với cách thực hiện như thế, một số cá thể có thể được chọn nhiều lần và Q(t) vẫn được xem là có N phần tử Các cá thể tốt được chọn nhiều lần, các cá thể trung bỡnh thỡ bỡnh ổn và cỏc cỏ thể xấu bị giảm dần
Minh hoạ bỏnh xe xổ số với quần thể cú 5 cỏ thể:
Cá thể 1 có xác suất chọn lọc là 20%, nghĩa là mỗi lần quay bánh xe xổ
số, nó có khả năng được chọn là 0.2 Tương tự như vậy cho các các thể thứ 2,
3, 4, 5
1.1.4.5 Quỏ trỡnh tỏi tạo
Quỏ trỡnh tỏi tạo dựa trờn cỏc toỏn tử di truyền là phộp lai và biến dị
1.1.4.5.1 Cỏc toỏn tử di truyền
a Phép lai hay trao đổi chéo (Crossover Operator): Kết hợp các đặc tính
trên nhiễm sắc thể của bố và mẹ để tạo thành hai cá thể con mới, bằng cách hoán đổi các đoạn gene tương ứng trên các nhiễm sắc thể của bố và
Trang 21mẹ Phép lai nhằm nâng cao chất lượng cá thể, do vậy sẽ ảnh hưởng đến tốc độ hội tụ của quá trỡnh tiến húa
Với hai nhiễm sắc thể tựy ý:
x = (x1, x2, …, xm)
y = (y1, y2, …, ym)
Chọn điểm lai k [1, m – 1] (k chọn trước hoặc ngẫu nhiên), ta sẽ sinh được hai cá thể mới:
b Phộp biến dị hay biến dị (Mutation operater): là sự biến đổi một hoặc
một vài gene của một nhiễm sắc thể Toán tử biến dị làm tăng nhanh quá trỡnh hội tụ, nhưng có thể làm tăng đột ngột và không gây tác dụng gỡ hoặc làm hội tụ sớm đến một lời giải dưới tối ưu Trong GA, mỗi cá thể biểu diễn bởi một chuỗi nhị phân, nên biến dị tại một vị trí nào đó là sự đảo bit tại vị trí đó
Xi , i k
'
i
x
Trang 221.1.4.5.2 Quỏ trỡnh tỏi tạo
Cho trước xác suất lai pc và xỏc suất biến dị pm
Với mỗi cỏ thể vi thuộc Q(t), i = 1, 2, N, phỏt sinh một số ngẫu nhiờn r [0, 1] Nếu r < pc thỡ vi được đưa vào tập lai Tập này chia thành cặp, nếu lẻ thỡ thờm hoặc bớt ngẫu nhiờn một cỏ thể khỏc và ỏp dụng phộp lai để tạo hậu duệ thay thế cho chúng
Sau khi lai ghép, đối với mỗi gene của cá thể, phát sinh một số ngẫu nhiờn r [0, 1] Nếu r < pm thỡ gene đó được biến dị
Quỏ trỡnh trờn cho ta quần thể P(t) của thế hệ t và được đánh giá để chọn
cá thể có giá trị thích nghi tốt nhất
1.1.4.6 Điều kiện kết thúc: là điều kiện để kết thúc quá trỡnh tiến húa của
quần thể Tùy theo bài toán mà chọn cách kết thúc khác nhau Người ta thường dùng một trong các cách sau:
Kết thúc theo kết quả: Khi đạt đến mức giá trị yêu cầu thỡ dừng
Kết thúc dựa vào số thế hệ: xác định trước số thế hệ cần tiến hóa, khi trải qua đủ số thế hệ thỡ dừng, không cần biết kết quả như thế nào
Tớnh theo thời gian: Quỏ trỡnh kết thức sau 1 khoảng thời gian quy định trước, không cần biết số thế hệ đó trải qua cũng như kết quả
Trang 23Tổ hợp nhiều cách: dùng nhiều phương án khác nhau cho vấn đề Chẳng hạn: chạy theo số thế hệ, đánh giá và cho chạy tiếp theo kết quả…
1.1.5 Sự hội tụ của GA
Các kết quả nghiên cứu, đánh giá về sự hội tụ của GA cũn rất nghốo [7] , [8], [20], chỉ mới chứng minh sự hội tụ theo xỏc suất tới lời giải tối ưu của bài toán Tuy nhiên, về mặt thực hành, giải thuật di truyền vẫn là một giải thuật được ưa thich để giải các bài toán khó trong thực tế và cho lời giải đủ tốt Đặc biệt, GA tỏ ra rất hiệu quả đối với các bài toán mà hàm mục tiêu phức tạp, có nhiều cực trị địa phương và không trơn Đối với các bài toán đó cú phương pháp giải tốt bằng phương pháp truyền thống thỡ GA vẫn tỏ ra kộm hiệu quả hơn
Một vớ dụ minh họa
Tỡm giỏ trị cực đại của hàm hai biến:
f(x 1 , x 2 ) = 10 + x 1 sinx 1 + x 2 sinx 2 trờn miền –1 x1 3; 3 x2 5 với sai
số cỏc biến là 10-2
+ Biểu diễn nhiễm sắc thể
Vỡ b1 – a1 = 3 – (-1) = 4; 4x102
= 400 và 28 < 400 < 29 nên cần 9 gene để biểu diễn x1
Trang 25+ Chọn lọc: giả sử cỏc ri ngẫu nhiên như sau:
qi
Số ngẫu nhiờn
Trang 26v 5 ‟ = (10000010000001010)
v 8 ‟ = (11100011010011011)
Cuối cùng, ta được quần thể P(1) là:
v1’ = (00011101100101001) v2’ = (11100010010011011)
v 3 ‟ = (00100110000111010)
v4’ = (10011010000000111)
v 5 ‟ = (10000010000001010)
v6’ = (00001000001100100) v7’ = (10001100010110100)
v 8 ‟ = (11100011010011011)
v9’ = (00010100001001010) v10’ = (00010100001001010)
Trang 27Độ thích nghi toàn phần là F = 107.65, cá thể tốt nhất vẫn là v2’ = (11100010010011011) với eval(v2’) = 14.78, nhưng thế hệ này tốt hơn P(0) nhiều
Quỏ trỡnh tiếp tục cho đến khi dừng, ta được lời giải gần tối ưu
1.1.6 Biểu diễn bằng vector số thực
Sau khi GA cổ điển được Holland công bố, nó chứng tỏ là phương pháp tốt để giải các bài toán tối ưu khó và nó được cải tiến phong phú để tăng hiệu quả ứng dụng
Đối với các bài toán khó có miền chấp nhận lớn và đũi hỏi sai số nhỏ thỡ
độ dài của mỗi nhiễm sắc thể theo phương pháp GA cổ điển rất lớn, nên việc
áp dụng GA rất khó khăn Do vậy, người ta cải tiến cách biểu diễn nhiễm sắc thể bằng vector thực để giải bài toán Trong cách biểu diễn này, người ta dùng các vector thực trong miền chấp nhận được (thuộc tập M) làm nhiễm sắc thể
và thiết kế các nhóm toán tử di truyền cho thích hợp với cách biểu diễn này
mà vẫn giữ nguyên thủ tục GA đó đặc tả ở trên (xem tr.13) Dưới đây giới thiệu một số toán tử dễ dùng
Trang 28Chọn điểm lai k [1, m – 1] (chọn trước hoặc ngẫu nhiên), ta sẽ sinh được hai cá thể mới:
x’ = (x 1 , …, x k, y k+1 , …, y m ) và y’ = (y 1 , …, y k, x k+1, …, x m)
Lai số học đơn: Nếu lai hai vector:
x = (x1, …, xm) và y = (y1, …, ym) với điểm chọn ở vị trí k, thỡ ta được:
x’ = (x1, …xk’, …, xm) và y’ = (y1, …yk’, …, ym)
trong đó, xk’ = a.xk + (1 – a).yk và yk’ = a.yk + (1 – a).xk với a (0, 1)
là một số cho trước hoặc chọn ngẫu nhiờn
Lai số học toàn cục
Nếu lai hai vector x = (x1, …, xm) và y = (y1, …, ym) thỡ được:
x’ = ax + (1-a).y và y’ = ay + (1-a).x với a (0, 1) là số cho trước hoặc chọn ngẫu nhiên
Trang 29Giải thuật di truyền cổ điển dùng phương pháp mó húa nhị phõn cho cỏc nhiễm sắc thể, vỡ vậy khi ỏp dụng cho cỏc bài toỏn cú miền chấp nhận được lớn trong không gian nhiều chiều và yêu cầu độ chính xác cao, thỡ cỏc nhiễm sắc thể sẽ cú kớch thước rất lớn nên gặp nhiều khó khăn khi thực hiện
18 gene để biểu diễn x2
Nên độ dài của chuỗi là 35 là khỏ lớn
Đặc biệt, khi bài toán có nhiều ràng buộc phức tạp, thi các toán tử di truyền truyền thống tỏ ra kém hiệu quả
Trong những năm vừa qua, rất nhiều hướng tiếp cận dựa trên nguyên lý tiến húa và chọn lọc tự nhiờn đuợc nghiên cứu và phát triển Các hướng tiếp cận tập trung vào một số vấn đề chính sau đây: các nhiễm sắc thể có độ dài không cố định và có cấu trúc đa dạng, phức tạp hơn chuỗi nhị phân, chẳng hạn nhiễm sắc thể có cấu trúc mảng đa chiều (multiple-dimension array), các toán tử di truyền được thay đổi để phù hợp với điều kiện của bài toán cụ thể
Davis và Coombs [10], [11], đó giới thiệu một giải thuật di truyền đảm nhiệm một giai đoạn trong quá trỡnh thiết kế mạng chuyển mạch mà trong đó không dùng cách biểu diễn nhị phân cho các nhiễm sắc thể Giải thuật này
Trang 30dùng các toán tử di truyền (số, thống kê, cơ sở tri thức), các toán từ này khác
xa phép lai và biến dị nhị phân của GA cổ điển
Phần lớn các nhà nghiên cứu đó cải tiến giải thuật di truyền bằng cỏch dựng biểu diễn không thuộc dạng chuỗi, hoặc thiết kế các toán tử di truyền đặc biệt để phù hợp với bài toán cụ thể cần giải
Sự cần thiết của việc kết hợp các thông tin đặc thù của bài toán và giải thuật di truyền đó được thừa nhận trong nhiều công trỡnh nghiờn cứu và nhiều bài báo khoa học trong thập kỷ qua Các phát triển của GA cổ điển được đề xuất và ứng dụng để giải các bài toán khó, đặc thù trong thực tiễn mang các tên gọi khác nhau như: Các chiến lược tiến hóa, lập trỡnh tiến húa, lập trỡnh di truyền, cỏc chương trỡnh tiến húa…
Các phát triển của GA cổ điển có tên gọi chung là tính toán tiến hóa Evolunary Computation) [7]
(EC-1.2.1 Các chiến lƣợc tiến hóa (Evolution Strategies – ES)
Mụ hỡnh này được phát triển tại Đức, bởi Rechenberg [23], [24], Schwefel [25] và được mở rộng bởi Herdy [15], Schwefel [26] và một
số người khác ES mô phỏng các nguyên tắc tiến hóa trong tự nhiên để tạo ra một phương pháp giải các bài toán tối ưu với các tham số thay đổi liên tục, và gần đây mở rộng cho các bài toán rời rạc Trong đó, cách biểu diễn gene trên các vector thực được sử dụng để xử lý cỏc ràng buộc và giảm khối lượng xử lý dữ liệu
Nội dung của các chiến lược tiến hóa:
1.2.1.1 Chiến lược tiến hóa hai thành viên
Chiến lược này được dùng trên quần thể chỉ gồm một cá thể và chỉ áp dụng một toán tử di truyền là biến dị Sau khi biến dị ta có một cá thể con Cá
Trang 31thể con này đấu tranh sinh tồn với cá thể mẹ sinh ra nó trong pha chọn lọc Một trong hai cá thể mẹ và con này sẽ được chọn cho thế hệ tiếp theo tùy thuộc độ thích nghi của chúng ES được ký hiệu là (1+1) ES
a Biểu diễn nhiễm sắc thể: mỗi cỏ thể biểu diễn ở dạng v = (x, ), trong
đó x và là các vector thực, x là đại diện cho một điểm tỡm kiếm, là
vector các độ lệch tiêu chuẩn
b Tập lời giải: (1+1) ES cú quần thể chỉ gồm một cỏ thể
c Xác định hàm thích nghi: Hàm thích nghi và tổng độ thích nghi được
xác định tương tự như GA cổ điển, nó được đo dựa vào giá trị của hàm phù hợp
d Cỏc toỏn tử di truyền: Chỉ gồm phép biến dị, và được thực hiện như
sau:
Thay x bởi x’ =x + N(0, ) là vector các số Gausse ngẫu nhiên độc lập,
có trung bỡnh là 0 và cú độ lệch tiêu chuẩn là
e Phộp chọn lọc: Nếu cá thể con có độ thích nghi cao hơn cá thể mẹ và
thỏa món mọi ràng buộc thỡ nú thay thế cỏ thể mẹ, nếu khụng nú sẽ bị loại bỏ và quần thể khụng thay đổi
Giả sử tại thế hệ thứ t, ta cú tập lời giải với một cỏ thể duy nhất là:
Trang 32(xt, ) = ((5.3, 4.9), (1.0, 1.0))
Giả sử phộp biến dị cho ta kết quả sau:
7 5 4 0 3 5 ) 0 1 , 0 (
0 9 4 ) 0 1 , 0 (
1.2.1.2 Chiến lược tiến hóa đa thành viên: ký hiệu ( +1) ES
a Cấu trỳc nhiễm sắc thể: cấu trúc nhiễm sắc thể và hoạt động giống
như (1+1) ES
b Tập lời giải: cú nhiều cỏ thể
c Cỏc toỏn tử di truyền:
Phộp lai: Mọi cỏ thể trong quần thể cú cựng xỏc suất ghộp cặp để
tham gia lai ghép Hai cá thể cha mẹ được chọn ngẫu nhiên, sau phép lai cho ra môt cá thể con
Vớ dụ:
)) ,,,(), ,,,((
),(:
1 x1 1 x11 x12 x1n 11 21 n1Parent
)) ,,,(), ,,,((
),(:
2 x2 2 x12 x22 x n2 12 22 n2Parent
Tạo ra một cỏ thể con là:
Trang 33)) , , , ( ), , , , ((
) , (
2 1 2
1
n
n q
q q
n q
q
x x
x x
Child
Trong đó, qi = 1 hoặc qi = 2, với i = 1, 2, …, n
Toán tử biến dị và quy tắc điều chỉnh vẫn giống như chiến lược tiến hóa hai thành viên (1+1) ES
Phép chọn lọc: giống như (1+1) ES ở chỗ trong mỗi thế hệ chỉ sinh đúng một cá thể con, và cá thể yếu nhất trong (pop_size + 1)
cá thể sẽ bị loại bỏ
1.2.1.3 Chiến lược tiến hóa đa thành viên cải tiến
Gồm hai dạng sau:
- ( + ) ES: trong mỗi thế hệ, cỏ thể cha mẹ sinh ra cá thể con,
sau đó quần thể + sẽ lạo bỏ cỏ thể trong quỏ trỡnh chọn lọc
- ( , ) ES: trong mỗi thế hệ, cỏ thể cha mẹ sinh ra cỏ thể con (
< ), sau đó sẽ chọn lọc cỏ thể từ cỏ thể con trong quỏ trỡnh chọn lọc
So sánh chiến lược tiến hóa và giải thuật di truyền cổ điển
ES và GA cổ điển giống nhau ở điểm đều duy trỡ một tập lời giải tiềm năng, sau đó trải qua các quá trỡnh tiến hóa để tỡm ra lời giải tốt nhất
Điểm khác biệt giữa ES và GA là:
- Cỏch biểu diễn cỏ thể: ES biểu diễn cỏc cỏ thể bằng cỏc vector thực, cũn GA cổ điển dùng các vector nhị phân
- Quỏ trỡnh chọn lọc: trong ES, thủ tục chọn lọc cú tớnh chất tất định chọn cỏ thể từ + cỏ thể trong ( + ) ES, hoặc từ cỏ thể
Trang 34trong ( , ) ES và khụng cú sự lặp lại Cũn trong GA cổ điển thỡ
cỏ thể tốt vẫn cú thể được chọn nhiều lần
- Trật tự các toán tử: trong ES, thủ tục chọn lọc được thực hiện sau các phép biến đổi gene, cũn trong GA cổ điển thỡ ngược lại
Trong những năm gần đây, khoảng cách giữa hai hướng tiếp cận ES
và GA cổ điển càng gần nhau hơn
1.2.2 Lập trỡnh tiến húa (Evolutionary Programming EP)
Kỹ thuật này do Fogel [13], [14] giới thiệu, nhằm giải quyết cỏc bài toán tối ưu số, tạo hành vi cho các robot hay các tác tử thông minh (intelligent agent)
1.2.2.2 Biểu diễn nhiễm sắc thể
Các cá thể của quần thể trong EP được biểu diễn bởi các automat hữu hạn,
ký hiệu là FSM (Finite State Machine)
+ Tập lời giải
EP duy trỡ một quần thể cỏc FSM, mỗi FSM đại diện cho một lời giải của bài toán
+ Hàm thớch nghi
Trang 35Mỗi FSM được đo độ thích nghi bằng cách thử chúng trong môi trường, nghĩa là cho các FSM khảo sát các ký hiệu đó gặp
Vớ dụ: cho dóy a1, a2, … ai, FSM tạo ra một ký hiệu a’i+1 bằng cỏch khảo sỏt quy luật của dóy đó cho Ký hiệu này được so sánh với ký hiệu tiếp theo quan sát được ai+1 Như vậy, nếu đó gặp n ký hiệu, FSM sẽ đưa ra dự đoán (một dự đoán cho mỗi dóy con a1, a1a2, … a1a2… ai) Hàm thích nghi đánh giá kết quả chung cho n dự đoán đó
+ Cỏc toỏn tử di truyền
EP chỉ sử dụng một phép biến dị gene EP tạo các cá thể con trước, sau đó mới thực hiện phép chọn lọc Mỗi cá thể cha mẹ sinh ra đúng một cá thể con,
vỡ vậy quần thể trung gian cú kớch thước gấp đôi tập lời giải
Các cá thể con (FSM) được sinh ra bằng cách thực hiện phép biến dị ngẫu nhiên trên quần thể cha mẹ Có năm hỡnh thức biến dị:
- Sửa một ký hiệu ra
- Sửa một cung chuyển trạng thỏi
So sỏnh lập trỡnh tiến húa với giải thuật di truyền cổ điển
EP và GA cổ điển có một số khác biệt sau đây:
Trang 36+ Cỏch biểu diễn nhiễm sắc thể: EP biểu diễn cỏc cỏ thể bằng cỏc otomat hữu hạn, cũn GA biểu diễn bằng cỏc vector nhị phõn
+ Quỏ trỡnh chọn lọc: trong EP, thủ tục chọn lọc cú tớnh tất định: chọn pop_size cá thể tốt nhất từ 2*pop_size cá thể trung gian và không có sự lặp lại trong việc chọn lọc, cũn trong GA thỡ cỏc cỏ thể tốt cú thể được chọn nhiều lần
+ Trật tự các toán tử: trong EP, thủ tục chọn lọc được thực hiện sau các phép biến dị gene, cũn trong GA cổ điển thỡ ngược lại
+ Các tham số: trong GA cổ điển, xác suất lai và biến dị giữ nguyên trong suốt quá trỡnh tiến húa, cũn trong EP, xỏc suất biến dị có thể thay đổi trong quá trỡnh tiến húa
bị dần loại bỏ và cuối cựng cho ta chương trỡnh tốt nhất
1.2.3.2 Biểu diễn nhiễm sắc thể
Mỗi chương trỡnh mỏy tớnh cú cấu trỳc cõy
Vớ dụ: hai nhiễm sắc thể v1 biểu diễn biểu thức sin( x ) 2x yvà v2 biểu
diễn biểu thức sin(x) x2 ycú dạng sau:
+
Trang 37Phộp lai: là toán tử chủ đạo trong GP Phép lai tạo ra cá thể con bằng
cách hoán đổi các cây con của các cá thể cha mẹ
Vớ dụ: lai hai cỏ thể v1 và v2 tại cỏc cõy con cú gốc tụ xám, ta được hai
cá thể con như sau:
Trang 38Phộp biến dị: thường sử dụng là chọn một nút trên cây và sinh ngẫu
nhiên một cây con mới có gốc tại nút được chọn
+ Phộp chọn lọc
Chọn lọc theo nguyên tắc mỗi cây có một xác suất được chọn cho thế
hệ sau tỷ lệ thuận với độ thích nghi của cây đó
So sỏnh lập trỡnh di truyền với giải thuật di truyền cổ điển
Khác biệt cơ bản giữa GP và GA cổ điển ở cách biểu diễn cá thể: GP biểu diễn các cá thể bằng các chương trỡnh mỏy tớnh cú cấu trỳc dạng cây, GA cổ điển sử dụng vector nhị phân
1.2.4 Chương trỡnh tiến húa (Evolution Programmes – Eps)
1.2.4.1 í tưởng
Như đó trỡnh bày, GA cổ điển gặp khó khăn với những bài toán có nhiều ràng buộc không tầm thường và những bài toán có không gian tỡm kiếm phức tạp Chớnh vỡ vậy, người ta đó cải tiến GA cổ điển bằng cách sử dụng những cấu trúc dữ liệu hợp lý và tốt hơn mà không buộc phải dùng các chuỗi nhị phân, cũng như sử dụng các toán tử di truyền thích hợp hơn cho từng lớp bài toán cụ thể Phương pháp tính toán tiến hóa theo phương thức trên gọi là các chương trỡnh tiến húa
Theo Michalewicz thỡ:
Cấu trúc dữ liệu + Giải thuật di truyền = Chương trỡnh tiến húa
Trang 391.2.4.2 So sánh GA cổ điển và các chương trỡnh tiến húa
GA và Eps tương đồng ở điểm cùng duy trỡ một tập cỏc lời giải tiềm năng, và thực hiện chọn lọc dựa trên độ thích nghi của từng cá thể, rồi áp dụng các phép biến đổi gene trong quá trỡn tiến húa
Nội dung thủ tục Eps đều có dạng sau:
Trang 40- Eps kết hợp được đặc điểm của mỗi bài toán bằng cách dùng các cấu trúc dữ liệu tự nhiên, có dạng gần giống với lời giải thực tế của bài toán, và xây dựng các toán tử di truyền phù hợp với bài toán cụ thể
GA cổ điển không phụ thuộc đặc điểm bài toán vỡ sử dụng cấu trỳc nhiễm sắc thể nhị phõn
- Trong GA cổ điển, bước chọn lọc P(t) được thực hiện trước, bước thay đổi P(t) được thực hiện sau Trong Eps thỡ hai bước này có thể được hoán đổi cho nhau
- Sự khỏc nhau về cỏch tiếp cận:
Trong GA cổ điển, bài toán ban đầu được biến đổi sang dạng đặc biệt bằng cách xây dựng các chuỗi nhị phân cho các lời giải tiềm năng (mó húa), cỏc bộ giải mó, cỏc giải thuật sửa chữa v.v… Trong thực tế, những việc này khụng phải lỳc nào cũng dễ dàng thực hiện
Hướng tiếp cận GA cổ điển có thể biểu diễn bằng sơ đồ sau:
Trong các chương trỡnh tiến húa thỡ ngược lại Người ta không biến đổi bài toán mà biến đổi chính GA, tức là biến đổi cách biểu diễn nhiễm sắc thể và các toán tử di truyền sao cho phù hợp với bài toán
Hướng tiếp cận của Eps có thể biểu diễn bằng sơ đồ sau:
Bài toỏn thực tế
Bài toỏn
đó biến đổi
GA
cổ điển