Sunteți pe pagina 1din 24

ALGORITMI GENETICI

ALGORITMI GENETICI
Reprezinta tehnici de cautare si optimizare avand ca punct de pornire o metafora bilogica. Aceasta metafora biologica este cea a mostenirii genetice si evolutiei naturale

Tehnici de inteligen computaional n electronic, G. Oltean

1 /24

ALGORITMI GENETICI

Introducere
AG sunt metode de cautare stocastice care mimeaza evolutia naturala biologica Opereaza pe o populatie de solutii potentiale aplicand principiul supravietuirii celui mai bun (teoria evolutionista Darwin) pentru a produce aproximari din ce in ce mai bune ale solutiei. Fiecare individ al populatiilor se descrie printr-un singur cromozom Genotipul fiecarui individ contine un singur cromozom
Tehnici de inteligen computaional n electronic, G. Oltean 2 /24

ALGORITMI GENETICI

Introducere cont.

In fiecare generatie este creat un nou set de indivizi (aproximatori, cautatori) in urma selectiei celor mai adecvati indivizi si combinarea acestora pentru a da nastere la noi indivizi utilizand operatori imprumutati din genetica Are loc evolutia populatiei de indivizi care astfel devin mai adecvati (potriviti) mediului decat indivizii din care au fost creati, similar cu adaptarea naturala. Sunt modelate procese naturale:
selectie, recombinare, mutatie.
Tehnici de inteligen computaional n electronic, G. Oltean 3 /24

ALGORITMI GENETICI

Structura unui AG

Tehnici de inteligen computaional n electronic, G. Oltean

4 /24

ALGORITMI GENETICI

Reprezentarea variabilelor
Specifica AG este notiunea de cromozom, ce contine toate informatiile necesare reprezentarii unui individ. Un cromozom este compus din gene variabila a problemei de optimizat Cromozom generic in care fiecare gena reprezinta o variabila:

Alfabetul utilizat in reprezentarea genelor poate fi teoretic orice alfabet, cele mai utilizate fiind: reprezentarea binara reprezentarea reala specifica problemelor ingineresti

Tehnici de inteligen computaional n electronic, G. Oltean

5 /24

ALGORITMI GENETICI

Reprezentarea variabilelor - binar


De exemplu in cazul unei variabile cu valori in domeniul (0, 255) se utilizeaza un sir de 8 biti:
0: 00000000 127 : 01111111 128 : 10000000 255 : 11111111

cea mai mica schimbare in valoarea functiei obiectiv (intre 127 si 128) poate solicita schimbarea tuturor bitilor nu este de dorit ! solutie: codul Gray distanta Hamming intre valori adiacente este 1 o Provocari la reprezentarea in binar: rezolutia numere zecimale numere negative mai multe variabile ramanerea in domeniul dinamic al fiecarei variabile
Tehnici de inteligen computaional n electronic, G. Oltean 6 /24

ALGORITMI GENETICI

Reprezentarea variabilelor valori reale


De exemplu in cazul a trei variabile putem avea:

124; 10,56; 235 43; 0,45; + 47

avantaj major, in special pentru implementare: vector cu valori reale pe parcursul evolutiei nu exista interactiune intre variabile diferite

o Provocari la reprezentarea cu valori reale: mentinerea domenului dinamic al fiecarei variabile

Tehnici de inteligen computaional n electronic, G. Oltean

7 /24

ALGORITMI GENETICI

Generarea populatiei initiale


Uzual initializarea se realizeaza stocastic (aleator) Uneori se introduc in populatia initila catva indivizi selectati euristic (indivizi promitatori) si se completeaza cu indivizi alesi aleator Populatia initiala ar trebui sa conste dintr-o varietate mare a indivizilor Marimea populatiei: moderata 50 500 indivizi Marimea populatiei tinde sa creasca liniar cu dimensiunea unui individ Generare aleatoare cu distributie de probabilitate uniforma POP_INIT=zeros(NumInd, NumVar); for i=1:NumVar RandVar=(HB(i)-LB(i)).*rand(NumInd,1)+LB(i); POP_INIT(:,i)=RandVar; end
Tehnici de inteligen computaional n electronic, G. Oltean 8 /24

ALGORITMI GENETICI

Functia de adecvare
Functia de adecvare (fitness) se determina in concordanta cu valoarea functiei obiectiv definita pentru problema de optimizare de rezolvat. Formularea problemei de optimizare este de tipul minimizeaza sau maximizeaza
(se poate trece de la una la cealalta utilizand semnul minus in fata functiei)

Exemplu de problema de minimizare

Gaseste x care minimizeaza F ( x ) pentru x D

Functia De Jong 2 variabile


