10.05.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!