Sunteți pe pagina 1din 91

1

INTRODUCERE N CALCULUL
EVOLUTIV
1.1 Specificul calculului evolutiv
La mijlocul anilor '70, odat cu creterea performanelor
calculatoarelor i, implicit, a complexitii problemelor reale ce se
puteau rezolva cu ajutorul calculatorului, au devenit frecvente
situaiile n care modelele clasice de optimizare nu mai conduceau la
soluii acceptabile pentru probleme modelabile pe calculator. ot mai
frecvent, probleme din biolo!ie, climatolo!ie, c"imie, mecanic,
analiza datelor, etc., probleme ale cror modele includ sute sau mii de
variabile, ale cror funcii de optimizat prezint multiple optime locale
i nere!ulariti nestudiate din punct de vedere numeric, rm#neau
nerezolvate sau cu soluii aproximate !rosier.
$n anul %&70 profesorii 'ans()aul *c"+efel ,-ortmund. i
/n!o 0ec"enber! ,1erlin. av#nd de rezolvat o problem de mecanica
fluidelor, referitoare la optimizarea formei unui corp ce se deplaseaz
ntr(un fluid, au cutat o nou te"nic de optimizare deoarece
metodele cunoscute p#n n acel moment nu conduceau la o soluie
acceptabil. /deea lor a ntruc"ipat conjectura lui 0ec"enber!, rmas
p#n azi justificarea fundamental a aplicrii te"nicilor evolutive2
''Evoluia natural este, sau cuprinde, un proces de optimizare foarte
eficient, care, prin simulare, poate duce la rezolvarea de probleme
dificil de optimizat''.
1.2 Noiuni e !a"#
)rincipalele noiuni care permit analo!ia ntre rezolvarea
problemelor de cutare i evoluia natural sunt urmtoarele2
Cromozomul este o mulime ordonat de elemente, numite gene ale
cror valori determin caracteristicile unui individ. $n !enetic,
poziiile pe care se afl !enele n cadrul cromozomului se numesc loci,
iar valorile pe care le pot lua se numesc alele. $n calculul evolutiv
cromozomii sunt vectori ce conin codificarea unei soluii poteniale i
sunt numii indivizi. 3stfel, !enele nu sunt altceva dec#t elementele
acestor vectori.
Populaia. 4 populaie este constituit din indivizi care triesc intr(un
mediu la care trebuie s se adapteze. $n calculul evolutiv, un individ
este de cele mai multe ori identificat cu un cromozom i reprezint un
element din spaiul de cutare asociat problemei de rezolvat.
%5
Genotipul este ansamblul tuturor !enelor unui individ sau c"iar a
ntre!ii populaii. $n calculul evolutiv !enotipul reprezint codificrile
corespunztoare tuturor elementelor populaiei.
Fenotipul este ansamblul trsturilor determinate de ctre un anumit
!enotip. $n calculul evolutiv fenotipul reprezint valorile obinute prin
decodificare, adic valori din spaiul de cutare.
Generaia este o etap n evoluia unei populaii. -ac vedem evoluia
ca un proces iterativ n care o populaie se transform n alt
populaie atunci !eneraia este o iteraie n cadrul acestui proces.
Selecia. )rocesul de selecie natural are ca efect supravieuirea
indivizilor cu !rad ridicat de adecvare la mediu ,fitness mare.. 3celai
scop l are i mecanismul de selecie de la al!oritmii !enetici i anume
de a favoriza supravieuirea elementelor cu !rad mare de adecvare.
3ceasta asi!ur apropierea de soluia problemei ntruc#t se
exploateaz informaiile furnizate de ctre cele mai bune elemente ale
populaiei. 6nul dintre principiile teoriei evoluioniste este acela c
selecia este un proces aleator i nu unul determinist. 3cest lucru este
nt#lnit n majoritatea mecanismelor de selecie utilizate de ctre
al!oritmii evolutivi.
Reproducera este procesul prin care, pornind de la populaia curent
se construiete o nou populaie. /ndivizii noii populaii ,!eneraii.
motenesc caracteristici de la prinii lor, dar pot dob#ndi i
caracteristici noi ca urmare a unor procese de mutaie care au un
caracter nt#mpltor. $n cazul n care n procesul de reproducere
%7
intervin cel puin doi prini, caracteristicile motenite de descendeni
se obin prin combinarea ,ncruciarea. caracteristicilor prinilor.
8ecanismele de ncruciare i mutaie asi!ur explorarea spaiului
soluiilor prin descoperirea de noi confi!uraii.
Fitnessul sau adecvarea. $n evoluia natural fiecare individ al
populaiei este adaptat mai mult sau mai puin mediului iar unul dintre
principiile teoriei evoluioniste este acela c supravieuiesc doar cei
mai buni indivizi. 9itnessul ,adecvarea. este o msur a !radului de
adaptare a individului la mediu. *copul evoluiei este ca toi indivizii
s ajun! la o adecvare c#t mai bun la mediu, ceea ce su!ereaz
le!tura ntre un proces de evoluie i unul de optimizare. $n calculul
evolutiv, !radul de adecvare al unui element al populaiei este o
msur a calitii acestuia n raport cu problema care trebuie rezolvat.
-ac este vorba de o problem de maximizare atunci !radul de
adecvare va fi direct proporional cu valoarea funciei obiectiv ,un
element este cu at#t mai bun cu c#t valoarea acestei funcii este mai
mare..
La aplicarea unui al!oritm evolutiv n rezolvarea unei
probleme concrete trebuie alese n mod adecvat2 modul de codificare a
elementelor, funcia de adecvare si operatorii de selecie, ncruciare i
mutaie. 6nele dintre aceste elemente sunt str#ns le!ate de problema
de rezolvat, iar altele mai puin.
*tructura unui al!oritm evolutiv este urmatoarea
$%oceu%e AE
%:
!e&in
0 2 t
iniializare
. ,t P
evaluare
. ,t P
'(ile ,not condiie terminare. o
!e&in
% 2 + t t
selectare
. ,t P
din
. % , t P
modificare
. ,t P
evaluare
. ,t P
en
en.
2.1. Coifica%ea )paiului e c#uta%e
;odificarea spaiului de cutare este una dintre cele mai
importante etape ale proiectrii unui al!oritm evolutiv ntruc#t
determin modul n care se va desfura procesul de evoluie. *e
refer la urmtoarele aspecte2 structuri de date folosite, regula de
codificare i regula de decodificare.
2.1.1. St%uctu%i e ate
$n al!oritmii !enetici cromozomii sunt reprezentai prin
structuri liniare cu numr fix de elemente ,tablouri. sau cu numr
%7
variabil de elemente ,liste nlnuite.. )rima variant este cea mai
frecvent folosit. *tructuri de alt tip ,de exemplu, structuri
arborescente . se folosesc n alte metode evolutive , de exemplu n
pro!ramarea !enetic ..
2.1.2. Re&uli e coifica%e
8odul n care o confi!uraie este codificat ntr(un cromozom
depinde de problema concret, exist#nd mai multe variante de
codificare
2.1.2.*. Coifica%ea %eal#
<ste adecvat pentru problemele de optimizare pe domenii
continue. )resupunem c se dorete maximizarea unei funcii de k
variabile
R R f
k
2
= fiecare variabil
i
x
ia valori ntr(un domeniu
[ ] R b a
i i i
,
i
( ) 0
%
>
k
x , , x f
pentru orice
i i
x
. ;er#nd o
precizie de 5 zecimale pentru valorile variabilelor, fiecare interval
i

va trebui divizat n ( )
i i
a b
5
%0 subintervale e!ale. 9ie
i
l
cel
mai mic ntre! astfel nc#t
( ) % > %0
5

i
l
i i
a b .
3tunci o reprezentare a variabilei
i
x
ca un ir binar de
lun!ime
i
l
va satisface precizia dorit.
%?
3cum fiecare cromozom este reprezentat printr(un ir binar de
lun!ime

k
i
i
l l
%
= primii
%
l
bii reprezint o valoare din
[ ]
% %
, b a ,
urmtorii
>
l
bii reprezint o valoare din
[ ]
> >
, b a i aa mai departe.
-ecodificarea se face cu formula

( )
% >
>

+
i
l
i i
i i
a b
string zecimal a x
unde ( )
>
string zecimal reprezint valoarea zecimal a irului binar
string
.
2.1.2.+. Coifica%ea )pecific#
*e ale!e o variant c#t mai apropiat de specificul problemei.
8ajoritatea codificrilor de acest tip vor fi explicate pentru problema
comis voiajorului @:0A2 se consider o mulime de
n
orae i se pune
problema !sirii unui traseu care s treac o sin!ur dat prin fiecare
ora i care s aib costul minim ,dac costul este proporional cu
lun!imea traseului atunci se caut trasee de lun!ime minim..
0ezolvarea problemei const n !sirea celei mai bune permutri a
oraelor
( )
n
v , , v
%
, unde
{ } n v
i
, , %
. )entru a fi respectat
restricia ca fiecare ora s fie vizitat o sin!ur dat este necesar ca
elementele vectorului
( )
n
v v ! , ,
%

s fie distincte.
2.1.2.+.2. Coifica%ea o%inal#
%&
$n acest caz un traseu se reprezint ca o list de
n

