Programación Automática, 2013

RICARDO ALER MUR
FERNANDO FERNÁNDEZ REBOLLO
RAQUEL FUENTETAJA PIZAN
DAVID QUINTANA MONTERO
Departamento de Informática
Universidad Carlos III de Madrid
Área:
Ciencia de la Computación e Inteligencia Artificial
Titulación:
Máster en Ciencia y Tecnología Informática
Noviembre, 2013
Imagen cortesía de wikimedia
19.5 horas de teoría.
3 horas de presentación de trabajos de investigación
PRERREQUISITOS Y CONOCIMIENTOS PREVIOS RECOMENDADOS
Aunque no es necesario, es útil haber cursado alguna asignatura relacionadas con aprendizaje automático (minería de datos, redes de neuronas, computación evolutiva, ...).
DESCRIPCIÓN GENERAL DE LA ASIGNATURA
Esta asignatura aborda el tema de la Programación Automática desde una perspectiva de Aprendizaje Automático. La asignatura comienza tratando los primeros intentos dentro de la Inteligencia Artificial de aprender programas en LISP mediante la técnica de Summers. Pero el objetivo de la asignatura es mas amplio y se centra en el aprendizaje inductivo de estructuras que tengan la potencia de un programa de ordenador o de atacar tareas que para su resolución requerirían escribir un programa. Por ejemplo, se trata el aprendizaje de estructuras complejas tales como cláusulas lógicas (mediante Inductive Logic Programming), Autómatas de Estado Finito, o programas representados mediante árboles (mediante Programación Genética) o reglas (mediante Learning Classifier Systems). Todas estas estructuras tienen mas capacidad expresiva que estructuras proposicionales típicas tales como los árboles de decisión o las reglas. Otra característica de los programas de ordenador es que se ejecutan a lo largo del tiempo (a diferencia de, por ejemplo, un árbol de decisión). Así, se tratará del aprendizaje de políticas mediante aprendizaje por refuerzo o de programas representados mediante árboles aprendidos mediante técnicas de estimación de distribuciones. Por último, se consideran tareas donde se induce un programa a partir de observar a un agente resolver dicha tarea. Esta cuestión se engloba dentro del learning by example, behavioral cloning o reutilización probabilística de políticas.
OBJETIVOS: CONOCIMIENTOS Y CAPACIDADES
- Conocer los distintos tipos de programación automática, sus técnicas asociadas y sus dominios de aplicación.
- Conocer como se han aplicado técnicas de la disciplina en distintos dominios reales.
- Capacidad para valorar si es adecuado utilizar técnicas de la disciplina en un problema determinado.
MATERIAL DOCENTE
Se aportan las transparencias usadas en clase, así como enlaces a libros electrónicos y referencias a artículos en cada uno de los temas.
ACTIVIDADES DE EVALUACIÓN O TAREAS PRÁCTICAS
Se trata de una asignatura de un máster de investigación y la evaluación consiste en la realización de un trabajo de investigación. Se aporta un documento donde se realizan propuestas de trabajos, con distintos niveles de dificultad, que los alumnos pueden desarrollar como trabajo de investigación. Además, se proporcionan algunas preguntas de auto-evaluación con respuestas, para algunos temas.
Course Contents
Programación Automática deductiva y síntesis de programas funcionales (método de Summers) , 2013
Learning by example / Learning by demonstration , 2013
Behavioral cloning (aprendizaje por imitación) , 2013
Programación Lógica Inductiva y Aprendizaje Relacional , 2013
Introducción al aprendizaje por refuerzo , 2013
Aprendizaje por Refuerzo , 2013
Reutilización Probabilística de Políticas , 2013
Trabajos de investigación propuestos , 2013
Autoevaluación de Aprendizaje por Refuerzo , 2013