chien luoc tien hoa

27
Chiến lược tiến hóa song song TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO NGHIÊN CỨU KHOA HỌC Đề tài: Chiến Lược Tiến Hóa Song Song Giảng viên : Đỗ Trung Kiên Sinh viên: Cao Thị Việt Hòa Lớp K54B Cao Thị Việt Hòa- Lớp K54B- Khoa CNTT- Trường ĐHSPHN 1

Upload: cuongvcc

Post on 09-Nov-2015

47 views

Category:

Documents


0 download

DESCRIPTION

Chien luc tien hoa

TRANSCRIPT

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