Professional Documents
Culture Documents
GENERALIDADES SOBRE
ALGORITMOS
EVOLUTIVOS
INTRODUCCIN A LA INTELIGENCIA
ARTIFICIAL APLICADA
Luis Octavio Gonzlez Salcedo
Profesor Asociado
INTRODUCCIN
Computacin Evolutiva
La Computacin Evolutiva es una rama de la
Computacin
y
la
Inteligencia
Artificial
que
comprende mtodos de bsqueda y aprendizaje
automatizado inspirados en los mecanismos de la
evolucin natural.
Diversos enfoques a la Computacin Evolutiva han
sido propuestos: las Estrategias Evolutivas, los
Algoritmos Genticos, la Programacin Gentica,
entre otros. A estos mtodos se les denomina de
manera colectiva como Algoritmos Evolutivos, entre
los cuales los ms conocidos son probablemente los
Algoritmos Genticos.
INTRODUCCIN
Computacin Evolutiva
La Computacin Evolutiva emula a la Evolucin y
Seleccin Natural en el diseo e implementacin de
herramientas computacionales para la resolucin
problemas, y comprenden:
Una representacin y codificacin de las soluciones
potenciales al problema bajo estudio.
Una poblacin (conjunto de individuos) de estas
soluciones potenciales.
Mecanismos para generar nuevos individuos o
soluciones potenciales al problema estudiado, a
partir de los miembros de la poblacin actual.
Una funcin de desempeo o evaluacin que
determina la calidad de los individuos en la
INTRODUCCIN
Bases Biolgicas
Evolutivos
de
los
Algoritmos
INTRODUCCIN
Bases Biolgicas
Evolutivos
de
los
Algoritmos
INTRODUCCIN
Bases Biolgicas
Evolutivos
de
los
Algoritmos
INTRODUCCIN
Analogas entre aspectos de la evolucin
natural y los algoritmos evolutivos
INTRODUCCIN
Esquema
Evolutivo
general
de
un
Algoritmo
INTRODUCCIN
Enfoques
Histricamente existen tres enfoques bien definidos a
la Computacin Evolutiva, con origen independiente,
que son similares a nivel conceptual, pero difieren en
la manera de implementar el Algoritmo Evolutivo:
La Programacin Evolutiva (Fogel, Owens y Walsh,
1966).
Las Estrategias Evolutivas (Rechenberg, 1973).
Los Algoritmos Genticos (Holland, 1975).
Las diferencias corresponden a distintos aspectos del
Algoritmo incluyendo la manera de representar los
individuos, los mecanismos de seleccin, y el nfasis y
tipo de operadores de variacin gentica utilizados.
INTRODUCCIN
Enfoques
Los
organismos
vivos
pueden ser vistos como una
dualidad de su genotipo (el
cdigo gentico subyacente)
y su fenotipo (la manera de
respuesta contenida en el
comportamiento, fisiologa, y
Lewontin
ilustra esta
morfologa1974,
del organismo).
distincin especificando dos
espacios de estados: el
espacio
genotpico
poblacional (informacin) y
el
espacio
fenotpico
poblacional
INTRODUCCIN
Enfoques
La
funcin , epignesis,
mapea el elemento dentro
del espacio P como una
coleccin
particular
de
fenotipos cuyo desarrollo es
modificado
por su
La
funcin
, ambiente.
seleccin,
mapea los fenotipos dentro
de
La . funcin , supervivencia
genotpica,
describe
los
efectos de los procesos de
seleccin
y migracin
sobre
La
funcin
,
mutacin,
G.
mapea las codificaciones
representativas
para
el
INTRODUCCIN
Enfoques
El nivel de abstraccin en una
simulacin dicta la oportunidad
de los operadores fenotpicos o
genotpicos.
En las simulaciones basadas en
gentica, los operadores con el
cual emula la forma de la
transformacin
gentica
en
evolucin natural son aplicadas a
los genotipos abstrados.
En las simulaciones basadas en
fenotipos, los operadores son
INTRODUCCIN
Enfoques
Los Algoritmos Genticos operan desde un genotipo a
otro genotipo.Los nuevos genotipos son generados
por mecanismos genticos especficos de emulacin
como se observa en la naturaleza.
INTRODUCCIN
Enfoques
Las Estrategias Evolutivas y la Programacin Evolutiva
operan desde un fenotipo a otro fenotipo. Los nuevos
genotipos son generados entonces para tomar sobre
una distribucin deseada.
INTRODUCCIN
Poblacin,
Individuo,
Genotipo, Fenotipo
Cromosoma,
ALGORITMOS GENTICOS
Definicin
ALGORITMOS GENTICOS
Definicin
En la naturaleza los individuos de una poblacin
compiten entre s en la bsqueda de recursos tales
como comida, agua y refugio. Incluso los miembros de
una misma especie compiten a menudo en la bsqueda
de un compaero. Aquellos individuos que tienen ms
xito en sobrevivir y en atraer compaeros tienen
Por
el contrario,
individuos
poco dotados
producirn
mayor
probabilidad
de generar
un gran
nmero un
de
menor
nmero de descendientes. Esto significa que los
descendientes.
genes de los individuos mejor adaptados se propagarn
en sucesivas generaciones hacia un nmero creciente
de individuos. La combinacin de buenas caractersticas
provenientes de diferentes ancestros, puede a veces
producir
descendientes
super-individuos,
cuya
adaptacin es mucho mayor que la de cualquiera de
sus ancestros. De esta manera, las especies
ALGORITMOS GENTICOS
Esquema de funcionamiento general
Algoritmo Gentico:
1.-Generar una Poblacin
Inicial.
2.-Iterar hasta un criterio
de parada.
3.-Evaluar cada Individuo
de la Poblacin.
4.-Seleccionar
los
progenitores.
5.-Aplicar el operador de
Cruce y Mutacin a estos
progenitores.
ALGORITMOS GENTICOS
Esquema de funcionamiento general
ALGORITMOS GENTICOS
Tipos de representacin
Durante los primeros aos el tipo de representacin
utilizado siempre era binario, debido a que se adapta
perfectamente al tipo de operaciones y el tipo de
operadores que se utilizan en un AG. Sin embargo, las
representaciones binarias no son siempre efectivas por
lo que se empezaron a utilizar otro tipo de
representaciones.
En general, una representacin ha de ser capaz de
identificar las caractersticas constituyentes de un
conjunto de soluciones, de forma que distintas
representaciones dan lugar a distintas perspectivas y
por tanto distintas soluciones.
Representacin Binaria.
Representacin Entera.
Representacin Real.
ALGORITMOS GENTICOS
Poblacin, Tamao de la Poblacin,
Poblacin
Inicial
Cul es el tamao idneo de la poblacin?
Poblaciones pequeas corren el riesgo de no cubrir
adecuadamente el espacio de bsqueda.
Poblaciones de gran tamao pueden acarrear
problemas relacionados con el excesivo costo
computacional.
Goldberg 1989 efectu un estudio terico, obteniendo
como conclusin que el tamao ptimo de la poblacin
para ristras de longitud , con codificacin binaria, crece
exponencialmente con el tamao de la ristra.
Alander 1992, basndose en evidencia emprica sugiere
que un tamao de poblacin comprendida entre y es
suficiente para atacar con xito los problemas
considerados.
ALGORITMOS GENTICOS
Poblacin, Tamao de la Poblacin,
Poblacin
Inicial
La poblacin inicial de un AG puede ser creada de muy
diversas formas, desde generar aleatoriamente el valor
de cada gen para cada individuo, utilizar una funcin, o
generar alguna parte de cada individuo y luego aplicar
una bsqueda local.
Matriz de Lmites o Matriz de Bounds.
Funcin distancia.
En particular los Algoritmos Evolutivos trabajan con una
poblacin de potenciales soluciones a un problema, en
el cual cada individuo que pertenece a la poblacin
representa una solucin particular, generalmente
representada en la forma de cdigo gentico.
ALGORITMOS GENTICOS
Funcin de Evaluacin o Desempeo
Una funcin de desempeo, tambin llamada funcin
de evaluacin, funcin objetivo, funcin de Fitness o
funcin de mrito, debe disearse para cada problema
a ser resuelto. El propsito de esta funcin es el de
medir la calidad de los cromosomas en su capacidad de
resolver el problema bajo estudio.
Tambin recibe el nombre de funcin de adaptacin, y
dado un cromosoma en particular, la funcin de
adaptacin le asigna un nmero real, que se supone
refleja el nivel de adaptacin al problema del individuo
representado por el cromosoma.
En los casos ms triviales, la funcin de evaluacin
puede coincidir exactamente con la funcin de
ALGORITMOS GENTICOS
Funcin de Evaluacin o Desempeo
Una dificultad en los Algoritmos Evolutivos es la
existencia de gran cantidad de ptimos locales en el
espacio de bsqueda generado por la funcin de
adecuacin, o tambin con la posibilidad de que el
ptimo global est muy aislado.
Al disearse una funcin de evaluacin se debe tener
en cuenta que no todos los individuos tienen por qu
representar soluciones factibles; entonces, nuestra
funcin de evaluacin debe ser capaz de penalizar a
aquellos individuos que representen soluciones no
factibles.
Las funciones de evaluacin tambin pueden cumplir el
ALGORITMOS GENTICOS
Operadores Genticos
Los Operadores Genticos introducen diversidad
gentica en la poblacin; su propsito es generar
nuevos individuos a partir de los individuos existentes
en la poblacin actual.
Cada operador tiene un parmetro asociado que
controla la probabilidad de su aplicacin en cada
iteracin (generacin) del algoritmo.
Seleccin.
Cruce, cruzamiento, combinacin o recombinacin.
Mutacin.
ALGORITMOS GENTICOS
Operador Gentico: Seleccin
La seleccin se encarga de asignar oportunidades de
reproduccin a cada uno de los miembros de la
poblacin. Mientras ms alto sea el valor de la funcin
de desempeo de un individuo, ms oportunidades
tendr de reproducirse. La seleccin debe ser
balanceada con los operadores de variacin (mutacin
y cruce). Todo algoritmo de bsqueda debe balancear
estas dos fuerzas opuestas:
La exploracin de nuevas zonas en el espacio de
bsqueda.
La explotacin de zonas promisorias del mismo que
ya han sido descubiertas.
ALGORITMOS GENTICOS
Operador Gentico: Seleccin
La seleccin es el componente que determina
principalmente las caractersticas del proceso de
bsqueda.
Si la seleccin es muy fuerte, individuos de calidad
sub-ptima pueden dominar la poblacin y por lo
tanto reducir la diversidad gentica requerida para el
cambio y el avance.
Si la seleccin es muy dbil, puede resultar un
proceso evolutivo muy lento.
Varios esquemas de seleccin ha sido propuestos en la
literatura: seleccin proporcional, por escalamiento, por
ALGORITMOS GENTICOS
Operador Gentico: Cruce
El cruce o crossover se considera el operador de
bsqueda principal en los Algoritmos Genticos. Este
operador produce individuos descendientes a partir de
combinar o mezclar el material gentico de dos o ms
individuos progenitores.
La motivacin detrs de este operador es que la mezcla
de sub-partes de los progenitores puede crear nuevos
individuos con combinaciones favorables de genes. La
aplicacin del cruce es controlada por un parmetro
denominado la probabilidad o tasa de cruce.
Varios operadores de cruce han sido propuestos en la
literatura: cruce en un punto, cruce en dos puntos,
ALGORITMOS GENTICOS
Operador Gentico: Mutacin
El operador de mutacin realiza alteraciones o
perturbaciones pequeas al genotipo, para generar un
individuo ligeramente distinto pero relacionado con el
progenitor.
Tradicionalmente, la mutacin se considera como un
operador secundario en los algoritmos genticos, cuyo
rol es el de restaurar el material gentico perdido,
siendo el cruce el principal operador de bsqueda.
Existen muy diversas formas de realizar la mutacin,
desde la ms sencilla, donde cada gen muta
aleatoriamente con independencia del resto de genes,
hasta configuraciones ms complejas donde se tienen
ALGORITMOS GENTICOS
Operadores Genticos: Un modelo de
evolucin de formas vegetales
ALGORITMOS GENTICOS
Operadores Genticos: Un modelo de
evolucin de formas vegetales
ALGORITMOS GENTICOS
Operadores Genticos: Un modelo de
evolucin de formas vegetales
ALGORITMOS GENTICOS
Operadores Genticos: Un modelo de
evolucin de formas vegetales
ALGORITMOS GENTICOS
Reemplazo de la Poblacin
ALGORITMOS GENTICOS
Operadores Genticos
ALGORITMOS GENTICOS
Operador Gentico: Seleccin
ALGORITMOS GENTICOS
Operador Gentico: Cruce
ALGORITMOS GENTICOS
Operador Gentico: Cruce
ALGORITMOS GENTICOS
Operador Gentico: Cruce
ALGORITMOS GENTICOS
Operador Gentico: Cruce
ALGORITMOS GENTICOS
Operador Gentico: Cruce
ALGORITMOS GENTICOS
Operador Gentico: Cruce