• No se han encontrado resultados

1.3. Introducción a los Algoritmos Genéticos

1.3.3. Diseño Básico de un Algoritmo Genético

1.3.3.4. Proceso de Selección

Es el encargado de que la población mejore con cada iteración que pase, ya que, como se ha comentado, tanto el proceso de reproducción como el de mutación tienen que producir modificaciones aleatorias sin tener un objetivo predefinido. Será por tanto mediante los algoritmos de selección como iremos escogiendo los individuos más fuertes para formar parte de la recombinación, mutación, y reemplazamiento de la población anterior, con la esperanza de que esta nueva generación mejore con respecto a la anterior. No se debe olvidar tampoco que el proceso de selección debe ser estocástico y no determinista. Por tanto, estará marcado por coeficientes de probabilidad que darán prioridad a los individuos más fuertes pero que permitirán que exista la posibilidad de que todo individuo, por débil que sea, pueda ser elegido. Esto se representa en el código mediante lapresión de selección, que es un parámetro cuyo valor determina cuánto se favorecerá la elección de individuos con mayores fitness en detrimento del resto. Una baja presión de seleción aumentará la probabilidad de que se escojan individuos con menor fitness, pero seguirá estando favorecida la selección de los más fuertes. Un incremento de este parámetro también provoca que el proceso converja antes, por lo que no es recomendable que sea demasiado alto, a fin de que el AG pueda realizar las modificaciones suficientes y explorar todas las soluciones posibles. De la misma forma, si la presión de selección es muy baja, el algoritmo tardará un tiempo excesivo en converger.

Se pueden clasificar los distintos métodos de selección en dos grupos. Por una parte, aquellos que se basan en el valor absoluto del fitness de cada individuo, y por la otra, aquellos en los que se compara el fitness de un individuo en particular con el del resto de la población a la hora de seleccionar. Este segundo método se utiliza cuando los fitness de los distintos cromosomas de población se mueven en un rango muy estrecho, siendo entonces conveniente pasar dichos fitness a valores relativos comprendidos entre 0 y 1, que harán que la selección sea más efectiva.

A continuación se detallan los métodos de selección más utilizados para desarrollar AGs:

Selección tipo Ruleta:

Se trata de una de las técnicas tradicionales de selección, y su nombre viene de que el proceso que sigue puede asimilarse al del giro de una ruleta en el que las secciones correspondientes a cada individuo no fueran uniformes si no proporcionales al valor del fitness de dicho individuo. Tras esta asignación de probabilidades, se hace "girar"la ruleta N veces (siendo N el número de seleccionados que queremos obtener), entrando el individuo en cuyo sector se detuviera la ruleta en el proceso para el cual ha sido seleccionado (ya sea reprodución, mutación o reeemplazamiento de población) .En la figura (1.22) se puede observar una representación de cómo se repartirían las probabilidades por este método, y cómo todos los individuos tienen cierta probabilidad de ser escogidos, siendo esta mayor cuanto mayor es su rendimiento (η). De la misma forma, puede deducirse que los individuos más fuertes no tienen garantizado ser seleccionados y que un mismo individuo puede ser elegido varias veces para participar en un mismo proceso. Por estos motivos, este método tiene una presión de selección moderadamente fuerte Sivanandam and Deepa [2007].

El método se implementa como sigue:

1) Suma de todos los fitness de la población, T. 2) RepetirN veces:

i) Producir un número aleatorior∈[0, T].

ii) Realizar un buclewhileen el que se van sumando los fitnes de los individuos, hasta llegar a un valor de dicha suma mayor o igual ar. El individuoncuyo fitness hace quePn

i=1f itnessir ,

siendo nN , es elegido.

INTRODUCCIÓN

Figura 1.22: Representación Selección tipo Ruleta (Elaboración propia)

Este método, aunque fácil de implementar, no es del todo recomendable, dado que de haber un individuo con un fitness mucho mayor que el resto, copará la mayoría de las plazas disponibles, con las consecuencias negativas que esto tiene.

Selección Aleatoria:

Esta técnica selecciona los progenitores de forma completamente aleatoria, por lo que no se favorece la elección de los individuos más fuertes.

Selección tipo Ranking:

Este método surge como una alternativa al de tipo Ruleta, para solucionar el problema que este conllevaba en los casos en que un individuo tuviera un fitness muy superior al resto y ocupase la mayor parte del área de la ruleta.

Hay distintos tipos de selección por ranking, siendo los más importantes: Método 1:

1) Se ordenan los individuos en función de su fitness y les asigna un valor de 1 a N (1 al individuo más débil yN al más fuerte).

2 RepetirN veces;

i) Se escogen dos individuos al azar de la población.

ii) Se selecciona como primer progenitor el individuo con mayor valor asignado.

iii) Se repiten i) yii) para encontrar al segundo progenitor. Si este progenitor coincide con el primero, se repite hasta encontrar uno distinto.

Método 2:

1) Se ordenan los individuos en función de su fitness y les asigna un valor de 1 a N (1 al individuo más débil yN al más fuerte).

2 RepetirN veces;

i) Se escogen dos individuos al azar de la población.

