Algoritmi genetici

Imagine preview
(7/10 din 1 vot)

Acest laborator prezinta Algoritmi genetici.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 2 fisiere pdf, cpp de 4 pagini (in total).

Profesor: Croitoru Eugen

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domeniu: Alte Domenii

Extras din document

1.Descrierea algoritmului

Populația este reprezentată printr-un vector de matrice binare, fiecare reprezentând un set de

parametri pentru funcția de minimizat. Într-o matrice, fiecare șir binar are un număr de biți

necesar pentru a avea precizia de 4 zecimale. Metoda folosită este descrisă în continuare. Spațiul

de căutare se discretizează până la o precizie 10-d (în particular, d = 4). Un interval [a,b] va fi

împărțit în N=(b−a)∗10d subintervale egale. Pentru a putea reprezenta cele (b−a)∗10d valori, este

nevoie de un număr n = parte_întreagă_superioară(log2N) biți.

Lungimea șirului de biți care reprezintă o soluție candidat va fi suma lungimilor reprezentărilor

pentru fiecare parametru al funcției de optimizat. În momentul evaluării soluției (apelul funcției

de optimizat) este necesară decodificarea fiecărui parametru reprezentat ca șir de biți în număr

real, după formula: Xreal=a+decimal(Xbiti)*( b−a)/(2n−1). Metoda de selecție aleasă pentru acest

algoritm este roata norocului. Numărul estimat de copii pe care îi primește un individ este

proporțional cu fitnessul său împărțit la fitnessul total al populației. În continuare este descris

pseudocodul pentru această metodă.

Funcția fitness (notata cu f mai sus) este utilizată pentru a măsura calitatea cromozomilor. Ea

este formulată plecând de la funcția numerică de optimizat. Trebuie să fie pozitivă și este

construită pentru maximizare (indivizii adaptați obțin valori mari ale funcției fitness).

Funcția fitness aleasă pentru implementarea algoritmului este f(x) = 1 / (g(x) + min(g(x)) +

0.00001), unde g(x) este funcția de optimizat. În cazul funcțiilor DeJong și Rastrigin, aceasta se

transformă în 1 / (g(x) + 0.00001).Constanta 0.00001 previne eroare provenită din împărțirea

unui număr la 0.

Fisiere in arhiva (2):

  • Algoritmi genetici.pdf
  • tema2.cpp