Tối ưu hóa theo thuật toán di truyền
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA ðộc lập –Tự do-Hạnh Phúc
Thành phố Hồ Chí Minh
Khoa: Hoá
Bộ môn :Công nghệ thực phẩm
ĐỒ ÁN MÔN HỌC :“DAMH CÔNG NGHỆ THỰC PHẨM” MÃ SỐ: 603136
Họ và tên sinh viên: Nguyễn Hữu Chính MSSV: 60300289
Lớp :HCO3TP01 Ngành:Thực phẩm 1.Đầu đề đồ án :Tổng quan tài liệu về tối ưu hĩa theo thuật tốn di truyền
2.Nhiệm vụ :
• Tổng quan về lý thuyết
• Phần mềm sử dụng
• Thiết kế thực nghiệm
3.Ngày giao đồ án :6/2/2007
4.Ngày hoàn thành đồ án : 27/6/2007
5.Ngày bảo vệ hay chấm: 28/6/2007
CHỦ NHIỆM BỘ MÔN Ngày tháng năm
Trang 3NHẬN XÉT ĐỒ ÁN
Cán bộ hướng dẫn Nhận xét:
Điểm: Chữ ký: _
Cán bộ chấm hay Hội đồng bảo vệ.Nhận xét :
Điểm : Chữ ký: _
Trang 4Danh mục các hình
Hình 1 : Nguyên lý của phương pháp leo ñồi……….10
Hình 2 : ðồ thị của hàm (1)………11
Hình 3: Thuật toán di truyền……… 13
Hình 4 : Mã nhị phân……… 14
Hình 5: Mã số thực……….15
Hình 6: Mã dạng cây……….……….16
Hình 7:Mã hoán vị ……….16
Hình 8 : Roulette wheel……… 17
Hình 9: Situation before ranking (graph of fitnesses) ………18
Hình 10: Situation after ranking (graph of order numbers) ……… 18
Hình 11 : Lai một vị trí ñối với mã nhị phân……… 20
Hình 12: Lai một vị trí ñối với mã số thực……….20
Hình 13 : Lai một vị trí ñối với mã dạng cây……… 21
Hình 14: Lai hai vị trí……….21
Hình 15: Lai hai vị trí ñối với mã số thực……… 21
Hình 16: Lai ñều……….22
Hình 17: Lai số học………22
Hình 18: ðột biến ……… 23
Hình 19: ðột biến nhẹ………23
Hình 20: Phần mềm Matlab………26
Hình 21 : Gatool……….27
Hình 22: Phần mềm Design-Expert 7.1.2 ……….30
Hình 23:Kết quả thu ñược lần 1 khi chạy mục tiêu 1 ………34
Hình 24: Kết quả thu ñược lần 1 khi chạy mục tiêu 2………35
Hình 25: Kết quả thu ñược lần 1 khi chạy mục tiêu 3 ……… 35
Trang 5Hình 26: Pareto front……… 37
Mục lục 1.TỔNG QUAN VỀ TỐI ƯU HÓA……… 7
1.1.KHÁI QUÁT……… 7
1.2.PHÂN LOẠI……… 7
1.3 TỐI ƯU HÓA CỤC BỘ VÀ TỐI ƯU HÓA TOÀN CỤC………8
1.3.1 Phương pháp truyền thống……… 8
1.3.2 Phương pháp leo ñồi………9
2.THUẬT TOÁN DI TRUYỀN……… …….12
2.1.LÝ THUYẾT……… ……12
2.1.1KHỞI TẠO QUẦN THỂ BAN ðẦU ……… ………13
2.1.2.MÃ HÓA……… 14
2.1.2.1.Mã nhị phân ……… 14
2.1.2.2 Mã số thực……….15
2.1.2.3.Mã dạng cây ……… 16
2.1.3.LỰA CHỌN ………16
2.1.3.1.Roulette selection………17
2.1.3.2.Rank selection……….18
2.1.3.3Elitism……… 19
2.1.4.PHÉP LAI ……… ……….19
Trang 62.1.4.1.Lai một vị trí……… 19
2.1.4.2.Lai hai vị trí ………20
2.1.4.3 Lai ñều ……… 21
2.1.4.4.Lai số học ……… 22
2.1.5.ðỘT BIẾN ……… ………22
2.1.5.1.ðột biến nhẹ……… 23
2.1.5.2.ðột biến biên ……… 24
2.1.5.3.ðột biến ñồng dạng ………24
2.2PHẦN MỀM ÁP DỤNG……… 24
2.3.ỨNG DỤNG………27
3.THIẾT KẾ THỰC NGHIỆM……… 28
3.1.BÀI TOÁN……… 28
3.2.CHẠY CHƯƠNG TRÌNH………35
4 KẾT LUẬN………37
5.TÀI LIỆU THAM KHẢO……….37 PHỤ LỤC
Trang 71.TỔNG QUAN VỀ TỐI ƯU HÓA.
Theo cách nhìn hiện ñại, lý thuyết tối ưu hóa bao gồm tập hợp các kết quả của toán học cơ sở kết hợp với các phương pháp số dùng ñể tìm phương án tốt nhất từ tập hợp phương án theo một thuật giải nhất ñịnh Hầu hết các bài toán kỹ thuật ñều có nhiều biến cho nên việc tính toán ñể tối ưu hóa rất phức tạp ñòi hỏi rất nhiều thời gian và trong nhiều trường hợp không thể giải ñược bằng phương pháp số thông thường mà thiếu ñi sự hỗ trợ của máy tính
Lý thuyết tối ưu hóa ñược phát triển mạnh do sự xuất hiện của máy tính với tốc ñộ
xử lý nhanh, ñảm bảo thực hiện các phương pháp số khác nhau ñể tối ưu hóa Hầu hết các phương pháp tối ưu thực chất là bất biến và có thể giải nhiều thiết kế khác nhau Hiện nay ñã có hàng chục phương pháp số tối ưu hóa, thể hiện dưới dạng thuật toán tiêu chuẩn ñược xây dựng và ngày càng hoàn thiện Cho nên nhiệm vụ của người thiết kế là chọn phương pháp và tập hợp chương trình sao cho ñúng và hợp lý 1.2.PHÂN LOẠI
Các phương pháp tối ưu hóa ñược phân ra thành nhiều nhóm mà mỗi nhóm lại có phương pháp khác nhau Chúng có thể ñược chia thành các nhóm sau ñây:
• Phương pháp tối ưu hóa bằng thống kê
• Phương pháp tối ưu bằng quy hoạch toán học
• Phương pháp tối ưu hóa liên tục
• Phương pháp tối ưu hóa gián ñoạn
• Phương pháp tối ưu hóa không có ràng buộc
Phương pháp tối ưu hóa thống kê ñược kể ñến là phương pháp lý thuyết trò chơi và phương pháp qui hoạch thực nghiệm
Phương pháp tối ưu hóa bằng quy hoạch toán học ñược chia thành hai nhóm nhỏ Phương pháp thứ nhất là phương pháp phân tích bao gồm những phương pháp phân tích vi phân, phương pháp phân tích biến phân, nguyên tắc max min nhóm thứ hai là những phương pháp phân tích số bao gồm phương pháp qui hoạch tuyến tính, phương pháp qui hoạch phi tuyến, phương pháp qui hoạch ñộng, phương pháp qui hoạch ngẫu nhiên…
Trang 8Trong quy hoạch tuyến tính thông dụng nhất là phương pháp ñơn hình và phương pháp ñơn hình cải biên Trong quy hoạch phi tuyến có thể kể tới là phương pháp quy hoạch lồi, phương pháp quy hoạch bình phương…
Các phương pháp tối ưu hóa liên tục ñược phân lọa theo dấu hiệu như: sự tồn tại của ràng buộc kỹ thuật, dạng cực trị, ñặc tính của phương pháp giải
o Theo dạng của hàm mục tiêu, phương pháp tối ưu hóa liên tục ñược chia ra: phương pháp tuyến tính, phương pháp lồi, phương pháp bậc hai và phương pháp phi tuyến
o Theo sự tồn tại của ràng buộc kỹ thuật phương pháp tối ưu hóa liên tục ñược chia ra: không có ràng buộc kỹ thuật và có ràng buộc kỹ thuật Lọai không có ràng buộc kỹ thuật có thể giải bằng phương pháp bậc không, bậc nhất và bậc hai Loại có ràng buộc kỹ thuật có thể giải bằng phương pháp hàm phạt và hàm chắn
o Theo dạng cực trị các phương pháp tối ưu hóa chia hai loại : tối ưu hóa cục bộ và tối ưu hóa toàn bộ
o Theo phương pháp xác ñịnh ñạo hàm thì có hai phương pháp : phương pháp phân tích và phương pháp số Nếu theo ñạo hàm thì chia làm ba loại : bậc không, bậc nhất và bậc hai
Phương pháp tối ưu hóa gián ñoạn dùng trong trường hợp biên số và hàm mục tiêu thay ñổi một cách gián ñoạn Các phương pháp này áp dụng rất hiệu quả
ñể giải các bài toán ñặc trưng như bài toán vận tải, bài toán tối ưu hóa số nguyên hoặc bài toán dạng tổ hợp
Phương pháp tối ưu hóa gián ñoạn có thể kể ñến như : phương pháp cắt ñứt, phương pháp nhánh cây, phương pháp cộng ñược, phân tích quy hoạch ñộng
và phương pháp tìm kiếm ngẫu nhiên
Các phương pháp tối ưu hóa cục bộ không có ràng buộc kỹ thuật tùy theo bậc ñạo hàm sẽ ñược phân ra bậc không, bậc nhất và bậc hai
• Phương pháp bậc hai nổi tiếng là phương pháp Newton
• Phương pháp bậc nhất có mấy phương pháp chính như phương pháp gradient, phương pháp dốc ñứng, phương pháp metric thay ñổi Loại bậc không một biến bao gồm: phương pháp chia ñôi, phương pháp mặt cắt vàng, phương pháp Phibônasi, phương pháp nội suy bậc hai…
Trang 9Còn loại bậc không nhiều biến có thể kể ñến phương pháp tọa
ñộ, phương pháp Rosenbrock, phương pháp Hook-Jeeves, phương pháp tìm kiếm ngẫu nhiên, phương pháp ñơn hình Neld-Mead, phương pháp Powell… nhất có mấy phương pháp chính như phương pháp gradien,ược, phân tích quy hoạch ñộng và phương pháp tìm kiếm ngẫu nhiên
1.3 TỐI ƯU HÓA CỤC BỘ VÀ TỐI ƯU HÓA TOÀN CỤC
1.3.1 Phương pháp truyền thống
Phương pháp truyền thống hay còn gọi là phương pháp tối ưu hóa tiêu chuẩn
(standard algorithms) ða số là các phương pháp tối ưu hóa cục bộ Xem xét sơ qua một vài phương pháp:
Phương pháp liệt kê:
Duyệt tất cả các ñiểm nằm trong vùng khảo sát ñể tìm ra ñiểm cực trị của nó Phương pháp này không thích hợp khi dữ liệu ñầu quá lớn lớn tức là không gian tìm kiếm quá lớn
Phương pháp giải tích:
Một số phương pháp dạng này như phương pháp steepest descent, phương pháp Quasi-Newton, phương pháp Gauss-Newton, phương pháp Levenberg-Marquardt … Tìm ñiểm cực trị bằng cách giải tập các phương trình khi cho Gradient bằng 0 ðể xét ñược Gradient phải tính ñạo hàm của hàm số ðiều này không giải quyết ñược trong trường hợp hàm số không liên tục hoặc không có ñạo hàm ðối với bài toán có ñiểm yên ngựa thì phương pháp này không còn hiệu quả nữa
1.3.2 Phương pháp leo ñồi
ðây là phương pháp nổi tiếng, mở ñầu cho việc giải bài toán tối ưu hóa toàn cục Hầu hết các phương pháp và các thuật toán ñể giả bài toán tối ưu hóa toàn cục sau này ñều dựa trên phương pháp này
Ta tưởng tượng rằng không gian tìm kiếm là một vùng ñất gập ghềnh (landscape) với nhiều ngọn ñồi cao thấp khác nhau Trong ñó, ngọn ñồi cao nhất sẽ có lời giải tốt nhất và vị trí có ngọn ñồi cao nhất sẽ càng gần với lời giải tốt nhất Tìm kiếm leo ñồi
có nghĩa là chúng ta phải phát sinh lời giải sao cho càng về sau các lời giải càng tiến ñến gần lời giải tốt nhất Thao tác này cũng giống như thao tác leo ñồi vậy
Trang 10Hình 1 : Nguyên lý của phương pháp leo ñồi
Tìm kiếm leo ñồi bắt ñầu bằng cách chọn vị trí bắt ñầu trong không gian tìm kiếm (
hình 1) Sau ñó quyết ñịnh xem hướng leo lên nhanh nhất, ñánh giá lại hướng leo lên (xem thử chỗ nào ít dốc hơn ñể leo lên nhanh hơn) Tiếp tục cho ñến khi tìm ñược
một vị trí trong không gian lời giải mà tất cả những ñiểm xung quanh ñều nằm ở
dưới
Trang 11Kiểu giải quyết này gặp vấn ñề cơ bản là vùng ñất chúng ta có nhiều ngọn ñồi nhỏ bên cạnh thì có khả năng chúng ta bị kẹt ở những ngọn ñồi nhỏ Và như vậy, chúng
ta chỉ tìm ñược cực ñại cục bộ mà thôi
Hầu hết các phương pháp tối ưu khác ñều hoạt ñộng dựa theo cách này và chỉ khác nhau ñơn giản ở chỗ anh ta quyết ñịnh hướng leo lên như thế nào, chọn một bước ñể tiến lên tiếp tục là bao nhiêu và có nên sử dụng những thông tin ñã ñược tích lũy trước ñó không
Xem xét bài toán sau:
(1)
; ! " #
Cực ñại toàn cục = 1 khi = (0.5, 0.5)
Thật không may, cuộc sống không may mắn như vậy chúng ta hãy xem hình 2
Hình 2 : ðồ thị của hàm (1)
ðiểm cực ñại là một ñỉnh trung tâm nhỏ ñược chỉ bởi mũi tên, xung quanh nó là những vòng tròn ñồng tâm cực ñại thứ hai Cách duy nhất mà người leo ñồi có thể tìm thấy cực ñại thực sự nếu như anh lính nhảy dù rớt xuống một nơi nào ñó trên vùng dốc của cực ñại trung tâm mà thôi Việc leo ñồi từ các vùng khác chỉ dẫn anh ta tới những cực ñại thứ hai của những vòng tròn ñồng tâm khác ðiểm trung tân này chỉ chiếm khoảng 1% trong toàn bộ không gian tìm kiếm ( 0$ $ )
Trang 12Với khả năng xảy ra cực ñại toàn cục là 1%, bạn phải chạy chương trình tìm liếm leo ñồi trung bình là 100 lần trước khi tìm ra cực ñại trung tâm Khi phải ñối mặt với bài toán tối ưu hóa với không gian tìm kiếm lớn hoặc ñiểm cực ñại nằm ở một phần rất nhỏ của không gian tìm kiếm thì giải thuật leo ñồi gặp nhiều khó khăn
Và rõ ràng thuật toàn leo ñồi là chiến lược tối ưu hóa cục bộ trong khi hình 2 bắt ta phải tìm một cực ñại toàn cục
Vậy chúng ta giải quyết như thế nào ñây?
ðể giải bài toán như hình 2 thì thuật toán leo ñồi lặp lại (iterated hill climing) Nghĩa
là bạn có thể chạy thuật toán leo ñồi lặp lại nhiều lần, mỗi lần bắt ñầu từ một ñiểm ngẫu nhiên trong không gian tìm kiếm Mỗi lần như vậy bạn hãy ghi nhớ các cực ñại tìm ñược Cứ tiếp tục như vậy cho ñến khi bạn tìm thấy cái lớn nhất trong trong tất
cả các cực ñại mà bạn tìm ñược Lúc này thì bạn ñã giải ñược bài toán tối ưu hóa toàn cục
ðây là tư tưởng sơ khởi ban ñầu của thuật toán di truyền Càng về sau, người ta càng hoàn thiện hơn ý tưởng của phương pháp này dẫn ñến sự ra ñời hoàn chỉnh các phương pháp, nguyên lý dùng trong thuật toán di truyền Thuật toán di truyền có thể giải mọi bài toán tối ưu hóa không cần biết ñạo hàm có xác ñịnh hay không, hàm số
có liên tục hay không và trong không gian tìm kiếm vô cùng lớn
2.THUẬT TOÁN DI TRUYỀN
2.1.LÝ THUYẾT
Thuật giải di truyền-theo như nhà bác học Charles Darwin trong cuốn sách Natural Selection and Survival of the Fittest-cũng như các thuật toán tiến hóa nói chung, hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lí nhất và tự nó ñã mang tính tối ưu Quá trình tiến hóa thể hiện tính tối ưu
ở chỗ: thế hệ sau bao giờ cũng tốt hơn thế hệ trước Tiến hóa tự nhiên ñược duy trì nhờ hai quá trình cơ bản: sinh sản và chọn lọc tự nhiên Cá thể nào phát triển hơn, thích nghi hơn với môi trường sẽ tồn tại, ngược lại, cá thể ñó sẽ bị ñào thải Các thuật toán tiến hóa, tuy có những ñiểm khác biệt, nhưng ñều mô phỏng bốn quá trình cơ bản: lai ghép, ñột biến, sinh sản và chọn lọc tự nhiên
Thuật toán di truyền lần ñầu ñược ñưa ra bởi John Holland, thuộc trường ñại học Michigan vào những năm 1970 Ông ta ñặc biệt quan tâm tới việc ứng dụng chọn lọc
tự nhiên vào nghiên cứu máy móc và phát triển kỹ thuật cho phép chương trình máy tính có thể mô phỏng quy trình tiến hóa Ban ñầu nó ñược gọi là dự án tái sản xuất (reproductive plans), nhưng sau ñó ñược biết ñến phổ biến với cái tên thuật toán di truyền (genetic algorithms) Trong hơn 30 năm qua, ñã có nhiều nghiên cứu trong giải thuật cũng như ứng dụng ñược công bố
Trang 13Hình 3: Thuật toán di truyền
2.1.1KHỞI TẠO QUẦN THỂ BAN ðẦU
Trang 14Chọn kích thước quần thể thích hợp cho thuật giải di truyền luôn luôn cần thiết nhưng lại là một nhiệm vụ khó khăn ñối với người sử dụng Một mặt, nếu kích thước quần thể quá nhỏ, thuật giải di truyền sẽ hội tụ rất nhanh và do ñó lời giải tối ưu sẽ là không tối ưu Mặt khác, nếu kích thước quần thể quá lớn thì tốn nhiều tài nguyên máy tính và thậm chí bị ngăn cản
Theo một cuộc ñiều tra lý thuyết về xác ñịnh kích thước quần thể tối ưu, Goldberg cho rằng kích thước quần thể ñược xác ñịnh theo công thức pop=1.65 x 20.21*length và
ñề nghị rằng kích thước này nên là 130, 557, 10244 cho chuỗi dài 30, 40, 50, 60 Smith ñề nghị một thuật giải ñể xác ñịnh kích thước quần thể ban ñầu từ quần thể thích nghi……
Tóm lại, việc xác ñịnh kích thước quần thể ban ñầu là hoàn toàn ngẫu nhiên và phụ thuộc vào từng bài toán cụ thể
2.1.2.MÃ HÓA
GAs bắt ñầu với quần thể, tập của nhiều cá thể (nhiễm sắc thể) Sự mã hóa các biến phụ thuộc vào từng bài toán Thông thường có các dạng mã sau: mã nhị phân, mã Gray, mã số thực và mã dạng cây
2.1.2.1.Mã nhị phân
Mã nhị phân ñược biểu diễn bằng các chuỗi 0 và 1
Quy tắc biểu diễn gen qua chuỗi nhị phân : Chọn chuỗi nhị phân ngắn nhất nhưng
ñủ thể hiện ñược tất cả kiểu gen
Trang 15i ab trong ñó decimal (string2) biểu diễn giá trị thập phân của chuỗi nhị phân string2 Bây giờ mỗi nhiễm sắc thể (là một lời giải) ñược biểu diễn bằng chuỗi nhị phân có chiều dài m = ∑ni= mi
1 Với m1 là bit ñầu tiên biểu diễn các giá trị trong khoảng [a1,b1], m2 là bit kế tiếp biểu diễn giá trị trong khoảng [a2,b2] và nhóm mn bit cuối cùng biểu diễn trong khoảng [an,bn]
Biểu diễn bằng chuỗi nhị phân có thể tạo ra nhiều nhiễm sắc thể thậm chí với số alen ít Nói cách khác, việc mã hóa này không tự nhiên ñối với vài bài toán và kết quả ñúng ñạt ñược sau khi mã hóa hoặc ñột biến
2.1.2.2 Mã số thực
ðối với những bài toán có nhiều tham số, việc biểu diễn gen bằng chuỗi số nhị phân ñôi lúc sẽ làm cho kiểu gen của cá thể trở nên quá phức tạp Dẫn ñến việc thi hành cách thao tác trên gen trở nên kém hiệu quả Khi ñó, người ta sẽ chọn biểu diễn kiểu gen dưới dạng một chuỗi số thực Tuy nhiên, chọn biểu diễn kiển gen bằng chuỗi số thực, bạn cần lưu ý quy tắc sau :
Quy tắc biểu diễn kiểu gen bằng chuỗi số thực : Biểu diễn kiểu gen bằng số thực phải ñảm bảo tiết kiệm không gian ñối với từng thành phần gen
Mục ñích chính là ñể mở rộng không gian tìm kiếm của GA gần với không gian thực của bài toán hơn
Trong mã số thực, mỗi nhiễm sắc thể là một chuỗi các các giá trị Các giá trị có thể là bất cứ thứ gì liên quan ñến vấn ñề ñang xét, bao gồm số thực, kí tự và thậm chí là các ñối tượng
Chromosome A 1.2324 5.3243 0.4556 2.3293 2.4545 Chromosome B ABDJEIFJDHDIERJFDLDFLFEGT Chromosome C (back), (back), (right), (forward), (left)
Trang 16
Trong ñó A ñại diện cho tác vụ ri
Việc mã hóa này rất cần thiết trong việc tạo ra các ñột biến v
toán
2.1.2.3.Mã dạng cây
Mã dạng cây ñược sử dụng chủ yếu cho các ch
thức Cấu trúc cây thường ñư
bài toán cũng có dạng cây và do ñó vi
Trong mã dạng cây, mỗi nhiễm sắc thể l
như hàm hoặc lệnh của ngôn ngữ ch
Chromosome A
( + x ( / 5 y ) )
Hình 6:
2.1.2.4.Mã hoán vị
Mã hoán vị ñược sử dụng trong các bài toán trình t
bài toán “Người du lịch” (travelling salesman problem), trong ñó m
là một chuỗi các số tự nhiên
Chromosome AChromosome B
Hình
2.1.3.LỰA CHỌN
Hình 5: Mã số thực
ại diện cho tác vụ riêng, B ñại diện cho một cái khác ……
ất cần thiết trong việc tạo ra các ñột biến và lai tạo cụ thể cho b
ợc sử dụng chủ yếu cho các chương trình tiến hóa hoặc các biểu
ược dụng trong trường hợp bản thân cấu trúc dữ liệu của
à do ñó việc ñột biến và lai ñược thực hiện khá dễ d
ỗi nhiễm sắc thể là một cây của nhiều ñối tượng , chẳng hạn
ủa ngôn ngữ chương trình
Hình 7:Mã hoán vị
ạo cụ thể cho bài
ến hóa hoặc các biểu ờng hợp bản thân cấu trúc dữ liệu của
ợc thực hiện khá dễ dàng
ợng , chẳng hạn
(ordering problems) như trong
i nhiễm sắc thể
Trang 17Nhiễm sắc thể ñược lựa chọn t
tạo và ñột biến Vấn ñề ở ñây là l
hóa của Darwin thì những cha m
nhiều phương pháp ñể lựa ch
xe rulet (Roulette wheel selection), l
chọn theo vòng (Tournament selection), l
selection), lựa chọn xếp hạng (Rank selection) và m
(Elitism) Sau ñây là một số
i i
i
v f
v f
1
) (
) (
Tìm tổng giá trị thích nghi F cho toàn qu
1
) (
i
i
v eval
v eval
1
) (
) (
Tìm xác suất tích lũy qi cho m
n từ quần thể ñể trở thành cha mẹ cho các phép toán lai ñây là lựa chọn nhiễm sắc thể như thế nào Theo thuy
ng cha mẹ tốt nhất sẽ sống sót và tạo ra những con m
a chọn nhiễm sắc thể tốt nhất, ví dụ như lựa chọRoulette wheel selection), lựa chọn theo Boltzman (Boltzman selection), l
n theo vòng (Tournament selection), lựa chọn trạng thái bền (Steady state
ng (Rank selection) và một vài phương pháp khác phương pháp thông dụng
Roulette wheel ) của mỗi nhiễm sắc thể vi (i=1 pop-size), ể:
cho các phép toán lai nào Theo thuyết tiến
Trang 18Cách tính ñộ thích nghi như trên ch
tốt tương ñối ñồng ñều giữa các cá th
có một cá thể có ñộ tốt quá cao, tách biệt hẳn các cá th
ế hệ sau sẽ bị “hút” về phía cá thể ñặc biệt ñó Do ñó, s
n ñến thế sau của các cá thể xấu, tạo nên hiện tưlàm giảm khả năng dẫn ñến lời giải tốt nhất (vì cá th
ng nhiễm sắc thể) Chính vì vậy mà ta gọi là ñộ thích nghi x
Situation before ranking (graph of fitnesses)
ần thể và mỗi
a mình Ví dụ :
t nhất có ñộ thích nghi xếp
Trang 19Hình 10: Situation after ranking (graph of order numbers)Phương pháp này sẽ cho ta linh ñ
ñộ thích nghi lên các cá thể có ñ
thể có ñộ thích nghi càng cao thì xác su
Phương pháp này giúp cho t
nhau Tuy nhiên, phương pháp này d
thể tốt nhất không khác biệt là bao so v
2.1.3.3Elitism
Phương pháp này là một phương pháp m
và ñột biến, chúng ta sẽ mất ñi nh
là phương pháp mà ñầu tiên chúng ta s
kế tiếp, những cái còn lại sẽ
Phương pháp này gia tăng kế
kiểm soát tần số lai tạo mà ở
cá thể tạo ra nhanh, nếu quá nhanh có th
ñi ý nghĩa của việc lựa chọn ban ñ
kiếm do mất ñi khả năng thăm d
2.1.4.1.Lai một vị trí
Với mỗi nhiễm sắc thể trong
Phát sinh 1 số ngẫu nhiên
Phương pháp này giúp cho tất cả các nhiễm sắc thể có cơ hội ñược lựa ch
nhau Tuy nhiên, phương pháp này dẫn ñến việc hội tụ chậm hơn bởi vì nhi
t là bao so với các nhiễm sắc thể khác
t phương pháp mới Khi tạo ra một quần thể mới b
t ñi những nhiễm sắc thể tốt nhất dù ít hay nhi
u tiên chúng ta sẽ sao chép lại những cá thể tốt nhấ ñược thực hiện theo các cách cũ
ết quả tốt ưu bởi vì chúng ta ñã giữ lại ñược nh
lựa lai ghép với xác suất pc Có 3 dạng laitrí, lai ñều và lai theo thuật toán Với 4 loại trên,
n là hằng số Số cá thể lai tạo sẽ là pc * popsize
ở ñó toán tử lai ñược thực hiện Nếu tốc ñộ lai nhanh thì s
u quá nhanh có thể những cá thể trội hơn bị ñào th
n ban ñầu Tuy nhiên, tốc ñộ quá chậm sẽ ñình trnăng thăm dò
trong quần thể:
nhiên r trong khoảng [0,1 ] Nếu r < pc thì chghép
ễm sắc thể ñã ñược chọn một cách ngẫu nhiên
thể ñược ghép ñôi, lại phát sinh ngẫu nhiên
* popsize Tốc ñộ lai lai nhanh thì số ñào thải và làm mất ình trệ việc tìm
chọn nhiễm nhiên ðối với một số
Trang 20nguyên pos trong khoảng [ 0, m ] (m là tổng số bit trong một nhiễm sắc thể) Số pos cho vị trí ñiểm lai Hai nhiễm sắc thể (b1b2 bpos bpos+1 bm)
và (c1c2 cposcpos+1 cm) ñược thay bằng cặp con của chúng (b1b2 bposcpos+1 cm) và (c1c2 cposbpos+1 bm)
0 1 2 D E F G H I J
... tối ưu hóa tồn cụcðây tư tưởng sơ khởi ban ñầu thuật toán di truyền Càng sau, người ta hoàn thiện ý tưởng phương pháp dẫn đến đời hồn chỉnh phương pháp, nguyên lý dùng thuật toán di truyền. .. di truyền Thuật tốn di truyền giải tốn tối ưu hóa khơng cần biết đạo hàm có xác định hay khơng, hàm số
có liên tục hay khơng khơng gian tìm kiếm vơ lớn
2.THUẬT TỐN DI TRUYỀN
2.1.LÝ... với tốn tối ưu hóa với khơng gian tìm kiếm lớn điểm cực đại nằm phần nhỏ khơng gian tìm kiếm giải thuật leo đồi gặp nhiều khó khăn
Và rõ ràng thuật tồn leo đồi chiến lược tối ưu hóa cục