Kuntofunktio on yhden tai useamman muuttujan reaali- tai kokonaislukufunktio, joka on optimoitu geneettisen algoritmin työn tuloksena , ohjaa kehitystä kohti optimaalista ratkaisua. Se on yksi tavoitefunktion erikoistapauksista .
Se on saanut nimensä genetiikasta . Voit arvioida tiettyjen yksilöiden kuntotasoa populaatiossa ja valita heistä vahvimmat (eli ne, joilla on maksimaaliset kuntofunktioarvot) vahvimpien selviytymistä koskevan evolutionaarisen periaatteen mukaisesti.
Geneettisen ohjelmoinnin ja geneettisten algoritmien alalla jokainen tutkittava ratkaisu esitetään yleensä numero- tai merkkijonona (kutsutaan kromosomiksi ). Pääideana on, että jokaisen testaus- tai simulointikierroksen jälkeen poistetaan n huonoimmin tutkittua liuosta (kromosomia) ja lisätään n uutta liuosta (kromosomia) populaatioon. Tämän menetelmän toteuttamiseksi jokaisen tutkittavan ratkaisun tulee vastata tiettyä arvoa, joka kertoo kuinka lähelle ratkaisu tulee haluttua arvoa, määritetty arvo saadaan käyttämällä kuntofunktiota . Huolimatta siitä, että algoritmi etsii optimaalista ratkaisua, haun pääsuunnan antaa henkilö, jonka on määritettävä kuntofunktio . Jos se on huonosti suunniteltu, algoritmi joko konvergoi alioptimaaliseen ratkaisuun tai sillä on vaikeuksia konvergoida ratkaisuun ollenkaan.
Fitness-funktion ei tulisi vain korreloida läheisesti halutun ratkaisun kanssa, vaan se on myös laskettava nopeasti. Suoritusnopeus on erittäin tärkeä, koska tyypillinen geneettinen algoritmi on toistettava useita kertoja (1000 iteraatiosta (sukupolvesta) alkaen) ratkaisun löytämiseksi ei-triviaaliin ongelmaan.
Fitness-funktiolla on voimakas vaikutus geneettisten algoritmien toimintaan ja sillä on oltava tarkka ja oikea määritelmä. Optimointiongelmissa kuntofunktio yleensä optimoidaan (maksimoidaan) ja sitä kutsutaan tavoitefunktioksi . Minimointitehtävissä tavoitefunktio muunnetaan ja ongelma pelkistetään maksimointiin.
Jokaisessa geneettisen algoritmin iteraatiossa tietyn populaation jokaisen yksilön kunto arvioidaan kuntofunktion avulla ja tämän arvion perusteella luodaan seuraava populaatio, joka muodostaa joukon mahdollisia ratkaisuja [1] .
Fitness-toiminto muuttaa tilatilan kuntomaisemaksi (adaptiivinen maisema)[ termi tuntematon ] jossa jokaisella avaruuden pisteellä on tietty "korkeus" sen kunto-arvon mukaan.