2 F ( x1 , x2 ) = x12 + x2 ;

x = [ x1 , x2 ];

D = [10,10] x [10,10]

Tehnici de inteligen computaional n electronic, G. Oltean

9 /24

ALGORITMI GENETICI

Functia de adecvare - cont


Pentru probleme de optimizare multiobiectiv exista doua variante:
Optimizare multiobiectiv reala multimea solutiilor optime Pareto Transformarea intr-o problema cu un singur obiectiv prin combinarea functiilor obiectiv individuale intr-o singura functie cost rezulta o singura solutie
Gaseste x care minimizeaza F ( x ) = wk f k ( x ) pentru x D
k =1 N

unde wk sunt ponderi ce arata preferinta relativa

Ca functie de adecvare se poate utiliza direct functia obiectiv dar apare un neajuns:
Dupa un anumit numar de generatii multe dintre valorile functiei de adecvare vor fi foarte apropiate de valoarea optima, ceea ce conduce la dificultati in diferentierea indivizilor in procesul de selectie (convergenta prematura, pirderea diversitati populatiei) Solutie: ordonarea indivizilor in functie de valoarile functiei obiectiv
Tehnici de inteligen computaional n electronic, G. Oltean 10 /24

pentru fiecare dintre functiile obiectiv f k ( x)

ALGORITMI GENETICI

Atribuirea adecvarii - ordonare


Functie de adecvare proportionala Functie de adecvare bazata pe rang (in urma ordonarii)
liniara neliniara

Functie de adecvare multiobiectiv


ordonare Pareto (multi-ranking) atingerea scopului insumare ponderata

Tehnici de inteligen computaional n electronic, G. Oltean

11 /24

ALGORITMI GENETICI

Atribuirea adecvari bazata pe ordonare


Populatia este ordonata in concordanta cu valoarea functiei obiectiv Valoarea adecvarii atribuita fiecarui individ depinde numai de pozitia sa in urma ordonarii si nu de valoarea functiei obiectiv Fiecare individ primeste o probabilitate de reproducere depinzand de propria valoare a functiei obiectiv si de valorile functiilor obiectiv a celorlalti indivizi

Pos 1 Adecvare(Pos ) = 2 PS + 2(PS 1) Nind 1 Pos - pozitia; Nind dimensiunea populatiei PS - presiunea de selectie
Cel mai adecvat individ are Pos=Nind

si cea mai mare valoare a functiei de adecvare Cel mai putin potrivit individ are Pos=1 si cea mai mica valoare a functiei de adecvare
Tehnici de inteligen computaional n electronic, G. Oltean 12 /24

ALGORITMI GENETICI

Atribuirea adecvari bazata pe ordonare cont.


Pos 1 Nind 1 Pos - pozitia; Nind dimensiunea populatiei PS - presiunea de selectie Adecvare(Pos ) = 2 PS + 2(PS 1)
De regula

PS [1, 2]

Cresterea presiunii de selectie focalizeaza cautarea asupra celor mai performanti indivizi, exploatand cele mai bune solutii Convergenta prematura a cautarii, pierdere a diversitatii genetice, reducerea capacitatii de explorare a spatiului starilor Reducerea presiunii de selectie poate duce la uniformizarea selectiei, cautarea devenind putin eficienta creste capacitatile de explorare, in procesul de selectie fiind inclusi mai multi cromozomi Trebuie mentinut un echilibru explorare - exploatare

Tehnici de inteligen computaional n electronic, G. Oltean

13 /24

ALGORITMI GENETICI

Atribuirea adecvari bazata pe ordonare


Adecvare = fitness value

Problema de minimizare

Tehnici de inteligen computaional n electronic, G. Oltean

14 /24

ALGORITMI GENETICI

Determinarea populatiei intermediare ce contine parintii care vor fi supusi operatorilor genetici de recombinare si mutatie - selectarea indivizilor care vor produce urmasi. Metode:

Selectia

aleatoare in procesul de selectie sunt introduse elemente aleatoare, in general prin utilizarea unor probabilitati de selectie care depind de gradul de adecvare. Elementele cu grad mare de adecvare au sanse mai mari de a fi selectate, astfel ca numarul de urmasi ai acestora poate fi mai mare decat al celor cu grad mai mic de adecvare Selectia tip ruleta (esantionare stocastica cu inlocuire); selectie de tip turneu, selectie proportionala. deterministe indivizii cu grad mare de adecvare sunt intotdeauna selectati in defavoarea celor cu grad mai mic de adecvare: selectia prin trunchiere

Elitism: supravietuirea celui mai bun dintre indivizii generatiei pana la un


