Funcția de fitness este o funcție reală sau întreagă a uneia sau mai multor variabile, care este supusă optimizării ca urmare a muncii unui algoritm genetic , direcționează evoluția către soluția optimă. Este unul dintre cazurile speciale ale funcției obiectiv .
Și-a luat numele de la genetică . Vă permite să evaluați gradul de fitness al anumitor indivizi din populație și să selectați pe cei mai apți dintre aceștia (adică pe cei cu valorile maxime ale funcției de fitness) în conformitate cu principiul evolutiv al supraviețuirii celui mai potrivit.
În domeniul programării genetice și al algoritmilor genetici, fiecare soluție investigată este de obicei reprezentată ca un șir de numere sau caractere (numit cromozom ). Ideea principală este că, după fiecare rundă de testare sau simulare, eliminați cele n soluții cel mai prost studiate (cromozomi) și introduceți n soluții noi (cromozomi) în populație. Pentru implementarea acestei metode, fiecare soluție investigată trebuie să corespundă unei anumite valori, care indică cât de aproape se apropie soluția de valoarea dorită, valoarea specificată se obține prin aplicarea funcției de fitness . În ciuda faptului că algoritmul este angajat în căutarea soluției optime, direcția principală în căutare este dată de o persoană care trebuie să determine funcția de fitness . Dacă este proiectat prost, algoritmul fie va converge spre o soluție suboptimă, fie va avea dificultăți în convergerea către o soluție.
Funcția de fitness nu trebuie doar să se coreleze strâns cu soluția dorită, ci și să fie calculată rapid. Viteza de execuție este foarte importantă, deoarece un algoritm genetic tipic trebuie repetat de mai multe ori (de la 1000 de iterații (generații)) pentru a găsi o soluție pentru o problemă non-trivială.
Funcția de fitness are o influență puternică asupra funcționării algoritmilor genetici și trebuie să aibă o definiție exactă și corectă. În problemele de optimizare , funcția de fitness este de obicei optimizată (maximizată) și se numește funcție obiectiv . În problemele de minimizare, funcția obiectiv este transformată și problema este redusă la maximizare.
În teoria controlului , poate lua forma unei funcții de eroare , iar în teoria jocurilor , poate lua forma unei funcție de cost . La fiecare iterație a algoritmului genetic, fitness-ul fiecărui individ dintr-o anumită populație este estimat folosind funcția de fitness, iar pe baza acestei evaluări se creează următoarea populație, care alcătuiește un set de soluții potențiale [1] .
Funcția de fitness transformă spațiul de stat într-un peisaj de fitness (peisaj adaptiv)[ termen necunoscut ] unde fiecare punct din spațiu are o anumită „înălțime”, în funcție de valoarea sa de fitness.