Explaining Change in Quantitative
Bipolar Argumentation
Timotheus Kampik1,2, Kristijonas Čyras3, José Ruiz Alarcón1,3
1:Umeå University; 2: SAP Signavio; 3: Ericsson
Recently Published in IJAR...
...And on Github!
#### Motivation: Explaining Change of Inference
* The broader question is fundamental to non-monotonic reasoning.
* We infer $A$ from our knowledge base $\Sigma$.
* After an update of $\Sigma$ to $\Sigma'$, we infer $B \not \supseteq A$.
* What change in our knowledge base explains our change ouf inference?
Kampik & Čyras. *Explanations of Non-monotonic Inference in Admissibility-Based Abstract Argumentation*. 2021.
#### Focus: Quantitative Bipolar Argumentation Frameworks (QBAFs) I
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2"));
ida-->|-| idc(("c (5): 4"));
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
#### Focus: QBAFs II
* Interval $\mathbb{I}$, typically real interval, e.g. $\mathbb{I} \in [0, 1]$
* A QBAF is a quadruple
$(Args, \tau, Att, Supp)$ consisting of:
* a set of arguments
$Args$,
* an attack relation
$Att \subseteq Args \times Args$, a support relation
$Supp \subseteq Args \times Args$,
* a total function
$\tau : Args \to \mathbb{I}$
that assigns the initial strength $\tau(x)$ to every $x \in Args$.
Potyka. *Extending Modular Semantics for Bipolar Weighted Argumentation*. 2019.
Baroni, Rago, Toni. *From Fine-Grained Properties to Broad Principles for Gradual Argumentation: A Principled Spectrum*. 2019.
#### Focus: QBAFs III
A **gradual semantics** $\sigma$ defines for $Q = (Args, \tau, Att, Supp)$ a (possibly partial) **strength function** $\sigma_{Q} : Args \to \mathbb{I} \cup \{ \perp \}$ that assigns the **final strength** $\sigma_{Q}(x)$ to each $x \in Args$,
where $\perp$ is a reserved symbol meaning `undefined`.
Potyka. *Extending Modular Semantics for Bipolar Weighted Argumentation*. 2019.
Baroni, Rago, Toni. *From Fine-Grained Properties to Broad Principles for Gradual Argumentation: A Principled Spectrum*. 2019.
#### Focus: QBAFs IV
* There is a considerable research interest in QBAFs,
and even some first hints towards applications.
* QBAFs move argumentation closer to the world of subsymbolic AI.
* Here, we are interested in the **relative change in final strengths of two topic arguments**: Why $b$ and no longer $a$?
Rago et al. *Argumentative Explanations for Interactive Recommendations*. 2021.
Potyka. *Interpreting Neural Networks as Quantitative Argumentation Frameworks*. 2021.
#### Explaining Change in QBAFs
* We want to explain change of inference in QBAFs.
* We have two QBAFs, $Q$ and $Q'$ and two arguments that occur in both $Q$ and $Q'$.
* What is *change*? The arguments change rank (w.r.t. their final strengths) in the order established by the final strength function: the arguments are **strength inconsistent** in $Q$ and $Q'$, given a semantics $\sigma$.
#### Strength (In)consistency I
We say that $a$ is strength inconsistent w.r.t. $b$ iff any of the following does not hold:
* If $\sigma_Q(a) > \sigma_Q(b)$ then $\sigma_{Q'}(a) > \sigma_{Q'}(b)$;
* If $\sigma_Q(a) \< \sigma_Q(b)$ then $\sigma_{Q'}(a) \< \sigma_{Q'}(b)$;
* If $\sigma_Q(a) = \sigma_Q(b)$ then $\sigma_{Q'}(a) = \sigma_{Q'}(b)$.
#### Strength (In)consistency II
What about comparability?
* If two arguments are not comparable in $Q$ but comparable in $Q'$ or vice versa, then we have strength inconsistency.
* We stipulate: arguments with undefined final strengths are not comparable.
#### Example: Strength Inconsistency as Change of Inference
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 4")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 0")):::topic;
ide(("e (3): 4"))-->|-|idc;
idd(("d (1): 1"))-->|-|ida
idd-->|+|ide
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1,2,3 stroke-width:3px,stroke-dasharray: 5 5;
#### Explaining Change in QBAFs II
* What are strength inconsistency explanations?
* The arguments:
* that are different between $Q$ and $Q'$ AND
* changes to which are **sufficient** to affect the change of rank
AND (optionally)
* absence of changes to which **counterfactually** mean that the arguments do not change of rank OR
* that collectively meet every sufficient explanation and hence are **necessary** for affecting change of rank.
* We are interested in $\subset$-minimality.
#### Intuition: Sufficient Strength Inconsistency (SSI) Explanations
$\subset$-minimal SSI explanations are
$\\{a\\}$ and $\\{e\\}$.
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 4")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 2"))-->|+| idb(("b (1): 3")):::topic;
ida-->|-| idc(("c (5): 3")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 1")):::topic;
ide(("e (3): 3"))-->|-|idc;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1,2 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 1")):::exp1-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 0")):::topic;
ide(("e (3): 4")):::exp2-->|-|idc;
idd(("d (1): 1"))-->|-|ida
idd-->|+|ide
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 1,2,3 stroke-width:3px,stroke-dasharray: 5 5;
#### Reversal - The Key to Explaining Strength Inconsistency
**Reversal** of $Q'$ to $Q$ w.r.t. $S \subseteq Args \cup Args'$, denoted by $Q_{\leftarrow Q'}(S)$, as a QBAF $(Args^\circ, \tau^\circ, Att^\circ, Supp^\circ)$, where:
* Add S and remove what is in S but not in Args: $Args^\circ = \left( Args' \cup S \right) \setminus (S \setminus Args)$;
* Restore attacks that have originated from S initially and remove the ones that came with the update; clean up 'dangling' attacks: $Att^\circ = (Att'\setminus(S\times Args)) \cup \left(S\times Args^\circ\cap Att \right) \cap (Args^\circ \times Args^\circ)$
* Same for supports: $Supp^\circ = \left(Supp' \setminus(S\times Args)\right) \cup \left(S \times Args^* \cap Supp\right) \cap (Args^\circ \times Args^\circ)$
* Restore the 'initial' initial strengths of arguments in S:
$\tau^\circ: Args^* \rightarrow \mathbb{I}$ and $\forall x \in Args^\circ$ the following statement holds true:
$\tau^\circ(x) = \tau(x), \text{ if } x \in Args \cap S$; $\tau'(x)$, otherwise.
Reversal: Venn
#### Reversal: Example
---
title: Q
---
graph TD
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic
ida-->|-| idc(("c (5): 4")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
---
title: Q'
---
graph TD
ida2(("a (2): 1"))-->|+| idb2(("b (1): 2")):::topic;
ida2-->|-| idc2(("c (5): 0")):::topic;
ide2(("e (3): 4"))-->|-|idc2;
idd2(("d (1): 1"))-->|-|ida2
idd2-->|+|ide2
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 1,2,3 stroke-width:3px,stroke-dasharray: 5 5;
---
title: "Reversal of Q' to Q w.r.t. {a, e}"
---
graph TD
ida1(("a (1): 0"))-->|+| idb1(("b (1): 1")):::topic;
ida1-->|-| idc1(("c (5): 5")):::topic;
idd1(("d (1): 1"))-->|-|ida1
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 1,2 stroke-width:3px,stroke-dasharray: 5 5;
#### Sufficient Strength Inconsistency (SSI) Explanations
$S \subseteq Args' \cup Args$ is an SSI of $a$ and $b$ w.r.t. $\sigma$, $Q$, and $Q'$ iff:
* $a$ is strength consistent w.r.t. $b$ in $Q$, $Q'$ and $S = \emptyset$
* or $a$ is strength inconsistent w.r.t. $b$ in $Q$, $Q'$, as well as w.r.t. $b$ in $Q$, $Q'_{\leftarrow Q(Args \cup Args')\setminus S}$ (when reversing everything but $S$ back).
We are interested in $\subset$-minimal SSI explanations.
#### Once Again: Sufficient Strength Inconsistency (SSI) Explanations
$\subset$-minimal SSI explanations are
$\\{a\\}$ and $\\{e\\}$.
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 4")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 2"))-->|+| idb(("b (1): 3")):::topic;
ida-->|-| idc(("c (5): 3")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 1")):::topic;
ide(("e (3): 3"))-->|-|idc;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1,2 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 1")):::exp1-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 0")):::topic;
ide(("e (3): 4")):::exp2-->|-|idc;
idd(("d (1): 1"))-->|-|ida
idd-->|+|ide
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 1,2,3 stroke-width:3px,stroke-dasharray: 5 5;
#### Counterfactual Strength Inconsistency (CSI) Explanations
$S \subseteq Args' \cup Args$ is a CSI of $a$ and $b$ w.r.t. $\sigma$, $Q$, and $Q'$ iff:
* $S$ is an SSI of $a$ and $b$ w.r.t. $\sigma$, $Q$, and $Q'$
* and $a$ is strength consistent w.r.t. $b$ in $Q$, $Q'_{\leftarrow Q({S})}$ (absent the changes in our explanation).
We are interested in $\subset$-minimal CSI explanations.
#### Example: Counterfactual Strength Inconsistency (CSI) Explanations
The only $\subset$-minimal CSI explanations is
$\\{e\\}$.
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 4")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 1")):::topic;
ide(("e (3): 3"))-->|-|idc;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1,2 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 4")):::topic;
idd(("d (1): 1"))-->|-|ida
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 1,2 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 0")):::topic;
ide(("e (3): 4")):::exp1-->|-|idc;
idd(("d (1): 1"))-->|-|ida
idd-->|+|ide
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 1,2,3 stroke-width:3px,stroke-dasharray: 5 5;
#### $\subset$-minimal Necessary Strength Inconsistency (NSI) Explanations
$S \subseteq Args' \cup Args$ is an NSI of $a$ and $b$ w.r.t. $\sigma$, $Q$, and $Q'$ iff
* $S$ is an SSI of $a$ and $b$ w.r.t. $\sigma$, $Q$, and $Q'$
* $S$ meets every SSI explanation.
Here, the notion of necessity only makes sense in case we enforce $\subset$-minimality.
#### Example: Necessary Strength Inconsistency (NSI) Explanations
The only $\subset$-minimal NSI explanation is
$\\{a, e\\}$.
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 4")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 2"))-->|+| idb(("b (1): 3")):::topic;
ida-->|-| idc(("c (5): 3")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (1): 1"))-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 1")):::topic;
ide(("e (3): 3"))-->|-|idc;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 1,2 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
ida(("a (2): 1")):::exp1-->|+| idb(("b (1): 2")):::topic;
ida-->|-| idc(("c (5): 0")):::topic;
ide(("e (3): 4")):::exp1-->|-|idc;
idd(("d (1): 1"))-->|-|ida
idd-->|+|ide
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 1,2,3 stroke-width:3px,stroke-dasharray: 5 5;
#### Observation 1: $\subset$-min CSI and NSI explanations are not (always) unique.
$\subset$-minimal CSI and NSI explanations are
$\\{c, d\\}$ and $\\{d, e\\}$.
graph TD;
ida(("a (1): 1"))
idb(("b (6): 6")):::topic;
classDef topic font-weight:bold
graph TD;
ida(("a (1): 5")):::topic
idb(("b (6): 2")):::topic
idc(("c (2): 2")):::exp1-->|+|ida
idd(("d (2): 2")):::exp2-->|+|ida
ide(("e (4): 4")):::exp12-->|-|idb
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
classDef exp12 fill:green,stroke:red,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 2 stroke-width:3px,stroke-dasharray: 5 5;
#### Observation 2: We can handle undefined final strengths...
...but it's a bit weird.
We fix this by defining the class of QBAFs we consider for reversals.
graph TD;
ida(("a (1): 1"))-->|-|idd(("d (1): 0"))
idd-->|-|idb(("b (2): 2")):::topic;
idd-->|-|idc(("c (1): 1")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 0,1,2 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
idd(("d (1): ⊥"))-->|-|ida(("a (1): ⊥"))
ida-->|-|idd
idd-->|-|idb(("b (2): ⊥")):::topic;
idd-->|-|idc(("c (1): ⊥")):::topic;
classDef topic font-weight:bold
linkStyle default stroke-width:3px;
linkStyle 0,1,2,3 stroke-width:3px,stroke-dasharray: 5 5;
graph TD;
idd(("d (1): 1")):::exp1-->|-|ida(("a (1): 0"))
idd-->|-|idb(("b (2): 1")):::topic;
idd-->|-|idc(("c (3): 2")):::topic;
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
linkStyle default stroke-width:3px;
linkStyle 0,1,2 stroke-width:3px,stroke-dasharray: 5 5;
#### Basic Analysis (Informal Summary)
Strength inconsistency explanations are sound and complete:
* Without (non-empty) strength inconsistency explanations, no strength inconsistency
* (Non-empty) strength inconsistency explanations imply strength inconsistency
#### Implementation: Scope
* Acyclic QBAFs
* Modular, aggregation-influence semantics that traverse QBAFs starting from unattacked/unsupported nodes
#### Implementation: Analysis
* An NSI explanation is always also an SSI explanation.
* An NSI explanation is a subset of or equal to the union of all $\subset$-minimal SSI explanations.
* For every minimal SSI explanation, an NSI explanation must contain at least one argument of the SSI explanation.
#### Implementation: Sketch
* We make use of the aforementioned properties to reduce our search space.
* We can further exclude arguments that cannot reach the topic arguments in our graph, as well as arguments that have not been changed.
* Finally, we can search through the set of potential explanations by starting with the empty set and then gradually increasing the size of the explanation sets.
Implementation: Search Example
Implementation: Performance
#### Application to Abstract Argumentation
s: skeptical acceptance; c: credulous acceptance; r: rejection; $s \succ c \succ r$; topic arguments: $a$ and $b$.
graph TD;
ida(("a (⊥): s")):::topic-->|-| idb(("b (⊥): r")):::topic
idb-->|-| ida
idc(("c (⊥): s"))-->|-| idb
classDef topic font-weight:bold
classDef topic font-weight:bold
%%{init: {"flowchart": {"defaultRenderer": "dagre-d3", "padding:2"}} }%%
graph RL;
ida(("a (⊥): r")):::topic-->|-| idb(("b (⊥): s")):::topic
idb-->|-| ida
idc(("c (⊥): r"))-->|-| idb
ide(("e (⊥): s")):::exp1-->|-| ida
idd(("d (⊥): s")):::exp2-->|-| idc
idf(("f (⊥): r"))-->|-| idb
idd-->|-| idf
idc-->|-| idf
classDef topic font-weight:bold
classDef exp1 stroke:red,stroke-width:4px
classDef exp2 stroke:green,stroke-width:4px
#### Future Research
* Generate explanations on edge or 'trace' level
* Extend the implementation (and algorithms) to cover cyclic QBAFs
* Applications!
#### Thank you! Questions?
[Paper link](https://www.sciencedirect.com/science/article/pii/S0888613X23001974)
[Code link](https://github.com/TimKam/Quantitative-Bipolar-Argumentation/)