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 qủa
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
Genetic 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 qủa thử nghiệm. Phần 5 là các vấn đề cần nghiên cứu thêm.
14 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2425 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Dùng genetic programming giải bài toán symbolic regression, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1DUØNG GENETIC PROGRAMMING GIAÛI BAØI TOAÙN
SYMBOLIC REGRESSION
Traàn Ngoïc Anh
Khoa Toaùn Tin
Ñeà taøi nghieân cöùu khoa hoïc caáp tröôøng 2006
TOÙM TAÉT
Trong ñeà taøi naøy, taùc giaû tìm hieåu vaø aùp duïng Genetics Programming (GP) giaûi baøi
toaùn Symbolic Regression (SR). Caùc thöû nghieäm treân baûy haøm moät bieán thöïc ñaõ chæ ra
raèng coù theå giaûi baøi toaùn naøy baèng GP. Tieáp theo ñoù, taùc giaû aùp duïng chieán löôïc ñoäng vaøo
pheùp lai chuaån nhaèm khaéc phuïc nhöôïc ñieåm tìm kieám cuïc boä cuûa pheùp lai naøy. Keát quûa
chaïy 6 thöû nghieäm khi xaáp xæ hai haøm moät bieán ñöôïc choïn töø baûy haøm treân ñaõ chæ ra: pheùp
lai chuaån coù aùp duïng chieán löôïc ñoäng ñaït ñöôïc ñoä chính xaùc cao hôn vaø oån ñònh hôn trong
khoaûng thôøi gian ít hôn.
1. Môû ñaàu
Genetic Programming (GP) laø moät nhaùnh cuûa Genetics Algorithm ñöôïc nghieân cöùu
ñaàu tieân bôûi John Koza töø naêm 1972, sau ñoù bôûi William Langdon, Ricardo Poli, ...
GP laø moät phöông phaùp toái öu kyù hieäu döïa treân bieåu dieãn caây – caây laø caáu truùc linh
hoaït coù theå bieåu dieãn caùc chöông trình maùy tính, caùc bieåu thöùc, phöông trình toaùn
hoïc, … GP coù nhieàu öùng duïng quan troïng nhö laäp trình töï ñoäng, giaûi baøi toaùn hoài
quy kyù hieäu (Symbolic Regression).
Phaàn 2 giôùi thieäu baøi toaùn SR vaø moâ hình aùp duïng GP giaûi baøi toaùn SR. Phaàn 3 aùp
duïng chieán löôïc ñoäng vaøo pheùp lai chuaån trong GP nhaèm taêng ñoä chính xaùc cuûa lôøi
giaûi. Phaàn 4 laø giao dieän chöông trình thöû nghieäm vaø keát quûa thöû nghieäm. Phaàn 5 laø
caùc vaán ñeà caàn nghieân cöùu theâm.
2. Moâ hình GP giaûi baøi toaùn SR
2.1 Baøi toaùn SR
Cho tröôùc taäp caùc ñieåm
RyRxNiyxD i
M
iii ÎÎ== ,},,...,1),{( ,
taäp caùc haøm cô sôû
2F = ...}tan,cos,sin,,exp,ln,,/,,*,,{ sqrtabspow-+
vaø taäp caùc toaùn haïng T = ,...},,...,,{ 2121 consconsxx . Baøi toaùn ñaët ra laø tìm moät haøm
RRf M ®:* , f* ñöôïc taïo bôûi caùc haøm trong F vaø caùc toaùn haïng trong T sao cho
0
%100*
)(*
)*,( 1 @
-
=
å
=
N
y
yxf
DfE
N
i i
ii
. (1)
2.2 Thuaät giaûi di truyeàn – GA
Hoaït ñoäng cuûa GA ñöôïc cho trong hình 1.
Taïo ngaãu nhieân PopSize (PS) caù theå ban ñaàu (Q), t = 0
while (t < T)
Qbr
Q
Qmr
Qcmr
Qrep = Qcmr U Qmr. U Qbr U Qgr
Q = Opt (Qrep)
Tính ñoä thích nghi cho caùc caù theå trong Q, t = t+1
Ñoät bieán
(V)
Choïn (III)
caùc caù theå
töø Q vaø lai
(IV) chuùng Qcr
Ñoät bieán
(V)
(1)
(2)(4)
(3)
(5)
Sinh ngaãu
nhieân (I)
Qgr
Hình 1: Caùc böôùc thöïc hieän cuûa GA
3Trong ñoù, soá löôïng caùc phaàn töû ñöôïc:
(1) choïn (theo ñoä thích nghi) töø Q ñeå lai laø PSC = (pCPS % 2 = 0 ? pCPS :
pCPS+1),
(2) choïn (ngaãu nhieân) töø Qcr ñeå ñoät bieán laø PSCM = pcm*PS,
(3) choïn (ngaãu nhieân) töø Q ñeå ñoät bieán laø PSM = pmPS,
(4) choïn (xeùn theo ñoä thích nghi) töø Q ñeå taùi taïo laø PSb = pbPS; vaø
(5) coù (1 – (pC + pm + pb))PS ñöôïc sinh ngaãu nhieân.
Caùc pheùp choïn treân döïa vaøo thuû tuïc choïn phaàn töû töø taäp L phaàn töû theo baøn xoay
roulette theâm vaøo taäp T ôû vò trí thöù r.
Goïi seli laø xaùc suaát choïn Li (chuù yù: 1£å
i
isel ). Saép taêng L theo }{ isel vaø ñaët: p0 := 0,
å
=
=
)(
1
:
LCard
i
iselS . Thuû tuïc nhö sau:
RWS (L, p, kind, r)
begin
do
- q = random(0; S) Î (0; S)
- if (pi-1 < q £ pi), vͣi i = 1..Card(L)
T[r] = Li
while (
ï
î
ï
í
ì
=<$Ù=
Ú=Ù=Ù=
Ù
-
)]}:()_[(
)]()02%()_{[(
)
1
jr
rr
TTrjALLDIFFkind
TTrTWODIFFkind
FREEkind
)
return T[r]
end
vôùi kind laø hình thöùc choïn:
ï
î
ï
í
ì
¹¹
¹"¹
=
elseFREE
TTTTTWODIFF
nmTTALLDIFF
kind
nm
:
,...,:_
,:_
3210
Töø ñoù, ñeå:
- choïn ngaãu nhieân:
o böôùc choïn (2): T[r] := RWS(QCR, 1/PS, DIFF_ALL, r), r=1, .., PSCM
o böôùc choïn (3): T[r] := RWS(Q, 1/PS, DIFF_ALL, r), r=1, .., PSM
- choïn theo ñoä thích nghi g:
o böôùc choïn (1): laáy PSb caù theå coù ñoä thích nghi cao nhaát töø Q, T :=
PopTop (Q, g, PSb).
4o böôùc choïn (4): T[r] := RWS(Q, g, DIFF_TWO, r), r=1, …, PSC.
2.3 Aùp duïng GP giaûi baøi toaùn SR
Thuaät giaûi di truyeàn tieán hoùa treân caáu truùc caù theå coù daïng caây ñöôïc goïi laø GP.
Bieåu dieãn haøm baèng caây nhò phaân ta coù theå duøng GP ñeå giaûi baøi toaùn SR. ÔÛ theá heä
ñaàu tieân, moät quaàn theå caùc haøm (hay caây hay caù theå) ñöôïc sinh ngaãu nhieân. Trong
caùc theá heä sau, ôû moãi theá heä, caùc haøm toát coù E beù ñöôïc choïn löïa ñeå bieán hoùa (lai
gheùp, ñoät bieán) nhaèm taïo ra theá heä sau toát hôn. Haøm toát nhaát ôû theá heä cuoái cuøng
ñöôïc choïn laøm lôøi giaûi.
2.3.1 Bieåu dieãn haøm baèng caây nhò phaân
Caùc nuùt trong chöùa caùc toaùn töû, caùc nuùt laù chöùa caùc toaùn haïng. Chaúng haïn, xem
hình 2.
2.3.2 Khôûi taïo quaàn theå
Khôûi taïo quaàn theå ban ñaàu chöùa PopSize caây coù ñoä cao toái ña laø d. Coù 3 phöông
phaùp khôûi taïo: Full, Grow, Ramped.
2.3.2.1 Khôûi taïo Full
Caùc haøm cô sôû ñöôïc choïn laøm caùc nuùt cuûa caây cho ñeán khi ñaït ñeán ñoä saâu d-2, caùc
toaùn haïng ñöôïc choïn laøm caùc nuùt ôû ñoä saâu d-1.
Ñaëc ñieåm cuûa phöông phaùp naøy laø: moïi caù theå ñeàu coù cuøng ñoä cao d, quaàn theå
khoâng ña daïng veà caáu truùc.
2.3.2.2 Khôûi taïo Grow
Ñaàu tieân, choïn haøm cô sôû laøm nuùt goác. Sau ñoù, choïn ngaãu nhieân haøm cô sôû hoaëc
toaùn haïng cho caùc nuùt ôû ñoä saâu 1. Neáu moät nuùt ôû ñoä saâu 1 laø toaùn haïng thì chaám
döùt khôûi taïo treân nhaùnh con töông öùng ñoù, tieáp tuïc khôûi taïo caùc nhaùnh coøn laïi.
Hình 2: Bieåu dieãn moät soá haøm baèng caây nhò phaân
5Ngöôïc laïi, neáu moät nuùt ôû ñoä saâu 1 laø haøm cô sôû thì tieáp tuïc khôûi taïo caùc nuùt ôû ñoä
saâu 2. Tieáp tuïc khôûi taïo cho caùc nhaùnh cho ñeán khi caùc nhaùnh ñeàu ñaõ coù toaùn haïng
hoaëc nuùt cuoái cuûa nhaùnh coù ñoä saâu d-2. Khi nuùt cuoái cuûa nhaùnh coù ñoä saâu d-2, ta
choïn ngaãu nhieân moät hoaëc hai toaùn haïng laøm caùc nuùt coù ñoä saâu d-1 vaø keát thuùc
nhaùnh.
Ñaëc ñieåm cuûa phöông phaùp Grow laø: caùc caù theå coù ñoä cao ngaãu nhieân thuoäc ñoaïn
[2, d], quaàn theå seõ chöùa nhieàu caù theå coù ñoä cao nhoû (2, 3, …) vaø ít caù theå coù ñoä cao
lôùn (d, d-1, …).
2.3.2.3 Khôûi taïo Ramped half-and-half
Ñeå khôûi taïo quaàn theå chöùa PopSize caù theå coù ñoä cao nhoû hôn giôùi haïn ñoä cao d cho
tröôùc, ta traûi qua m giai ñoaïn, giai ñoaïn k khôûi taïo N/m caù theå chöùa: a) N/m/2 caù
theå coù cuøng ñoä cao k baèng phöông phaùp Full, b) N/m/2 caù theå coù ñoä cao trong ñoaïn
[1, k] baèng phöông phaùp Grow.
Phöông phaùp naøy keát hôïp ñaëc ñieåm cuûa hai phöông phaùp Full vaø Grow ñeå taïo ra
quaàn theå ña daïng veà caáu truùc.
2.3.3 Ñoä thích nghi cuûa caù theå
Ñoä thích nghi cuûa caù theå theå hieän khaû naêng tham gia cuûa caù theå (so vôùi quaàn theå)
vaøo quùa trình taùi taïo – caùc quùa trình choïn (1), (4) trong hình 1 – ra theá heä sau. Noù
phuï thuoäc chính vaøo loãi cuûa caù theå treân taäp D: caù theå f coù E(f) lôùn/nhoû seõ coù ñoä
thích nghi cao/thaáp.
Caùc coâng thöùc sau chæ ra caùc caùch tính ñoä thích nghi gi cho caù theå fi (G(fi)):
),(:)( ii fEfStdFit = (2)
),(:
,...,1 jKj
fStdFitMaxMaxStdFit
=
= (3)
)(1
:)(
,
)(1
1:)(
,)(:)( )0(
i
i
i
i
ii
fStdFit
MaxStdFitfAdjFit
or
fStdFit
fAdjFit
orfStdFitMaxStdFitfAdjFit
+
=
+
=
+-= >e
(4)
å
=
=
Nj
j
i
i fAdjFit
fAdjFitfG
,...,1
)(
)(
:)( (5)
2.3.4 Lai gheùp
Lai gheùp giöõa hai caù theå ñöôïc choïn (coù ñoä thích nghi cao) nhaèm taïo ra hai caù theå
môi coù ñoä thích nghi cao. Pheùp lai gheùp chuaån giöõa hai caù theå cha, meï dieãn ra nhö
6Hình 3: Minh hoïa pheùp lai chuaån
Ñoät bieán
Hình 4: Minh hoïa pheùp ñoät bieán
sau: a) choïn ngaãu nhieân moät nuùt (ñieåm lai) treân cha, b) choïn ngaãu nhieân moät ñieåm
lai treân meï, c) traùo ñoåi hai caây con coù goác laø hai ñieåm lai ñaõ choïn ñeå taïo ra hai caây
con.
2.3.5 Ñoät bieán
Ñoät bieán giuùp taïo ra caùc gen môùi (caùc caây con) trong quaàn theå giuùp quaàn theå duy trì
ñöôïc tính ña daïng bò giaûm ñi do pheùp lai trong quaù trình tìm kieám.
Ñoät bieán treân caù theå thay ñoåi moät caây con baèng moät caây con khaùc ñöôïc sinh ngaãu
nhieân.
3. Aùp duïng chieán löôïc ñoäng vaøo pheùp lai chuaån
73.1 Nhöôïc ñieåm cuûa pheùp lai chuaån
Ñoái vôùi pheùp lai chuaån, moïi ñieåm lai treân caây cha (meï) ñeàu coù xaùc suaát choïn baèng
nhau. Khi caùc ñieåm lai ñöôïc choïn laø caùc nuùt laù thì caùc caù theå con taïo ra raát gaàn vôùi
cha, meï (chæ khaùc bieät ôû caùc toaùn haïng)ï. Caùc nuùt laù trong caây chieám “gaàn” moät nöûa
soá löôïng caùc nuùt cuûa caây. Do ñoù, pheùp lai chuaån thöïc hieän tìm kieám cuïc boä: khoâng
khaùm phaù ñöôïc nhieàu vuøng khaùc (chöùa caùc daïng haøm khaùc) cuûa khoâng gian tìm
kieám.
Ñeå khaéc phuïc, Koza ñaõ ñöa ra luaät 90-10: 90% ñieåm lai ñöôïc choïn öùng vôùi caùc nuùt
trong, 10% ñoái vôùi caùc nuùt laù. [Langdon, 1990] vaø [Harries, Smith, 1997] ñaõ nghieân
cöùu caùc phaân phoái choïn ñieåm lai khaùc.
3.2 Caùc pheùp lai khaùc
Trong [2], [3]; R. Poli, W.B. Langdon ñeà nghò caùc pheùp lai moät ñieåm, lai ñoàng nhaát.
3.2.1 Pheùp lai moät ñieåm
Pheùp lai moät ñieåm (xem ví duï trong hình 5) goàm caùc böôùc:
§ Tìm caây lai tieàm taøng cuûa cha vaø meï: (a) nuùt trong töông öùng vôùi hai nuùt ôû
cha vaø meï coù chung soá ñoái (hoaëc truøng nhau trong tröôøng hôïp lai ngaët), (b)
nuùt laù töông öùng vôùi hai nuùt con chung cuoái cuøng cuûa cha vaø meï.
§ Choïn (vôùi xaùc suaát ñeàu) moät nuùt treân caây chung laøm ñieåm lai cho caû cha vaø
meï.
§ Traùo ñoåi hai caây con töông öùng cuûa cha vaø meï.
Trong giai ñoaïn ban ñaàu (neáu quaàn theå ñuû ña daïng veà maët caáu truùc), lai gheùp dieãn
ra ôû phaàn treân (xaùc suaát lai gheùp ôû phaàn döôùi thaáp, thaäm chí coù theå baèng 0), caùc caây
con ñöôïc traùo ñoåi coù kích thöôùc lôùn, söï traùo ñoåi löôïng vaät chaát di truyeàn maïnh, tìm
kieám mang tính toaøn cuïc. Ñeán moät luùc, quaàn theå seõ hoäi tuï veà caùc caù theå coù chung
caáu truùc ôû phaàn treân. Luùc naøy, lai gheùp dieãn ra ôû caùc ñieåm lai beân döôùi nhöng vôùi
toác ñoä chaäm hôn vì lai gheùp cuõng coù theå dieãn ra ôû treân, tuy nhieân, caùc thay ñoåi cuûa
phaàn döôùi seõ taùc ñoäng lôùn ñeán ñoä thích nghi cuûa caùc caù theå (vì phaàn treân ñaõ hoäi tuï
ñeán caáu truùc chung). Löôïng vaät chaát di truyeàn traùo ñoåi baây giôø ít hôn, tìm kieám
mang tính cuïc boä hôn trong khoâng gian caùc caù theå coù chung caáu truùc phaàn treân. Tình
traïng töông töï dieãn ra, tìm kieám seõ chuyeån “daàn” töø khoâng gian lôùn (toaøn cuïc) vaøo
caùc khoâng gian nhoû (cuïc boä) hôn – coá ñònh caáu truùc.
ÔÛ giai ñoaïn cuoái, khi quaàn theå haàu nhö gioáng nhau veà caáu truùc, lai gheùp moät ñieåm
trôû thaønh lai chuaån. Tuy nhieân, khoâng gioáng lai chuaån – tìm kieám mang tính cuïc boä
trong khoâng gian lôùn – lai moät ñieåm tìm kieám cuïc boä trong khoâng gian caùc caáu truùc
coá ñònh – khoâng gian naøy laø keát quûa cuûa quùa trình hoäi tuï daàn veà maët caáu truùc töø
treân xuoáng döôùi trong quùa trình chuyeån töø tìm kieám toaøn cuïc sang tìm kieám cuïc boä.
8Luùc naøy, quaàn theå goàm nhieàu caù theå coù vaät lieäu di truyeàn gioáng nhau, do ñoù tìm
kieám mang tính chaát raát cuïc boä, noù coù khaû naêng tinh chænh vaø chæ ra lôøi giaûi toát
nhaát.
3.2.2 Pheùp lai ñoàng nhaát
Pheùp lai ñoàng nhaát (xem ví duï trong hình 6) goàm caùc böôùc:
§ Tìm caây lai tieàm taøng con chung cuûa cha vaø meï: (a) nuùt trong töông öùng vôùi
hai nuùt ôû cha vaø meï coù chung soá ñoái (hoaëc truøng nhau trong tröôøng hôïp lai
ngaët), (b) nuùt laù töông öùng vôùi hai nuùt con chung cuoái cuøng cuûa cha vaø meï.
§ con_1ß cha; con_2ß meï
§ Duyeät treân caây lai tieàm taøng:
o if (Flip(pS)) then
Hình 5: Pheùp lai moät ñieåm
9Hình 6: Pheùp lai ñoàng nhaát
§ traùo ñoåi hai nuùt töông öùng cuûa con_1 vaø con_2 neáu ñieåm lai laø
nuùt trong (cuûa caây lai tieàm taøng),
§ traùo ñoåi hai caây con töông öùng cuûa con_1 vaø con_2 neáu ñieåm
lai laø nuùt laù (cuûa caây lai tieàm taøng).
Tính toaøn cuïc hoaëc cuïc boä cuûa tìm kieám ñöôïc ñieàu khieån baèng pS:
o neáu pS quùa beù (gaàn 0): tìm kieám mang tính cuïc boä, löôïng vaät chaát di
truyeàn traùo ñoåi ít,
o neáu pS quùa lôùn (gaàn 1): taát caû ñeàu bò traùo ñoåi, nhöng do tính ñoái xöùng,
thöïc chaát chaúng coù traùo ñoåi naøo: tìm kieám mang tính cuïc boä,
o neáu pS = 0.5: löôïng vaät chaát traùo ñoåi nhieàu nhaát: tìm kieám mang tính
toaøn cuïc.
10
Neáu quaàn theå ban ñaàu ñuû ña daïng, trong giai ñoaïn ñaàu cuûa tieán hoùa, lai ñoàng nhaát
chæ traùo ñoåi caùc nuùt vaø caùc caây con (coù kích thöôùc lôùn) gaàn goác. Qua moät thôøi gian
tieán hoùa, khi phaàn treân ñaõ baét ñaàu hoäi tuï, töông töï nhö lai moät ñieåm, lai ñoàng nhaát
seõ baét traùo ñoåi caùc nuùt vaø caây con (nhoû hôn) ôû caùc möùc thaáp hôn. Ñeán cuoái tieán
hoùa, moïi nuùt cuûa caây ñeàu coù theå ñöôïc choïn lai gheùp, nhöng lai gheùp chæ laø traùo ñoåi
caùc nuùt ñôn cuûa caây (caùc caây con töông öùng ôû cha vaø meï ôû caùc nuùt laù cuûa caây lai
tieàm taøng chæ chöùa moät nuùt ñôn – laø nuùt laù ñoù). Tìm kieám luùc naøy mang tính cuïc boä,
nhöng quaàn theå goàm nhieàu caù theå coù vaät lieäu di truyeàn gioáng nhau, do ñoù tìm kieám
mang tính chaát raát cuïc boä, noù coù khaû naêng tinh chænh vaø chæ ra lôøi giaûi toát nhaát.
3.3 Aùp duïng chieán löôïc ñoäng vaøo pheùp lai chuaån
ÔÛ ñaây, ta aùp duïng chieán löôïc ñoäng [4] vaøo pheùp lai chuaån (pheùp lai chuaån ñoäng)
nhö sau: giai ñoaïn ñaàu choïn caùc ñieåm lai ôû gaàn goác vôùi xaùc suaát lôùn (caùc ñieåm lai
xa goác vôùi xaùc suaát beù), giai ñoaïn sau choïn caùc ñieåm lai ôû gaàn caùc nuùt laù vôùi xaùc
suaát lôùn (caùc ñieåm lai ôû gaàn goác vôùi xaùc suaát beù).
Ñeå choïn ñieåm lai treân caù theå c (cha hoaëc meï) ôû theá heä thöù t trong quùa trình tieán hoùa
T theá heä, ta xaùc ñònh tam giaùc )(tcD chöùa caùc nuùt coù ñoä saâu 0, 1, .., lim_depth(t, c)
vôùi
)2)((*)1(),(lim_ --= chigh
T
tctdepth . (6)
Xaùc suaát choïn ñieåm lai trong )(tcD laø
endbegendbeg
T
tendttrongp ³--+= ),(*)1()(_ . (7)
)(_ ttrongp
c m
)(tcD )(tmD
Hình 7: Minh hoïa pheùp lai chuaån ñoäng giöõa cha c vaø meï m
11
4. Chöông trình vaø keát quûa thöû nghieäm
4.1 Chöông trình thöû nghieäm
Chöông trình thöû nghieäm ñöôïc vieát treân .NET 2003 vôùi giao dieän nhö sau:
4.2 Thöû nghieäm
Aùp duïng moâ hình GP treân vôùi pheùp lai chuaån ñeå xaáp xæ 7 haøm moät bieán thöïc
(cho trong baûng 1; caùc haøm 3, 4, 5, 6 ñöôïc choïn töø [1], caùc haøm 1, 2, 7 laø caùc haøm
ña thöùc phoå bieán trong caùc taøi lieäu veà SR; ñoà thò caùc haøm cho trong hình 8). Thöû
nghieäm 1: chaïy 5 laàn vôùi sieâu haït gioáng 8000, kích thöôùc quaàn theå 100, soá theá heä
100. Thöû nghieäm 2: chaïy 10 laàn vôùi sieâu haït gioáng 2000, kích thöôùc quaàn theå 150,
soá theá heä 100. Loãi (%) trung bình, min, max, phöông sai cho trong baûng 2.
Hieäu quûa cuûa pheùp lai chuaån vaø pheùp lai chuaån ñoäng ñöôïc so saùnh treân 6 thöû
nghieäm vôùi: cuøng moâ hình aùp duïng GP (pheùp lai chuaån ñoäng vôùi beg = 0.7, end =
0.0), xaáp xæ caùc haøm 4 vaø 7 (baûng 1), soá theá heä 100, kích thöôùc quaàn theå 50. Loãi
(%) trung bình, phöông sai, thôøi gian cuûa caùc thöû nghieäm cho trong baûng 3 (vôùi caùc
kyù hieäu: pheùp lai chuaån: LC, pheùp lai chuaån ñoäng: LC_D).
12
12 246 ++- xxx12 ++ xx
1)1)cos()()(sinsin()cos( 23 +-- - xxxxex x
1)2sin(3.0 +xx p 1)log( +x
1+x 12 35 ++- xxx
Hình 8: Moät soá daïng haøm thöû nghieäm
13
Baûng 1: Tham soá cuûa caùc haøm thöû nghieäm
STT Haøm Mieàn trò Soá ñieåm
1 12 ++ xx [-1, 1] 50
2 12 246 ++- xxx [-1, 1] 50
3 1)2sin(3.0 +xx p [-1, 1] 100
4 1)1)cos()()(sinsin()cos( 23 +-- - xxxxex x [-1, 1] 100
5 1)log( +x [1, 10] 50
6 1+x [1, 10] 50
7 12 35 ++- xxx [-1, 1] 50
Baûng 2: Keát quûa cuûa 2 thöû nghieäm aùp duïng GP xaáp xæ 7 haøm moät bieán thöïc
Thöû nghieäm 1 Thöû nghieäm 2
STT Trung
bình
Min Max Phöông
sai
Trung
bình
Min Max Phöông
sai
1 3.7 0.8 6.9 1.1 2.8 0.6 8.9 1.5
2 2.2 0.5 3.6 1.0 1.6 0.4 3.6 0.8
3 4.6 3.5 6.3 1.0 4.0 3.0 5.8 0.8
4 8.0 3.1 21.2 2.2 4.1 1.1 9.3 1.2
5 0.4 0.0 0.9 0.6 0.1 0.0 0.4 0.3
6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
7 2.8 2.14 4.7 0.8 3.9 0.3 8.3 1.4
Toång
hôïp
3.1 0 21.2 1.0 2.3 0.0 9.3 0.9
Baûng 3: Keát quûa 6 thöû nghieäm so saùnh pheùp lai chuaån vaø pheùp lai chuaån ñoäng ([0.7,
0.0])
Sieâu haït gioáng 250 1000 4000 5000 7000 8000
Soá laàn 150 100 60 100 70 70
Trung
bình
550 laàn
So
saùnh
(%)
14
LC 10.17 13.77 13.79 12.41 9.51 12.48 11.83 100Trung
bình LC_D 9.62 12.40 13.17 10.54 9.01 11.98 10.9 92
LC 2.19 2.53 2.46 2.45 2.09 2.42 2.34 100Phöông
sai 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 100Thôøi
gian LC_D 7h14 5h34 3h10 5h24 3h25 3h50 5h14 95
Töø baûng 2 vaø baûng 3, ta coù nhaän xeùt:
1) GP coù theå giaûi hieäu quûa baøi toaùn xaáp xæ haøm moät bieán thöïc vôùi loãi beù (2.3%).
2) Pheùp lai chuaån ñoäng toát hôn pheùp lai chuaån: ñoä chính xaùc cao hôn (loãi giaûm 8%)
vaø oån ñònh hôn (phöông sai beù hôn 6%) trong khoaûng thôøi gian ít hôn (5%).
5. Caùc vaán ñeà caàn nghieân cöùu theâm
a) Caùc pheùp lai: moät ñieåm, lai ñoàng nhaát; caùc pheùp ñoät bieán: ñieåm, traùo
ñoåi hai caây con cuûa chính noù; ñoät bieán ñoäng.
b) Toái öu caùc heä soá baèng kyõ thuaät giaûm gradient, hoài quy tuyeán tính.
c) Caùc phöông phaùp haïn cheá söï phaùt trieån ñoä saâu: parsimony pressure (ñoä
cao caù theå laø moät cô sôû ñeå ñaùnh giaù ñoä toát cuûa caù theå), double
tournament (hai löôït choïn, moät löôït döïa vaøo ñoä cao vaø moät löôït döïa
vaøo ñoä toát).
TAØI LIEÄU THAM KHAÛO
[1] 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 of Computer Science, The
University of Birmingham (UK).
[4] T.C. Tin, “ÖÙng duïng chieán löôïc ñoäng trong thuaät giaûi di truyeàn giaûi moät soá baøi
toaùn toái öu toaøn cuïc”, Hoäi thaûo quoác gia CNTT, Ñaø Laït, 2006.
[5] M. Walker, “Introduction to Genetic Programming”, October 7, 2001.
Các file đính kèm theo tài liệu này:
- Dùng genetic programming giải bài toán symbolic regression.pdf