orae,
elementul aflat pe poziia
i
n list fiind un numr din intervalul
[ ] % , % + i n
. *e folosete o list ordonat " a oraelor, care servete
ca referin pentru reprezentarea ordinal. ;onsider#nd lista
( ) & , ? , 7 , : , 7 , 5 , B , > , % "
,
traseul
7 : & 7 ? B 5 > %
va fi codificat ca o list
( ) % , % , B , % , 5 , % , > , % , % l
interpretat astfel2
C primul numr din lista l este %, aa c primul ora din lista "
este luat ca prim ora al traseului i este ters din lista " = traseul
parial este
( ) %
C urmtorul ora din lista l este %, aa c se ia primul ora din lista
curent " ca oraul urmtor al traseului i se ster!e din lista " =
rezult traseul parial
( ) > %
C urmtorul numr din lista l este >, deci se ale!e al doilea ora din
lista curent " ca urmtorul ora al traseului i se ter!e din list= n
acest moment traseul parial este
( ) 5 > %
.
$n final rezult traseul
7 : & 7 ? B 5 > %
.
>0
2.1.2.+.*. Coifica%ea p%in %u,u%i
3ceasta este cea mai natural codificare a unui traseu. -e
exemplu, traseul
B > : 5 & ? 7 % 7
este codificat simplu ca
( ) B > : 5 & ? 7 % 7 , , , , , , , ,
.
2.2. Con)t%ui%ea funciei e aecva%e
$n procesul de evoluie natural se urmrete maximizarea
!radului de adecvare a indivizilor la mediu. )entru a ne folosi de
analo!ia dintre procesele de cutare i cele de evoluie este util s
reformulm problemele de optimizare ca probleme de maximizare
,orice problem de minimizare poate fi transformat ntr(una de
maximizare prin sc"imbarea semnului funciei obiectiv.. )entru o
problem de minimizare de forma2 s se determine x
D
cu
proprietatea c
( ) ( ) x f x f
D
pentru orice x , funcia de
adecvare poate fi c"iar funcia obiectiv
. , . , x f x #
. Lucrurile
devin mai complicate n cazul problemelor cu restricii.
* considerm o problem de minimizare cu restricii2
>%
s se determine x
D
cu proprietatea c minimizeaz funcia
obiectiv
R f 2
i satisface restriciile$
%
% 0 k % , & x ' g
(
%

' restricii de tip egalitate &
>
% 0 k % , & x ' )
(
%

' restricii de tip inegalitate &
4 variant de a trata restriciile este de a folosi te"nica
penalizrii, care permite includerea acestora n cadrul funciei de
adecvare2

a & x ' f & x ' # + ( ) ( )

%
%
>
k
%
%
x g
b +
( ) ( )

>
%
k
%
%
x )
unde

( )

'

<

* u
* u u
u
0
>

iar
a
i b sunt parametri pozitivi care reflect importana relativ a
nclcrii restriciilor ,cu c#t
a
i b sunt mai mari cu at#t restricia
este mai important i nclcarea ei este penalizat mai mult.. -ac se
fac diferenieri ntre restricii atunci se pot utiliza mai multe valori ,
%
%
, ,
k
a a
i
>
%
, ,
k
b b
n loc de
a
si respectiv b ..
*
>>
-ETODE DE SELEC.IE
*.1. Int%ouce%e
*elecia are ca scop determinarea populaiei intermediare ce
conine prinii care vor fi supui operatorilor !enetici de ncruciare
i mutaie precum i determinarea elementelor ce vor face parte din
!eneraia urmtoare. ;riteriul de selecie se bazeaz pe !radul de
adecvare al indivizilor la mediu, exprimat prin valoarea funciei de
adecvare. Eu este obli!atoriu ca at#t prinii c#t i supravieuitorii s
fie determinai prin selecie, fiind posibil ca selectia s fie folosit ntr(
o sin!ur etap.
*.*. -etoa %uletei
)rincipiul ruletei reprezint cea mai simpl metod de selecie,
fiind un al!oritm stoc"astic ce folosete urmtoarea te"nic2
C indivizii sunt vzui ca se!mente continuie pe o dreapt, astfel nc#t
fiecare se!ment asociat unui individ este e!al cu fitnessul su=
C se !enereaz un numr aleator i individul al crui se!ment conine
numrul respectiv va fi selectat
>B
C se repet pasul anterior p#n c#nd este selectat numrul dorit de
indivizi.
3ceast te"nic este similar cu cea a ruletei, n care fiecare
se!ment este proporional cu fitnessul unui individ.
E/e,plul *.1. abelul urmtor arat probabilitatea de selecie
pentru %% indivizi, folosind aranjarea liniar i presiunea selectiv >.
/ndividul % este cel mai bun i ocup intervalul cel mai mare, n timp
ce individul %0 este penultimul n ir i ocup intervalul cel mai mic=
individul %%, ultimul din ir, av#nd fitnessul 0 nu poate fi ales pentru
reproducere.
)robabilitatea n acest tabel se calculeaz ca fiind raportul dintre
fitnessul unui individ i suma fitness(urilor tuturor indivizilor.
Eumar
/ndivid
% > B 5 7 : 7 ? & %0
9itness
>.0 %.? %.: %.5 %.> % 0.? 0.: 0.5 0.>
)roba(
bilitate
selectie
0.%? 0.%: 0.%7 0.%B 0.%% 0.0& 0.07 0.0: 0.0B 0.0>
>5
individ
n% +
n% 2 n% 0 n% 1 n% 1 n% *
-orind s selectm : indivizi, se !enereaz : numere aleatoare
uniform distribuite n intervalul
( ) % , 0
. 9ie acestea ?% . 0 , B> . 0 ,
&: . 0 , 0% . 0 , :7 . 0 , 5> . 0 . 3ez#nd cei %0 indivizi pe o dreapt, 2n
ordinea
%, >, ... ,%0, individul % va ocupa se!mentul cuprins 2ntre 0.0 i 0.%?,
individul > se!mentul dintre 0.%? i 0.B5, individul B se!mentul dintre
0.B5 i 0.5&, etc. -eoarece individul : corespunde se!mentului
delimitat de 0.7B i 0.?> iar primul numr !enerat 3F 0.?%4 cade 2n
acest se!ment, individul : va fi selectat pentru reproducere. $n mod
similar se selecteaza indivizii %, >, B, 7, &= deci, populaia selectat
este format din indivizii %, >, B, 7, :, &.
*.+. -etoa fite))ului p%opo%ionat
<ste metoda cea mai des utilizat i funcioneaz astfel2
C se calculeaz fitnessul
i
f
al fiecrui individ
i
i fitnessul mediu al
populaiei
n
f
f
i

C individul
i
este selectat pentru reproducere cu probabilitatea
f n
f
f
f
p
i
i
i
i

.
C dac trebuie selectai + indivizi, numrul
i
+
al indivizilor ce vor
fi selectai cu probabilitatea
i
p
va fi apoximativ e!al cu
i
p +
.
>7
8etoda fitnessului proporionat poate fi implementat cu ajutorul
al!oritmului ruletei.
E/e,plul *.2. 9ie 5 n indivizi av#nd
%0
> %
f f
,
%7
B
f
i
>7
5
f
. $n practic, metoda ruletei poate fi implementat
folosind un vector
v
cu
m
componente i un index aleator r ,
urm#nd ca individul
. ,r v
s fie selectat la fiecare GmturareH. Lu#nd
%> m n exemplul nostru rezult
. 5 5 5 5 5 B B B > > % % , v
.
)entru : r va fi selectat individul
B . : , v
.
*.1. Selecia )toc(a)tic# unive%)al#
3cest tip de selecie furnizeaz abaterea zero i ntinderea
minim. /ndivizii sunt vzui ca se!mente aezate pe dreapt ca la
metoda ruletei. )ointeri, e!al deprtai, sunt plasai pe aceast dreapt,
indic#nd indivizii ce vor fi selectai. -ac + este numrul indivizilor
ce vor fi selectai, atunci distana dintre pointeri este
+
%
iar poziia
primului pointer este un numr !enerat aleator n intervalul
[ ] + ,% 0
.
-e exemplu @&?A, pentru a selecta : indivizi, distana dintre pointeri
este %I:F0.%:7. ;onsider#nd c numrul !enerat aleator n intervalul
@0, 0.%:7A este 0.% i plas#nd pointerii pe exemplul de la metoda
ruletei se obin urmtorii indivizi selectai2
? , : , 5 , B , > , %
.
>:
inivi
nu,#% aleato%
pointe% 1 pointe% 2 pointe% * pointe% + pointe% 1 pointe% 0
+
O$ERATORI 5ENETICI
+.1. nc%uci6a%ea
$ncruciarea ,sau recombinarea. permite combinarea
informaiilor provenite de la doi sau mai muli prini pentru !enerarea
unuia sau mai multor urmai. $ncruciarea depinde de modul de
codificare a datelor, aplic#ndu(se direct asupra cromozomilor.
+.1.1. nc%uci6a%ea !ina%#
3cest operator creaz descendeni prin combinarea unor pri
alternative ale prinilor.
+.1.1.2. nc%uci6a%ea ,ultipl#
>7
$n acest caz, se folosesc % > m puncte de ncruciare
{ } % , , > , % + k
i

alese aleator, diferite ntre ele i sortate
cresctor. Jalorile aflate ntre puncte de ncruciare consecutive sunt
sc"imbate ntre cei doi prini pentru a obine doi descendeni.
9i!ura 5.>
-e exemplu, indivizii
p,$ 7 1 1 1 7 7 1 1 7 1 7
p-$ % 0 % 0 % % 0 0 % 0 %
cu B puncte de ncruciare date de poziiile 2 >, :, %0
!enereaz descendenii
d,$ 7 1K % 0 % %K 7 1 1 1K %
d-$ % 08 1 1 7 7K 0 0 % 0K 7
/deea ncrucirii multiple este aceea c pri ale cromozomilor
care contribuie la mbuntirea performanei unui individ nu este
necesar s fie coninute n subiruri adiacente. 8ai mult, ncruciarea
multipl pare s ncurajeze explorarea n spaiul de cutare mai
de!rab dec#t s favorizeze conver!ena rapid ctre indivizii de elit.
>?
p#%ini
e)ceneni
+.1.2. nc%uci6a%ea
%eal#
+.1.2.2. nc%uci6a%ea
inte%,eia%#
<ste o metod aplicabil numai variabilelor reale= n acest caz
valorile variabilelor descendenilor sunt alese n jurul i ntre valorile
corespunzatoare ale prinilor.
-escendenii sunt !enerai dup re!ula2
descendent . printe , /

,printe - 0 printe ,.
unde

este un factor de scalare ales uniform i aleator n intervalul


[ ] d d + % ,
. $n ncruciarea intermediar simpl 0 d iar n
ncruciarea intermediar extins 0 > d 1 o ale!ere bun este
>7 . 0 d
9iecare variabil din descendent este rezultatul combinrii
variabilelor corespunztoare ale prinilor conform formulei
anterioare, cu o nou valoare

pentru fiecare variabil.


$n fi!ura urmtoare se prezint zonele n care iau valori prinii i
descendenii lor 2
>&
p#%inte 1
p#%inte 2
a%ia p#%inilo%
"ona po)i!il# a e)ceneilo%
9i!ura 5.5
;onsiderm urmtorii prini, cu trei variabile fiecare2
p,2 %> >7 7
p-2 %>B 5 B5
;onsiderm urmtoarele valori ale lui

corespunztoare celor doi


descendeni2
exemplul ,2 0.7 %.% ( 0.%
exemplul -2 0.% 0.? 0.7
0ezult urmtorii descendeni
d,2 :7.7 %.& >.%
d-2 >B.% ?.> %&.7
nc%uci6a%ea )pecifica
+.1.1. nc%uci6a%ea p%in %u,u%i
rei tipuri de ncruciare sunt utilizate n cazul reprezentrii prin
drumuri2 parial aplicat ,)8L., de ordine ,4L. i ciclic ,;L..
B0
+.1.1.1. nc%uci6a%ea $-9
3 fost propus de Moldber! i Lin!le @B7A i construiete un
descendent ale!#nd un subtraseu din unul dintre prini i pstr#nd
ordinea i poziia a c#t mai multe orae din cellalt printe. *ubtraseul
este selectat prin ale!erea a dou puncte aleatoare de taietur care
definesc frontierele operaiei de intersc"imbare. -e exemplu, prinii
p,$
& ? K 7 : 7 5 K B > %
i
p-$
B & K : 7 ? % K > 7 5
vor produce descendeni n felul urmtor. 8ai nt#i, poriunea
cuprins ntre cele dou puncte de tietur este sc"imbat ntre cei doi
prini, obin#ndu(se descendenii2
d,$ K : 7 ? % K
i
d-$ K 7 : 7 5 K
$n acelai timp, se obine aplicaia
5 % , 7 ? , : 7 i 7 : .
3poi, se copiaz n locurile libere din cei doi descendeni elementele
corespunztoare din prini, dac acestea nu !enereaz conflicte=
rezult
B%
d,$
& K : 7 ? % K B >
i
d-$
B & K 7 : 7 5 K >
)rimul

din descendentul d, ,care ar trebui s fie %, dar aceast


valoare este interzis deoarece ea exist deja n descendent. este
nlocuit cu 5, datorit aplicaiei 5 % . $n mod similar, al doilea


din descendentul d, este nlocuit cu 7 iar caracterele

din cellalt
descendent sunt nlocuite cu % i ?. $n final rezult descendenii
d,$
& 7 K : 7 ? % K B > 5
i
d-$
B & K 7 : 7 5 K > ? %
+.1.1.2. nc%uci6a%ea O9
3 fost propus de -avis @%>A i construiete un descendent
ale!#nd un subtraseu n unul dintre prini i pstr#nd ordinea relativ
a oraelor din cellalt printe. -e exemplu, prinii
p,$
& ? K 7 : 7 5 K B > %
i
p-$
B & K : 7 ? % K > 7 5
vor produce descendeni n felul urmtor. 8ai nt#i, poriunile dintre
punctele de tietur sunt copiate n cei doi descendeni
d,$ K 7 : 7 5 K
B>
d-$ K : 7 ? % K
3poi, pornind de la al doilea punct de tietur al unuia dintre prini se
copiaz oraele din cellalt printe, pstr#nd ordinea i omi#nd
oraele care sunt deja prezente= c#nd se ajun!e la sf#ritul traseului se
continu cu primul ora. Nirul oraelor din al doilea printe, ncep#nd
cu al doilea punct de tietur, este
: 7 ? % > 7 5 B &
=
<limin#nd oraele 5, 7, : i 7, care sunt deja prezente n primul
descendent, se obine
? % > B &
3seast secven este plasat n primul descendent, ncep#nd cu al
doilea punct de tietur, i rezult
d,$
B & K 7 : 7 5 K ? % >
.
*imilar se obine cellalt descendent2
d-$
> & K : 7 ? % K 7 5 B
.
)entru ncruciarea 4L este important ordinea oraelor i nu poziia
lor n reprezentare.
+.2. -utaia
BB
8utaia este cel mai simplu operator !enetic i const n
sc"imbarea aleatoare a unor valori ale cromozomului pentru a
introduce noi soluii. *copul su este de a mpiedica pierderea
ireparabil a diversitii, evit#nd, astfel, conver!ena prematur.
-iversitatea permite explorarea unor zone lar!i din spaiul de cutare.
8utaia folosete ca parametru probabilitatea de mutaie
m
p
, care ia
valori mici= de obicei n intervalul
[ ] 0% . 0 , 00% . 0
.
+.2.1. -utaia !ina%#
-ac
n
este dimensiunea populaiei iar l este lun!imea unui
cromozom atunci numrul mediu de bii ce vor suferi mutaie este
m
p l n +
. 8utaia binar poate fi implementat sub mai multe
forme.
+.2.1.1. -utaia ta%e
)entru fiecare poziie a fiecrui cromozom se execut paii2
P1: se !enereaz un numr aleator
[ ] % , 0 2
P2: dac
m
p 2 <
atunci se sc"imb poziia respectiv, n caz contrar
nu se efectueaz nimic.
+.2.1.2. -utaia )la!#
)entru fiecare poziie a fiecrui cromozom se execut paii2
B5
P1: se !enereaz un numr aleator
[ ] % , 0 2
P2: dac
m
p 2 <
atunci se ale!e aleator una din valorile 0 sau % i
se
atribuie poziiei curente, n caz contrar nu se efectueaz nimic.
+.2.2. -utaia %eal#
;onsiderm cromozomi cu
n
!ene exprimate prin numere reale,
pentru fiecare !en cunosc#ndu(se domeniul valorilor posibile.
+.2.2.1. -utaia unifo%,#
3cest tip de mutaie nlocuiete o sin!ur !en a unui
cromozom selectat cu un numr real !enerat aleator n domeniul
parametrului reprezentat de acea !en. *e consider c toate !enele au
aceeai probabilitate de mutaie. -ac
. , , ,
% n
x x x
este un
cromozom printe, se ale!e aleator !ena
i
ce va fi supus mutaiei i
se obine descendentul
. , , ' , , , '
% n i
x x x x
, unde valoarea
i
x'

