• No se han encontrado resultados

CAPÍTULO 4. Sistema Basado en Reglas Difusas

4.2 Aprendizaje con Algoritmos Genéticos

4.2.1 Población

La población inicial se escoge generando cadenas de cromosomas al azar, donde cada gen puede contener uno de los posibles valores del alfabeto con probabilidad uniforme. Una cuestión importante en esta etapa es elegir el tamaño de la población. Sobre esta cuestión se han realizado varios estudios, como el de Goldberg [Goldberg, 1989], que plantea que el tamaño óptimo de la población para cadenas de longitud l, con codificación binaria, crece exponencialmente con el tamaño de la cadena, lo que hace que este método sea demasiado costoso computacionalmente. En cambio, Alander [Alander, 1992], basándose en evidencia empírica sugiere que un tamaño de población comprendido entre l y 2l es suficiente para afrontar con éxito la mayoría de los problemas.

4.2.2

Función de adaptación

Dado un cromosoma particular, la función de adaptación, también conocida como función objetivo o fitness, le asigna un número real que refleja el nivel de adaptación al problema del

Inicio

Inicialización

Evaluación

<<Condición de term inación>> Fin <<Si>> Selección <<No>> Cruce Mutación Reemplazo

Sistema Basado en Reglas Difusas 125

individuo representado por el cromosoma. La regla general para construir una buena función objetivo es que esta debe reflejar el valor del individuo de una manera real. Sin embargo, en muchos problemas de optimización combinatoria, donde existen gran cantidad de restricciones, buena parte de los puntos del espacio de búsqueda representan individuos no válidos. Teniendo en cuenta este planteamiento se han propuesto varias soluciones. La primera no descarta a los individuos que no verifican las restricciones, y se siguen efectuando cruces y mutaciones hasta obtener individuos válidos, o bien a dichos individuos se les asigna una función objetivo igual a cero. Otra posibilidad consiste en reconstruir aquellos individuos que no verifican las restricciones por medio de un nuevo operador denominado reparador.

Otro enfoque está basado en la penalización de la función objetivo y consiste en dividir la función objetivo del individuo por una cantidad que guarda relación con las restricciones que dicho individuo viola. Dicha cantidad suele tener en cuenta el número de restricciones violadas o el denominado coste esperado de reconstrucción, que no es más que el coste asociado a la conversión de dicho individuo en otro que no viole ninguna restricción. Otra técnica que se ha venido utilizando es la evaluación aproximada de la función objetivo. En algunos casos la obtención de n funciones objetivo aproximadas puede resultar mejor que la evaluación exacta de una única función objetivo.

El método propuesto por Goldberg y Richardson [Goldberg y Richardson, 1987] utiliza una modificación de la función objetivo de cada individuo, de tal manera que individuos que estén muy cercanos entre sí devalúen su función objetivo para que la población gane en diversidad.

4.2.3

Selección

El mecanismo de selección más simple es en el que se fuerza a que el mejor individuo de la población sea seleccionado como padre, pero la mayoría de los algoritmos genéticos no utilizan mecanismos de selección basados en este sistema, debido a que se aleja un poco del comportamiento real de la evolución.

Algunas de las funciones de selección de padres más utilizadas son las del grupo de esquemas de selección proporcionales a la función objetivo, en las cuales cada individuo tiene una probabilidad de ser seleccionado como padre que es proporcional al valor de su función objetivo. Entre los métodos que utilizan la función objetivo para determinar la probabilidad de

126 Sistema Basado en Reglas Difusas

selección se encuentran el denominado muestreo estocástico con reemplazamiento del resto, introducido por Brindle [Brindle, 1991], que empíricamente ha proporcionado buenos resultados. En este esquema de selección cada individuo es seleccionado un número de veces que coincide con la parte entera del número esperado de ocurrencias de esta selección, compitiendo los individuos por los restos.

En 1985, Baker introduce un método denominado muestreo universal estocástico [Baker, 1985] que utiliza un único giro de ruleta donde los sectores circulares son proporcionales a la función objetivo. Los individuos son seleccionados a partir de marcadores equi-espaciados y con comienzo aleatorio. Estos métodos por lo general tienen asociado el problema de la convergencia prematura provocado por la existencia de superindividuos.

Una manera de superar el problema de la convergencia temprana es aplicar el esquema de selección por rango propuesto por Baker [Baker, 1987], debido a que se produce un reparto más uniforme de la probabilidad de selección. Este método consiste en ordenar la población de menor a mayor, asignar el número de copias que cada individuo debe recibir de acuerdo a una función de asignación no creciente, y luego realizar la selección proporcional conforme a esa asignación. Si denotamos por rango (f (Ij)) al rango de la función objetivo del individuo Ij,

cuando los individuos de la población han sido ordenados de menor a mayor rango (el peor individuo tiene rango 1 y el mejor tiene rango λ), la probabilidad de que el individuo Ij sea

seleccionado como padre cuando la selección se efectúa proporcionalmente al rango del individuo se define como:

( ( )) ( ) , ( 1) / 2 j rango j rango f I P I λ λ = + 4.14

donde f es la función objetivo, y el denominador es una constante de normalización.

Otro modelo de selección es la selección de estado estacionario [Whitley, 1989], donde la descendencia de los individuos seleccionados en cada generación vuelve a la población genética preexistente, reemplazando algunos de los miembros menos aptos de la anterior generación. La selección por torneo [Brindle, 1981] constituye un procedimiento de selección de padres muy extendido que consiste en escoger al azar un número de individuos de la población (en función del tamaño del torneo), seleccionar el mejor individuo de este grupo y repetir el proceso hasta que el número de individuos seleccionados coincida con el tamaño de

