Fundamentos De La Computación Evolutiva
por Enrique J. Carmona Suárez, Severino Fernández Galán
Marcombo, S.A.
Edición: 1ª - 2020
Material válido para:
Carrera | Curso | Asignatura | Tipo de material |
---|---|---|---|
Máster Universitario En Investigación En Inteligencia Artificial | Programa General: Máster Universitario En Investigación En Inteligencia Artificial | Computación Evolutiva | Texto Básico |
-
Papel:
- ISBN: 9788426727558
- Idioma:Español, Castellano
- Medidas:17 x 24
- Encuadernación: Rústica
- Páginas: 420
OFERTA!!
antes:
25,60 €ahora: 24,32 €
Disponible
Información detallada:
Resumen del libro
La computación evolutiva puede mejorar su vida y la del resto de personas. ¿Quiere saber cómo?
Adéntrese en este libro y descubra la computación evolutiva, una rama de la inteligencia artificial formada por una familia de algoritmos de optimización global: los algoritmos evolutivos.
Inspirados en la evolución natural, los algoritmos evolutivos son capaces de obtener soluciones equiparables a las de expertos humanos en gran variedad de problemas. Además, son atractivos por aportar soluciones novedosas y brillantes que podrían ser difíciles de lograr por un humano.
A lo largo de las últimas décadas, han surgido diferentes variantes de algoritmos evolutivos como resultado del gran interés que han despertado en la comunidad científica. En esta guía encontrará explicaciones detalladas de:
- Las subáreas de la computación evolutiva, desde las ideas pioneras hasta las más actuales y novedosas.
- Los principales tipos de algoritmos evolutivos.
- Las técnicas avanzadas que dotan a estos algoritmos de mayor potencia y versatilidad.
Si quiere conseguir una perspectiva global sobre la computación evolutiva, tiene a su alcance el libro adecuado: no pierda la oportunidad de leerlo.
Los autores del libro son profesores titulares en el área de Ciencia de la Computación e Inteligencia Artificial y pertenecen al Departamento de Inteligencia Artificial de la Universidad Nacional de Educación a Distancia (UNED). Además de su actividad en docencia, realizan investigación en diferentes campos de la inteligencia artificial y de la computación evolutiva.
Í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