1. Giải thuật di truyền (GA) lập luận mang tớnh chất ngẫu nhiờn (stochastic), thay vỡ xỏc định (deterministic) nhƣ toỏn học giải tớch.
2. GA duyệt xộ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.
3. GA khụng để ý đến chi tiết vấn đề, trỏi lại chỉ chỳ ý đến giải phỏp, đặc biệt là dóy số tƣợng trƣng cho giải phỏp.
4. GA rất thớch hợp cho việc tỡm kiếm giải đỏp cho vấn đề, hay tỡm điều kiện tối ƣu cho việc điều hành, và phõn nhúm những giải phỏp cú đƣợc [3].
2.4.2. Cỏc bước quan trọng trong việc ỏp dụng thuật giải di truyền
Để giải quyết vấn đề bằng Thuật giải di truyền, chỳng ta cần thực hiện 7 bƣớc quan trọng sau đõy:
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
Bƣớc 1: Chọn mụ hỡnh cho giải phỏp của vấn đề: Chọn một số tƣợng trƣng cho toàn bộ cỏc giải phỏp cú thể cú cho vấn đề.
Bƣớc 2: Chỉ định cho mỗi giải phỏp một kớ hiờu. Kớ hiệu cú thể là dóy của những số 1 và thuộc hệ nhị phõn, hay dóy số thập phõn, dóy của chữ hay hỗn hợp của số và chữ. Trong giai đoạn mới làm quen với GA, chỉ nờn dựng hệ nhị phõn để làm kớ hiệu cho giải phỏp.
Bƣớc 3: Tỡm hàm số thớch nghi cho vấn đề và tớnh hệ số thớch nghi cho từng giải phỏp.
Bƣớc 4: Dựa trờn hệ số thớch nghi của cỏc giải phỏp để thực hiện sự tạo sinh (reproduction) và biến húa cỏc giải phỏp. Cỏc phƣơng thức biến húa gồm: lai ghộp (cross over), đột biến (mutation).
Bƣớc 5: Tớnh cỏc hệ số thớch nghi cho cỏc giải phỏp mới và loại bỏ những giải phỏp kộm nhất chỉ cũn giữ lại một số nhất định cỏc giải phỏp.
Bƣớc 6: Nếu chƣa tỡm đƣợc giải phỏp tối ƣu hay tƣơng đối khỏ nhất hay chƣa hết hạn kỳ ấn định, trở lại bƣớc thứ tƣ để tỡm giải phỏp mới.
Bƣớc 7: Tỡm đƣợc giải phỏp tối ƣu hoặc nếu thời gian cho phộp đó chấm dứt thỡ bỏo cỏo kết quả tớnh đƣợc.
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 Hỡnh 2.4: Lưu đồ mụ tả cấu trỳc của giải thuật di truyền.
2.4.3. Vớ dụ minh họa
Trong thực tế GA đó đƣợc dựng để giải quyết những vấn đề phức tạp, tuy nhiờn để tiếp cận với lý thuyết mới, xem xột một vớ dụ rất đơn giản, tỡm đỏp số cho phƣơng trỡnh x2 =64. Dĩ nhiờn bài toỏn này quỏ đơn giản khụng cần đến GA, nhƣng đơn cử ở đõy để làm sỏng tỏ vấn đề.
Ví dụ:
Tỡm đỏp số cho phƣơng trỡnh X2=64(*) (tức là trị số của X để X2=64)
Bƣớc 1: Quy định số lƣợng cỏc đỏp số và ấn định kớ hiệu cho từng đỏp số. Giả sử chỳng ta khụng biết đỏp số của bài toỏn, nờn sẽ chọn 4 số trong số những đỏp số cú thể cú cho bài toỏn. Đồng thời chỳng ta chọn mụ hỡnh để tƣợng trƣng cho cỏc số phải xột (dựng hệ thống nhị phõn kớ hiệu cỏc đỏp số).
Khởi tạo quần thể cỏc cỏ thể
Xỏc định giỏ trị phự hợp của từng cỏ thể
Sao chộp cỏc cỏ thể theo giỏ trị phự hợp của chỳng và tạo cỏc cỏ thể mới dựa vào cỏc
toỏn tử (lai ghộp, đột biến, chọn lọc)
Xoỏ cỏc cỏ thể khụng tốt ra khỏi quần thể dựa vào giỏ trị phự hợp của nú.
Đƣa quần thể mới thay thế quần thể cũ Lặp cho đến khi thoả điều kiện
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
H/t thập phõn 1 2 3 4 5 6 7 8
H/t nhị phõn 0001 0010 0011 0100 0101 0110 0111 1000
Bƣớc 2: Chỉ định số đỏp số và kớ hiệu cỏc đỏp số cho bài toỏn (*) Sau đõy 4 số cú thể là đỏp số cho bài toỏn trờn:
Bảng 2.1
Bƣớc 3: Ấn định hàm số thớch nghi (fitness function) và tớnh hệ số thớch nghi (fitness) cho từng đỏp số. Chỳng ta cú thể chọn bất cứ hệ thức hay hàm số nào đú để biểu diễn sự thớch nghi của cỏc đỏp số của bài toỏn. Kinh nghiệm cho thấy hàm số thớch nghi phải cú liờn hệ đến vấn đề. Bƣớc thứ ba này tƣơng đối phức tạp và khú thực hiện nhất, vỡ nếu chọn hàm số thớch nghi khụng đỳng, kết quả sẽ khụng cú hiệu lực. Trong vớ dụ này, chọn hàm số thớch nghi =1000 - ( X2 - 64) và quy định đỏp số nào cú hệ số thớch nghi bằng 1000 hay gần 1000 nhất sẽ là đỏp số của bài toỏn.
Trong bảng 2.2 dƣới đõy chỳng ta sẽ ghi lại cỏc chi tiết cú trong bảng 2.1 và thờm hệ số thớch nghi cho mỗi đỏp số.
Bảng 2.2 Thứ tự (1) Nhị phõn (2) Thập phõn (3) Bỡnh phƣơng của hệ số ở cột (3) trừ 64 Thớch nghi 1 00100 4 -48 952 2 10101 21 377 623 3 01010 10 36 964 4 11000 24 512 488 Thứ Tự Nhị phõn Thập phõn 1 00100 4 2 10101 21 3 01010 10 4 11000 24
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
Bƣớc 4: Biến húa cỏc đỏp số để tỡm cỏc đỏp số cú hệ số thớch nghi tối ƣu. Nhỡn vào bảng 2.2, nhận thấy: đỏp số cú hệ số thớch nghi cao nhất vẫn cũn cỏch xa 1000. Do đú phải tỡm ra những đỏp số mới (để cú hệ số ngày càng lớn và bằng hay gần với 1000) bằng cỏch biến húa cỏc đỏp số cũ. Vấn đề đặt ra là: trong 4 số (4, 21, 10 và 24) trờn, số nào sẽ đƣợc chọn để biến húa. Nguyờn tắc của GA trỡnh bày trờn là số nào cú hệ số thớch nghi cao nhất sẽ cú cơ hội tạo sinh và biến húa hơn cỏc số cú hệ số thớch nghi thấp. Điều này cũng giống với thực tế, chỉ những sinh vật nào thớch nghi với hoàn cảnh hơn sẽ tồn tại lõu hơn và dĩ nhiờn sẽ cú cơ hội tạo sinh và biến húa nhiều hơn.
Nhỡn vào bảng 2.2, chỳng ta thấy theo thứ tự 10 và 4 cú hệ số thớch nghi cao hơn do đú chỳng sẽ đƣợc chọn để tạo sinh và biến húa, đồng thời số 21 và 24 cú hệ số thớch nghi thấp nhất sẽ bị loại (để giữ tổng số cỏc đỏp số là 4). Trong vớ dụ này chỳng ta sẽ lai ghộp hai số 4 và 10 tại điểm giữa hàng thứ hai và thứ ba, nhƣ trỡnh bày dƣới đõy:
001|00 (4) 010|00 (hay 8) 010|10 (10) 001|10 (hay 6)
Bƣớc 5: Tớnh hệ số thớch nghi cho cỏc đỏp số vừa cú đƣợc kết quả đƣợc ghi trong bảng 2.3 dƣới đõy:
Bảng 2.3
Bƣớc 6:Trƣớc khi trở lại bƣớc 4 và 5 nhƣ trỡnh bày trờn, chỳng ta hóy xột cỏc chi tiết trong bảng 2.3. May mắn chỳng ta cú đƣợc đỏp số ở hàng thứ 3 là số 8
Thứ tự (1) Nhị phõn (2) Thập phõn (3) Bỡnh phƣơng của hệ số ở cột (3) trừ 64 Thớch nghi 1 00100 4 -48 952 2 01010 10 36 964 3 01000 8 0 1000 4 00110 6 -28 968
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
với hệ số thớch nghi bằng 1000. Theo quy định ghi trong bƣớc 3, đõy là đỏp số cú hệ số thớch nghi cao nhất, số này là 01000 (nhị phõn) hay 8 (thập phõn). Do đú chỳng ta khụng cần trở lại bƣớc 4 và 5, chỳng ta sẽ bỏo cỏo kết quả là 8.
Bƣớc 7: Kết quả với X=8,chỳng ta sẽ cú X2 =82=64.
2.4.4. Cỏc phương thức biến húa của giải thuật di truyền a) Chọn lọc:
Chọn lọc là cỏc thao tỏc xử lý mà dựa vào giỏ trị phự hợp của mỗi cỏ thể để đỏnh giỏ xem cỏ thể đú cú đƣợc bảo lƣu trong vũng sinh sản tiếp theo hay khụng. Đõy chớnh là một phiờn bản nhõn tạo mụ phỏng chọn lọc trong tự nhiờn.
Trong một quần thể, mỗi cỏ thể đƣợc xỏc định bởi một giỏ trị phự hợp fit[i], giỏ trị này càng lớn thỡ nú đƣợc coi là hợp lý.
Chọn lọc cú thể đƣợc thực hiện theo nhiều cỏch, nhƣng cú một phƣơng phỏp đơn giản và hiệu quả đú là phƣơng phỏp quay trờn vũng trũn cú hƣớng, vũng quay của chỳng cú kớch cỡ khỏc nhau ứng với từng giỏ trị phự hợp của cỏ thể.
Việc quay vũng trũn là để lựa chọn cỏc ứng cử viờn cho vũng sinh sản tiếp theo đƣợc thực hiện nhƣ sau.
* Tớnh tổng phự hợp của tất cả cỏc thành viờn trong quần thể.
* Phỏt sinh một số ngẫu nhiờn S trong khoảng từ 0 đến tổng phự hợp. * Cỏ thể đầu tiờn trong quần thể cú tổng chạy S sẽ đƣợc chọn
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 Hỡnh 2.5: Lưu đồ thuật toỏn của quỏ trỡnh chọn lọc.
b) Lai ghộp(Cross over):
Quỏ trỡnh chọn lọc thực hiện nhằm tỡm ra cỏc cỏ thể tồn tại tốt nhất, nhƣng lại khụng thể tạo ra cỏc cỏ thể mới. Trong tự nhiờn mỗi cỏ thể con khi sinh ra đều đƣợc thừa hƣởng gen của cả Bố và Mẹ. Quỏ trỡnh lai ghộp tỏc động lờn cỏc cỏ thể cha mẹ để tạo ra cỏc con lai tốt. Điều này đƣợc thực hiện bằng cỏch ghộp một hoặc nhiều đoạn của hai nhiễm sắc thể cha và mẹ với nhau. Phộp toỏn lai ghộp xảy ra với xỏc suất Pcross và đƣợc thực hiện nhƣ sau:
- Hai chuỗi trong quần thể đƣợc chọn để ghộp đụi một cỏch ngẫu nhiờn. - Phỏt sinh một số ngẫu nhiờn k [0,1]. Hai chuỗi đƣợc tạo ra bằng việc sao chộp cỏc ký tự từ 1 đến k và trỏo đổi cỏc ký tự k + 1 đến 1.
- Đƣa hai cỏ thể vào quần thể để tham gia cỏc quỏ trỡnh tiến hoỏ tiếp theo. Giả sử ta cú hai chuỗi
Nhập vào quầ n thể cũ, giỏ trị phự hợp từng cỏ thể fit[i], tổng phự hợp
fit nness
Phỏt sinh P0 ngẫu nhiờn (0,1)
T ớnh S: = P0 tot alfit nnes s
j:=1, runtotal:=0
T ớnh ru nt ot a l:= ru nt ot al + fit [ j].
Vị trớ lựa chọn j
j:= j+1
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
a1a2...akak+1...an
b1b2...bkbk+1...bn
sau khi lai ghộp ta đƣợc hai chuỗi con là: a1a2...akbk+1...bn
b1b2...bkak+1...an
Nhƣ vậy, hai chuỗi con sinh ra đều đƣợc thừa hƣởng cỏc đặc tớnh của cả cha và mẹ. Lựa chọn và lai ghộp cỏ thể cho phộp giải thuật từ chỗ thụng tin đó biết để tỡm đến vựng tốt hơn. Hỡnh (2.6) mụ tả quỏ trỡnh lai ghộp.
Hỡnh 2.6: Lưu đồ thuật toỏn quỏ trỡnh lai ghộp.
c) Đột biến: (mutation):
Nhƣ đó biết quỏ tỡnh chọn lọc và lai ghộp tạo ra cỏc chuỗi mới, song chỳng khụng tạo ra cỏc thụng tin ở mức bit (gen), vỡ vậy quỏ trỡnh đột biến đƣợc đƣa vào và đƣợc ỏp dụng cho cỏc bit với một xỏc suất nhỏ Pmu. Xỏc suất nhỏ vỡ thực chất quỏ trỡnh đột biến là quỏ trỡnh tỡm kiếm ngẫu nhiờn, nếu Pmu lớn thỡ giải thuật di truyền trở thành giải thuật tỡm kiếm ngẫu nhiờn.
Phỏt sinh P0 ngẫu nhiờn (0,1)
Thực hiện trỏo đổi cỏc bớt tại vị trớ k
Chỉ số của hai chuỗ i bố mẹ trong quần thể
P0 < Pcross k: = 1
Phỏt sinh k ngẫu nhiờn (1,1)
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
Nếu Pmu là xỏc suất đột biến thỡ cú Pmu*1*size (size – số lƣợng cỏ thể trong quần thể) bớt bị đột biến. Xỏc suất đột biến tại mỗi bớt là nhƣ nhau. Bit 0 thay bằng 1 và ngƣợc lại. Quỏ trỡnh đột biến đƣợc thực hiện nhƣ sau:
Chọn ngẫu nhiờn một cỏ thể (cỏ thể mới đƣợc tạo ra từ quỏ trỡnh lai ghộp) trong quần thể.
Phỏt sinh một số ngẫu nhiờn P0 trong khoảng [ 0,1 ]. Nếu P0 PMu tiến hành đột biến tại nỳt đú.
Hỡnh 2.7: Lư u đồ thuật toỏn của quỏ trỡnh đột biến.
Phỏt sinh P0 ngẫu nhiờn (0,1) Chọn ngẫu nhiờn một cỏ thể trong
quần thể
P0 < Pmu
j: =j + 1
Thực hiện trỏo đổi bớt 0 thành 1 và ngƣợc lại
Cỏ thể sau khi đột biến j: = 1
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
Nhƣ vậy: Cỏc quỏ trỡnh chọn lọc, lai ghộp, đột biến đƣợc tiến hành trong một vũng lặp cho đến khi cỏc cỏ thể mới thay thế toàn bộ cỏc cỏ thể cũ trong quần thể. Cỏ thể mới sinh ra cú thể là một trong 3 loại sau:
Bị đột biến sau khi đó lai ghộp. Lai ghộp nhƣng khụng bị đột biến.
Khụng lai ghộp, khụng đột biến mà đơn giản là sao chộp lại. Cỏc thụng số cần xỏc định trong giải thuật di truyền là: Size: Kớch cỡ của quần thể hay cỏ thể.
Pcros: Xỏc suất lai ghộp. Pmu: Xỏc suất đột biến.
Ngoài ra Dejong cũn đƣa vào thụng số G với G [0,1], thụng số này cho phộp xỏc định một phần quần thể cũ trong quần thể mới.
Nếu G = 1 cỏc cỏ thể trong quần thể cũ bị loại bỏ hoàn toàn.
Nếu 0 < G < 1 cú n * G cỏ thể đƣợc giữ lại cho cỏc hoạt động di truyền.
2.4.5. Cỏc giải thuật di truyền lai
Mặc dự giải thuật di truyền mạnh và hiệu quả, song nú khụng phải là một giải thuật tỡm kiếm tối ƣu nhất trong một số lĩnh vực. Vỡ vậy lai phộp giải thuật di truyền với cỏc giải thuật khỏc vớ dụ nhƣ mạng nơ ron, cỏc hệ chuyờn gia, hệ thống mờ v.v... sẽ tạo ra một giải thuật tốt hơn, khai thỏc đƣợc tớnh tỡm kiếm toàn cục của giải thuật di truyền và sự hội tụ của cỏc giải thuật tỡm kiếm cục bộ.
Kết quả của việc lai ghộp là giải thuật di truyền tỡm tới cỏc vựng tối ƣu toàn cục sau đú cỏc giải thuật tỡm kiếm cục bộ sẽ tỡm tới giỏ trị nghiệm tối ƣu.
Trƣớc tiờn ta chạy với giải thuật di truyền để đạt tới mức độ hội tụ, sau đú cỏc giải thuật tỡm kiếm cục bộ sẽ lấy khoảng 5->10% số điểm tốt nhất trong quần thể cuối cựng làm điểm xuất phỏt.
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
2.5. Giải thuật di truyền với bài toỏn tối ƣu
Đến nay, tuy đó cú nhiều phƣơng phỏp giải quyết cỏc bài toỏn tối ƣu, nhƣng núi chung cỏc phƣơng phỏp chỉ dừng lại ở những lớp bài toỏn cú thụng tin rừ hoặc cú cỏc thụng tin bổ trợ khỏc. Do vậy việc đƣa ra một phƣơng phỏp mới để giải quyết vấn đề này là việc hoàn toàn thiết yếu. Nhƣ đó trỡnh bày ở phần trờn, ta nhận thấy rằng giải thuật di truyền hoàn toàn cú thể ỏp dụng để giải bài toỏn tối ƣu.
2.5.1. Ánh xạ hàm mục tiờu sang hàm phự hợp
Nhƣ chỳng ta đó biết, cỏc giỏ trị phự hợp trong giải thuật di truyền là cỏc giỏ trị khụng õm. Vỡ vậy, khi ỏp dụng giải thuật di truyền giải cỏc bài toỏn tối ƣu hoỏ chỳng ta phải biến đổi giỏ trị của hàm mục tiờu sang giỏ trị của hàm phự hợp.
Nếu bài toỏn tối ƣu là cực tiểu hoỏ hàm g(x) nào đú thỡ việc chuyển từ hàm mục tiờu sang hàm phự hợp đƣợc tớnh nhƣ sau:
CMax – g(x), khi g(x) < CMax fit(x)=
0, ngƣợc lại (2.14) Trong đú CMax cú thể nhận giỏ trị nhƣ một tham số đầu vào. Cú thể lấy CMin là giỏ trị g(x) lớn nhất trong tập hợp hiện tại.
Nếu bài toỏn là cực đại hoỏ mục tiờu g(x) thỡ:
CMax + g(x), khi g(x) < CMin
fit(x)= (2.15) 0, ngƣợc lại.
Trong đú CMin cú thể nhận giỏ trị nhƣ một tham số đầu vào. Cú thể lấy CMin là giỏ trị g(x) lớn nhất trong tập hợp hiện tại.
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
2.5.2. Tỷ lệ hoỏ giỏ trị phự hợp
Điều chỉnh con số trong mỗi cỏ thể trong một quần thể là hết sức quan trọng trong khi sử dụng giải thuật di truyền vào việc giải bài toỏn tối ƣu.
Tại một số vũng lặp đầu, trong quần thể thƣờng cú một số cỏ thể siờu khoẻ so với cỏc cỏ thể cũn lại, nếu cứ giữ nguyờn và ỏp dụng quy tắc chọn lọc thỡ cỏc cỏ thể siờu khoẻ này sẽ chiếm toàn bộ quần thể sau một số lần lặp. Điều này cú thể dẫn tới hội tụ sớm ngoài ý muốn. Tỷ lệ hoỏ giỏ trị phự hợp đƣợc đƣa ra để giải quyết vấn đề này.