Algoritmos genéticos: función de aptitud
La función de aptitud simplemente definida es una función que toma un candidate solution to the problem as input and produces as output cuán “encaja” nuestro cuán “buena” es la solución con respecto al problema en consideración.
El cálculo del valor de aptitud se realiza repetidamente en un GA y, por lo tanto, debería ser lo suficientemente rápido. Un cálculo lento del valor de aptitud puede afectar negativamente a un GA y hacerlo excepcionalmente lento.
En la mayoría de los casos, la función de aptitud y la función objetivo son las mismas que el objetivo es maximizar o minimizar la función objetivo dada. Sin embargo, para problemas más complejos con múltiples objetivos y limitaciones,Algorithm Designer podría optar por tener una función de fitness diferente.
Una función de aptitud debe poseer las siguientes características:
La función de aptitud debe ser lo suficientemente rápida para calcular.
Debe medir cuantitativamente qué tan apta es una solución dada o qué tan aptos se pueden producir los individuos a partir de la solución dada.
En algunos casos, es posible que no sea posible calcular directamente la función de aptitud debido a las complejidades inherentes del problema en cuestión. En tales casos, hacemos una aproximación de aptitud para satisfacer nuestras necesidades.
La siguiente imagen muestra el cálculo de aptitud para una solución de la mochila 0/1. Es una función de aptitud simple que simplemente suma los valores de ganancia de los artículos que se recogen (que tienen un 1), escaneando los elementos de izquierda a derecha hasta que la mochila está llena.