Sei sulla pagina 1di 20

INSTITUTO POLITCNICO

NACIONAL
ESCUELA SUPERIOR DE CMPUTO
REDES NEURONALES
ARTIFICIALES I

Algoritmos Genticos
Profesor:
M. en .C. Jos Luis Caldern
Osorno

Antecedentes histricos
Su nombre se deriva de que estn basados en modelos de
cambio gentico en una poblacin de individuos.
Tienen como fundamento los principios de seleccin
natural y supervivencia, postulados por Darwin en su libro
El origen de las especies publicado en 1859.
Se reconoce a Holland como su fundador quien, en 1975,
intuy la posibilidad de incorporar la semntica de la
evolucin natural a procesos de optimizacin, surgiendo as
los principios de esta tcnica.
Se encuentran bien descritos en textos de Goldberg,
Davis, Michalewicz y Reeves.
ALGORITMOS GENTICOS

Definiciones

Los Algoritmos Genticos (AG) puede verse como una


familia de procedimientos de bsqueda adaptativos.
Los Algoritmos Genticos son un mtodo de optimizacin
mediante procesos de bsqueda.
El Algoritmo Gentico es un proceso de cmputo que
emula la forma de actuar de la evolucin biolgica.

ALGORITMOS GENTICOS

Descripcin general
La idea bsica es generar un conjunto con algunas de las
posibles soluciones. Cada una va a ser llamada individuo, y
a dicho conjunto se le denominar poblacin.
Cada individuo tiene una informacin asociada a l. Tiene
asociada una funcin de adaptacin que determina el grado
de adaptacin de un individuo. A dicha informacin se le
denomina cdigo gentico.
Las caractersticas de los individuos, sean beneficiosas o
no, se van a denominar fenotipos. La informacin asociada a
un individuo se compone de partes indivisibles denominados
cromosomas.
ALGORITMOS GENTICOS

Descripcin general
Un fenotipo puede estar en ms de un cromosoma, en
cuyo caso puede ser que el hijo herede un fenotipo que no
tena ni el padre ni la madre, sino una combinacin de
ambos. En caso de que el hijo tenga parte de los genes del
padre y parte de los genes de la madre que intervienen en
un fenotipo, se va a crear una caracterstica nueva asociada
a ese fenotipo.

ALGORITMOS GENTICOS

Caractersticas
Son algoritmos estocsticos, es decir, dos ejecuciones distintas
pueden dar dos soluciones distintas.
Son algoritmos de bsqueda mltiple, luego dan varias soluciones.
Son los algoritmos que hacen una barrida mayor al subespacio de
posibles soluciones vlidas.
A diferencia de los otros algoritmos, cuya convergencia y resultado
final son fuertemente dependientes de la posicin inicial, la
convergencia del algoritmo gentico es poco sensible a la poblacin
inicial si esta se escoge de forma aleatoria y es lo suficientemente
grande.

ALGORITMOS GENTICOS

Caractersticas
Por su grado de penetracin casi nulo, la curva de convergencia
asociada al algoritmo presenta una convergencia excepcionalmente
rpida al principio, que casi enseguida se bloquea. Esto de debe a que
el algoritmo gentico es excelente descartando subespacios realmente
malos.
La optimizacin es funcin de la representacin de los datos .
Es una bsqueda paramtricamente robusta. Eso quiere decir que slo
si se escoge realmente mal los parmetros del algoritmo , ste no va a
converger.

ALGORITMOS GENTICOS

Diferencias con otros


mtodos
Trabajan con un conjunto de parmetros codificados y no
con los parmetros mismos.
Inician la bsqueda desde un conjunto de puntos, no de uno
solo.
Usan una funcin a optimizar en lugar de la derivada u otro
conocimiento adicional.
Usan reglas de transicin probabilsticas no determinsticas.

ALGORITMOS GENTICOS

Algoritmo gentico
bsico
PROCEDIMIENTO AG
tiempo = 0
inicializa_poblacin(tiempo)
evala_poblacin(tiempo)
mientras no condicin_de_terminacin
tiempo = tiempo + 1
construye_poblacin(tiempo) a partir de poblacin(tiempo 1) usando
seleccin
modifica_poblacin(tiempo) usando operadores genticos
evala_poblacin(tiempo)
reemplazar
fin mientras
ALGORITMOS GENTICOS

