Documente Academic
Documente Profesional
Documente Cultură
Evaluare
func ie
obiectiv
S-a atins
criteriul de
optimizare?
Cei mai
buni
indivizi
Selecie Selec ie
Recombinare
Muta ie
Da
Nu
Rezultate Start
Generare
popula ie
nou
Fig. 3.1. Structura unui algoritm bazat pe calculul evolutiv
Conform celor prezentate, structura general a unei proceduri de
calcul evolutiv cuprinde urmtorii pai:
P1. Iniializeaz 0 t = ;
P2 Genereaz populaia iniial ( ) (0) P t P
P3 Evaluaeaz ( ) P t ;
P4 Repet atta timp ct (not COND_OPRIRE)
P4.1. Stabilete 1 t t + ;
P4.2. Selecia : selecteaz populaia intermediar
1
( ) P t din
populaia anterioar ( 1) P t
P4.3. Recombinarea: aplic procesul de recombinarea
asupra lui
1
( ) P t i rezult o nou
populaie intermediar
2
( ) P t ;
P4.4. Mutaia: aplic procesul de mutaie asupra lui
2
( ) P t i
rezult noua populaie ( ) P t ;
P4.5. Evaluare: evalueaz ( ) P t ;
Sfrit ciclu iterativ.
Pentru a rezolva o problem folosind o procedur de calcul
evolutiv sunt necesare urmtoarele elemente:
O modalitate de reprezentare genetic a spaiului de cutare
(spaiul strilor problemei sau spaiul soluiilor posibile). n
cazul problemelor de optimizarea a unor funcii de una sau
mai multe variabile reale, pentru reprezentarea indivizilor /
cromozomilor se utilizeaz fie codificarea binar fie
codificarea real.
O procedur de creare a populaiei iniiale de indivizi
(soluiile candidat). De regul populaia iniial este creat n
mod aleator. Exist i abordri n care soluiile iniiale sunt
obinute cu o euristic i apoi supuse evoluiei cu o
procedur de calcul evolutiv.
O funcie de evaluare a performanei fiecrui individ.
Funcie de evaluare joac rolul mediului i este utilizat
pentru a cuantifica calitatea indivizilor n termeni de
potrivire / acomodare n raport cu scopul urmrit. Ea este
utilizat n literatura de specialitate sub diverse denumiri,
cele mai cunoscute fiind funcie de performan, funcie de
adecvare sau funcia de fitness.
O metod sau schem de selectare a indivizilor /
cromozomilor pentru recombinare (reproducere) i
modificare.
Operatori genetici pentru crearea de noi indivizi /
cromozomi (reproducere, mutaie, inversiune etc.)
Valorile parametrilor ce definesc procedura de calcul
evolutiv ca de exemplu dimensiunea populaiei, numrul
total de generaii, probabilitile de aplicare a diverilor
operatori genetici etc.
n cadrul cursului vor fi abordate aspecte privind algoritmii
genetici.
3.2. Algoritmi genetici
Algoritmii genetici (AG) sunt procedee de cutare i optimizare bazate
pe mecanismele geneticii i seleciei naturale. Ei combin
supravieuirea artificial a celui mai bun individ cu operatorii genetici
care sunt abstractizri ale celor din natur, n scopul formrii unui
mecanism robust, aplicabil unei largi game de probleme.
Algoritmii genetici i, n general, tehnicile de calcul evolutiv, au fost
aplicate cu succes ntr-un numr mare de probleme. Dintre argumentele
care au condus la extinderea utilizrii algoritmilor genetici se
menioneaz urmtoarele:
a) sunt uor de folosit i necesit un suport matematic puin
complex, orientat spre intuiie;
b) rezolv probleme dificile ce nu pot fi rezolvate prin metode
clasice;
c) sunt uor de extins i pot fi aplicai pentru o gam larg de
probleme;
d) portabilitatea se pot pstra unele subrutine de la un program
la altul.
La nivel general, algoritmii genetici simuleaz evoluia unei specii vii,
plasat ntr-un mediu ambiant ostil, n virtutea principiului darwinist al
luptei pentru existen prin selecie natural i motenire ereditar. n
aceti algoritmi, o populaie de indivizi (soluii posibile) sufer o serie
de transformri. Luptnd pentru supravieuire, indivizii se selecteaz
dup o schem probabilist care ofer anse tuturor. Desigur indivizii
cei mai performani au anse mai mari de a supravieui n noua
generaie. Dinamica procesului de cutare generat de un algoritm
genetic se realizeaz prin combinarea i modificarea indivizilor /
cromozomilor. Scopul urmrit este gsirea combinaiei ce corespunde
adecvrii maxime, adic a combinaiei optime. La fiecare iteraie
algoritmul creeaz o nou populuaie, numit generaie, constituit din
acelai numr de indivizi ca i generaiile anterioare. n general, noua
generaie conine indivizi mai performani, adic mai bine adaptai la
mediul reprezentat de funcia de adecvare / adaptare. n aceste condiii,
pe msur ce generaiile se succed este de ateptat s se nregistreze o a
indivizilor ctre optimul global al funciei de adecvare.
Obinerea unei noi generaii ( 1) P t + pornind de la generaia actual
reprezentat de populaia ( ) P t se realizeaz n trei etape succesive:
Etapa 1 Evaluarea. n cadrul acestei etape AG calculeaz
valoarea funciei de performan pentru
fiecare individ al generaiei / populaiei
actuale.
Etapa 2 Selecia. Algoritmul genetic selecioneaz din
generaia actual, pe baza
performanelor, indivizii care vor devenii
prinii noii generaii. Acetia alctuiesc
o populaie intermediar
1
( ) P t .
Etapa 3 Combinarea i modificarea. n aceast ultim etap
AG combin i modific indivizii
selecionai (indivizii populaiei
1
( ) P t )
folosind operatori genetici de tipul
ncruciare, mutaie, inversiune etc. Din
punct de vedere algoritmic, aceti
operatori reprezint metode de a combina
soluiile (ncruciarea) i de schimbare
local a acestor soluii (mutaia i
inversiunea) reprezentate de prini.
Fiecare operator genetic se aplic cu o
anumit probabilitate. Aceste
probabiliti constituie o pate dintre
parametrii algoritmului genetic.
Structura unui algoritm genetic este aceiai cu cea a unei proceduri
evolutive. Cromozomii utilizai au o lungime constant iar numrul de
indivizi n fiecare generaie este constant. Pentru a crea o nou generaie
se utilizeaz operatorii de selecie, ncruciare i mutaie conform
urmtorului algoritm.
P1. Iniializeaz 0 t = ;
P2 Genereaz n mod aleator populaia iniial ( ) (0) P t P
P3 Evaluaeaz ( ) P t folosind funcia de performan;
P4 Repet atta timp ct (not COND_OPRIRE)
P4.1. Selecia Selecteaz din populaia curent ( ) P t
indivizii care vor contribui la formarea
generaiei urmtoare folosind un operator de
selecie (de exemplu selecia proporional).
Indivizii selectai alctuiesc o populaie
intermediar
1
( ) P t .
P4.2. Combinarea i modificarea Se aplic asupra
indivizilor din
1
( ) P t operatorii de ncruciare
i mutaie rezultnd o nou populaie
intermediar
2
( ) P t (descendenii populaiei
curente ( ) P t );
P4.3. Creaz noua generaie n populaia intermediar
1
( ) P t
indivizii utilizai n procesele de ncruciare
i mutaie sunt nlocuii cu descendenii lor
(indivizii care alctuiesc populaia
intermediar
2
( ) P t ). Populaia
3
( ) P t rezultat
va constitui noua generaie.
P4.4. Stabilete 1 t t + i
3
( ) ( ) P t P t ;
P4.5. Evaluare Evalueaz noua generaie ( ) P t ;
Sfrit ciclu iterativ.
Observaii:
(i) De obicei, condiia de oprire COND_OPRIRE se refer la
atingerea numrului maxim de generaii specificat ca
parametru al algoritmului genetic. Dac acest numr este
MAX_GEN, atunci condiia de oprire este _ t MAX GEN > .
(ii) Se admite c rezultatul algoritmului este codificat de cel mai
performant individ al ultimei generaii. n realitate, nu avem
nici o garanie c un individ mai performant nu a fost obinut
ntr-o generaie anterioar. Din acest motiv, pentru a ne
asigura c cea mai bun soluie nu s-a pierdut pe parcurs, la
fiecare pas se va reine i cel mai bun individ care a fost
generat pn atunci.
(iii) Sunt posibile i alte variante de supravieuire. De exemplu,
putem considera c cei mai performani
p
n indivizi din
generaia curent ( ) P t vor fi inclui n mod automat n
generaia urmtoare putnd participa i la procesele de
combinare i modificare.
3.2.1. Reprezentarea cromozomial
Dup cum s-a specificat anterior, cromozomii sunt iruri de gene, care
codific informaia necesar rezolvrii problemei. Primii algoritmi
genetici, denumii i algoritmi genetici standard, au utilizat codificarea
cromozomilor sub form binar. Ulterior au fost dezvoltai i AG cu
codificare n numere reale, cunoscui sub denumirea de AG hibrizi.
Codificarea binar
n codificarea binar, fiecare cromozom / individ al populaiei este
reprezentat printr-un ir de cifre binare, adic printr-un ir constituit din
0 sau 1. Trebuie menionat faptul c n acest caz metoda de codificare
trebuie nsoit n mod obligatoriu de o metod complementar de
decodificare.
n cazul utilizrii AG n optimizarea numeric care se refer la
minimizarea sau maximizarea unei funcii reale prin alegerea valorilor
variabilelor reale dintr-o mulime permis, este necesar stabilirea unei
metode de codificare, respectiv decodificare a numerelor reale. n acest
sens este necesar specificarea preciziei soluiilor q , adic a numrului
dorit de zecimale exacte. De exemplu, dac se dorete o precizie de ase
zecimale, atunci
6
10 q
= .
Fie
min max
[ , ] x x x . Pentru a codifica binar valoarea x cu o
precizie dat q, mai nti se procedeaz la discretizarea intervalului
min max
[ , ] x x prin mprirea acestuia n intervale de lungime fix. n acest
sens, pentru nceput se consider valoarea maxim a intervalului de
eantionare x q = i se genereaz irul de valori reale discrete:
0 min
1 min
min
max min
0
1
.....
.....
k
n
x x x
x x x
x x k x
x x x n x
= +
= +
= +
= = +
(3.1)
din care rezult c numrul minim de valori discrete reprezentate exact
cu precizia q este:
max min max min
x x x x
n
x q
= =
(3.2)
n continuare se aplic lui x o transformarea liniar prin care se
ataeaz fiecrui numr real din intervalul
min max
[ , ] x x un numr ntreg z
care reprezint, de exemplu, indicele termenilor irului definit de relaia
(3.1) , adic:
min min
max min max min
x x z z
x x z z
=
(3.3)
Alegnd
min
0 z = , din relaia (3.3) rezult:
min
max
max min
x x
z z
x x
(3.4)
respectiv
max min
min
max
x x
x x z
z
= + (3.5)
Pentru codificare, se reprezint numrul ntreg z, obinut cu
relaia (3.4), n baza 2. n acest sens, este necesar s se determine
numrul de bii necesari reprezentrii irului de valori
0 1 max
, ,... z z z corespunztor unei precizii date q.
Dac m este numrul de bii utilizai pentru codificarea binar,
atunci valoarea maxim ntreag care poate fi reprezentat este cea
corespunztoare cazului n care toi biii sunt egali cu 1, adic:
0 1 1
2 1
1 2 1 2 ...1 2 2 1
2 1
m
m m
+ + = =
(3.6)
(suma progresiei geometrice avnd primul termen 1 i raia egal cu 2).
Prin urmare, trebuie determinat cel mai mic numrul ntreg m care s
permit reprezentarea lui
max
z n baza 2. innd cont c
max
z trebuie s
fie cel puin egal cu numrul minim de valori discrete reprezentate exact
(n din relaiile (3.1)), rezult o prim condiie pe care trebuie s o
satisfac m:
max
n z adic
max min
2 1
m
x x
q
(3.7)
Pentru a ne asigura c m este cel mai mic ntreg cutat, trebuie
ca valoarea maxim ntreag reprezentat printr-un ir de bii cu lungime
1 m s fie mai mic dect n, adic
1 max min
2 1
m
x x
n
q
= (3.8)
Din relaiile (3.7) i (3.8) rezult c lungimea cromozomului
utilizat pentru reprezentarea numrului real x cu precizia q este ntregul
care satisface dubla inegalitate:
1 max min
2 1 2 1
m m
x x
q
(3.9)
Exemplu: Se consider c se dorete utilizarea unui AG pentru
determinarea maximului funciei de dou variabile reale
1 2 1 1 2 2
( , ) 21.5 sin(4 ) sin(20 ) f x x x x x x = + +
n domeniul definit de
1
3.0 12.1 x i
2
4.1 5.8 x , cu o precizie
de 4 zecimale exacte pentru fiecare variabil.
n condiiile date
4
10 q
= , iar numrul minim de valori discrete
este
1 4
12.1 3.0
151000
10
x
n
= = , respectiv
2 4
5.8 4.1
17000
10
x
n
= =
Deoarece
17 18
2 1 151000 2 1 < < , iar
14 15
2 1 17000 2 1 < < rezult c
pentru reprezentarea variabilei
1
x se vor utiliza iruri de 18 bii, iar
pentru reprezentarea variabilei
2
x iruri de 15 bii. Prin urmare, un
individ va avea 33 de bii.
Codificarea binar este cea mai obinuit schem de codificare,
fiind simplu de creat i utilizat. Ea confer robustee algoritmilor
genetici permind obinerea unor performane bune pentru diferite clase
de probleme, precum i stabilirea unor rezultate teoretice importante,
cum ar fi teorema schemelor.
Codificarea real
Dei reprezentarea binar poate fi utilizat pentru a reprezenta
aproape orice situaie, iar operatorii nu includ cunotine despre
domeniul problemei, n anumite situaii este mai adecvat utilizarea unei
codificri naturale a problemei, numit i codificare speific. Astfel,
n cazul optimizrii numerice, cnd variabilele iau valori ntr-un
domeniu continuu din R, cea mai natural reprezentare este codificarea
n numere reale. Ea nu mai reclam transformri dintr-o baz n alta,
este conceptual adecvat spaiului soluiilor problemei i permite
implementarea eficient a operatorilor genetici.
n codificarea real fiecare gen este reprezentat printr-un
numr real
i
x R , iar fiecare cromozom printr-un vector
1
[ ,... ,..., ]
n
i n
x x x R = X . Dimensiunea cromozomilor este constant i
egal cu dimensiunea vectorului soluie din spaiul strilor problemei.
Observaie: n timp ce operatorul de selecie nu depinde de tipul
codificrii utilizate, operatorii de recombinare (ncruciare) i mutaie
sunt specifici modului de codificare utilizat.
3.2.2. Operatorul de selecie.
Selecia este cel mai important operator al algoritmilor genetici
i are rol hotrtor n dirijarea procesului de cutare din spaiul
soluiilor. Scopul operatorului de selecie este de a asigura mai multe
anse de reproducere celor mai performani indivizi din cadrul unei
populaii date. Prin urmare, pentru a implementa acest operator este
necesar definirea unei msuri a performanei indivizilor, adic definirea
unei funcii de evaluarea a performanei sau adecvrii fiecrui individ,
numit n continuare funcie de performan. Dac, pentru o problem i
o codificare date, este mulimea tuturor indivizilor/cromozomilor
posibili, atunci funcia de performan este o funcie : f R care
satisface cerinele:
(i) f trebuie s fie pozitiv, adic ( ) 0 f X X
(ii) f trebuie s reflecte calitatea cromozomilor n sensul
optimizrii funciei obiectiv.
Prin urmare, performana unui individ
i
X al populaiei curente
1
( ) { ,... ,..., }
i n
P t X X X = este:
( )
i i
P f X = (3.10)
Deoarece prin selecie se urmrete maximizarea performanei
indivizilor, cutarea se concentreaz n regiunile spaiului soluiilor ce
corespund adecvrii maxime, realizndu-se astfel exploatarea celor mai
bune soluii.
n literatura de specialitate exist o mare diversitate de metode
de selecie dintre care cele mai cunoscute sunt: selecia proporional
sau metoda roii de rulet, selecia prin trunchiere sau selecia bazat
pe ordonare, selecia competiional sau selecia prin concurs (turnir)
i selecia local.
Selecia proporional
Metoda seleciei proporionale este cea mai utilizat metod de
selecie. Ea este inspirat din roata de rulet cunoscut din jocurile de
noroc i a fost dezvoltat odat cu primele versiuni ale AG.
Se definete probabilitatea de selecie a individului
i
X ca fiind
performana normalizat a acestuia, adic:
( )
i i
i
P f X
p
S S
= = (3.11)
n care:
1 1
( )
n n
i i
i i
S P f X
= =
= =
(3.12)
este performana total a populaiei.
Deoarece operatorul de selecie se aplic de n ori asupra
populaiei curente
1
( ) { ,... ,..., }
i n
P t X X X = , constituit din n
indivizi/cromozomi, rezult c valoarea medie a numrului
descendenilor individului
i
X este:
1 1
( ) ( )
1
( ) ( )
i i i i
i i
n n
m
i i
i i
P f X f X P
n np n n
S S
f X f X
n
= =
= = = = =
(3.13)
n care
m
S este performana medie a populaiei.
Pentru a realiza selecia individului
i
X cu o probabilitate
i
p se
poate utiliza o metod de tip Monte Carlo. n acest sens, se construiete
o rulet avnd n sectoare, fiecare sector corespunznd unui individ al
populaiei. Spre deosebire de ruleta clasic care are aceiai dimensiune a
sectoarelor, de aceast dat dimensiunea unui sector i este direct
proporional cu probabilitate de selecie
i
p a individului
i
X . Prin
urmare, pentru a construi ruleta se calculeaz sumele pariale
1
i
i k
k
q p
=
=
(3.14)
Ruleta este rotit de n ori. La fiecare rotire este selectat un individ care
este copiat n populaia intermediar
1
( ) P t .
Algoritmul seleciei bazat pe principiul ruletei este urmtorul:
P1. Se calculeaz performana
i
P a fiecrui individ i performana
total a populaiei folosind relaiile (3.10) i (3.12)
P2. Pentru fiecare individ al populaiei curente se calculeaz
probabilitatea de selecie (performana normalizat)
i
p i suma
parial
i
q folosind relaiile (3.11) i (3.14).
P3. Repet de n ori
P3.1. Genereaz un numr aleator [0,1]
s
r
P3.2. Efectueaz selecia conform urmtoarei reguli:
DAC
1
0
s
r q selecteaz individul
1
X .
DAC
1 i s i
q r q
selecteaz individul
i
X .
Exemplu. Se consider o populaie format din 10 indivizi, avnd
performanele prezentate n coloana 2 din tabelul 3.1. Performana
total a populaiei este egal cu 155. Rezult valorile performanelor
normalizate, adic probabilitile de selecie pentru fiecare individ i
sumele pariale normalizate din coloanele 3 i 4 ale tabelului 3.1. Dac
se nmulete coloana 3 cu 10, atunci rezult numrul mediu de copii
pentru fiecare individ din coloana 5 a tabelului 3.1.
Pe baza datelor prezentate n tabelul 3.1. se construiete ruleta din figura
3.2. Se observ c cea mai mare ans de a fi selectat prin mecanismul
ruletei o are individul 8 urmat de indivizii 9 i 10, n timp ce cea mai
mic ans o are individul 1. Dac, de exemplu, n urma generrii unui
numr aleator (o nvrtire a ruletei) rezult valoarea 0,125
s
r = , atunci va
fi selectat individul 3 deoarece
2 3
0, 096 0,125 0, 205
s
q r q = < = < = .
Tabelul 3.1. Exemplu de populaie
Individ
ul
Performan
a
Performana
normalizat
Suma
parial
normalizat
Numrul
mediu de
copii
1 3 0,019 0,019 0,19
2 12 0,077 0,096 0,77
3 17 0,109 0,205 1,09
4 7 0,045 0,250 0,45
5 9 0,058 0,308 0,58
6 11 0,070 0,378 0,70
7 13 0,083 0,461 0,83
8 42 0,270 0,731 2,70
9 23 0,148 0,879 1,48
10 18 0,116 1,00 1,16
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
Fig. 3.2. Exemplu de rulet pentru o populaie de 10 indivizi
3.2.3. Operatorul de recombinare.
n cadrul unui AG operatorul de selecie este utilizat pentru a
concentra cutarea n cele mai promitoare regiuni ale spaiului strilor.
El singur nu poate s introduc n populaie noi indivizi. Prin urmare,
sunt necesari ali operatori care, genernd noi indivizi, asigur
explorarea zonelor nvecinate zonei ce conine populaia curent. Dintre
aceti operatori, cei mai utilizai sunt operatorii recombinare i mutaie.
Operatorul de recombinare, denumit i operator de ncruciare
sau crossover operator n terminologia englezeasc, permite generarea
de noi indivizi printr-un proces de ncruciare ntre indivizii populaiei
intermediare rezultat prin selecie, proces care imit ncruciarea
natural. De regul se utilizeaz o procedur de ncruciare de tipul (2-
2), adic din doi prini se vor obine doi descendeni. ncruciarea
realizeaz un schimb de informaie ntre cei doi prini i, prin urmare,
descendenii obinui vor moteni caracteristici ale ambilor prini.
Se precizeaz faptul c nu toi indivizii din populaia
intermediar
1
( ) P t , rezultat n urma seleciei, vor participa la procesul
de ncruciare. Operatorul de ncruciare se aplic asupra indivizilor din
1
( ) P t cu o anumit probabilitate
r
p , numit probabilitatea de
recombinare sau probabilitatea de ncruciare, care constituie unul
dintre parametrii importani ai unui AG. Dac n=dim_pop este
dimensiunea populaiei asupra creia acioneaz AG, deci i
dimensiunea populaiei intermediare, atunci rezult c numrul mediu al
cromozomilor reinui pentru recombinare/ncruciare va fi:
_ _
med
r r r
n n p dim pop p dim pop = = < (3.15)
n contextul celor prezentate, rezult c prima etap din cadrul
procesului de recombinare o constituie selecia indivizilor din populaia
intermediar
1
( ) P t i formarea perechilor pentru ncruciare. Acest
proces se realizeaz conform urmtorului algoritm:
P1. Pentru fiecare individ din
1
( ) P t se execut:
P1.1. Genereaz un numr aleator [0,1]
r
r
P1.2. Dac
r r
r p < , atunci individul este reinut pentru
ncruciare
P2. Fie
r
n numrul indivizilor reinui n pasul P1. Dac
r
n este un
numr impar atunci fie se adaug un nou individ, fie se terge un
individ deja selectat. Pentru adugare sau tergere se opteaz n
mod aleator, genernd un numr aleator suplimentar. Cu
indivizii astfel selectai se formeaz, n mod aleator,
*
2
r
n
perechi, n care
*
r
n este numrul indivizilor reinui dup
aplicare procesului de ajustare prezentat anterior.
Observaie: Probabilitatea de ncruciare are valori de ordinul
1
10
, comparativ cu probabilitatea de
ncruciare.
n cazul codificrii binare procedeul de mutaie const n negarea unui
bit selectat arbitrar din secvena genetic pe baza probabilitii de
mutaie
m
p . Exist diverse variante ale operatorului de mutaie care pot
avea dou forme:
forma tare de implementare a operatorului de mutaie n care
valoarea poziiei/genei selectate se schimb automat
forma slab de implementare a operatorului de mutaie n care
valoarea poziiei/genei selectate nu se schimb automat ci
aleator.
n aceste condiii, algoritmul de mutaie, n forma tare, const n
parcurgerea urmtorilor pai pentru fiecare cromozom al populaiei i
pentru fiecare gen/poziie din cromozom:
P1. Pentru fiecare gen i se genereaz un numr aleator [0,1]
m
r
P2. Dac
m m
r p < atunci se execut mutaia genei respective
schimbnd 0 n 1, respectiv 1 n 0.
n varianta slab a operatorului, pasul P2 se nlocuiete cu:
P2. Dac
m m
r p < atunci se alege aleator una dintre valorile 0 sau 1
i se atribuie genei i selectate n pasul 1.
Operatorul de mutaie poate fi utilizat ntr-o manier uniform sau
neuniform. n cazul mutaiei uniforme valoarea
m
p a probabilitii de
mutaie este constant pentru toate generaiile n schimb, n varianta
neuniform a operatorului valoarea probabilitii de mutaie se modific
de la o generaie la alta conform relaiei:
(1 )
,0
( )
t
m m
p t p e
= (3.18)
n care
,0 m
p este valoarea iniial a probabilitii de mutaie
(probabilitatea de mutaie la prima generaie 1 t = ), iar 1 este un
parametru real. Cu ct valoarea lui este mai mare, cu att
probabilitatea de mutaie descrete mai repede.
Mutaia poate fi aplicat i n cazul codificrii n numere reale. n acest
caz, mutaia uniform nlocuiete o singur gen a cromozomului cu o
valoare real generat aleator n intervalul
min max
[ , ]
i i
g g de variaie al
acesteia.
n cazul mutaiei neuniforme genele selectate pentru mutaie sufer
modificri importante n primele generaii i apoi descresc treptat. Se
realizeaz astfel un progres important al cutrii n faza iniial i un
control fin al procesului de cutare n fazele finale ale acestuia. La
fiecare generaie t se genereaz aleator doi parametrii. Primul parametru
1
r va indica creterea sau descreterea valorii genei selectate. Astfel,
dac
1
1 r = valoarea genei selectate va fi sczut, iar dac
1
1 r =
valoarea acesteia va fi crescut. Al doilea parametru
2
r este un numr
aleator din intervalul [0,1] , care urmeaz o distribuie normal. Dac
i
g
este gena cromozomului selectat pentru modificare, atunci noua
valoare a acesteia se determin cu relaiile:
1
max
2
( ) 1
t
m T
i i i i
g g g g r
= +
dac
1
1 r =
1
min
2
( ) 1
t
m T
i i i i
g g g g r
=
dac
1
1 r =
n care
min
i
g i
max
i
g sunt limitele intervalului de variaie a valorilor
genei, iar T indicele generaiei pentru care amplitudinea mutaiei se
anuleaz, adic indicele generaiei de la care nu se mai aplic operatorul
de mutaie. n general T este egal cu numrul maxim de generaii.