Multi-adjoint logic programming
Multi-adjoint logic programming[1] defines syntax and semantics of a logic programming program in such a way that the underlying maths justifying the results are a residuated lattice and/or MV-algebra.
The definition of a multi-adjoint logic program is given, as usual in fuzzy logic programming, as a set of weighted rules and facts of a given formal language F. Notice that we are allowed to use different implications in our rules.
Definition: A multi-adjoint logic program is a set P of rules of the form <(A ←i B), δ> such that:
1. The rule (A ←i B) is a formula of F;
2. The confidence factor δ is an element (a truth-value) of L;
3. The head A is an atom;
4. The body B is a formula built from atoms B1, …, Bn (n ≥ 0) by the use of conjunctors, disjunctors, and aggregators.
5. Facts are rules with body ┬.
6. A query (or goal) is an atom intended as a question ?A prompting the system.
Implementations
Implementations of Multi-adjoint logic programming: Rfuzzy,[2] Floper,[3] and more we do not remember now.
- Medina, Jesús; Ojeda-Aciego, Manuel; Vojtaš, Peter (2001). Multi-adjoint Logic Programming with Continuous Semantics. Logic Programming and Nonmotonic Reasoning. Lecture Notes in Computer Science. 2173. pp. 351–364. doi:10.1007/3-540-45402-0_26. ISBN 978-3-540-42593-9.
- "Rfuzzy". Archived from the original on 2012-02-28. Retrieved 2012-01-21.
- "Floper".