ii) Se genera un númeroR aleatorio, el cual se valúa con respecto al parámetrorque ha sido previamente definido (ambos entre 0 y 1). Si R < r, se usa el primer individuo como padre. Por contra, siRr, se elige al segundo individuo.

iii) Se repiten i) yii) para encontrar al segundo progenitor. Si este progenitor coincide con el primero, se repite hasta encontrar uno distinto.

Introducción a los Algoritmos Genéticos

Selección por torneos:

La gran ventaja de este método es que permite ajustar la presión de selección adaptándose al avance del AG. La idea de funcionamiento es similar a la del método de rankings, pero las comparaciones no se hacen entre dos individuos sino entre grupos mayores. Por tanto, se realuzan N torneos en los que participan un número de individuos inferior al de la población total, y el de mayor fitness se selecciona. La forma de ajustar la presión de selección es mediante la diferencia entre el fitness del mejor individuo seleccionado y la media de todos los escogidos.

Cuanto mayor sea el número de soluciones que participen en los torneos, menor será la diversidad final del grupo seleccionado, pudiendo llegar a una convergencia prematura. Aún así, este método bien aplicado es más eficiente y desemboca en una solución óptima [Sivanandam and Deepa, 2007].

Seleción Boltzmann:

Este método proviene de una técnica de optimización llamada "de recocido", enfiamiento utilizada para simular el enfriamiento lento de un metal fundido.

Se introduce el concepto detemperatura, que comienza alta, implicando una presión de selección baja, y va disminuyendo con el paso del tiempo a la vez que aumenta la presión de selección. Por tanto, al principio del proceso, los individuos fuertes están poco favorecidos, lo cual va cambiando conforme avanzan las iteraciones. Esto permite explorar al principio un gran número de posibilidades distintas, y con el avance del proceso ir enfocando más la búsqueda en la dirección que mejores resultados aporta.

En este proceso, se selecciona automáticamente el cromosoma con mayor fitness, y al resto se le asigna una probabilidadP de acuerdo con la expresión :

P =exp −(fmáxfi) T (1.10)

Siendo: T = To·(1−α)k y k un parámetro que relaciona la generación actual, g, con la máxima,G, según la ecuación:k= 1 + 100· Gg

. T ose escoge entre [0,100], y αentre [0,1]. En la elección de estos parámetros y la estimación del número de generaciones máximo,G, reside la dificultad de implementación de este método.

Elitismo:

No es un tanto un método de selección como una posibilidad que se puede implementar y conjuntar con otros métodos. Consiste en reservar uno o varios espacios para los mejores individuos de la generación, eliminando así la posibilidad existente de que no sean elegidos si el proceso se deja enteramente en manos de la probabilidad. Implementar el elitismo mejora el funcionamiento de un AG, pero si se reservan dema- siados espacios puede llevar a disminuir en exceso la diversidad, provocando una convergencia prematura [Sivanandam and Deepa, 2007].

Muestreo Universal Estocástico:

Este método ofrece un sesgo nulo y una dispersión mínima [Sivanandam and Deepa, 2007]. En él, se ordenan los individuos de mayor a menor fitness y se sitúan sobre una línea. Se halla la suma de todos los fitness S, la cual dividida entre el número total de progenitores buscados, N, nos da la distancia entre los punteros que usaremos para elegir. Para situar el primer puntero, se genera un número aleatorio entre 0 y el intervalo (S/N). Tras esto, y con los punteros sobre la recta anteriormente mencionada, seleccionaremos los individuos sobre cuyo espacio se sitúa algún puntero. En la figura (1.23) se puede observar un ejemplo del método, aplicado sobre los individuos de la figura (1.22). Debajo encontramos un ejemplo para la codificación de dicho ejemplo.

N=5; rends=[0.5, 0.4, 0.3, 0.75, 0.65, 0.68, 0.3, 0.9, 0.92, 0.6]; rends_ord=sort(rends, 'descend'); suma_rends=zeros([1, length(rends)+1]); suma_rends(1)=0; for i=2:1:length(rends)+1 suma_rends(i)=suma_rends(i-1)+rends_ord(i-1); end

INTRODUCCIÓN

Figura 1.23: Ejemplo Muestreo Universal Estocástico (Elaboración propia)

S=0; for i=1:1:10 S=S+rends(i); end intervalo=S/N; punteros = zeros([1,5]); punteros(1)=rand*intervalo; for i=2:1:N punteros(i)=punteros(i-1)+intervalo; end

figure(1); hold all;

plot(suma_rends, ones([1, length(rends)+1])); scatter(punteros, ones([1, N])*1.1);

En este ejemplo, en el que buscamos seleccionar 5 individuos de entre una población de 10. En dicha figura, los marcadores en forma de cruz roja sobre la línea contínua azul representan los distintos rendimientos uno a continuación de otro, ordenados de mayor a menor. El segmento contenido entre las dos primeras cruces pertenece al individuo de fitness máximo, el individuo 1, el siguiente segmento al individuo 2, y así sucesivamente. Los marcadores en forma de aspa verde indican la posición de los punteros. Por tanto, en este caso se seleccionarán los individuos 1, 3, 4, 6, y 9.

Documento similar