Programación declarativa cualificada con restricciones

  1. ROMERO DIAZ, CARLOS ALBERTO
Supervised by:
  1. Rafael Caballero Roldán Director
  2. Mario Rodríguez Artalejo Director

Defence university: Universidad Complutense de Madrid

Fecha de defensa: 07 April 2011

Committee:
  1. Francisco Javier López Fraguas Chair
  2. Elvira Albert Secretary
  3. Fernando Orejas Valdés Committee member
  4. Paqui Lucio Committee member
  5. Ernesto Pimentel Sánchez Committee member

Type: Thesis

Abstract

La incorporación del razonamiento con incertidumbre a la programación declarativa y, en especial, a la programación lógica ha sido objeto de investigación en las últimas décadas. En este periodo, se han aportado diversas propuestas con este propósito así como diferentes aplicaciones prácticas de estas propuestas. Al mismo tiempo, los esquemas CLP y CFLP de la programación lógica con restricciones y la programación lógico-funcional con restricciones, respectivamente, se han convertido en potentes marcos de programación con soporte para computaciones eficientes sobre dominios de restricciones especializados, el primero, y también con funciones perezosas al estilo de las de la programación funcional, el segundo. Sin embargo, han sido escasas las extensiones con incertidumbre que han tomado como punto de partida alguno de los esquemas CLP o CFLP, a pesar de que la potencia de cómputo de los dominios con restricciones sí ha facilitado su implementación práctica. Es por ello, objeto de est a tesis la investigación de extensiones con incertidumbre de los esquemas anteriormente mencionados, y por tanto se desarrollan aquí principalmente dos esquemas paramétricos de programación declarativa con incertidumbre: una extensión con cualificaci ón y proximidad del marco CLP; y una extensión de programas CFLP de primer orden. Para los esquemas de programación aquí desarrollados se aportan dos caracterizaciones equivalentes de la semántica declarativa --- una de punto fijo a partir de un tra nsformador de interpretaciones y otra basada en un cálculo lógico o una lógica de reescritura, según sea el esquema de partida. Se aportan también una noción declarativa de objetivo y solución, y diferentes métodos de resolución de objetivos basados en técnicas de transformación de programas, que conducen a la obtención de programas y objetivos equivalentes para los que pueden computarse respuestas adecuadas. Estas técnicas de transformación permiten además implementar de manera sencilla y natu ral distintas instancias útiles de los esquemas propuestos en un prototipo que está públicamente disponible y que, sobre sistemas CLP actuales, hace posible la ejecución de ejemplos y programas propuestos a lo largo de la tesis y la resolución de obj etivos arbitrarios para dichos programas.