este aleas aleator din domeniul parametrului de pe poziia
i
.
+.2.2.2. -utaia neunifo%,#
)rin aceast operaie, !enele sufer modificri importante n
primele !eneraii i descresc treptat, p#n la atenuare, n !eneraiile
urmtoare. 3stfel se permite o explorare uniform a spaiului de
B7
cutare n primele !eneraii i o cutare local, datorat variaiilor
mici, n ultimele !eneraii.
;reterea sau descreterea valorii unei !ene este dat de un
parametru aleator
% 2 p p
indic o cretere a valorii iar
% p

indic o descretere. 3mplitudinea sc"imbrii este dat de funcia

{ } [ ) % , 0 , , % , 0 2 3 )
cu proprietile
%. ) este descresctoare
>.
0 . , 3 )
unde 3 este numrul maxim de iteraii.
6n exemplu de astfel de funcie este

b
3
t
r t )

,
_


%
% . ,
,
unde r este un parametru aleator din
A % , 0 @
iar % b este un
parametru ce determin !radul de neuniformitate. $n acest tip de
mutaie !ena
i
se transform astfel2

( ) . , '
max
t ) x x x x
i i i
+
dac
% p

( ) . , '
min
t ) x x x x
i i i

dac
% p
unde
max
x
i
min
x
reprezint cea mai mare i respectiv cea mai mic
component a lui
x
.
+.2.+. -utaia )pecific#
B:
$n cazul reprezentrii specifice mutaia nu mai poate aciona
independent asupra fiecrei !ene. ;ele mai cunoscute tipuri de
mutaie folosite n acest caz sunt2
C mutaia prin sc)imbare, prin care se selecteaz aleator dou !ene
ale cromozomului i se sc"imb ntre ele valorile= de exemplu,
plec#nd de la cromozomul
( ) & ? : 7 5 > % 7 3
i ale!#nd !enele ,poziiile. B i 7 rezult cromozomul
( ) & ? : 7 5 > % 3 7
C mutaia prin inserare2 se ale! aleator dou !ene i apoi una dintre
ele se insereaz l#n! cealalt= de exemplu, din
( ) & ? : 7 5 > % 7 3
i poziiile B i 7 se obine
( ) & ? : 7 5 > % 7 3
.
C mutaia prin amestec2 se ale!e n mod aleator o poriune din
cromozom i se amestec valorile din aceast zona= de exemplu,
plec#nd de la cromozomul
( ) & ? 7 > % 6 5 4 3
se poate obine
( ) & ? 7 > % 4 6 3 5
.
B7
C mutaia prin inversiune2 se ale! aleator dou poziii din cromozom
i se inverseaz valorile situate n zona definit de acestea= de
exemplu, ale!#nd cromozomul
( ) & ? 7 > % 6 5 4 3
i poziiile B i : se obine
( ) & ? 7 > % 3 4 5 6
.
1
;UNC.IONAREA AL5ORIT-ILOR
5ENETICI
1.1. -a/i,i"a%ea unei funcii
<xplicm funcionarea al!oritmilor !enetici pentru o problem
de maximizare deoarece minimizarea funciei
f
este ec"ivalent cu
maximizarea funciei
f g
. $n plus, presupunem c funcia
obiectiv
f
ia valori pozitive, n caz contrar put#ndu(se aduna o
constant pozitiv 4 i maximiz#ndu(se
4 f +
.
)resupunem c se dorete maximizarea unei funcii de k
variabile
B?

R R f
k
2
=
fiecare variabil
i
x
ia valori ntr(un domeniu
[ ] R b a
i i i
,
i
( ) 0 , ,
%
>
k
x x f
pentru
i i
x
.
;er#nd o precizie de
p
zecimale pentru valorile variabilelor, fiecare
interval
i

va trebui divizat n
( )
p
i i
a b %0
subintervale e!ale. 9ie
i
l
cel mai mic ntre! astfel nc#t
( ) % > %0
i
l p
i i
a b .
3tunci, o reprezentare a variabilei
i
x
ca un ir binar de
lun!ime
i
l
va satisface precizia dorit. $n plus, are loc formula

( )
% >
>

+
i
l
i i
i i
a b
string zecimal a x
unde
( )
>
string zecimal
reprezint valoarea zecimal a irului binar
string
.
3cum fiecare cromozom este reprezentat printr(un ir binar de
lun!ime

k
i
i
l l
%
= primii
%
l
bii reprezint o valoare din
[ ]
% %
, b a ,
urmtorii
>
l
bii reprezint o valoare din
[ ]
> >
, b a i aa mai departe.
)opulaia iniial const din
n
cromozomi alei aleator. otui dac
B&
avem informaii despre optimul potenial, ele pot fi utilizate pentru a
!enera populaia iniial. $n continuare al!oritmul funcioneaz astfel2
se evalueaz fiecare cromozom al fiecrei !eneraii, utiliz#nd
funcia
f
se selecteaz noua populaie conform distribuiei de probabilitate
bazat pe fitness
se modific cromozomii din noua populaie prin operatori de
mutaie i ncruciare
dup un numr de !eneraii, c#nd nu mai sunt observate
mbuntiri substaniale, cel mai bun cromozom este selectat ca
soluie optim= deseori al!oritmul se oprete dup un numr finit de
iteraii.
)entru procesul de selecie vom utiliza te"nica ruletei2
se calculeaz fitnessul
( )
i
v eval
pentru fiecare cromozom
n i v
i
, , > , % ,
se !sete fitnessul total
( )

n
i
i
v eval #
%
se calculeaz probabilitatea de selecie
i
p
pentru fiecare
cromozom
n i v
i
, , > , % ,
2
50
( )
#
v eval
p
i
i

se calculeaz probabilitatea cumulat
i
2
pentru fiecare
cromozom
n i v
i
, , > , % ,
2

i
%
% i
p 2
%
)rocesul de selecie const n folosirea ruletei de
n
ori= de
fiecare dat se selecteaz un sin!ur cromozom astfel2
se !enereaz un numr aleator
[ ] % , 0 a
dac
%
2 a <
, se selecteaz primul cromozom= altfel se selecteaz
cromozomul
n i v
i
> ,
, astfel nc#t
i i
2 a 2 <
%
.
<ste evident c unii cromozomi vor fi selectai de mai multe
ori, cromozomii cei mai buni !ener#nd mai multe copii.
-up selecie se aplic operatorul de ncruciare. 9olosind
probabilitatea de ncruciare
c
p
se determin numrul
n p
c

de
cromozomi supui ncrucirii. *e procedeaz astfel, pentru fiecare
cromozom din noua populaie2
se !enereaz un numr aleator
[ ] % , 0 a
dac
c
p a <
, cromozomul curent se selecteaz pentru ncruciare.
5%
$n continuare se mperec"eaz aleator cromozomii i pentru
fiecare perec"e se !enereaz un numar aleator ntre!
[ ] % , % l pos
,
l fiind lun!imea unui cromozom iar
pos
este poziia de ncruciare.
-oi cromozomi
l pos pos
b b b b b
% > % +
i
l pos pos
c c c c c
% > % +
sunt nlocuii prin descendenii
l pos pos
c c b b b
% > % +
i
l pos pos
b b c c c
% > % + .
*e aplic, apoi, operatorul de mutaie. )robabilitatea de mutaie
m
p

d numrul
n l p
m

al biilor ce vor suferi mutaie. )entru fiecare bit
al fiecrui cromozom au loc operaiile2
se !enereaz un numr aleator
[ ] % , 0 a
dac
m
p a <
, bitul va suferi mutaie.
$n urma operaiilor de selecie, ncruciare i mutaie, noua
populaie este !ata pentru urmtoarea evaluare.
6rmtorul exemplu @7&A ne arat modul de funcionare.
)resupunem c vrem sa maximizm funcia
( ) ( ) ( )
> > % % > %
>0 sin 5 sin 7 . >% , x x x x x x f + +
5>
unde
% . %> 0 . B
%
x
i
? . 7 % . 5
>
x
.
Jom lucra cu o populaie de dimensiune >0 n , cu probabilitatea de
ncruciare
>7 . 0
c
p
i probabilitatea de mutaie
0% . 0
m
p
.
;erem ca precizia s fie de patru zecimale pentru fiecare variabil.
-eoarece domeniul lui
%
x
are lun!imea % . %7 , precizia cerut
implic divizarea intervalului
[ ] % . %> , 0 . B
n cel puin
5
%0 % . %7

subintervale e!ale. $nseamn c sunt necesari %? bii pentru a
reprezenta prima parte a cromozomului2
%? %7
> %7%000 > < . -omeniul
lui
>
x
are lun!imea 7 . % iar precizia impus determin mprirea
intervalului
[ ] ? . 7 , % . 5
n cel puin
5
%0 7 . %
subintervale e!ale.
$nseamn c pentru partea a doua a cromozomului vor fi utilizai %7
bii2
%7 %5
> %7000 > < . Lun!imea total a unui cromozom este
BB %7 %? + l bii= )rimii %? bii codific pe
%
x
iar ultimii %7 pe
>
x
.
9ie, de exemplu, cromozomul
0%0 %%%00%0%00 %%0%0000%% 0%000%00%0 .
)rimii %? bii
%%0%0000 0%000%00%0
5B
reprezint pe
( )
( )


+
% >
0 B % %>
%%0%0000 0%000%00%0 0 B
%?
> %
5 5
zecimal 5 x
07>5>: . % 07>5>: . 5 0 . B
>:>%5B
% . %7
70B7> 0 . B + +
.
6rmtorii %7 bii
000%0 %%%%%00%0%
reprezint pe

+
% >
% 5 ? 7
. 000%0 %%%%%00%0% , % 5
%7
> >
0
5 0 5
zecimal 5 x

7.777BB. %.:77BB0 5.%
B>7:7
%.7
B%&0: 5.% + +
3stfel cromozomul
0%0 %%%00%0%00 %%0%0000%% 0%000%00%0
corespunde valorilor
. 777BB0 7 07>5>: % , . ,
> %
5 , 5 x , x
.
Jaloarea fitnessului pentru acest cromozom este

>7>:5 >0 . 777BB0 7 07>5>: % , 5 5 , 5 f
.
/niializm o populaie cu >0 de cromozomi i BB de bii fiecare, alei
aleator, i obinem
. %%% %0%00%%0%% 0000%%%%%% %00%%0%000 ,
%
v
55
. 0%0 %0%0%000%% 00%%0%%%00 %%%000%00% ,
>
v
%%0%. 0%0%0%%%0% 0%%00%0000 ,0000%0000
B
v
00%0. %%00000%%% %0%%0%00%% ,%000%%000
5
v
0%0%. %0%%%%%%00 00%0%00%%0 ,000%%%0%%
7
v
%0%%. 0%0%0%%%%% 0%00%0%0%0 ,000%0%000
:
v
%0%%. %%0%%0%%%% 000%%0%0%% ,00%000%00
7
v
0%%%. %0%%0%0%%0 00%%%0%000 ,%0000%%00
?
v
%%00. %000000%%% %0%%000%0% ,0%0000000
&
v
%0%%. %%0%0000%% 000%%00000 ,00000%%%%
%0
v
%000. 0000%%0%%% %%0%%0%0%% ,0%%00%%%%
%%
v
0000. 00%0%0%000 %%%%0%%0%0 ,%%0%000%0
%>
v
0%%0. %000000%00 0%000%000% ,%%%0%%%%%
%B
v
%00%. 00%%%%00%0 00000%0%0% ,0%00%00%%
%5
v
%%%0. 000%%%%%0% %0%%%0000% ,%%%0%%%0% v
%7

