ETSI Ingeniería Informática » Posgrados oficiales » Masters en Inteligencia Artificial y Sist. Informáticos

Posgrados Oficiales

.........................................
Presentación
Oferta
Preinscripción
Matrícula
Admisión
Plazos
Precios
Legalización
Traducción
Convalidaciones
Documentación
Preguntas Frecuentes
Enlaces
Contactar
.........................................
Ir a Espacio Europeo ...


COMPUTACIÓN EVOLUTIVA



Profesorado

Coordinador: Severino Fernández Galán (Dpto. Inteligencia Artificial, UNED)
Profesores:
Enrique Javier Carmona Suárez (Dpto. Inteligencia Artificial, UNED)


Ficha técnica:

TipoOptativa
CuatrimestrePrimero
Créditos/horas totales6/150
Horas de estudio teórico60
Horas de prácticas40
Horas complementarias50

DESCRIPCIÓN DE LA ASIGNATURA

Prerrequisitos recomendables

No es necesario adquirir ninguna competencia previa para abordar con garantías de éxito el aprendizaje de las técnicas que se tratan en el presente curso.

Objetivos generales de la materia

Esta asignatura ofrece una completa y exhaustiva introducción al campo de la computación evolutiva, incluyendo el estudio de sus variantes más importantes: algoritmos genéticos, estrategias evolutivas, programación evolutiva y programación genética.
Al igual que en el campo de la ingeniería, donde la propia Naturaleza sirve a menudo de fuente de inspiración, el desarrollo de métodos automáticos de resolución de problemas en ciencias de la computación también puede apoyarse en la imitación de procesos naturales. En concreto, la computación evolutiva se basa en la imitación de los procesos evolutivos que ocurren en la Naturaleza. Desde un punto de vista computacional, los algoritmos evolutivos aportan ventajas en cuanto a robustez y aplicabilidad a un amplio espectro de problemas.
El enfoque evolutivo para la resolución automática de problemas ha sido aplicado con éxito a tareas de optimización, diseño, planificación y control, entre otras. Un conjunto representativo de aplicaciones de dichas tareas se estudia en la presente asignatura debido, por un lado, a la amplia atención que han recibido a lo largo de los años por parte de la comunidad científica internacional y, por otro lado, como motivación para que el alumno investigue la aplicación de algoritmos evolutivos en la resolución de problemas que sean de su interés.

Destrezas y competencias

Se especifican detalladamente en la sección 1.9 atendiendo a una clasificación por temas.

Contextualización de la materia en el conjunto del Master

Esta asignatura pertenece al módulo "Métodos de solución de problemas en inteligencia artificial" dentro de la especialidad IA.1: "Sistemas inteligentes de diagnóstico, planificación y control" de la titulación de posgrado "Máster de inteligencia artificial avanzada. Fundamentos, métodos y aplicaciones".
Los métodos evolutivos constituyen una importante opción para la resolución de problemas en inteligencia artificial. En muchas ocasiones representan una alternativa a métodos específicos diseñados para resolver de forma especializada cierta tarea. Por ello, no sería exagerado afirmar que esta asignatura está relacionada en mayor o menor medida con el resto de asignaturas del programa. A modo de ejemplo, se pueden aplicar técnicas evolutivas en razonamiento aproximado, aprendizaje automático, visión artificial, robótica o minería de datos.

1  MEDIOS DE ESTUDIO

1.1  Metodología docente

La general del presente programa de posgrado. Al tratarse de un máster orientado a la investigación, las actividades de aprendizaje giran en torno al estado del arte en cada una de las materias del curso y a los problemas que se puedan abordar en el proyecto final, sobre el que se realizará la evaluación. La asignatura no tiene clases presenciales. Los contenidos teóricos se impartirán a distancia, de acuerdo con las normas y estructuras de soporte telemático de enseñanza en la UNED.

1.2  Material de estudio

El material de estudio que se utilizará a lo largo del curso se compone de una bibliografía general de consulta (especificada en la sección 1.15), la plataforma aLF para aprendizaje y colaboración a través de internet y, por último, la versión actual de un entorno de programación para la implementación de algunas de las actividades prácticas del curso, por ejemplo, JAVA (Software Development Kit).

1.3  Materiales y recursos de apoyo

Los alumnos dispondrán de una plataforma para aprendizaje y colaboración a través de internet, denominada aLF.

1.4  BIbliografia general de consulta

