Documente Academic
Documente Profesional
Documente Cultură
Reprezentări cromozomiale.
Operatorul mutație.
I. ALGORITMI GENETICI (GA)
Reprezentare
Fenotip Genotip
m obiecte; obiectul i
poate fi selectat un obiect (nu fracțiuni din el) dacă nu este depăşit Cmax.
Restricție
Problemă
de optim
Reprezentarea binară. Codificarea Gray
,y
distanța Hamming :
pe biţi:
Bitul cel mai
semnificativ
reprezentarea Gray pe m biți a unui număr
Pas2: calculează .
Alegerea unei codificări - pe baza unor relaţii naturale între valorile pe care
le poate lua fiecare atribut (variabilă).
Atribute ordinale - dacă sunt cu valori într-o mulţime de numere
întregi, valoarea 2 este “mai similară“ cu 3 decât cu 312.
Atributelor cardinale – distanța între două valori posibile este
irelevantă.
Calculați cîte avioane din fiecare tip trebuie cumpărate astfel încît
să se încadreze în buget (variație: utilizând cât mai mult din buget)
Autonomia medie să fie cât mai mare
Raza medie pentru TCAS să fie minim 40 km.
III. Reprezentarea prin vectori cu numere întregi
Constrângeri
Funcția de evaluare
IV. Reprezentarea prin numere reale
Reprezentarea este preferată atunci când fenotipurile provin dintr-o
distribuţie continuă.
Genotipul corespunzător unui candidat soluţie cu n gene este deci vectorul ,
unde .
Exemple:
probleme de optimizarea de tipul
Clase de probleme:
probleme în care ordinea apariţiei evenimentelor este
importantă dependenţa de ordine: problema planificării
activităţilor
probleme cu dependenţă de adiacenţă stabilirea
vecinătăților: TSP
VI. Operatorul de mutație
Operator unar
MO=O; MO=O;
for i=1:dim for i=1:dim
1. mutat=0; 1. generează
2. for j=1:n 2. if
2.1. generează 2.1.
2.2. if MO(i,:)=mutație(O(i,:));
• MO(i,j)=mutație(O(i,j)); 2.2. evaluează MO(i,:)
• mutat=1;
3. if mutat
• evaluează MO(i,:)
Probleme cu constrângeri
Reprezentare 1 Reprezentare 2
MO=O; MO=O;
for i=1:dim for i=1:dim
1. mutat=0; 1. generează
2. for j=1:n 2. if
2.1. generează 2.1. MO(i,:)=mutație(O(i,:));
2.2. if 2.2. if Admisibil(MO(i,:))
• MO(i,j)=mutație(O(i,j)); • evaluează MO(i,:)
• mutat=1; else
3. if mutat • MO(i,)=O(i,:)
3.1. if Admisibil(MO(i,:))
• evaluează MO(i,:)
else
• MO(i,:)=O(i,:)
VIII. Operatorul mutaţie. Reprezentarea binară
Cel mai utilizat operator de mutaţie în reprezentarea binară bit flip.
1 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0
1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0
IX. Mutaţia în reprezentarea prin numere întregi
Resetarea aleatoare cu probabilitatea pm, valoarea fiecărei gene este
modificată prin generarea aleatoare uniformă a unei valori din mulţimea
valorilor admisibile pentru gena respectivă.
Utilizat în cazul atributelor de tip cardinal 𝑎𝑐𝑒𝑒𝑎 ș 𝑖 ș 𝑎𝑛𝑠 ă
Exemplu – dacă fiecare alelă este în
-8 4 6 -5 2 10 7 -3 -8 1 6 -5 2 10 7 -3
-8 4 6 -5 2 10 7 -3 -8 4 6 -5 1 10 7 -3
X. Mutaţia în reprezentarea prin numere reale
Mutație uniformă (corespondent: resetare aleatoare)
Modifică o alelă cu o valoare aleatoare: distribuție uniformă
Exemplu: ,
0.4 0.1 0.7 0.9 1.0 0.2 0.3 0.5 0.4 0.7 0.7 0.9 1.0 0.2 0.3 0.5
Exemplu: , ,
+
Dacă valorile cu care sunt modificate alelele sunt în atunci ele pot fi
generate din distribuţia , unde
XI. Mutaţia în reprezentarea prin permutări
4 3 6 5 7 2 1 8 4 3 1 5 7 2 6 8
Inserare
alege aleator două gene < , inserează pe poziția
Alelele se deplasează la dreapta cu o poziție
Dacă nu are efect
Exemplu:
4 3 6 5 7 2 1 8 4 3 6 1 5 7 2 8
XI. Mutaţia în reprezentarea prin permutări
4 3 6 5 7 2 1 8 4 3 7 2 5 1 6 8
4 3 6 5 7 2 1 8 4 3 1 2 7 5 6 8
Referințe curs
Referințe
Manual
capitolul 3.1
capitolul 3.2
capitolul 3.3