%0%%. 0000%%0%00 0000%%%%%% ,%%00%%%%0
%:
v
%%0%. %000%%0%%% %%%00%%%%0 ,0%%0%0%%%
%7
v
%%0%. 00%%%%%0%0 00000%%%0% ,0%%%0%000
%?
v
%%00. %0000%%000 0%%%%%%%%% ,000%0%0%0
%&
v
%%%0. %%000%0%%% %%00%%%%00 ,%0%%%00%0
>0
v
-ecodific#nd fiecare cromozom i evalu#nd fitnessul obinem2
( ) 0%&:00 >: . :7>>5> 7 0?55&> : ,
%
5 5 , 5 f v eval
57
( ) 7?00%7 7 . B?0>:5 5 B5?5B5 %0 ,
>
5 5 , 5 f v eval
( ) 7>:B>& %& . B&0B?% 5 7%::0B > ,
B
5 5 , 5 0 f v eval
( ) 50:7>7 %7 . 7&B5:0 7 >7?:B? 7 ,
5
5 5 , 5 f v eval
( ) B5%%:0 >7 . 7B557? 5 >77%7B % ,
7
5 5 , 5 0 f v eval
( ) %005%7 %? . B&%&B7 5 ?%%7>7 % ,
:
5 5 , 5 0 f v eval
( ) 0>0?%> %: . :?0>7? 7 &&%57% 0 ,
7
5 5 , 5 0 f v eval
( ) &7&70% %7 . 70B0%? 5 &%0:%? 5 ,
?
5 5 , 5 f v eval
( ) %>77&& %: . B?%57> 7 7&750: 0 ,
&
5 5 , 5 f v eval
( ) >%.>7?5B7 5.7&B707. , ,(>.775?7%
%0
f v eval
( ) >B.5%0::& 5.&&:0&7. ,B.%B007?,
%%
f v eval
( ) %7.0%%:%& 5.>B&577. ,&.B7:%7&,
%>
f v eval
( ) >7.B%:70> 7.B7?:7%. , ,%%.%B5:5:
%B
f v eval
( ) %&.?7:>&5 7.%7%B7?. ,%.BB7&55,
%5
f v eval
( ) B0.0:0>07 7.0757%7. , ,%%.0?&0>7
%7
f v eval
( ) >B.?:7>>7 5.&&B7:>. ,&.>%%7&?,
%:
f v eval
( ) %B.:&:%:7 5.77%B5B. ,B.B:77%5,
%7
f v eval
( ) %7.5%5%>? 7.%7?>>:. ,B.?5B0>0,
%?
f v eval
( ) >0.0&7&0B 7.B&77?5. , ,(%.75::B7
%&
f v eval
( ) %B.:::&%: 5.777BB?. ,7.&B7&&?,
>0
f v eval
5:
*e observ c cromozomul
%7
v
este cel mai bun iar
>
v
este
cel mai neperformant. 6tilizm metoda ruletei pentru selecie.
9itnessul total al populaiei este
( )


>0
%
77:?>> . B?7
i
i
v eval #
)robabilitatea de selecie
i
p
pentru fiecare cromozom
>0O ..., >, %, P , i v
i
este2
( )
0.0:70&&
%
%

#
v eval
p
( )
0.0%&757
>
>

#
v eval
p
( )
0.070B77
B
B

#
v eval
p
( )
0.055??&
5
5

#
v eval
p
( )
0.0:7B70
7
7

#
v eval
p
( )
0.05::77
:
:

#
v eval
p
( )
0.05%B%7
7
7

#
v eval
p
( )
0.05:B%7
?
?

#
v eval
p
( )
0.05%7&0
&
&

#
v eval
p
( )
0.075?7B
%0
%0

#
v eval
p

( )
0.0:0B7>
%%
%%

#
v eval
p
( )
0.0B?7%>
%>
%>

#
v eval
p
( )
0.070555
%B
%B

#
v eval
p
( )
0.07%>77
%5
%5

#
v eval
p
57
( )
0.0777%&
%7
%7

#
v eval
p
( )
0.0:%75&
%:
%:

#
v eval
p
( )
0.0B7B>0
%7
%7

#
v eval
p
( )
0.0B&770
%?
%?

#
v eval
p
( )
0.07%?>B
%&
%&

#
v eval
p
( )
0.0B7>55
>0
>0

#
v eval
p
)robabilitile cumulate
i
2
pentru fiecare cromozom sunt
0.0:70&0 F
%
2
,
0.0?::57 F
>
2
,
0.%B700% F
B
2
,
0.%?%?&0 F
5
2
,
0.>57>50 F
7
2
,
0.>&B&%7 F
:
2
,

0.BB7>B> F
7
2
,
0.B?%75: F
?
2
,
0.5>B%B7 F
&
2
,
0.57?00&
%0
2
,
0.7B?B?% F
%%
2
,
0.7770&B F
%>
2
,

0.:577B7 F
%B
2
,
0.:&?7&5 F
%5
2
,
0.77:B%5 F
%7
2
,

0.?B7?:B F
%:
2
,
0.?7B%?> F
%7
2
,
0.&%>&B> F
%?
2
,

0.&:577: F
%&
2
,
%.000000 F
>0
2
3cum se poate aplica te"nica ruletei de >0 de ori, select#nd
de fiecare dat c#te un cromozom. )resupunem c au fost !enerate
urmtoarele numere aleatoare din
[ ] % , 0
2
0.7%B?70 , 0.%7775%, 0.B0?:7> , 0.7B57B5 , 0.&57:>?,
0.%7%7B: , 0.70>>B%, 0.>>:5B%, 0.5&577B, 0.5>57>0 ,
0.70B?&& , 0.B?&:57 , 0.>77>>: , 0.B:?07%, 0.&?B5B7 ,
0.007B&?, 0.7:7:?> , 0.:5:57B, 0.7:7%B& , 0.7?0>B7 .
5?
)rimul numr 0.7%B?70 a satisface relaia
%% %0
2 a 2 < <
, deci
cromozomul
%%
v
este selectat pentru noua populaie. )entru al doilea
numr 0.%7775% a avem
5 B
2 a 2 < <
, deci se selecteaz
cromozomul
5
v
, etc.
$n final, noua populaie va conine indivizii
%% %
' v v
,
5 >
' v v
,
7 B
' v v
,
%% 5
' v v
,
%& 7
' v v
,
5 :
' v v
,
%7 7
' v v
,
7 ?
' v v
,
%% &
' v v
,
B %0
' v v
,
%7 %%
' v v
,
& %>
' v v
,
: %B
' v v
,
? %5
' v v
,
>0 %7
' v v
,
% %:
' v v
,
%0 %7
' v v
,
%B %?
v ' v
,
%7 %&
' v v
,
%: >0
' v v
.
3cum putem aplica operatorul de ncruciare indivizilor din
noua populaie. Lum probabilitatea de ncruciare
>7 . 0
c
p
.
)rocedm astfel2
pentru fiecare cromozom din noua populaie, se !enereaz un
numr aleator
[ ] % , 0 a
dac >7 . 0 < a , individul respectiv va fi selectat.
)resupunem ca au fost selectate urmtoarele secvene de
numere2
0.?>>&7%, 0.%7%&B> , 0.:>7577 , 0.B%5:?7, 0.B5:&0%,
0.&%7>05 , 0.7%&7:0 , 0.50%%75 , 0.:0:77?, 0.7?750> ,
0.0B%7>B, 0.?:&&>%, 0.%::7>7, 0.:757>0 , 0.77?500 ,
0.7?%?&B, 0.B?&>5?, 0.>00>B> , 0.B77:B7, 0.?>:&>7 .
5&

$nseamn c, pentru ncruciare, se selecteaz indivizii
%? %B %% >
' , ' , ' , ' v v v v
. /ndivizii selectai se mperec"eaz aleator= de
exemplu
( )
%% >
' , ' v v i
( )
%? %B
' , ' v v
. )entru fiecare perec"e se
!enereaz numrul
[ ] B> , % pos
, care indic poziia punctului de
ncruciare.
)entru prima perec"e
( ) 00%0 %%00000%%% %0%%0%00%% K %000%%000 '
>
v
( ) %%%0 000%%%%%0% %0%%%0000% K %%%0%%%0% '
%%
v
i
& pos
rezult descendenii
( ) %%%0 000%%%%%0% %0%%%0000% K %000%%000 Q
>
v
( ) 00%0 %%00000%%% %0%%0%00%% K %%%0%%%0% Q
%%
v
3 doua perec"e de indivizi este
( ) 0%% %0%0%%%%%% K %00%0%0%00 000%0%0000 '
%B
v
( ) %%0 000000%000 K %000%000%% %%%0%%%%%0 '
%?
v
i
>0 pos
. <i vor fi nlocuii prin descendenii
( ) %%0 000000%000 K %00%0%0%00 000%0%0000 Q
%B
v
( ) 0%% %0%0%%%%%% K %000%000%% %%%0%%%%%0 Q
%?
v
3cum, populaia curent este2
70

%
' v
,
>
Q v ,
B
' v
,
5
' v
,
7
' v
,
:
' v
,
7
' v
,
?
' v
,
&
' v
,
%0
' v
,
%%
Q v ,
%>
' v
,

%B
Q v ,
%5
' v
,
%7
' v
,
%:
' v
,
%7
' v
,
%?
Q v ,
%&
' v
,
>0
' v
.
$n continuare se aplic operatorul de mutaie cu probabilitatea
0% . 0
m
p
. )entru fiecare bit se !enereaz un numr aleator
[ ] % , 0 a
i dac 0% . 0 < a atunci el va suferi operaia de mutaie.
Menerm ::0 >0 BB n l numere aleatoare= dintre ele 7 sunt mai
mari dec#t 0% . 0 2 aceste valori sunt prezentate n tabelul care
urmrez.
abelul al doilea arat numrul individului i poziia bitului ce va
suferi operaia de mutaie.
)oziia bitului numrul aleator
%%> 0.000>%B
B5& 0.00&&57
5%? 0.00??0&
5>& 0.0075>7
:0> 0.00>?B:
poziie bit nr. individ Er. bit n individ
7%
%%> 5 %B
B5& %% %&
5%? %B >>
5>& %B BB
:0> %& ?
-eci, patru cromozomi sunt afectai de operatorul de mutaie, unul
dintre ei av#nd doi bii sc"imbai.
$n final rezult urmtoarea populaie2
( ) 000 000%%0%%%% %0%%0%0%%0 0%%00%%%%%
%
v
( ) %%0 00%%%%%0%% 0%%%0000%0 %000%%000%
>
v
. 0%% %0%%0%%%%% 00%%0%0%%% 00%000%000 ,
B
v

