52(4): 69 - 71<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
4 - 2009<br />
<br />
MỘT SỐ KỸ THUẬT ĐIỀU CHỈNH THAM SỐ TRONG GIẢI THUẬT DI TRUYỀN<br />
Vũ Mạnh Xuân (Trường ĐH Sư phạm – ĐH Thái Nguyên),<br />
Lê Quang Hùng, Lê Thị Thuỷ (Khoa Công nghệ thông tin – ĐH Thái Nguyên)<br />
Tóm tắt.<br />
Giải thuật di truyền với các toán tử chọn lọc, lai ghép, đột biến là giải thuật tìm kiếm lời giải của bài toán mô<br />
phỏng quá trình tiến hoá tự nhiên. Bài báo này nghiên cứu và đề xuất một số kỹ thuật hiệu chỉnh tham số của giải<br />
thuật ngay trong quá trình tiến hoá.<br />
<br />
Mở đầu<br />
Giải thuật di truyền (GA - Genetic Algorithm)<br />
thực hiện việc tìm kiếm lời giải dựa trên sự mô<br />
phỏng quá trình tiến hoá của tự nhiên. GA sử dụng<br />
các toán tử chọn lọc (Selection), lai ghép<br />
(Crossover), đột biến (Mutation) và các tham số<br />
khác như kích cỡ quần thể, xác suất lai ghép, xác<br />
suất đột biến. Tự thích nghi là một đặc tính quan<br />
trọng của tự nhiên và lẽ tất nhiên cũng được sớm<br />
quan tâm trong giải thuật di truyền. Điều chỉnh các<br />
tham số của giải thuật ngay trong quá trình tiến hoá<br />
là một trong những vấn đề được chú ý và phát triển.<br />
Kích cỡ quần thể (Population Size) là tham số đầu<br />
tiên cần chú ý, nếu kích cỡ quần thể quá nhỏ thì<br />
tính đa dạng của quần thể bị hạn chế; còn nếu quá<br />
lớn sẽ hao phí tài nguyên của máy tính và làm<br />
chậm quá trình. Trong hầu hết các nghiên cứu về<br />
GA người tathường chọn kích cỡ là một số cố định<br />
trong suốt quá trình thực hiện. Gần đây, giải thuật<br />
di truyền mã hoá số thực RCGA (Real-Coded<br />
Genetic Algorithm) phát triển mạnh và một số giải<br />
pháp biến đổi kích cỡ quần thể được giới thiệu [1],<br />
[2], với cách tiếp cận chủ yếu dựa trên cơ chế định<br />
tuổi của cá thể. Bài báo này đề xuất một vài kỹ<br />
thuật điều chỉnh kích cỡ quần thể trong quá trình<br />
thực hiện giải thuật dựa trên độ thích nghi trung<br />
bình của quần thể.<br />
1. Một số kết quả liên quan<br />
GAVaPS (Genetic Algorithm with Varying<br />
Population Size) được giới thiệu bởi Arabas,<br />
Michalewicz và Mulawka năm 1994. Thuật toán<br />
này biến đổi kích cỡ quần thể dựa trên độ tuổi của<br />
cá thể. Cụ thể là cá thể khi sinh ra được gắn với độ<br />
tuổi (age) và thời gian sống (lifetime), sau mỗi<br />
<br />
bước tạo sinh, độ tuổi này được tăng lên và khi<br />
đến ngưỡng thì cá thể đó sẽ bị đào thải [1].<br />
APGA (Genetic Algorithm Adaptive Population<br />
Size) được giới thiệu bởi Back, Eiben và van de<br />
Vaart năm 2000. Thuật toán này cũng sử dụng độ<br />
tuổi của cá thể song việc chọn lọc tạo sinh duy trì<br />
phần tử ưu tú. Cơ chế đánh giá thời gian sống<br />
(lifetime) của cá thể mềm dẻo hơn bởi việc đánh<br />
giá thời gian duy trì cá thể (RLT – Remaining<br />
LifeTime) và chiến lược chọn lọc tạo sinh có tính<br />
tinh hoa [1], [2].<br />
2.Thay đổi kích cỡ quần thể dựa trên độ thích<br />
nghi trung bình<br />
Chúng tôi đề xuất một kỹ thuật biến đổi kích<br />
cỡ quần thể ngay trong quá trình tiến hoá dựa trên<br />
độ thích nghi trung bình của quần thể. Với kỹ<br />
thuật này ta sử dụng thêm một tham số là độ thích<br />
nghi trung bình của quần thể. Độ thích nghi trung<br />
bình của quần thể được tính theo công thức sau:<br />
PopulationSize<br />
<br />
AverageFitness<br />
<br />
i 1<br />
<br />
eval vi<br />
<br />
popsize<br />
<br />
trong đó PopulationSize là kích cỡ quần thể, vi<br />
là các cá thể trong quần thể tại thế hệ hiện tại, hàm<br />
eval là hàm lượng giá. Thuật toán cụ thể như sau:<br />
procedure BaseOnAverageFitness{<br />
Khởi tạo quần thể;<br />
startpopsize=popsize;<br />
Tính độ thích nghi của các cá thể eval (vi);<br />
Tính AverageFitness;<br />
While (chưa thỏa điều kiện dừng) do<br />
Begin<br />
Lựa chọn ngẫu nhiên 2 cá thể P1 và P2 trong quần<br />
thể ;<br />
<br />
1<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
52(4): 64 - 68<br />
<br />
Lai ghép (P1, P2) được 2 con là C1 và C2;<br />
Đột biến (C1, C2);<br />
If<br />
(độ thích nghi của P1 và P2 <<br />
AverageFitness) then<br />
Đào thải P1 và P2 ra khỏi quần thể;<br />
If (độ thích nghi của C1 và C2 ><br />
AverageFitness) then<br />
Bổ sung C1 và C2 vào quần thể;<br />
If (popsize =2* startpopsize) then<br />
Tạo sinh lại quần thể;<br />
Tính lại AverageFitness của quần thể mới;<br />
End;<br />
End;<br />
Các mô hình thử nghiệm<br />
Chúng tôi sử dụng 6 hàm sau đây để tiến hành<br />
thử nghiệm [6]. Các hàm thử nghiệm đều được xét<br />
với số chiều n = 30; miền S được giới hạn cho mỗi<br />
biến xi và cho trong bảng. Giá trị fmin là giá trị đúng<br />
tính trên miền xác định tương ứng với mỗi hàm.<br />
Trong thử nghiệm, chúng tôi sử dụng giải<br />
thuật di truyền mã hóa số thực (RCGA), với kích<br />
cỡ quần thể ban đầu là popsize=50, không gian tìm<br />
kiếm có số chiều là n=30, xác suất lai ghép pc=1,<br />
xác suất đột biến pm=0.01, và số lần lặp là 2000<br />
lần. Để tiện so sánh, chỉ một toán tử lai ghép được<br />
sử dụng, đó là toán tử lai ghép số học – toán tử có<br />
độ ổn định cao và khả năng hội tụ tương đối tốt<br />
[1], [5], [6]. Khi thực hiện chương trình, chỉ có một<br />
cá thể con được đột biến theo xác suất đột biến pm, tỉ<br />
lệ hai con C1 và C2 được chọn để đột biến là như<br />
nhau. Sau đây giới thiệu 3 mô hình tạo sinh quần thể<br />
khi kích cỡ quần thể đạt đến giới hạn cho phép.<br />
<br />
4 - 2009<br />
<br />
Tính độ thích nghi của C1 và C2;<br />
Mô hình 1<br />
Bước 1: Sắp xếp các cá thể trong quần thể hiện<br />
tại giảm dần theo độ thích nghi<br />
Bước 2: Đưa popsize-1 cá thể có độ thích nghi<br />
cao nhất trong quần thể cũ vào quần thể mới<br />
Bước 3: Đưa ngẫu nhiên 1 cá thể trong số các<br />
cá thể còn lại của quần thể cũ vào quần thể mới.<br />
Như vậy quần thể mới sẽ bao gồm gần như<br />
tuyệt đối các cá thể có độ thích nghi cao nhất sau<br />
một quá trình tiến hóa xác định.<br />
<br />
Hình 1: Đồ thị kích cỡ quần thể mô hình 1<br />
<br />
Mô hình 2<br />
Bước 1: Sắp xếp các cá thể trong quần thể hiện<br />
tại giảm dần theo độ thích nghi<br />
Bước 2: Đưa popsize/2 cá thể có độ thích nghi<br />
cao nhất trong quần thể cũ vào quần thể mới<br />
Bước 3: Tiếp tục đưa popsize - popsize/2 cá thể<br />
có độ thích nghi thấp nhất trong quần thể cũ vào<br />
quần thể mới. Trong trường hợp này, quần thể mới<br />
không bao gồm hầu hết các cá thể tốt nhất của<br />
quần thể cũ nhưng tính đa dạng trong quần thể lại<br />
được đảm bảo hơn.<br />
<br />
Bảng 1. Các hàm thử nghiệm<br />
Hàm thử nghiệm<br />
<br />
n<br />
<br />
S<br />
<br />
fmin<br />
<br />
30<br />
<br />
[-100, 100]<br />
<br />
0<br />
<br />
30<br />
<br />
[-100, 100]<br />
<br />
0<br />
<br />
30<br />
<br />
[-10, 10]<br />
<br />
0<br />
<br />
30<br />
<br />
[-30, 30]<br />
<br />
0<br />
<br />
30<br />
<br />
[-500, 500]<br />
<br />
-12569<br />
<br />
n<br />
<br />
xi2<br />
<br />
f1<br />
i 1<br />
<br />
n<br />
<br />
f2<br />
<br />
0.5 ) 2<br />
<br />
( xi<br />
i 1<br />
<br />
n<br />
<br />
n<br />
<br />
f3<br />
<br />
| xi |<br />
i 1<br />
<br />
| xi |<br />
i 1<br />
<br />
n 1<br />
<br />
f4<br />
<br />
(100( xi<br />
<br />
1<br />
<br />
xi2 ) 2<br />
<br />
( xi<br />
<br />
i 1<br />
<br />
1) 2 )<br />
<br />
n<br />
<br />
f5<br />
<br />
( xi sin<br />
<br />
| xi | )<br />
<br />
i 1<br />
<br />
2<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
52(4): 64 - 68<br />
<br />
4 - 2009<br />
<br />
n<br />
<br />
( xi2<br />
<br />
f6<br />
<br />
10 cos(2 xi ) 10)<br />
<br />
30<br />
<br />
[-5, 5]<br />
<br />
0<br />
<br />
i 1<br />
<br />
Hình 2: Đồ thị kích cỡ quần thể mô hình 2<br />
<br />
Hình 3: Đồ thị kích cỡ quần thể mô hình 3<br />
<br />
Mô hình 3<br />
<br />
Bước 1: Xét ngẫu nhiên 2 cá thể trong trong<br />
quần thể hiện tại, cá thể nào có độ thích nghi cao<br />
hơn sẽ được đưa vào quần thể mới.<br />
Bước 2: Loại bỏ 2 cá thể đã được xét ra khỏi<br />
quần thể hiện tại.<br />
Bước 3: Quay lại bước 1 cho đến khi các cặp<br />
cá thể đều được xem xét.<br />
Với mô hình này, tính cạnh tranh, đấu tranh<br />
sinh tồn giữa các cá thể trong quần thể được thể<br />
hiện rõ nhất. Cá thể nào có độ thích nghi tốt hơn<br />
trong cặp cá thể được chọn có cơ hội sống sót đến<br />
thế hệ sau. Tính đa dạng của quần thể cũng được<br />
được đảm bảo.<br />
Kết quả hội tụ - Hàm f1<br />
<br />
Kết quả thử nghiệm<br />
Tại mỗi lần chạy, cá thể có độ thích nghi cao<br />
nhất (giá trị hàm mục tiêu nhỏ nhất) được ghi nhận<br />
lại. Sau 20 lần chạy độc lập trên cùng một cấu<br />
hình máy tính, giá trị tốt nhất tìm được, trung bình<br />
cộng, cũng như thời gian chạy trung bình của các<br />
lần chạy này được tính và trình bày trong các bảng<br />
số liệu kết xuất dưới đây.<br />
Bảng 2 trình bày kết quả thử nghiệm sau 20<br />
lần chạy độc lập. Với mỗi hàm, chương trình thử<br />
nghiệm theo cả ba mô hình đề xuất trên, giá trị<br />
trung bình của cá thể tốt nhất tìm được sau mỗi lần<br />
chạy được ghi trong cột tương ứng. Dưới đây là<br />
hình minh hoạ độ biến đổi của đồ thị giá trị của các<br />
hàm tương ứng với các mô hình đã đề xuất trên<br />
Kết quả hội tụ - Hàm f2<br />
<br />
1200.0000<br />
<br />
1400.0000<br />
<br />
Cố định<br />
Mô hình 1<br />
Mô hình 2<br />
Mô hình 3<br />
<br />
Giá trị hàm<br />
<br />
1000.0000<br />
800.0000<br />
600.0000<br />
<br />
1000.0000<br />
Giá trị hàm<br />
<br />
1200.0000<br />
<br />
Cố định<br />
<br />
800.0000<br />
<br />
Mô hình 1<br />
Mô hình 2<br />
<br />
600.0000<br />
<br />
Mô hình 3<br />
<br />
400.0000<br />
<br />
400.0000<br />
<br />
200.0000<br />
<br />
200.0000<br />
<br />
0.0000<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
8<br />
<br />
9<br />
<br />
10<br />
<br />
11 12<br />
<br />
13<br />
<br />
14 15<br />
<br />
16<br />
<br />
17 18<br />
<br />
19<br />
<br />
0.0000<br />
<br />
20<br />
<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />
Lần chạy<br />
<br />
Lần chạy<br />
<br />
Hình 4: Đồ thị giá trị hàm f1<br />
<br />
Hình 5: Đồ thị giá trị hàm f2<br />
<br />
Bảng 2: Kết quả thử nghiệm thuật toán biến đổi kích cỡ quần thể dựa trên độ thích nghi trung bình<br />
Hàm thử nghiệm<br />
f1<br />
<br />
Kích cỡ cố định<br />
361.7346<br />
<br />
Mô hình 1<br />
638.9141<br />
<br />
Mô hình 2<br />
535.2382<br />
<br />
Mô hình 3<br />
649.8801<br />
<br />
f2<br />
<br />
431.1500<br />
<br />
651.5500<br />
<br />
562.7500<br />
<br />
604.5500<br />
<br />
f3<br />
<br />
4.8268<br />
<br />
6.1828<br />
<br />
11.7998<br />
<br />
7.2641<br />
<br />
f4<br />
<br />
36424.8180<br />
<br />
50776.1510<br />
<br />
31100.1967<br />
<br />
39853.0663<br />
<br />
f5<br />
<br />
-2674.3462<br />
<br />
-2874.3432<br />
<br />
-2541.4488<br />
<br />
-2770.4161<br />
<br />
66<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
52(4): 64 - 68<br />
<br />
f6<br />
Kết quả hội tụ - Hàm f3<br />
<br />
100.5761<br />
<br />
25.0000<br />
<br />
Giá trị hàm<br />
<br />
20.0000<br />
Cố định<br />
Mô hình 1<br />
Mô hình 2<br />
Mô hình 3<br />
<br />
15.0000<br />
10.0000<br />
5.0000<br />
0.0000<br />
1 2<br />
<br />
3<br />
<br />
4 5<br />
<br />
6 7<br />
<br />
8<br />
<br />
9 10 11 12 13 14 15 16 17 18 19 20<br />
Lần chạy<br />
<br />
Hình 6: Đồ thị giá trị hàm<br />
f3tụ - Hàm f4<br />
Đồ thị hội<br />
180000.0000<br />
160000.0000<br />
<br />
Giá trị hàm<br />
<br />
140000.0000<br />
120000.0000<br />
<br />
Cố định<br />
Mô hình 1<br />
Mô hình 2<br />
Mô hình 3<br />
<br />
100000.0000<br />
80000.0000<br />
60000.0000<br />
40000.0000<br />
20000.0000<br />
0.0000<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />
Lần chạy<br />
<br />
Giá trị hàm<br />
<br />
Hình 7: Đồ thị giá trị<br />
f4 f5<br />
Đồ thịhàm<br />
hội tụ - Hàm<br />
0.0000<br />
-500.0000 1<br />
-1000.0000<br />
<br />
3<br />
<br />
5<br />
<br />
7<br />
<br />
9<br />
<br />
11<br />
<br />
13<br />
<br />
15<br />
<br />
17<br />
<br />
19<br />
Cố định<br />
Mô hình 1<br />
Mô hình 2<br />
Mô hình 2<br />
<br />
-1500.0000<br />
-2000.0000<br />
-2500.0000<br />
-3000.0000<br />
-3500.0000<br />
-4000.0000<br />
Lần chạy<br />
<br />
Hình 8. Đồ thị giá trị hàm f5<br />
<br />
Đồ thị hội tụ - Hàm f6<br />
<br />
160.0000<br />
140.0000<br />
<br />
Giá trị hàm<br />
<br />
120.0000<br />
Cố định<br />
Mô hình 1<br />
Mô hình 2<br />
Mô hình 3<br />
<br />
100.0000<br />
80.0000<br />
60.0000<br />
40.0000<br />
20.0000<br />
0.0000<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
8<br />
<br />
9 10 11 12 13 14 15 16 17 18 19 20<br />
Lần chạy<br />
<br />
Hình 9. Đồ thị giá trị hàm f6<br />
<br />
Chúng tôi đưa vào kết quả chạy bởi thuật toán<br />
có kích cỡ quần thể cố định để so sánh. Dựa vào<br />
bảng dữ liệu kết xuất cũng như đồ thị kết quả trên<br />
ta có thể rút ra một số nhận xét như sau:<br />
<br />
83.2940<br />
<br />
104.5281<br />
<br />
4 - 2009<br />
<br />
85.0702<br />
<br />
Đối với các hàm f1, f2, và f3, các mô hình thay<br />
đổi kích cỡ quần thể đã đề xuất đều cho kết quả<br />
trung bình, cũng như kết quả tốt nhất giữa các lần<br />
thử nghiệm không tốt bằng kết quả của mô hình<br />
kích cỡ quần thể cố định. Đồng thời độ ổn định<br />
của các giải thuật là như nhau (độ lệch giữa kết<br />
quả tốt nhất và kết quả trung bình). Thời gian chạy<br />
giữa các giải thuật cũng là tương đương nhau (độ<br />
chênh lệch là không đáng kể). Các hàm f4, f5 và f6<br />
có rất nhiều cực trị địa phương, khi đó kết quả của<br />
việc biến đổi kích cỡ quần thể đều cho kết quả tốt<br />
hơn thuật toán với kích cỡ quần thể cố định.<br />
3) Thay đổi kích cỡ quần thể dựa trên số lần lặp<br />
Với kỹ thuật này chúng tôi cũng sử dụng tham<br />
số độ thích nghi trung bình của quần thể, nhưng<br />
điểm khác biệt của thuật toán này như sau:<br />
Trong repTime thế hệ đầu tiên ta để kích cỡ<br />
quần thể thay đổi theo cách như trên. (repTime là<br />
một số nguyên bất kỳ nằm trong khoảng (0..số lần<br />
lặp)). Trong repTime thế hệ tiếp theo kích cỡ quần<br />
thể lại được giữ cố định như giải thuật di truyền<br />
thông thường. Lặp lại quá trình trên cho đến khi<br />
thỏa điều kiện thì dừng thuật toán.<br />
Thuật toán cụ thể như sau:<br />
procedure BaseOnRepeatTime<br />
Begin<br />
Khởi tạo quần thể;<br />
Tính độ thích nghi của các cá thể: eval (vi );<br />
Tính độ thích nghi trung bình của quần thể<br />
AverageFitness;<br />
raise=true; i=0;<br />
While (i AverageFitness) then<br />
Bổ sung C1 và C2 vào quần thể;<br />
else<br />
<br />
67<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
52(4): 64 - 68<br />
<br />
Loại P1 và P2 ra khỏi quần thể;<br />
Bổ sung C1 và C2 vào quần thể;<br />
End<br />
End<br />
<br />
4 - 2009<br />
<br />
Thử nghiệm được tiến hành với 6 hàm BenchMark<br />
đã được trình bày ở trên. Kết quả thử nghiệm được<br />
cho trong bảng 3. Các cột 2 và 3 cho giá trị hàm<br />
mục tiêu của cá thể tốt nhất tìm được sau 20 lần<br />
chạy. Các cột 4 và 5 cho giá trị trung bình của cá<br />
thể tốt nhất trong 20 lần chạy.<br />
Nhận xét:<br />
Tương tự như kỹ thuật biến đổi kích cỡ quần thể<br />
dựa trên độ thích nghi trung bình, kỹ thuật này chỉ<br />
cho kết quả tốt hơn thuật toán với kích cỡ quần thể<br />
cố định đối với hàm có nhiều cực trị địa phương.<br />
<br />
IV. Thảo luận và kết luận<br />
Nhìn vào những kết quả trên, ta thấy các mô<br />
hình đưa ra chưa hoàn toàn cho kết quả tốt với tất<br />
cả các hàm thử nghiệm mà chỉ cho kết quả tốt với<br />
các hàm đa cực trị. Tuy nhiên những kết quả đó chỉ<br />
là những nghiên cứu ban đầu về giải thuật di truyền<br />
với kích cỡ quần thể thay đổi, chỉ sử dụng một loại<br />
toán tử lai ghép. Những mô hình đưa ra cần có thời<br />
gian nghiên cứu sâu hơn để có thể cho kết quả tốt<br />
hơn, chẳng hạn sử dụng các dạng toán tử lai ghép<br />
khác, các dạng toán tử chọn lọc khác, cũng như việc<br />
lựa chọn các tham số đầu vào phù hợp hơn.<br />
<br />
Hình 10: Đồ thị kích cỡ quần thể<br />
<br />
Các tham số thực nghiệm<br />
Thuật toán trên sử dụng giải thuật di truyền mã<br />
hóa số thực (RCGA), với kích cỡ quần thể ban đầu<br />
là popsize=50, không gian tìm kiếm có số chiều là<br />
n=30, xác suất lai ghép pc=1, xác suất đột biến<br />
pm=0.01, số lần lặp là 2000 lần,<br />
thuật toán sử dụng toán tử lai ghép số học. Biến<br />
raise được sử dụng để xác định trong giai đoạn<br />
hiện tại, kích cỡ quần thể là cố định hay thay đổi,<br />
repTime=50.<br />
Bảng 3. Kết quả thử nghiệm khi thay đổi kích cỡ quần thể dựa trên số lần lặp<br />
Hàm thử nghiệm<br />
<br />
Giá trị tốt nhất<br />
<br />
Giá trị trung bình<br />
<br />
Kích cỡ cố định<br />
<br />
Kích cỡ biến đổi<br />
<br />
Kích cỡ cố định<br />
<br />
Kích cỡ biến đổi<br />
<br />
f1<br />
<br />
155.6121<br />
<br />
252.4066<br />
<br />
361.7346<br />
<br />
457.6235<br />
<br />
f2<br />
<br />
208.0000<br />
<br />
226.0000<br />
<br />
431.1500<br />
<br />
452.2500<br />
<br />
f3<br />
<br />
2.3487<br />
<br />
2.7201<br />
<br />
4.8268<br />
<br />
5.7816<br />
<br />
f4<br />
<br />
11605.4258<br />
<br />
9812.4921<br />
<br />
36424.8180<br />
<br />
25168.4229<br />
<br />
f5<br />
<br />
-3235.2783<br />
<br />
-4054.1986<br />
<br />
-2674.3462<br />
<br />
-3332.0388<br />
<br />
f6<br />
<br />
62.4577<br />
<br />
53.9499<br />
<br />
100.5761<br />
<br />
84.8775<br />
<br />
Tài liệu tham khảo<br />
[1] A.E. Eiben, E. Marchiori, V.A. Valkó, Evolutionary<br />
Algorithms with on-the-fly Population Size Adjustmen,<br />
Parallel Problem Solving from Nature PPSN VI, LNCS<br />
1917, Springer, 2004.<br />
[2] Fernando G. Lobo, Claudio F. Lima, Revisiting<br />
Evolutionary Algorithms with on-the-fly Population<br />
Size Adjustmen, UALG-ILAB Technical Report<br />
N.200602, 2006.<br />
[3] Ulrich Bodemhofer, Generic Algorithms: Theory<br />
and Application, Lecture Notes, 2004<br />
[4] Nguyễn Hoàng Phương, Nadipuram R.Prasad, Lê Linh<br />
Phong, Nhập môn trí tuệ tính toán, NXB KH&KT, 2002.<br />
[5] Nguyễn Đình Thúc, Lập trình tiến hoá, NXBGD,<br />
2001.<br />
<br />
[6] Vũ Mạnh Xuân, Nguyễn Thanh Thủy, Biểu diễn<br />
toán tử lai ghép trong giải thuật di truyền mã hóa số<br />
thực, Tạp chí Khoa Học & Công Nghệ, ĐHTN.<br />
<br />
68<br />
<br />