
, Lluis Godo Lacasa (secret.)
, Maria Eugenia Cornejo Piñero (voc.) 
La Programación Lógica nació a partir de los trabajos realizados en demostración automática de teoremas e inteligencia artificial a principios de la segunda mitad del siglo XX, entre los que destacó el trabajo de Robinson, donde introdujo una regla de inferencia que resultó fundamental para el desarrollo de la Programación Lógica, ya que permitió la realización del proceso de automatización en los ordenadores. Fue en 1972 cuando se implementó y estudió formalmente el primer intérprete de la Programación Lógica, llamado ProLog, derivado del francés PROgrammation en LOGique, a partir de los estudios desarrollados por los equipos tanto de Robert Kowalski como de Alain Colmerauer. El uso de la lógica como un lenguaje de programación supuso una idea revolucionaria y, desde entonces, se han presentado diferentes paradigmas de programación lógica. Entre las extensiones de la programación lógica tradicional destaca la Programación Lógica Multiadjunta. Esta extensión, tanto de la Programación Lógica Difusa como de la Programación Lógica Monótona y Residuada, permite considerar una gran variedad de diferentes tipos de conectores lógicos y pares adjuntos en la construcción de las reglas lógicas del programa. Esta no es la única ventaja que presenta el entorno multiadjunto, sino que a los conectores lógicos se les exigen menos propiedades, pudiendo ser, por lo tanto, mucho más flexibles y adaptarse mejor a los datos de partida. Todo ello posibilita un enfoque más realista para modelizar sistemas expertos a partir de reglas lógicas.
La semántica de un programa lógico multiadjunto se caracteriza a partir del operador de consecuencias inmediatas que, en un ambiente difuso, se define como el supremo de los valores aportados por cada una de las reglas. No obstante, el carácter rígido del supremo unido a una, más que probable, mala calidad de los datos que modelan las reglas lógicas del programa, puede provocar que se obtengan valores que no sean fiables en la agregación. Esta enorme sensibilidad del supremo a pequeños errores o variaciones en los datos, además de conllevar una evidente pérdida de información, puede ocasionar consecuencias drásticas en un proceso de toma de decisiones a partir de las conclusiones alcanzadas en sistemas expertos modelados por estas reglas lógicas. En consecuencia, para dar respuesta a esta problemática, el principal objetivo de la presente tesis es introducir una definición alternativa del operador de consecuencias inmediatas basada en operadores formales de agregación, y, posteriormente, estudiar sus propiedades y proponer nuevas semánticas de programación lógica articuladas a partir de este operador. En particular, el operador de consecuencias inmediatas se extenderá a partir de los cuantificadores generalizados y los operadores de promedio ponderado ordenado que introdujo Yager. Esta tesis se ha presentado como compendio de cuatro artículos que se han publicado en distintas revistas, todas ellas en el primer cuartil de su categoría:
Immediate consequences operator on generalized quantifiers (Fuzzy Sets and Systems) [129].
Computational reaching of quantified consequences from imperfect initial data (Mathematical Methods in the Applied Sciences) [122].
Computational technique for obtaining consequences in multi-adjoint logic programming with generalized quantifiers (Applied and Computational Mathematics) [131].
Immediate consequences operator through ordered weighted average operators (Iranian Journal of Fuzzy Systems) [130].
A continuación, se expone el contenido de cada uno de los capítulos de la tesis.
En primer lugar, en el Capítulo 1 se abordarán cuestiones relativas al contexto general de la tesis. A través de una introducción y un análisis pormenorizado de todos los antecedentes que han permitido el desarrollo de la Programación Lógica Multiadjunta (se llevará a cabo el estudio de la lógica clásica, la lógica difusa, la deducción automática, la programación lógica, entre otros aspectos), entorno en el que se desarrolla la tesis, justificaremos la necesidad de extender el operador de consecuencias inmediatas. Asimismo, expondremos las principales investigaciones que se han realizado con respecto a la teoría de los cuantificadores generalizados y los operadores de promedio ponderado ordenado, lo cual permitirá entender las ventajas de estos operadores para flexibilizar el carácter estricto del supremo en la definición del operador de consecuencias inmediatas. Posteriormente, en el Capítulo 2, se realiza un análisis detallado de los resultados alcanzados en cada uno de los artículos publicados. Hemos procedido analizando cada artículo siguiendo un orden lógico que facilita su comprensión y permite un análisis coherente y gradual de los temas tratados.
En Immediate consequences operator on generalized quantifiers [129], nos valemos de la flexibilidad que aportan los cuantificadores generalizados para debilitar el carácter estricto del operador supremo en la definición del operador de consecuencias inmediatas, con el objetivo de reducir el posible ruido presente en los datos. Posteriormente, se estudian propiedades interesantes como la monotonía, y se propone una nueva semántica de punto fijo más versátil.
El trabajo realizado en este artículo se continúa con los dos siguientes. Para poder obtener computacionalmente las consecuencias precisas de un conjunto de datos modelados por reglas lógicas, uno de los requisitos fundamentales que debe cumplir la nueva definición del operador de consecuencias inmediatas es la continuidad, puesto que garantiza que la información y consecuencias derivadas de la base de datos modelada por reglas lógicas puede obtenerse computacionalmente a partir del operador de consecuencias inmediatas cuantificado en un cantidad numerable de iteraciones. En concreto, en Computational reaching of quantified consequences from imperfect initial data [122], se estudian condiciones necesarias y suficientes para asegurar esta continuidad en la nueva versión flexible en la que nos encontramos. Por otro lado, en el artículo Computational technique for obtaining consequences in multi-adjoint logic programming with generalized quantifiers [131] se estudia una semántica operacional para poder implementar un procedimiento de razonamiento automático que permita obtener información y consecuencias de sistemas de conocimientos modelados por reglas lógicas con la posible presencia de imprecisión en los datos. En el artículo Immediate consequences operator through ordered weighted average operators [130], introducimos una nueva generalización del operador de consecuencias inmediatas basada en operadores de promedio ponderado ordenado, con el objetivo de reducir la posible pérdida de información derivada de ambientes con incertidumbre. Además, se propone una nueva semántica de punto fijo adaptada a este entorno más versátil. Finalmente, en el artículo Operational semantics on arbitrary first-order fuzzy logic programming [128], proponemos una nueva semántica operacional adaptable a cualquier extensión del operador de consecuencias inmediatas que sea monótona, para un contexto de programación lógica de primer orden multiadjunta.
Los primeros cuatro artículos se han publicado en revistas científicas de alto impacto, en cuatro revistas recogidas en el Journal Citation Reports, JCR de forma abreviada. Todos ellos se sitúan en el primer cuartil (Q1) de su categoría del JCR. El última artículo se ha enviado a una revista de impacto (Q1) para su publicación. Estos artículos se pueden encontrar en los Capítulos 3, 4, 5, 6, y 7 respectivamente. En los Anexos A, B, C y D se pueden encontrar los capítulos de libro publicados.
Finalmente, en el Capítulo 8, presentamos las conclusiones más relevantes alcanzadas, junto con las líneas de investigación que quedan pendientes como trabajo futuro.
© 2008-2025 Fundación Dialnet · Todos los derechos reservados