( ) %%0%%%%000 %0%0%%0000 K 0 K %0 0%%00%%%%%
5
v
( ) %00 0000%%000% %%%%%%%%%% 000%0%0%00
7
v
( ) 0%0 %00000%%%0 0%%0%00%%% %000%%000%
:
v
( ) %%0 00%%%%%0%% 0%%%0000%0 %%%0%%%0%%
7
v
( ) %0% 0%%%%%%000 0%0%00%%0% 000%%%0%%0
?
v
000 000%%0%%%% %0%%0%0%%0 0%%00%%%%%
&
v
( ) %0% %0%0%%%0%% %%00%00000 0000%00000
%0
v
( ) 00%0 %%00000%%% K 0 K 0%%0%00% %%%0%%%0%%
%%
v
( ) %00 000000%%%% 0%%000%0%% 0%0000000%
%>
v
( ) K % K 0000%000%% K % K 0 %00%0%0%00 000%0%0000
%B
v
( ) %%% 0%%0%0%%00 0%%%0%000% %0000%%000
%5
v
7>
( ) %%0 %000%0%%%% %00%%%%00% %0%%%00%0%
%7
v
( ) %%% %0%00%%0%% 0000%%%%%% %00%%0%000
%:
v
( ) 0%% %0%0000%%% 00%%00000% 00000%%%%0
%7
v
( ) 0%% %0%0%%%%%% %000%000%% %%%0%%%%%0
%?
v
( ) %%%0 000%%%%%0% %0%%%0000% K 0 K %%%0%%%0
%&
v
( ) 0%% 000%%0%00% 000%%%%%%0 %%00%%%%00
>0
v
unde biii cuprini ntre linii verticale sunt cei care au rezultat n urma
mutaiei. *(a nc"eiat o iteraie a al!oritmului, put#ndu(se trece la
urmtoarea.
<
TI$URI DE AL5ORIT-I 5ENETICI
<.2. Al&o%it,ul &enetic ,oificat
0udolp" @:&A a demonstrat c al!oritmul clasic nu conver!e
niciodat la soluia optim, dar versiunea modificat, care menine cea
mai bun soluie n populaie, face acest lucru.
7B
3l!oritmul !enetic modificat ,modM3. se obine din cel
clasic, prin modificarea pasului de selecie.
al&o%it,ul ,o5A
!e&in
0 2 t
iniializeaz
. ,t P
evalueaz
. ,t P
'(ile not ,condiie(terminare. o
!e&in
% 2 + t t
selecteaz prinii din
. % , t P
selecteaz indivizii neperformani din
. % , t P
formeaz
. ,t P
prin reproducerea prinilor
evalueaz
. ,t P
en
en
$n cei doi pai de selecie se selecteaz r cromozomi ,nu
neaprat distinci. pentru a fi reprodui i r cromozomi distinci care
vor fi eliminai. 8etoda de selecie este cea a fitnessului relativ. Eoua
populaie
. % , + t P
va consta din adu!area la
. ,t P
, n locul
indivizilor eliminai, a r descendeni rezultai din cei r prini.
75
*e procedeaz astfel2
Pasul 1. *e selecteaz r prini din
. ,t P
. 9iecare individ selectat
este marcat ca aplicabil la exact o operaie !enetic.
Pasul 2. *e selecteaz r + indivizi distinci din
. ,t P
i se
copiaz n
. % , + t P
, unde + este dimensiunea populaiei.
Pasul 3. ;ei r prini selectai dau natere la r descendeni care vor
fi inclui n
. % , + t P
.
<.1. Al&o%it,i e tip cont%acie
4 posibil abordare de studiere a proprietilor de conver!en
a al!oritmilor !enetici poate folosi teorema de punct fix a lui 1anac",
care lucreaz cu aplicaii de tip GcontracieH pe spaii metrice.
9r a restr#n!e cu nimic !eneralitatea, presupunem c lucrm
cu probleme de maxim, adic probleme pentru care o soluie
i
x
este
mai bun dec#t soluia %
x
dac i numai dac
( ) ( )
% i
x eval x eval >
,
unde funcia eval d fitnessul unui individ din populaie.
)entru o populaie P considerm funcia de evaluare Eval = de
exemplu, pentru
{ }
n
p p p P , , ,
> %

putem defini
77
( ) ( )

n
i
i
p eval
n
P Eval
%
%
.
*tructura al!oritmului de tip contracie ,;(M3. este
urmtoarea
al&o%it,ul C=5A
!e&in
0 2 t
iniializeaz
. ,t P
evalueaz
. ,t P
'(ile not ,condiie(terminare. o
!e&in > se construiete contracia?
% 2 + t t
selecteaz
. ,t P
din
. % , t P
recombin
. ,t P

evalueaz
. ,t P
if
( ) ( ) ( ) ( ) t P Eval t P Eval %
t(en % 2 t t
en
en
3lte abordri pot fi !site n @57, 5:A.
<.0. Al&o%it,i cu i,en)iunea va%ia!il# a
7:
populaiei
-iverse studii efectuate asupra dimensiunii populaiei au artat
c al!oritmii cu dimensiunea variabil a populaiei dau rezultate destul
de bune. Eumrul indivizilor de la !eneraia
t
, notat
. ,t Pop6ize
,
va fi influenat de cel de la !eneraia anterioar
( ) ( ) ( ) ( ) t t 7uxPop6ize t Pop6ize t Pop6ize + +%
,
unde
7uxPop6ize
reprezint populaia intermediar care apare n
pasul de recombinare iar
( ) t
reprezint numrul de indivizi ce nu
vor supravieui n !eneraia urmtoare.
-imensiunea populaiei intermediare se calculeaz cu formula
( ) ( ) t Pop6ize t 7uxPop6ize
,
unde

este un parametru al al!oritmului, numit rat de reproducere.


oti indivizii unei !eneraii au aceeai probabilitate de a fi selectai
pentru reproducere.
-eoarece fitnessul nu influeneaza selecia, vor fi folosii ali
parametri2 !8R637 i
7 !97:
5 !8R637 reprezint numrul de
!eneraii n care un individ a supravieuit iar
7 !97:
se atribuie o
sin!ur dat unui individ, dup iniializare sau dup recombinare i
pstreaz o valoare constant. 6n individ este meninut n populaie
at#ta timp c#t !8R637 nu depete
7 !97:
.
*tructura al!oritmului A5=DV$ 33l!oritm Menetic cu
-imensiunea Jariabila a )opulaiei. este urmtoarea.
77
al&o%it,ul A5=DV$
!e&in
0 2 t
iniializeaz
. ,t P
evalueaz
. ,t P
'(ile not ,condiie(terminare. o
!e&in
% 2 + t t

% 2 + !8R637 !8R637
pentru fiecare individ din
populaie
recombin
. ,t P

elimin din
. ,t P
toi indivizii pentru care

7 !97: !8R637 >
evalueaz
. ,t P
en
en
)arametrul
7 !97:
depinde de starea curent a cutrii !enetice=
pentru aceasta se utilizeaza urmtorii parametri2
C
7vg#it
F media fitness(ului populaiei curente
C ;ax#it F valoarea maxim a fitnessului n !eneraia curent
C ;in#it F valoarea minim a fitnessului n !eneraia curent
C 7bs#it;ax i 7bs#it;in F valoarea maxim i respectiv
minim a fitnessului, obinut p#n n momentul curent.
7?
)entru un individ
i
, viaa lui
. ,i 7 !97:
poate fi definit n
mai multe feluri2
C alocare proporional2
( )
( )

,
_

+ ;ax"3
7vg#it
i fitness
;in"3 i 7 !97: , min
C alocare liniar
( )
( )
7bs#it;in 7bs#it;ax
7bs#it;in i fitness
;in"3 i 7 !97:

+ >
C alocare biliniar
( )
( )
( )
( )
( )
( )

'

<

+ +


>
%

i fitness 7vg#it dac
7vg#it ;ax#it
7vg#it i fitness
;ax"3 ;in"3
i fitness 7vg#it dac
;in#it 7vg#it
;in#it i fitness
;in"3
i 7 !97:

unde ;ax"3 i ;in"3 reprezint valoarea maxim i respectiv


minim a parametrului
7 !97:
iar
( ) ;in"3 ;ax"3
>
%

.

3l!oritmul se poate opri c#nd nu se mai obin ameliorri ale
celei mai bune valori ntr(un numr precizat de iteraii.
7&
<.<. Al&o%it,i cu con)t%@n&e%i
<xist mai multe modaliti de a m#nui constr#n!erile2
%. rezolvarea problemei fc#nd abstracie de constr#n!eri i
eliminarea, apoi, a soluiilor care nu verific constr#n!erile. 3ceste
soluii vor determina o penalizare a funciei de evaluare= cea mai
simpl form de penalizare const n eliminarea soluiilor
nerealizabile
>. utilizarea unor metode de GreparareH a soluiei nerealizabile
dar, uneori, aceste metode sunt la fel de dificile ca i rezolvarea
problemei
B. utilizarea unor metode de codificare care s !aranteze sau s
mreasc foarte mult ansele de obinere a unor soluii realizabile.
<xemplificm rezolvarea unor astfel de probleme consider#nd
problema rucsacului @77A2 Gfiind date ponderile
[ ] i <
, profiturile
[ ] i P
i capacitatea 4 , s se !seasc vectorul binar
[ ] [ ] ( ) n x x x , , %
astfel nc#t
[ ] [ ] 4 i < i x
n
i

%
i
( ) [ ] [ ]


n
i
i P i x x
%
P
are valoarea maxim.H
:0
rei tipuri de al!oritmi sunt frecvent utilizai2 al!oritmi bazai pe
funcii de penalizare ,
A @i 7
p ., al!oritmi bazai pe metode de reparare
,
A @i 7
r
. i al!oritmi bazai pe decodificare ,
A @i 7
d
., unde
i
este
indicele unui al!oritm particular din clasa respectiv.
Al&o%it,ii
A @i 7
p
$n cadrul acestor al!oritmi soluia este reprezentat printr(un ir
binar de lun!ime
n
. 9uncia de evaluare a unui ir
x
este
[ ] [ ] ( )


n
i
x Pen i P i x x eval
%
. ,
unde functia de penalizare
. ,x Pen
are valoarea zero pentru soluiile
realizabile
x
, adic pentru soluiile care satisfac relaia
[ ] [ ]


n
i
4 i < i x
%
,
si este mai mare ca zero n caz contrar.
*unt mai multe posibiliti de definire a funciei de penalizare=
vom prezenta trei metode2
C metoda lo!aritmic
[ ] ( ) %
p
7
2
( ) [ ] [ ]

,
_

,
_

n
i
4 i < i x x Pen
%
>
% lo!
C metoda liniar
[ ] ( ) >
p
7
2
:%
( ) [ ] [ ]

,
_

n
i
4 i < i x x Pen
%

C metoda ptratic
[ ] ( ) B
p
7
2
( ) [ ] [ ]
>
%
>

,
_

n
i
4 i < i x x Pen
$n toate cazurile,
[ ]
[ ]

'

i <
i P
n i , %
max
.
<.A. Al&o%it,i &enetici e"o%onai
3l!oritmii de acest tip au fost introdui pentru a crete
performanele al!oritmilor !enetici prin pstrarea blocurilor n urma
aplicrii operatorilor de evoluie. 3a cum am vzut, blocul este o
succesiune de !ene ,bii. cu semnificaie special n cadrul
cromozomului. )entru a evita distru!erea, le!turile dintre !ene
trebuie s fie suficient de puternice n interiorul blocului.
Moldber!, Rorb i -eb @B5A au propus o !eneralizare a
al!oritmilor !enetici, cunoscut sub numele de al!oritmi !enetici
dezordonai ,mess= genetic algorit)ms., care folosesc cromozomi de
dimensiune variabil cu !ene care pot fi aranjate n orice ordine= de
aici denumirea de dezordonai. 9iecare !en este reprezentat printr(o
perec"e de forma ,poziia genei, valoarea genei.. -e exemplu,
cromozomul codificat binar
:>
( ) 0 % 0 0 % c
se transform n noua reprezentare n
( ) ( ) ( ) ( ) ( ) ( ) 0 , 7 % , 5 0 , B 0 , > % , % ' c
.
3ceasta reprezentare are urmtoarele avantaje2
C ordinea perec"ilor poate fi sc"imbat fr ca semnificaia
cromozomului s aib de suferit
C se poate lucra cu informaie incomplet, dat de absena unor
!ene S fenomen numit subspecificare. $n acest caz apare urmtoarea
ntrebare2 cum se evalueaz un cromozom incompletT 6n posibil
rspuns este urmtorul2 se asimileaz acest cromozom cu cel complet
aflat cel mai aproape
C permite prezena multipl a unei !ene n cromozom, fenomen
numit supraspecificare= de exemplu, n cromozomul
( ) ( ) ( ) ( ) ( ) ( ) % , B % , 5 0 , B 0 , > % , % c
!ena de pe poziia B apare de dou ori cu valorile contradictorii 0 i %.
3cest conflict poate fi rezolvat n mai multe feluri= de exemplu, se ia
n consideraie apariia cea mai din st#n!a a !enei.
4peratorii evolutivi utilizai de al!oritmii !enetici dezordonai
deriv din cel clasici.
9ncruciarea se desfoar astfel2
:B
C n fiecare din cei doi prini se stabilete c#te un punct de
ncruciare care GtaieH cromozomul n dou subiruri= cele dou
puncte de ncruciare se ale! independent
C subirurile obinute anterior se GalipescH n orice ordine sau
combinaie pentru a obine un nou individ
9ie cromozomii
5 B > % > %
K 2 b b b b a a x
i
% B > %
K 2 d c c c =
unde simbolul GKH reprezint punctul de ncruciare ,taietur..
)rin ncruciare rezult urmtorii descendeni
% > %
K 2 d a a d a
B > % > %
K 2 c c c a a c a
> % B > %
K 2 a a c c c a c
5 B > % B > %
K 2 b b b b c c c b c
> % %
K 2 a a d a d
5 B > % %
K 2 b b b b d b d
B > % %
K 2 c c c d c d
> % 5 B > %
K 2 a a b b b b a b
B > % 5 B > %
K 2 c c c b b b b c b
% 5 B > %
K 2 d b b b b d b
unde prin
c b a , ,
i d am notat subirurile definite de punctele de
tietur din cei doi cromozomi. $ncruciarea de acest tip implic i un
anumit tip de inversiune2 cromozomii a b i c d se obin
invers#nd subirurile determinate de punctele de tietur.
:5
;utaia acioneaz ca n cazul clasic, folosind oricare din
variantele utilizate n acest caz.
-iverse experimente @B7A au scos n eviden faptul c
al!oritmii dezordonai !sesc ntotdeauna soluia optim c"iar dac
timpul de cutare crete polinomial n raport cu numrul de variabile.
<.B. Al&o%it,i vi%ali
;unoscui i sub numele de metoda J<M3 ,!irus >
Evolutionar= ?enetic 7lgorit)m. , al!oritmii virali au fost introdui
@?%A pentru a preveni conver!ena prematur !enerat de absena
diversitii populaiei. 3l!oritmii virali lucreaz simultan cu dou
populaii2
C populaia !azd, care, la fel ca n cazul al!oritmilor clasici,
reprezint mulimea soluiilor posibile
C populaia viral, care este o mulime de subiruri ale indivizilor
din populaia !azd= rolul su este de a realiza infecia viral.
6n virus este un subir ce conine trei caractere
{ } , % , 0
i are
aceeai lun!ime cu individul !azd. ;aracterele diferite de D
reprezint informaia transportat de virus.
<xist doi operatori de infecie viral2
:7
C transcrierea invers2 virusul scrie informaia sa peste cea a
individului !azd pentru a !enera un nou individ.
-e exemplu,
individul !azd
% % 0 0 %
i
virusul
0 0 %
dau
un nou individ !azd
0 % 0 % %
C ncorporarea, care are rolul de a !enera noi virui i se realizeaz
n dou moduri2
( prin copierea ntr(un virus a unor !ene dintr(un individ !azd
infectat, folosind o probabilitate de copiere.
-e exemplu,
virusul
0 0 %
i
individul !azd
% % 0 0 %
!enereaz, prin copiere,
un nou virus
0 0 % 1
( prin nlocuirea unor !ene din virus cu caracterul D, folosind o
probabilitate de nlocuire.
-e exemplu,
virusul
0 0 %
!enereaz, prin ncorporarea de tip nlocuire,
un nou virus
0 0
::
9iecare virus
i
este caracterizat de puterea de infectare
i
fitv
.
Eotm cu %
fit)init
i %
fit)fin
valorile fitness ale individului
%

nainte i respectiv dup infectare. $mbuntirea obinut prin
infectarea individului
%
cu virusul
i
este
% % % i
fit)init fit)fin fitv
, .
3cum puterea de infectare a virusului
i
se calculeaz ca fiind

