GA tìm kiếm lời giải của bài toán dựa trên một quầnthể được hiểu như một tập những lời giải và tiến hoá quần thể đó dựatrên các toán tử di truyền như chọn lọc, lai ghép, đột biến.. Sau k
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC
VŨ THỊ THU HÀ
CƠ SỞ TOÁN HỌC CỦA GIẢI
THUẬT DI TRUYỀN
LUẬN VĂN THẠC SỸ TOÁN HỌC
THÁI NGUYÊN - NĂM 2010
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
Trang 2LUẬN VĂN THẠC SĨ TOÁN HỌC
Người hướng dẫn khoa học:
TS VŨ MẠNH XUÂN
THÁI NGUYÊN - NĂM 2010
Trang 3Mục lục
1.1 Khái quát chung 3
1.2 Các vấn đề cơ bản của giải thuật di truyền 8
1.2.1 Mã hoá - mô tả di truyền cho lời giải của bài toán 8 1.2.2 Tạo lập lời giải ban đầu (khởi tạo quần thể) 9
1.2.3 Xây dựng hàm phù hợp 9
1.2.4 Các toán tử di truyền 9
1.3 Giải thuật di truyền kinh điển 11
1.3.1 Mã hoá - Biểu diễn các biến bằng véc tơ nhị phân 11 1.3.2 Toán tử chọn lọc 12
1.3.3 Toán tử lai ghép 14
1.3.4 Toán tử đột biến 16
1.3.5 Hàm phù hợp 16
1.3.6 Giải thuật di truyền cổ điển 18
1.4 Giải thuật di truyền mã hóa số thực (RCGA) 20
1.4.1 Giới thiệu RCGA 20
1.4.2 Các toán tử của RCGA 20
1.4.3 Một số mô hình tiến hóa 23
2 Cơ sở toán học của giải thuật di truyền 26 2.1 Định lý sơ đồ của Holland 27
2.1.1 Một số khái niệm 27
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
Trang 42.2 Mô hình Markov của giải thuật di truyền 31
2.2.1 Tính Markov 32
2.2.2 Một số kết quả 35
2.2.3 Xích Markov trong GA 36
2.3 Một số vấn đề khác 40
2.3.1 Dạng biểu diễn ma trận của toán tử lai ghép trong RCGA 40
2.3.2 Điều kiện thành công của toán tử lai ghép 44
2.3.3 Toán tử lai ghép SBX 45
Kết luận 48
Tài liệu tham khảo 49
Trang 5Mở đầu
Ngày nay sự phát triển mạnh như vũ bão của máy tính điện tử đãlàm thay đổi sâu sắc đến nhiều lĩnh vực của cuộc sống, với tốc độ tínhtoán nhanh và chính xác, nhiều bài toán tính toán phức tạp trước đây
đã được giải quyết trọn vẹn Hơn thế nữa, nhiều kỹ thuật tính toán dựatrên sự mô phỏng hoạt động tự nhiên hay bắt chước suy nghĩ của conngười đã rất phát triển và tạo ra nhiều công cụ tính toán mới có hiệunăng cao Giải thuật di truyền (GA – Genetic Algorithm) là một trongnhững công cụ chính trong hệ thống tính toán mềm hay còn gọi là trítuệ tính toán GA được đề xuất từ khoảng những năm 70 của thế kỷtrước dựa trên sự mô phỏng quá trình tiến hoá tự nhiên GA chủ yếugiải quyết vấn đề tìm nghiệm trong lớp các bài toán tối ưu có độ phứctạp tính toán lớn GA tìm kiếm lời giải của bài toán dựa trên một quầnthể được hiểu như một tập những lời giải và tiến hoá quần thể đó dựatrên các toán tử di truyền như chọn lọc, lai ghép, đột biến Sau khi đượcgiới thiệu, GA đã được các nhà toán học và tin học nghiên cứu và pháttriển rất nhanh, nhiều dạng biến thể cũng như vấn đề cải tiến các toán
tử được đề xuất và kết quả thử nghiệm cho thấy tính hiệu quả rõ rệtcủa giải thuật này
Tuy vậy, GA là một giải thuật xác suất, hầu hết nó chỉ đưa ra nhữnglời giải chấp nhận được trong thời gian ngắn mà chưa chắc đã đạt đượclời giải tối ưu Kết quả của quá trình tiến hoá để chọn lời giải tốt nhấtphụ thuộc vào nhiều yếu tố ngẫu nhiên: quần thể khởi tạo ngẫu nhiên,chọn cá thể để tiến hoá ngẫu nhiên, việc sinh ra cá thể mới cũng là ngẫunhiên, Vì vậy việc nghiên cứu cơ sở toán học của giải thuật để đảm
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
Trang 6bảo chắc chắn sẽ đạt được lời giải tối ưu toàn cục của bài toán là việclàm rất khó khăn mặc dù điều này hợp với quy luật tự nhiên và thửnghiệm đều cho kết quả tốt Cho tới nay người ta mới chỉ đạt được một
số kết quả sơ bộ về sự hội tụ của giải thuật chủ yếu dựa trên định lý sơ
đồ của Hollan và dựa trên mô hình Markov
Đề tài này nhằm tập trung nghiên cứu cơ sở toán học của GA, tìmhiểu và trình bày một cách có hệ thống một số kết quả nghiên cứu về
mô hình toán học của GA cũng như đánh giá sự hội tụ của giải thuật
Do điều kiện nghiên cứu cũng như khả năng lập trình còn hạn chế nênchưa đặt ra việc thử nghiệm trên những bài toán cụ thể
Đề tài gồm những nội dung chính sau:
Chương 1 trình bày những vấn đề tổng quan về giải thuật di truyền,nguyên lý chung, giải thuật di truyền kinh điển dựa trên mã hoá nhịphân và giải thuật di truyền mã hoá số thực Mô tả tường minh giảithuật cũng như một số dạng toán tử di truyền tiêu biểu
Chương 2 trình bày những vấn đề nghiên cứu về cơ sở toán của giảithuật bao gồm định lý sơ đồ của Hollan, mô hình Markov của giải thuật
và một số phân tích toán học của các toán tử
Như đã nêu trên, do GA là thuật toán xác suất chứ không tiền địnhnên việc phân tích mô hình toán học của nó là cực kỳ khó khăn Luậnvăn này chỉ đặt ra mục tiêu là tìm hiểu và trình bày lại một cách hệthống những nội dung cơ bản như đã nêu
Dù rất cố gắng song do còn nhiều hạn chế về thời gian, kiến thức, nênluận văn này không tránh khỏi những thiếu sót Em rất mong được sựgóp ý của các thầy cô cùng các bạn học viên để hoàn thiện hơn nữa hoặc
có thể thác triển tiếp đề tài này
Trong suốt quá trình làm đề tài em nhận được sự giúp đỡ của rấtnhiều các thầy cô giáo của Đại học Thái Nguyên và các bạn học viênlớp CHTK2, đặc biệt là sự hướng dẫn rất tận tình của thầy giáo TS.VũMạnh Xuân Em xin chân thành cảm ơn
Trang 7Chương 1
Tổng quan về giải thuật di truyền
1.1 Khái quát chung
Giải thuật di truyền (Gennetic algorithims - GA) là kỹ thuật chunggiúp giải quyết vấn đề - bài toán bằng cách mô phỏng sự tiến hoá củacon người hay của sinh vật nói chung trong điều kiện quy định sẵn củamôi trường
Giải thuật di truyền cũng như các thuật toán tiến hoá nói chung hìnhthành dựa trên quan niệm cho rằng, quá trình tiến hoá 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 Quanniệm này có thể được xem như một tiên đề đúng không chứng minh đượcnhưng phù hợp với thực tế khách quan Quá trình tiến hoá thể hiện tínhtối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiệnhơn) thế hệ trước Tiến hoá tự nhiên được duy trì nhờ 2 quá trình cơbản: sinh sản và chọn lọc tự nhiên Xuyên suốt quá trình tiến hoá tựnhiên các thế hệ mới luôn được sinh ra để bổ sung, thay thế thế hệ cũ
Cá thể nào không thích ứng được với môi trường sẽ bị đào thải Sự thayđổi môi trường cũng là động lực thúc đẩy quá trình tiến hoá Ngược lại,tiến hoá cũng tác động trở lại góp phần làm thay đổi môi trường
Các cá thể mới sinh ra trong quá trình tiến hoá nhờ sự lai ghép thế
hệ cha mẹ Một cá thể mới có thể mang những tính trạng của cha mẹ (di
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
Trang 8truyền), cũng có thể mang những tính trạng hoàn toàn khác (đột biến).
Di truyền và đột biến là 2 cơ chế có vai trò quan trọng như nhau trongquá trình tiến hoá Dù rằng đột biến xảy ra xác suất nhỏ hơn nhiều sovới hiện tượng di truyền
Giải thuật di truyền sử dụng các thuật ngữ vay mượn của di truyềnhọc Ta có thể nói về các cá thể (hay kiểu gen, cấu trúc) trong một quầnthể, các cá thể này cũng còn được gọi là các chuỗi hay các Nhiễm sắcthể (NST) Trong GA, ta chỉ nói về những cá thể có 1 NST; các NSTđược tạo thành từ các đơn vị - các gen - biểu diễn trong một chuỗi tuyếntính, mỗi gen kiểm soát một (số) đặc trưng Gen với những đặc trưngnhất định có vị trí nhất định trong NST Bất cứ đặc trưng nào của mỗi
cá thể có thể tự biểu hiện một cách phân biệt, và gen có thể nhận một
số giá trị khác nhau (các giá trị về tính năng) Một vấn đề - bài toán đặt
ra sẽ được mã hoá thành các chuỗi bit với chiều dài cố định Nói mộtcách chính xác là các thông số của bài toán sẽ được chuyển đổi và biểuhiện lại dưới dạng các chuỗi bit Các thông số này có thể là các biến củamột hàm hoặc hệ số của một biểu thức toán học Người ta gọi các chuỗibit này là mã genome (gen) ứng với mỗi cá thể, các gen đều có cùngchiều dài Nói ngắn gọn, một lời giải sẽ được biểu diễn bằng một chuỗibit cũng giống như mỗi cá thể đều được quy định bằng gen của cá thể
đó vậy Đối với thuật giải di truyền một cá thể chỉ có 1 gen duy nhất
và 1 gen cũng chỉ phục vụ cho một cá thể duy nhất Mỗi kiểu (nhóm)gen (ta gọi là 1NST) sẽ biểu diễn một lời giải của bài toán đang giải (ýnghĩa của 1 NST cụ thể được người sử dụng xác định trước), một tiếntrình tiến hoá được thực hiện trên 1 quần thể các NST tương ứng vớimột quá trình tìm kiếm lời giải trong không gian lời giải Tìm kiếm đócần cân đối hai mục tiêu (có vẻ mâu thuẫn nhau) Khai thác những lờigiải tốt nhất và khảo sát không gian tìm kiếm GA là phương pháp tìmkiếm (độc lập miền) tạo được sự cân đối đáng kể giữa việc khai thác vàkhảo sát không gian tìm kiếm
Thực ra, GA thuộc lớp các giải thuật xác suất, nhưng lại rất khác
Trang 9những giải thuật ngẫu nhiên vì chúng kết hợp các phần tử tìm kiếm trựctiếp và ngẫu nhiên Khác biệt quan trọng giữa tìm kiếm của GA và cácphương pháp tìm kiếm khác là GA duy trì và xử lý một tập các lời giải(ta gọi là một quần thể) - tất cả những phương pháp khác phần lớn xử
lý một điểm trong không gian tìm kiếm Chính vì vậy, GA mạnh hơncác phương pháp tìm kiếm hiện có rất nhiều
GA thực hiện tiến trình tìm kiếm lời giải tối ưu theo nhiều hướngbằng cách duy trì một quần thể các lời giải và thúc đẩy sự thành hình
và trao đổi thông tin giữa các hướng này Quần thể trải qua tiến trìnhtiến hoá, ở mỗi thế hệ lại tái sinh các lời giải tương đối "tốt"; trong khicác lời giải tương đối "xấu" thì chết đi Để phân biệt các lời giải khácnhau; hàm mục tiêu được dùng để đóng vai trò môi trường
Các thuật toán, tuy có những điểm khác biệt, nhưng đều mô phỏngcác quá trình cơ bản: lai ghép, đột biến, sinh sản và chọn lọc tự nhiên
* Quá trình lai ghép (Crossover): Phép lai là quá trình hình thànhnhiễm sắc thể mới trên cơ sở nhiễm sắc thể cha - mẹ, bằng cách ghépmột hay nhiều đoạn gen, hai (hay nhiều) nhiễm sắc thể cha - mẹ với
sử các nhiễm sắc thể của cha - mẹ đều có m gen
điểm lai) Điểm lai chứa các chuỗi cha - mẹ dài m thành hai nhóm chuỗi
m21 + m12
hoá tiếp theo
* Quá trình đột biến (Mutation)
Đột biến là hiện tượ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
phỏng như sau:
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
Trang 10• Chọn ngẫu nhiên một cá thể bất kỳ cha - mẹ trong quần thể.
trình tiến hoá tiếp theo
* Quá trình sinh sản và chọn lọc (Selection)
Phép tái sinh là quá trình trong đó, các cá thể được sao chép trên cơ
sở độ thích nghi của nó Độ thích nghi là một hàm gán một giá trị thựccho các cá thể trong quần thể Quá trình này có thể được mô phỏng nhưsau:
bảng cộng dồn các giá trị thích nghi (theo số thứ tự gán cho từng cáthể) Giả sử quần thể có n cá thể Gọi độ thích nghi của cá thể thứ i là
Fi, tổng dồn thứ i là Fti, tổng độ thích nghi của toàn quần thể là Fm
của thế hệ mới
Phép chọn là quá trình loại bỏ các cá thể xấu trong quần thể để chỉgiữ lại trong quần thể các cá thể tốt Phép chọn có thể được mô phỏngnhư sau:
Trang 11data error !!! can't not
read
Trang 12data error !!! can't not
read
Trang 13data error !!! can't not
read
Trang 14data error !!! can't not
read
Trang 15data error !!! can't not
read
Trang 17data error !!! can't not
read
Trang 18data error !!! can't not
read
Trang 19data error !!! can't not
read
Trang 20data error !!! can't not
read
Trang 21data error !!! can't not
read
Trang 22data error !!! can't not
read
data error !!! can't not
read
Trang 23data error !!! can't not
read
data error !!! can't not
read
Trang 24data error !!! can't not
read
data error !!! can't not
read
Trang 26data error !!! can't not
read
Trang 27data error !!! can't not
read