Puntos a considerar en un
AG bsico
Codificacin de los parmetros de un problema.
Funcin de aptitud. Es base para determinar qu individuos (soluciones)
tienen mayor o menor probabilidad de sobrevivir.
Criterios de tamao de poblacin. Balance entre una poblacin muy
pequea (convergencia a un mximo local) y una poblacin muy grande
(mayor utilizacin de recursos computacionales).
Criterio de seleccin. Los individuos son escogidos de acuerdo a su
aptitud. Los ms aptos tienen mayor probabilidad de contribuir con una o
ms copias en la siguiente generacin (simulacin de la seleccin natural).

ALGORITMOS GENTICOS

Puntos a considerar en un
AG bsico
Criterio de paro. Normalmente cuando un porcentaje alto de la poblacin
converge a un valor. Si con ese valor no se llega a la medida esperad a,
entonces se toma una pequea proporcin y se inyecta diversidad
gentica'' (se generan aleatoriamente nuevos individuos), o inclusive se
reemplaza completamente la poblacin.
Operadores genticos. Los principales son: cruza(crossover), mutacin,
seleccin (algunos autores lo consideran como tal) y reemplazo (aunque
existen ms).

ALGORITMOS GENTICOS

Operadores genticos:
SELECCIN
Proceso que escoge los miembros de la poblacin que sern
utilizados para la reproduccin. Su meta es dar ms
oportunidades de seleccin a los miembros ms aptos de la
poblacin.
Lo ms comn es implementar una ruleta con truco para
elegir a los individuos, donde los ms aptos tienen una mayor
parte en la ruleta, por lo tanto, ms probabilidad de ser
escogidos.
Existen otros mtodos como el torneo en que dos individuos
son elegidos aleatoriamente y se escoge al ms apto.
ALGORITMOS GENTICOS

Operadores genticos:
CRUZA
Operador que consiste en unir en alguna forma los cromosomas de dos
padres para formar dos descendientes.
Lo ms sencillo es implementar cruza de un punto, que toma dos individuos y
corta sus cromosomas en una posicin seleccionada al azar, para producir
dos segmentos anteriores y dos posteriores, los posteriores se intercambian
para obtener dos cromosomas nuevos, como se ve en la siguiente figura:

ALGORITMOS GENTICOS

Operadores genticos:
MUTACIN
Se encarga de modificar en forma aleatoria uno o ms
genes del cromosoma de un descendiente.
La siguiente figura muestra el quinto gen siendo mutado, a
lo que se conoce como mutacin sencilla:

ALGORITMOS GENTICOS

Operadores genticos:
REEMPLAZO
Es el mtodo por el cual se insertan los hijos en la poblacin,
por ejemplo mediante la eliminacin del individuo ms dbil o
al azar.

ALGORITMOS GENTICOS

SOFTWARE
Existen varios paquetes y bibliotecas de algoritmos genticos en el mercado, a
continuacin se presentan algunos:
GAGS
Generador de aplicaciones basadas en algoritmos genticos, escrito en C++.
Desarrollado por el grupo de J.J. Melero.
Direccin primaria:kal-el.ugr.es/gags.html
Direccin para descargar va FTP:kal-el.ugr.es/GAGS/.
GALIB
Biblioteca de algoritmos genticos de Matthew. Conjunto de clases en C++ de
algoritmos genticos.
Direccin primaria: lancet.mit.edu/ga/
Direccin para descargar va FTP:lancet.mit.edu/pub/ga/
ALGORITMOS GENTICOS

SOFTWARE
GPDATA
Para desarrollar algoritmos genticos en C++.
Direccin primaria:cs.ucl.ac.uk/genetic/papers/
Direccin para descargar va FTP: ftp.cs.bham.ac.uk/pub/authors/W.B.Langdon/gpcode/
GPJPP
Bibliotecas de clases para desarrollar algoritmos genticos en Java
Direccin primaria: www.turbopower.com/~ kimk/gpjpp.asp.

ALGORITMOS GENTICOS

SOFTWARE
LIL-GP
Herramientas para programacin gentica en C.
Direccin primaria:isl.msu.edu/GA/software/lil-gp/index.html
Direccin para descargar va FTP:isl.cps.msu.edu/pub/GA/lilgp/
GPsys
Sistema de programacin gentica en Java.
Direccin primaria:www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html.

ALGORITMOS GENTICOS

Dudas ???

Hasta la prxima !!!

Potrebbero piacerti anche