Algoritmi genetici - Funzione fitness
La funzione fitness definita semplicemente è una funzione che richiede a candidate solution to the problem as input and produces as output quanto "si adatta" al nostro quanto "buona" è la soluzione rispetto al problema in esame.
Il calcolo del valore di fitness viene eseguito ripetutamente in un GA e quindi dovrebbe essere sufficientemente veloce. Un calcolo lento del valore di fitness può influire negativamente su un GA e renderlo eccezionalmente lento.
Nella maggior parte dei casi la funzione fitness e la funzione obiettivo sono le stesse dell'obiettivo è massimizzare o minimizzare la funzione obiettivo data. Tuttavia, per problemi più complessi con più obiettivi e vincoli, un fileAlgorithm Designer potrebbe scegliere di avere una funzione fitness diversa.
Una funzione fitness dovrebbe possedere le seguenti caratteristiche:
La funzione fitness dovrebbe essere sufficientemente veloce da calcolare.
Deve misurare quantitativamente quanto è adatta una data soluzione o quanto individui possono essere prodotti dalla soluzione data.
In alcuni casi, il calcolo diretto della funzione fitness potrebbe non essere possibile a causa delle complessità intrinseche del problema in questione. In questi casi, eseguiamo l'approssimazione della forma fisica in base alle nostre esigenze.
L'immagine seguente mostra il calcolo della forma fisica per una soluzione dello zaino 0/1. È una semplice funzione di fitness che somma solo i valori di profitto degli articoli raccolti (che hanno un 1), scansionando gli elementi da sinistra a destra fino a riempire lo zaino.