• No se han encontrado resultados

Bases de los algoritmos genéticos

CAPÍTULO 2: ORIGEN Y BASE DE LOS ALGORITMOS GENÉTICOS

2.3 Bases de los algoritmos genéticos

Un algoritmo genético es una técnica de optimización que imita a la evolución biológica como estrategia para la resolución de problemas. Típicamente, un algoritmo genético consta de los siguientes pasos [12]:

1. Definición de la población inicial. 2. Evaluación de la función de fitness.

3. Selección de individuos. 4. Generación de descendencia.

5. Regreso al paso 2 hasta alcanzar la condición de parada.

A continuación, se explicarán las definiciones importantes de este algoritmo relativas a la elección de la población inicial [35], la función de fitness, el método de selección de individuos y el modo de transferir la información genética de los individuos seleccionados a su descendencia [30].

Mencionar también que, en función de la naturaleza del problema, se deberá elegir el tipo de algoritmo que más se adecúe a la misma, pudiéndose utilizar valores binarios o reales para definir los cromosomas de los individuos.

2.3.1. Población inicial

La población inicial es un elemento importante del algoritmo, y debe ser elegida cuidadosamente antes de que empiece la optimización. Aunque la población inicial puede ser aleatoria, debe garantizar que proporciona la mayor cantidad posible de material genético presente en la naturaleza del problema.

Típicamente, esta información no está perfectamente definida de antemano, puesto que una optimización global se emplea solamente cuando el problema es completamente o parcialmente desconocido [33] .

2.3.2 Función de fitness

La función de fitness es una función de coste que determina cómo de buenos son los individuos de la población. La elección de esta función es uno de los puntos más críticos del algoritmo genético, ya que se encarga de separar las soluciones buenas de las malas con una distancia considerable (dicha distancia puede ser incluso exponencial).

Si uso una analogía con la selección natural, que un individuo obtenga una buena puntuación al ser evaluado por la función de fitness [31], significa que ese individuo está bien adaptado para sobrevivir.

La función de fitness tiene que ser significativa, lo que implica representar con un solo valor todas las aptitudes de los elementos pertenecientes a la población bajo estudio [30], [34].

2.3.3 Métodos de selección.

El método de selección define cómo elegir la siguiente población de individuos en base a sus aptitudes (las cuales han sido cuantificadas por la función de fitness). Los tres métodos más comunes de selección son: selección proporcional, selección por rango y selección por torneo.

 Selección por rango.

La selección basada en el rango es la estrategia estocástica más sencilla que existe. Consiste en clasificar a los individuos de la población según la puntación obtenida al ser evaluados por la función de fitness. La selección de los individuos se llevará a cabo según su rango o posición. El método por rango puede ser tanto lineal como exponencial [32]. El método por rango lineal fuerza una convergencia lenta y preserva la diversidad de la población durante un alto número de iteraciones, y es útil cuando los requerimientos computacionales de la función de fitness son bajos.

 Selección proporcional.

Este método es el más popular en cuanto a estrategias de selección estocásticas. Se conoce también como selección por rueda de ruleta. La implementación de este método consiste en crear una ruleta donde la porción asignada a cada individuo es proporcional a la puntuación [36] tantas veces como sea necesario hasta obtener los individuos cuyo material genético

será combinado para obtener la siguiente generación [33]. La figura 2.1 muestra un ejemplo de este tipo de estrategia.

Fig. 2.1. Método de selección proporcional o método de ruleta. Tomado de [36].

 Selección por torneo.

En este método, como se muestra en la figura 2.2, se toman dos elementos de la población de manera aleatoria, y después se selecciona como ganador del torneo al que haya obtenido una mayor puntuación en la función de fitness [34]. Hay diferentes variantes de este método donde se pueden seleccionar más de dos individuos, o seleccionar al mejor individuo con una probabilidad dada o seleccionar al otro.

Fig. 2.2. Método de selección por torneo. Tomado de [34].

 Elitismo.

Aunque se incluye en esta sección, el elitismo no es realmente un método de selección, no obstante, puede ser utilizado combinándolo con los métodos anteriores. El elitismo consiste en forzar la presencia del mejor individuo en la siguiente generación, aun cuando ese individuo no haya sido seleccionado por el método de selección [37].

2.3.4 Operadores genéticos.

A la hora de generar descendencia, se utilizan estos operadores para mezclar el material genético de los padres. Los operadores genéticos básicos son cruce y mutación [33].

 Cruce.

Es el operador genético más importante, ya que sin él no se podría hablar de algoritmos genéticos propiamente dichos.

Una vez han sido seleccionados los padres por alguno de los métodos de selección, sus cromosomas deben mezclarse para producir descendientes, utilizando para ello la operación de cruce. Existen múltiples técnicas para realizar esta operación. Típicamente, para problemas discretos, se selecciona aleatoriamente una posición en cada cromosoma (un gen) y, tomando ese punto como división, se separa cada uno en dos partes, obteniendo dos nuevos cromosomas [25], [33]. En la figura 2.3 se puede ver como se realiza esta operación de cruce entre dos cromosomas.

Fig. 2.3. Ejemplo de operación de cruce entre dos cromosomas. Tomado de [33]. Este operador se aplica de acuerdo a una probabilidad denominada pcruce. Este parámetro

suele tomar valores que se encuentran normalmente alrededor de 0.8.

 Mutación.

La mutación, como se muestra en la figura 2.4, es el proceso por el cual, al igual que en la naturaleza, se produce una variación aleatoria de genes en un cromosoma [31]. Este mecanismo contribuye a la diversidad genética de la especie.

Fig. 2.4. Ejemplo de operación de mutación entre 2 cromosomas. Tomado de [31]. La operación de mutación se aplica con una probabilidad pmutación muy pequeña

(normalmente menor que 0.01), y es una potente herramienta en el proceso de optimización, ya que permite al algoritmo escapar de mínimos locales.

 Condición de parada.

Hay múltiples posibilidades para la elección de la condición de parada del algoritmo. La más simple es dejar un número de iteraciones, aunque siempre es necesario comprobar la convergencia del algoritmo. Otras técnicas más complejas tienen en cuenta esta convergencia, la evolución de la solución en el tiempo, o el logro de ciertos objetivos [30]. En la figura 2.5 se muestra la estructura final de un algoritmo genético, agrupando en ella el proceso anteriormente descrito.

Documento similar