Introducción a la Computación Evolutiva - Departamento de ...
Introducción a la Computación Evolutiva - Departamento de ...
Introducción a la Computación Evolutiva - Departamento de ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong><br />
Dr. Carlos A. Coello Coello<br />
<strong>Departamento</strong> <strong>de</strong> <strong>Computación</strong><br />
CINVESTAV-IPN<br />
Av. IPN No. 2508<br />
Col. San Pedro Zacatenco<br />
México, D.F. 07300<br />
email: ccoello@cs.cinvestav.mx<br />
http: //<strong>de</strong>lta.cs.cinvestav.mx/~ccoello<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Desarrol<strong>la</strong>dos por Deb y Goldberg hacia fines <strong>de</strong> los 1980s.<br />
Motivación: resolver problemas “<strong>de</strong>ceptivos” con un AG.<br />
Características: longitud cromosómica y tamaño <strong>de</strong> pob<strong>la</strong>ción<br />
variables.<br />
Se le l<strong>la</strong>ma AG <strong>de</strong>sor<strong>de</strong>nado, porque se contrapone al AG<br />
“or<strong>de</strong>nado” que tiene longitud y tamaño <strong>de</strong> pob<strong>la</strong>ción fijos.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
I<strong>de</strong>a fundamental: representar esquemas en vez <strong>de</strong> cromosomas.<br />
Funcionamiento: Comenzar con cromosomas cortos, i<strong>de</strong>ntificar<br />
un conjunto <strong>de</strong> buenos bloques constructores y <strong>de</strong>spués<br />
incrementar <strong>la</strong> longitud <strong>de</strong>l cromosoma para propagar estos<br />
buenos bloques constructores a lo <strong>la</strong>rgo <strong>de</strong>l resto <strong>de</strong> <strong>la</strong> ca<strong>de</strong>na.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Ejemplos <strong>de</strong> ca<strong>de</strong>nas válidas:<br />
(2,1) (2,0) (3,0) (3,1)<br />
(1,1) (1,0) (1,1) (4,1) (4,0)<br />
El número <strong>de</strong> <strong>la</strong> izquierda es <strong>la</strong> posición cromosómica (locus) y el<br />
<strong>de</strong> <strong>la</strong> <strong>de</strong>recha el valor <strong>de</strong>l bit.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Peculiarida<strong>de</strong>s <strong>de</strong> <strong>la</strong> representación:<br />
Algunas posiciones pue<strong>de</strong>n ser asignadas a más <strong>de</strong> un bit<br />
(sobre-especificación)<br />
Otras posiciones pue<strong>de</strong>n no ser asignadas a ningún bit<br />
(sub-especificación)<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
¿Cómo lidiar con <strong>la</strong> sobre-especificación?<br />
Imponer un or<strong>de</strong>n <strong>de</strong>terminístico <strong>de</strong> evaluación. Por ejemplo,<br />
<strong>de</strong> izquierda a <strong>de</strong>recha. De esta manera, se ignoran los valores<br />
posteriores al primero <strong>de</strong>tectado para una cierta posición<br />
cromosómica.<br />
Ejemplo: si tenemos <strong>la</strong> ca<strong>de</strong>na<br />
{ (1,0) (2,0) (4,1) (4,0) }<br />
tomamos el valor <strong>de</strong> 1 para el cuarto bit<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
¿Cómo lidiar con <strong>la</strong> sub-especificación?<br />
Tenemos que evaluar <strong>la</strong> aptitud <strong>de</strong> ca<strong>de</strong>nas parcialmente<br />
<strong>de</strong>finidas.<br />
Po<strong>de</strong>mos ver una ca<strong>de</strong>na como un esquema candidado.<br />
Ejemplo: si tenemos <strong>la</strong> ca<strong>de</strong>na<br />
{ (1,0) (2,0) (4,1) (4,0) }<br />
se trata <strong>de</strong>l esquema candidato: 00 ∗ 1<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
¿Cómo lidiar con <strong>la</strong> sub-especificación?<br />
Hay varios métodos:<br />
1) Promedios<br />
2) P<strong>la</strong>ntil<strong>la</strong>s competitivas<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Método <strong>de</strong> los Promedios:<br />
Generar aleatoriamente valores para los lugares faltantes un<br />
cierto número <strong>de</strong> veces<br />
La aptitud <strong>de</strong> <strong>la</strong> ca<strong>de</strong>na sub-especificada será el promedio <strong>de</strong><br />
aptitud <strong>de</strong> estas muestras<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Método <strong>de</strong> los Promedios:<br />
Motivación: se intenta calcu<strong>la</strong>r el promedio <strong>de</strong>l esquema<br />
candidato.<br />
Problema: La varianza <strong>de</strong> esta aptitud promedio<br />
frecuentemente será <strong>de</strong>masiado alta para que se pueda obtener<br />
un valor significativo mediante un muestreo aleatorio.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Método <strong>de</strong> <strong>la</strong>s P<strong>la</strong>ntil<strong>la</strong>s Competitivas:<br />
Usar un hillclimber para obtener un óptimo local.<br />
Al correr el mGA, se evalúan <strong>la</strong>s ca<strong>de</strong>nas sub-especificadas<br />
llenando los bits faltantes con el óptimo local. De esa manera,<br />
es posible calcu<strong>la</strong>r <strong>la</strong> aptitud <strong>de</strong> cualquier esquema candidato.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Método <strong>de</strong> <strong>la</strong>s P<strong>la</strong>ntil<strong>la</strong>s Competitivas:<br />
Motivación: Por <strong>de</strong>finición, un óptimo local es una ca<strong>de</strong>na que<br />
no pue<strong>de</strong> mejorarse con el cambio <strong>de</strong> un solo bit. Por tanto, si<br />
los bits <strong>de</strong>finidos <strong>de</strong> un esquema candidato mejoran el óptimo<br />
local, vale <strong>la</strong> pena efectuar una mayor exploración.<br />
Problema: El método es víctima <strong>de</strong> <strong>la</strong> explosión combinatoria.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Operan en 2 fases:<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Fase Primordial<br />
Fase Yuxtaposicional<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
El objetivo <strong>de</strong> <strong>la</strong> fase primordial es generar esquemas cortos que<br />
sirven como los bloques constructores en <strong>la</strong> fase yuxtaposicional<br />
en que éstos se combinan.<br />
Problema: ¿Cómo <strong>de</strong>cidir qué tan <strong>la</strong>rgos <strong>de</strong>ben ser estos “esquemas<br />
cortos”?<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
La solución que p<strong>la</strong>ntearon Goldberg y sus colegas al problema <strong>de</strong><br />
<strong>la</strong> longitud <strong>de</strong> los esquemas cortos fue adivinar el “or<strong>de</strong>n” <strong>de</strong> dichos<br />
esquemas.<br />
El “or<strong>de</strong>n” <strong>de</strong> un esquema es el número <strong>de</strong> posiciones fijas que<br />
tiene. Por ejemplo: o(0##10) = 3<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Si se adivina el or<strong>de</strong>n <strong>de</strong>l<br />
esquema (al que l<strong>la</strong>maremos k),<br />
entonces se proce<strong>de</strong> a generarse<br />
por enumeración todos los<br />
esquemas <strong>de</strong> ese or<strong>de</strong>n y <strong>de</strong><br />
<strong>la</strong> longitud requerida, l.<br />
Por ejemplo, si l=8 y k=3,<br />
tenemos:<br />
{(1, 0) (2, 0) (3, 0)}<br />
{(1, 0) (2, 0) (3, 1)}<br />
:<br />
:<br />
{(1, 1) (2, 1) (3, 1)}<br />
{(1, 0) (2, 0) (4, 0)}<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
{(1, 0) (2, 0) (4, 1)}<br />
:<br />
:<br />
{(6, 1) (7, 1) (8, 1)}<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Estos esquemas cortos (<strong>de</strong> or<strong>de</strong>n pre<strong>de</strong>finido) se generan en <strong>la</strong> fase<br />
primordial y luego evaluamos sus aptitu<strong>de</strong>s. Después <strong>de</strong> eso<br />
aplicamos sólo selección a <strong>la</strong> pob<strong>la</strong>ción (sin cruza ni mutación) para<br />
propagar los buenos bloques constructores, y se borra <strong>la</strong> mitad <strong>de</strong><br />
<strong>la</strong> pob<strong>la</strong>ción a intervalos regu<strong>la</strong>res.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Después <strong>de</strong> un cierto número (pre<strong>de</strong>finido) <strong>de</strong> generaciones,<br />
entramos a <strong>la</strong> fase yuxtaposicional. A partir <strong>de</strong> este punto, el<br />
tamaño <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción permanecerá fijo y usaremos selección y 2<br />
operadores l<strong>la</strong>mados corte y unión. Debido a <strong>la</strong> naturaleza <strong>de</strong> este<br />
algoritmo, estos operadores siempre producen ca<strong>de</strong>nas válidas.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Operador <strong>de</strong> Corte:<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
Operador <strong>de</strong> Unión:<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmos Genéticos Desor<strong>de</strong>nados<br />
El AG <strong>de</strong>sor<strong>de</strong>nado está diseñado para resolver problemas<br />
sumamente difíciles para un AG tradicional (p.ej. <strong>de</strong>ceptivos).<br />
A pesar <strong>de</strong> ser una propuesta interesante, ha tenido poco uso<br />
práctico porque suele ser víctima <strong>de</strong> <strong>la</strong> “maldición <strong>de</strong> <strong>la</strong><br />
dimensionalidad”.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo Genético Estructurado<br />
Representación híbrida propuesta por Dasgupta a mediados <strong>de</strong><br />
los 1990s.<br />
Es un compromiso entre <strong>la</strong> representación lineal <strong>de</strong>l AG<br />
tradicional y <strong>la</strong> <strong>de</strong> árbol usada por <strong>la</strong> programación genética.<br />
Usa una representación jerárquica con un mecanismo <strong>de</strong><br />
dominancia simi<strong>la</strong>r al <strong>de</strong> los diploi<strong>de</strong>s.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo Genético Estructurado<br />
El AG estructurado codifica estructuras genéticas <strong>de</strong> varios niveles<br />
(grafos dirigidos o árboles) como se muestra a continuación:<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo Genético Estructurado<br />
Los genes en cualquier nivel pue<strong>de</strong>n ser pasivos o activos, pero los<br />
genes <strong>de</strong> alto nivel activan o <strong>de</strong>sactivan conjuntos <strong>de</strong> genes <strong>de</strong> más<br />
bajo nivel, lo que significa que cualquier cambio pequeño en un alto<br />
nivel se magnifica en los niveles inferiores.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo Genético Estructurado<br />
La i<strong>de</strong>a principal <strong>de</strong>l AG estructurado es que los genes <strong>de</strong> alto nivel<br />
<strong>de</strong>ben explorar <strong>la</strong>s áreas potenciales <strong>de</strong>l espacio <strong>de</strong> búsqueda y los<br />
<strong>de</strong> bajo nivel <strong>de</strong>ben explotar ese sub-espacio. El uso principal <strong>de</strong><br />
este tipo <strong>de</strong> técnica es para funciones dinámicas.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo Genético Estructurado<br />
A pesar <strong>de</strong> tener una estructura jerárquica, se codifica como un<br />
cromosoma lineal <strong>de</strong> longitud fija:<br />
(c1 c2 c3 c11 c12 c13 c21 c22 c23 c31 c32 c33)<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo Genético Estructurado<br />
Sin embargo, el AG estructurado requiere <strong>de</strong> una estructura <strong>de</strong><br />
datos más complicada que <strong>la</strong> <strong>de</strong>l AG tradicional:<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Problemas:<br />
Algoritmo Genético Estructurado<br />
Implementación más complicada<br />
Mapeo entre genotipo y fenotipo extremadamente complejo<br />
Se <strong>de</strong>grada su <strong>de</strong>sempeño conforme se aumenta el número <strong>de</strong><br />
jerarquías utilizadas<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Recomendaciones para diseño <strong>de</strong> buenas<br />
representaciones<br />
Palmer (1994) hizo varias recomendaciones en el contexto <strong>de</strong><br />
representaciones <strong>de</strong> árbol, en torno los puntos c<strong>la</strong>ve a tomarse<br />
en cuenta al proponer una representación:<br />
1) Nuestra codificación <strong>de</strong>be po<strong>de</strong>r representar todos los<br />
fenotipos posibles.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Recomendaciones para diseño <strong>de</strong> buenas<br />
representaciones<br />
2) Nuestra codificación no <strong>de</strong>be tener sesgos, <strong>de</strong> manera que<br />
todos los individuos posibles se encuentren representados <strong>de</strong><br />
manera equitativa en el conjunto <strong>de</strong> todos los genotipos<br />
posibles.<br />
3) Nuestra codificación no <strong>de</strong>bería permitir soluciones<br />
infactibles.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Recomendaciones para diseño <strong>de</strong> buenas<br />
representaciones<br />
4) La <strong>de</strong>codificación <strong>de</strong>l genotipo al fenotipo <strong>de</strong>biera ser simple.<br />
5) Una codificación <strong>de</strong>be poseer localidad (o sea, cambios<br />
pequeños en el genotipo <strong>de</strong>bieran resultar en cambios pequeños<br />
en el fenotipo).<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Recomendaciones para diseño <strong>de</strong> buenas<br />
representaciones<br />
Ronald (1995) hizo también sugerencias en torno a cómo elegir<br />
una buena representación:<br />
1) Las codificaciones <strong>de</strong>ben ajustarse a un conjunto <strong>de</strong><br />
operadores genéticos <strong>de</strong> tal forma que se preserven (o<br />
transmitan) los bloques constructores <strong>de</strong> padres a hijos.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Recomendaciones para diseño <strong>de</strong> buenas<br />
representaciones<br />
2) Una buena codificación <strong>de</strong>be minimizar <strong>la</strong> epístasis.<br />
3) Deben preferirse <strong>la</strong>s soluciones factibles.<br />
4) El problema <strong>de</strong>be estar representado a un nivel correcto <strong>de</strong><br />
abstracción.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Recomendaciones para diseño <strong>de</strong> buenas<br />
representaciones<br />
5) Las codificaciones <strong>de</strong>ben explotar un mapeo apropiado <strong>de</strong>l<br />
genotipo al fenotipo en caso <strong>de</strong> que no sea posible producir un<br />
mapeo simple entre estos 2 espacios.<br />
6) No <strong>de</strong>bieran usarse formas isomórficas, en <strong>la</strong>s cuales el<br />
fenotipo <strong>de</strong> un individuo es codificado con más <strong>de</strong> un genotipo<br />
(esto ha sido <strong>de</strong>batido).<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Selección Proporcional<br />
Selección mediante torneo<br />
Técnicas <strong>de</strong> Selección<br />
Selección <strong>de</strong> Estado Uniforme<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Selección Proporcional<br />
Este nombre <strong>de</strong>scribe a un grupo <strong>de</strong> esquemas <strong>de</strong> selección<br />
originalmente propuestos por Hol<strong>la</strong>nd que eligen individuos <strong>de</strong><br />
acuerdo a su contribución <strong>de</strong> aptitud con respecto al total <strong>de</strong> <strong>la</strong><br />
pob<strong>la</strong>ción.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Técnicas:<br />
La Ruleta<br />
Sobrante Estocástico<br />
Universal Estocástica<br />
Muestreo Determinístico<br />
Selección Proporcional<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Aditamentos:<br />
Esca<strong>la</strong>miento Sigma<br />
Jerarquías<br />
Selección <strong>de</strong> Boltzmann<br />
Selección Proporcional<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
La Ruleta<br />
Técnica propuesta por DeJong (1975), fue el método más<br />
comúnmente usado en los orígenes <strong>de</strong> los AGs.<br />
El algoritmo es simple, pero ineficiente: O(n 2 ).<br />
El individuo menos apto pue<strong>de</strong> ser seleccionado más <strong>de</strong> una vez.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Implementación <strong>de</strong> DeJong:<br />
La Ruleta<br />
Calcu<strong>la</strong>r <strong>la</strong> suma <strong>de</strong> valores esperados T<br />
Repetir N veces (N es el tamaño <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción):<br />
- Generar un número aleatorio r entre 0.0 y T<br />
- Cic<strong>la</strong>r a través <strong>de</strong> los individuos <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción sumando los<br />
valores esperados hasta que <strong>la</strong> suma sea mayor o igual a r<br />
- El individuo que haga que esta suma exceda el límite es el<br />
seleccionado<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Sobrante Estocástico<br />
Propuesta por Booker (1982) y Brindle (1981) para acercarse<br />
más a los valores esperados <strong>de</strong> cada individuo.<br />
Asignar <strong>de</strong>terminísticamente <strong>la</strong>s partes enteras <strong>de</strong> los valores<br />
esperados para cada individuo.<br />
Reduce los problemas <strong>de</strong> <strong>la</strong> ruleta, pero pue<strong>de</strong> causar<br />
convergencia prematura.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Sobrante Estocástico<br />
Hay 2 variantes que difieren en qué hacer con <strong>la</strong>s partes<br />
<strong>de</strong>cimales <strong>de</strong> los valores esperados:<br />
1) Sin Reemp<strong>la</strong>zo: Usar flip con <strong>la</strong>s partes <strong>de</strong>cimales para<br />
elegir los padres restantes.<br />
2) Con Reemp<strong>la</strong>zo: Construir una ruleta con <strong>la</strong>s partes<br />
<strong>de</strong>cimales y usar<strong>la</strong> para seleccionar los padres faltantes.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Complejidad:<br />
Sobrante Estocástico<br />
La versión con reemp<strong>la</strong>zo es O(n 2 )<br />
La versión sin reemp<strong>la</strong>zo es O(n)<br />
La más popu<strong>la</strong>r es <strong>la</strong> versión sin reemp<strong>la</strong>zo, <strong>la</strong> cual parece ser<br />
superior a <strong>la</strong> ruleta (Booker, 1982).<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Propuesta por Baker (1987).<br />
Universal Estocástica<br />
Objetivo: minimizar <strong>la</strong> ma<strong>la</strong> distribución <strong>de</strong> los individuos en <strong>la</strong><br />
pob<strong>la</strong>ción en función <strong>de</strong> sus valores esperados.<br />
El algoritmo es: O(n)<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo:<br />
Universal Estocástica<br />
ptr=Rand( ); /* Regresa un aleatorio en el rango [0,1] */<br />
for (sum = 0, i = 1; i ptr; ptr + +)<br />
Seleccionar (i);<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Problemas:<br />
Universal Estocástica<br />
Pue<strong>de</strong> ocasionar convergencia prematura.<br />
Hace que los individuos más aptos se multipliquen muy<br />
rápidamente.<br />
No resuelve el problema más serio <strong>de</strong> <strong>la</strong> selección proporcional.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo:<br />
Calcu<strong>la</strong>r Pselect = fi/ f<br />
Muestreo Determinístico<br />
Calcu<strong>la</strong>r Valespi = pselect ∗ n<br />
Asignar <strong>de</strong>terminísticamente <strong>la</strong> parte entera <strong>de</strong> Valespi<br />
Or<strong>de</strong>nar <strong>la</strong> pob<strong>la</strong>ción <strong>de</strong> acuerdo a <strong>la</strong>s partes <strong>de</strong>cimales (<strong>de</strong><br />
mayor a menor)<br />
Obtener los padres faltantes <strong>de</strong> <strong>la</strong> parte superior <strong>de</strong> <strong>la</strong> lista.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Muestreo Determinístico<br />
El algoritmo es O(n) para <strong>la</strong> asignación <strong>de</strong>terminística y es<br />
O(n log n) para <strong>la</strong> or<strong>de</strong>nación.<br />
Pa<strong>de</strong>ce <strong>de</strong> los mismos problemas que el sobrante estocástico.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Esca<strong>la</strong>miento Sigma<br />
Es una técnica i<strong>de</strong>ada para mapear <strong>la</strong> aptitud original <strong>de</strong> un<br />
individuo con su valor esperado, <strong>de</strong> manera que el AG sea<br />
menos susceptible a <strong>la</strong> convergencia prematura.<br />
La i<strong>de</strong>a es mantener más o menos constante <strong>la</strong> presión <strong>de</strong><br />
selección a lo <strong>la</strong>rgo <strong>de</strong>l proceso evolutivo.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Esca<strong>la</strong>miento Sigma<br />
Usando esta técnica, el valor esperado <strong>de</strong> un individuo está en<br />
función <strong>de</strong> su aptitud, <strong>la</strong> media <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción y <strong>la</strong> <strong>de</strong>sviación<br />
estándar <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción:<br />
V alesp(i, t) =<br />
⎧<br />
⎨<br />
⎩<br />
1 + f(i)− f(t)<br />
2σ(t)<br />
si σ(t) = 0<br />
1.0 si σ(t) = 0<br />
C<strong>la</strong>se No. 5 2011<br />
(1)
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Esca<strong>la</strong>miento Sigma<br />
Al inicio <strong>de</strong> una corrida, el valor alto <strong>de</strong> <strong>la</strong> <strong>de</strong>sviación estándar<br />
impedirá que los mejores individuos obtengan los segmentos<br />
más gran<strong>de</strong>s <strong>de</strong> <strong>la</strong> ruleta.<br />
Hacia el final, <strong>la</strong> <strong>de</strong>sviación estándar será más baja y los<br />
individuos más aptos podrán multiplicarse más fácilmente.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Selección por Jerarquías<br />
Propuesta por Baker (1985) para evitar <strong>la</strong> convergencia<br />
prematura.<br />
No requiere esca<strong>la</strong>miento <strong>de</strong> <strong>la</strong>s aptitu<strong>de</strong>s.<br />
Alenta sobremanera <strong>la</strong> convergencia <strong>de</strong>l AG.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo:<br />
Selección por Jerarquías<br />
Or<strong>de</strong>nar (o jerarquizar) <strong>la</strong> pob<strong>la</strong>ción con base en su aptitud, <strong>de</strong><br />
1 a N (don<strong>de</strong> 1 representa al menos apto).<br />
Elegir Max (1 ≤ Max ≤ 2)<br />
Calcu<strong>la</strong>r Min = 2 − Max<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Algoritmo:<br />
Selección por Jerarquías<br />
El valor esperado <strong>de</strong> cada individuo será:<br />
jerarquia(i, t) − 1<br />
V alesp(i, t) = Min + (Max − Min)<br />
N − 1<br />
Usar selección proporcional aplicando los valores esperados<br />
obtenidos.<br />
C<strong>la</strong>se No. 5 2011
<strong>Introducción</strong> a <strong>la</strong> <strong>Computación</strong> <strong>Evolutiva</strong> Dr. Carlos A. Coello Coello<br />
Selección por Jerarquías<br />
Util cuando <strong>la</strong> función tiene ruido (por ejemplo, cuando hay<br />
una variable aleatoria).<br />
Existen otros métodos <strong>de</strong> asignación <strong>de</strong> jerarquías a<strong>de</strong>más <strong>de</strong>l<br />
lineal (p.ej. exponencial).<br />
Su complejidad es O(n log n)+ tiempo <strong>de</strong> selección.<br />
Diluye <strong>la</strong> presión <strong>de</strong> selección, por lo que causa convergencia<br />
lenta.<br />
C<strong>la</strong>se No. 5 2011