Ở thế hệ đầu tiên, một quần thể các hàm hay cây hay cá thể được sinh ngẫu nhiên.Trong các thế hệ sau, ở mỗi thế hệ, các hàm tốt có E bé được chọn lựa để biến... Khởi tao Full Các hàm cơ
Trang 1GV HƯỚNG DẪN : PGS.TS ĐỖ VĂN NHƠN
HỌC VIÊN : NGUYỄN XUÂN SƠN
Trang 2HÀ NỘI, THÁNG 1 NĂM 2013
MỤC LỤC
MỤC LỤC 2 TÓM TẮT 3 TÀI LIỆU THAM KHẢO 21
Trang 3TÓM TẮT
Trong đề tài này, tác giả tìm hiểu và áp dụng Genetics Programming (GP) giảibài toán Symbolic Regression (SR) Các thử nghiệm trên bảy hàm một biếnthực đã chỉ ra rằng có thể giải bài toán này bằng GP Tiếp theo đó, tác giả ápdụng chiến lược động vào phép lai chuẩn nhằm khắc phục nhược điểm tìm kiếmcục bộ của phép lai này Kết quả chạy 6 thử nghiệm khi xấp xỉ hai hàm một biếnđược chọn từ bảy hàm trên đã chỉ ra: phép lai chuẩn có áp dụng chiến lược độngđạt được độ chính xác cao hơn và ổn định hơn trong khoảng thời gian ít hơn
1 Mở đầu
Genetics Programming (GP) là một nhánh của Genetics Algorithm được nghiêncứu đầu tiên bởi John Koza từ năm 1972, sau đó bởi William Langdon, RicardoPoli… GP là một phương pháp tối ưu ký hiệu dựa trên biểu diễn cây – cây làcấu trúc linh hoạt có thể biểu diễn các chương trình máy tính, các biểu thức,phương trình toán học,… GP có nhiều ứng dụng quan trọng như lập trình tựđộng, giải bài toán hồi quy ký hiệu (Symbolic Regression)
Phần 2 giới thiệu bài toán SR và mô hình áp dụng GP giải bài toán SR Phần 3
áp dụng chiến lược động vào phép lai chuẩn trong GP nhằm tăng độ chính xáccủa lời giải Phần 4 là giao diện chương trình thử nghiệm và kết quả thửnghiệm Phần 5 là các vấn đề cần nghiên cứu thêm
2 Mô hình GP giải bài toán SR
2.1 Bài toán SR
Cho trước tập các điểm
D = { ( X i ,y t ) | i = 1 , , N }, xi ϵ RM , yi ϵ R,
tập các hàm cơ sở
F = {+, -, *, /, pow, ln, exp, abs, sin, cos, tan, sqrt…}
và các tập toán hạng T = { x1, x2, …, cons 1 , cons 2 ,…} Bài toán đặt ra là tìm một
hàm f* : RM R, f* được tạo bởi các hàm trong F và các toán hạng trong T saocho
2.2 Thuật giải di truyền – GA
Hoạt động của GA được cho trong hình 1
Trang 4INCLUDEPICTURE "EmThuy/EmThuy/media/image1.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image1.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image1.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image1.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image1.jpeg" \* MERGEFORMAT INCLUDEPICTURE
Trang 5"EmThuy/EmThuy/media/image1.jpeg" \* MERGEFORMAT
Hình 1: Các bước thực hiện của GA
Trong đó, số lượng các phẩn tử được:
Trang 6(5) có (1 - (pC+ pm+ pb))PS đửơc sinh ngẫu nhiên
Các phép chọn trên dựa vào thủ tục chọn phần tử từ tập L phần tử theo bàn xoayroulette thêm vào tập T ở vị trí thứ r
Gọi seli là xác suất chọn Li (Chú ý : Σi seli ) Sắp tăng L theo {sel i} và đặt:
2.3 Áp dụng GP giải bài toán SR
Thuật giải di truyền tiến hóa trên cấu trúc cá thể có dạng cây được gọi là GP.Biểu diễn hàm bằng cây nhị phân ta có thể dùng GP để giải bài toán SR Ở thế
hệ đầu tiên, một quần thể các hàm (hay cây hay cá thể) được sinh ngẫu nhiên.Trong các thế hệ sau, ở mỗi thế hệ, các hàm tốt có E bé được chọn lựa để biến
Trang 7hóa (lai ghép, đột biến) nhằm tạo ra thế hệ sau tốt hơn Hàm tốt nhất ở thế hệcuối cùng được chọn làm lời giải.
2.3.1 Biểu diễn hàm bằng cây nhị phân
Các nút trong chứa các toán tử, các nút lá chứa các toán hạng Chẳng hạn, xemhình 2
INCLUDEPICTURE "EmThuy/EmThuy/media/image2.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image2.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image2.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image2.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image2.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image2.jpeg" \* MERGEFORMAT
Hình 2: Biểu diễn một số hàm bằng cây nhị phân
2.3.2 Khởi tạo quần thể
Khởi tạo quần thể ban đầu chứa PopSize cây có độ cao tối đa là d Có 3 phươngpháp khởi tạo: Full, Grow, Ramped
2.3.2.1 Khởi tao Full
Các hàm cơ sở được chọn làm các nút của cây cho đến khi đạt đến độ sâu d-2,các toán hạng được chọn làm các nút ở độ sâu d-1
Trang 8Đặc điểm của phương pháp này là: mọi cá thể đều có cùng độ cao d, quần thểkhông đa dạng về cấu trúc.
2.3.2.2 Khởi tạo Grow
Đầu tiên, chọn hàm cơ sở làm nút gốc Sau đó, chọn ngẫu nhiên hàm cơ sở hoặctoán hạng cho các nút ở độ sâu 1 Nếu nút ở độ sâu 1 là toán hạng thì chấm dứtkhởi tạo trên nhánh con tương ứng đó, tiếp tục khởi tạo các nhánh còn lại.Ngược lại, nếu một nút ở độ sâu 1 là hàm cơ sở thì tiếp tục khởi tạo các nút ở độsâu 2 Tiếp tục khởi tạo cho các nhánh đến khi các nhánh đều đã có toán hạnghoặc nút cuối của nhánh có độ sâu d-2, ta chọn ngẫu nhiên một hoặc hai toánhạng làm các nút có độ sâu d-1 và kết thúc nhánh
Đặc điểm của phương pháp Grow là: các cá thể có độ cao ngẫu nhiên thuộcđoạn [2, d], quần thể sẽ chứa nhiều cá thể có độ cao nhỏ (2,3, … ) và ít cá thể có
độ cao lớn (d, d-1, … )
2.3.2.3 Khởi tạo Ramped half-and-half
Để khởi tạo quần thể chứa PopSize các thể có độ cao nhỏ hơn giới hạn độ cao dcho trước, ta trải qua m giai đoạn, giai đoạn k khởi tạo N/m cá thể chứa: a)N/m/2 cá thể có cùng độ cao k bằng phương pháp Full, b) N/m/2 cá thể có độcao trong đoạn [1, k] bằng phương pháp Grow
Phương pháp này kết hợp đặc điểm của hai phương pháp Full và Grow để tạo raquần thể đa dạng về cấu trúc
INCLUDEPICTURE "EmThuy/EmThuy/media/image3.jpeg" \* MERGEFORMAT INCLUDEPICTURE
Trang 9"EmThuy/EmThuy/media/image3.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image3.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image3.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image3.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image4.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image4.jpeg" \* MERGEFORMAT INCLUDEPICTURE
Trang 10"EmThuy/EmThuy/media/image4.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image4.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image4.jpeg" \* MERGEFORMAT
Hình 4: Minh họa phép đột biến
3 Áp dụng chiến lược động vào phép lai chuẩn
3.1 Nhược điểm của phép lai chuẩn
Đối với phép lai chuẩn, mọi điểm lai trên cây cha (mẹ) đều có xác suất chọnbằng nhau Khi các điểm lai được chọn là các nút lá thì các cá thể con tạo ra rấtgần với cha, mẹ (chỉ khác biệt ở các toán hạng) Các nút lá trong cây chiếm
“gần” một nửa số lượng các nút của cây Do đó, phép lai chuẩn thực hiện tìmkiếm cục bộ: không khám phá được nhiều vùng khác (chứa các hàm khác) củakhông gian tìm kiếm
Để khắc phục, Koza đã đưa ra luật 90-10: 90% điểm lai được chọn ứng với cácnút trong, 10% đối với các nút lá [Langdon, 1990] và [ Harries, Smith, 1997]
đã nghiên cứu các phân phối chọn điểm lai khác
3.2 Các phép lai khác
Trong [2], [3]; R.Poli, W.B Langdon đề nghị các phép lai một điểm, lai đồngnhất
3.2.1 Phép lai một điểm
Phép lai một điểm (xem ví dụ trong hình 5) gồm các bước:
- Tìm cây lai tiềm tàng của cha và mẹ: (a) nút trong tương ứng với hai nút ở gầncha và mẹ có chung số đối (hoặc trùng nhau trong trường hợp lai ngặt), (b) nút
lá tương ứng với hai nút con chung cuối cùng của cha và mẹ
Trang 11- Chọn (với xác suất đều) một nút trên cây chung làm điểm lai cho cả cha vàmẹ.
- Tráo đổi hai cây con tương ứng của cha và mẹ
Trong giai đoạn ban đầu (nếu quần thể đủ đa dạng về mặt cấu trúc), lai ghép
diễn ra ở phần trên (xác suất lai ghép ở phần dưới thấp, thậm chí có thể bằng 0),các cây con được tráo đổi có kích thước lớn, sự tráo đổi lượng vật chất di truyền
mạnh, tìm kiếm mang tính toàn cục Đến một lúc, quần thể sẽ hội tụ về các cá
thể có chung cấu trúc ở phần trên Lúc này, lai ghép diễn ra ở các điểm lai
bên dưới nhưng với tốc độ chậm hơn vì lai ghép cũng có thể diễn ra ở trên, tuynhiên, các thay đổi của phần dưới sẽ tác động lớn đến độ thích nghi của các cáthể (vì phần trên đã hội tụ đến cấu trúc chung) Lượng vật chất di truyền tráo đổi
bây giờ ít hơn, tìm kiếm mang tính cục bộ hơn trong không gian các cá thể có
chung cấu trúc phần trên Tình trạng tương tự diễn ra, tìm kiếm sẽ chuyển “dần”
từ không gian lớn (toàn cục) vào các không gian nhỏ (cục bộ) hơn – cố định cấutrúc
Ở giai đoạn cuối, khi quần thể hầu như giống nhau về cấu trúc, lai ghép một
điểm trở thành lai chuẩn Tuy nhiên, không giống lai chuẩn – tìm kiếm mang
tính cục bộ trong không gian lớn – lai một điểm tìm kiếm cục bộ trong khônggian các cấu trúc cố định – không gian này là kết quả của quá trình hội tụ dần vềmặt cấu trúc từ trên xuống dưới trong quá trình chuyển từ tìm kiếm toàn cụcsang tìm kiếm cục bộ
Lúc này, quần thể gồm nhiều cá thể có vật liệu di truyền giống nhau, do đó tìmkiếm mang tính chất rất cục bộ, nó có khả năng tinh chỉnh và chỉ ra lời giải tốtnhất
INCLUDEPICTURE "EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT INCLUDEPICTURE
Trang 12"EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT
Hình 5: Phép lai một điểm
3.2.2 Phép lai đồng nhất
Phép lai đồng nhất (xem ví dụ trong hình 6) gồm các bước:
- Tìm cây lai tiềm tàng con chung của cha và mẹ: (a) nút trong tương ứng vớihai nút ở cha và mẹ có chung số đối (hoặc trùng nhau trong trường hợp laingặt), (b) nút là tương ứng với hai nút con chung cuối cùng của cha và mẹ
- con_1 cha; con_2 mẹ
- Duyệt trên cây lai tiềm tàng:
If (Flip(ps)) then
- Tráo đổi hai nút tương ứng của con_1 và con_2 nếu điểm lai là nút trong (củacây lai tiềm tàng),
Trang 13- Tráo đổi hai cây con tương ứng của con_1 và con_2 nếu điểm lai là nút lá (củacây lai tiềm tàng).
Parent 1 Parent 2 Parent 1 Parent 2
INCLUDEPICTURE "EmThuy/EmThuy/media/image6.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image6.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image6.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image6.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image6.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image6.jpeg" \* MERGEFORMAT
Parenl l Parent 2 Parent 1
Trang 14Hình 6: Phép lai đồng nhất
Tính toàn cục hoặc cục bộ của tìm kiếm được điều khiểm bằng Ps:
- Nếu Ps quá bé (gần 0) : tìm kiếm mang tính cục bộ, lượng vật chất di truyềntráo đổi ít,
- Nếu Ps quá lớn (gần 1): Tất cả bị tráo đổi, nhưng do tính đối xứng, thực chấtchẳng có tráo đổi nào: tìm kiếm mang tính cục bộ,
- Nếu Ps = 0.5: lượng vật chất tráo đổi nhiều nhất: tìm kiếm mang tính toàn cục.Nếu quần thể ban đầu đủ đa dạng, trong giai đoạn đầu của tiến hóa, lai đồngnhất chỉ tráo đổi các nút và các cây con (có kích thước lớn) gần gốc Qua mộtthời gian tiến hóa, khi phần trên đã bắt đầu hội tụ, tương tự như lai một điểm, laiđồng nhất sẽ bắt tráo đổi các nút và cây con (nhỏ hơn) ở các mức thấp hơn Đếncuối tiến hóa, mọi nút của cây đều có thể được chọn lai ghép, nhưng lai ghépchỉ là tráo đổi các nút đơn của cây (các cây con tương ứng ở cha và mẹ ở cácnút lá của cây lai tiềm tàng chỉ chứa một nút đơn – là nút lá đó) Tìm kiếm lúcnày mang tính cục bộ, nhưng quần thể gồm nhiều cá thể có vật liệu di truyềngiống nhau, do đó tìm kiếm mang tính chất rất cục bộ, nó có khả năng tinhchỉnh và chỉ ra lời giải tốt nhất
3.3 Áp dụng chiến lược động vào phép lai chuẩn
Ở đây, ta áp dụng chiến lược động [4] vào phép lai chuẩn (phép lai chuẩn
động) như sau: giai đoạn đầu chọn các điểm lai ở gần gốc với xác suất lớn (các
điểm lai xa gốc với xác suất bé), giai đoạn sau chọn các điểm lai ở gần các nút
lá với xác suất lớn (các điểm lai ở gần gốc với xác suất bé).
INCLUDEPICTURE "EmThuy/EmThuy/media/image7.png" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image7.png" \* MERGEFORMAT
INCLUDEPICTURE "EmThuy/EmThuy/media/image7.png" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image7.png" \* MERGEFORMAT
INCLUDEPICTURE "EmThuy/EmThuy/media/image7.png" \* MERGEFORMAT INCLUDEPICTURE
Trang 15"EmThuy/EmThuy/media/image8.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image8.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image8.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image8.jpeg" \* MERGEFORMAT INCLUDEPICTURE
Trang 16"EmThuy/EmThuy/media/image8.jpeg" \* MERGEFORMAT
4.2 Thử nghiệm
Áp dụng mô hình GP trên với phép lai chuẩn để xấp xir 7 hàm một biến thực (cho trong bảng 1; các hàm 3,4,5,6 được chọn từ [1], các hàm 1,2,7 là các
hàm đa thức phổ biến trong các tài liệu về SR; đồ thị các hàm trong hình 8)
Thử nghiệm 1: chạy 5 lần với siêu hạt giống 8000, kích thước quần thể 100, số thế hệ 100 Thử nghiệm 2: chạy 10 lần với siêu hạt giống 2000, kích thước quần thể 150, số thế hệ 100 Lỗi (%) trung bình, min, max, phương sai cho trong
bảng 2
Hiệu quả của phép lai chuẩn và phép lai chuẩn động được so sánh trên 6
thử nghiệm với: cùng mô hình áp dụng GP (phép lai chuẩn động với beg = 0.7,end = 0.0), xấp xỉ các hàm 4 và 7 (bảng 1), số thế hệ 100, kích thước quần thể
50 Lỗi (%) trung bình, phương sai, thời gian của các thử nghiệm cho trong
bảng 3 (với các ký hiệu: phép lai chuẩn: LC, phép lai chuẩn động: LC_D)
Trang 17INCLUDEPICTURE "EmThuy/EmThuy/media/image9.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image9.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image9.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image9.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image9.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image9.jpeg" \* MERGEFORMAT
Trang 18"EmThuy/EmThuy/media/image11.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image11.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image11.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image11.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image11.jpeg" \* MERGEFORMAT
Trang 19"EmThuy/EmThuy/media/image13.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image13.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image13.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image13.jpeg" \* MERGEFORMAT INCLUDEPICTURE
"EmThuy/EmThuy/media/image13.jpeg" \* MERGEFORMAT
Trang 20Bảng 2: Kết quả của 2 thử nghiệm áp dụng GP xấp xỉ 7 hàm một biến thực
Min Max Phương
5 Các vấn đề cần nghiên cứu thêm
a) Các phép lai: một điểm, lai đồng nhất; các phép đột biến: điểm, tráo đổi hai
cây con của chính nó; đột biến động
Trang 21b) Tối ưu các hệ số bằng kỹ thuật giảm gradient, hồi quy tuyến tính.
c) Các phương pháp hạn chế sự phát triển độ sâu: parsimony pressure (độ cao
cá thể là một cơ sở để đánh giá độ tốt của cá thể), double tournament (hai lượtchọn, một lượt dựa vào độ cao và một lượt dựa vào độ tốt)
TÀI LIỆU THAM KHẢO
[1] M Keijzer, “Improving Symbolic Regression with Interval Arithmetic andLinear Scaling”, Computer Science Department, Free University Amsterdam.[2] R Poli, W.B Langdon, “Genetic Programming with One-Point Crossoverand Point Mutation”, School of Computer Science, The University ofBirmingham (UK)
[3] R Poli, W.B Langdon, “On the Search Properties of Different CrossoverOperators in Genetic Programming”, School of Computer Science, TheUniversity of Birmingham (UK)
[4] T.C Tin, “Ứng dụng chiến lược động trong thuật giải di truyền giải một sốbài toán tối ưu toàn cục”, Hội thảo quốc gia CNTT, Đà Lạt, 2006
[5] M Walker, “Introduction to Genetic Programming”, October 7, 2001