Sie sind auf Seite 1von 34

ALGORITMOS GENTICOS

Charles Darwin

Algoritmos Genticos

Historia
Qu es un Algoritmo Gentico (AG)?
Conceptos biolgicos
Operadores Genticos
Implementation de un AG
Ejemplo, problema del viajero
Conceptos finales y conclusiones

Algoritmos
Genticos
Los Algoritmos Genticos son algoritmos
matemticos de optimizacin de propsito general
basados en mecanismos naturales de seleccin y
gentica, proporcionando excelentes soluciones
en problemas complejos con gran nmero de
parmetros.
Son programas que evolucionan, simulando
en cierto grado la seleccin natural, alcanzando a
resolver problemas complejos que ni siquiera
quienes los crearon comprenden.
John H. Holland, 1975

Qu es un AG?

Los algoritmos genticos forman parte


de la llamada computacin evolutiva,
que es el rea de la ciencia
computacional cuyos algoritmos imitan
el proceso evolutivo de la naturaleza.

De esta forma pueden resolver


problemas altamente complejos.

Conceptos biolgicos

Cromosomas, anteproyecto del individuo (cadenas


de ADN)
Estn compuestos de Genes: bloques funcionales
responsables de determinar los rasgos de un individuo
Las posibilidades de escoger un rasgo son los Alelos
Cada gen tiene una posicin en el cromosoma o Locus
El conjunto del material gentico es el Genoma
El conjunto de genes es el Genotipo
El conjunto de caractersticas finales fsicas y mentales
del individuo es el Fenotipo

Conceptos previos (II)

Conceptos previos (III)

En trminos generales, para simular el


proceso evolutivo en una computadora
mediante un AG se requiere:

Codificar el espacio de soluciones.


Una funcin de aptitud (funcin de fitness)
Un mecanismo de seleccin.
Operaciones que afecten a los individuos
(operadores genticos) para crear una
nueva generacin

Cundo no debe ser


usado un AG?

Si no hay una forma rigurosa de determinar si


una solucin es buena o no.
Si el espacio de soluciones es pequeo, se
puede realizar una bsqueda exhaustiva en
lugar de AG.
Si el espacio es continuo o convexo, se podra
emplear un algoritmo de gradiente-ascendente,
ya que son ms eficiente que un AG.

Cundo puede ser usado


un AG?

Si el espacio de bsqueda est dentro de un


rango conocido
Si la codificacin de soluciones es fcil
Generalmente un codificacin correcta es la
clave de una buena resolucin del
problema.
Si se puede definir la funcin de aptitud o
fitness
Si la funcin fitness tiene ruido, la estrategia
de seguir el gradiente puede ir
desencaminada con la imposibilidad de vuelta
atrs, mientras que los AGs acumulan una
estadstica de fitness sobre varias
generaciones, por lo que es ms robusta al
ruido.

Esquema bsico del AG

Esquema bsico del AG


Funcin Fitness:
Decodifica el cromosoma
Evala las restricciones
Evala al cromosoma de
acuerdo a la funcin objetivo
Devuelve el valor fitness
de cada cromosama
de la generacin

AGS

Algoritmo Gentico Simple (AGS)

Propuesto inicialmente por John Holland


Constituye la base del resto de algoritmos

Parmetros del AGS (de ellos depender la


eficiencia y convergencia)

Parmetros de codificacin

a = Nmero de alelos ( normalmente {0, 1} )

w = Longitud de los cromosomas

Parmetros de funcionamiento

n = Tamao de la poblacin.

m = Nmero mximo de generaciones

AGS

Parmetros probabilsticos

Ps = Probabilidad de seleccin

Pr = Probabilidad de recombinacin o cruce

Pm = Probabilidad de mutacin de un alelo

Funcin de aptitud o fitness de cada


individuo, f(x)

AGS

Operadores:

Seleccin

Cruce

Mutacin

Quin sobrevive?
Cmo se combina el
material gentico?
Quin es mutado
y cmo se realiza
la mutacin?

AGS

Operadores:

Seleccin

Cruce

Mutacin

Probabilidad de seleccin y
Porcentaje de Elitismo
Probabilidad de Cruce
Probabilidad de Mutacin

Mtodos de seleccin

