Funcția de fitness

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 7 august 2018; verificările necesită 4 modificări .

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 .

Istoria termenului

Ș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.

Programare genetică și algoritmi genetici

Î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ă.

Aplicații în matematică

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] .

Condiții de funcționare

  1. Funcția trebuie definită în mod adecvat. Aceasta înseamnă că, pentru o căutare de succes, este necesar ca distribuția valorilor să coincidă cu distribuția calității reale a soluțiilor.
  2. Funcția ar trebui să aibă un teren variat, fără zone mari „plate”. Adică, în ciuda faptului că soluțiile sunt diferite, au aceeași evaluare, ceea ce înseamnă că algoritmul nu este capabil să aleagă cea mai bună soluție, să aleagă direcția de dezvoltare ulterioară. Această problemă este denumită și „ problema terenului de golf ”, în care tot spațiul este exact același, cu excepția unui singur punct și este soluția optimă - în acest caz, algoritmul se va opri sau se va rătăci pur și simplu în mod aleatoriu.
  3. Funcția de fitness ar trebui să necesite un minim de resurse. Deoarece aceasta este partea cea mai frecvent utilizată a algoritmului, are un impact semnificativ asupra vitezei sale [2] .

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.

Vezi și

Note

  1. Kvashenkin, David Olegovich. Algoritm genetic cu întârziere  // Buletinul Universității Tambov. Seria: Științe naturale și tehnice. — 01-01-2012. - T. 17 , nr. 1 . — ISSN 1810-0198 . Arhivat din original pe 24 septembrie 2016.
  2. NIKOLAY BORISOVICH URALSKY, VALERY ALEKSANDROVICH SIZOV, NIKOLAY KLEMENTIEVICH KAPUSTIN. Optimizarea procesului de calcul al funcției de fitness a algoritmului genetic în sistemele distribuite de procesare  a datelor.Internet Journal of Science Studies. — 01-01-2015. - T. 7 , nr. 6 (31) . Arhivat din original pe 24 septembrie 2016.