Well-founded semantics

In computer science, 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. Well-founded semantics is one way to do so.

History

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 for a value 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, well-founded semantics would assign the proposition ``specimen A is a moth`` the value bottom which is neither true nor false.

Applications

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 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.