Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
508,5 KB
Nội dung
GV. HƯỚNG DẪN : PGS.TS. ĐỖ VĂN NHƠN HỌC VIÊN : NGUYỄN XUÂN SƠN MÃ HV : CH1102007 LỚP : CAO HỌC CNTT – K6 1 BÀI THU HOẠCH MÔN LẬP TRÌNH SYMBOLIC CHUYÊN ĐỀ DÙNG GENETIC PROGRAMMING GIẢI BÀI TOÁN SYMBOLIC REGRESSION HÀ 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 2 TÓM TẮT Trong đề tài này, tác giả tìm hiểu và áp dụng Genetics Programming (GP) giải bài toán Symbolic Regression (SR). Các thử nghiệm trên bảy hàm một biến thực đã chỉ ra rằng có thể giải bài toán này bằng GP. Tiếp theo đó, tác giả áp dụ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ếm cụ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ên cứu đầu tiên bởi John Koza từ năm 1972, sau đó bởi William Langdon, Ricardo Poli… 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ác củ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 }, x i ϵ R M , y i ϵ 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 = { x 1, x 2, …, cons 1 , cons 2 ,…}. Bài toán đặt ra là tìm một hàm f* : R M R, f * được tạo bởi các hàm trong F và các toán hạng trong T sao cho 2.2. Thuật giải di truyền – GA Hoạt động của GA được cho trong hình 1. 3 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 "EmThuy/EmThuy/media/image1.jpeg" \* MERGEFORMAT INCLUDEPICTURE 4 "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: (1) Chọn ( th eo độ th íc h ng hi ) từ Q để lai là PS C = (p C PS % 2 = 0 ? p C PS : pcPS+1), (2) Chọn (n gẫu n hi ện ) từ Q c r để đột biến là PS CM = p cm *PS, (3) chọn ( ng ẫu n hi ện ) tử Q để đột biến là PS M = p m PS, (4) chọn ( xe n t he o đ ộ t hích n gh i) từ Q để tái tạo là PS b = p b PS; 5 và (5) có (1 - (p C + p m + p b ))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 xoay roulette thêm vào tập T ở vị trí thứ r. Gọi sel i là xác suất chọn L i (Chú ý : Σ i sel i ) Sắp tăng L theo {sel i } và đặt: p 0 :=0, S := . Thủ tục như sau: RWS (L, p, kind, r) Begin do - q = random(0; S) (0; S) - if (p i-1 < q < p i ), với i = 1 Card(L) T[r] = Li return T[r] end vơi kind là hình thửc chọn: sel i Từ đó, để: - chọn ngẫu nhiên: + bước chọn (2): T[r] := RWS(Q c r , 1/PS, DIFF_ALL,r), r=1, …, PS CM + bước chọn (3): T[r] := RWS(Q 1/PS, DIFF_ALL,r), r=1, …, PS CM - chọn theo độ thích nghi g : + bước chọn (1) : lấy PS b cá thể có độ thích nghi cao nhất từ Q, T := PopTop (Q, g, PS b ). + bước chọn (4) : T[r] := RWS(Q, g, DIFF_TWO, r), r=1, …, PS c . 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 6 hó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, xem hình 2. (a) (b) (c) (d) 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ương phá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. 7 Đặ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ặc toá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ứt khở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ạng hoặ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án hạ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 d cho 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 ra quần thể đa dạng về cấu trúc. 2.3.3. Độ thích nghi cá thể Độ thích nghi của cá thể thể hiện khả năng tham gia của cá thể (so với quần thể) vào quá trình tái tạo – các quá trình chọn (1), (4) trong hình 1 – ra thế hệ sau. Nó phụ thuộc chính vào lỗi của cá thể trên tập D: cá thể f có E(f) lớn/ nhỏ sẽ có độ thích nghi cao/thấp. Các công thức sau chỉ ra các cách tính độ thích nghi g i cho cá thể f i (G i (f i )): 2.3.4. Lai ghép Lai ghép giữa hai cá thể được chọn (có độ thích nghi cao) nhằm tạo ra hai cá thể mới có độ thích nghi cao. Phép lai ghép chuẩn giữa hai cá thể cha, mẹ diễn ra như sau: a) chọn ngẫu nhiên môt nút (điểm lai) trên cha, b) chọn ngẫu nhiên một điểm lai trên mẹ, c) tráo đổi hai cây con có gốc là hai điểm lai đã chọn để tạo ra hai cây con. INCLUDEPICTURE "EmThuy/EmThuy/media/image3.jpeg" \* MERGEFORMAT INCLUDEPICTURE 8 "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/image3.jpeg" \* MERGEFORMAT 2.3.5. Đột biến Đột biến giúp tạo các gen mới (các cây con) trong quần thể giúp quần thể duy trì được tính đa dạng bị giảm đi do ghép lai trong quá trình tìm kiếm. Đột biến trên cá thể thay đổi một cây con bằng một cây con khác được sinh ngẫu nhiên. INCLUDEPICTURE "EmThuy/EmThuy/media/image4.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image4.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image4.jpeg" \* MERGEFORMAT INCLUDEPICTURE 9 "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ọn bằ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ất gầ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ìm kiế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ủa khô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ác nú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 đồng nhấ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ần cha 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ẹ. 10 [...]... Keijzer, “Improving Symbolic Regression with Interval Arithmetic and Linear Scaling”, Computer Science Department, Free University Amsterdam [2] R Poli, W.B Langdon, Genetic Programming with One-Point Crossover and Point Mutation”, School of Computer Science, The University of Birmingham (UK) [3] R Poli, W.B Langdon, “On the Search Properties of Different Crossover Operators in Genetic Programming , School... Genetic Programming , School of Computer Science, The University 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 21 ... 2.53 2.46 2.45 2.30 2.40 2.14 5h46 3h21 5h38 5h34 3h10 5h24 Trung bình 550 lần 11.8 3 10.9 2.34 2.19 5h31 5h14 So sánh (%) 100 92 100 94 100 95 Từ bảng 2 và bảng 3, ta có nhận xét: 1) GP có thể giải hiệu quả bài toán xấp xỉ hàm một biến thực với lỗi bé (2.3%) 2) Phép lai chuẩn động tốt hơn phép lai chuẩn: độ chính xác cao hơn (lỗi giảm 8%) và ổn định hơn (phương sai bé hơn 6%) trong khoảng thời gian ít... đơn – là nút lá đó) Tìm kiếm lúc nà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ền giống nhau, do đó tìm kiế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ố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... chuyển từ tìm kiếm toàn cục sang 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ìm kiế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ốt nhất INCLUDEPICTURE "EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT INCLUDEPICTURE "EmThuy/EmThuy/media/image5.jpeg" \* MERGEFORMAT . 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 tác giả tìm hiểu và áp dụng Genetics Programming (GP) giải bài toán Symbolic Regression (SR). Các thử nghiệm trên bảy hàm một biến thực đã chỉ ra rằng có thể giải bài toán này bằng GP. Tiếp theo. SƠN MÃ HV : CH1102007 LỚP : CAO HỌC CNTT – K6 1 BÀI THU HOẠCH MÔN LẬP TRÌNH SYMBOLIC CHUYÊN ĐỀ DÙNG GENETIC PROGRAMMING GIẢI BÀI TOÁN SYMBOLIC REGRESSION HÀ NỘI, THÁNG 1 NĂM 2013 MỤC LỤC MỤC