Programare evolutivă — RexDac Academy

RexDac AcademyNote tehnice · Ajută să ai câteva noțiuni de bază
0%Note publicate citite · pe acest dispozitiv

Arhitectură evolutivă

Programare evolutivă

Note originale de SunDiaL · Vezi sursa în engleză

Programarea evolutivă este un mod aparte de a scrie programe, care încearcă să imite evoluția vieții reale. În loc să scrii un algoritm de la început, rulezi simultan mai multe copii ale unui algoritm, cu mici variații ale parametrilor. Cele care au cele mai bune rezultate sunt alese ca părinți, iar din ele sunt generate copii noi, adăugând în combinație și mutații aleatorii ale parametrilor.

Funcția de evaluare a adecvării

O funcție de evaluare a adecvării (fitness function) este un tip specializat de funcție, folosit în optimizare și în algoritmi evolutivi. Scopul ei este să evalueze cât de bine îndeplinește o soluție candidată un obiectiv — cu alte cuvinte, cât de „adecvată” este. Ca orice funcție, are o:

  • Definiție: precizează cum se măsoară adecvarea.
  • Apelare: evaluează o anumită soluție. Funcțiile de evaluare asociază unui candidat (de obicei o structură de date sau un set de parametri) un scor numeric. Scorurile mai mari înseamnă soluții mai bune.