Elitista
Rueda-ruleta
Escalamiento Sigma
Seleccin por rango
Seleccin por torneo
Seleccin de Vasconcelos

Mtodos de seleccin
Muestreo Estocstico

P (i )
s

cali
n

cal
j 1

Mtodos de seleccin
Caracterstica del VGA

Mtodos de Cruce

Un punto
Dos puntos
Mscara
Otros

Cruzamiento de un punto

Cruzamiento de dos
puntos

Cruzamiento uniforme

Caracterstica del
VGA

Permite
Realizar un
Cruce de tipo

Operador de Mutacin

Locus aleatorio

Operador de Mutacin

Locus aleatorio
Alelo aleatorio: {2,3,4,5,6}

Ejemplo del viajante

Enunciado: Una persona debe recorrer varias


ciudades distintas, con la condicin de que debe
pasar solamente una vez por cada una de ellas y
volver a la ciudad de origen, recorriendo la menor
distancia posible.
En este ejemplo se han considerado 4 ciudades

Ejemplo del viajante

Para resolver este


problema con un algoritmo gentico,
CROMOSOMA
lo primero que se debe realizar es la codificacin de los
individuos

Para ver cmo evoluciona la poblacin es necesario definir una funcin de


evaluacin:
Fitness(w) = Fitness(w)1 0.1 * Fitness(w)2
-C es el nmero de ciudades
-L es la longitud de la cadena de bits
-bi es el bit i-simo
-Ti es la distancia del tramo i

Ejemplo del viajante

La Primera generacin es Aleatoria


La funcin fitness entrega los valores fitness de
cada individuo.
El AG se encarga de generar la nueva poblacin a
partir de los valores de fitness
Individuos

GENERACIN 1

fitness(x)

010111

0.58

011101

0.23

010101

0.89

011111

0.40

010111

0.26

011111

0.05

Ejemplo del viajante

Al cabo de varias generaciones los valores de


fitness mejoran :

Cercanos a 1 en maximizacin (Fitness)


Cercanos a 0 en minimizacin (MisFit)

Individuos

GENERACIN N

fitness(x)

011101

0.88

011101

0.93

011101

0.89

011101

0.40

010111

0.86

010111

0.95

Conceptos finales

Diferencias con mtodos tradicionales de


bsqueda y optimizacin

Trabajan con poblaciones de soluciones en lugar


de un individuo
Usan una funcin de aptitud como nico
conocimiento
Reglas de transicin probabilsticas y no
determinsticas
El hecho de que usen operadores probabilsticas
no significa que operen de manera anloga a una
simple bsqueda aleatoria.

Conceptos finales

Ventajas

No se necesita conocimiento especfico

Simplicidad Conceptual.
Amplia aplicabilidad, Tienen el potencial para
incorporar conocimiento sobre el dominio y para
hibridizarse con otras tcnicas de
bsqueda/optimizacin.

Pueden explotar fcilmente las arquitecturas


en paralelo.
Son robustas a los cambios dinmicos, resultan
menos afectados por los mximos locales

Conceptos finales

Ventajas

Capaces de resolver problemas para los


cuales no se conoce solucin alguna.

Inconvenientes

Dificultad en el ajuste de los parmetros

Operadores probabilsticos
Problemas de convergencia

Principio bsico: Los parmetros de un AG deben


ajustarse de modo que no se produzca una
convergencia rpida de la poblacin

Conceptos finales

Algunas aplicaciones

Optimizacin (estructural, de topologas, numrica,


combinatoria, etc.)
Aprendizaje de mquina (sistemas clasificadores)
Bases de datos (optimizacin de consultas)
Reconocimiento de patrones (por ejemplo, imgenes)
Generacin de gramticas (regulares, libres de
contexto, etc.)
Planeacin de movimientos de robots
Prediccin,...

Conclusiones

Los algoritmos genticos prometen ser:

mtodos de resolucin de problemas


tecnolgicamente complejos o para el
aprendizaje mquina.
mtodos para la simulacin de sistemas
(naturales) no fcilmente describibles.

Sin embargo, an estn lejos de


establecerse como tcnicas completamente
conocidas y formales.
Gran variedad de operadores

Das könnte Ihnen auch gefallen