Thuật giải di truyền là một dạng t m kiếm heuristic m ph ng quá tr nh tiến hóa của tự nhiên th ng qua các yếu tố c bản như chọn lọc lai gh p đột biến để khởi tạo các trạng thái mới c ng
Trang 11.1 Thuật giải di truyền 2
1.2 Biểu diễn thuật giải di truyền 2
Chương 2 CÁC YÊU TỐ CỦA THUẬT GIẢI DI TRUYỀN 4
2.1 Khởi tạo quần thể ban đầu 4
2.2 Điều kiện dừng 4
2.3 Điều kiện lai tạo 5
2.4 Chọn lọc 5
2.5 Phép lai 10
2.6 Đột biến 15
2.7 Tạo quần thể mới 17
Chương 3 XEM XÉT THUẬT GIẢI DI TRUYỀN TRONG THỰC TẾ 19
3.1 Tầm quan trọng của ngẫu nhiên 19
3.2 Tối ưu hóa ràng buộc 19
3.3 Hàm phạt 20
3.4 Khắc phục 25
3.5 Phát biểu bài toán theo cách khác 25
3.6 Kết hợp Thuật giải di truyền với các heuristic 26
Chương 4 DEMO CAR EVOLUTION 27
4.1 Giới thiệu 27
4.2 Thiết kế xe 27
4.3 Biểu diễn cá thể 28
4.4 Chọn lọc 28
4.5 Lai ghép 30
4.6 Đột biến 31
4.7 Thực nghiệm 32
ĐÁNH GIÁ KẾT LUẬN 33
TÀI LIỆU THAM KHẢO 34
Trang 2LỜI MỞ ĐẦU
Từ trước đến nay trong các nghiên c u và ng dụng tin học đ xu t hiện nhiều bài toán l th mà vẫn chưa t m được phư ng pháp giải nhanh và hợp l Phần lớn đó là nh ng bài toán tối ưu phát sinh trong các ng dụng Để giải loại bài toán này ngư i ta thư ng phải t m đến một thuật giải hiệu quả mà kết quả thu được
ch x p x tối ưu Thuật giải di truyền là một trong nh ng phư ng pháp như vậy
Thuật giải di truyền là một dạng t m kiếm heuristic m ph ng quá tr nh tiến hóa của tự nhiên th ng qua các yếu tố c bản như chọn lọc lai gh p đột biến để khởi tạo các trạng thái mới c ng với hàm th ch nghi để đánh giá các cá thể và sản sinh các trạng thái
Thuật giải di truyền cho một bài toán cụ thể bao g m bốn v n đề c bản:
Biểu diễn di truyền với nh ng cá thể l i giải có thể của bài toán
Khởi tạo quần thể ban đầu
Hàm đánh giá: đánh giá độ th ch nghi của từng cá thể
Các toán t di truyền được s dụng để sản sinh con cháu
Để s dụng Thuật giải di truyền ch ng ta cần chuyển các l i giải của bài toán thành các cá thể trong Thuật giải di truyền và so sánh các tr số th ch nghi của từng l i giải
Trang 3CHƯƠNG 1 GIỚI THIỆU VỀ THUẬT GIẢI DI TRUYỀN
1.1 Thuật giải di truyền
1.1.1 Khái niệm cơ bản
Thuật giải di truyền là một dạng t m kiếm heuristic m ph ng quá tr nh tiến hóa của tự nhiên th ng qua các yếu tố c bản như chọn lọc lai gh p đột biến để khởi tạo các trạng thái mới c ng với hàm th ch nghi để đánh giá các cá thể và sản sinh các trạng thái
1.2 Biểu diễn thuật giải di truyền
1.2.1 Biểu diễn nhị phân
Mỗi l i giải được hiểu là một vector nhiễm sắc thể mỗi phần t mỗi biến của vector nhiễm sắc thể được m hoá nh một số lượng bit nào đó 0 1
Độ ch nh xác của phư ng pháp này t y thuộc vào số lượng bit thực sự
d ng và bằng UB-LB)/(2n
- 1) UB LB là cận trên và cận dưới của miền giá
tr và n là số lượng bit một phần t của nhiễm sắc thể
Cách biểu diễn này có nhược điểm là:
o Độ ch nh xác kh ng cao các phần t được truy nhập là nh ng số nguyên)
o Muốn t ng độ ch nh xác phải t ng số lượng bit biểu diễn nhưng điều này s làm chậm thuật toán
o Biểu diễn nh ph n m t t nh ch nh xác khi t ng k ch c miền v chiều dài nh ph n cho trước là cố đ nh
Để khắc phục nh ng nhược điểm này ngư i ta đưa ra các biểu diễn mới gọi
là biểu diễn d u ph y động
Trang 41.2.2 Biểu diễn dấu phẩy động
Mỗi vector nhiễm sắc thể được m hoá là một vector số d u ph y động với
c ng chiều dài của vector l i giải Mỗi phần t thuộc một miền xác đ nh và các toán
t được thiết kế để bảo đảm yêu cầu này
Độ ch nh xác của phư ng pháp tu thuộc vào khả n ng của máy số ch số thập ph n sau d u ph y do vậy tốt h n so với biểu diễn nh ph n
Biểu diễn d u ph y động Floating point representation FP có khả n ng biểu diễn được các miền rộng lớn H n n a với biểu diễn FP có thể dễ dàng thiết
kế các c ng cụ đ c biệt để biểu th nh ng ràng buộc kh ng tầm thư ng
Trang 5CHƯƠNG 2 CÁC YẾU TỐ CỦA THUẬT GIẢI DI TRUYỀN
2.1 Khởi tạo quần thể ban đầu
2.1.1 Kích thước quần thể
K ch thước quần thể là một tham số quan trọng và ảnh hưởng đến hiệu n ng của thuật toán Nó phụ thuộc vào sự ph c tạp của bài toán và chiều dài nhiễm sắc thể K ch thước quần thể lớn th r t tốt nhưng cần nhiều chi ph t nh toán và bộ nhớ lớn
Trong thực tế ch ng ta cần phải c n bằng gi a chi ph t nh toán và độ tối ưu của l i giải Theo nhiều kết quả nghiên c u th ng thư ng k ch thước quần thể nằm trong khoảng 25 – 100 Tuy nhiên đối với một số bài toán k ch thước quần thể có thể lên tới h n 1000
2.1.2 Phương pháp khởi tạo
Quần thể ban đầu phải có ngu n gen gene pool đủ lớn để có thể khám phá toàn bộ kh ng gian l i giải Và quần thể ban đầu cũng cần phải có t nh đa dạng đa dạng t c là nhiễm sắc thể các cá thể trong qu n thể khác biệt nhau càng nhiều càng tốt V nếu quần thể kh ng đủ đa dạng th Thuật giải di truyền ch khám phá được một phần kh ng gian l i giải và có thể kh ng t m th y được l i giải tối ưu toàn cục
Để đạt được điều này th phư ng pháp khởi tạo thư ng s dụng là khởi tạo ngẫu nhiên Tuy vậy ch ng ta có thể s dụng heuristic nhằm t ng độ th ch nghi trung b nh của quần thể để t m ra l i giải tốt nhanh h n
2.2 Điều kiện dừng
Các thuật toán t m kiếm l n cận s dừng khi t m th y kết quả tối ưu cục bộ Khác với t m kiếm l n cận Thuật giải di truyền là phư ng pháp t m kiếm ngẫu nhiên mà trên nguyên tắc th s chạy m i kh ng dừng V vậy ta phải đưa ra điều kiện dừng cho thuật toán Điều kiện dừng r t đa dạng:
Trang 6 Số lần l p.
Th i gian chạy chư ng tr nh
Độ th ch nghi của quần thể
Ho c kết hợp nhiều điền kiện với nhau
2.3 Điều kiện lai tạo
Holland cho rằng việc lai gh p nên lu n lu n được s dụng nhưng thực tế th
kh ng có l do nào cho rằng điều đó là bắt buộc Ch ng ta có thể thực hiện lai gh p
r i đột biến ho c ch cần một trong hai ho c kh ng có cái nào được áp dụng hết
V thế ch ng ta s s dụng xác su t lai và xác su t đột biến để việc lai gh p
và đột biến xảy ra một cách ngẫu nhiên
Xác su t lai là xác su t mà lai gh p s xảy ra Lai gh p s tạo ra cá thể mới bằng cách kết hợp hai cá thể cha m Xác su t lai thư ng là cao và độc lập với ng dụng Nhiều nghiên c u cho rằng xác su t lai khoảng 0.6 – 0.95
Xác su t đột biến là xác su t mà đột biến s xảy ra Đột biến nhằm tạo th ng tin mới cho cá thể ng n quần thể có độ th ch nghi gần bằng nhau Đột biến cao s
t ng t nh đa dạng của quần thể Xác su t đột biến cũng độc lập với ng dụng Đối với hầu hết các ng dụng xác su t đột biến khoảng 0.001 – 0.1
Theo Davis t lệ lai gh p và đột biến tại mỗi th i điểm th khác nhau nó tu thuộc vào quá tr nh phát triển của quần thể ng y cho rằng t lệ lai gh p cao l c ban đầu t lệ đột biến cao khi quần thể hội tụ
Chọn lọc dựa trên t lệ là chọn ra các cá thể dựa trên giá tr th ch nghi của
ch ng so với các cá thể khác trong quần thể
Trang 7Cá thể tốt h n s có c hội được chọn cao h n
Xác su t một cá thể được chọn là:
Trong đó: 𝐹𝑖 là giá tr th ch nghi của cá thể th i
là t ng giá tr th ch nghi của các cá thể trong quần thể
Hai v n đề đối với chọn lọc dựa trên t lệ:
Hội tụ sớm: Một cá thể có giá tr th ch nghi r t cao trong khi các cá thể c n lại có giá tr th ch nghi r t th p quần thể s hội tụ sớm tới cực tr đ a phư ng
Nếu giá tr th ch nghi của các cá thể trong quần thể là gần nhau th việc chọn lọc s kh ng có ngh a V dụ: Giá tr th ch nghi của quần thể trong khoảng 990 1000 th xác su t chọn cá thể tốt ho c x u cũng gần bằng nhau
Roulette wheel
Chọn lọc Roulette là một k thuật thư ng d ng trong quá tr nh chọn lọc Mỗi
cá thể được gán vào một phần của v ng xoay Roulette Mỗi lần quay chọn được một cá thể
Thuật giải chọn lọc roulette như sau:
T nh t ng giá tr th ch nghi của t t cả thành viên trong quần thể và gọi
nó là t ng độ th ch nghi (total fitness)
Phát sinh một số n là số ngẫu nhiên trong khoảng từ 0 đến t ng th ch nghi
Trả lại thành viên quần thể đầu tiên mà độ th ch nghi của nó cộng với
độ th ch nghi của các thành viên tập hợp trước đó lớn h n hay bằng n
V dụ: Ta có các cá thể NST: nhiễm sắc thể sau:
STT Độ thích nghi %
Trang 8Stochastic Universal Sampling (SUS)
Khác với chọn lọc Roulette wheel mỗi lần chọn lọc SUS s chọn m cá thể nên chi ph s th p h n so với Roulette wheel
Thuật giải:
Trang 9 Chia v ng tr n thành m phần bằng nhau và đánh d u m điểm trên
Cách biểu diễn khác trên đoạn thẳng:
m = 5 r 0.15 sau khi đánh d u 5 điểm trên đoạn thẳng 5 mũi tên
ta s t nh tiến 5 điểm này một đoạn r = 0.15
Các cá thể được chọn là : 1 2 3 4 5
Trang 10Xếp hạng quần thể dựa trên giá tr th ch nghi của từng cá thể Cá thể x u
nh t hạng 1 cá thể tốt nh t hạng N Sau đó thực hiện chọn lọc cá thể dựa trên th hạng trong quần thể
Phư ng pháp này s duy tr t nh đa dạng của quần thể và kết quả s hội tụ chậm
Chọn lọc cạnh tranh (Tournament Selection)
Chọn lọc cạnh tranh là một trong nh ng phư ng pháp chọn lọc ph biến trong thuật giải di truyền
Phư ng pháp này s chọn ngẫu nhiên một nhóm con g m k cá thể từ qu n thể và các thành viên trong nhóm này s cạnh tranh với nhau Cá thể được chọn là
cá thể có độ th ch nghi cao nh t
Tham số k được gọi là tournament size k 2 gọi là chọn lọc cạnh tranh nh
ph n Binary tournament selection được s dụng rộng r i nh t
k càng lớn th độ th ch nghi của các cá thể trong quần thể s càng cao V dụ:
k = 3
Trang 11Chọn lọc cắt tỉa (Truncation selection)
Đầu vào là tham số t 0 1 là t lệ các cá thể tốt nh t trong quần thể s được d ng chọn lọc và phần c n lại s b loại b V dụ: t = 0.25 ngh a là 25 cá thể tốt nh t trong quần thể s được chọn lọc
Sau khi đ gi lại các cá thể tốt nh t ta thực hiện việc chọn lọc Có thể chọn ngẫu nhiên random N lần ho c nh n bản toàn bộ số cá thể tốt nh t lên V dụ: t =
0.25 x4 lần cá thể tốt nh t cho đủ k ch thước quần thể
2.5 Phép lai
2.5.1 Định nghĩa
Sau khi các cha m được lựa chọn theo một cách nào đó ch ng ta cần phải kết hợp ch ng lại quá tr nh này gọi là lai gh p Lai gh p đ n giản là việc thay thế một số alen trong một cha m bởi các alen của gen tư ng ng của cha m kia
2.5.2.2 Phép lai nhiều điểm
Nghiên c u đầu tiên và toàn diện về lai nhiều điểm được thực hiện bởi Eshelman qua việc kiểm tra xu hướng ảnh hưởng của lai một điểm truyền thống và xem x t phạm vi của các lựa chọn thay thế Luận c trung t m là ngu n gốc của hai
xu hướng về sự t n tại được khai thác trong giải thuật di truyền Đó là xu hướng về
v tr và xu hướng về ph n bố Ph p lai đ n giản 1X có xu hướng đáng kể về v tr
Trang 12khi nó thiên v cho chuỗi con các bit kề nhau nhưng ch ng ta kh ng thể chắc chắn
xu hướng này thiên về các giải pháp tốt
M t khác ph p lai đ n giản lại kh ng có xu hướng về ph n bố khi điểm lai được lựa chọn ngẫu nhiên bằng cách s dụng ph n bố đ ng đều Điều này đ giới hạn sự trao đ i th ng tin gi a các cha m Để thay đ i nh ng xu hướng này phư ng pháp lai nhiều điểm đ được nghiên c u và thực nghiệm cho th y lai một điểm
kh ng phải là lựa chọn tốt nh t M c d kh ng thực sự r ràng nhưng toán t lai 8 điểm được xem là tốt nh t về m t số lượng các hàm đánh giá cần thiết để đạt được tối ưu toàn cục
Giả s ta có hai cá thể cha m a và b:
Với là phần b của m và , là ph p nh n và ph p cộng các thành phần th tự
V dụ:
Cho 2 cá thể cha m là:
a = (a1 , a2 , a3 , a4 , a5 , a6)
b = (b1 , b2 , b3 , b4 , b5 , b6)
Trang 132.5.2.4 Phép lai phi tuyến tính
Khi x l với các chuỗi nh ph n ta xem ph p lai như một toán t tuyến t nh Tuy nhiên khi biểu diễn là kh ng tuyến t nh th ph p lai phải được giải th ch lại Một trong nh ng v n đề thư ng xuyên xảy ra nh t là khi mà kh ng gian giải pháp
là kh ng gian của các hoán v πl v dụ về v n đề này bao g m nhiều bài toán lập kế hoạch và bài toán ngư i du l ch TSP là một trong số đó
V dụ: ng dụng ph p lai đ n giản 1X trong trư ng hợp sau đ y sinh ra một giải pháp kh ng khả thi:
Nếu giải pháp này đại diện cho một TSP th con đầu tiên của ph p lai s đến
th m thành phố 1 và 6 hai lần mà kh ng bao gi đến thành phố 3 và 4 c n con th hai s đến th m thành phố 3 và 4 hai lần mà kh ng bao gi đến thành phố 1 và 6
Ch ng ta có thể dễ dàng nhận th y kiểu hành vi này là theo nguyên tắc ch kh ng phải là một ngoại lệ Do đó ch ng ta cần một giải pháp th ng minh h n để giải quyết các v n đề như vậy
Phép lai đối sánh một phần
Một trong nh ng tưởng đầu tiên cho các v n đề vừa nêu ở trên là toán t PMX partially matched crossover - ph p lai đối sánh một phần Với một là chiều dài của chuỗi nhiếm sắc thể hai điểm lai được chọn một cách ngẫu nhiên gi a 1 và l
− 1 Phần gi a các điểm này đ nh ngh a một ánh xạ trao đ i
Trang 14V dụ:
Hai nhiễm sắc thể cha m ban đầu:
P1: 1 6 3 4 7 5 2 P2: 4 3 1 2 6 5 7 Chọn 2 điểm ngẫu nhiên từ 1 đến 7 : 2, 5 T1: 1 6 1 2 6 5 2
T2: 4 3 3 4 7 5 7
Đ nh ngh a một ánh xạ trao đ i 3↔1; 6↔7; 2↔4 Hai nhiễm sắc thể con:
O1: 1 4 3 2 6 5 7 O2 : 4 6 1 3 7 5 2
2.5.2.5 Phép lai tuyến tính nhiều điểm
Trong thực tế TSP ch là một trong lớp các v n đề lớn mà việc lựa chọn tập con là ch a khóa ch kh ng phải là sự kết hợp tuyến t nh của các chuỗi Radcliffe
đ ph n t ch v n đề này r t k lư ng trong một loạt các bài báo Cuốn sách của Falkenauer cũng bao g m một số v dụ về điều này
V n đề cần các h nh th c khác nhau của ph p lai cho nh ng biểu diễn khác nhau đ đẫn dắt Radcliffe và Surry đến việc đề xu t ra một h nh th c t ng
Trang 15quát của ph p lai GNX ph hợp với b t k biểu diễn nào Nó được m tả bằng đoạn m giải sau:
Chọn số ngẫu nhiên n [1, l-1] Chọn n điểm lai
Tạo th tự đoạn lai ngẫu nhiên Gọi 1 cá thể cha m để copy k←1
Th tự đoạn lai ngẫu nhiên = (1,3,2)
Gọi P1 là cá thể cha m đầu tiên để copy
Thay đ i cá thể cha m P1 bằng P2 để copy
Thay đ i cá thể cha m P2 bằng P1 để copy:
Trang 16thuận lợi của ph p lai này là c ng một khung chư ng tr nh được áp dụng nên các alen có thể là cạnh thay v là các thành phố S dụng biểu diễn tập cạnh này có ngh a là ch ng ta ch có hai tập các cạnh mà có thể được đ t theo b t k th tự nào Tuy nhiên để có thể so sánh một cách r ràng ch ng ta s duy tr th tự được s dụng ở trên cho biểu diễn alen thành phố
S dụng GNX với các th ng số tư ng tự hai bước con đầu tiên là như sau:
Tại bước th ba ch có cạnh 3-4 trong P1 là hợp lệ r ràng các cạnh 4-7 và 7-5 không thể được s dụng lại một lần n a v ch ng s tạo ra v ng l p Trong thực
tế ch có các alen hợp lệ c n lại trong cả hai cha m là 5-2 và 2-1 v vậy các bước cuối c ng s sinh ra
Trang 17đ i Điều này có thể dễ dàng được biểu diễn như là một chuỗi bit v vậy ch ng ta tạo ra một m t nạ như sau:
0 1 0 0 0 1 0
Bằng cách s dụng một ph n phối Bernoulli t c là ở mỗi v tr có một xác
xu t nh của việc đột biến xảy ra được ch đ nh trong m t nạ bởi số 1 V dụ: trên do đó s hàm rằng các gen th 2 và th 6 s được gán giá tr alen mới