584661 oc

Upload: tan7777

Post on 04-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/21/2019 584661 Oc

    1/5

    THUT GII DI TRUYN GENETIC ALGORITHM - K 1

    1. T NGU NHIN N THUT GII DI TRUYN

    Vi cc s ngu nhin, chng ta c nhng li gii tht c o cho mt s vn -bi ton kh nht nhnhng vn -bi ton hin cha c mt li gii chnh xc, tng qut no. Tuy nhin, nu ch dng li

    , ngu nhin cng ch l may ri v hon ton cha sc gii quyt cc vn -bi ton phc tp hnhoc c khng gian tm kim ln hn.

    Mt v d rt n gin l tm mt m m kha vi mt m l mt con s thp phn c 30 ch s ginh rng kha ny ch c th c m bng mt mt m duy nht. Vi bi ton ny, khng gian tm kiml 10

    30ngha l s c tng cng 10 30mt m khc nhau. Trc vn ny, ta thng ch ngh n hai

    phng php vt cn ton b hoc th ngu nhin cc mt m. Ta s pht sinh (ngu nhin hoc tun ttheo mt quy tc duyt no ) cc m kha ri th xem mt m ny c th l m kha ng khng. Viphng php ny, c c mt mt m vi kh nng m c kha l trn 50%, ta phi pht sinhnhiu hn 1030/2 mt m. Bn c bit con s ny ln khng khip n mc no khng? Trn thc t, nudng siu my tnh Cray v gi nh rng c mi mt phn t giyth my ny c th pht sinh v thnghim c mtmtm (ngha l mt giy Gray th c 1 t mt m) th n phi chy trong mt khongthi gian tng ng vi "tui" ca tri t th trn 1030/2 mt m !!!.

    D nhin, khi ng trc nhng vn -bi ton nh vy, ngi ta thng tm cch ci thin thut tonbng cch cung cp thm mt s thng tin khc. Chng hn nh vi bi ton m kha trn l thng tin chobit trong hai mt m c pht sinh ra, mt m no l "tt" hn (ngha l c kh nng m kha cao hn).

    C th bn c s thc mc "bng cch no bit c gia hai mt m, mt m no c kh nng mkha cao hn?". Thng thng, khi m kha, ngi ta thng da trn cc tc nhn vt l nh tingng bn trong kha khi a vo mt mt m d on c tnh "tt" ca mt m ang th.

    Khi bit c c "tt" ca cc mt m, ta s s dng mt phng php tm kim thng minh hn -m ngi ta thng gi l tm kim theo kiu leo i (hill-climbing). Vi tm kim leo i, ta tng tngrng khng gian tm kim ca vn -bi ton l mt vng t gp ghnh (landscape), c nhiu ngn icao thp khc nhau. Trong , ngn i cao nht ca vng t ny s l li gii tt nhtv v tr c caocng ln th cng "gn" vi li gii tt nht ( cao ng ngha vi tt ca li gii). Tm kim theo kiuleo i c ngha l chng ta phi pht sinh cc li gii sao cho cng v sau cc li gii cng tin "gn" ti

    li gii tt nht hn. Thao tc ny cng ging nh thao tc leo i vy (v cng ngy ta cng ln cao hn).

    Thut gii di truyn hot ng ging leo i

    Tuy nhin, kiu gii quyt ny vn cn gp tr ngi c bn l, nu vng t ca chng ta c nhiu i nhkhc bn cnh ngn i cao nht th s c kh nng thut ton ca chng ta b "kt" mt ngn i nh.Do t tng l "cng ngy cng ln cao" nn khi ln n nh mt ngn i nh thut ton s khng th itip c (v khng th ln cao c na, mun tm n mt ngn i cao hn th phi xung i hin ti,m xung i th khng ng t tng cng ngy cng ln cao).

    Bn hy tng tng mt my tnh gii quyt vn -bi ton theo kiu leo i l mt ngi leo i vi ttng "cng leo cng cao". Nu ch c mt ngi leo i th c kh nng ngi s b "kt" trn mt nhi thp. C l bn on c t tng tip theo! Nh vy, nu c nhiu ngi leo i cng leo nhiu

  • 7/21/2019 584661 Oc

    2/5

    a im khc nhau th kh nng c mt ngi leo n nh ni cao nht s cao hn. Cng nhiu ngi thkh nng n nh ni cao nht s cao hn. Nhng t tng ny cng cha c g mi m, n gin ch ldng nhiu my tnh chia vic ra m thi. Hn na, vi khng gian tm kim c 10 30nh bi ton mkha, chng ta cn phi dng bao nhiu s iu my tnh? M quan trng hn na, cho d c nhiu ngi leoi, nhng nu s lng ngi leo i qu t so vi s lng i th kh nng tt c ngi leo i u b"kt" cng vn cn rt cao.

    n y th rt c th trong u cc bn cht ny ln mt ngh. Ti sao khng cho nhiu "th h" ngileo i? Ngha l, nu ton b ngi leo i u tin (gi s 1000 ngi chng hn) u khng t nnh i cao nht th ta s cho 1000 ngi leo i khc tip tc leo. Tuy nhin, s ny sinh mt vn , c kh nng l trong nhm ngi leo i mi, c nhng ngi li i leo li nhng ngn i m nhm trc leo ri. Bn ngh th no? Vy th hy ghi nhn li nhng ngn i leo nhng nhm sau cn thahng c kt qu ca nhm trc. Hay ni mt cch tng qut hn : hy lm sao nhng ngi giinht(leo cao nht) trong s nhng ngi leo i u tin truyn li "kinh nghim" leo i ca mnh cho1000 ngi th h sau sao cho 1000 ngi "hu du" ny s leo cao hn h. V nu 1000 ngi sau li tht bi, nhng ngi gii nht trong s h s li truyn "kinh nghim" ca mnh cho th h 1000 ngi tipna nhng ngi th h 3 ny leo cao hn na. Tin trnh c th tip tc cho n lc n mt th hno , c mt ngi leo n nh i cao nht hoc ht thi gian cho php. Trong trng hp ht thigian cho php th trong ton b cc th h, ngi no leo cao nht s c chn.

    Th y, bn hiu c t tng chnh ca thut gii di truyn ri . Rt n gin, thay v ch pht sinh

    mt li gii, ban u ta pht sinh mt lc nhiu (thm ch rt nhiu) li gii cng lc. Sau , trong s li giic to ra, chn ra nhng li gii tt nht lm c s pht sinh ra nhm cc li gii sau vi nguyn tc"cng v sau" cng tt hn. Qu trnh tip din cho n lc tm c mt li gii ti u.

    l t tng s khi ban u ca thut gii di truyn. Cng v sau, ngi ta cng hon thin hnphng php lun ca tng ny, dn n s ra i ca mt h thng hon chnh cc phng php,nguyn l dng trong thut gii di truyn. Ngi c cng u trong l nh vc ny l gio s John Holland.ng a ra l thuyt ny tin trong mt cun sch mang tn "Adaptation in Natural and ArtificialSystems", xut bn nm 1975. Phn c thm ca chng s cung cp cho cc bn y thng tin vJohn Holland.

    2. THUT GII DI TRUYN

    T phn ny tr i, chng ta s cng nhau tm hiu thut gii di truyn mt m hnh kh mi m, c nhiu

    ng dng hp dn v vn c tip tc nghin cu trn khp th gii thut gii cho php chng ta to rac nhng chng trnh my tnh c kh nng t lp trnh cho chnh n.

    Thut gii di truyn (GA) l k thut chung gip gii quyt vn -bi ton bng cch m phng s tin haca con ngi hay ca s inh vt ni chung (da trn thuyt tin ha mun loi ca Darwin) trong iu kinqui nh sn ca mi trng. GA l mt thut gii, ngha l mc tiu ca GA khng nhm a ra li giichnh xc ti u m l a ra li gii tng iti u.

    Trong cc ti l iu v GA, ngi ta thng cp n hai thut ng l "thut gii di truyn" v "lp trnh ditruyn". Theo cc ti liu ny, "thut gii di truyn" ch s dng cu trc d liu l chui s nh phn cn"lp trnh di truyn" ngha l s dng cu trc d liu tng qut. S d c cch hiu nh th v nim thutgii di truyn xut hin trc v ban u ngi ta ch p dng n vi cu trc d liu l chui nh phn. Vsau, ngi ta mi a ra cch p dng thut gii ny trn cc cu trc d liu tng qut hn nn gi l lptrnh di truyn. Theo chng ti, trong ti l iu ny, chng ti quan nim rng, "thut gii d i truyn" l mt

    phng php gii quyt vn -bi ton bng cch m phng qu trnh tin ha-thch nghi ca sinh vt.Cn "lp trnh di truyn" l k thut lp trnh s dng "thut gii di truyn" gii quyt vn -bi ton trnmy tnh. Do , khi ni n "thut gii di truyn" chng ta ch lu tm n kha cnh thut gii m khngquan tm n vic ci t n ra sao. Ngc li, khi ni n "lp trnh di truyn" ta quan tm nhiu hn nvic ci t.

    Theo xut ban u ca gio s John Holland, mt vn -bi ton t ra s c m ha thnh ccchui bit vi chiu di c nh. Ni mt cch chnh xc l cc thng s ca bi ton s c chuyn i vbiudin li di dng cc chui nh phn. Cc thng s ny c th l cc bin ca mt hm hoc h sca mt biu thc ton hc. Ngi ta gi cc chui bit ny l m genomeng vi mi c th, cc genome

  • 7/21/2019 584661 Oc

    3/5

    u c cng chiu di. Ni ngn gn, mt li gii s c biu din bng mt chui bit, cng ging nh mic th u c quy nh bng gen ca c th vy. Nh vy, i vi thut gi i di truyn, mt c th chc mt gen duy nht v mt gen cng ch phc v cho mt c th duy nht. Do , gen chnh l c th v cth chnh l gen nn ta s dng ln ln thut ng gen v c th t y v sau.

    Ban u, ta s pht sinh mt s lng ln, gii hn cc c th c gen ngu nhin - ngha l pht sinh mttp hp cc chui bit ngu nhin. Tp cc c th ny c gi l qun th ban u (initial population). Sau

    , da trn mt hm no , ta s xc nh c mt gi tr gi l thch nghi - Fitness. Gi tr ny, n gin cho bn c lc u, c th tm hiu chnh l "tt" ca li gii hay cao trong tm kim theokiu leo i. V pht sinh ngu nhin nn "tt" ca li gii hay tnh thch nghi ca cc c th trong qunth ban u l khng xc nh.

    ci thin tnh thch nghi ca qun th, ngi ta tm cch to ra qun th mi. C hai thao tc thc hi ntrn th h hin ti to ra mt th h khc vi thch nghi tt hn.

    Thao tc u tin l sao chp nguyn mu mt nhm cc c th tt t th h trc ri a sang th h sau(selection). Thao tc ny m bo thch nghi ca th h sau lun c gi mt mc hp l. Cc cth c chn thng thng l cc c th c thch nghi cao nht.

    Thao tc th hai l to cc c th mi bng cch thc hin cc thao tc sinh sntrn mt s c th cchn t th h trc thng thng cng l nhng c th c thch nghi cao. C hai loi thao tc sinh

    sn : mt l lai to tc lai to (crossover), hai l t bin (mutation). Trong thao tc lai to, t gen ca hai cth c chn trong th h trc s c phi hp vi nhau (theo mt s quy tc no ) to thnh haigen mi.

    Thao tc chn lc v lai to gip to ra th h sau. Tuy nhin, nhiu khi do th h khi to ban u c ctnh chaphong ph v cha ph hp nn cc c th khng ri u c ht khng gian ca bi ton(tng t nh trnghp leo i, cc ngi leo i tp trung dn vo mt gc trn vng t). T , khc th tm ra li gii ti u cho bi ton. Thao tc t bin s gip gii quyt c vn ny. l sbin i ngu nhin mt hoc nhiu thnh phn gen ca mt c th th h trc to ra mt c th honton mi th th sau. Nhng thao tc ny ch c php xy ra vi tn sut rt thp (thng di 0.01),v thao tc ny c th gy xo trn v lm mt i nhng c th chn lc v lai to c tnh thch nghi cao,dn n thut ton khng cn hiu qu.

    Th h mi c to ra li c x l nh th h trc (xc nh thch nghi v to th h mi) cho n

    khi c mt c th t c gii php mong mun hoc t n thi gian gii hn.

  • 7/21/2019 584661 Oc

    4/5

    S TNG QUT CA THUT GII DI TRUYN

    THUT GII DI TRUYN GENETIC ALGORITHM - K 2

    3. CC NGUYN L TRONG THUT GII DI TRUYN

    NGUY N L V X C NH C U TR C D LI U

    c th gii bi ton bng thut gii di truyn, cn "gen ha"cu trc d liu ca bi ton

    c th thc hin c cc bc trong thut gii di truyn nh nu trong s trc, thao tc quan

    trng nht khng ch r ing vi vn -bi ton c gii bng thut gii di truyn - l phi bit chn mtcu trc d liu (CTDL) ph hp. gii vn -bi ton bng thut gii di truyn, ta thng chn s dngmt trong 3 loi CTDL sau : chui nh phn, chui s thc v cu trc cy. Trong , cu trc chui nhphn v chui s thc thng c s dng hn.

    Biu din gen bng chui nh phn

    V nguyn tc, mi cu trc d liu trn my tnh, v my tnh, cui cng cng c chuyn v cc chuinh phn (t s nguyn, s thc, m thnh v thm ch c hnh nh cng ch l cc chui nh phn). Tuynhin, qu trnh chuyn i sang chui nh phn c thc hin "ngm" bi trnh bin dch ca my tnh.

  • 7/21/2019 584661 Oc

    5/5

    y, chng ta s dng chui nh phn mt cch tng minh th hin cu trc "gen" ca mt c th v c th thc hin cc thao tc lai ghp, t bin trn cu trc ny.

    Thng thng, c rt nhiu cch chuyn i d liu ca bi ton v chui nh phn. Tuy nhin , bn cnlu chn cch biu din hiu qu nht theo quy tc sau.

    Quy tc biu din gen qua chui nh phn : Chn chui nh phn ngn nht nhng th hin c tt ckiu gen.

    Thc cht, y chnh l mt quy tc c m bn bit tp 1 khi bn v chn kiu bin. Ly v d, chuyn bin X nguyn c gi tr trong khong [32,63] v chui nh phn, c th bn s chn dng mt chuinh phn di 6 bit (v 6 bit biu din mt s trong khong [0,63]). D nhin , chn chiu di 6 bit lng nhng cha ti u. Thc cht, mt con s trong khong [32,63] ch cn 5 bit l . Ti sao vy? V vi5 bit, ta ch c th biu din c mt s Y trong khong [0,31]? Nhng ta nhn xt rng, vi mi s Xtrong khong [32,63] ta u xc nh c mt quy tc tng ng vi mt s Y trong khong [0,31]. Cth l Y = X 32. V thay v biu din trc tip s X, ta biu din thng qua trung gian Y. Khi c Y ta sd dng suy ra X thng qua quy tc trn.

    biu din chui nh phn, ta thng dng cc cch sau : mng byte, mng bit biu din bng mng byte,mng bit biu din bng mng INTEGER.#

    3.1.1 Mng byte:

    i vi mng byte, mi byte chnh l mt bit v ch nhn hai gi tr 0 v 1. Nu byte trong mng c gi trkhc, chng trnh s xem l li trm trng. Cch biu din ny c li im l truy xut nhanh hnphng php, nhng lng b nh s tn gp 8 ln so vi phng php khng nn (v mt byte gm 8 bit,nhng ta ch dng 1 bit nn 7 bit cn li s b ph).

    P TYPE TGen = ARRAY[0..N-1] OF BYTE

    C

    typedef unsigned char CGen[N]

    vi, N l chiu di gen ca c th.

    3.1.2 Mng byte nn:

    i vi kiu biu din ny, mt byte trong mng s biu din cho 8 bit ca chui nh phn. Bit 0 n bit th7 s nm trong byte th 0, bit 8 n 15 s nm trong byte th 1, ... v c th. Mt cch tng qut, bit th ns nm trong byte th (n DIV 8). Trong , (DIV l ton t chia ly phn nguyn).