Accesos directos a las distintas zonas del curso
Ir a los contenidos
Ir a menú navegación principal
Ir a menú pie de página
Subject's code : 31101220
Este tema se divide en los siguientes apartados:
1.1 Inspiración en la biología 1.2 Historia de la computación evolutiva 1.3 Algoritmo evolutivo canónico 1.4 Algoritmos evolutivos como métodos de búsqueda 1.5 Campos de aplicación de la computación evolutiva
Los resultados de aprendizaje que el alumno adquiere total o parcialmente tras el estudio de este tema son:
Objetivos
El objetivo del tema 1 “Introducción a la computación evolutiva” es proporcionar una visión de conjunto de la computación evolutiva.
2.1 Introducción 2.2 Representación de individuos 2.3 Inicialización de la población 2.4 Selección de padres 2.5 Recombinación 2.6 Mutación 2.7 Selección de supervivientes 2.8 Algoritmos de estimación de distribuciones 2.9 Aplicaciones
El tema 2 “Algoritmos genéticos” explica la variante más popular de los algoritmos evolutivos. Se hace énfasis en cómo realiza la representación de individuos, la inicialización de la población, la selección de padres, la recombinación, la mutación y la selección de supervivientes. Esta misma estructura se repite en los temas 3 a 8 para otras variantes de algoritmo evolutivo.
3.1 Introducción 3.2 Estrategia evolutiva estándar 3.3 Representación de individuos 3.4 Inicialización de la población 3.5 Selección de padres 3.6 Recombinación 3.7 Mutación 3.8 Selección de supervivientes 3.9 Variantes de estrategias evolutivas 3.10 Aplicaciones
El principal objetivo de este tema es describir las denominadas “Estrategias Evolutivas”, una nueva variante de algoritmo evolutivo. La principal característica de este nueva variante es la de incorporar los parámetros del operador de mutación en el propio cromosoma de cada individuo y hacerlos evolucionar junto con el resto de variables del problema. Esta forma de hacer evolucionar las variables junto con los parámetros de estrategia del propio algoritmo evolutivo se conoce como autoadaptación.
4.1 Introducción 4.2 Representación de individuos 4.3 Inicialización, selección de padres y recombinación 4.4 Mutación 4.5 Selección de supervivientes 4.6 Aplicaciones
El tema “Programación Evolutiva” trata otra variante de la computación evolutiva que se caracterizó inicialmente por una forma muy concreta de representar los individuos: usando máquinas de estados finitos.
5.1 Introducción 5.2 Evolución diferencial canónica 5.3 Representación de individuos 5.4 Algoritmo clásico en ED: “DE/rand/1/bin” 5.5 Inicialización de la población 5.6 Selección de padres 5.7 Operadores de variación 5.8 Selección de supervivientes 5.9 Otras variantes en evolución diferencial 5.10 Aspectos prácticos en evolución diferencial 5.11 Aplicaciones
El principal objetivo de este tema es el estudio de un nuevo tipo de algoritmo evolutivo conocido como “Evolución diferencial'. A pesar de ser una de las últimas variantes en entrar en la familia de algoritmos evolutivos, debido a su simplicidad, ha alcanzado un gran éxito y difusión en la actualidad, principalmente en problemas de optimización definidos en espacios de búsqueda continuos.
6.1 Introducción 6.2 Algoritmo estándar en programación genética 6.3 Representación de individuos 6.4 Inicialización de la población 6.5 Selección de padres 6.6 Operadores de variación 6.7 Selección de supervivientes 6.8 Funciones definidas automáticamente 6.9 El efecto engorde 6.10 Variantes 6.11 Aplicaciones
El principal objetivo de este tema es el estudio de una variante más de algoritmo evolutivo conocido como “Programación Genética”. Constituye un nuevo paradigma evolutivo caracterizado por abordar un objetivo más ambicioso que las variantes descritas anteriormente. Se trata ahora de optimizar, no solo los parámetros de un modelo, sino también la estructura del propio modelo. Esto da lugar también a una nueva forma de representación de individuos basada en árboles.
7.1 Introducción 7.2 Sistema clasificador evolutivo genérico 7.3 Sistema clasificador evolutivo basado en fuerza: ZCS 7.4 Sistema clasificador evolutivo basado en exactitud: XCS 7.5 Enroque tipo Pittsburgh 7.6 Representaciones alternativas de reglas 7.7 Aplicaciones
El tema “Sistemas clasificadores evolutivos'' describe cómo se puede utilizar aprendizaje por refuerzo conjuntamente con técnicas evolutivas para desarrollar sistemas basados en reglas que permitan abordar problemas de clasificación. Se revisan detalladamente los sistemas clasificadores evolutivos que han tenido más éxito en la literatura, así como una serie de técnicas avanzadas que permiten incorporar representaciones alternativas en reglas.
8.1 Introducción 8.2 Características de un algoritmo memético 8.3 Búsqueda local 8.4 Algoritmos meméticos basados en la hibridación de un algoritmo evolutivo 8.5 Aspectos prácticos de implementación en algoritmos meméticos 8.6 Algoritmos meméticos avanzados 8.7 Aplicaciones
El principal objetivo de este tema es explicar los denominados “Algoritmos meméticos', caracterizados por la hibridación de un algoritmo evolutivo con otras técnicas de búsqueda y por la posibilidad de incluir conocimiento del dominio en el diseño del propio algoritmo evolutivo. Es interesante reseñar que esta idea ha dado lugar a algoritmos que superan las prestaciones de sus respectivos algoritmos canónicos.
9.1 Qué evaluar en un algoritmo evolutivo 9.2 Índices promedio de prestaciones 9.3 Medidas de robustez 9.4 Estudio del comportamiento estadístico 9.5 Visualización de resultados 9.6 Uso de problemas de referencia para evaluar algoritmos evolutivos
Como su propio nombre indica, la finalidad del tema “Evaluación de algoritmos evolutivos'' es analizar cómo se debe evaluar adecuadamente el rendimiento de un algoritmo evolutivo o cómo comparar sus prestaciones con las de otros algoritmos evolutivos. Hay que tener en cuenta que no solo puede interesar evaluar o comparar la calidad de la mejor solución obtenida, sino también la rapidez con la que dicha solución se obtiene.
10.1 Región factible 10.2 Tipos de problemas que manejan restricciones 10.3 Manejo de restricciones en algoritmos evolutivos
El principal objetivo del tema “Manejo de restricciones'' es revisar una serie de técnicas que resultan de utilidad para abordar problemas de optimización con restricciones mediante algoritmos evolutivos. Debido a que muchos de los problemas de optimización que se presentan en el mundo real están sujetos a restricciones de diverso tipo, este capítulo resulta de gran interés práctico.
11.1 Algoritmos evolutivos paralelos de grano grueso 11.2 Algoritmos evolutivos paralelos de grano fino 11.3 Reparto de adaptación 11.4 Restricción del emparejamiento 11.5 Agrupamiento
El tema “Mantenimiento de la diversidad” describe diferentes métodos para preservar la diversidad en la población de individuos de un algoritmo evolutivo. El mantenimiento de la diversidad ayuda a que, por un lado, la búsqueda no caiga de forma prematura en un óptimo local y a que, por otro lado, la búsqueda no tienda a parecerse a un recorrido puramente aleatorio.
12.1 Sintonización de parámetros 12.2 Control de parámetros
El objetivo del tema “Configuración de parámetros” es explicar diferentes técnicas dedicadas a buscar la mejor configuración de parámetros de un algoritmo evolutivo que garantice, no solo el éxito en la búsqueda de la solución, sino que dicho éxito se consiga también de la forma más eficiente posible.
13.1 Dominancia y frente de Pareto 13.2 Tipos de algoritmo evolutivo multiobjetivo 13.3 Técnicas avanzadas en algoritmos evolutivos multiobjetivo 13.4 Ejemplo de aplicación: asignación de horarios de clase
El tema “Problemas multiobjetivo” se ocupa de describir las técnicas más relevantes para abordar los problemas de optimización con más de un objetivo mediante algoritmos evolutivos.
14.1 Teorema del esquema 14.2 Cadenas de Markov 14.3 Sistemas dinámicos 14.4 Métodos reduccionistas 14.5 Mecánica estadística 14.6 Espacios de búsqueda continuos
El tema “Modelos matemáticos de algoritmos evolutivos” aborda el análisis de los algoritmos evolutivos desde un punto de vista teórico. Dicho análisis se puede llevar a cabo a partir de diferentes formalismos matemáticos.