Tesis doctoral de Clemente Rubio Manzano
La programación lógica es un paradigma de programación que tiene como objetivo el empleo de la lógica como lenguaje de programación y hereda de ésta todo su potencial y limitaciones. En particular, la programación lógica se ha utilizado para el desarrollo de aplicaciones que tratan con conocimiento preciso, pero tiene limitaciones a la hora de trabajar con conocimiento vago. Por otra parte, la lógica borrosa se ha consolidado como una potente herramienta matemática para el diseño de aplicaciones software que trabajan con información imprecisa, emulando la forma de razonamiento humano a la hora de crear y manejar un sistema complejo. con el objetivo de facilitar el desarrollo de tales aplicaciones y dar solución a los problemas que la programación lógica tiene a este respecto, ha surgido el interés por diseñar lenguajes declarativos (en particular, lenguajes lógicos) que incluyan características de la lógica borrosa e incorporen entre sus recursos expresivos la posibilidad de tratar la información imprecisa de forma natural. Este intento ha dado lugar a un área de investigación denominada programación lógica borrosa, en la cual se enmarca nuestro trabajo. Dentro de la programación lógica borrosa, fijamos nuestra atención en las propuestas que extienden el algoritmo de unificación, en particular, en propuestas que sustituyen el algoritmo de unificación sintáctico por uno borroso basado en relaciones de similaridad. A esta nuevo tipo de unificación se le denomina unificación débil y al procedimiento de resolución que lo soporta resolución sld débil. en este trabajo diseñamos e implementamos un lenguaje de programación lógica basado en unificación débil que denominamos bousi~prolog. Como parte del diseño proponemos una nueva semántica declarativa para un subconjunto puro del lenguaje, demostrando su corrección. Además, con el objetivo de dar solución a algunas limitaciones de los lenguajes basados en similaridad, introducimos un nuevo modelo de unificación débil basada en relaciones de proximidad, que denominamos unificación basada en proximidad, demostrando la corrección y completitud del mismo. Adicionalmente, diseñamos e implementamos un nuevo y eficiente algoritmo de unificación de conjuntos borrosos, que nos permite incluir de forma natural el tipo de dato variable lingí¼ística en nuestro lenguaje. para que el lenguaje diseñado, pueda ser empleado en contextos reales analizamos la implementación de este lenguaje sobre una arquitectura basada en la máquina abstracta de warren (wam), en concreto, adaptamos la wam para que pueda ejecutar programas bousi~prolog, como resultado obtenemos una wam que permite el manejo de relaciones borrosas y que denominamos por motivos históricos wam basada en similaridad (swam). Para que esta máquina sea utilizable se ha implementado un compilador que transforma programas bousi~prolog en código swam y un entorno de desarrollo que facilita el desarrollo de estos programas. por último mostramos la utilidad del lenguaje diseñado mediante el análisis e implementación de algunos pequeños ejemplos extraídos de diferentes campos de aplicación, como son: bases de datos flexibles, sistemas basados en el conocimiento, recuperación de información y razonamiento aproximado.
Datos académicos de la tesis doctoral «Diseño e implementación de un lenguaje de programacion lógica borrosa con unificacion debil«
- Título de la tesis: Diseño e implementación de un lenguaje de programacion lógica borrosa con unificacion debil
- Autor: Clemente Rubio Manzano
- Universidad: Castilla-la mancha
- Fecha de lectura de la tesis: 08/07/2011
Dirección y tribunal
- Director de la tesis
- Pascual Julian Iranzo
- Tribunal
- Presidente del tribunal: María Alpuente frasnedo
- mario Piattini velthuis (vocal)
- Manuel Ojeda aciego (vocal)
- Rafael Caballero roldan (vocal)