# Système d'argumentation

Un système d'argumentation est un moyen pour un agent de gérer des informations conflictuelles et d'en tirer des conséquences. Dans un système d'argumentation abstrait, l'information de base est un ensemble d'arguments abstraits (qui peuvent par exemple représenter une donnée, une proposition), et les conflits entre arguments sont représentés au moyen d'une relation binaire sur l'ensemble d'arguments. Concrètement, on représente un système d'argumentation au moyen d'un graphe orienté tel que les nœuds représentent les arguments et les arcs représentent la relation d'attaque. On appelle ce cadre abstrait « cadre de Dung » ou « systèmes d'argumentation à la Dung », du nom de l'auteur de l'article de référence sur le sujet. Il existe des extensions du cadre de Dung, comme les systèmes d'argumentation à base logique ou les systèmes d'argumentation valués.

## Systèmes d'argumentations abstraits : le cadre de Dung
### Cadre formel

Les systèmes d'argumentation abstraits, aussi appelés systèmes d'argumentation à la Dung, sont définis formellement comme un couple composé de :
* un ensemble d'éléments abstraits appelés arguments, qu'on notera $A$
* une relation binaire sur $A$, appelée relation d'attaque, qu'on notera $R$
Par exemple, le système d'argumentation $S=\langle A,R\rangle$ avec $A=\{a,b,c,d\}$ et $R=\{(a,b),(b,c),(d,c)\}$ est composé de quatre arguments ($a,b,c{\text{ et }}d$) et de trois attaques ($a$ attaque $b$, $b$ attaque $c$ et $d$ attaque $c$).
Dung définit quelques notions :
* un argument $a\in A$ est acceptable selon $E\subseteq A$ si et seulement si $E$ défend $a$, c'est-à-dire $\forall b\in A{\text{ tel que }}(b,a)\in R,\exists c\in E{\text{ tel que }}(c,b)\in R$,
* un ensemble d'arguments $E$ est sans conflit s'il n'existe aucune attaque entre ses arguments, formellement : $\forall a,b\in E,(a,b)\not \in R$,
* un ensemble d'arguments $E$ est admissible si et seulement s'il est sans conflit et tous ses arguments sont acceptables selon $E$.

### Différentes sémantiques d'acceptabilité
#### Extensions

