Một số kỹ thuật điều chỉnh tham số trong giải thuật di truyền

Tóm tắt.

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ô

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

thuật ngay trong quá trình tiến hoá.

pdf 6 trang phuongnguyen 1220
Bạn đang xem tài liệu "Một số kỹ thuật điều chỉnh tham số trong giải thuật di truyền", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Một số kỹ thuật điều chỉnh tham số trong giải thuật di truyền

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

File đính kèm:

  • pdfmot_so_ky_thuat_dieu_chinh_tham_so_trong_giai_thuat_di_truye.pdf