Multi-adjoint logic programming

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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 the use of different implications is allowed in these rules.

Definition: A multi-adjoint logic program is a set P of rules of the form <(Ai 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

[edit | edit source]

Examples of implementations of multi-adjoint logic programming:

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).