Well-founded semantics

In computer science, the well-founded semantics is a semantics for logic programming. It defines how to make conclusions from a set of logical rules. In logic programming, a computer receives a set of facts, and a set of "inference rules" about how these facts relate. The well-founded semantics is one way to define the precise meaning of such logic programs.

History

The well-founded semantics was defined by Van Gelder, et al. in 1991.[1]

Three-valued logic

The well-founded semantics can be viewed as a three-valued version of stable model semantics.[2] Instead of only assigning propositions true or false, it adds a value for representing ignorance.

For example, given:

Specimen A is a moth if specimen A does not fly during daylight.

but whether specimen A flies during the day is unknown, the well-founded semantics would assign the proposition "specimen A is a moth" the value bottom, which is neither true nor false.

Applications

The well-founded semantics is a way of making safe inferences in the presence of contradictory data such as noisy data, or data acquired from experts who promote varying opinions. Many two-valued semantics do not consider such a problem state workable. Well-founded semantics, however, circumvents the contradictions and proceeds to derive as many two-valued facts as possible, even though some consequences may remain unknown.

Complexity

The fastest known algorithm to compute well-founded semantics, is of quadratic time complexity.

References

  1. A. Van Gelder, K.A. Ross and J.S. Schlipf. The Well-Founded Semantics for General Logic Programs. Journal of the ACM 38(3) pp. 620—650, 1991
  2. Przymusinski, Teodor. Well-founded Semantics Coincides with Three-Valued Stable Semantics. Fundamenta Informaticae XIII pp. 445-463, 1990.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.