Probabilistic Logic Programming with Well-Founded Negation Spyros Hadjichristodoulou Computer Science Department Stony Brook University Email: shadjichrist@cs.stonybrook.edu David S. Warren Computer Science Department Stony Brook University Email: warren@cs.stonybrook.edu Abstract—Knowledge representation and inference in AI have been traditionally divided between logic-based and statistical approaches. During the past decade, the rapidly developing area of Statistical Relational Learning aims to combine the two frameworks for representation and inference. In many cases, these works include probabilistic reasoning within Logic Programming frameworks. These attempts are restricted in the sense that they use only two-valued negation-as-failure semantics. However, well-founded semantics is a widely accepted three- valued-logic negation semantics scheme, which is implemented in certain Logic Programming frameworks. In this paper we in- troduce probabilistic inference under the well-founded semantics scheme in a single Probabilistic Logic Programming framework, where the uncertainty can be described using both statistical information (probabilities) and a third logic value. I. I NTRODUCTION Since the early years of Logic Programming, a great effort has been made to propose proper semantics for computing Negation in logic programs. Among these are Clark’s comple- tion semantics [1], and Stable model semantics [2] which form the basis for both further development of negation semantic approaches and comparisons among them. Another negation semantics widely accepted in the database community is the three-valued Well-Founded Semantics [3], which is used in an increasing number of applications, from intelligent agents, inheritance in object logics, to supply-chain analysis [4]. Another very active branch of logic-programming-related research, has been to incorporate probabilistic inference in var- ious logic programming systems. The most notable proposals for the semantics of such systems have been made mostly during the past decade, and their motivations and influences come not only from the logic programming field, but also from game theory (Independent Choice Logic, [5]) and machine learning (PRISM, [6]). These systems have been used mostly in problems related to knowledge representation, such as mining large biological networks (ProbLog, [7]), modeling dynamic environments with uncertainty and specifying agents (Independent Choice Logic [5]). One notable property of all three approaches is that they handle only 2-valued negation semantics. If an atom is Undefined with a particular probability, then in that percent- age of the cases it will be inconsistent to even consider that choice. The following example further clarifies the motivation This work was supported in part by ONR grant N000140710928 behind our work; it is a modified version of the well-known “Barber” example which Russell used to explain his paradox in Principia Mathematica [8]: Example I.1. A barber has his shop in a small city. There is a probability with which he shaves people living close, in medium distance or far away from his shop, provided that they don’t shave themselves. Let us assume that there is a probability distribution which assigns a lower probability to shave someone who lives further away, than to shave someone who lives closer. The following program models this situation: shaves(barber,Y):- lives_close(Y), ¬ shaves(Y,Y). lives_close(Y):- dist_from_barber(Y,D), succ_with_prob(D). succ_with_prob/1 is the probabilistic predicate; it suc- ceeds with a probability according to whether Y lives close, in medium range, or far from the barber’s shop. For example, if alan lives close to the barber’s shop, then there would be a dist_from_barber(alan,close) fact present in the database, and lives_close(alan) will be True with the probability with which the barber shaves people living close to his shop. The noteworthy question now is “who shaves the barber, and with what probability?”. If there were no probabilities in the program, we would only have a rule saying shaves(barber,Y):- ¬ shaves(Y,Y), the Well-Founded model would assign Undefined to the predicate shaves(barber,barber) and True or False to others depending on whether they did or did not shave them- selves. Adding probabilities and evaluating the query again, will assign some probability to shaves(barber,barber) being Undefined as well. What is meant here is not that the barber shaves himself with some probability, rather that in that particular percentage of the cases, it’s inconsistent to even consider the possibility of the barber shaving himself. We want to design and implement a system which will be able to compute the Well-Founded Semantics of probabilistic logic programs. Our goal is to be able to write and evaluate logic programs similar to the way they are written in PRISM [6], with the semantics given using Well-Founded Negation. In order to accomplish this, we provide a straightforward extension of PRISM semantics to normal logic programs, and 2012 IEEE 42nd International Symposium on Multiple-Valued Logic 0195-623X/12 $26.00 © 2012 IEEE DOI 10.1109/ISMVL.2012.26 232