Introducción a la computación evolutiva Objetivo En este curso se estudiaran los conceptos básicos de las técnicas más importantes de computación evolutiva, haciendo especial énfasis en los algoritmos genéticos. Inicialmente, se harán un recorrido histórico en el que se resumirán los logros más importantes en torno a la simulación de los procesos evolutivos como una herramienta para el aprendizaje y la optimización. Posteriormente, se analizaran y compararan de manera general los 3 paradigmas principales que se utilizan hoy en día en la computación evolutiva: las estrategias evolutivas, la programación evolutiva y los algoritmos genéticos. En cada caso se abordara su inspiración biológica, su motivación, su funcionamiento y algunas de sus aplicaciones. Finalmente, se estudiara a mayor detalle el funcionamiento, fundamentos teóricos, implementación y operación de los algoritmos genéticos, que es actualmente el paradigma evolutivo más utilizado por los investigadores que trabajan en esta disciplina.
Contenido
a) Problemas P y NP b) Técnicas clásicas de búsqueda y optimización c) Lo que el mundo real demanda d) ¿Que es una heurística? e) ¿Realmente necesitamos técnicas heurísticas? f ) Ejemplos de técnicas heurísticas: Búsqueda tabú, recocido simulado, escalando la colina.
a) Optimización Global b) Optimización Numérica c) Optimización Combinatoria d) Espacios de búsqueda convexos y cóncavos e) Restricciones explicitas e implícitas f ) Restricciones de igualdad y desigualdad g) Zona factible y no factible
a) Inspiración biológica b) Primeros intentos c) Cronología de descubrimientos importantes
a) Estrategias evolutivas b) Programación evolutiva c) Algoritmo genético d) Comparaciones
a) Criticas (IA Clásica vs. Técnicas Heurísticas) b) ¿Un nuevo paradigma?
a) Generalidades: Definición. Componentes básicos. Funcionamiento b) Representación: Binaria, códigos de gray real, programación genética, algoritmos genéticos desordenados (Messy GAs), otras propuestas. c) Selección: Proporcional, torneo, estado uniforme, uso de jerarquías. d) Cruza: Importancia, un punto, dos puntos, uniforme, casos especiales. e) Mutación: Importancia, forma básica, no uniforme, casos especiales f ) Función de aptitud. Definición. Uso de “cajas negras”. Manejo de restricciones usando funciones de penalización. Ejemplos g) Ajuste de parámetros: Estudios empíricos. Auto-adaptación h) Implementación: Software propio, software de dominio público, sistemas comerciales. i) Operadores avanzados: Diploides y dominancia. Inversión. Micro-operadores: segregación, traslocación, duplicación y borrado. j) Teoría: Teorema de los esquemas. Modelos exactos. Teoría de convergencia. No Free Lunch Theorems. Criticas. Decepción k) ¿Cuándo aplicar un algoritmo genético? Limitaciones. Ventajas. Áreas de aplicación
Bibliografía
|
|||