Well-founded semantics

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

In logic programming, the well-founded semantics is one definition of how we can make conclusions from a set of logical rules. In logic programming, we give a computer a set of facts, and a set of "inference rules" about how these facts relate. There are several different ways that we might want the computer to apply these rules; the well-founded semantics is one of these ways.

History[edit]

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

Relations to other models[edit]

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

For example, if we know that

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

but we do not know whether or not specimen A flies during the day, the well-founded semantics would assign the proposition ``specimen A is a moth`` the value bottom which is neither true nor false.

Applications[edit]

The well-founded semantics is also a way of making safe inferences in the presence of contradictory data such as noisy data, or data acquired from different experts who may posit differing opinions. Many two-valued semantics simply won't consider such a problem state workable. The well-founded semantics, however, has a built-in mechanism to circumvent the presence of the contradictions and proceeds in the best way that it can.

Complexity and algorithms[edit]

The fastest known algorithm to compute the WF-Semantics in general, is of quadratic complexity.

References[edit]

  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.