moment dat de exemplu prin amplasarea explicita a celui mai bun individ al populatiei curente in populatia corespunzatoare generatiei urmatoare
Tehnici de inteligen computaional n electronic, G. Oltean 15 /24

ALGORITMI GENETICI

Selectia tip ruleta


Algoritm stocastic Indivizii sunt atribuiti la segmente contigue a unei linii astfel ca lungimea fiecarui segmant sa fie proportionala cu gradul sau de adecvare. Se genereaza un numar aleator si este selectat individul al carui segment corespunde valorii aleatoare Procesul se repeta pana cand este selectat numarul dorit de indivizi Procesul este asemanator rotii de ruleta in care marimea fiecarei felii este proportionala cu gradul de adecvare Pentru fiecare individ se calculeaza o probabilitate de selectie:

Selection _ probability (i ) =

Fitness(i )

Fitness(i)
i =1
16 /24

Tehnici de inteligen computaional n electronic, G. Oltean

ALGORITMI GENETICI

Selectia tip ruleta


Algoritm stocastic Indivizii sunt atribuiti la segmente contigue a unei linii astfel ca lungimea fiecarui segmant sa fie proportionala cu gradul sau de adecvare. Se genereaza un numar aleator si este selectat individul al carui segment corespunde valorii aleatoare Procesul se repeta pana cand este selectat numarul dorit de indivizi Procesul este asemanator rotii de ruleta in care marimea fiecarei felii este proportionala cu gradul de adecvare Pentru fiecare individ se calculeaza o probabilitate de selectie:

Selection _ probability (i ) =

Fitness(i )

Fitness(i)
i =1
17 /24

Tehnici de inteligen computaional n electronic, G. Oltean

ALGORITMI GENETICI

Selectia tip ruleta - cont

Au fost selectati indivizii: 6, 2, 9, 1, 5 si 3 Adica 1, 2, 3, 5, 6 si 9


Tehnici de inteligen computaional n electronic, G. Oltean 18 /24

ALGORITMI GENETICI

Recombinare
Produce noi indivizi (urmasi) prin combinarea informatiilor continute de doi sau mai multi parinti Combinarea valorilor variabilelor parintilor Tipuri de recombinari:
discreta pentru valori reale:
recombinare intermediara recombinare liniara recombinare liniara extinsa

pentru valori binare (incrucisare - crossover):


incrucisare cu un singur puncte / cu doua puncte / cu puncte multiple incrucisare uniforma etc.
Tehnici de inteligen computaional n electronic, G. Oltean 19 /24

ALGORITMI GENETICI

VarjU

Recombinare intermediara = a Var + (1 a )Var , j = 1, 2, ..., Nvar


j P1 j j P2 j

VarjU - reprezinta variabila j a urmasului VarjP1 , VarjP 2 - reprezinta variabila j a primului, respectiv celui de-al doilea parinte
a - reprezinta factorul de scalare, generat aleator in intervalul [-d, 1+d] uzual d=0,25

Aria posibila a urmasilor

Tehnici de inteligen computaional n electronic, G. Oltean

20 /24

ALGORITMI GENETICI

Recombinare intermediara cont. Var = a Var + (1 a )Var , j = 1, 2, ..., Nvar


U j j P1 j j P2 j

Din subpopulatia selectata pentru recombinare, cum sunt alesi cei doi parinti care genereaza urmasi?
Tehnici de inteligen computaional n electronic, G. Oltean 21 /24

ALGORITMI GENETICI

Mutatia
Indivizii (urmasii) sunt modificati aleator Mutatie
Pentru variabile reale Pentru variabile binare

Mutatia pentru variabile reale


Valori create aleator sunt adaugate variabilelor reale Trebuiesc definite:
Probabilitatea ca o variabila sa sufere o mutatie (rata de mutatie) Este invers proportionala cu numarul variabilelor O valoare optima se pare a fi 1/Nvar - o singura variabila a unui individ surefa procesul de mutatie Valoarea schimbarii variabilei prin procesul de mutatie
Tehnici de inteligen computaional n electronic, G. Oltean 22 /24

ALGORITMI GENETICI

Mutatia

Tehnici de inteligen computaional n electronic, G. Oltean

23 /24

ALGORITMI GENETICI

Reinsertia
Generarea noii populatii Reinsertie globala
Numar urmasi > numar parinti: toti parintii sunt inlocuiti de urmasi Numar urmasi < numar parinti: se inlocuiesc parinti in mod aleator Numar urmasi < numar parinti: se inlocuiesc parintii cu cel mai scazut grad de adecvare Numar urmasi > numar parinti: se inlocuiesc toti parintii cu cei mai buni urmasi

Reinsertie locala

Tehnici de inteligen computaional n electronic, G. Oltean

24 /24