Bibliografía básica:
Introduction to Evolutionary Computing
A. E. Eiben y J. E. Smith
Springer, 2003
Bibliografía complementaria:
Genetic Algorithms + Data Structures Evolution Programs
Z. Michalewicz
Springer, 1996 (Third, Revised, and Extended Edition)
Genetic Algorithms in Search, Optimization, and Machine Learning
D. E. Goldberg
Addison-Wesley, 1989
Evolutionary computing
A.E. Eiben y M. Schoenauer
Information Processing Letters, 82(1): 1-6, 2002

1.5  Tutorización

Existe a disposición de los alumnos un horario de tutorización telefónica con los profesores de la asignatura.
Horario: lunes de 16.00 a 20.00 hrs.
Tfnos.de contacto:
Enrique J. Carmona Suárez: 91 3987301
Severino Fernández Galán: 91 3987300
Además, el alumno podrá dirigir sus dudas cualquier día de la semana a las siguientes direcciones de correo electrónico:
Enrique J. Carmona Suárez: ecarmona@dia.uned.es
Severino Fernández Galán: seve@dia.uned.es

2  ESTRUCTURA DEL CURSO

2.1  Estructura y contenido teórico

Tema 1 Introducción
1.1 Historia de la computación evolutiva
1.2 Inspiración en Biología
1.3 Motivos para trabajar con computación evolutiva
1.4 Ejemplos de aplicaciones de la computación evolutiva

Tema 2 Qué es un algoritmo evolutivo
2.1 Introducción
2.2 Componentes principales de los algoritmos evolutivos
2.3 Cómo trabaja un algoritmo evolutivo
2.4 Algoritmos evolutivos v.s. otras técnicas de optimización global

Tema 3 Algoritmos genéticos
3.1 Representación de los individuos
3.2 Selección de los padres
3.3 Recombinación
3.4 Mutación
3.5 Selección de supervivientes

Tema 4 Estrategias evolutivas
4.1 Introducción
4.2 Representación y auto-adaptación
4.3 Mutación y auto-adaptación
4.4 Recombinación
4.5 Selección de padres
4.6 Selección de supervivientes

Tema 5 Programación evolutiva
5.1 Desarrollo histórico
5.2 Representación de los individuos
5.3 Selección de padres y recombinación
5.4 Mutación
5.5 Selección de supervivientes

Tema 6 Programación genética
6.1 Representación
6.2 Mutación
6.3 Recombinación
6.4 Selección de padres
6.5 Selección de supervivientes
6.6 Inicialización
6.7 El efecto "engorde" (bloat)

Tema 7 Aprendizaje en sistemas clasificadores
7.1 Introducción
7.2 Sistema clasificador genérico
7.3 Ejemplo de sistema clasificador: el multiplexor
7.4 El sistema clasificador ZCS
7.5 El sistema clasificador XCS
7.6 Extensiones de los sistemas clasificadores
7.7 Enfoque tipo Pittsburgh

Tema 8 Control de parámetros en algoritmos evolutivos
8.1 Introducción
8.2 Aspectos relevantes para clasificar las técnicas de control dinámico de parámetros
8.3 Ejemplos alternativos a la aproximación estática

Tema 9 Problemas multimodales y distribución espacial
9.1 Mantenimiento de la diversidad en problemas multimodales
9.2 Métodos implícitos para el mantenimiento de la diversidad
9.3 Métodos explícitos para el mantenimiento de la diversidad
9.4 Algoritmos evolutivos para problemas multiobjetivo

Tema 10 Hibridación con otras técnicas: algoritmos meméticos
10.1 Introducción
10.2 Uso de conocimiento del dominio y/o métodos de hibridación en algoritmos evolutivos
10.3 Algoritmos de búsqueda local
10.4 Memes y algoritmos meméticos
10.5 Estructura de un algoritmo memético
10.6 Algunas cuestiones prácticas para el de diseño de algoritmos meméticos

Tema 11 Teoría
11.1 Teorema del esquema
11.2 Análisis de algoritmos evolutivos basado en sistemas dinámicos
11.3 Análisis de algoritmos evolutivos basado en cadenas de Markov
11.4 Otros métodos de análisis de algoritmos evolutivos

Tema 12 Manejo de restricciones
12.1 Introducción
12.2 Clasificación de problemas con restricciones
12.3 Formas conceptualmente diferentes de manejar restricciones
12.4 Mecanismos para manejar restricciones en algoritmos evolutivos

