Algoritmo Genetico
Algoritmo Genetico
Algoritmo Genetico
Descripción
Inspiración
•En la naturaleza:
A C C T G C A G G
1 0 1 1 0 0 1 0
Mutación
1. Se decide con alguna probabilidad si se aplica la
mutación o no.
2. De aplicarse se selecciona con alguna probabilidad el bit
(o item del arreglo) a mutar.
3. De no ser un bit (que sería negado) se elije con alguna
probabilidad en que muta.
1 0 1 1 0 0 1 0
1 0 1 1 1 0 1 0
Algoritmos Genéticos
Cruza
1. Se decide con alguna probabilidad si se aplica la cruza o no.
2. De aplicarse se selecciona con alguna probabilidad la posición del
arreglo donde se aplica.
Gen A 1 0 1 1 0 0 1 0
Gen B 0 0 1 1 1 0 0 1
Gen AB 1 0 1 1 1 0 0 1
Gen BA 0 0 1 1 0 0 1 0
Algoritmos Genéticos
Selección de la pareja
Algoritmos Genéticos
¿Qué es un AG?
• Marco de desarrollo, Computación Evolutiva: estudio de
los fundamentos y aplicaciones de ciertas técnicas
heurísticas de búsqueda basadas en los principios naturales
de la evolución.
• Computación Evolutiva:
• Estrategias Evolutivas
• Programación Evolutiva
• Algoritmos Genéticos
Algoritmos Genéticos
Conceptos biológicos
• Fundamentos biológicos
• Cromosomas, “anteproyecto” del individuo (cadenas de
ADN)
• Están 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 posición en el cromosoma o Locus
• El conjunto del material genético es el Genoma
• El conjunto de genes es el Genotipo
• El conjunto de características finales físicas y mentales del
individuo es el Fenotipo
Algoritmos Genéticos
AGS (I)
AGS (II)
• Parámetros probabilísticos
• Pr = Probabilidad de recombinación o cruce
• Pm = Probabilidad de mutación de un alelo
AGS (III)
• Obtener aleatoriamente la primera generación P1
• Para 1 ≤ i < m
– Aplicar f() a todos los individuos de Pi
• Pintermedia =
Implementación de un AG
Tipos:
-Codificación binaria.
-Codificación mediante valores reales y caracteres.
Algoritmos Genéticos
“Rueda-ruleta”
Holland utiliza la selección proporcional a la aptitud (fitness) , en la cual el
“valor esperado” se calcula dividiendo la aptitud del individuo entre el
promedio de la aptitud de toda la población.
Operadores genéticos
-Cruzamiento
* Cruzamiento simple
* Cruzamiento de dos puntos
* Cruzamiento de parametrización uniforme
-Mutación
Algoritmos Genéticos
Cruzamiento simple
• Consiste en elegir un número aleatorio entre cero y el
tamaño de la cadena de bits, que será el punto de cruce.
• A continuación se intercambia la parte de los dos padres
posterior al punto de cruce para formar dos
descendientes.
• Un problema, es que este método no permite combinar
todos los posibles esquemas.
• Los esquemas que pueden ser creados o destruidos por el
cruzamiento dependen fuertemente de la localización de
los bits en el cromosoma (individuo). “bias posicional”.
• el segmento intercambiado entre los dos padres siempre
contienen el “punto final” de la cadena.
Algoritmos Genéticos
Cruzamiento simple
Algoritmos Genéticos
Mutación
• Consiste en examinar cada bit de cada cadena cuando se
vaya a crear el nuevo descendiente a partir de sus padres
• Si un número generado aleatoriamente está por debajo de
la probabilidad de cruce, se cambiará el bit
• La mutación aseguramos la población contra la fijación
permanente en alguna posición particular
• El cruzamiento es más robusto a la hora de construir
nuevos esquemas que la mutación.
• No se trata de elegir entre cruzamiento o mutación, sino
que es mas bien un balance entre cruzamiento y
mutación.
Algoritmos Genéticos
Conceptos finales
• Ventajas
• No se necesita “conocimiento” específico
• Simplicidad Conceptual.
• Amplia aplicabilidad, Tienen el potencial para incorporar
conocimiento sobre el dominio y para hibridizarse con otras
técnicas de búsqueda/optimización.
• Pueden explotar fácilmente las arquitecturas en
paralelo.
• Son robustas a los cambios dinámicos, resultan menos
afectados por los máximos locales
Algoritmos Genéticos
• Ventajas
• Capaces de resolver problemas para los cuales no se
conoce solución alguna.
• Inconvenientes
• Dificultad en el ajuste de los parámetros
• Operadores probabilísticos
• Problemas de convergencia
• Principio básico: Los parámetros de un AG deben ajustarse de
modo que no se produzca una convergencia rápida de la
población
Algoritmos Genéticos
• Algunas aplicaciones
• Optimización (estructural, de topologías, numérica,
combinatoria, etc.)
• Aprendizaje de máquina (sistemas clasificadores)
• Bases de datos (optimización de consultas)
• Reconocimiento de patrones (por ejemplo, imágenes)
• Generación de gramáticas (regulares, libres de
contexto, etc.)
• Planeación de movimientos de robots
• Predicción,...
Algoritmos Genéticos
• Ejemplos reales:
• Laboratorios KanGAL, Sistema de suspensión de un
automóvil.
• Modelo tridimensional para optimizar el diseño de los
amortiguadores y los resortes de rigidez del vehículo.
• Optimal Solutions, Diseño de una red de agua potable
• Extender y reforzar la infraestructura de su red de suministro
de agua potable, en previsión de un incremento de la
población.
Algoritmos Genéticos
Conclusiones
Conclusiones
• Los AGs probaron ser una herramienta de busqueda eficiente para
la representacion tridimensional de las proteinas.
• Utilzando Campos de fuerza como función de aptitud y una
pequeña población el algoritmo genera diversos individuos pero
con una funcion de aptitud bastante optima.
• El mayor problema recae en la función de aptitud, ya que no se
puede encontrar una lo suficientemente precisa se encuentran
soluciones sub-optimas diversas alejadas de la solucion óptima