Download Programacion_Genetic.. - Posgrado FIE

Document related concepts

Programación genética wikipedia , lookup

Algoritmo genético wikipedia , lookup

Evolución gramatical wikipedia , lookup

Música evolucionaria wikipedia , lookup

Programación de expresiones de genes wikipedia , lookup

Transcript
(*)
UNIVERSIDAD MICHOACANA DE SAN NICOLÁS DE HIDALGO
FACULTAD DE INGENIERÍA ELÉCTRICA
DIVISIÓN DE ESTUDIOS DE POSGRADO
PROGRAMACIÓN GENÉTICA
No. Hrs. /Semana:
Duración en semanas:
Total de Horas:
Número de Créditos:
4
16
64
8
Conocimientos previos recomendados: Inteligencia Artificial, Lenguajes de Programación, Algoritmos
Genéticos (recomendado).
Objetivo:
Descripción: Este curso proporciona las bases de Algoritmos Genéticos (GAs) y profundiza en la técnica
Programación Genética (GP). Estos paradigmas del área de Inteligencia Artificial se basan en la idea de
resolver problemas mediante la simulación de la evolución. Estas técnicas son útiles para encontrar
soluciones óptimas en espacios de búsqueda muy grandes. En cuanto a aplicaciones, el curso se enfocará
al problema de identificación de sistemas en Ingeniería. La idea de permitir que un programa evolucione
por si mismo, en lugar de diseñar y programar la solución parece una aplicación muy prometedora de
Inteligencia Artificial al área de Ingeniería.
Programa sintético:
Tema
Duración (hrs.)
1. Introducción
2. Algoritmos Genéticos
3. Programación Genética
4. Aplicaciones
5. Software para PG
6. Revisión de PG
7. Paralelización de GAs y GP
8. Comparación con otras técnicas de aprendizaje de máquina ML
9. Tópico Avanzado – Teorías de Esquemas
10. Tópico Avanzado – Búsqueda
2
4
11
4
9
11
9
4
6
4
Total de Horas
64
Programa desarrollado:
1.
Introducción
1.1. Descripción de Algoritmos Genéticos y Programación Genética
1.2. Conceptos Básicos
2.
Algoritmos Genéticos
2.1. El proceso de GA
2.2. Preparación para solución de problemas mediante GA
2.3. Ejemplos
2.3.1. Hormiga artificial mediante GA para determinar un autómata
2.3.2. Hormiga artificial mediante GA para determinar una red neuronal
2.3.3. El dilema del prisionero mediante GA para determinar un autómata
2.3.4. Evolución de las Comunicaciones
2.3.5. GA Hamming cliff and Gray code
3.
Programación Genética
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
Representación de Genes y Cromosomas
Terminales, Funciones
Cerradura y Suficiencia de Funciones
Población Inicial
Función de Aptitud
Cruzamiento y Mutación
Funciones Secundarias
4.
Aplicaciones
4.1. Regresión Simbólica
4.2. Centrado de un carro
4.3. Hormigas artificiales
4.4. Estructuras Sintácticas con Restricciones (strong typing)
4.5. Funciones definidas automáticamente (ADFs)
5.
Software para PG
5.1. GP. Software en C
5.2. GP. Software en LISP, desarrollado en la UMSNH
6.
Revisión de PG
6.1. Comportamiento emergente usando GP
6.2. Codificación Celular de Redes Neuronales (developmental GP)
6.3. Esfuerzo y complejidad Computacional
6.4. Técnicas de optimización al programar GAs y GP
6.5. Errores comunes en la aplicación de GAs
6.6. El arte de aplicar Gas
7.
Paralelización de GAs y GP
7.1. Parallelization
7.2. Hardware Evolutivo (EH) usando field programmable gate arrays (FPGAs)
7.3. Aplicaciones del Hardware Evolutivo
8.
Comparación con otras técnicas de aprendizaje de máquina ML
8.1. Paradigmas de aprendizaje de máquina
8.2. Forja simulada
8.3. Arboles de decisión
8.4. Programación evolutiva, estrategias de evolución
8.5. Estado del arte en GA
8.6. Estado del arte en GP
9.
Tópico Avanzado – Teorías de Esquemas
9.1. Teorías de Esquemas
9.2. Teorías de Esquemas pesimistas
9.3. Teorías de Esquemas Exactas
9.4. Teorías de Esquemas en Práctica
10. Tópico Avanzado – Búsqueda
10.1. Espacio de Búsqueda
10.2. Análisis Teórico
Bibliografía:
[1] John R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural
Selection (Complex Adaptive Systems). MIT Press. 1992.
[2] William B. Langdon, Ricardo Poli. Foundations of Genetic Programming. Springer-Verlag.
2002.
[3] Wolfgang Banzhaf, Meter Nordin, Robert E. Keller, Frank D. Francote. Genetic Programming –
An Introduction. On the Automatic Evolution of Computer Programs and its Applications.
Morgan Kaufmann Publishers, Inc. 1998.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase
Lectura de material fuera de clase
Ejercicios fuera de clase (tareas)
Investigación documental
Elaboración de reportes técnicos o proyectos
X
X
X
X
X
Metodología de evaluación:
Asistencia
Tareas
Elaboración de reportes técnicos o proyectos
Exámenes
Programa propuesto por:
Fecha de aprobación:
X
X
X
X
Related documents