Tema 13 Formas especiales de evolución
13.1 Ejemplos de formas especiales de evolución
13.2 Coevolución
13.3 Evolución interactiva
13.4 Optimización de funciones no estacionarias

Tema 14 Trabajando con algoritmos evolutivos
14.1 Introducción: ¿Qué se quiere que haga un algoritmo evolutivo?
14.2 Medidas de prestaciones
14.3 Problemas test para comparación de resultados experimentales

2.2  Objetivos por tema y orientaciones breves

Tema 1 Introducción

Objetivos:
El objetivo de este tema es proporcionar una visión de conjunto sobre la computación evolutiva. Dicha visión de conjunto incluye una perspectiva histórica del campo, una descripción de su relación con otras ciencias en las que se inspira (principalmente la Biología), un análisis de por qué resulta interesante resolver ciertas tareas tomando como punto de partida el enfoque proporcionado por la computación evolutiva y, finalmente, una ordenación del tipo de problemas que se pueden resolver mediante computación evolutiva, basada en la naturaleza del problema en relación a sus entradas, salidas y modelo interno.

Orientaciones:
Inicialmente se realiza un estudio del desarrollo histórico de la computación evolutiva y sus variantes, en la sección "Historia de la computación evolutiva". Esta sección se debe estudiar en detalle, ya que sirve de introducción a las distintas variantes de la computación evolutiva que se tratarán en los temas 3 a 7. A continuación se repasan las bases biológicas en las que se inspira la computación evolutiva, en la sección "Inspiración en Biología". En esta sección habrá partes que el alumno tenga dificultades para entender. Si es así, se recomienda releer dichas partes y, si finalmente la dificultad en el entendimiento persiste, la mejor opción es proseguir el estudio sin estancarse en los apartados más complicados. En la sección "Motivos para trabajar con computación evolutiva" se analizan las razones que hacen de la computación evolutiva un método de interés para la resolución de problemas. Esta sección se debe estudiar en detalle, ya que ayuda a encontrar sentido al estudio global de la presente asignatura. Finalmente, se dan ejemplos de aplicaciones en la sección "Ejemplos de aplicaciones de la computación evolutiva". Debido al interés práctico de esta sección, se recomienda su estudio en detalle. Es importante en esta sección que el alumno realice un esfuerzo de generalización en la definición de problemas, que ayude posteriormente a una más fácil clasificación de los mismos.

Tema 2 Qué es un algoritmo evolutivo

Objetivos:
El principal objetivo de este tema es definir y caracterizar de forma genérica a los Algoritmos Evolutivos (AE). Para ello:
1.Se analizará el denominado algoritmo evolutivo canónico, un esquema general que forma la base común de las distintas variantes vinculadas a la familia de los AE's.
2.Se describirán los componentes principales de todo AE y las propiedades más relevantes relacionadas con el cómo trabajan este tipo de algoritmos.
3.Finalmente, teniendo en cuenta la estrecha relación de este tipo de algoritmos con la tarea de optimización, se analizará la relación existente entre los AE's y otras técnicas de optimización global.

Orientaciones:
El estudio de este tema se hará básicamente a partir del texto de referencia indicado en la bibliografía básica [Eiben&Smith-03], y de acuerdo a las siguientes indicaciones: En la primera sección de introducción, se debe aprender el esquema general que subyace en todo algoritmo evolutivo, cuales son las etapas que lo componen y cómo se secuencian en el tiempo. Esta sección se corresponde íntegramente con los contenidos del epígrafe 2.2 del texto base. El estudio de la sección 2.1 se hará a partir del epígrafe 2.3 del texto base. En este caso, es importante retener los distintos componentes, mecanismos y operadores que forman parte de los AE's porque son conceptos que, en los temas siguientes, se utilizarán constantemente. Los dos ejemplos mostrados en el epígrafe 2.4 del texto base son de recomendada lectura puesto que muestran, desde un punto de vista práctico, cómo se resuelve el problema de la codificación de los individuos y el de la elección de los operadores y mecanismos de selección más adecuados en función de las características del problema que se quiere resolver. El estudio del epígrafe 2.5 permite obtener una visión clara de algunas propiedades de comportamiento típicas de los AE's (sección 3). En particular, cómo evolucionan los distintos individuos de la población y cómo evoluciona el mejor individuo obtenido en cada generación, en ambos casos, a medida que transcurre el tiempo de ejecución. Finalmente, el estudio del epígrafe 2.6 del texto base, que engloba la sección 2.4 del temario, permitirá situar el concepto de AE en un contexto más amplio y conocer su relación con otras técnicas globales de optimización.