6 %
% i i
fitv fitv
,
unde 6 este mulimea indivizilor !azd infectai cu virusul
i
. 6n alt
parametru important este rata de infecie
i
r inf
, care se definete prin
una din formulele
( )

'


> +

+
contrar caz n r inf
fitv dac r inf
r inf
t i
i t i
t i
,
,
% ,
. % ,
0 %

'

>

+
contrar caz n r inf
fitv dac r inf
r inf
t i
i t i
t i
,
,
%
% ,
0

unde

este un coeficient pozitiv iar


t
este numrul !eneraiei. $n
plus,
dac
rat ;ax r inf
t i
U
% ,
>
+
atunci
rat ;ax r inf
t i
U
% ,

+ .
:7
9iecare virus are o putere de supravieuire n !eneraia urmtoare dat
de
i t i t i
fitv life r life +
+ , % ,
unde r este rata de reducere a vieii. -up infectarea indivizilor
!azd, viruii evolueaz prin ncorporare2
C dac
0 >
i
fitv
, virusul evolueaz prin operaia de copiere
,extinderea ncorporrii. aplicat unui individ infectat
C dac
0
i
fitv
, se execut operaia de nlocuire ,micorarea
ncorporrii..
Lun!imea unui virus se modific n concordan cu
probabilitatea de ncorporare Pinc . -up calcularea puterii de
via, dac
0
% ,
<
+ t i
life
, virusul elimin un nou subir dintr(un individ
!azd infectat, selectat aleator ,!enerarea ncorporrii.. /nfecia viral
se desfoar conform sc"emei din fi!ura de mai jos.
3l!oritmul metodei J<M3 este urmtorul2
Al&o%it,ul VE5A
!e&in
iniializare
%epeat
selecie
ncruciare
mutaie
infecie viral
:?
nlocuire
until ,condiie terminare.
en.
)rin iniializare se !enereaz aleator populaia !azd iar
indivizii de tip virus se obin ca subiruri ale indivizilor !azd.
3r"itectura de baz a metodei se bazeaz pe modelul **M3 , *teadV(
*tate Menetic 3l!orit"m. care nlocuiete indivizii cei mai slabi cu o
perec"e de descendeni obinui prin ncruciare i mutaie. -up
infecie, printele va fi nlocuit cu individul virusat dac fitnessul su
este mai bun dec#t al printelui.
:&
9i!ura 7.%. *c"ema infeciei virale
70
A
STRATE5II EVOLUTIVE
A.1 5ene%alit#i
*trate!iile evolutive ,*<. au aprut din necesitatea de a
rezolva probleme de optimizare de tipul2 Wse cere
n
R x
D
cu
( ) ( ) x x f x f
D
, unde
R R f
n
2
si

este o regiune
mrginit determinat de restriciile impuse asupra lui
x
H. )entru o
astfel de problem strate!iile evolutive sunt mai potrivite dec#t
al!oritmii !enetici, deoarece nu necesit codificarea binar a datelor
care are dezavantajul c limiteaz precizia. *trate!iile evolutive
reprezint indivizii sub forma unor vectori cu componente reale i
folosesc mutaia ca principal operator de evoluie.
$n strate!iile evolutive avansate reprezentarea indivizilor
ncorporeaz n ea i parametrii de control ai strate!iei. 6n individ se
reprezint ca o perec"e
( ) , x v
, unde vectorul
x
este un element
din spaiul de cutare iar
>

este vectorul dispersie=


>
i
reprezint
dispersia perturbaiei pe care o sufer componenta
i
x
a vectorului
x

7%
n procesul de mutaie. Jectorul

reprezint parametrul de control


al strate!iei.
A.2 Ope%ato%i e evoluie
A.2.1 Inc%uci6a%ea
4peratorul de ncruciare selecteaz, cu o probabilitate
uniform, cei
p
prini. ;el mai des se utilizeaz cazurile
> p
i
p
. -atorit similaritii dintre reprezentarea indivizilor n
strate!ii evolutive i n al!oritmi !enetici, exist similaritate i ntre
tipurile de ncruciare.
A.2.1.1 nc%uci6a%ea i)c%et#
$n cazul
> p
fie
%
x
i
>
x
prinii selectai aleator=
pentru
fiecare component
{ } n i , , > , %
se !enereaz un numr aleator
[ ] % , 0
i
2
, urm#nd distribuia uniform. ;omponenta
i
=
a
descendentului va fi

'

>

7 . 0
7 . 0
>
%
i i
i i
i
2 dac x
2 dac x
=
7>
$n cazul c#nd se ncrucieaz
p
prini { }
p
x x , ,
%
, componenta
i
=
a descendentului
=
este componenta
i
x
a printelui
x
{ }
p
x x , ,
%
ales aleator.
A.2.1.2 nc%uci6a%ea inte%,eia%#
$n acest caz componenta
i
=
a descendentului
=
este o
combinaie convex a componentelor corespunztoare din cei
p

prini
p
x x , ,
%
, alei aleator2
n i x =
p
%
%
i % i
, , > , %
%

i
0 , %
%

%
p
%
%

.
$n !eneral se lucreaz cu doi prini
%
x
,
>
x
2
( ) { } n i x x =
i i i
, , > , % , %
> %
+
cu
[ ] % , 0
ales ca fiind valoarea unei variabile aleatoare cu
distribuie uniform i pstr#nd aceeai valoare pentru toate
componentele.

A.2.2. -utaia
8utaia este cel mai important operator al strate!iilor evolutive.
7B
/ndividul
( ) , x
se transform prin mutaie n
( ) ' , ' x
2
( ) ( ) , ' , ' x mut x
.
Jectorul ' x se obine dup le!ea
( ) % , 0 ' + x x +
sau, pe componente,
( ) % , 0 ' '
i i i i
+ x x +
,
{ } n i , , > , %
unde
( ) % , 0
i
+
este o variabil aleatoare de medie 0 i dispersie %.
8utaia asupra lui

acioneaz diferit, dup cum % sau


