Documente Academic
Documente Profesional
Documente Cultură
STRATEGII EVOLUTIVE
8.1 Generalităţi
169
Primul algoritm de tip SE a fost propus în 1964 de către
Rechenberg şi Schwefel în scopul rezolvării unei probleme care cerea
amplasarea unei conducte flexibile într-o zonă de o anumită formă
astfel încat costul să fie cât mai mic. Ideea rezolvării era: pornind de la
o aproximaţie curentă se genera alta printr-o perturbaţie aleatoare
bazată pe o repartiţie normală şi se alegea cea mai bună dintre cele
două. Această strategie, numită 1 1 , nu opera cu populaţii ci
urmărea adaptarea unui singur individ sub acţiunea mutaţiei. Limitele
acestui model au dus la căutarea unor mecanisme care să implice în
evoluţie mai mulţi indivizi. Dintre acestea amintim:
170
nou generat este mai slab decât toate elementele populaţiei curente
atunci aceasta rămâne nemodificată.
171
dintre cele două funcţii de densitate (normală şi Cauchy) este ilustrată
în figura 8.1.
b) perturbaţiile sunt independente iar parametrii i sunt
determinaţi prin autoadaptare (cu perturbare log-normală) la fel ca în
cazul strategiilor evolutive clasice.
c) nu se foloseşte încrucişare nici asupra componentelor
propriu-zise nici asupra parametrilor de control.
d) selecţia este de tip turneu.
172
8.2 Operatori de evoluţie
8.2.1 Incrucişarea
173
1
x x , , x
p
ales aleator. În cazul p , părintele care dă
componenta y i a descendentului y este ales din întreaga populaţie;
de aceea încrucişarea se numeşte globală.
j xi
j
yi i 1, 2 , , n
j 1
şi
p
j 1, j 0.
j 1
174
tipurile de încrucişare se aplică similar şi pentru dispersie sau alţi
parametri de control.
Experimental, s-a observat că se obţin rezultate bune dacă pentru
vectorii de poziţie se utilizează încrucişarea discretă iar pentru
parametri strategiei se foloseşte încrucişarea intermediară.
8.2.2. Mutaţia
sau, pe componente,
x ' i x i ' i N i 0 , 1 , i 1, 2 , , n
175
8.3. Funcţionarea strategiilor evolutive
8.3.1 Strategia (1 1)
Algoritmul SE(1+1)
begin
t : 1 , P ( t ) x ( t ), ( t )
evaluează f ( x )
176
while not cond ( P ( t )) do
begin
calculează p (k )
calculează
t 1
n dac ă p (k )
c 5
1
t 1 mut t t dac ă p (k )
5
1
t c p k
n
dac ă
5
calculează
x t 1 mut x t x t t 1 N 0 , 1
evaluează f x t 1
if f x t 1 f x t {selecţia}
then P t 1 x t 1 , t 1
else P ( t 1) : P ( t )
t : t 1
end
end
Observaţii.
1) cond ( P ( t )) reprezintă condiţia de oprire, dată de obicei prin
numărul de generaţii
2) Schwefel a propus (1995) o altă versiune a mutaţiei pentru
177
parametrul ??
t 1
c dac ă p (k )
5
1
t n t dac ă p (k )
5
1
c t dac ă p k
5
8.3.2 Strategia ( 1)
x ' i x i ' i N i 0 , 1
x ' i x i ' N i 0 , 1
180
adică toate componentele vectorului de poziţie se modifică folosind
c
aceeaşi dispersie; parametrul p ia valoarea p .
n
Strategiile multidimensionale funcţionează după următorul algoritm
begin
t : 0
iniţializează populaţia P (t )
evaluează indivizii din P (t )
while not cond ( P ( t )) do
begin
P ' ( t ) : încrucişare ( P ( t ))
evaluează P " ( t )
P (t 1) : selecţie P " ( t ) M
t : t 1
end
end
M pentru strategia , .
182
8.3.3 Utilizarea mutaţiilor corelate
,
n
• este vectorul unghiurilor ce definesc mutaţiile
n
corelate ale lui x ; n n n 1 .
2
183
Parametri şi ai strategiei se modifică prin mutaţie iar tipul
acestei operaţii depinde de valorile lui n şi n . Astfel, pentru
• n 1 şi n 0 se obţine mutaţia standard, când o singură
vectorului x
n ( n 1)
• n n şi n se obţin mutaţiile corelate
2
acţioneaza astfel:
' N ( 0 , 1) N i ( 0 , 1)
'i i e , 1 i n
'j j N j ( 0 , 1) , 1 j n
x ' x cov ( , )
z i N 0 , ' i
2
,
184
n 1 n
T T pq ' j ,
p 1 q p 1
1
j 2 n p p 1 2 n q .
2
Matricea de rotaţie T pq ' j este matricea unitate exceptând
t pp t qq cos j şi t pq j .
t qp sin
185
proprietate);
iii) recombinarea se aplică cu o anumită probabilitate pr.
186
practic este util faptul că strategiile evolutive au cel mult viteză liniară
de convergenţă.
În absenţa unei teorii complete a domeniului, multe dintre
proprietăţile şi regulile de proiectare sunt deduse pornind de la studii
experimentale. Acestea se efectuează pe probleme de optimizare
construite în aşa fel încât să ridice dificultăţi metodelor de rezolvare
(de exemplu cu multe minime locale sau cu un minim global greu de
atins din cauza prezenţei unor "platouri"). Multe dintre funcţiile de test
utilizate în analiza strategiilor evolutive au fost construite pentru a
testa metode tradiţionale de optimizare şi au ridicat dificultăţi pentru
acestea.
Cum strategiile evolutive implică prezenţa unor elemente
aleatoare, la rulări diferite ale algoritmului se vor obţine rezultate
diferite. Din acest motiv studiul experimental nu poate fi decât unul
statistic caracterizat prin faptul că se vor efectua mai multe rulări
independente şi se va determina frecvenţa situaţiilor în care strategia
a avut succes. Se consideră că strategia a avut succes atunci când cel
mai bun element întâlnit de-a lungul generaţiilor (sau cel mai bun
element din ultima generaţie) este suficient de apropiat de optim.
Studiile statistice sunt folosite pentru a analiza influenţa
operatorilor şi a parametrilor de control asupra eficacităţii strategiei
evolutive. Valoarea lor este limitată datorită faptului că rezultatele
obţinute pe funcţii test nu pot fi extrapolate pentru orice problemă de
optimizare. Coroborate însă cu rezultatele teoretice (obţinute pentru
187
funcţii test simple, cum este modelul sferei) au condus la criterii
euristice care au un oarecare succes în practică.
Din punct de vedere statistic prezintă interes valoarea medie şi
dispersia valorii optime descoperite la fiecare rulare.
189