Tema 3 Algoritmos genéticos

Objetivos:
Este tema describe el tipo de algoritmo evolutivo más ampliamente utilizado: los algoritmos genéticos. Se explican en detalle las principales características de los algoritmos genéticos en lo que se refiere a representación de individuos, inicialización de la población, selección de padres, recombinación, mutación y selección de supervivientes. A modo de ilustración, también se hace referencia a algunas aplicaciones en optimización de funciones reales y planificación.

Orientaciones:
Es importante estudiar en detalle cada una de las secciones contenidas en este tema, ya que tratan cuestiones fundamentales dentro del campo de los algoritmos genéticos, que en muchas ocasiones también resultan de interés para otros tipos de algoritmos evolutivos. Nos referimos principalmente a los métodos relacionados con la selección y variación de individuos, que se estudian por primera vez en este tema y vuelven a ser tratados en los temas 4 a 8 en gran medida y en el resto de temas en menor medida.
Inicialmente, en la sección "Representación de los individuos" se revisan los diferentes tipos de representación de individuos en algoritmos evolutivos. El alumno debe poner especial atención a las representaciones binarias y a las que usan permutaciones, ya que son las más frecuentes en algoritmos genéticos. En la sección "Selección de los padres", el alumno encontrará que aparecen ciertos conceptos básicos relacionados con la teoría de la probabilidad. En las dos secciones siguientes, "Recombinación" y "Mutación", se describen una serie de métodos de diferente complejidad para llevar a cabo el proceso de variación de los individuos de la población. Cada método ofrece una serie de ventajas particulares al ser implementado en un algoritmo genético particular. Finalmente, la sección "Selección de supervivientes" es importante porque está relacionada con el tipo de regeneración de los individuos seguida en la población tras cada ciclo del algoritmo genético. No registra el mismo comportamiento un algoritmo genético en el que todos los individuos son reemplazados en cada generación que aquél en que sólo se reemplaza una pequeña proporción de los individuos de la población.

Tema 4 Estrategias evolutivas

Objetivos:
El objetivo fundamental de este tema es describir las principales características de otra de las variantes pertenecientes a la familia de los AE's, la conocida con el nombre de Estrategias Evolutivas (EE).
Como objetivo adicional, se describirá y ejemplificará el concepto de auto-adaptación de parámetros. Un procedimiento éste íntimamente ligado al esquema de funcionamiento de las EE's y que permite aprender en cada momento del ciclo de ejecución los valores de ciertos parámetros del propio algoritmo.

Orientaciones:
El estudio de este tema se hará básicamente a partir del texto de referencia indicado en la bibliografía básica [Eiben&Smith-03], y de acuerdo a las siguientes indicaciones. En primer lugar es fundamental entender el papel de la operación mutación dentro de este tipo de estrategias. Ya no sólo porque es el operador principal de variación utilizado, sino también porque el mecanismo de mutación (los parámetros que lo definen) se incluye dentro del cromosoma para, junto con la solución, hacerlo evolucionar. En este sentido, el estudio y la comprensión de los epígrafes 4.3. y 4.4 del libro base es clave. Dichos epígrafes abarcarían las secciones 4.1 a 4.3 del temario. En cuanto a los procesos de recombinación y selección (secciones 4.4 a 4.7), decir que si bien adoptan formas diferentes a los utilizados en los algoritmos genéticos, no revisten mucha dificultad ni desde el punto de vista de su comprensión ni desde el de una posible implementación de dichos procedimientos. Estos mecanimos se estudiarán a partir de los epígrafes 4.5, 4.6 y 4.7 del texto base. Finalmente, se recomienda al alumno la lectura de los dos ejemplos descritos en el epígrafe 4.9 del texto base.

Tema 5 Programación evolutiva

Objetivos:
En este tema se explica un nuevo tipo de algoritmo evolutivo: la programación evolutiva. Se analizan sus principales características en relación a 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. El alumno observará que se hace una clara distinción entre programación evolutiva clásica, en la que los individuos se representan mediante máquinas de estados finitos, y la programación evolutiva actual, más cercana a las estrategias evolutivas.

