2. Algortm genetc ş strateg evolutve 2. Algortm genetc Structura unu algortm genetc standard:. Se nţalzează aleator populaţa de cromozom. 2. Se evaluează fecare cromozom dn populaţe. 3. Se creează o nouă generaţe de cromozom folosnd operator genetc (selecţe, încrucşare, mutaţe). 4. Se şterg o parte dn membr populaţe actuale, pentru a f înlocuţ cu ce dn noua generaţe. 5. Se evaluează no cromozom ş se nserează în noua populaţe. 6. Dacă tmpul de căutare nu s-a termnat, se merge la pasul 3. În caz contrar, se opreşte execuţa algortmulu. Operator genetc: Selecţa stableşte ce ma bun cromozom dn populaţe - selecţa proporţonală sau prncpul rulete 0 2 3 9 4 8 5 7 6 Fg. 2. Prncpul rulete SE 2 -
. Se stableşte funcţa de evaluare Eval( x ) pentru fecare cromozom x dn populaţe 2. Se sumează toate funcţle de evaluare Eval = Eval( x ) 3. Cromozomlor l se atrbue aleator numerele naturale I Repetă până la crearea numărulu sufcent de perech de cromozom: 4. Se generează aleator n ş m, astfel ca nm, Eval 5. Se alege cromozomul x, unde este cel ma mc număr care satsface relaţa: Eval( x j ) n 6. Se alege cromozomul x j, la fel ca la pasul 5, cu m în loc de n 7. Se stableşte perechea de cromozom x ş x j. - selecţa prn trunchere - selecţa de tp turnr j Încrucşarea stableşte modul de schmbare a materalulu genetc între cromozom părnţ - încrucşarea într-un sngur punct x x 2 părnte părnte 0 0 0 0 0 0 0 x copl 0 0 x 2 copl SE 2-2 0 0 0 0 0 Fg. 2.2 Încrucşarea într-un sngur punct - încrucşarea în două puncte - încrucşarea unformă Se face cu o anumtă probabltate χ (între 60% ş 00%)
Mutaţa permte găsrea unor soluţ no - se alege aleator un bt dntr-un cromozom copl ş se modfcă valoarea lu Se face cu o anumtă probabltate µ, foarte mcă, având valor cuprnse în general între 0, ş %, pe bt. Determnă o creştere a dverstăţ populaţe, având un efect contrar operatorulu de selecţe, care reduce dverstatea în populaţa de cromozom. Teorema fundamentală a algortmlor genetc (Teorema Scheme) Schema - secvenţă de caractere de lungme l dn alfabetul { 0,, }. Un exemplu de schemă este s = SE 2-3 0 0. Ordnul scheme s, notat cu o(s), reprezntă numărul de smbolur dferte de "don't care" dn schemă. Avem os ( ) = 4. Lungmea defntore a scheme s, notată cu δ ( s ), reprezntă dstanţa dntre prmul ş ultmul smbol specfc dfert de smbolul "don't care". Pentru cazul nostru δ () s = 5 = 4. Funcţa de performanţă asocată scheme s, notată cu f ( s ), reprezntă evaluarea mede a membrlor populaţe. Probabltatea de supraveţure a scheme în urma încrucşăr, notată cu p(s), în cazul unu sngur punct de încrucşare, ( s) satsface negaltatea: ps ( ) χ δ. l Numărul de aparţ ale scheme s în populaţa de la momentul t, notat cu m(s, t), devne la momentul t+: m ( s, t + ) = m( s, t) n f () s n f () = = m s (, t) f f () s medu
Numărul reprezentanţlor scheme s creşte odată cu trecerea tmpulu, dacă f ( s) > f medu. Dacă ţnem seama ş de efectul combnat al operatorlor genetc de încrucşare ş mutaţe se poate formula Teorema Scheme prn următoarea exprese: f s ms (, t+ ) ms (, t) medu f ( ) ( s) χ δ os ( ) µ l Exemplu de căutare a mnmulu une funcţ multmodale Fg. 2.3 Funcţa lu Rastrgn undmensonală Fg. 2.4 Evoluţa în tmp a populaţe de cromozom SE 2-4
2.2 Strateg evolutve Structura une strateg evolutve de tp SE(+):. Se selectează aleator o populaţe nţală de vectorpărnţ x, =, P, dntr-un domenu perms, în raport cu fecare varablă. Dstrbuţa nţală este unformă. 2. Se creează un vector-urmaş, x ', prn adăugarea la fecare componentă a lu x a une varable aleatoare cu mede zero ş dsperse predefntă. 3. Se face selecţa prn compararea valorlor funcţe ' F( x ) ş F( x ). Ce P vector care au cele ma mc eror devn părnţ pentru noua generaţe. 4. Procesul de generare ş selecţe a generaţlor se opreşte la atngerea une soluţ satsfăcătoare sau la termnarea tmpulu de calcul dsponbl. Y Y Stratega prezentată este de tp SE(+), deoarece un urmaş provne dntr-un sngur părnte ş amb sunt puş în competţa supraveţur. Între părnţ ş urmaş exstă ma degrabă o legătură comportamentală decât una genetcă. Mecansmul descrs modelează modfcarea naturală posblă a ma multor caracterstc fenotpce, lucru realzat prn varaţa tuturor componentelor unu părnte pentru a crea un urmaş. Y Dezavantajele metode constau în rata scăzută de convergenţă ş o probabltate destul de mare de a atnge mnme locale, comparatv cu algortm genetc. SE 2-5
Y Rata de convergenţă estmată este defntă de raportul dntre dstanţa mede parcursă spre soluţa optmală ş numărul de încercăr necesare atnger acestea. Y Pentru o funcţe de eroare pătratcă E( x ) = n x = 2, s-a demonstrat că rata optmă de convergenţă este obţnută pentru σ, 224 r n, unde σ este dspersa perturbaţe normale (gaussene) cu meda zero ş r este dstanţa eucldană obşnută. Modelele fundamentale utlzate în strategle evolutve mult-părnţ/mult-urmaş sunt SE(µ+λ) ş respectv SE(µ,λ). În prmul model, µ părnţ creează λ urmaş ş toate soluţle concurează la supraveţure. Cea ma bună soluţe devne părnte pentru noua generaţe. În al dolea model numa λ urmaş rămân în competţe ar părnţ sunt complet înlocuţ în fecare generaţe. Durata de vaţă a une soluţ devne astfel lmtată la o sngură generaţe. Creşterea populaţe duce la mărrea vteze de optmzare raportată la un număr fx de generaţ. Adaptarea dsperse în tmpul căutăr pe baze neeurstce a condus la deea ca fecare soluţe să conţnă ş un vector de perturbare σ, care să ofere date asupra mutaţlor lu x. De exemplu, dacă σ este vectorul dsperslor fecăre dmensun a lu x, atunc noul vector-soluţe (x ', σ ') se poate obţne dn relaţle: σ x ' = σ e ( 0) α N ( 0) ' α' N, +, ' ( ) = x + N 0, σ, =, n. SE 2-6
N( 0, ) ş N ( 0, ) sunt varable aleatoare cu dstrbuţe normală ar α ş α' sunt mulţmle de parametr care defnesc mărmea pasulu global, respectv ndvdual. În acest mod, strategle evolutve se pot autoadapta la mărmea hpersuprafeţe de eroare, rata de convergenţă crescând în consecnţă. Dacă notăm cu P mulţmea părnţlor ş cu U mulţmea urmaşlor, atunc putem scre cele două mulţm ca fnd formate dn elementele I: {, 2,..., µ } ş U = { Iµ + Iµ + 2 Iµ + λ } P = I I I ( x ),,...,,. I =, σ este un ndvd, unde x este un vector soluţe n - dmensonal ş σ este vectorul varanţe mutaţlor, tot un vector n - dmensonal. Operator evolutv sunt: Operatorul de selecţe, S( Ω) P, care selectează ce ma bun µ ndvz dn mulţmea Ω, pentru a produce părnţ în noua generaţe. Ω = P U pentru stratega SE(µ+λ) ş Ω = U pentru stratega SE(µ, λ). Operatorul de recombnare, ( ' '') R I, I I selectează ndvz I' ş I'' dn mulţmea P, cu aceeaş probabltate de împerechere. Se poate utlza fe recombnarea dscretă în care avem relaţle: x = x ' sau x '', ş σ = σ ' sau σ '',, fe recombnarea ntermedară, unde: x = x + x 2 SE 2-7 ( ' '') ş σ ( σ σ ) 2 ' '', = +
Operatorul de mutaţe M ( I) I determnă modfcăr în structura ndvdulu care urmează a f generat. El are acelaş rol ca ş la algortm genetc, ar ndvdul I' ( x', σ ') se obţne folosnd relaţle date pe fola SE 2-6. Fg. 2.5 Rezolvarea modelulu sfere cu un algortm genetc Fg. 2.6 Comparaţa vtezelor de convergenţă În prvnţa succesulu căutăr, pentru funcţa lu Rastrgn, de exemplu, algortmul genetc a găst mnmul global în toate cele 20 de încercăr făcute, în tmp ce stratega evolutvă SE(8,50) de ma sus, numa în 60% dn cazur. SE 2-8