disjunctive clauses. A different approach was taken by Meert et al. **(2009), where an** LPAD is first transformed into its equivalent Bayesian network and then inference is performed on the network using the variable elimination algorithm. Riguzzi (2007)
presents the cplint **system that first finds explanations (sets of atomic choices) for** queries and then computes the probability by means of Binary Decision Diagrams, as proposed in (De Raedt et al. 2007) for the ProbLog language. cplint **was used** in the experiments in Section 6.2 because of its speed (Riguzzi 2009).

## 3.2.2 Causal Models

Determining when an event causes another event is very important **in many domains, take for example science, medicine, pharmacology or economics. Causality** has been widely debated by philosophers and statisticians: often it has been confused with correlation, while they are in fact distinct concepts, since two events may be correlated without one causing the other. Recently, Pearl **(2000) helped to**
clarify the concept of causation by discussing how to represent causal information and how to perform inference from it. He illustrates two types of causal models: causal Bayesian networks and structural equations.

Causal Bayesian networks differ from standard Bayesian networks because the edge from variable X to variable Y means that X is a cause for Y **, while in standard**
Bayesian networks it simply means that there is a statistical dependence.

Pearl (2000) proposed an approach for computing the probability **of effects of**
actions and suggested to use the notation P(y|do(x**)) to indicate the effect of the**
action of setting the variable X to value x on the event of variable Y **taking value**
y. P(y|do(x)) is different from the probability of y given x (P(y|x**)) because we do**
not simply observe X = x **but we intervene on the model by making sure** X = x is true.

The technique proposed in (Pearl 2000) for computing P(y|do(x**)) consists of**
removing the parents of X from a causal Bayesian network, setting X to x and computing P(y**) in the obtained network.**
This approach can be applied to probabilistic logic languages that can be translated to Bayesian networks, such as LPADs. In order to compute the probability of a ground atom Y **of being true given an intervention that consists of making**
a ground atom X true from an LPAD T , we need to remove X **from the head of**
all the clauses that contain it and add X as a fact to T . The probability of Y can then be computed from the resulting LPAD T
′ **by using standard inference, i.e., by**
computing P(Y ).

## 4 Coaxial Matrices In Clp(R)

The coaxial matrices can be simply interpreted as a linear programming model. Amongst the many ways to invoke a linear programming solver, we decided to use CLP(R**); in this way the model is written as a knowledge base in a computational**
logic language, that could be easier to integrate with the probabilistic **approach in**
Section 5.