Orientaciones:
El estudio de este tema se puede dividir en dos partes claramente diferenciadas: en primer lugar, la de la programación evolutiva clásica y, en segundo lugar, la de las tendencias actuales en programación evolutiva. Tanto en una parte como en la otra se debe analizar el tipo de representación de individuos utilizado, la forma de realizar la selección de padres, los operadores de variación (recombinación y mutación) empleados y, finalmente, el modo de llevar a cabo la selección de supervivientes.

Tema 6 Programación genética

Objetivos:
El principal objetivo de este tema es describir el fundamento de la programación genética (PG), haciendo hincapié en los distintos mecanismos de reemplazo, operadores de variación y forma de representación utilizados por este tipo de algoritmos.

Orientaciones:
El estudio del presente tema requiere un especial dedicación al epígrafe 6.3 del texto base (sección 6.1 del temario) puesto que analiza la forma de representación utilizada en el paradigma de la PG, y que es totalmente diferente a la utilizada en el resto de variantes de AE's. Los epígrafes 6.4 a 6.6 (ambos inclusive) siguen el esquema general de los tres capítulos anteriores y describen los operadores de variación y mecanismos de selección y de inicialización utilizados, esta vez, en PG. Dichos epígrafes abarcan las secciones 6.2 a 6.6 del temario. Resulta interesante estudiar el denominado efecto "engorde" (sección 6.7 del temario) propio de esta variante, y consecuencia directa de la no limitación a un tamaño fijo de los individuos de la población. Para ello, el alumno deberá estudiar el epígrafe 6.9 del texto base. Finalmente, los epígrafes 6.10 y 6.11 del texto base dan cuenta de ejemplos de aplicación de la PG a tipos de problemas concretos. Se recomienda su lectura.
Para aquel alumno que quiera profundizar en este paradigma es de obligada consulta las cuatro referencias bibliográficas a los libros del padre de la programación genética, John Koza, [1, 2, 3, 4] (véase resumen del contenido del tema 6 de la asignatura), en especial las dos primeras.

Tema 7 Aprendizaje en sistemas clasificadores

Objetivos:
Este tema describe un tipo de algoritmo evolutivo relacionado con los sistemas basados en reglas y el aprendizaje por refuerzo: los sistemas clasificadores. Se diferenciarán dos tipos de enfoques en sistemas clasificadores: el tipo Michigan, que será del que nos ocupemos más ampliamente en este tema, y el tipo Pittsburgh. Se explicarán las características genéricas de los sistemas clasificadores tipo Michigan y algunos ejemplos o variantes de los mismos.

Orientaciones:
En la sección "Introducción" se realizan una serie de consideraciones previas sobre los sistemas clasificadores en general. Nótese la distinción que se realiza en esta sección entre el enfoque tipo Michigan y el enfoque tipo Pittsburgh. En la sección "Sistema clasificador genérico" se describen las características comunes de los sistemas clasificadores tipo Michigan, que son los que se estudian con más detalle en este tema. Las tres secciones siguientes son de especial interés debido a que describen un ejemplo de aplicación de los sistemas clasificadores tipo Michigan, el multiplexor, y dos variantes de los mismos, los sistemas ZCS y XCS. La sección "Extensiones de los sistemas clasificadores" sugiere diferentes formas de ampliar la semántica de las reglas utilizadas en los sistemas clasificadores estándar. Finalmente, en la sección "Enfoque tipo Pittsburgh" se resumen las características del otro enfoque importante existente para el diseño de sistemas clasificadores.

Tema 8 Control de parámetros en algoritmos evolutivos

Objetivos:
El principal objetivo de este tema es comparar las dos grandes aproximaciones utilizadas a la hora de inicializar y controlar los valores de parámetros de un algoritmo evolutivo: la estática y la dinámica.
Asumiendo la aproximación dinámica como la estrategia más competitiva, el segundo objetivo del presente tema es enumerar un conjunto de características en base a las cuales poder establecer una clasificación de las distintas técnicas pertenecientes a esta aproximación.

Orientaciones:
Para abordar el estudio de este tema hay que tener en cuenta que existen dos partes bien diferenciadas. Aquella que desde un punto de vista teórico clasifica las estrategias existentes en la literatura relativas al control de parámetros en AE's (sección 8.2 del temario) y que se corresponde con el estudio del epígrafe 8.4. Y aquella otra (sección 8.3) que, desde una perspectiva práctica, ejemplifica y describe detalladamente algunas de las estrategias pertenecientes a cada una de las clases establecidas en la jerarquía obtenida durante la descripción teórica, y cuyo estudio se realizará a partir de los epígrafes 8.3 y 8.5 del texto base. Finalmente, se recomienda la lectura de los epígrafes 8.1 y 8.6 del libro de texto que marcan el principio inicial y final, respectivamente del tema, sirviendo el primero como cauce para introducir el tema y, el segundo, como discusión final del mismo.

