Documente Academic
Documente Profesional
Documente Cultură
Programare evolutivă
și algoritmi genetici
Algoritmi genetici - GA
Algoritmul general EA
Elemente specifice pentru algoritmul clasic (canonic)
Reprezentare prin șiruri binare
Probabilitate de selecție proporțională cu calitatea
Probabilitate de recombinare mare (principalul operator de variație)
Probabilitate de mutație mică
Selecția supraviețuitorilor pe baza vîrstei (1 generație)
GA - reprezentare
Reprezentare
Fenotip Genotip
Reprezentarea
binară
Naturală pentru probleme cu variabile de decizie booleană
, unde
Exemple
▪ Problema rucsacului 0-1. Capacitate maximă cmax, valori asociate
cost. Vector cu elemente:
şi
▪
GA – reprezentare. Binară
Codificare
▪ fie , ,
▪
,
ex. a=14
GA – reprezentare. Binară
Decodificare
dacă ,
Număr ▪ Pas
0 2: calculează
1 2 3 4 5 6 7
Binar std. 0000 0001 0010 0011 0100 0101 0110 0111
Reprezentare
prin șiruri de numere întregi
Exemple:
▪ Funcții de optimizare definite pe (un interval)
▪ Codificarea unui set de operații / opțiuni
▪ Deplasare într-o rețea: sus, stînga, jos, dreapta
Reprezentare
prin șiruri de numere reale
Exemplu
GA – reprezentare. Permutări
Reprezentare
prin permutări
Ordinea apariției unor evenimente valori întregi distincte
, unde ,
Tipuri de probleme
▪ Ordinea evenimentelor e importantă: planificare activități, problema
celor n regine
▪ Dependența de vecinătăți: problema comis-voiajorului (start=?)
GA – operatori de mutație
Mutație
Mecanism?
Operator genetic unar: 1 cromozom „părinte” descendent
Dimensiune
populație
Factor stochastic: probabilitate de aplicare , mică
▪ Asupra fiecărei gene, cu probabilitatea Dimensiune
▪ Se modifică sau se păstrează alela cromozom
▪ În medie se modifică gene din generația curentă
▪ Limite: 1 genă din 1 cromozom 1 genă din fiecare cromozom
1 1
Specific fiecărui tip de reprezentare
𝑝𝑚 ∈
[
𝑑𝑖𝑚 ∗ 𝑛 𝑑𝑖𝑚
,
]
▪ Binară: negare
▪ Numere întregi: resetare aleatoare, fluaj
▪ Numere reale: mutație uniformă, mutație neuniformă
▪ Permutări: interschimbare, inserare, amestec, inversiune (!)
GA – operatori de mutație. Negare
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
GA – operatori de mutație pe șiruri de numere întregi
Resetare
aleatoare
Modifică alela cu o valoare aleatoare: distribuție uniformă
În general pentru atribute de tip cardinal
Exemplu:
-8 4 6 -5 2 10 7 -3 -8 1 6 -5 2 10 7 -3
Fluaj
Modifică alela cu o valoare mică (): distribuție de medie 0
În general pentru atribute de tip ordinal
Exemplu:
-8 4 6 -5 2 10 7 -3 -8 4 6 -5 1 10 7 -3
-8 4 6 -5 1 11 7 -3
GA – operatori de mutație pe șiruri de numere reale
Mutație
uniformă (~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
Se
aplică la nivel de cromozom, nu genă
Interschimbare
alege aleator două gene și , interschimbă cu
Exemplu:
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
GA – operatori de mutație pe permutări
Amestec:
alege aleator două gene <
repoziționează aleator alelele în același interval
Exemplu:
4 3 6 5 7 2 1 8 4 3 7 2 5 1 6 8
Referințe
Capitolul3
▪ 3.1. Introducere
▪ 3.2. Reprezentare
▪ 3.3. Mutație
Temă
Implementați toți operatorii de mutație (cîte o funcție pentru fiecare)
▪ I: cromozom, probabilitate de mutație, alte informații necesare
▪ E: noul cromozom, calitate
Spor la învăţat!