Sunteți pe pagina 1din 20

?? ?

Programare evolutivă
și algoritmi genetici
GA – Modele de populație

Generația Noua
curentă Variați Descendenți generație
Selecție Părinți Selecție
e ( cromozomi)
( cromozomi) ( cromozomi)

 Generațional: schimb de generații bazat pe vîrsta indivizilor

 Cu stări stabile: schimb de generații bazat pe calitatea


indivizilor
GA – operatori de selecție

 Folosiți în procesul de selectare a părinților

 Determinarea distribuției de probabilitate de selecție


 FPS (Fitness Proportional Selection)
▪ Principiul FPS, inconveniente
▪ Variante FPS: ferestre, sigma-scalare
 Selecția pe bază de rang
▪ Liniară
▪ Neliniară

 Implementarea mecanismului de selecție


 Tip ruletă (ruletă simplă, cu un braț)
 SUS (ruletă cu n brațe)
 Tip turneu
GA – selecție. Principiul FPS

 Determinarea

  distribuției de probabilitate de selecție FPS
 Calitate / performanță cromozom : ,

 Probabilitate de selecție pentru :

 În medie, fiecare individ este selectat de:

 Inconveniente

▪ Convergență prematură  favorizează indivizii mult superiori


▪ Valori comparabile ale performanței  nu există constrîngere de selecție
▪ Apropiat de distribuția uniformă, nu se îmbunătățește semnificativ calitatea populației

▪ Comportament diferit pe versiuni translatate / transpuse ale lui


GA – selecție. Variante FPS

 Variante

  FPS  eliminare / reducere inconveniente
 prin reducerea cantității de informație care le include

 Împărțirea în ferestre pentru populația curentă


 Ajustează funcția fitness (numai în scopul selecției)

-
 - termen de ajustare, calculat pe baza istoricului recent al evoluției
(ultimele generații)
 O alegere uzuală: media mobilă a calității celui mai slab individ

 se folosește în mecanismul FPS în loc de


GA – selecție. Variante FPS

 Sigma-scalare pentru populația curentă



 
 Media de selecție

 Deviația standard de selecție

 este un parametru dat (de obicei )

 se folosește în mecanismul FPS în loc de


GA – selecție. Ranguri, liniar
Calitate apropiată de În medie, relativ la dimensiunea
media valorilor funcției de evaluare populației
 Folosește
Aflat

  clasificare cromozomilor în locul
la mijlocul clasamentului

 Ipoteză: un individ mediu trebuie să aibă 1 șansă de reproducere

▪ Sortare ascendentă a populației în funcție de valoarea

▪ Alocare probabilitate în funcție de poziția în cadrul populației sortate

 Rang liniar

▪ se folosește în mecanismul FPS în loc de

▪ Pentru un individ mediu : ,


GA – selecție. Ranguri, neliniar

  ▪ Pentru a evita scalarea

 Rang neliniar (exponențial)

▪ Favorizează indivizii cu calitate superioară (constrîngere de


selecție mai puternică)
▪ se alege a.î.
GA – selecție. Ranguri, exemple

 Maximizarea

 Nr. crt. funcţiei , cu
Şirul binar Calitatea FPS Rang l. s=1.5 Rang exp.

1 0 1 1 0 0 144 0.0598 0.1200 0.1430


2 1 0 0 1 0 324 0.1344 0.1600 0.1955
3 1 0 1 1 0 484 0.2008 0.2000 0.2149
4 1 1 0 1 1 729 0.3025 0.2400 0.2220
5 1 1 0 1 1 729 0.3025 0.2800 0.2246

 Maximizarea funcţiei , cu
Nr. crt. Şirul binar Calitatea FPS Rang l. s=1.5 Rang exp.

1 0 0 1 1 0 1036 0.1608 0.1200 0.1430


2 0 1 1 0 0 1144 0.1776 0.1600 0.1955
3 0 1 1 1 0 1196 0.1857 0.2000 0.2149
4 1 0 1 0 1 1441 0.2237 0.2400 0.2220
5 1 1 0 0 1 1625 0.2523 0.2800 0.2246
GA – selecție. Mecanism ruletă (un braț)

 Probabilitate

  de selecție ideală vs. Probă din distribuție
 Ideal vs. concret

 Ruleta  o probă din distribuția de probabilitate


 De tip FPS sau bazată pe ranguri

 Algoritm – rotește brațul ruletei de ori


 Pas 1. Pentru fiecare cromozom ,
