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

Chien Luoc Tien Hoa

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