Estudiar los fundamentos del paradigma de programación por restricciones y aplicar el paradigma en la solución de problemas combinatorios.
Sesión | Tema | Descripción |
---|---|---|
1 | Introducción | Presentación del profesor, objetivos, contenido, metodología y formas de evaluación del curso. Conceptos fundamentales de la programación por restricciones. Aplicaciones de la programación por restricciones. Mozart: Lenguaje para la Propgramación por Restricciones |
2 | Problemas de Satisfacción de Restricciones. | Problemas de Satisfacción de Restricciones en los enteros, reales y booleanos. |
3 | Mozart: Lenguaje para la Programación por Restricciones | Modelo Declarativo. Técnicas declarativas. Concurrencia |
6 | La Programación por Restricciones: Teoría y práctica | Equivalencia de los CSPs. La estructura básica de la programación con restricciones. Algoritmos de propagación de restricciones. Programación por restricciones en Mozart: Ejemplos básicos de propagación y distribución Eliminación de simetrías Restricciones redundadntes. |
10 | Taller práctico | |
11 | Presentación de una Aplicación | Modelo del problema, implementación del modelo, implementación de estrategias de distribución, arquitectura de una apliación CCP. |
12 | Completitud de algunos Solvers de Restricciones | Marcos de pruebas teóricas. Derivaciones. Problemas de unificación. |
13 | Consistencia Local | Nodo consistencia. Arco Consistencia. k-consistencia. |
14 | Incompletitud de algunos Solvers de Restricciones | Igualdad y desigualdad de restricciones. Reglas de transformación. Reglas de reducción de dominios. |
15 | Algoritmos de Propagación de Restricciones | Algoritmos de iteracciones genéricos. Algoritmos para un orden parcial arbitrario. Algoritmos de nodo consistencia. |
16 | Búsqueda. | Árbol de búsqueda. Árbol de etiquetado. Completitud de los árboles de etiquetado. |