97
Introducción a algoritmos genéticos, y su aplicación Fernando Arámbula CCADET, POSGRADO EN COMPUTACION, UNAM [email protected] ;

Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

  • Upload
    hatram

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

Introducción a algoritmos genéticos, y su aplicación

Fernando ArámbulaCCADET,

POSGRADO EN COMPUTACION, [email protected];

Page 2: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

I.- INTRODUCCIONQué es un algoritmo genético (AG): Inspiración biológica;Comparación de AGs con otros métodos de optimización numérica (trabajo de investigacion)Convergencia

II.- PRINCIPIOS DE OPERACIÓN DE UN AGOperadores genéticosTeoría de schemataSelección de parámetros óptimos de operación de un AG

Page 3: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

III.- IMPLEMENTACION DE UN AGAlgoritmos de selecciónCrossover y mutaciónMapeo de una función objetivo a función de aptitudCodificación de los parámetros de la función de aptitudImplementación de un AG en lenguaje MATLABIntroducción a MATLABEstructuras de datos

AG paralelo (multipoblacional)

IV.- APLICACIONES DE AGsReconocimiento automático de la prostata en imágenes digitalesAlgoritmo de navegación autónoma de un robot movil

Page 4: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

1. Introducción

AG: Estrategia de búsqueda (Sistema adaptativo artificial) inspirada en los mecanismos de adaptación de los sistemas biológicos.

Antecedentes: ¿Cómo produce la evolución organismos cada vez mas aptos en ambientes extremadamente complejos?

‘Adaptation in natural & artificial systems’John H. Holland, MIT Press, 1975.

Goldberg D.E., “Genetic algorithms in search optimization and machine learning”, Addison-Wesley, 1989.

Page 5: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Objetivos de investigación en Algoritmos Genéticos:

1. Producir una teoría que explique los mecanismos de adaptación de los sistemas biológicos.

2. Producir sistemas artificiales que reproduzcan y aprovechen las ventajas de los mecanismos de adaptación naturales.

3. La optimización de funciones es la aplicación más popular de los AGs

Page 6: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Sistema Adaptativo NaturalLas características de un organismo están determinadas

por los genes en sus cromosomas. Cada gen tiene varias posibles formas o alelos que producen diferentes características asociadas a ese gen. Por ejemplo, ciertas variedades de chícharo de jardín tienen un gen que determina el color de la flor, cierto alelo produce una flor blanca y el otro una flor rosa.

Page 7: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Sistema Adaptativo Natural

Existen decenas de miles de genes en los cromosomas de un vertebrado típico,cada gen (ó gene) tiene varios alelos. Si definimos el conjunto α como el conjunto de todos los cromosomas que se obtienen a partir de todas las posibles combinaciones de alelos, observamos que α tiene del orden de:

cromosomas distintos, considerando sólo dos alelos por gen.

210000≈103000

Page 8: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Sistema Adaptativo Natural

Aún una población muy grande, p.ej. 10,000 x106 (la pob. Mundial humana es de 6000 x 106 aprox), de individuos es una fracción minúscula de α

La probabilidad de producir indiviuduos aptos con una muestra aleatoria de α es prácticamente cero.

Page 9: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Búsqueda enumerativa idealizada(“Adaptación enumerativa”)

Si a un sistema adaptativo natural le tomara 1.0 mS evaluar el desempeño de un individuo. Tomaría entonces:

evaluar todos los cromosomas de α

Si consideramos que:1 dia= 24 x 3600 s =86400 ≈ 100 ks1 M años = 360 x 106 dias3 M años ≈ 1000 x 106 ≈ 109 dias ≈ 1014 s

t opt=103000

1000=102997S

Page 10: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Búsqueda enumerativa idealizada(“Adaptación enumerativa”)

La edad estimada de la tierra es de 4500 M de años:4.5 x 103 M de años.

t opt=3×102997

1014=3×102983millones deaños

Page 11: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Epístasis

El enorme número de posibles estructuras genéticas (genotipos), para cada especie de vertebrados, es una contribución importante a la complejidad del sistema adaptativo natural. Sin embargo, la mayor parte de la complejidad de estos sistemas se debe a las interacciones que existen entre los genes.

Diferentes alelos de un mismo gen producen diferentes proteínas asociadas. Típicamente cada proteína ó conjunto de ellas forman catalizadores biológicos llamados enzimas. De esta manera, los genes controlan las reacciones químicas que se dan en una célula.

Page 12: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Epístasis

La mayoría de las veces, los productos de una cierta reacción química, se utilizan en muchas otras reacciones de la célula. Así los efectos de modificar alguna enzima tienen una gran propagación, ocasionando cambios significativos en la forma y funcionamiento de la célula.

Los efectos de diferentes enzimas no son aditivos. Por ejemplo sí una secuencia de reacciones químicas depende de varias enzimas, la secuencia no se da hasta que están presentes todas las enzimas (fenómeno conocido como epístasis).

Page 13: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Esto es el, efecto de cada alelo depende fuertemente de que otros alelos están presentes en el cromosoma.

El conjunto de características de un organismo – el fenotipo – depende en gran medida de procesos epistáticos. Por lo que no existe una manera sencilla de asignar créditos a cada alelo individual por el desempeño del fenotipo.

El proceso de adaptación consiste entonces, en la búsqueda de un conjunto de alelos coadaptados – esto es, alelos de diferentes genes, que juntos aumentan significativamente el desempeño (en cierto ambiente) del fenotipo correspondiente.

Page 14: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

La pregunta central para un sistema adaptativo natural es, entonces:¿Cómo transformar estructuras inicialmente inapropiadas, en estructuras apropiadas a una variedad de nichos ambientales?

[¿Cuál es la estrategia de adaptación o plan adaptativo más apropiado?]

Page 15: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

En estudios de genética matemática, la acción del ambiente

sobre el fenotipo (y por consiguiente el genotipo )

se sumariza en una medida de desempeño μE llamada “aptitud” (fitness). Aproximadamente, la aptitud de un fenotipo es el número de sus descendientes que sobrevive para reproducirse.

Dentro de una población la aptitud de un individuo está estrechamente relacionada con su influencia en el desarrollo futuro de la población cuando muchos descendientes de un individuo sobreviven para reproducirse, entonces muchos miembros de la población resultante (i.e. la siguiente generación) tendrán los alelos del individuo original.

E∈A∈

Page 16: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

La evaluación de los genotipos en una población puede verse como un proceso de muestreo. Donde el espacio de búsqueda es el conjunto de todos los posibles genotipos (α) y el resultado de cada muestra es el desempeño μE del fenotipo correspondiente.

Podemos preguntarnos entonces: ¿Cómo afecta el resultado μE(A) de una muestra el plan de muestreo τ ?

A∈

Page 17: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

En un sistema genético la influencia de cada individuo

es directamente proporcional a su aptitud μE(A)

Esto no necesita ser así en general. Sin embargo la reproducción en proporción al desempeño observado, ha proporcionado buenos resultados en la implementación de planes de muestreo – llamados planes reproductivos – aplicables en cualquier problema de adaptación.

Al hacer el número de descendientes, de un individuo, proporcional a su desempeño aseguramos que la mayoría de los conjuntos coadaptados de alelos, de los individuos más aptos, pasan a la siguiente generación.

A∈

Page 18: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Después de varias generaciones, el material genético de la población consistirá, principalmente, de los conjuntos coadaptados de genes, que han demostrado mejor desempeño. De esta manera, el plan reproductivo toma en cuenta la experiencia pasada. Ésta experiencia queda almacenada en el material genético de cada generación.

La simple reproducción no genera nuevas estructuras para ser evaluadas en el ambiente . Esto se logra a través de operadores genéticos que preservan la mayoría de los conjuntos coadaptados de alelos de la generación actual pero al mismo tiempo producen nuevos conjuntos de alelos para su evaluación.

Page 19: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

OPERADORES GENÉTICOS PRINCIPALES

Las dos características principales de los operadores genéticos naturales son:

1.- Los operadores no afectan el tamaño de la población. (deésta forma no se afecta el proceso de reproducción).

2.- Los operadores pocas veces separan alelos que se encuentran cercanos en un cromosoma. Es decir los alelos coadaptados se mantienen juntos.

Page 20: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

OPERADORES GENÉTICOS PRINCIPALEScruza (crossover)

padres : descendencia:

Posición de cruza

Mutación aleatoriacromosoma original: mutación:

Pm << 1 (0.01-0.001 por gen) Posición de mutación

Page 21: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Page 22: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Un algoritmo genético (AG) constituye la implementación de un plan de muestreo (adaptación) reproductivo, que utiliza como operadores principales la cruza y la mutación aleatoria con baja probabilidad.

Page 23: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Para utilizar un AG en un problema de optimización, es necesario codificar el conjunto de parámetros del problema como un arreglo de longitud finita, de elementos de un cierto alfabeto (finito).

Ejemplo: Maximizar la función f(x)=x2 en el intervalo [0, 31]

Codificación de x como el conjunto de posiciones (s) de un arreglo deswitches en una caja negra:

Page 24: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

El AG optimiza s para encontrar la óptima x:

Page 25: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Experimentos

Población aleatoria y los correspondientes valores de aptitud:

No.arreglo aptitud % del total1 01101 169 14.42 11000 576 49.23 01000 64 5.54 10011 361 30.9 total 1170 100.0

Page 26: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Reproducción proporcional a la aptitud

No.arreglo aptitud %del total1 01101 169 14.42 11000 576 49.23 01000 64 5.54 10011 361 30.9 total 1170 100.0

Page 27: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Optimización numérica de funciones, utilizando AGs:

No son necesarias las derivadas de la función (método numérico);Un AG puede optimizar funciones complicadas (muchos óptimos locales, puntos optimos cercanos a sub-óptimos ) en tiempos cortos;Un AG converge lentamente al valor óptimo, sin embargo se acerca muy rápido.

Trabajo de investigación. Describir brevemente:-optimización de funciones escalares de variable vectorial;-optimización multiobjetivo: funciones vectoriales;-método simplex de optimización numérica;-método de euler de optimización numérica.

Page 28: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

II.- PRINCIPIOS DE OPERACIÓN DE UN AGII.1. Schemata y sus propiedadesII.2. Teorema de schema

¿Qué es lo que procesa un AG y cómo sabemos que el procesarlo producirá resultados óptimos para un problema particular?

Page 29: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Plantillas de similitud (“Schemata”)Un ‘schema’ (plural schemata) es una plantilla de similitud que representa un subconjunto de arreglos con correspondencias en ciertas posiciones.

Por ejemplo, para el alfabeto binario {0, 1} si agregamos un tercer elemento * (no importa) podemos entonces crear arreglos (schemata) sobre el alfabeto ternario {0, 1, *}.

Page 30: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Un schema puede verse como un mecanismo de correspondencia de patrones. Un cierto schema corresponde a un patrón si los 1’s y 0’s en el patrón y el schema corresponden para todas las posiciones.

Por ejemplo: Para un arreglo de longitud 5. El schema: {*0000} corresponde (“matches”) a los 2 arreglos:{10000, 00000}

El schema: {*111*} corresponde a los arreglos:{01110, 01111, 11110, 11111}

Page 31: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

El * es un elemento de notación que permite representar todas las posibles similitudes entre arreglos de una cierta longitud y alfabeto.El * nunca es procesado explícitamente por un AG.

El número total de schemata posibles para arreglos de longitud l sobre un alfabeto de cardinalidad k está dado por : (k+1)l

Ejemplo: para k=2, l =5; Ns=243

Los schemata nos permiten evaluar cuanta información se incorpora en el proceso de búsqueda (optimización) si incluimos las similitudes entre los arreglos de una población.

Consideremos el arreglo de 5 bits: A1: 11111Este arreglo es uno de entre 25 schemata que corresponden con A1, ya que cualquiera de las 5 posiciones puede ser ocupada por su valor o por un *

Page 32: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

En general un arreglo de longitud l contiene 2l schemata. Entonces una población de tamaño n contiene entre 2l y n2l schemata dependiendo de la variedad en la población.

Por ejemplo: para arreglos binarios con l=5 y n=4, tenemos entre 32 y 128, schemata diferentes.

Nótese cómo con sólo 4 arreglos podemos representar la mitad de los (243) schemata que existen para l=5 .

¿Cuántos arreglos de 5 bits se necesitan para representar los 243 posibles schemata?.

Page 33: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Enumeración de schemata para cadenas binarias de longitud 2:

V={0,1}; l =2Ns=(2+1)l = 9 ; No. total de schemata que existen para cadenas

binarias de long. 2.Ns/cadena = 2l = 4; No. de schemata asociados a una sola cadena

Page 34: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Enumeración de schemata para cadenas binarias de longitud 2:

Page 35: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Propiedades de los SchemataOrden; O(). Es el número de posiciones fijas en un schema.Para: H

1= 0 1 1 * 1 * *

H2= 0 * * * * * *

O(H1)=4; O(H

2)=1;

El orden de un schema es una medida de su especificidad.

Longitud de definición; δ()Es la distancia entre la 1a. y la última posición fija de un schema. δ(H

1)= 5-1= 4; δ(H

2)= 0

Page 36: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

δ es una medida de la probabilidad de sobrevivencia de un schema al aplicar crossover.

Los schemata y sus propiedades proporcionan los medios básicos para analizar el efecto neto de la reproducción y los operadores genéticos en los “bloques de construcción” de una población.

Hemos visto que aún poblaciones pequeñas contienen una gran cantidad de información sobre las correspondencias que existen entre los arreglos que forman la población.

De los 2l a n2l schemata en una población (binaria). ¿Cuántos son procesados de manera util por un AG?

1.- La reproducción asigna un número creciente de evaluaciones a arreglos con alto desempeño.

Page 37: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

2.- La aplicación de “crossover” crea nuevos arreglos. Manteniendo los subarreglos con menor longitud de definición

1 * * * 0 * * 0 1 * * 1 * 0 *δ = 4 δ = 1 δ = 2

3.- Si la mutación es suficientemente baja tampoco altera arreglos con δ corta.

Los schemata con δ corta se conocen como bloques de construcción. Un AG asigna un número creciente de evaluaciones a los bloques de construcción asociados con un mejor desempeño.

Page 38: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Visualización de los schemata

Page 39: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Visualización como hiperplanos:

Page 40: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

II. 2. Teorema de schema ó Teorema fundamental de AGs.

Notación.Consideramos arreglos sobre el alfabeto binario V={0,1}Utilizaremos letras mayúsculas para indicar arreglos y letras

minúsculas con subíndices para indicar los caractéres de un arreglo.

Page 41: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Por ejemplo, el arreglo A de 7 bits: A= 0 0 0 1 1 0 1puede representarse como: A= a

1 a

2 a

3 a

4 a

5 a

6 a

7

Cada característica ai es análoga a un gene y los valores de a

i

son análogos a los alelos.

Es posible tener arreglos en los que las características ai no están

ordenadas secuencialmente. Por ejemplo:

A'= a3

a1 a

2 a

7 a

5 a

6 a

4

Indicaremos una población de n arreglos

Aj; j=1,2,3,..........n en el tiempo t como A(t) o β (t)

Page 42: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

m H , t1=mH , t n f H

∑ f j

Page 43: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

(1)

Donde:

f(H) es el desempeño promedio de todos los arreglos Ai que representan al

schema H en el tiempo t.

El desempeño promedio de toda la población A(t) está dado por

Podemos entonces rescribir la ec. 1 como: (2)

mH , t1=mH , t n f H

∑ f j

f =∑ f j

n

mH , t1=mH , t f H f

Page 44: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Entonces, los schemata con un desempeño mayor que el promedio de la población reciben un número creciente de muestras en la siguiente generación. Mientras que los que tienen un desempeño menor al promedio reciben un número decreciente de muestras.

Esto se da para cada schema en A (t) en PARALELO.

Supongamos ahora que un cierto schema H muestra consistentemente un desempeño arriba/abajo del promedio por un valor

donde c es un constante positiva/negativa.Podemos escribir la ec. 2 como:

c f

mH , t1=mH , t f c f

f=m H , t 1c

Page 45: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Desde t=0 y para un valor constante de c:

La reproducción entonces asigna un número exponencialmente creciente (decreciente) de copias a los schemata que muestran un desempeño superior (inferior) al promedio de la población.

La aplicación de crossover crea nuevas estructuras afectando al mínimo el proceso de reproducción. Consideremos la siguiente estructura de longitud l y 2 schemata asociados:

A = 0 1 1 1 0 0 0H

1= * 1 * * * * 0

H2= * * * 1 0 * *

El schema H1 tiene menos probabilidades de sobrevivir crossover ya

que en promedio es muy probable que el punto de cruza esté entre las posiciones 2 y 7.

m H , t =mH ,01ct

Page 46: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

δ(H

1) = 7 – 2 =5 ; Existen l -1 posibles posiciones para realizar la

cruza. Si seleccionamos una aleatoriamente y con igual probabilidad. Entonces la probabilidad de desaparecer de H

1 está dada por:

Para H2:

En general la probabilidad de sobrevivencia de un schema H está dada por (Pc=1):

Pd=H 1l−1

=56

P s=1−Pd=16

Pd=16

P s=56

P s1−H l−1

Page 47: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Si además se aplica la cruza con probabilidad Pc:

El efecto combinado de la reproducción y la cruza está dado entonces por: (suponiendo independencia de ambas operaciones).

Si consideramos ahora una probabilidad de mutación Pm. La

probabilidad de sobrevivir de un alelo particular es de 1-Pm y la

probabilidad de sobrevivencia de un schema está dada por:

El número esperado de copias de un schema 4 considerando al aplicación de reproducción, crossover y mutación está dado por el TEOREMA DE SCHEMA:

P s1−PcH l−1

mH , t1m H , t f H f [1−Pc

H l−1 ]

P sm=1−PmOH

Page 48: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Si Pm. << 1 podemos aproximar P

sm como

El número esperado de copias de un schema H considerando la aplicación de reproducción, cruza y mutación está dado por el TEOREMA DE SCHEMA:

mH , t1mH , t f H f [1−Pc

H l−1

−OH Pm]

P sm=1−OH Pm

Page 49: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Goldberg D.E., “Genetic algorithms in search optimization and machine learning”, Addison-Wesley, 1989.

Page 50: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

mH , t1mH , t f H f [1−Pc

H l−1

−OH Pm]

Page 51: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

III. Implementación de un AG:

En un problema típico de optimización de funciones, dada una función real de varios parámetros reales f (x

1, x

2, ........, x

n). El problema de

optimización consiste en encontrar los valores de xi dentro de un

cierto rango de valores [ai, b

i] que corresponden a un valor óptimo

(min ó max) de f .

Page 52: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

CODIFICACIÓN

Para optimizar f con un AG es necesario codificar el conjunto de parámetros x

i

Las opciones más comunes son:

- binario - gray - entero - real

Page 53: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Dada una función

Podemos codificar xi en un cierto alfabeto por ejemplo: binario

xi : {00000, 00001, . . . . . . . . ., 11111}

Entonces cada posible solución de f está representada por un arreglode 1's y 0's (cromosoma o individuo) de longitud l

Para n=5; l =5x5=25

Page 54: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Función de desempeño: g=F max− f =n312− f

Page 55: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Mapeo lineal (binario ó gray)

El rango de valores de xi se mapea linealmente a números enteros

binarios, ó código gray, de longitud l .Ejemplo para l =5: BIN GRAY x

max11111 11111

. . . . . . . 00010 00011 . 00001 00001 x

min00000 00000

Los valores de x se calculan a partir del código (binario o gray) como:

Donde: xcod

es el equivalente decimal de un valor de x codificada en binario o gray.

x=xmax−xmin

2l−1xcodxmin

Page 56: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Mapeo lineal (binario ó gray)

El código gray mantiene una distancia constante entre códigos adyacentes, esto puede ayudar al AG a encontrar valores óptimos para ciertas funciones, de manera más robusta. [User’s guide GA toolbox ]. Sin embargo el código binario ha producido resultados satisfactorios en muchas aplicaciones.

El conjunto de parámetros de f (x1, x

2, ........, x

n) puede

representarse por un arreglo concatenado de las xi

codificadas:

10100 00001 . . . . . . . . 01010 ; lt=nl

Page 57: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Codificación

Mientras que la codificación en binario ha sido muy utilizada en AGs. Existe un interés creciente en formas de codificación alternas como el asignar números enteros, ó reales, a los parámetros del problema. [User’s guide GA toolbox].

Existen algunas ventajas prácticas en la utilización de valores reales para codificar los parámetros de un AG. Mejora la eficiencia ya que no es necesario decodificar cada parámetro, para evaluar la función objetivo. Se utiliza menos memoria ya que pueden utilizarse arreglos de variables de punto flotante para representar un cromosoma.

Page 58: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Existen 2 principios básicos para seleccionar los cromosomas en un AG.

1. El principio de bloques de construcción relevantes:El usuario debe seleccionar una codificación que resulte en schemata cortos y de bajo orden relevantes al problema. Que no estén muy relacionados con schemata definidos en otras posiciones.

Ejemplos: X1, X2 , X3 A: 110, 011, 111 B: 6, 3, 7 C: 101, 111, 011

Page 59: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

2. El principio de alfabetos mínimos.

El usuario debe seleccionar el alfabeto más pequeño (con menor número de elementos) que permita una codificación práctica de los parámetros del problema.

El primer principio trata de maximizar el procesamiento de bloques de construcción relevantes al problema de optimización. El segundo principio recomienda tener tantos schemata como sea posible para un problema particular. Ejemplo:

Codificación de 3 parámetros X1, X2, X3 cada uno con un rango de [0,7]

X1, X2, X3 BINARIO : 110, 011, 111Ns=(k+1)l=(2+1)9=19683 ENTERO: 6, 3, 7

Ns=(k+1)l=(8+1)3=729

Page 60: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Resolución de la codificación: Error de cuantización

La resolución de una codificación es la diferencia entre valores contiguos de la variable codificada (ΔX). El error de cuantización correspondiente es la diferencia máxima entre el código más cercano y el valor exacto de la variable codificada (ΔX/2).La resolución está determinada por el número de valores que puede tomar una variable codificada dentro de su rango.

Page 61: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Aunque depende del problema y de la función objetivo correspondiente, en general, es recomendable codificar rangos más grandes con un mayor número de valores codificados, manteniendo así una resolución (y un error de cuantización) similar entre variables.

A un cierto error de cuantización en las variables de una función objetivo, corresponde un error de cuantización en la evaluación de la función, que depende de la función:

Page 62: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Page 63: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Población inicial.

Se generan el número deseado (n) de estructuras de longitud l , utilizando un generador de números aleatorios que distribuya, con igual probabilidad, los k elementos del alfabeto que se utilize, para cada posición en una estructura. Por ejemplo: Para una población binaria de n estructuras (arreglos), individuos, ó cromosomas) de longitud . Es necesario producir números del conjunto con igual probabilidad.

En la inicialización aleatoria extendida [GA toolbox User’s guide]. Cada individuo de la población se genera aleatoriamente varias veces, se evalua el desempeño de cada opción y se toma aquella con mejor desempeño. Otra opción consiste en sembrar la población inicial con individuos de los que se sabe de antemano que corresponden a valores cercanos al óptimo.

Page 64: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

GA toolbox codificación: binaria natural, gray, entera, real.

inicialización: binaria y entera crtbp crtbase crea un vector que describe la base crtbp crtreal crea una pop real bs2rv conversión binario a real Función objetivo y función de aptitud. La función objetivo proporciona una medida del desempeño del

sistema asociado a cierto individuo en la población. Para muchos problemas, los mejores individuos tendrán los valores más bajos de la función objetivo.

Page 65: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Se utiliza la función de aptitud (fitness function) para convertir los valores de la función objetivo en valores de aptitud de cada individuo con los cuales se pueda asignar el número esperado de copias. Así:

F (x) = g (f (x))

Donde: F (x) = función de aptitud f (x) = función objetivo S es una transformación lineal

Una forma común de transformación es el mapeo lineal:

F (x) = a f (x) + b donde:

a es un factor de escala positivo si queremos maximizar f (x) y negativo si queremos minimizar f (x) b es el corrimiento (offset) necesario para no tener valores negativos de F (x)

Page 66: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

f(x) g(f(x))= 1/f(x) g(f(x))= -f(x)+b

Page 67: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

La aptitud relativa de cada individuo en la población puede entonces calcularse como:

Pi=F x i

∑j=1

N

F x j

El uso de la aptitud relativa (p) para asignar copias a cada individuo, es susceptible de convergencia prematura del AG. Ya que individuos con valores grandes de aptitud relativa (p) en las primeras generaciones pueden dominar las generaciones sucesivas, haciendo converger el AG, hacia puntos subóptimos. Se han reportado métodos de ranking, que limitan el número de copias que puede recibir un individuo (Baker 14, GA-Toolbox).

Page 68: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Calculo de prob. de sel por ranking:

La población de N individuo se ordena de acuerdo a la aptitud de c/u: primero el peor y al final el mejor. El número de copias que se espera de cada individuo se calcula como:

Donde: Xi es la posición del individuo i;

1.1 <=MAX<= 2.0, es el número máximo de copias que puede recibir un individuo

Pi=2−MAX2 MAX−1 X i−1N−1

Page 69: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Algoritmos de selección (o muestreo)

El algoritmo de selección asigna de manera probabilistica un número entero de copias, a un individuo, de acuerdo a su probabilidad de selección (P).

Baker (19) propuso 3 medidas del funcionamiento de un algoritmo de selección: sesgo (bias), dispersión (spread), eficiencia.

El sesgo es la diferencia absoluta entre la probabilidad de selección (P) y el número de copias (ó prob. efectiva) esperada de un individuo.

La dispersión es el rango de valores de probabilidad efectiva que se asignan a un individuo.

La eficiencia es una medida de la contribución del algoritmo de selección al tiempo total de proceso de una generación del AG (sin contar la evaluación de la función objetivo).

Page 70: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Ruleta ó muestreo estocástico con remplazo(Stochastic Sampling with Replacement)

Se define un intervalo real sum formado con la suma de las probabilidades de selección de la población. Cada individuo de la población pertenece a un cierto subrango de sum [o,..,sum].

Para seleccionar un individuo se genera un número aleatorio dentro del rango [o,..,sum] y se selecciona el individuo correspondiente. Esto se repite N veces.

La ruleta básica tiene sesgo cero y dispersión ilimitada. Cualquier individuo con P> 0 podría llenar la siguiente generación.

Page 71: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Muestreo Estocástico Universal(Stochastic Universal Sampling)

Es un algoritmo que genera, todas las copias necesarias,en una sola selección. Se utilizan N apuntadores igualmente espaciados. La población original se “barajea” aleatoriamente y se genera un solo número ptr en el rango [ 0, sum/N]. Los N individuos se seleccionan por N apuntadores espaciados por sum:

[ptr, ptr +sum,…, ptr+ (N-1) sum]Esto es análogo a una ruleta con N marcadores equiespaciados

SUS tiene sesgo cero y mínima dispersión. Es también más eficiente que la ruleta básica.

Page 72: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

GA- Tool box: stochastic universal sampling sus stochastic sampling with replacement rws

Muestreo deterministaA partir de la probabilidad de selección (P) se calcula para cada

individuo en β(t) el número esperado de copias (Ne):

ne = P. n

Se asigna la parte entera de ne a cada individuo, en la población

de copias (ó mating pool) μ(t). Los individuos en β(t) se ordenan de acuerdo a la parte fraccionaria de P

i y se toman los individuos

necesarios de la parte superior (los que tienen mayor P fraccionaria) para llenar μ(t):

Page 73: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

El muestreo determinista tiene alta eficiencia.

Se recomienda utilizar un método de normalización (p.ej. ranking) para calcular Pi

Page 74: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Muestreo (selección) por torneo:

A partir de las probabilidades de selección Pi, se utiliza la ruleta de varios marcadores (SUS) para seleccionar s individuos, donde s es el tamaño del torneo y equivale a la presión de selección.

Se copia el individuo con fobj

óptima (min/max) en la población de copias μ(t). El proceso se repite n veces.

Page 75: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Operadores genéticos:Cruza (crossover)Punto único (single point): xovspBarajeado (shuffle): xovshReduced surrogate: producen descendencia diferente a los padres,

siempre que es posible: xovsprs; xovdprs; xovshrs

Multipunto:xovmp (multipunto)xovdp (doble punto)

Page 76: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Recombinación (codificación real)Recombinación intermedia.Cuando se utiliza una codificación real de los cromosomas en un AG la

recombinación intermedia produce valores de fenotipos nuevos (descendencia) que están entre y alrededor de los padres.

recint; recombinación intermediareclin; recombinación en línea (una sola constante para todos los

genes del “hijo”).

Page 77: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Mutación

mut; binaria y enteramutbga; real

Reinserción

Es el operador (algoritmo) que se utiliza para reemplazar la población actual por la siguiente generación del AG.

Page 78: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Brecha Generacional (Generation Gap).

Es la fracción de individuos nuevos que se insertan en la población actual (0-1)

Si uno ó más de los mejores individuos en la población actual se conservan de manera determinista. Se está siguiendo entonces una estrategia elitista.

Las dos estrategias de reinserción más comunes son: Reemplazo de los más débiles; reins Reemplazo de los más viejos

Terminación del AG

Las estrategias usuales son: terminar el AG cuando un cierto número de generaciones ha sido procesado ó cuando se ha alcanzado un cierto valor (óptimo) de la función objetivo.

Page 79: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

GA Toolbox MATLAB

Estructuras de datos: Cromosomas Fenotipos Valores de la función objetivo Valores de aptitud

Cromosomas.

MATLAB almacena una población en una matriz de tamaño Nind

x Lind

; donde N

ind = No de individuos, L

ind = longitud de cada uno.

Cada renglón de la matriz corresponde al cromosoma de un individuo en la población.

Page 80: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Fenotipos:

Un fenotipo es el arreglo de parámetros de la función objetivo, que resulta de decodificar el cromosoma correspondiente.

chrom=

g11 g12 . g1Lg 21 . . .. . . .

g N1 . . gNL

Page 81: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Los parámetros de la función objetivo (ó variables de decisión) se almacenan en una matriz real de tamaño N

ind x N

var.

Donde: Nvar

= Número de variables de decisión

Cada renglón de la matriz phen corresponde al fenotipo de un individuo. Es posible mezclar fenotipos reales, enteros, o alfanuméricos, en la misma matriz de fenotipos. Todos los renglones deben tener el mismo número de columnas.

phen=

x11 x12 . . x1Nvarx21 . . . .. . . . .

x Nind1 . . . xNindNvar

Page 82: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Valores de la función objetivo:

La función objetivo puede ser escalar o vectorial en el caso de problemas multiobjetivo.

Los valores de la función objetivo se almacenan en una matriz de tamaño N

ind x N

obj donde N

obj es el número de objetivos de la función.

Cada renglón corresponde al vector de valores de la función objetivo de cada individuo en la población.

objV = objfun (phen) % matriz de valores de la % función objetivoobjfun es una función objetivo arbitraria.

objv=

f 11 f 12 . . f 1Nobjf 21 . . . .. . . . .

f Nind1 . . . f NindNobj

Page 83: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Valores de aptitudSe obtienen al aplicar una transformación (usualmente un mapeo lineal) al valor o valores de la función objetivo. La aptitud debe ser siempre un valor escalar no-negativo.

Fitn= FITNESS (objv) % valores de aptitud.

El AG simple en MATLAB (sga.m)Optimización de la función 1 de DeJong:

Page 84: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Descriptor de Campo (Field Descriptor)

Matriz que especifica la forma en que se van a decodificar los cromosomas del AG.

len es un vector renglón que contiene la longitud de cada subarreglo en los cromsomas del AG sum (len) = lenght (chrom)

FieldD=

lenlbub

codescalelbinubin

Page 85: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

lb y ub son vectores renglón que contienen los valores mínimo y máximo, respectivamente, de cada variable.

code es un vector renglón, binario que indica cómo decodificar cada subarreglo; code = ø binario natural

code =1 GrayScale vector renglón binario que indica la utilización de escalamiento

proporcional (scale = ø) o logarítmico (scale = 1) para la decodificación de cada variable.

lbin, ubin son vectores renglón binarios que indican si se incluye o no, el límite inferior y/o el límite superior en el rango de cada variable. lb= ubin =1 para incluir valor extremo

lbin, ubin = ø si no se incluyen los extremos

Page 86: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

DESCRIPTOR DE CAMPO DE SGA.M

20 20 . . . . . . 20 -512 -512 . . . . . -512

-512 -512 . . . . . -512 1 1 . . . . .. 1FieldD = 0 0 . . . . . . 0 1 1 . . . . . . 1 1 1 . . . . . . 1

7x20

Page 87: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Page 88: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Page 89: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

IMPLEMENTACIÓN DE AGs CON MÚLTIPLES POBLACIONES

Modelo de migración:Cada subpoblación es procesada por un AG tradicional. De vez en cuando ocurren migraciones de algunos individuos de una subpoblación hacia otra. El número de migrantes y el patrón de migración contribuyen a tener mayor diversidad genética en las subpoblaciones chrom=

ind1subpob1ind2subpob1

.

.indNsubpob1ind1subpob2ind2subpob2

.

.indNsubpob2

.

.

.

.ind1subpobN

.

.indNsubpobN

Page 90: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

IMPLEMENTACIÓN DE AGs CON MULTIPLES POBLACIONES

G.A- toolbox proporciona funciones de alto nivel que aceptan como argumento el número de subpoblaciones en una estructura de datos. Las funciones de bajo nivel se llaman independientemente desde cada subpoblación para procesar cada generación en la manera usual.

Funciones de alto nivel que soportan subpoblaciones:mutate recombinreinsselect

TODAS LAS SUBPOBLACIONES DEBEN SER DEL MISMO TAMAÑO

Page 91: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

IMPLEMENTACIÓN DE AGs CON MULTIPLES POBLACIONES

La función migrate realiza la transferencia de individuos de una subpoblación a otra. La migración puede ser:

Uniforme. Un cierto número de individuos se selecciona aleatoriamente en una subpoblación y se inserta en otra, con selección aleatoria de remplazos.

Basada en aptitud: Los individuos más aptos de una subpoblación se seleccionan para emigrar y se insertan aleatoriamente en otra subpoblación.

Page 92: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

IMPLEMENTACIÓN DE AGs CON MULTIPLES POBLACIONES

Page 93: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

IMPLEMENTACIÓN DE AGs CON MULTIPLES POBLACIONES

Page 94: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Multipopulation Genetic Algorithm (MPGA) en MATLAB

Función objetivo:

J=max∑k=0

n−1

vk

Donde: n es el número de variables

objharv.m= -J

FieldD = 0 0 . . . . . . 0

200 200 . . . . . 2002x20

Page 95: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Multipopulation Genetic Algortihm (MPGA) en MATLAB

Best Average . . . . . . No. Fun Ev. . .

Best = . . .. . .. . .

MAXGEN X 3

x0 x1 . . . . . x19. . . . . . .

IndAll = . . . . . . . .. . . . . . . .

MAXGEN X 3

Page 96: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

Multipopulation Genetic Algortihm (MPGA) en MATLAB

20 20 . . . . . . 20 -512 -512 . . . . . -512

-512 -512 . . . . . -512 1 1 . . . . .. 1FieldD = 0 0 . . . . . . 0 1 1 . . . . . . 1 1 1 . . . . . . 1

7x20

Page 97: Introducción a algoritmos genéticos, y su aplicación · Las características de un organismo están determinadas por los genes en sus cromosomas. Cada gen tiene ... El conjunto

F. ARAMBULA, 2010, CCADET, UNAM

FIN DE LA PARTE 1