Documente Academic
Documente Profesional
Documente Cultură
Artificială
Laborator nr. 3
Algoritmi genetici
Conţinutul laboratorului
z Noţiuni fundamentale în AG
z Elemente de limbaj Matlab pentru AG
z Exemple şi simulări
1
Ce sunt algoritmii genetici?
Terminologie
z Funcţia de performanţă (fitness)= funcţia de optimizat, în general egală cu
funcţia obiectiv;
z Individ= punctul în care se calculează funcţia de performanţă; valoarea
rezultată s.n. scorul individului;
exp: f(x1,x2)=x1*x2
[x1,x2]- individ
2
Cum funcţionează algoritmii genetici?
Algoritm.
START
nu
Condiţie de oprire îndeplinită?
da
STOP
nu
Condiţie de oprire îndeplinită?
da
STOP
3
Observaţie
z La crearea urmaşilor pot apărea următoarele
fenomene:
Elitism
Încrucişare
Mutaţie
Selecţia
4
Metoda roţii de ruletă
Probabilitatea ca un
individ să fie selectat este
direct proporţională cu
funcţia de performanţă a
fiecărui individ
Încrucişarea
5
Încrucişarea într-un punct
Mutaţia
z Mutaţia este utilizată pentru păstrarea diversităţii populaţiei de la o generaţie
la alta;
z Presupune modificarea uneia sau mai multor gene ale unui individ din baza
de încrucişare înainte de a fi transferat în noua generaţie;
z Există numeroase tipuri de mutaţie: întoarcerea unui bit, înlocuirea unui bit
cu o valoare prestabilită, mutaţia neuniformă, mutaţia la frontieră etc.
6
Întoarcerea unui bit
1 0 0 1 1 1 0 0
1 0 0 1 1 0 0 0
Parametrii de intrare:
@functie_fitness: referinţa către un fişier .m în care se calculează funcţia
pentru problema de rezolvat;
nr_var: numărul de variabile independente din funcţia obiectiv (lungimea unui
individ)
Parametrii de ieşire:
x: punctul final (individul cel mai performant găsit prin AG);
fval: valoarea funcţiei de performanţă în punctul x.
7
Elemente de limbaj Matlab
pentru AG (cont.)
z Parametri de ieşire opţionali:
[x fval cauza info_perf pop scoruri]=ga(@fcn,nv)
EXEMPLE
Funcţia lui Rastrigin: Minim global
n n
Ras ( x) = 10 ⋅ n + ∑ xi − 10 ⋅ ∑ cos 2 ⋅ π ⋅ xi
2
i =1 i =1
Problemă de minimizare
Minime locale
8
Funcţia lui Rastrigin - cod
Matlab
z Calculul funcţiei de fitness se face într-un
fişier rastrigin.m
function y= rastrigin(x)
y = 10.0 * size(x,2) + sum(x .^2 - 10.0 * cos(2 * pi .* x),2);
9
Exemple şi simulări Matlab…
10