Tema 9 Problemas multimodales y distribución espacial

Objetivos:
El objetivo de este tema es doble:
1.Por un lado, se explican una serie de técnicas para la resolución de problemas multimodales mediante algoritmos evolutivos. Los problemas multimodales se caracterizan por la presencia, además del óptimo global, de varias soluciones que son óptimos locales. En este tipo de problemas se persigue hallar una serie de soluciones de calidad diferentes, que además sean óptimos locales. Por tanto, se hace necesario mantener la diversidad de la población de cara a que no haya una convergencia prematura a uno de los óptimos locales.
2.Por otro lado, se describen los problemas multiobjetivo, en los que también se hace necesario el mantenimiento de la diversidad en la población para poder encontrar una serie de soluciones de calidad a los mismos. En un problema multiobjetivo no hay un único objetivo que determine la calidad de los individuos, sino que hay varios objetivos, en muchas ocasiones contrapuestos entre sí.

Orientaciones:
El estudio de este tema se puede dividir en dos partes bien diferenciadas: por un lado, la de los problemas multimodales y diferentes técnicas para el mantenimiento de la diversidad de la población en los mismos y, por otro lado, la de los problemas multiobjetivo, en los que cobran también importancia los métodos para el mantenimiento de la diversidad descritos en la parte anterior.
Tras definir los problemas multimodales en la primera sección, se dedican sendas secciones a la explicación de métodos implícitos y explícitos para el mantenimiento de la diversidad en una población. Para finalizar el tema se definen los problemas multiobjetivo y los tipos existentes más importantes de algoritmos evolutivos para problemas multiobjetivo.

Tema 10 Hibridación con otras técnicas: algoritmos

Objetivos:
A nivel general, el principal objetivo de este tema es el estudio de aquellas aproximaciones basadas en AE's que o bien son hibridadas con otras técnicas o bien incorporan conocimiento específico del dominio del problema.
A nivel particular, el objetivo es centrarse en dar a conocer las características y estructura de uno de los máximos representantes en aplicar las dos estrategias mencionadas anteriormente, los algoritmos meméticos (AM).

Orientaciones:
A modo de introducción (sección 10.1), se recomienda un estudio detallado de cuáles son las motivaciones que dan lugar a la aparición de los algoritmos meméticos (estudio de epígrafe 10.2 del texto base) y de los distintos mecanismos utilizados para transformar un AE estándar en un AM (epígrafe 10.4 de texto base). Los contenidos de este último epígrafe abarcan las secciones 10.2, 10.4 y 10.5 del temario. En los epígrafes 10.5 y 10.6 del texto base, íntimamente relacionados con la sección 10.6 del temario, el alumno encontrará una breve descripción de diferentes propuestas prácticas existentes en la literatura relacionadas con el mundo de los AM's y a los que el alumno deberá dedicar una atenta lectura. Finalmente, el alumno no familiarizado con las denominadas estrategias de búsqueda local, debería también abordar el estudio del epígrafe 10.3 del texto base, correspondiente a la sección 10.3 del temario.

Tema 11 Teoría

Objetivos:
El objetivo de este tema es describir distintos métodos teóricos para el análisis del comportamiento de un algoritmo evolutivo, principalmente de un algoritmo genético.

Orientaciones:
La primera sección de este tema, denominada ?Teorema del esquema?, está dedicada a la demostración de un teorema al que históricamente se le ha dado gran importancia dentro del campo de la computación evolutiva. El resto de secciones se ocupan de diferentes enfoques para el análisis de algoritmos evolutivos, basados respectivamente en: sistemas dinámicos, cadenas de Markov, mecánica estadística y métodos reduccionistas. Mientras que la sección del teorema del esquema se debe estudiar en profundidad, el resto de secciones son de carácter introductorio.

Tema 12 Manejo de restricciones

Objetivos:
Son varios los objetivos planteados por este tema:
1.Establecer una clasificación de distintos tipos de problemas en los que se manejan restricciones.
2.Describir conceptualmente dos formas genéricas de abordar, mediante algoritmos evolutivos, problemas que manejan restricciones.
3.Mostrar un conjunto de estrategias prácticas que particularizan y ejemplifican las dos formas genéricas citadas anteriormente.