▪ evaluează performanța
▪ calculează probabilitatea de selecție și probabilitatea cumulată
 Pas 2. Pentru execută 2.1 și 2.2
▪ 2.1. generează aleator un număr
▪ 2.2. dacă
▪ altfel, , , cu proprietatea
GA – selecție. Mecanism ruletă, exemplu

FPS 0.0226 0.4922 0.2034 0.2511 0.0308

6 28 18 20 7

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Cumulat 0.0226 0.5148 0.7182 0.9693 1

Val.
0.6542 0.7234 0.3872 0.5723 0.1742
aleatoare
GA – selecție. Mecanism ruletă, exemplu

0.03 0.02

0.25

0.49

0.2
GA – selecție. Mecanism ruletă SUS (multi-braț)

 SUS

  – Stochastic Universal Sampling
 Implementare mai apropiată de distribuția de probabilitate de selecție
 Rotește 1 dată ruleta cu brațe

 Algoritm
 Pas 1. Pentru fiecare cromozom
▪ evaluează performanța
▪ calculează probabilitatea de selecție și probabilitatea cumulată
 Pas 2. Generează aleator un număr ; i=1; k=1
 Pas 3. Cît timp execută 3.1 și 3.2
▪ 3.1. cît timp execută 3.1.1, 3.1.2 și 3.1.3
▪ 3.1.1.
▪ 3.1.2.
▪ 3.1.3. ;
▪ 3.2.

 Fiecare cromozom va fi selectat de minim și maxim +1 ori


GA – selecție. Mecanism ruletă SUS, exemplu

0.03 0.02

0.9042 0.1042

0.25

0.49

0.7042 0.3042

0.2

0.5042
GA – selecție. Mecanism turneu

 Turneu

 
 Nu necesită informații globale
 Folosit cînd populația este foarte mare sau distribuită în sisteme paralele
▪ FPS greu de calculat
 Dimensiune turneu: indivizi aleși aleator
 Turneu determinist sau stochastic
 Nu respectă distribuția de probabilitate (iterații)

 Algoritm
▪ pentru
▪ generează aleator indivizi din populație în setul S
▪ determină a.î. ( cel mai bun individ din S )

GA – Selecția generației următoare

 Model

  generațional: schimbul de generații bazat pe vîrstă
 Limită de vîrstă (nr. de generații) pentru indivizi, indiferent de calitate

 Utilizat în algoritmi simpli

  înlocuire parțială a generației curente


  decalajul dintre generații
 Extreme:
▪ înlocuire integrală, la fiecare generație (limita de vîrstă=1):
▪ înlocuirea unui individ: , organizare FIFO a populației
▪ cel mai „bătrîn”
▪ alternativă: alegerea aleatoare a individului de înlocuit (performanțe?)
GA – Selecția generației următoare

 Modelul

  cu stări stabile: schimbul bazat pe calitate
 Mecanisme folosite la selecția părinților
▪ Aplicate pe totalitatea cromozomilor din generația curentă plus descendenți
▪ FPS / Ranguri + ruletă / SUS; Turneu
▪ Cele mai utilizate: ranguri+SUS, turneu

 GENITOR
▪ Înlocuirea celor mai slabi indivizi (cu descendenți aleator / cei mai buni)
▪ Avantaj: crește calitatea globală a populației (media)
▪ Dezavantaj: convergență prematură populații mari / fără duplicate

 Elitism
▪ Utilizat în combinație cu alt mecanism de selecție
▪ Previne pierderea celor mai buni indivizi
▪ Superelitism  păstrarea celor mai buni indivizi din cei candidați
GA – Rezolvarea unei probleme

Stabilire Generare
Problemă reprezentare și populație
funcție obiectiv inițială
Generație
curentă

Generație
Rezultat Populație finală
nouă
Multiset părinți

Decodificare Soluție
Descendenți Descendenți
(mutație) (încrucișare)
GA – selecție. Mecanism turneu

 Referințe
 Manual
▪ capitolul 3.5
▪ capitolul 3.6
▪ capitolul 3.7
Spor la învăţat!

S-ar putea să vă placă și