# Sufficient Reasons

Formally, an **abductive explanation** $t$ for an instance $x$ given a classifier $f$ (that is binary or not) is a subset $t$ of the characteristics of $x$ such that every instance $x’$ sharing this set t of characteristics is classified by $f$ as $x$ is. A **sufficient reason** $t$ for $x$ given $f$ is an abductive explanation for $x$ given $f$ such that no proper subset $t’$ of $t$ is an abductive explanation for $x$ given $f$ (i.e., minimal w.r.t. set inclusion).

Considering the boosted tree of the Building Models page consisting of $4$ features ($A_1$, $A_2$, $A_3$ and $A_4$), we can derive as an example the sufficient reason $t$ = ($A_1 = 4$, $A_4 = 1$) for the instance $x$ = ($A_1=4$, $A_2 = 3$, $A_3 = 1$, $A_4 = 1$). In this figure, this sufficient reason is shown in red:

As you can see on the figure, some leaves of this sufficient reason corresponds to positive or negative predictions. However, all the instances $x’$ extending $t$ can be gathered into four categories, obtained by considering the truth values of the Boolean conditions over the two remaining attributes ($A_2$ and $A_3$) as encountered in the trees of $BT$. This table shows that, in every case, we have $W(F, x’) > 0$, showing that $f(x’) = 1$.

$A_1 = 4$ | $A_2 = 3$ | $A_3 = 1$ | $A_4 = 4$ | $w(T_1,x')$ | $w(T_2,x')$ | $w(T_3,x')$ | $W(F,x)$ |
---|---|---|---|---|---|---|---|

1 | 0 | 0 | 1 | 0.4 | 0.3 | 0.2 | 0.9 |

1 | 0 | 1 | 1 | 0.4 | 0.3 | -0.4 | 0.3 |

1 | 1 | 0 | 1 | -0.3 | 0.5 | 0.3 | 0.5 |

1 | 1 | 1 | 1 | 0.3 | 0.5 | 0.1 | 0.9 |

The algorithms to compute sufficient reasons are still under development and should be available in the next versions of PyXAI.

Calculating the sufficient reasons is a computationally difficult task (deciding whether $t$ is an abductive explanation for $x$ given $BT$ is ${\sf coNP}$-complete. To overcome this problem, we introduce another kind of abductive explanations easier to calculate, the Tree-Specific reasons.