Orientaciones:
El estudio del presente tema se aborda desde dos perspectivas. Desde un punto de vista teórico, el alumno debería estudiar minuciosamente las secciones 12.2 y 12.3 del temario, la primera para aprender a distinguir entre diferentes tipos de problemas que manejan restricciones (estudiar a partir del epígrafe 12.2 del texto base), y la segunda para aprender a formalizar el cómo abordar cada uno de ellos mediante AE´s (estudiar el epígrafe 12.3 del texto base). Finalmente, los epígrafes 12.4 y 12.5 del texto base se corresponden con la sección 12.4 del temario y requerirán de una lectura atenta para conocer, desde un punto de vista práctico, algunas de las estrategias y mecanismos implementados en este contexto. En este sentido, se recomienda revisitar la sección 8.5.2 del texto base, donde ya se adelantaban ejemplos prácticos de cómo abordar el manejo de restricciones.

Tema 13 Formas especiales de evolución

Objetivos:
El objetivo de este tema es describir tres formas especiales de evolución. La primera de ellas se caracteriza por la existencia de varias poblaciones de manera que la evolución de una población influye en la evolución del resto. Dicha influencia puede ser cooperativa o competitiva. En la segunda forma especial de evolución que se describe en el presente tema, el usuario juega un papel fundamental en la selección de los mejores individuos. Dicha selección se lleva a cabo exclusivamente a partir de las preferencias del usuario, que tiene una interacción directa con el sistema. Por último, existen ciertos problemas que se caracterizan por dar lugar a una función de adaptación que varía con el tiempo. Estos problemas requieren técnicas evolutivas especiales para seguir la pista del óptimo global.

Orientaciones:
Existen tres partes bien diferenciadas en el presente tema. En la primera se describe la coevolución, un tipo de evolución en el que diferentes poblaciones evolucionan por separado, aunque existe una importante influencia de cada población sobre el resto. Existen formas de coevolución de naturaleza completamente opuesta: unas se basan en la cooperación entre las distintas poblaciones y otras se basan en la competición entre las mismas.
La segunda parte del tema se dedica a la evolución interactiva, en la que el usuario se integra en el sistema para decidir según sus preferencias qué individuos son los mejor adaptados y cuáles no. Este tipo de evolución encuentra aplicación directa en dominios como el diseño o el arte.
La última parte del tema hace referencia a los dominios dinámicos o no estacionarios. En dichos dominios no se puede definir una función de adaptación que permanezca invariable a lo largo del tiempo. Por tanto, el óptimo global o los óptimos locales irán cambiando su localización en la población y se requerirán técnicas especiales para seguirles la pista.

Tema 14 Trabajando con algoritmos evolutivos

Objetivos:
Los principales objetivos que se abordan en el presente tema son los siguientes:
1.Ilustrar el hecho de que diferentes tipos de problemas (objetivos) implican diferentes formas de diseñar y trabajar con AE's.
2.Enumerar y describir distintos índices para medir las prestaciones de un AE.
3.Describir distintas estrategias para realizar comparaciones experimentales entre distintos AE's (benchmarking).

Orientaciones:
El alumno deberá realizar un estudio detallado de los epígrafes 14.2. 14.3 y 14.4 del texto base. El primero le ayudará a identificar el tipo de prestaciones a medir en un AE en función de los objetivos que demanda el problema a resolver (sección 14.1 del temario). Con el estudio del segundo epígrafe aprenderá un conjunto de índices típicos utilizados para medir cuantitativamente las prestaciones de un AE (sección 14.2 del temario). Y con el estudio del tercer epígrafe indicado, se familiarizará con el uso de varias estrategias para comparar distintos tipo de AE's (sección 14.3 del temario). Finalmente, se recomienda la lectura de los contenidos del epígrafe 14.5 del texto base en el que el alumno encontrará un ejemplo de aplicación relacionado con los asuntos descritos a lo largo del tema.

3  Actividades y plan de trabajo

3.1  Actividades prácticas programadas

  • Búsqueda de información en la web de distintos recursos relacionados con la computación evolutiva
  • Familiarización con entornos para el diseño y ejecución de algoritmos evolutivos
  • Programación de algoritmos evolutivos

3.2  Otras actividades prácticas programadas

  • Lectura de bibliografía complemetaria
  • Lectura de artículos
  • Escritura de un informe técnico sobre una tema concreto
  • Preparación de las diapositivas correspondientes a la presentación oral de un tema