Pour décider si un argument peut être accepté ou non, ou si plusieurs arguments peuvent être acceptés conjointement, Dung définit plusieurs sémantiques d'acceptabilité qui permettent, étant donné un système d'argumentation, de calculer des ensembles d'arguments appelés extensions. Par exemple, étant donné $S=\langle A,R\rangle$,
* $E$ est une extension complète de $S$ si et seulement si c'est un ensemble admissible et chaque argument qui est acceptable pour $E$ appartient à $E$,
* $E$ est une extension préférée de $S$ si et seulement si c'est un élément maximal pour l'inclusion ensembliste parmi les ensembles admissibles selon $S$,
* $E$ est une extension stable de $S$ si et seulement si c'est un ensemble sans conflit qui attaque tous les arguments qu'il ne contient pas (formellement, $\forall a\in A\backslash E,\exists b\in S{\text{ tel que }}(b,a)\in R$,
* $E$ est l'unique extension de base de $S$ si et seulement si c'est le plus petit élément pour l'inclusion ensembliste parmi les extensions complètes de $S$.
Il existe des relations d'inclusion entre les ensembles d'extensions produits par ces sémantiques :
* toute extension stable est une extension préférée,
* toute extension préférée est une extension complète,
* l'extension de base est une extension complète,
* dans le cas où le système est bien fondé (c'est-à-dire il n'existe aucune suite infinie $a_{0},a_{1},\dots ,a_{n},\dots$ telle que $\forall i,(a_{i},a_{i+1})\in R$), toutes ces sémantiques coïncident : il n'y a qu'une seule extension qui est à la fois de base, stable, préférée et complète.
D'autres sémantiques ont été définies par la suite.
On introduit la notation $Ext_{\sigma }(S)$ pour noter l'ensemble des $\sigma$-extensions du système $S$.
Dans le cas du système $S$ représenté à la figure ci-dessus, $Ext_{\sigma }(S)=\{\{a,d\}\}$ pour toutes les sémantiques de Dung : le système est bien fondé, d'où la coïncidence des sémantiques, et les arguments acceptés sont dans ce cas ceux qui ne sont pas attaqués : $a{\text{ et }}d$.

#### Les labellings

Les labellings sont un moyen plus expressif que les extensions pour exprimer l'acceptabilité des arguments. Concrètement, un labelling est une fonction qui associe à tout argument une étiquette in (qui indique que l'argument est accepté), out (qui indique que l'argument est rejeté) ou undec (qui indique que l'argument est indéfini : ni accepté, ni refusé). On peut aussi noter un labelling sous forme d'un ensemble de couples $({\mathit {argument}},{\mathit {{\acute {e}}tiquette}})$.
Une telle fonction n'a pas de sens sans contrainte supplémentaire, d'où la notion de reinstatement labelling. $L$ est un reinstatement labelling sur le système d'argument $S=\langle A,R\rangle$ si et seulement si :
* $\forall a\in A,L(a)={\mathit {in}}{\text{ si et seulement si }}\forall b\in A{\text{ tel que }}(b,a)\in R,L(b)={\mathit {out}}$
* $\forall a\in A,L(a)={\mathit {out}}{\text{ si et seulement si }}\exists b\in A{\text{ tel que }}(b,a)\in R{\text{ et }}L(b)={\mathit {in}}$
* $\forall a\in A,L(a)={\mathit {undec}}{\text{ si et seulement si }}L(a)\neq {\mathit {in}}{\text{ et }}L(a)\neq {\mathit {out}}$
On peut convertir toute extension en reinstatement labelling en étiquetant in les arguments qui sont dans l'extension, out ceux qui sont attaqués par un argument qui est in, et undec les autres. Inversement, on peut construire une extension à partir d'un reinstatement labelling en prenant l'ensemble des arguments in. En effet, Caminada a montré que les reinstatement labellings et les extensions complètes peuvent être associés bijectivement de cette façon. De plus, les autres sémantiques de Dung peuvent être associés à certaines familles de reinstatement labellings.
Les reinstatement labellings permettent de différencier les arguments qui ne sont pas acceptés parce qu'ils sont réfutés par un argument accepté de ceux qui sont indécis, c'est-à-dire ceux qui ne sont pas défendus ou capables de se défendre contre toutes les attaques (un argument est undec s'il est attaqué par au moins un autre undec : s'il n'est attaqué que par des arguments out , il doit être in par définition, et s'il n'est attaqué que par des arguments in, alors il est out).
L'unique reinstatement labelling correspondant au système $S$ représenté ci-dessus est $L=\{(a,{\mathit {in}}),(b,{\mathit {out}}),(c,{\mathit {out}}),(d,{\mathit {in}})\}$.

### Inférence à partir d'un système d'argumentation

Dans le cas général où plusieurs extensions sont calculées pour une certaine sémantique $\sigma$, l'agent qui raisonne à partir du système d'argumentation peut utiliser plusieurs mécanismes d'inférence différents :
* inférence crédule : l'agent accepte un argument s'il appartient à au moins un des $\sigma$-extensions, dans ce cas l'agent risque d'accepter des arguments qui sont incompatibles entre eux ($a$ attaque $b$, et $a$ et $b$ appartiennent chacun à une extension) ;
* inférence sceptique : l'agent accepte un argument s'il appartient à toutes les $\sigma$-extensions, dans ce cas l'agent risque de ne pas déduire beaucoup d'information (si l'intersection des extensions est vide ou de cardinal très petit).
Pour ces deux modes d'inférence, on peut identifier l'ensemble d'arguments acceptés, respectivement $Cr_{\sigma }(S)$ l'ensemble des arguments acceptés crédulement sous la sémantique $\sigma$, et $Sc_{\sigma }(S)$ l'ensemble des arguments acceptés sceptiquement sous la sémantique $\sigma$ (le $\sigma$ peut être omis s'il n'y a pas d'ambiguïté possible sur la sémantique).
Bien entendu, dans le cas où il n'y a qu'une extension (par exemple, si le graphe ne comporte pas de cycle et est donc bien fondé), ce problème ne se pose pas : l'agent accepte les arguments de l'unique extension et rejette les autres.
Le même genre de raisonnement peut être effectué à partir des labellings correspondant à la sémantique choisie : un argument peut être accepté s'il est in pour chaque labelling et refusé s'il est out pour chaque labelling, les autres étant laissés dans un état indéterminé (les statuts des arguments peuvent alors faire penser aux statuts épistémiques d'une croyance dans le cadre de la dynamique des croyances).

### Équivalence entre systèmes d'argumentation

Il existe plusieurs critères d'équivalence entre systèmes d'argumentation. La plupart des critères étudiés portent sur les ensembles d'extensions ou sur les arguments inférés à partir de ces ensembles. Formellement, étant donné une sémantique $\sigma$ :
* ${\mathit {EQ_{1}}}$ : deux systèmes sont équivalents s'ils ont les mêmes $\sigma$-extensions, c'est-à-dire $S_{1}\equiv _{1}S_{2}\Leftrightarrow Ext_{\sigma }(S_{1})=Ext_{\sigma }(S_{2})$ ;
* ${\mathit {EQ_{2}}}$ : deux systèmes sont équivalents s'ils acceptent sceptiquement les mêmes arguments, c'est-à-dire $S_{1}\equiv _{2}S_{2}\Leftrightarrow Sc_{\sigma }(S_{1})=Sc_{\sigma }(S_{2})$ ;
* ${\mathit {EQ_{2}}}$ : deux systèmes sont équivalents s'ils acceptent crédulement les mêmes arguments, c'est-à-dire $S_{1}\equiv _{3}S_{2}\Leftrightarrow Cr_{\sigma }(S_{1})=Cr_{\sigma }(S_{2})$ ;
L'équivalence forte considère comme équivalents deux systèmes $S_{1}{\text{ et }}S_{2}$ si et seulement si pour tout autre système $S_{3}$, l'union de $S_{1}$ avec $S_{3}$ est équivalente (pour un critère donné) à l'union de l'union de $S_{2}$ avec $S_{3}$.
Dans le cas des sémantiques graduelles, on note $Deg:A\rightarrow [0,1]$ la fonction qui associe à tout graphe $G=\langle A,R\rangle$ le degré d'acceptabilité d'un argument noté $Deg_{G}^{S}(x)$ ou $Deg_{G}^{S}(x)$ représente le degré d'acceptabilité de l'argument $x$ dans le graphe $G$ avec la sémantique $S$.
Deux sémantiques graduelles $a$ et $a'$ sont dites équivalentes si et seulement si elles retournent exactement le même classement obtenu par la comparaison du degré d'acceptabilité de chaque argument pour tout graphe $G=\langle A,R\rangle$ ou $A$ désigne un ensemble d'arguments et $R$ désigne une relation binaire sur $A$, la relation d'attaque. Le graphe peut être muni de $\sigma$, une relation de poids sur $A$.

## Instanciations du cadre de Dung

Le cadre abstrait de Dung a été instancié à plusieurs cas particuliers. On présente dans la suite deux de ces instanciations :
* les systèmes d'argumentation à base logique, dans lesquels les arguments sont liés à des formules logiques, et pour lesquels la relation d'attaque est liée à des conflits logiques entre les arguments ;
* les systèmes d'argumentation valués, dans lesquels on associe aux arguments une valeur.

### Systèmes d'argumentation à base logique

Dans le cas des systèmes d'argumentation à base logique, un argument n'est pas une entité abstraite, mais un couple dont la première partie est un ensemble minimal consistant de formules suffisant à prouver la formule qui est donnée en deuxième partie du couple. Formellement, un argument est un couple $(\Phi ,\alpha )$ tel que
* $\Phi \nvdash \bot$ ;
* $\Phi \vdash \alpha$ ;
* $\Phi$ est un ensemble minimal de $\Delta$ satisfaisant les deux premiers points, où $\Delta$ est un ensemble de formules utilisées par l'agent pour raisonner.
On appelle $\Phi$ le support et $\alpha$ la conclusion de l'argument $(\Phi ,\alpha )$.
Dans le cas des systèmes d'argumentation à base logique, la relation d'attaque n'est pas donnée de façon explicite sous la forme d'un sous-ensemble du produit cartésien $A\times A$, mais sous la forme d'une propriété qui indique si un argument en attaque un autre. Par exemple,
* relation defeater : $(\Psi ,\beta )$ attaque $(\Phi ,\alpha )$ si et seulement si $\beta \vdash \neg (\phi _{1}\wedge \dots \wedge \phi _{n})$ pour $\{\phi _{1},\dots ,\phi _{n}\}\subseteq \Phi$ ;
* relation undercut : $(\Psi ,\beta )$ attaque $(\Phi ,\alpha )$ si et seulement si $\beta \equiv \neg (\phi _{1}\wedge \dots \wedge \phi _{n})$ pour $\{\phi _{1},\dots ,\phi _{n}\}\subseteq \Phi$ ;
* relation rebuttal : $(\Psi ,\beta )$ attaque $(\Phi ,\alpha )$ si et seulement si $\beta \Leftrightarrow \neg \alpha$ est une tautologie.
Une fois la relation d'attaque choisie, on peut construire un graphe et raisonner de façon similaire à ce qui se fait pour les systèmes d'argumentation abstraits (utilisation de sémantiques pour construire des extensions, inférence sceptique ou crédule), la différence étant que l'information déduite d'un système d'argumentation à base logique sera cette fois un ensemble de formules : les conclusions des arguments qui sont dans les extensions.

### Systèmes d'argumentation valués

Les systèmes d'argumentation valués sont basés sur l'idée que lors d'un échange d'arguments, certains peuvent être plus « forts » que d'autres selon une certaine valeur qu'ils avancent, et ainsi le succès d'une attaque entre arguments dépend de la différence des forces de ces valeurs.
Formellement, un système d'argumentation valué est un tuple $VAF=\langle A,R,V,val,{\mathit {valprefs}}\rangle$ où $A$ et $R$ sont comme dans le cadre standard un ensemble d'arguments et une relation binaire sur cet ensemble, $V$ est un ensemble non-vide de valeurs, $val$ est une fonction qui associe à chaque élément de $A$ un élément de $V$, et ${\mathit {valprefs}}$ est une relation de préférence (transitive, irréflexive et asymétrique) sur $V\times V$.
Dans ce cadre, un argument $a$ en défait un autre $b$ si et seulement si
* $a$ attaque $b$ dans le sens « standard » : $(a,b)\in R$ ;
* et $(val(b),val(a))\not \in {\mathit {valprefs}}$, c'est-à-dire que la valeur avancée par $b$ n'est pas préférée à celle avancée par $a$.
On remarque qu'une attaque réussit si les deux arguments sont associés à la même valeur, ou s'il n'y a pas de préférence entre leurs valeurs respectives.