Autores:
- CARMONA SUÁREZ, Enrique J
- FERNÁNDEZ GALÁN, Severino
Páginas: 420
Coedición: Alfaomega, Marcombo
$748
Consultar disponibilidad
Autores:
Páginas: 420
Coedición: Alfaomega, Marcombo
Consultar disponibilidad
Fundamentos de la computación evolutiva es una publicación orientada a esclarecer temas relacionados con computación evolutiva, una rema de la inteligencia artificial que se relaciona con los algoritmos evolutivos, también llamados algoritmos de optimización global.
Cabe recordar que los algoritmos evolutivos tienen la capacidad de obtener soluciones equiparables a las obtenidas por humanos, por ello, los expertos también los emplean para ofrecer aportaciones novedosas en lo que a inteligencia artificial se refiere.
Teniendo esto en cuenta, la guía ofrece, a través de 14 capítulos, múltiples explicaciones sobre las subáreas relacionadas con la computación evolutiva, así como los tipos de algoritmos que éstas manejan y las técnicas avanzadas que les proporcionan versatilidad y que maximizan su desarrollo.
VENTAJAS
• Se hace uso de múltiples definiciones que guiarán al lector desde los inicios de computación evolutiva.
• El libro contiene diversos esquemas que ilustrarán las explicaciones presentadas.
• Los autores comparten distintos algoritmos que serán de gran ayuda para trabajar en esta área.
CONOZCA
• Las bases de lo que es la computación evolutiva.
• Qué son los algoritmos genéticos.
• Los algoritmos de estrategias evolutivas.
APRENDA
• Qué es la inicialización, selección de padres y recombinación en la programación evolutiva.
• Lo que es un sistema clasificador evolutivo genérico.
• Sobre las características de un algoritmo memético.
DESARROLLE SUS HABILIDADES PARA…
• Evaluar un algoritmo evolutivo.
• Aplicar técnicas avanzadas en computación evolutiva.
• Sintonizar y controlar parámetros.
ÍNDICE
I Algoritmos evolutivos 1
1 Introducción a la computación evolutiva 3
1.1 Inspiración en la biología
1.1.1 Teoría de la evolución
1.1.2 Del ADN a las proteínas
1.1.3 Reproducción
1.1.4 Mutación
1.2 Historia de la computación evolutiva
1.3 Algoritmo evolutivo canónico
1.3.1 Representación de individuos
1.3.2 Función de adaptación
1.3.3 Población
1.3.4 Inicialización de la población
1.3.5 Selección de padres
1.3.6 Operadores de variación
1.3.7 Selección de supervivientes
1.3.8 Condición de terminación
1.4 Algoritmos evolutivos como métodos de búsqueda
1.5 Campos de aplicación de la computación evolutiva
1.5.1 Aplicaciones en clasificación
1.5.2 Aplicaciones en control
1.5.3 Aplicaciones en diseño
1.5.4 Aplicaciones en planificación
1.5.5 Aplicaciones en simulación
2 Algoritmos genéticos
2.1 Ejemplo introductorio: el problema del viajante
2.2 Representación de individuos
2.2.1 Representación binaria
2.2.2 Representación entera
2.2.3 Representación real
2.2.4 Representación mediante permutaciones
2.3 Inicialización de la población
2.4 Selección de padres
2.4.1 Selección proporcional al valor de adaptación
2.4.2 Selección por ordenación
2.4.3 Selección por torneo
2.4.4 Muestreo de distribuciones de probabilidad
2.5 Recombinación
2.5.1 Operadores de recombinación para representación binaria
2.5.1.1 Cruce por un punto
2.5.1.2 Cruce por n puntos
2.5.1.3 Cruce uniforme
2.5.2 Operadores de recombinación para representación entera
2.5.3 Operadores de recombinación para representación real
2.5.3.1 Recombinación discreta
2.5.3.2 Recombinación aritmética
2.5.4 Operadores de recombinación para representación mediante permutaciones
2.5.4.1 Cruce por orden
2.5.4.2 Cruce por ciclos
2.5.4.3 Cruce parcialmente mapeado
2.5.4.4 Cruce por enlaces
2.6 Mutación
2.6.1 Operadores de mutación para representación binaria
2.6.2 Operadores de mutación para representación entera
2.6.3 Operadores de mutación para representación real
2.6.4 Operadores de mutación para representación mediante permutaciones
2.6.4.1 Mutación por intercambio
2.6.4.2 Mutación por inserción
2.6.4.3 Mutación por mezcla
2.6.4.4 Mutación por inversión
2.7 Selección de supervivientes
2.8 Algoritmos de estimación de distribuciones
2.9 Ejemplo de aplicación: el problema del viajante
3 Estrategias evolutivas
3.1 Introducción: algoritmo EE-(1+1)
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.7.1 Interpretación geométrica
3.7.2 Mutación no correlacionada de 1-tamaño de paso
3.7.3 Mutación no correlacionada de n-tamaños de paso
3.7.4 Mutación correlacionada
3.8 Selección de supervivientes
3.9 Variantes de estrategias evolutiva
3.9.1 CMA-ES: Estrategia evolutiva basada en la adaptación de la matriz de covarianza
3.10 Ejemplo de aplicación: problema de resolución de ecuaciones diferenciales
4 Programación evolutiva
4.1 Ejemplo introductorio: el problema de la hormiga artificial
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 Ejemplo de aplicación: diseño de redes neuronales artificiales
4.6.1 Introducción a las redes neuronales artificiales
4.6.2 Redes neuronales artificiales evolutivas
4.6.2.1 Evolución de los pesos de las conexiones
4.6.2.2 Evolución de la topología
4.6.2.3 Evolución conjunta de pesos y topología: EPNet
5 Evolución diferencial
5.1 Ejemplo introductorio
5.2 Evolución diferencial canónica
5.3 Representación de individuos
5.4 Algoritmo clásico en ED:_iDE/rand/1 /bin_
5.5 Inicialización de la población
5.6 Selección de padres
5.7 Operadores de variación
5.7.1 Mutación
5.7.2 Recombinación (discreta o binomial)
5.8 Selección de supervivientes
5.9 Otras variantes en evolución diferencial
5.9.1 Formas de seleccionar el vector base
5.9.2 Incremento del número de diferenciales
5.9.3 Otros tipos de recombinación
5.9.4 Otras variantes usadas en entornos complejos
5.10 Aspectos prácticos en evolución diferencial
5.10.1 Inicialización de la población
5.10.2 Restringir la búsqueda al espacio de búsqueda
5.10.3 Acerca del valor de F
5.10.4 Acerca del valor de CR
5.10.5 Recomendaciones generales
5.11 Aplicaciones
5.12 Ejemplo de aplicación: optimización de una función multimodal
6 Programación genética
6.1 Ejemplo introductorio: regresión simbólica
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.4.1 Método de crecimiento uniforme
6.4.2 Método de crecimiento no uniforme
6.4.3 Método de crecimiento mixto
6.5 Selección de padres
6.6 Operadores de variación
6.6.1 Reproducción
6.6.2 Recombinación
6.6.3 Mutación
6.6.4 Mutación vs. recombinación
6.7 Selección de supervivientes
6.8 Funciones definidas automáticamente
6.9 El efecto engorde
6.10 Variantes
6.10.1 Evolución gramatical
6.10.2 Programación de expresiones de genes
6.11 Ejemplo de aplicación: diseño de circuitos electrónicos analógicos
6.11.1 Definición del problema
6.11.2 Diseño de circuitos analógicos basado en EG
7 Sistemas clasificadores evolutivos
7.1 Ejemplo introductorio: el multiplexor
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 Enfoque tipo Pittsburgh
7.6 Representaciones alternativas de reglas
7.6.1 Representación basada en intervalos
7.6.2 Representación basada en hiperelipsoides
7.6.3 Representación basada en envolturas convexas
7.6.4 Representación basada en redes neuronales
7.6.5 Representación desordenada
7.6.6 Representación basada en expresiones S
7.6.7 Representación basada en expresiones de genes
7.6.8 Representación basada en lógica difusa
7.7 Ejemplo de aplicación: diagnóstico de cáncer
8 Algoritmos meméticos
8.1 Introducción
8.2 Características de un algoritmo memético
8.2.1 Heurísticas y metaheurísticas
8.2.2 Algoritmo memético canónico
8.3 Búsqueda local
8.3.1 Espacios de búsqueda combinatorios
8.3.2 Espacios de búsqueda continuos
8.4 Algoritmos meméticos basados en la hibridación de un algoritmo evolutivo
8.4.1 Representación
8.4.2 Inicialización de la población
8.4.3 Operadores de variación basados en conocimiento
8.4.4 Operadores de selección basados en conocimiento
8.5 Aspectos prácticos de implementación en algoritmos meméticos
8.5.1 Elección del algoritmo de búsqueda local
8.5.2 Frecuencia de la búsqueda local
8.5.3 Probabilidad de la búsqueda local
8.5.4 Intensidad de la búsqueda local
8.5.5 Coste de la función de adaptación
8.5.6 Manejo de la pérdida de diversidad
8.6 Algoritmos meméticos avanzados
8.7 Aplicaciones de los algoritmos meméticos
9 Evaluación de algoritmos evolutivos
9.1 Qué evaluar en un algoritmo evolutivo
9.2 Índices promedio de prestaciones
9.2.1 Tasa de éxito
9.2.2 Valor de adaptación medio del mejor individuo
9.2.3 Tiempo medio para alcanzar el éxito
9.3 Medidas de robustez
9.3.1 Robustez a cambios del valor de un parámetro
9.3.2 Robustez a cambios de la instancia de un problema
9.3.3 Robustez frente a las diferentes ejecuciones realizadas
9.4 Estudio del comportamiento estadístico
9.4.1 Margen de error e intervalo de confianza
9.4.2 Test de hipótesis
9.5 Visualización de resultados
9.5.1 Curva de progreso
9.5.2 Comportamiento frente al cambio de escala del problema
9.5.3 Otras formas de visualizar resultados
9.6 Uso de problemas de referencia para evaluar AEs
II Técnicas avanzadas en computación evolutiva
10 Manejo de restricciones
10.1 Región factible
10.2 Tipos de problemas que manejan restricciones
10.2.1 Problemas de optimización libre de restricciones
10.2.2 Problemas de optimización con restricciones
10.2.3 Problemas de satisfacción de restricciones
10.3 Manejo de restricciones en algoritmos evolutivos
10.3.1 Funciones de penalización
10.3.1.1 Penalización estática
10.3.1.2 Penalización dinámica
10.3.1.3 Penalización adaptativa
10.3.2 Funciones decodificadoras
10.3.3 Separación de función objetivo y restricciones
10.3.3.1 Memoria conductual
10.3.3.2 Reglas de factibilidad
10.3.3.3 Ordenación estocástica
10.3.3.4 Método «-restringido
10.3.4 Operadores especiales que garantizan la factibilidad
10.3.4.1 Operadores que preservan la factibilidad
10.3.4.2 Operadores de reparación
11 Mantenimiento de la diversidad
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.4.1 Métodos tradicionales de restricción del emparejamiento
11.4.2 Generalización del método de restricción del emparejamiento
11.5 Agrupamiento
11.5.1 Variantes del método original de agrupamiento
11.5.2 Generalización del método de agrupamiento
11.5.2.1 Agrupamiento generalizado adaptativo basado en diversidad
11.5.2.2 Agrupamiento generalizado autoadaptativo
12 Configuración de parámetros
12.1 Sintonización de parámetros
12.1.1 Inconvenientes de la sintonización manual
12.1.2 Definición del problema y nomenclatura
12.1.3 Taxonomía de métodos de sintonización
12.1.4 Ejemplos de métodos de sintonización de parámetros
12.1.4.1 Métodos de competición
12.1.4.2 Meta-optimizadores
12.1.4.3 Métodos basados en modelo
12.1.4.4 El método LUS
12.1.4.5 Consideraciones finales
12.2 Control de parámetros
12.2.1 Introducción al control de parámetros
12.2.2 Taxonomía de métodos de control de parámetros
12.2.3 Ejemplos de control de parámetros
12.2.3.1 Tamaño de la población
12.2.3.2 Función de adaptación
12.2.3.3 Cruce
12.2.3.4 Mutación
12.2.3.5 Selección de supervivientes
12.2.3.6 Modificación de varios parámetros simultáneamente
12.2.3.7 Consideraciones finales
13 Problemas multiobjetivo
13.1 Dominancia y frente de Pareto
13.2 Tipos de algoritmo evolutivo multiobjetivo
13.2.1 Técnicas _a priori_
13.2.2 Técnicas progresivas
13.2.3 Técnicas _a posteriori_
13.2.3.1 Muestreo independiente
13.2.3.2 Selección por criterio
13.2.3.3 Función de adaptación mediante dominancia
13.3 Técnicas avanzadas en algoritmos evolutivos multiobjetivo
13.3.1 AEMOs basados en descomposición
13.3.2 AEMOs meméticos
13.3.3 Tratamiento de restricciones mediante AEMOs
13.3.4 Aplicación de AEMOs a problemas multimodales
13.3.5 Aplicación de AEMOs a problemas dinámicos
13.3.5.1 Mantenimiento de la diversidad .
13.3.5.2 Introducción de diversidad tras un cambio en la función de adaptación
13.3.5.3 Predicción de cambios en la función de adaptación
13.3.5.4 Uso de memoria
13.3.5.5 Poblaciones múltiples
13.4 Ejemplo de aplicación: asignación de horarios de clase
14 Modelos matemáticos de algoritmos evolutivos
14.1 Teorema del esquema
14.2 Cadenas de Markov
14.2.1 Modelo de Markov para selección uniforme
14.2.2 Modelo de Markov para un algoritmo genético estándar
14.2.3 Modelo de Markov para estados agrupados
14.3 Sistemas dinámicos
14.3.1 Sistema dinámico para un algoritmo genético estándar
14.4 Métodos reduccionistas
14.5 Mecánica estadística
14.6 Espacios de búsqueda continuos
Anexo A: Traducción de términos relevantes del libro
Bibliografía
Índice alfabético