3.3  Plan de trabajo

El estudio de los contenidos teóricos y la realización de actividades se repartirán entre siete periodos que abarcan desde el 15 de Noviembre hasta el 30 de Junio. Durante el último periodo, que coincide con el mes de Junio, se consensuará y revisará el esquema de proyecto que el alumno deberá haber presentado en su versión definitiva el 15 de Septiembre para su evaluación. La secuencia de la planificación temporal es la siguiente:

15 Noviembre a 15 de Diciembre: Temas 1, 2 y 3.
16 de Diciembre a 31 de Enero: Temas 4 y 5,
1-28 de Febrero: Temas 6 y 7.
1-31 de Marzo: Tema 8 y 9.
1-30 de Abril: Tema 10, 11 y 12.
1-31 de Mayo: Tema 13 y 14.
1-30 de Junio: Consenso y revisión del esquema de proyecto fin de curso.
15 de Septiembre: Recepción de la versión final del proyecto para evaluación.

4  Evaluación

El procedimiento de evaluación se llevará a cabo principalmente a partir de la realización por parte del alumno de un trabajo final, aunque también se tendrán en cuenta las actividades realizadas a lo largo del curso. Dicho trabajo consistirá en la elaboración de un informe técnico sobre una parte del temario de la asignatura que sea consensuada entre el alumno y el equipo docente. El informe deberá revisar el estado del arte sobre un apartado concreto del temario de la asignatura y dar sugerencias sobre posibles mejoras que den lugar a futuras líneas de investigación. Dichas mejoras deberían quedar fundamentadas a partir de un estudio teórico o de la aplicación a un problema concreto.
En la evaluación del trabajo final se valorará: la claridad y concisión en la redacción, la adecuada y exhaustiva clasificación de las distintas metodologías pertenecientes al estado del arte del tema estudiado (incluyendo las aparecidas en años más recientes), la crítica fundamentada de dichas metodologías identificando ventajas e inconvenientes y, finalmente, la capacidad innovadora del alumno mediante la sugerencia de un nuevo método o la mejora de otro ya existente.
El alumno redactará un trabajo de entre 45 y 55 páginas (tamaño DIN-A4, a doble espacio y tamaño de letra 11pt.) que contenga al menos los siguientes apartados:
- Título y autor
- Resumen no mayor de 250 palabras del contenido del trabajo
- Introducción al tema tratado en el trabajo
- Trabajo relacionado que detalle el estado del arte sobre el tema elegido
- Crítica donde aparezca un juicio personal del alumno sobre las ventajas e inconvenientes de los métodos descritos en el apartado anterior y sugerencias de posibles mejoras a los mismos
- Resultados donde se expliquen las mejoras sugeridas en el apartado anterior, si es posible apoyadas en un detallado estudio teórico, empírico o mixto
- Líneas futuras de investigación que indiquen cómo se podría continuar la investigación iniciada por parte del alumno y qué resultados de interés son previsibles
- Conclusiones obtenidas
- Referencias bibliográficas mencionadas en el texto del trabajo

Reseña del profesorado

CARMONA SUÁREZ, ENRIQUE JAVIER:
Doctor por la UNED (Departamento de Inteligencia Artificial, año 2003). Desde ese mismo año es profesor titular de escuela universitaria en dicho departamento, en el que imparte docencia en las carreras de Ingeniería Técnica en Informática de Sistemas y de Ingeniería Informática. Sus principales líneas de investigación se centran en el área del aprendizaje automático y en la aplicación de sus distintas técnicas (algoritmos evolutivos, redes neurofuzzy árboles de decisión, etc.) a distintos campos: minería de datos, medicina, visión artificial y video-vigilancia.
e.mail:ecarmona@dia.uned.es
Web personal:http://www.ia.uned.es/personal/ejcarmona

FERNÁNDEZ GALÁN, SEVERINO:
Doctor por la UNED (Departamento de Inteligencia Artificial, año 2003). Desde ese mismo año es profesor titular de escuela universitaria en dicho departamento, en el que imparte docencia en las carreras de Ingeniería Técnica en Informática de Sistemas y de Ingeniería Informática. Sus principales líneas de investigación se centran en la computación evolutiva y las redes bayesianas.
e.mail: seve@dia.uned.es
Web personal: http://www.ia.uned.es/personal/seve

Vista para imprimir