课程概况
La computación evolutiva (evolutionary computation, EC), aplica la teoría de la evolución natural y la genética en la adaptación evolutiva de estructuras computacionales, proporcionando un medio alternativo para atacar problemas complejos en diversas áreas, como la ingeniería, economía, química, medicina y, porque no, las artes. Una población de posibles soluciones de un problema dado es análoga a una población de organismos vivos que evolucionan cada generación, al recombinar los mejores individuos de la población y transmitir sus características de dichos individuos padres, a sus descendientes. En este campo, diferentes esquemas de métodos evolutivos se han desarrollado, los cuales difieren en el tipo de estructuras que conforman la población.
Algoritmos evolutivos (AE), como también se le conoce al cómputo evolutivo (EC), se definen como métodos de optimización y búsqueda, los cuales están inspirados y tratan de imitar de manera parcial los procesos de la evolución natural, y mantienen una población de estructuras que evolucionan de acuerdo a reglas de selección y otros operadores genéticos, como cruzamiento y mutación (Bäck, 1996).
Los algoritmos evolutivos no son los únicos métodos de optimización propuestos a partir de sistemas biológicos. Se tiene una variedad de algoritmos de optimización, que tratan de imitar el comportamiento de sistemas naturales, como las colonias de hormigas, algoritmos culturales y optimización por cúmulos de partículas, entre otros. De aquí surge lo que se conoce como algoritmos bioinspirados, ya que toman sus bases a partir de la estructura de procesos y sistemas biológicos: la evolución, la selección natural, comportamiento social de animales, como las hormigas, abejas, peces.
BÄCK, T. (1996) Evolutionary Algorithms in Theory and Practice. Oxford University Press. DARWIN, C. (1859) On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life, John Murray.
课程大纲
Introducción a la computación evolutiva
En este módulo conocerás cómo y por qué funcionan los algoritmos evolutivos, para resolver problemas de optimización y búsqueda.
Principios de operación de un algoritmo genético
En este módulo aprenderás a formular, plantear e identificar las variables de decisión de un problema dado (no importando el dominio), para poderlo resolver con el uso de un algoritmo evolutivo.
Implementación de un algoritmo genético básico
En este módulo identificarás cada una de las partes que conforman un algoritmo evolutivo, lo cual tendrá como consecuencia su implementación adecuada.
Aplicaciones de algoritmos genéticos y otras técnicas evolutivas
En este módulo aprenderás que los algoritmos evolutivos no son las únicas metaheurísticas para resolver problemas de optimización y búsqueda, sino que existen otras propuestas, como los algoritmos de optimización por cúmulo de partículas y la evolución diferencial.