% > n modelele
( ) ,
i
+
.
A.*. ;unciona%ea )t%ate&iilo% evolutive
*tructura !eneral a unei strate!ii evolutive este cea a unui
al!oritm evolutiv, apr#nd, n funcie de strate!ie, unele diferene la
nivelul operatorilor.
A.*.1 St%ate&ia
. % % , +
8odelul iniial al lui 0ec"enber! consider populaia format
dintr(un sin!ur individ supus operatorului de mutaie. 9olosim
urmtoarele notaii2
75
k F un numr de !eneraii consecutive= de obicei se ia n k %0 ,
unde
n
este dimensiunea spaiului de cutare

. ,k s
F numrul mutaiilor de succes din ultimele k
!eneraii
consecutive

k
k s
k p
. ,
. ,
F frecvena mutaiilor de succes din ultimele
k
!eneraii
;F constant, aleas ,la su!estia lui *c"+efel @77A. ca fiind 0.?%7,
aceast valoare fiind obinut pentru modelul sferei.
Al&o%it,ul SE31C14
!e&in
% 2 t ,
{ } . , ., , . , t t x t P
evalueaz
. ,x f
'(ile not
.. , , t P cond
o
!e&in
calculeaz
. ,k p
calculeaz
77
( ) ( ) ( )
( )
( )
( ) ( )

'

<

>
+
7
%
7
%
. ,
7
%
. ,
%
k p dac c t
k p dac t
k p dac
c
t
t mut t
n
n


calculeaz

( ) ( ) ( ) ( ) ( ) ( ) % , 0 % % + t t x t x mut t x + + +
evalueaz
( ) ( ) % + t x f
if
( ) ( ) ( ) ( ) t x f t x f +%
PseleciaO
t(en
( ) ( ) ( ) { } % , % % + + + t t x t P
el)e
. , 2 . % , t P t P +
% 2 + t t
en
en
Observaii.
%.
.. , , t P cond
reprezint condiia de oprire, dat de obicei
prin
numrul de !eneraii
>. *c"+efel a propus @:?A o alt versiune a mutaiei pentru
parametrul


7:
( )
( )
( )
( ) ( )

'

<

>
+
7
%
7
%
. ,
7
%
. ,
k p dac t c
k p dac t
k p dac
c
t
n t

B. *trate!ia ,%X%. lucreaz cu populaii formate dintr(un sin!ur


individ i nu folosete ncruciarea.
A.*.2 St%ate&ia
. % , +
*trate!ia ,%X%. poate fi !eneralizat prin mrirea numrului
prinilor fiecrui descendent iIsau a numrului descendenilor unui
printe. $n strate!ia
( ) % +
,
% >
prini vor !enera un sin!ur
descendent folosind ncruciarea i mutaia. $ncruciarea se aplic at#t
vectorului de poziie c#t i dispersiei i se poate folosi oricare din
operatorii prezentai anterior. 8utaia se aplic urm#nd principiul
strate!iei
( ) % %+
, dar nu exist o metod de control a dispersiei, re!ula
7
%
nemaifiind aplicabil n acest caz. 3cest dezavantaj face ca
strate!ia
( ) % +
s fie puin folosit.
A.*.* St%ate&ii ,ultie)cenent
77
3ceste strate!ii au aprut din dorina de a folosi metode mai
robuste i mai !enerale pentru a controla parametrii mutaiei. -in
aceast cate!orie fac parte strate!iile
( ) +
i
( ) ,
care lucreaz
cu populaii formate din
% >
prini i
>
descendeni, ceea ce
determin o cretere a vitezei de conver!en. ;ei

indivizi ai noii
!eneraii se selecteaz din 2
populaia intermediar obinut reunind cei

indivizi ai
!eneraiei curente cu cei descendeni ai ei, n cazul strate!iei
( ) +

din cei descendeni ai populaiei curente, n cazul strate!iei
( ) ,
.
ncruciarea. $n mod empiric, s(a ajuns la concluzia c
folosirea ncrucirii discrete pentru vectorii de poziie i a celei
convexe pentru parametrii strate!iei conduce la cele mai bune
rezultate. 4peratorul de ncruciare se aplic de ori populaiei de

prini, obin#ndu(se o populaie intermediar de



indivizi.
6n descendent se obine prin ncruciarea a
p
prini,
p %
= de
obicei se ia
> p
sau
p
.
!utaia. ;onsiderm indivizii reprezentai prin perec"i de
forma
( ) , x
, unde
n
R x
este vectorul de poziie iar
>

este
vectorul dispersie. Eotm cu
( ) % , 0 +
un numr aleator ce urmeaz
distribuia normal de medie 0 i dispersie %. 8utaia standard
nlocuiete individul
( ) , x
cu
( ) ' , ' x
obinut dup re!ulile2
7?
. % , 0 , . % , 0 ,
> %
'
i
+ p + p
i i
e
+

( ) % , 0 ' '
i i i i
+ x x +
cu
{ } n i , , > , %
. )arametrii
%
p
i
>
p
controleaz mrimea
pasului mutaiei i respectiv sc"imbrile individuale. *c"+efel @7BA a
propus pentru aceti parametri urmtoarele valori
n
c
p
>
%
%

i
n
c
p
>
>
>

unde
%
c
i
>
c
iau de obicei valoarea %.
*e poate lucra cu vectorul dispersie av#nd toate componentele
e!ale= fie

valoarea lor comun. $n acest caz mutaia funcioneaz


dup re!ulile
& , ' p+
e '
% 0

( ) % , 0 ' '
i i i
+ x x +
adic toate componentele vectorului de poziie se modific folosind
aceeai dispersie= parametrul
p
ia valoarea
n
c
p
.
*trate!iile multidimensionale funcioneaz dup urmtorul al!oritm
!e&in
0 2 t
iniializeaz populaia
. ,t P

evalueaz indivizii din
. ,t P
7&
'(ile not
.. , , t P cond
o
!e&in

2 . , ' t P
ncruciare
.. , , t P
2 . , Q t P mutaie
.. , ' , t P
evalueaz . , Q t P

+ 2 . % ,t P
selecie
( ) ; t P . , Q
% 2 + t t
en
en
Eumrul

trebuie s fie mai mare ca % iar raportul dintre numrul


descendenilor i cel al prinilor trebuie s fie n favoarea
descendenilor. *e recomand un raport
7

i, n mod frecvent, se
folosete strate!ia
( ) %00 , %7
.
;ondiia de oprire cond se refer, de obicei, la numrul
maxim
de !eneraii dar pot fi luate n consideraie i alte criterii, printre care
cele de mai jos2
%. diversitatea populaiei a sczut sub o anumit limit, semn c
ne aflm n vecintatea unui optim !lobal= diversitatea poate fi
msurat prin diferena calitilor asociate celui mai bun individ i
celui mai neperformant.
?0
>. nu se mai obtin mbuntiri semnificative ale funciei obiectiv
8ulimea ; poate lua una din valorile2

. ,t P ;
pentru strate!ia
( ) +
; pentru strate!ia
( ) ,
.
B
?%
$RO5RA-ARE EVOLUTIVD EI
$RO5RA-ARE 5ENETICD
)ro!ramarea evolutiv i )ro!ramarea !enetic lucreaz cu
populaii care nu mai sunt reprezentate prin iruri binare sau reale, ca
n cazul al!oritmilor !enetici i al strate!iilor evolutive, ci prin
structuri mai complicate2 pro!rame, automate finite, etc. -in punct de
vedere al operatorilor folosii, pro!ramarea evolutiv este mai
apropiat de strate!iile evolutive ,foloseste mutaia ca operator
principal, ncruciarea fiind foarte rar sau deloc folosit. n timp ce
pro!ramarea !enetic este mai apropiat de al!oritmii !enetici
,operatorul principal este cel de mutaie..
B.1. $%o&%a,a%e evolutiv#
B.1.1. 5ene%alit#i
)ro!ramarea evolutiv a fost iniiat de 9o!el @>:, >?Acu
scopul de a !enera un comportament inteli!ent pentru un sistem
artificial. ;omportamentul inteli!ent se refer la abilitatea sistemului
de a realiza predicii asupra mediului informaional n care se afl.
*istemele sunt modelate prin automate urin! iar mediul
?>
informaional este reprezentat printr(o succesiune de simboluri de
intrare.
B.1.2. ;unciona%ea auto,atului Tu%in&
)opulaia este format din
% >
indivizi, fiecare fiind un
automat urin!. * considerm exemplul din fi!ura urmtoare.
9i!ura &.>
3utomatul are strile
{ } 4 @ 7 6 , ,
, alfabetul de intrare
{ } % , 0 9
,
alfabetul de ieire
{ } c b a A , ,
. ranziia ntre dou stri este data de
funcia
A 6 9 6 2
?B
definit printr(o etic"eta de forma o i I care apare pe o latur ntre
dou stri
k
s
i
l
s
, nsemn#nd c
( ) ( ) ( ) o s i s
l k
, ,
=
adic dac maina este n starea
k
s
i primete la intrare simbolul
9 i atunci ea trece n starea
l
s
i produce la ieire simbolul A o .
)rin acest mecanism, automatul transform un ir format din
simboluri de intrare , interpretat ca mediul mainii. ntr(un ir format
din simboluri de ieire. )erformana automatului n raport cu mediul
poate fi msurat pe baza capacitii predictive a ei2 se compar
fiecare simbol de ieire cu urmtorul simbol de intrare i se msoar
valoarea prediciei cu ajutorul unei funcii de c#ti!.
)aradi!ma pro!ramrii evolutive a fost implementat de 9o!el
lucr#nd cu o populaie de
% >
prini care !enereaz

descendeni
prin mutaii asupra fiecrui printe. 8utaia a fost implementat ca o
sc"imbare aleatoare a componentelor automatului= o sc"imbare se
poate realiza n cinci moduri2 sc"imbarea unui simbol de ieire,
modificarea unei tranziii, adu!areaIeliminarea unei stri,
modificarea strii iniiale.
)entru fiecare individ al populaiei se ale!e uniform i aleator
unul din cei cinci operatori de mutaie. <ste, ns, posibil ca asupra
aceluiai individ s se aplice mai muli operatori de mutaie, numrul
mutaiilor put#nd s fie fix sau ales conform unei distribuii de
probabilitate. -up evaluarea descendenilor se selecteaz cei mai
?5
buni

indivizi dintre prini i descendeni= deci se efectueaz o


selecie de tip
( ) +
.
9o!el nu a folosit ncruciarea, de aceea muli cercettori din
domeniul al!oritmilor !enetici au criticat metoda lui, consider#nd c
nu e suficient de puternic. otui, rezultatele teoretice i empirice din
ultimii B0 de ani au artat c rolul mutaiei n al!oritmi !enetici a fost
subestimat iar cel al ncrucirii a fost supraestimat @B, %&, >%, 70A.
B.1.*. Opti,i"a%e folo)in p%o&%a,a%ea
evolutiv#
Jariantele curente de pro!ramare evolutiv folosite n
probleme de optimizare cu parametri continui au multe lucruri n
comun cu strate!iile evolutive, n special n privina reprezentrii
indivizilor, a modului de efectuare a mutaiei i a autoadaptrii
parametrilor.
/nitial pro!ramarea evolutiv a lucrat cu spaii mr!inite
[ ]
n
n
i
i i
R v u

%
,
, cu
i i
v u <
.
8ai t#rziu domeniul de cutare a fost extins la
n
R 9
, un individ
fiind un vector 9 x a . $n @>>A se introduce conceptul de
metapro!ramare evolutiv, care presupune un mecanism de auto(
?7
adaptare similar celui de la strate!ii evolutive. )entru a ncorpora
vectorul varianelor
n
R v
+
, spaiul indivizilor este extins la
n n
R R 9
+
. 9uncia de evaluare
( ) a
se obine din funcia obiectiv
. ,x f
prin scalare la valori pozitive i, eventual, prin impunerea unor
modificri aleatoare k ale parametrilor= deci
( ) ( ) k x f a , . ,
,
unde este functia de scalare. $n cazul pro!ramrii evolutive
standard mutaia transform pe
x
n ' x ,
. , '
, ,
%
, , ,
%
x mut x
n n

, dup re!ula
. % , 0 , '
i i i i
+ x x +
( )
i i i
x +
unde constantele de proporionalitate
i

i
i

sunt alese n funcie de


problema de rezolvat= totui, de obicei se consider
%
i

i
0
i

,
astfel c mutaia devine
. % , 0 , . , '
i i i
+ x x x +
.
$n cazul meta(pro!ramrii evolutive individul
. , , v x a
se
transform prin mutaie n
. ' , ' , . , ' v x a mut a

astfel2
. % , 0 , '
i i i i
+ v x x +
( ) % , 0 '
i i i i
+ v v v +
unde

are rolul de a asi!ura c


i
v'
primete o valoare pozitiv.
otui, dac variana devine ne!ativ sau zero atunci i se atribuie o
valoare mic 0 > .
?:
*e consider c n pro!ramarea evolutiv se codific mai
de!rab specii dec#t indivizi= i cum ncruciarea nu acioneaz la
nivelul speciilor, pro!ramarea evolutiv nu folosete acest tip de
operator. -up crearea a

descendeni din

prini, prin aplicarea


mutaiei o sin!ur dat asupra fiecrui printe, se selecteaz


indivizi din mulimea prinilor
. ,t P
reunit cu cea a descendenilor
. , ' t P
. *e utilizeaz o variant stoc"astic a seleciei turneu cu
parametrul
% > 2
care const n2 pentru fiecare individ
. , ' . , t P t P a
k

se selecteaz aleator
2
indivizi din
. , ' . , t P t P

i se compar evaluarea lor cu cea a lui
k
a
. Eumrul
{ } 2 B
k
, , % , 0
al indivizilor mai puin performani dec#t
k
a

constituie scorul lui
k
a
.
9ormal, acesta se poate scrie
( ) ( )


'

2
%
i
i
altfel
a a dac
B
i
%
0
%

unde indicii
{ } > , , > , %
% sunt valori aleatoare uniforme,
calculate pentru fiecare comparare. -up ce se efectueaz aceast
operaie pentru toi cei
>
indivizi, ei se ordoneaz descresctor dup
?7
scorul
i
B
,
> % i
, i se ale! cei mai buni

indivizi care vor


forma !eneraia urmtoare
. % , + t P
. 0ezult urmtorul al!oritm
!e&in
0 2 t
iniializeaz
( ) { }

9 a a P 0 , ., 0 , 2 . 0 ,
%

,
unde
n n
R R 9
+
,
. , ,
i i i
v x a { } n i , , %
evalueaz
( ) ( ) ( ) { } 0 , , . 0 , 2 . 0 ,
%
a a P

unde
( ) ( ) ( ) ( ) ( )
% % %
k x f a , 0 0
'(ile ,
( ) ( ) true t P 3
. o
!e&in
aplic mutaia2
( ) ( ) { }

, , % 2 . , ' i t a mut t a
i i
evalueaz
( ) { } t a t a t P

' , ., , ' 2 . , '
%

calcul#nd

( ) ( ) ( ) { } t a t a

' , ., , '
%

cu
( ) ( ) ( ) ( ) ( )
i i i
k t x f t a , ' '
selecteaz
( ) . , ' . , 2 . % , t P t P turn t P
2
+
% 2 + t t
en
en
)ro!ramarea evolutiv are numeroase aplicaii, dintre care
amintim2 optimizarea numeric continu, dezvoltarea sistemelor de
clasificare, antrenarea reelelor neuronale, proiectarea sistemelor de
??
control ce pot fi modelate prin automate finite, controlul deplasrii
roboilor.
B.2. $%o&%a,a%e &enetic#
)ro!ramarea !enetic reprezint o nou direcie n cadrul
calculului evolutiv, dezvoltat de ctre Y. Roza @70A n jurul anilor
%&&0. )ro!ramarea !enetic este, de fapt, o variant a al!oritmilor
!enetici care opereaz cu populaii constituite din Gstructuri de
calculH, din acest punct de vedere fiind similar pro!ramrii evolutive.
*tructurile care constituie populaia sunt pro!rame care atunci c#nd
sunt executate sunt soluii candidat ale problemei. )ro!ramarea
!enetic a fost dezvoltat iniial cu scopul de a !enera automat
pro!rame care s rezolve ,aproximativ. anumite probleme.
B.2.1 Rep%e"enta%ea inivi"ilo%
$n pro!ramarea !enetic indivizii sunt vzui ca arbori de
derivare asociai Gcuv#ntuluiH pe care l reprezint n limbajul formal
asociat limbajului de pro!ramare utilizat.
Roza a propus ca modalitate de reprezentare scrierea prefixat
a expresiilor, care corespunde parcur!erii n preordine a arborelui de
structur al expresiei. )entru a simplifica descrierea, considerm c se
?&
opereaz cu Gpro!rameH care sunt expresii ce conin operatori
aritmetici, relaionali i lo!ici precum i apeluri ale unor funcii
matematice. $n acest caz, limbajul formal asociat este independent de
context i fiecrui cuv#nt ,expresie. i se poate asocia un arbore de
descriere. Eodurile interioare ale arborelui sunt etic"etate cu operatori
sau nume de funcii iar cele terminale sunt etic"etate cu nume de
variabile sau constante. -e exemplu, expresia
. 7 , max, = x = x +
va fi reprezentata prin

