Professional Documents
Culture Documents
IEE3664-2021 Cap5
IEE3664-2021 Cap5
aciprian@ing.puc.cl
Agosto 2021
2
ALGORITMOS GENÉTICOS
Contenido
Referencias
Fundamentos
Aplicaciones en general
Aplicaciones en Control
Aplicaciones en la UC
3
ALGORITMOS GENÉTICOS
Libros
ALGORITMOS GENÉTICOS
Libros
Bodenhofer U. (2003) Genetic algorithms: theory and
applications. Johannes Kepler University.
Eiben A. E., Smith J. E. (2003). Introduction to evolutionary
computing. Springer.
ALGORITMOS GENÉTICOS
Artículos
ALGORITMOS GENÉTICOS
Artículos
ALGORITMOS GENÉTICOS
Referencias en Internet
http://en.wikipedia.org/wiki/Genetic_algorithm
http://math.hws.edu/xJava/GA/
www.myreaders.info/09_Genetic_Algorithms.pdf
www.mathworks.com/products/global-optimization/index.html
www.palisade.com
ALGORITMOS GENÉTICOS
Referencias en Internet
ALGORITMOS GENÉTICOS
Motivación
ALGORITMOS GENÉTICOS
Fundamentos
ALGORITMOS GENÉTICOS
Fundamentos: Técnicas de Búsqueda
12
ALGORITMOS GENÉTICOS
Fundamentos
ALGORITMOS GENÉTICOS
Fundamentos
Cromosomas y genes
Cada cromosoma consiste en un cierto número de genes y cada gen es
representado por un “0” o un “1”.
Decodificación y Evaluación
Estos mecanismos propios de los Algoritmos Genéticos permiten,
respectivamente, representar los cromosomas mediante secuencias de
genes y medir el desempeño de cada cromosoma mediante su función
de aptitud.
14
ALGORITMOS GENÉTICOS
Fundamentos
Los procesos evolutivos existentes en la naturaleza inspiraron la creación
de algoritmos capaces de adaptarse a su ambiente y de aprender de la
experiencia a resolver problemas de manera más eficiente; estos
algoritmos se agrupan bajo el término “Evolutionary Programming”.
ALGORITMOS GENÉTICOS
Fundamentos
ALGORITMOS GENÉTICOS
Fundamentos
ALGORITMOS GENÉTICOS
Fundamentos
18
ALGORITMOS GENÉTICOS
Representación o codificación
ALGORITMOS GENÉTICOS
Codificaciones posibles
ALGORITMOS GENÉTICOS
Representación o codificación
21
ALGORITMOS GENÉTICOS
En problemas de optimización numérica o en entrenamiento de redes
neuronales se utiliza codificación en base a vectores de números
reales.
Así, el conjunto de pesos asociados de la red neuronal puede ser
codificado en un solo cromosoma, en el cual cada gen corresponde a
un peso de una neurona.
En un sistema difuso, se puede codificar las funciones de pertenencia
en base a vectores de números reales que se modifican para
identificar el sistema minimizando una función de error.
ALGORITMOS GENÉTICOS
Otro método de codificación consiste en representar a los individuos
de un algoritmo genético como cadenas de letras, donde cada letra,
representa un aspecto específico de la solución.
ALGORITMOS GENÉTICOS
Etapas en un Algoritmo Genético
24
ALGORITMOS GENÉTICOS
Evaluación o Prueba
Selección
ALGORITMOS GENÉTICOS
Selección
ALGORITMOS GENÉTICOS
Selección elitista
Se seleccionan los miembros más aptos de cada generación.
ALGORITMOS GENÉTICOS
Selección escalada
Al incrementarse la aptitud media de la población, la fuerza de la
presión selectiva también aumenta y la función de aptitud se hace
más discriminadora.
Este método puede ser útil para seleccionar cuando todos los
individuos tienen una aptitud relativamente alta y sólo se distinguen
pequeñas diferencias en la aptitud.
ALGORITMOS GENÉTICOS
Selección generacional
La descendencia de los individuos seleccionados en cada
generación se convierte en toda la siguiente generación.
No se conservan individuos entre las generaciones.
ALGORITMOS GENÉTICOS
Selección jerárquica
Los individuos atraviesan múltiples rondas de selección en cada
generación.
Las evaluaciones de los primeros niveles son más rápidas y menos
discriminatorias, mientras que los que sobreviven hasta niveles más
altos son evaluados más rigurosamente.
La ventaja de este método es que reduce el tiempo total de cálculo al
utilizar una evaluación más rápida y menos selectiva para eliminar a
la mayoría de los individuos que se muestran poco prometedores, y
sometiendo a una evaluación de aptitud más rigurosa y
computacionalmente más costosa sólo a los que sobreviven a esta
prueba inicial.
ALGORITMOS GENÉTICOS
Recombinación o Mezcla
Cruzamiento (“crossover”)
Implica elegir a dos individuos para que intercambien segmentos de
su código, produciendo una descendencia artificial cuyos individuos
son combinaciones de sus padres.
Este proceso pretende simular la recombinación que se da en los
cromosomas durante la reproducción.
31
ALGORITMOS GENÉTICOS
En el caso de decodificaciones binarias, una forma de cruzamiento es
el cruzamiento de un punto, en el que se establece un punto de
intercambio en un lugar aleatorio del genoma de los dos individuos.
Uno de los individuos contribuye con todo su código anterior a ese
punto y el otro individuo contribuye con todo su código a partir de ese
punto para producir una descendencia.
ALGORITMOS GENÉTICOS
Si la codificación de los cromosomas se realiza con vectores de
números reales, se pueden utilizar puntos de cruce en el vector, o
bien mezclar algebraicamente los genes de cada vector padre.
El cromosoma hijo puede ser, por ejemplo, un promedio de ambos
cromosomas padres.
ALGORITMOS GENÉTICOS
Cruzamiento simple
Cruzamiento doble
34
ALGORITMOS GENÉTICOS
Cruzamiento
35
ALGORITMOS GENÉTICOS
Mutación
Al igual que una mutación en los seres vivos cambia un gen por otro,
una mutación en un algoritmo genético también causa pequeñas
alteraciones en puntos concretos del código de un individuo, con una
probabilidad Pm.
En problemas de optimización, esto permite una mejor exploración
del espacio de soluciones, y que el algoritmo converja a óptimos
locales.
En general Pm varía entre 0.6% y 1%.
Mutación en la posición 4:
36
ALGORITMOS GENÉTICOS
Mutación
37
ALGORITMOS GENÉTICOS
Reemplazo
ALGORITMOS GENÉTICOS
Ejemplo
ALGORITMOS GENÉTICOS
Primeramente se aplica el método de selección de la ruleta en que el
área es proporcional a la función de aptitud.
40
ALGORITMOS GENÉTICOS
A continuación se aplica cruzamiento de a pares (s1’, s2’; s5’,s6’).
Antes:
Después:
ALGORITMOS GENÉTICOS
Ejemplo
Población total:
42
ALGORITMOS GENÉTICOS
Población inicial y función de aptitud:
ALGORITMOS GENÉTICOS
Rueda de ruleta y función de aptitud:
44
ALGORITMOS GENÉTICOS
Par de cromosomas que se
selecciona en cada par de giros:
ALGORITMOS GENÉTICOS
Algoritmo
46
ALGORITMOS GENÉTICOS
Algoritmo
47
ALGORITMOS GENÉTICOS
Ejemplo
Maximizar
ALGORITMOS GENÉTICOS
Entonces:
ALGORITMOS GENÉTICOS
La figura muestra la convergencia que permite obtener el máximo de
la función f después de 100 generaciones.
50
ALGORITMOS GENÉTICOS
Ventajas de los Algoritmos Genéticos
ALGORITMOS GENÉTICOS
Desventajas de los Algoritmos Genéticos
ALGORITMOS GENÉTICOS
Software para Algoritmos Genéticos
Evolver, www.palisade.com/evolver
GeneHunter, www.wardsystems.com/genehunter.asp
ALGORITMOS GENÉTICOS
Aplicaciones en general
ALGORITMOS GENÉTICOS
Diseñar un brazo para transportar carga que se pone en órbita y
se utiliza con satélites, estaciones espaciales y otros elementos
aeroespaciales.
ALGORITMOS GENÉTICOS
Diseñar un circuito reconocedor de voz que distingue y responde
a órdenes habladas utilizando FPGA (Field Programmable Gate
Array).
ALGORITMOS GENÉTICOS
Diseñar revestimientos ópticos multicapa para filtros que reflejan,
transmiten o absorben luz de frecuencias especificadas.
ALGORITMOS GENÉTICOS
Desarrollar un sistema experto para predecir la probabilidad de
fuga de grupos de clientes de empresas de telecomunicaciones.
ALGORITMOS GENÉTICOS
Diseñar redes de fibra óptica que minimizan la longitud total del
cable.
ALGORITMOS GENÉTICOS
Optimizar la forma, orientación e intensidad del haz de los
emisores de rayos X utilizados en la radioterapia dirigida para
destruir tumores cancerosos.
ALGORITMOS GENÉTICOS
Algunas empresas que usan algoritmos genéticos
Lockheed Martin
Glaxo Smith Kline
LBS Capital Management
First Quadrant
Texas Instruments
U.S. West
John Deere & Co.
Volvo
Ascent Technology
Boeing
British Petroleum
Ford Motor Company
Unilever
United Distillers and Vintners.
61
ALGORITMOS GENÉTICOS
Aplicaciones en Control
Hwang H. et al (1992). Identification of fuzzy control rules utilizing
genetic algorithms and Its application to mobile robot. Proceedings
of the IFAC Symposium on Algorithms and Architectures for Real-
Time Control. Seoul, pp. 249-254.
ALGORITMOS GENÉTICOS
Aplicaciones en Control
Alwam G. et al (2012). pH control of a wastewater treatment unit
using LabView and genetic algorithm. Proceedings of The Sixth
Jordan International Chemical Engineering Conference, 10 pages.
ALGORITMOS GENÉTICOS
Aplicaciones en la UC
aciprian@ing.puc.cl
Agosto 2021