En **treningsfunksjon** (**fitness-funksjon**) er en bestemt type objektfunksjon som brukes for å oppsummere et enkelt måltall, som angir hvor nært en gitt løsning er å oppnå et gitt mål. Treningsfunksjoner brukes i genetisk programmering og genetiske algoritmer for å lede simuleringer mot optimale løsninger.

Genetisk programmering og algoritmer
------------------------------------

Innenfor genetisk programmering og genetiske algoritmer, hvor løsninger ofte representeres som en streng av tall (referert til som et kromosom), vil hver runde med testing, eller simulering, medføre at de *n* verste løsninger slettes, og det krysses frem *n* nye fra de eksisterende beste løsningene. Hver løsning må derfor tildeles et objektivt måltall, for å vise hvor nær det er designspesifikasjonen, og denne beregnes med testens eller simuleringens treningsfunksjon, og angir resultatene fra kjøringen.

Grunnen til at genetiske algoritmer ikke anses som en enkel tilnærming er det omfattende arbeidet med å skape en fungerende treningsfunksjon. Selv om designet ikke lengre skapes av et menneske, det er datamaskinen som skaper det, så er det fortsatt mennesket som utformer treningsfunksjonen. Hvis denne er utformet dårlig så vil algoritmen enten finne en uheldig løsning eller den vil få problemer med å konvergere.

Treningsfunksjonen må ikke bare korrelere med designmålet, den må også være rask å beregne. Hastigheten på beregningen er svært viktig, da en typisk genetisk algoritme må iterere svært mange ganger for å produsere et brukbart resultat for ikke-trivielle problemer.

Bruk av en tilnærming til treningsfunksjonen kan være hensiktsmessig, særlig i følgende tilfeller: 

* Last ved en full beregning av en enkeltløsning er svært høy
* En nøyaktig modell for beregningen mangler eller er ukjent
* Treningsfunksjonen er usikker/uforutsigelig eller støyende

De to hovedklassene av treningsfunksjonerer:

* en hvor fitness funksjonen ikke endres, f.eks. å optimalisere en gitt funksjon eller testing med et gitt sett av testtilfeller
* en hvor fitness-funksjonen er foranderlig, som i nisje differensiering eller koevolusjon av et sett av testtilfeller

En annen måte å se på treningsfunksjoner er som et treningslandskap som viser egnethet for hvert mulig kromosom.

Se også
-------

* w:Evolutionary computation
* w:Inferential programming
* w:Test functions for optimization

Eksterne lenker
---------------

* Davarynejad, M.; Akbarzadeh-T, M.-; Pariz, N. (September 2007). «A novel general framework for evolutionary optimization: Adaptive fuzzy fitness granulation». *2007 IEEE Congress on Evolutionary Computation*: 951–956. doi:10.1109/CEC.2007.4424572. Archived from the original on 6. mars 2019. Besøkt 3. mars 2019. CS1-vedlikehold: Uheldig URL (link)
* The cyber shack of Adaptive Fuzzy Fitness Granulation (AFFG) That is designed to accelerate the convergence rate of EAs.
* Nelson, Andrew L.; Barlow, Gregory J.; Doitsidis, Lefteris (April 2009). «Fitness Functions in Evolutionary Robotics: A Survey and Analysis» (PDF). *Robot. Auton. Syst*. 4. 57: 345–370. ISSN 0921-8890. doi:10.1016/j.robot.2008.09.009. Arkivert fra originalen Bruk av `|arkiv_url=` krever at `|arkivdato=` også er angitt (hjelp). Besøkt 3. mars 2019.