Programación declarativa cualificada con restricciones

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 est...

Descripción completa

Detalles Bibliográficos
Autor: Romero Díaz, Carlos Alberto
Tipo de recurso: tesis doctoral
Fecha de publicación:2011
País:España
Institución:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:español
OAI Identifier:oai:docta.ucm.es:20.500.14352/47791
Acceso en línea:https://hdl.handle.net/20.500.14352/47791
Access Level:acceso abierto
Palabra clave:004.42.048(043.2)
Dominios de cualificación
Incertidumbre
Programación declarativa
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
Descripción
Sumario: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 de restricciones sí ha facilitado su implementación práctica. Es por ello objeto de esta 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 con cualificació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 transformador 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 natural 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 objetivos arbitrarios para dichos programas.