Dùng genetic programming giải bài toán symbolic regression

14 607 8
Dùng genetic programming giải bài toán symbolic regression

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Dùng genetic programming giải bài toán symbolic regression

1DÙNG GENETIC PROGRAMMING GIẢI BÀI TOÁNSYMBOLIC REGRESSIONTrần Ngọc AnhKhoa Toán TinĐề tài nghiên cứu khoa học cấp trường 2006TÓM TẮTTrong đề tài này, tác giả tìm hiểu và áp dụng Genetics Programming (GP) giải bàitoán Symbolic Regression (SR). Các thử nghiệm trên bảy hàm một biến thực đã chỉ rarằ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àophé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 qủachạ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éplai 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 trongkhoảng thời gian ít hơn.1. Mở đầuGenetic Programming (GP) là một nhánh của Genetics Algorithm được nghiên cứầ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 linhhoạ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ánhọ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ồiquy 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 ápdụ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ờigiải. Phần 4 là giao diện chương trình thử nghiệm và kết qủa 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 SR2.1 Bài toán SRCho trước tập các điểmRyRxNiyxDiMiii∈∈== ,},, .,1),{(,tập các hàm cơ sở 2F = .}tan,cos,sin,,exp,ln,,/,,*,,{ sqrtabspow−+và tập các toán hạng T =, .},, .,,{2121consconsxx. Bài toán đặt ra là tìm một hàmRRfM→:* , f* được tạo bởi các hàm trong F và các toán hạng trong T sao cho0%100*)(*)*,(1≅−=∑=NyyxfDfENiiii. (1)2.2 Thuật giải di truyền – GAHoạt động của GA được cho trong hình 1.Tạo ngẫu nhiên PopSize (PS) cá thể ban đầu (Q), t = 0while (t < T)QbrQQmrQcmrQrep= QcmrU Qmr. U QbrU QgrQ = Opt (Qrep)Tính độ thích nghi cho các cá thể trong Q, t = t+1Đột biến(V)Chọn (III)các cá thểtừ Q và lai(IV) chúngQcrĐột biến(V)(1)(2)(4)(3)(5)Sinh ngẫunhiên (I)QgrHình 1: Các bước thực hiện của GA 3Trong đó, số lượng các phần tử được:(1) chọn (theo độ thích nghi) từ Q để lai là PSC = (pCPS % 2 = 0 ? pCPS :pCPS+1),(2) chọn (ngẫu nhiên) từ Qcrđể đột biến là PSCM = pcm*PS,(3) chọn (ngẫu nhiên) từ Q để đột biến là PSM = pmPS,(4) chọn (xén theo độ thích nghi) từ Q để tái tạo là PSb = pbPS; và(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 selilà xác suất chọn Li (chú ý:1≤∑iisel). Sắp tăng L theo }{isel và đặt: p0 := 0,∑==)(1:LCardiiselS . Thủ tục như sau:RWS (L, p, kind, r)begindo- q = random(0; S) ∈ (0; S)- if (pi-1 < q ≤ pi), vi i = 1 Card(L)T[r] = Liwhile (=<∃∧=∨=∧=∧=∧<>−)]}:()_[()]()02%()_{[()1jrrrTTrjALLDIFFkindTTrTWODIFFkindFREEkind)return T[r]endvới kind là hình thức chọn:≠≠≠∀≠=elseFREETTTTTWODIFFnmTTALLDIFFkindnm:, .,:_,:_3210Từ đó, để:- chọn ngẫu nhiên:o bước chọn (2): T[r] := RWS(QCR, 1/PS, DIFF_ALL, r), r=1, , PSCMo bước chọn (3): T[r] := RWS(Q, 1/PS, DIFF_ALL, r), r=1, , PSM- chọn theo độ thích nghi g:o bước chọn (1): lấy PSb cá thể có độ thích nghi cao nhất từ Q, T :=PopTop (Q, g, PSb). 4o bước chọn (4): T[r] := RWS(Q, g, DIFF_TWO, r), r=1, …, PSC.2.3 p dụng GP giải bài toán SRThuậ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. Trongcác thế hệ sau, ở mỗi thế hệ, các hàm tốt có E bé được chọn lựa để biến hóa (laighé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ânCá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.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 tạo FullCá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áctoán hạng được chọn làm các nút ở độ sâu d-1.Đặ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 một nút ở độ sâu 1 là toán hạng thì chấmdứ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.Hình 2: Biểu diễn một số hàm bằng cây nhò phân 5Ngượ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 cho đế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. Khi nút cuối của nhánh có độ sâu d-2, tachọ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úcnhá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ó độ caolớ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á thể có độ cao nhỏ hơn giới hạn độ cao d chotrướ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.2.3.3 Độ thích nghi của 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 qúa trình tái tạo – các qúa 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 gicho cá thể fi(G(fi)):),(:)(iifEfStdFit = (2)),(:, .,1jKjfStdFitMaxMaxStdFit== (3))(1:)(,)(11:)(,)(:)()0(iiiiiifStdFitMaxStdFitfAdjFitorfStdFitfAdjFitorfStdFitMaxStdFitfAdjFit+=+=+−=>ε (4)∑==NjjiifAdjFitfAdjFitfG, .,1)()(:)( (5)2.3.4 Lai ghépLai 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ư 6Hình 3: Minh họa phép lai chuẩnĐột biếnHình 4: Minh họa phép đột biếnsau: 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ểmlai 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âycon.2.3.5 Đột biếnĐột biến giúp tạo ra 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 phé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ẫunhiên.3. p dụng chiến lược động vào phép lai chuẩn 73.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ằngnhau. 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ớicha, 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ửasố 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ôngkhám phá được nhiều vùng khác (chứa các dạng hàm khác) của không gian tìmkiế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úttrong, 10% đối với các nút lá. [Langdon, 1990] và [Harries, Smith, 1997] đã nghiêncứu các phân phối chọn điểm lai khác.3.2 Các phép lai khácTrong [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ểmPhé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 ở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ẹ.§ 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ễnra ở 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âycon đượ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ìmkiế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ó chungcấ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ớitốc độ chậm hơn vì lai ghép cũng có thể diễn ra ở trên, tuy nhiên, các thay đổi củaphầ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ếmmang 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ìnhtrạ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àocác không gian nhỏ (cục bộ) hơn – cố đònh cấu trú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ểmtrở 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ông gian các cấu trúccố đònh – không gian này là kết qủa của qúa trình hội tụ dần về mặt cấu trúc từtrên xuống dưới trong qúa trình chuyển từ tìm kiếm toàn cục sang tìm kiếm cục bộ. 8Lú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.3.2.2 Phép lai đồng nhấtPhé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:o if (Flip(pS)) thenHình 5: Phép lai một điểm 9Hình 6: Phép lai đồng nhất§ 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ủa cây lai tiềm tàng),§ tráo đổi hai cây con tương ứng của con_1 và con_2 nếu điểmlai là nút lá (của cây lai tiềm tàng).Tính toàn cục hoặc cục bộ của tìm kiếm được điều khiển bằng pS:o nếu pSqúa bé (gần 0): tìm kiếm mang tính cục bộ, lượng vật chất ditruyền tráo đổi ít,o nếu pSqúa lớn (gần 1): tất cả đều bò tráo đổi, nhưng do tính đối xứng,thực chất chẳng có tráo đổi nào: tìm kiếm mang tính cục bộ,o nếu pS= 0.5: lượng vật chất tráo đổi nhiều nhất: tìm kiếm mang tínhtoàn cục. 10Nếu quần thể ban đầu đủ đa dạng, trong giai đoạn đầu của tiến hóa, lai đồng nhấtchỉ 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ột thời giantiế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ấtsẽ bắt tráo đổi các nút và cây con (nhỏ hơn) ở các mức thấp hơn. Đến cuối tiếnhóa, mọi nút của cây đều có thể được chọn lai ghép, nhưng lai ghép chỉ là tráo đổicác nút đơn của cây (các cây con tương ứng ở cha và mẹ ở các nút lá của cây laitiềm tàng chỉ chứa một nú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ếmmang 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 lớn (các điểm laixa 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ácsuất lớn (các điểm lai ở gần gốc với xác suất bé).Để chọn điểm lai trên cá thể c (cha hoặc mẹ) ở thế hệ thứ t trong qúa trình tiến hóaT thế hệ, ta xác đònh tam giác )(tc∆ chứa các nút có độ sâu 0, 1, , lim_depth(t, c)với)2)((*)1(),(lim_ −−= chighTtctdepth . (6)Xác suất chọn điểm lai trong )(tc∆ làendbegendbegTtendttrongp ≥−−+= ),(*)1()(_ . (7))(_ ttrongpc m)(tc∆ )(tm∆Hình 7: Minh họa phép lai chuẩn động giữa cha c và mẹ m [...]... 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 14 ... 2.42 2.34 100 LC_D 2.14 2.30 2.40 2.14 2.02 2.27 2.19 94 LC 7h53 5h46 3h21 5h38 3h28 3h50 5h31 100 LC_D 7h14 5h34 3h10 5h24 3h25 3h50 5h14 95 Từ bảng 2 và bảng 3, ta có nhận xét: 1) GP có thể giải hiệu qủa 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 . áp dụng Genetics Programming (GP) giải bàitoán Symbolic Regression (SR). Các thử nghiệm trên bảy hàm một biến thực đã chỉ rarằng có thể giải bài toán này. 1DÙNG GENETIC PROGRAMMING GIẢI BÀI TOÁNSYMBOLIC REGRESSIONTrần Ngọc AnhKhoa Toán TinĐề tài nghiên cứu khoa học cấp

Ngày đăng: 30/10/2012, 17:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan