Vous êtes sur la page 1sur 28

Algoritmos Genticos

Ramn Garduo Jurez Diseo de Frmacos

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Introduccin
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Los Algoritmos Genticos son buenos al tomar grandes, potencialmente enormes espacios de bsqueda y navegar por entre ellos, buscando por combinaciones ptimas de cosas, soluciones que de otra manera se tomaran toda una vida para encontrar.
- Salvatore Mangano Computer Design, Mayo 1995

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Clases de tcnicas de bsqueda


S a hte h iq e e rc c n u s
Clc lu -b s dte h iq e a u s ae c n u s Gid dra d m e rc te h iq e u e no s a h c n us Eu e tiv te h iq e n mra e c n u s

D c mth d iret e o s
F o ac in n c i Nw n e to

In iret mth d d c e os

Eo tio a a o m v lu n ry lg rith s

S u te a n a g imla d n e lin

Dn m p g m in y a ic ro ra m g

Eo tio a s te ie Gn tica o m v lu n ry tra g s e e lg rith s

P ra l a lle Cn liz d e tra e

S q e tia e un l

D trib te S a y ta Gn ra n l is u d te d -s te e e tio a

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Una revisin rpida de los AG


   

Desarrollados: en los EUA en los 1970s Pioneros: J. Holland, K. DeJong, D. Goldberg Tpicamente aplicados a:

La optimizacin discreta no son muy rpidos Una buena heurstica para problemas combinatorios tradicionalmente enfatiza el combinar la informacin de padres saludables (cruzamiento) muchas variantes, e.g., modelos de reproduccin, operadores

Caractersticas Atribuidas :

Caractersticas Especiales:

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Algoritmos Genticos


El AG original de Holland se conoce ahora como el gentico algoritmo simple (AGS) Otros AGs usan diferentes:

Representaciones Mutaciones Cruzamientos Mecanismos de seleccin

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Resumen tcnico de los AGS


Representacin Recombinacin Mutacin Seleccin de padres Cadenas binarias N-puntos o uniforme Dar la vuelta a pares de bits con probabilidad fija Aptitud-Proporcionado

Seleccin de sobrevivientes Todos los hijos remplazan a los padres Especialidad nfasis en el cruzamiento

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Representacin de los cromosomas


poblacin


Los cromosomas pueden ser:


Cadenas de Bits (0101 ... 1100) Nmeros Reales (43.2 -33.1 ... 0.0 89.2) Permutaciones de elementos (E11 E3 E7 ... E1 E15) Listas de reglas (R1 R2 R3 ... R22 R23) Elementos del programa (programacin gentica) ... cualquier estructura de datos ...

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Representacin
Espacio Fenotipo Espacio Genotipo = {0,1}L Codificado (representacin) 10010001 10010010 010001001 011101001 Decodificado (representacin inversa)

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Tipos de AGS
poblacin
miembros descartados

desechos


AG Generacional: poblaciones enteras son reemplazadas en cada iteracin AG Estado-estable: unos cuantos miembros son reemplazados en cada generacin

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Ciclo de reproduccin en AGS

1. Seleccionar a los padres del pozo de apareamiento (tamao del pozo = tamao de la poblacin) 2. Mezclar el pozo de apareamiento 3. Para cada par consecutivo aplicar el cruzamiento con probabilidad pc , de lo contrario copiar los padres 4. Para cada prole aplicar la mutacin (cambiar el bit con probabilidad pm independientemente del bit) 5. Remplazar la poblacin entera con la prole resultante

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Operadores AGS: cruzamiento de 1-punto


   

Escoja un punto al azar en los dos padres Separe a los padres en este punto de cruce D origen a nueva prole al intercambiar sus extremos Pc tpicamente en el intervalo (0.6, 0.9)

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Operadores AGS: mutacin


 

Altere cada gen independientemente con una probabilidad pm pm es conocida como el ndice de mutacin

Tpicamente entre 1/tamao_pobl y 1/ longitud_cromosoma

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Operadores AGS: Seleccin




Idea Principal: mejores individuos tienen mayor probabilidad Probabilidad proporcional a la aptitud Implementacin: tcnica de la ruleta  Asignar a cada individuo una parte de la ruleta  Gire la ruleta n veces para seleccionar n individuos
1/6 = 17%

A
3/6 = 50%

aptitud (A) = 3 aptitud (B) = 1 aptitud (C) = 2

2/6 = 33%

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Un ejemplo [Goldberg 1989]


 

Problema simple : max x2 sobre {0,1,,31} Enfoque AG:


Representacin: cdigo binario, e.g. 01101 m 13 Tamao de la poblacin: 4 X-amiento de 1-punto, mutacin por bit Seleccin de ruleta Inicializacin azarosa

Se muestra un ciclo generacional hecho a mano

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Ejemplo x2: seleccin

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Ejemplo X2: cruzamiento

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Ejemplo X2: mutacin

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

El AG simple
 

Ha sido sujeto de muchos estudios

an se usa como referencia para AGs nuevos Representacin es muy restrictiva Mutacin & cruzamiento solo se aplica a cadenas de bits & representaciones de enteros Mecanismo de seleccin es sensitivo en la convergencia de poblaciones con valores de aptitud muy cercanos Modelo de poblacin generacional (paso 5 en AGS ciclo reproductivo) puede ser mejorado con la seleccin explicita del sobreviviente

Muestra muchos defectos, e.g.


A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Operadores Alternativos de Cruzamiento




El desempeo con cruzamiento de 1 punto depende del orden en el que las variables ocurren en la representacin

ms probablemente mantendr juntos a los genes que estn cercanos nunca podr mantener juntos a genes de los extremos opuestos de la cadena esto es conocido como la tendencia posicional Puede ser explotado si conocemos la estructura del problema, pero generalmente ste no es el caso

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Cruzamiento de n-puntos
   

Escjanse n puntos azarosos de cruce Seprense los genes en estos puntos Pegue las partes, alternndose entre los padres Generalizacin de 1 punto (todava con tendencia posicional)

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Cruzamiento uniforme
   

Asignar cabezas a un padre, y colas a el otro Eche una moneda al are para cada gen del primer hijo Haga una copia inversa del gen para el segundo hijo La herencia es independiente de la posicin

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Cruzamiento O mutacin?


Debate con ms de una dcada: cual es mejor / necesario / principales-antecedentes Respuesta (al menos, ms de comn acuerdo):

depende del problema, pero en general, es mejor tener a ambos ambos tienen un papel diferente es posible tener AE-solo-mutacin, AE-solo-Xamiento no trabajan

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Cruzamiento O mutacin? (cont)


Exploracin: Descubriendo reas prometedoras en el espacio de bsqueda, i.e. ganando informacin del problema Explotacin: Optimizando dentro de un rea prometedora, i.e. usando informacin Existe la cooperacin Y competicin entre ellos


El cruzamiento es exploratorio, realiza un gran brinco a un La mutacin es explotadora, esta crea al azar pequeas

rea en algn lugar entre dos (padres) reas




desviaciones, por lo cual permanece cerca (en el rea de) del padre

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Cruzamiento O mutacin? (cont)




Solo el cruzamiento puede combinar la informacin de dos padres Solo la mutacin puede introducir nueva informacin (alelos) El cruzamiento no cambia las frecuencias de los alelos en la poblacin (por medio de experimentos: 50% 0s en el primer bit en la poblacin, ?% despus de llevar a cabo n cruzamientos) Para pegarle al ptimo a menudo se necesita una mutacin suertuda

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Otras representaciones


Codificacin Gray de enteros (an cromosomas binarios)

la codificacin Gray es un mapeo que significa que pequeos cambios en el genotipo causan pequeos cambios en el fenotipo (a diferencia del cdigo binario). Un mapeo genotipofenotipo ms suave hace la vida ms fcil para el AG

Hoy en da es ms aceptado que es mejor codificar las variables numricas directamente como
 

Enteros Variables de punto flotante

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Un ejemplo abstracto

Distribucin de Individuos en la Generacin 0

Distribucin de Individuos en la Generacin N

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

En resumen

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

Vous aimerez peut-être aussi