9i!ura &.B
8ulimea nodurilor interioare se numete mulimea funciilor
&0
} , , , { F
f
n
f f f
> %

= n exemplul nostru
O , Pmax, + F
. 9iecare
funcie
F
i
f
are aritatea ,numrul ar!umentelor. cel puin %.
9unciile din F pot fi de diferite tipuri2
aritmetic2 I , , , +
matematic2
lo! exp, cos, sin,
boolean2
+A3 AR 7+ , ,
conditional2
else t)en if
repetitiv2
repeat B)ile for , ,
8ulimea nodurilor terminale din arborele de derivare se numete
mutimea terminalelor
{ }
t
n
t t t , , ,
> %
T
= n exemplul nostru
{ } 7 , , = x T
. 8ulimile F i T pot fi reunite ntr(un !rup uniform
T F C , dac se consider c terminalele sunt funcii de aritate
zero. )entru ca pro!ramarea !enetic s funcioneze eficient,
mulimile F i T trebuie s respecte dou condiii2
cea de nc)idere, adic fiecare funcie din F este apt s accepte
ca ar!ument orice valoare sau tip de dat ce poate fi returnat de orice
funcie din C= aceast proprietate previne erorile din timpul rulrii
cea de suficien, care cere ca funciile din C s poat exprima
soluiile problemei, adic cel puin o soluie aparine mulimii tuturor
compunerilor posibile ale funciilor din C.
&%
<xist mulimi pentru care proprietatea de nc"idere nu este
verificat= de exemplu2
8ulimea
{ } x , , , + C
poate fi nc"is sau nu, n funcie
de
domeniul valorilor lui
x
. $nc"iderea poate fi forat prin folosirea
funciilor GprotejateH. 3stfel de funcii sunt2

'

* = dac = x
* = dac
=
x
%
, operaie ce va fi notat n continuare cu
div

x x
.
*uficiena este !arantat numai pentru unele probleme, c#nd
teoria sau alte metode ne spun c o soluie poate fi obinut
combin#nd elementele lui C. -e exemplu, lo!ica ne spune c
{ } = x +A3 AR 7+ , , , , C
permite implementarea oricrei funcii
booleene, deoarece conine o multime complet de conectori. -ac
C nu este suficient, pro!ramarea !enetic poate doar s dezvolte
pro!rame care s realizeze o aproximare c#t mai bun. -e exemplu,
mulimea
{ } > , % , 0 , I, , , , x + C
nu poate s dea dec#t o
aproximare pentru
. exp,x
, tiind c aceasta este o funcie
trascedental ,nu poate fi aproximat exact cu ajutorul unor expresii
al!ebrice finite.. $n acest caz pro!ramarea !enetic nu poate dec#t s
realizeze aproximri al!ebrice finite de tipul

% . exp, x
&>

x x + % . exp,

>
% . exp,
x
x x + +

B
>
> > %
%
% >
% . exp, x
x
x x
+ +
+
+
+ +
B.2.2 $opulaia iniial#
3rborii iniiali sunt !enerai ale!#nd aleator funcii din C. -e
exemplu, pentru
{ } B , > , % , 0 , , I, , , , = x + C
putem avea

&B
9i!ura &.5
-imensiunea i forma pro!ramelor iniiale sunt controlate
select#nd noduri din F i T, n funcie de ad#ncimea lor n arbore.
3rborii pot fi reprezentai i ca liste de liste. -e exemplu, pentru
primii doi arbori anteriori avem
[ ] x >
,
[ ] [ ] > B I x
.
-in acest motiv, iniializarea populaiei n pro!ramarea !enetic este
bazat, de obicei, pe proceduri recursive care returneaza liste.
8etoda GfullH selecteaz noduri din F dac ad#ncimea lor nu
depete o valoare maxim si noduri din T n caz contrar. 3ceast
te"nic duce la obinerea unei populaii iniiale cu frunzele la acelai
nivel ,ad#ncime..
9i!ura &.7
8etoda G!ro+H selecteaz noduri din C dac ad#ncimea lor
este mai mic dacat o valoare minim i din T n caz contrar. ;um
&5
C conine i elemente terminale, aceast metod produce arbori
iniiali de diferite forme i ad#ncimi, ca n fi!ura &.:
9i!ura &.:
8etoda Gramped "alf and "alfH combin cele dou metode anterioare,
pentru a da o mai mare diversitate populaiei iniiale.
8etodele GfullH i G!ro+H pot fi implementate cu urmtoarea
procedur recursiv
MenereazUexpresie, F, T, maxUad#ncime, metod.
!e&in
if
0 U adCncime max
t(en
!e&in
selecteaz
t
T
insereaz
t
n arbore
en
&7
el)e
!e&in
if metoda F full
t(en selecteaz f F
else selecteaz f F

T
insereaz
f
n arbore
if f F
t(en
!e&in

2 n
aritatea lui
f
fo% % i to
n
o
!enereazUexpresie, F, T, maxUad#ncime(%,
metod.
en
en
en
La apelul

[ ] [ ] ( ) full = x resie exp genereaz , B , B > % 0 , I U +
se poate !enera expresia
[ ] [ ] [ ] [ ] [ ] [ ] [ ] x = x > B I 0 > % + +
&:
care corespunde arborelui urmtor
9i!ura &.7
La apelul

[ ] [ ] ( ) groB , , = x , expresie genereazaD B B > % 0 % +
se !enereaza expresia
[ ] [ ] [ ] [ ] = x % I > B +
care corespunde arborelui
9i!ura &.?
&7
B.2.* Ope%ato%i e evoluie
$ncruciarea const n selectarea aleatoare a punctului de
ncruciare ,nod sau arc n arbore. n fiecare printe i sc"imbarea
subarborilor care ncep de la punctul de ncruciare. 6n exemplu de
ncruciare este dat n fi!ura urmtoare.
prini descendeni
9i!ura &.&
$n funcie de efectul pe care l are asupra structurii, exist trei
variante de mutaie2
&?
mutaia simpl2 modific etic"eta unui nod selectat aleator
9i!ura &.%0
mutaia de expandare2 const n nlocuirea unui nod terminal cu
un subarbore, construit dup aceleai re!uli dar care nu face parte
neaprat din populaia curent, aa cum se nt#mpl n cazul
ncrucirii
9i!ura &.%%
mutaia de reducere2 const n nlocuirea unui subarbore cu un nod
terminal
&&
9i!ura &.%>
$n !eneral se poate ale!e un nod al arborelui i subarborele
dominat de acel nod este nlocuit cu altul !enerat aleator. 3stfel,
mutaia poate fi vzut ca ncruciarea cu un arbore !enerat aleator.
B.2.+ Rula%ea p%o&%a,elo% 2n $%o&%a,a%ea
&enetic#
$n pro!ramarea !enetic pro!ramele sunt reprezentate prin
arbori sau liste= ntotdeauna este posibil s transformm o astfel de
structur ntr(un cod ;, ;XX, Yava, Lisp, etc. -ar, n majoritatea
cazurilor o asemenea operaie este ineficient deoarece
iniial, majoritatea pro!ramelor au un fitness foarte mic i vor
supravieui puine !eneraii
multe pro!rame ,bune sau mai puin bune. vor fi sc"imbate prin
ncruciare sau mutaie i vor trebui recompilate.
%00
4 abordare mai bun este de a interpreta pro!ramele, n loc de
a le compila. 6nele limbaje de pro!ramare, cum este Lisp, au deja un
interpretor n mediul de dezvoltare a pro!ramelor. )entru a(l utiliza
trebuie s ne asi!urm c sintaxa este corect= de exemplu, s utilizm
paranteze rotunde n locul celor ptrate. )entru toate celelalte limbaje
de pro!ramare este necesar construcia unui astfel de interpretor. 3
interpreta un pro!ram nseamn a(l parcur!e n ad#ncime i a evalua
toate nodurile ncep#nd cu frunzele. )arcur!erea n ad#ncime permite
evaluarea nodurilor numai dup ce valorile ar!umentelor lor sunt
cunoscute. -e exemplu,
9i!ura &.%B
$n urma interpretrii, valoarea nodului rdcin este valoarea
pro!ramului.
4 clas de probleme n care pro!ramarea !enetic s(a dovedit
foarte util este re!resia simbolic. 3ceasta este o te"nic folosit
%0%
foarte des n interpretarea datelor i const n !sirea coeficienilor
unei funcii S obinute ca o combinaie de funcii elementare astfel
nc#t aceasta s aproximeze c#t mai bine o funcie cunoscut prin
valorile ei n puncte date. ermenul GsimbolicH semnific faptul c nu
suntem interesai n !sirea parametrilor optimi ,numere. ci a
funciilor optime ,expresii, reprezentri simbolice..
;a exemplu s !sim expresia simbolic care aproximeaz cel
mai bine mulimea de date
( ) { } ( ) ( ) ( ) ( ) { } 0 . 5 , 0 . % , , >:>5 . 0 , ? . 0 , %:>& . 0 , & . 0 , 0 . 0 , 0 . % ,
i i
= x
care a fost !enerat folosind funcia
( )
5 B >
x x x x x f = + + + ,
[ ] % , % x
.
)arametrii pro!ramului !enetic sunt
dimensiunea populaiei F %000
mulimea funciilor F
{ } div cos, sin, exp, lo!, D, , , +
mulimea terminalelor F
{ } x
ad#ncimea maxim F 5
metoda de !enerare a populaiei iniiale F full
numr de !eneraii F 70
probabilitatea de ncruciare F 0.7
pobabilitatea de mutaie F 0
funcia fitness F
( )


i
i i
x prog eval = ,
;#teva din pro!ramele optime obinute la diverse !eneraii sunt2
la !eneratia %
%0>
@X @0 @log @exp xA A @X @sin xA @0 x xA A A @/ @exp @log xA A @sin @log
xA A A A
cu fitnessul (?.>0&?
la !eneraia >
@( @X @X @X x xA @div x xA A x A @log @exp @D x xA A A A
cu fitnessul (7.057:
la !eneraia B
@D @log @( @sin xA @exp xA A A @X @cos @D x xA A @X @X x xA @cos xA A A A
cu fitnessul (5.75BB?
la !eneraia :
@D @X @X @X x @exp @log xA A A @div x xA A x A @log @exp xA A A
cu fitnessul (>.:BB5
*e observ c fitnessul descrete, ceea ce nseamn c pro!ramul
tinde spre !sirea combinaiei optime de funcii= de exemplu, la
iteraia >: se obine fitnessul (0.?5%?:?.
%0B

S-ar putea să vă placă și