00_PASP_credal.md 3.35 KB

Probabilistic Answer Set Programming

Non-stratified programs

Minimal example of non-stratified program.

The following annotated LP, with clauses $c_1, c_2, c_3$ respectively, is non-stratified (because has a cycle with negated arcs) but no head is disjunctive:

0.3::a.                 % c1
s :- not w, not a.      % c2
w :- not s.             % c3

This program has three stable models: $$ \begin{aligned} m_1 &= \set{ a, w } \cr m_2 &= \set{ \neg a, s } \cr m_3 &= \set{ \neg a, w } \end{aligned} $$

The probabilistic clause 0.3::a. defines a total choice $$ \Theta = \set{ \theta_1 = \set{ a }, \theta_2 = \set{ \neg a } } $$ such that $$ \begin{aligned} P(\Theta = \set{ a }) &= 0.3\cr P(\Theta = \set{ \neg a }) &= 0.7 \cr \end{aligned} $$

While it is natural to extend $P( m_1 ) = 0.3$ from $P(\theta_1) = 0.3$ there is no clear way to assign $P(m_2), P(m_3)$ since both models result from the total choice $\theta_2$.

Under the CWA, $\sim!!q \models \neg q$, so $c_2, c_3$ induce probabilities:

$$ \begin{aligned} p_a &= P(a | \Theta) \cr p_s &= P(s | \Theta) &= (1 - p_w)(1 - p_a) \cr p_w &= P(w | \Theta) &= (1 - p_w) \end{aligned} $$ from which results $$ \begin{equation} p_s = p_s(1 - p_a). \end{equation} $$

So, if $\Theta = \theta_1 = \set{ a }$ (one stable model):

  • We have $p_a = P(a | \Theta = \set{ a }) = 1$.
  • Equation (1) becomes $p_s = 0$.
  • From $p_w = 1 - p_s$ we get $P(w | \Theta) = 1$.

and if $\Theta = \theta_2 = \set{ \neg a }$ (two stable models):

  • We have $p_a = P(a | \Theta = \set{ \neg a }) = 0$.
  • Equation (1) becomes $p_s = p_s$; Since we know nothing about $p_s$, we let $p_s = \alpha \in \left[0, 1\right]$.
  • We still have the relation $p_w = 1 - p_s$ so $p_w = 1 - \alpha$.

We can now define the marginals for $s, w$: $$ \begin{aligned} P(s) &=\sum_\theta P(s|\theta)P(\theta)= 0.7\alpha \cr P(w) &=\sum_\theta P(s|\theta)P(\theta)= 0.3 + 0.7(1 - \alpha) \cr \alpha &\in\left[ 0, 1 \right] \end{aligned} $$

The parameter $\alpha$ not only expresses insufficient information to sharply define $p_s$ but also relates $p_s$ and $p_w$.

Disjunctive heads

Minimal example of disjunctive heads program.

Consider this LP

0.3::a.
b ; c :- a.

with three stable models: $$ \begin{aligned} m_1 &= \set{ \neg a } \cr m_2 &= \set{ a, b } \cr m_3 &= \set{ a, c } \end{aligned} $$

Again, $P(m_1) = 0.3$ is quite natural but there are no clear assignments for $P(m_2), P(m_3)$.

The total choices here are $$ \Theta = \set{ \theta_1 = \set{ a } \theta_2 = \set{ \neg a } } $$ such that $$ \begin{aligned} P(\Theta = \set{ a }) &= 0.3\cr P(\Theta = \set{ \neg a }) &= 0.7 \cr \end{aligned} $$ and the LP induces $$ P(b \vee c | \Theta) = P(a | \Theta). $$

Since the disjunctive expands as $$ \begin{equation} P(b \vee c | \Theta) = P(b | \Theta) + P( c | \Theta) - P(b \wedge c | \Theta) \end{equation} $$ and we know that $P(b \vee c | \Theta) = P(a | \Theta)$ we need two independent parameters, for example $$ \begin{aligned} P(b | \Theta) &= \beta \cr P(c | \Theta) &= \gamma \cr \end{aligned} $$ where $$ \begin{aligned} \alpha & \in \left[0, 0.3\right] \cr \beta & \in \left[0, \alpha\right] \end{aligned} $$

This example also calls for reconsidering the CWA since it entails that we should assume that $b$ and $c$ are conditionally independent given $a$.