Upload
cuongvcc
View
42
Download
0
Embed Size (px)
DESCRIPTION
Chien luc tien hoa
Citation preview
CHNG I: TNG QUAN V CHIN LC TIN HO
Chin lc tin ha song song
TRNG I HC S PHM H NI
KHOA CNG NGH THNG TIN
BO CO NGHIN CU KHOA HC
ti: Chin Lc Tin Ha Song Song
Ging vin : Trung Kin
Sinh vin: Cao Th Vit Ha
Lp K54BPh lcCHNG I: TNG QUAN V CHIN LC TIN HO..31. Tng quan gii thut di truyn3 2. Tng quan v chin lc tin ha...42.1 Chin lc tin ha l g42.2 Lch s pht trin ca thut ton chin lc tin ha5 2.3 Tnh cht ca thut ton chin lc tin ha. ...5 2.4 K thut chin lc tin ha.5
2.5 Gii thut chin lc tin ha63. V d minh ha...............6CHNG II: XY DNG KHUNG ES..7
1. Thit k khung ES.7
1.1 Cc lp i hi (Requires)...7 1.2 Cc lp cung cp (Provided)...8 2. Khung thut ton tun t.143. Khung thut ton song song.163.1 M hnh phn cng.....163.2 M hnh phn mm.163.2.1. M hnh my ch-khch (Master-slave)...163.2.2. M hnh o (Island model).173.2.3. M hnh khuch tn (Diffusion model)17CHNG III: S DNG KHUNG CHIN LC TIN HA GII QUYT BI TON SPHERE171. S dng khung ES gii quyt bi ton sphere.171.1 nh ngha bi ton Sphere17 1.2 Khung bi ton Sphere...18 2. Kt qu thc nghim..20LI NI U
Ngy nay song song vi qa trnh pht trin khoa hc cng ngh va k thut th ngnh khoa hc tnh ton ng vai tr quan trng. N t c nhiu thnh tu rc r vi nhng bc tin nhy vt. Vic p dng cc thnh tu ny vo cc lnh vc i sng, x hi ca con ngi ngy cng tng v c nh hng ti hu ht cc cng vic trong i sng hng ngy, cng ngh thng tin l mt trong nhng ngnh khoa hc . Trn th gii cng nh Vit Nam, cng ngh thng tin tr thnh mt ngnh cng nghip mi nhn, n l mt ngnh khoa hc khng th thiu trong vic p dng vo cc hot ng x hi nh: Qun l, Kinh t, Thng tint bit l gii quyt cc vn m trc y tng nh khng th lm c.
Ti u ha l mt trong nhng bi ton kinh in trong nhiu lnh vc ca cuc sng t nhu cu n gin ca tng c nhn n nhu cu phc tp ca cc t chc kinh t, chnh tr v x hi. Tuy nhin cc bi ton t u trn thc t li him khi i hi s ti u tuyt i m ch i hi s ti u tt theo mt tiu chun no . Hn na, vic tm ra s ti a tuyt i nhiu lc khng th thc hin c do bi ton t ra qu phc tp. Chng hn trong sn xut kinh doanh, ngi ta thng tm cch ti thiu chi ph sn xut. V d nhin, h ch cn mt gii php m theo , chi ph gim n mt mc no l ch khng nht thit phi thc s thp nht. y chnh l mt iu kin rt thun li p dng chin lc tin ha.Xut pht t mt s nhc im ca gii thut di truyn: Cc c th trong qun th trong thut ton di truyn ch l cc chui nh phn. Do , rt kh khn khi p dng thut ton di truyn c in cho cc bi ton trong khng gian nhiu chiu v mi NST c di rt ln,V th m cc nh khoa hc tm kim cc pht trin ca gii thut di truyn khc phc cc nhc im ny. Trong kha ti nghin cu khoa hc ny ti i su vo nghin cu Chin lc tin ha.Chin lc tin ha l mt pht trin ca gii thut di truyn, l mt k thut ti u ha da trn nhng tng ca s thch nghi v tin ha.CHNG I: TNG QUAN V CHIN LC TIN HO
1. Tng quan gii thut di truyn.
Thut ton di truyn (Genetic Algorithms) l k thut gip gii quyt bi ton bng cch m phng theo s tin ha ca con ngi hay ca sinh vt ni chung (da trn thuyt tin ha mun loi ca Darwin) trong iu kin lun thay i ca mi trng sng. Thut ton di truyn l mt hng tip cn tnh ton gn ng, ngha l mc tiu ca thut ton di truyn khng nhm a ra li gii chnh xc ti u m l a ra li gii tng i ti u. Thut ton di truyn v bn cht l thut ton tm kim da theo quy lut ca qu trnh tin ha t nhin. Gii thut kt hp s sng st ca cu trc khe nht trong s cc cu trc biu din cc nhim sc th vi mt s trao i thng tin c la chn ngu nhin to thnh mt thut ton tm kim. Thut ton di truyn nm trong lnh vc tnh ton tin ha, s dng cc biu din nh phn v cc s m hinhg ha s chn lc, lai ghp v t bin.
Cc pht trin ca gii thut di truyn:
Cc chin lc tin ha (Evolution strategy) vit tt l ESs.
Lp trnh tin ha (Evolutionary Programming) vit tt l EP. Lp trnh di truyn (Genetic Programming) vit tt l GP. Cc chng trnh tin ha (Evolution Programs) vit tt l Eps.u im ca gii thut di truyn: Thut ton di truyn duy tr mt tp hp cc li gii c th do c nhiu cch chn li gii thch hp. Thut ton di truyn gip tm ra li gii ti u trong iu kin thi gian v khng cho php.
Thut ton di truyn duyt xt ton b cc li gii ca vn , thay v ch n li gii chnh xc v duy nht nh ton hc gii thch dng trc y.Nhc im ca gii thut di truyn: Thut ton di truyn c in i hi biu din li gii di dng xu nh phn. Trong khi , li gii ca cc bi ton trong thc t thng c cu trc t nhin nh mng, bn ghi, cy. Cc kt qu m Thut ton di truyn mang li khng c chnh xc nh cc phng php tm kim khc. Cc c th trong qun th trong thut ton di truyn ch l cc chui nh phn. Do , rt kh khn khi p dng thut ton di truyn c in cho cc bi ton trong khng gian nhiu chiu v mi NST c di rt ln. i vi nhng bi ton c nhiu rng buc phc tp th cc bi ton t di truyn truyn thng t ra km hiu qu. Nu chn m hnh khng ph hp, thut tan di truyn s hi t sm hn v cuc tm kim li gii chm dt sau mt thi gian ngn. Nhng cuc tm kim ngn thng khng to ra kt qu tt, cng ging nh nhng g xy ra trong thc t. khc phc nhng nhc im trn, Ingo Rechenberg(1973) a ra mt k thut ti u ha da trn nhng tng ca s thch nghi v tin ha l Chin lc tin ha. 2. Tng quan v chin lc tin ha
Chin lc tin ha l mt pht trin ca thut ton di truyn c in cn c tn gi l phng php tnh ton tin ha.2.1 Chin lc tin ha l g?
Trong khoa hc my tnh, chin lc tin ha (ES) l mt k thut ti u ha da trn nhng tng ca s thch nghi v tin ha.
Chin lc tin ha l mt lp con ca vic tm kim trc tip rt t nhin (v ti u), l nhng phng thc thuc vo lp ca nhng thut ton tin ha (EAs). N s dng s t bin, s lai ghp, v s la chn thch ng ti mt qun th ca nhng c th cha nhng gii php c xut theo trnh t tin ha lp li tt hn v nhng gii php tt hn.
D liu c trng ca tng c th l nhng tham s s c ti u ha trong mt qu trnh tin ha c bn. Nhng tham s s c sp xp trong nhng vector ca nhng s thc, nhng thao tc cho s lai ghp(tro ha) v t bin c nh ngha.
2.2 Lch s pht trin ca thut ton chin lc tin ha- Chin lc tin ha (ES) c pht trin ti trng i hc K Thut Berlin vo nhng nm 1960 v 1970 bi Ingo Rechenberg (Rechenberg 1973). Hans Peter Schwefel (Schwefel 1981), gii thiu s lai ghp v nhng qun th vi nhiu hn mt c th, v cung cp c s so snh ca ESs vi k thut ti u ha truyn thng hn. 2.3 Tnh cht ca thut ton chin lc tin ha
- Chin lc tin ha khng da vo s m phng chi tit ca nhng phng php c tm thy vi s tin ha t nhin. M c th c kt lun bi vic quan st nhng thut ng: tin ha v chin lc.
- Trong s tin ha khng c chin lc.
- Chin lc tin ha n thun tp chung vo dch nhng c ch c bn ca s tin ha sinh hc cho nhng vn k thut ti u.
2.4 K thut chin lc tin ha
C 5 k thut chnh nh sau:
a ra nhng vector gi tr thc.
Lai ghp: ring bit hay trung bnh.
t bin: t bin Gaussian.
La chn cha m: la chn ngu nhin v duy nht.
La chn c th pht sinh ((,() hoc ((+().2.5 Gii thut chin lc tin ha.
Sau y l gii thut chin lc tin ha:procedure ES;{
t =0;
initialize population P(t);
evaluate P(t);
until (done) {
t =t + 1;
parent_selection P(t);
recombine P(t)
mutate P(t);
evaluate P(t);
survive P(t);
} }
3. V d minh ha:
Chin lc tin ha c p dng gii bi tan SphereTm mt vector gi tr X ti gin biu thc sau y (Sphere Function):
CHNG II: XY DNG KHUNG ES* L do:
Chng ta phi i xy dng khung thut ton v:
- Gim thiu qu trnh code cho nhng ngi i sau.
- Cho nhng ngi cha nm vng v thut ton vn c th th nghim bi.
1. Thit k khung ES
Khung thut ton gm hai phn c bn l Provides v Requires.
Lp Required ch nh thng tin lin quan n vn (bi ton). cho ton b khung hot ng th cc lp ny phi c b xung thng tin v bi ton ph thuc .
Lp Provided thc thi pha bn trong khung bao hm cc th tc chung cho cc bi ton gii bng gii thut di truyn. Thng thng i vi mi gii thut th thng c mt s gii php, tt c cc m hnh tun t c nhm vo lp Solver_Seq. Cc m hnh song song c nhm vo cc lp Solver_Lan v Solver_Wan.
1.1 Cc lp i hi (Requires)
Cc lp i hi c s dng lu tr d liu c bn ca thut ton. Ta c th hnh dung cc lp Requre c xy dng ging nh mt ci sn, ci mu, v i vi tng bi ton c th li phi p thm nhng thng tin ring ca bi ton cho hon chnh.
Nhm cc lp Requires bao gm cc lp sau:
Lp bi ton (Problem)
Din t thng tin bi ton cn gii quyt. Di y l cc th tc chnh trong lp bi ton
Trong :
- Ton t chng cout: a ra cc thng s ca bi ton pbm theo lung os.
- Ton t chng cin: nhn vo cc thng s ca bi ton pbm t lung is.
Lp li gii (Solution)
Lp li gii din t li gii ca bi ton, trong qu trnh tin ho, chng ta lun duy tr mt qun th cc li gii c th ca bi ton v p dng cc thao tc ca qu trnh tin ho li gii trn qun th tm ra li gii ti u cho bi ton. Di y l cc th tc chnh trong lp li gii:
Trong
-operator> nhn vo cc thng s ca mt li gii theo lung is.
-char *to_String(): Chuyn nhim sc th biu din li gii thnh mt xu k t
-initialize(): Hm khi to b gi tr ngu nhin cho cc phn t trong li gii
-fitness (): Hm tnh thch nghi lm c s nh gi li gii.
Lp ton t ngi s dng (Uer_Operator)
Tha k t lp Intra_Operator.
Lp kim tra iu kin dng (StopCondition) xc nh iu kin dng ca bi ton, trong tng bi ton th iu kin dng s khc nhau, thng cn c vo mt hoc mt vi tham s nh s th h, thi gian chy, cc iu kin c th ca bi ton. Lp provided thi hnh bn trong b khung ca bi ton, n to ra nhiu cc phng n cho bi ton.
1.2 Cc lp cung cp (Provided)Bao gm cc th tc chung cho cc bi ton gii bng gii thut ES. Ta c th hnh dung cc lp loi provide ging nh mt th vin, v khi gii cc bi ton ch vic gi n ra.
Trong file .pro gm cc lp chnh l: Intra_Operator, Crossover, Mutation, StopCondition, SetUpParams, Statics, Population, Inter_Operator, Migration, Selection, Selection_Tournament, Selection_Roulette_Wheel, Selection_Rank, Selection_Best, Selection_Worst, Operator_Pool, Solver, Solver_Seq, Solver_Lan.
Lp thit lp tham s u vo (SetUpParams)
Lp ny cha cc th tc thit t cc tham s cho bi ton nh nu trn v cho cc ton t ca gii thut t 1 file u vo:
independent_runs : s ln thc hin qu trnh tin ha trong mt ln thc hin chng trnh
population_size : kch thc qun th
nb_evolution_steps : s bc tin ha
select_parents : phng thc la chn cha
select_offsprings : phng thc la chn con
combine : c kt hp qun th c hay ch la chn t qun th mi.
Hm istream& operator>> (istream& is, SetUpParams& setup) c nhim v thit t cc tham s cho bi ton. C th, n nhn vo cc thng s cu hnh t mt file d liu (file ny s c gi l file cu hnh), da vo cc thng s nhn vo ny m chng trnh s chn phng php la chn dng trong bi ton (trong 5 phng php la chn k trn), tham s la chn du hiu dng ca thut ton, ... lm c s cho cu hnh ca gii thut gii bi ton.
Crossover: Cho haHm khi to gi tr xc sut lai ghp
Crossover::Crossover():Intra_Operator(0)
{
probability = new float[1];
}
y l hm khi to xc sut lai ghp tng cp c th trong qun th. Gi tr ny c lu vo mt bin probability.
Hm thc hin cc php lai ghp
void Crossover::execute(Rarray& sols) const
Mutation: t binHm thc thi s t bin
void Mutation::execute(Rarray& sols) constTrong hm ny, ta s s dng mt bin ngu nhin c to ra trong on [0,1]. Bng vic so snh gi tr ca bin ngu nhin ny vi mt gi tr xc sut t bin no th xem xt s t bin c xy ra hay khng v nu xy ra th kt qu s thay i th no.
void Mutation::execute(Rarray& sols) const
{
if((N == NULL) && (sols.size() > 0))
{
N = new Matrix(sols[0]->pbm().dimension());
for(int i = 0;i < sols[0]->pbm().dimension(); i++)
{
(*N)[i] = (float) rand01()*2.0 - 1.0;
}
}
for (int i=0;i Ta c th thc hin chin lc chn la khc nhau bng vic nhp cc gi tr tng ng vi cc gi tr trong trng hp sau y:
ostream& operator>pbm;
Khai bo: Solver_Seq solver (pbm,cfg, argc,argv);
Gi hm solver.run();
Nu (solver.pid()==0) th hin th trng thi. In ra li gii tt nht ton cc v gi tr hm sc khe.
}
Chng III: S DNG KHUNG CHIN LC TIN HA GII QUYT BI TON SPHERE1. S dng khung ES gii quyt bi ton sphere1.1 Pht biu bi ton Sphere
Tm mt vector gi tr X ti gin biu thc sau y (Sphere Function):
V sao li s dng chin lc tin ha gii quyt bi ton Sphere?V bi ton sphere mun tm mt gi tr xi ti u nht sao biu thc F(x) l ti gin. M chin lc tin ha l mt k thut ti u ha da trn nhng tng ca s thch nghi v tin ha. 1.2 Ci t bi ton Sphere
1.2.1 c file cu hnh
File cu hnh nh sau:
100 // s bc chy c lp
200
// kch thc ca con ci trong mi pht sinh 1
// Nu thay th cha m cho nhng con ci, hay ch nhng con ci mi c th l nhng cha m mi.1
// c hin th trng thi ?Nhng s chn lc //1 2
// s chn lc ca cha m
Intra-Operators // Nhng thao tc apply trong qun th.0 0.2 // Cho ha v xc sut cho ha
1 0.8
// t bin v xc sut t bin
Inter-Operators // Nhng thao tc apply gia qun th ny v qun th khc.
0 15 5 1 3 5// s thao tc, tc thc thi, s c th, la chn c th gi i v remplace.LAN-configuration
10
// refresh trng thi ton cc
0
11.2.2. c bi ton
u vo ca bi ton l mt vector gi tr X c th hin trong mt file l SPH10.dat vi nh dng:
S lng bin
Phm vi ca bin
V d c th:
10
-5.12 5.12S lng bin l 10Phm vi ca bin [-5.12, 5.12] 1.2 Khung bi ton Sphere
Khung bi tan sphere c bn gm hai lp: Problem v Solution
Xt trong phn Requies c p thm so vi khung ES.
Lp i hi(Requies) c s dng lu tr d liu c bn ca thut ton : bi ton, trng thi khng gian tm kim v vo/ra. C th bao gm cc lp:Lp Solution:
S thc thi ca phng thc initialize (class Solution).
void Solution::initialize()
{
float min = _pbm.minvalue(0); float rang = _pbm.maxvalue(0) - min;
for (int i=0;i