Sistema Basado en Reglas Difusas 127

la población. Ejemplos de trabajos que utilizan la selección por torneo encontramos en [Suh y Van Gucht, 1987; Goldberg et. al, 1989; Muhlenbein, 1990].

4.2.4

Cruce

El cruce es el principal operador genético y representa el proceso de reproducción. Opera sobre dos cromosomas a la vez para generar dos descendientes donde se combinan las características de ambos padres. El operador de cruce más sencillo es el basado en un punto, en el cual los dos individuos seleccionados para jugar el papel de padres, son recombinados por medio de la selección de un punto de corte, para posteriormente intercambiar las secciones que se encuentran a la derecha de dicho punto (Figura 4.4).

Figura 4.4. Operador de cruce basado en un punto para individuos binarios

En el operador de cruce basado en dos puntos [De Jong, 1975], los cromosomas (individuos) pueden contemplarse como un circuito en el cual se efectúa la selección aleatoria de dos puntos. El cruce basado en un punto, puede verse como un caso particular del cruce basado en dos puntos, en el cual uno de los puntos de corte se encuentra fijo al comienzo de la cadena que representa al individuo. La Figura 4.5 muestra un ejemplo del cruce basado en dos puntos para individuos binarios.

Figura 4.5. Operador de cruce basado en dos puntos para individuos binarios Punto de cruce Punto de cruce

Padres 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0

Descendientes 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0

Puntos de cruce Puntos de cruce

Padres 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0

128 Sistema Basado en Reglas Difusas

En el denominado operador de cruce uniforme [Syswerda, 1991] cada gen en la descendencia se crea copiando el correspondiente gen de uno de los dos padres, escogido de acuerdo a una máscara de cruce generada aleatoriamente de manera tal que cualquiera de los elementos del alfabeto tenga asociada la misma probabilidad. Cuando existe un 1 en la máscara de cruce, el gen es copiado del primer padre, mientras que cuando existe un 0 en la máscara, el gen se copia del segundo padre, tal y como se muestra en la Figura 4.6. En 1994, Larrañaga y Poza propusieron un método de construcción de la máscara de cruce basado en la función objetivo [Larrañaga y Poza, 1994], de manera tal que mientras mayor sea el grado de adaptación de un individuo, mayor es la probabilidad de heredar sus características.

Figura 4.6. Operador de cruce uniforme para individuos binarios

Existen muchos otros operadores de cruce, como el de Sirag y Weiser [Sirag y Weiser 1987] que introducen un umbral de energía y una temperatura que influyen en la manera de escoger los bits individuales, y los que consideran la idea de que el cruce debería ser más probable en algunas posiciones de la cadena [Holland, 1975; Davis, 1985].

4.2.5

Mutación

La mutación se aplica a cada hijo de manera individual y consiste en la alteración aleatoria de una parte del cromosoma del individuo. La mutación proporciona una exploración rápida del espacio de búsqueda, asegurando que ningún punto tenga probabilidad cero de ser examinado y es de capital importancia para asegurar la convergencia de los Algoritmos Genéticos. La Figura 4.7 muestra la mutación del tercer gen de un cromosoma.

Se han desarrollado algunos trabajos sobre la búsqueda del valor óptimo para la probabilidad de mutación, como por ejemplo [De Jong, 1975] que recomienda utilizar una probabilidad de mutación de l-1 siendo l la longitud de la cadena. En [Schaffer et. al, 1989] se propone utilizar un valor proporcional al número de individuos de la población, mientras que

Máscara de cruce 1 0 0 1 0 0 1 Padre 1 1 1 0 1 1 0 1 Descendiente 1 0 0 1 1 1 1 Padre 2 0 0 0 1 1 1 0

Sistema Basado en Reglas Difusas 129

algunos autores consideran que la probabilidad de mutación debe ser variable a medida que aumenta el número de iteraciones [Michalewicz y Janikow, 1991].

Figura 4.7. Operador de mutación para individuos binarios

4.2.6

Reemplazo

Una vez obtenidos los descendientes de una determinada población, se escogen los individuos que formarán parte de la siguiente generación. Dicho proceso se suele hacer fundamentalmente de dos formas distintas. La primera es la reducción simple y consiste en considerar que la siguiente población la formarán sólo los descendientes, y la segunda es la reducción elitista, que consiste en elegir los mejores individuos de entre los que forman la generación anterior y los descendientes.

En [De Jong, 1975] se introdujo el concepto de tasa de reemplazo generacional (trg), con el objetivo de efectuar un solapamiento controlado entre padres e hijos. En su trabajo, en cada paso se selecciona una proporción (trg) de la población para ser cruzada y los hijos resultantes pueden reemplazar a miembros de la población anterior. Este tipo de Algoritmos Genéticos se conocen bajo el nombre de SSGA (Steady State Genetic Algorithm).

En [Michalewicz, 1992] se introduce el Algoritmo Genético Modificado, en el cual para llevar a cabo el reemplazo generacional, teniendo en cuenta el valor de la función objetivo, se selecciona al azar un conjunto de individuos para la reproducción y un conjunto de individuos destinados a morir. De esta manera cuanto mayor sea la función objetivo, mayor será la probabilidad de que un individuo sea seleccionado para la reproducción, y menor la probabilidad de que dicho individuo fallezca.

Gen Mutado

Descendiente 1 0 0 1 0 1 1 Descendiente mutado 1 0 1 1 0 1 1

130 Sistema Basado en Reglas Difusas