Abstract

Unification is a central concept in logic systems based on the resolution principle. As well, in knowledge representation, proximity relations (i.e., reflexive, symmetric, fuzzy binary relations) are useful for introducing semantics into a syntactic level by modeling the semantic closeness of different syntactic objects and managing vague or imprecise information. Proximity relations, in combination with the unification algorithm, make possible expressing certain forms of approximate reasoning in a logic programming framework. In this article, we use proximity relations in the context of a (fuzzy) logic programming system, called Bousi ~ Prolog, as a way of solving the limitations introduced by similarity relations (i.e., transitive proximity relations) to correctly represent fuzzy information. Recently, we introduced an accurate definition of proximity between expressions (terms or atomic formulas) and a new unification algorithm able to manage proximity relations properly. However, the so-called weak unification algorithm, which is an extension of Martelli and Montanari's unification algorithm supported by the new notion of proximity, does not have an efficient implementation. In this article, we present a method that facilitates such an efficient implementation, including an adaptation of the weak SLD resolution rule based on the new unification algorithm, and its integration and implementation into the fuzzy logic programming system Bousi ~ Prolog. A performance analysis to show its efficiency is also presented.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call