Argumentation framework

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

An argumentation framework, or argumentation system, is a way to deal with contentious information and draw conclusions from it.

In an abstract argumentation framework,[1] entry-level information is a set of abstract arguments that, for instance, represent data or a proposition. Conflicts between arguments are represented by a binary relation on the set of arguments. In concrete terms, you represent an argumentation framework with a directed graph such that the nodes are the arguments, and the arrows represent the attack relation. There exist some extensions of the Dung's framework, like the logic-based argumentation frameworks[2] or the value-based argumentation frameworks.[3]

Abstract argumentation frameworks

Formal framework

Abstract argumentation frameworks, also called argumentation frameworks à la Dung, are defined formally as a pair:

  • A set of abstract elements called arguments, denoted A
  • A binary relation on A, called attack relation, denoted R
File:Argumentation Framework.png
The graph built from the system S.

For instance, the argumentation system S = \langle A, R \rangle with A = \{ a, b, c, d\} and R = \{(a,b), (b,c), (d,c) \} contains four arguments (a, b, c and d) and three attacks (a attacks b, b attacks c and d attacks c).

Dung defines some notions :

  • an argument a \in A is acceptable with respect to E \subseteq A if and only if E defends a, that is \forall b \in A such that (b,a) \in R, \exists c \in E such that (c,b) \in R,
  • a set of arguments E is conflict-free if there is no attack between its arguments, formally : \forall a, b \in E, (a,b) \not\in R,
  • a set of arguments E is admissible if and only if it is conflict-free and all its arguments are acceptables with respect to E.

Different semantics of acceptance

Extensions

To decide if an argument can be accepted or not, or if several arguments can be accepted together, Dung defines several semantics of acceptance that allow, given an argumentation system, to compute sets of arguments, called extensions. For instance, given S = \langle A, R\rangle,

  • E is a complete extension of S only if it is an admissible set and every acceptable argument with respect to E belongs to E,
  • E is a preferred extension of S only if it is a maximal element (with respect to the set-theoretical inclusion) among the admissible sets with respect to S,
  • E is a stable extension of S only if it is a conflict-free set that attacks every argument that does not belong in E (formally, \forall a \in A \backslash E, \exists b \in S such that (b,a) \in R,
  • E is the (unique) grounded extension of S only if it is the smallest element (with respect to set inclusion) among the complete extensions of S.

There exists some inclusions between the sets of extensions built with these semantics :

  • Every stable extension is preferred,
  • Every preferred extension is complete,
  • The grounded extension is complete,
  • If the system is well founded (there exists no infinite sequence a_0,a_1,\dots,a_n,\dots such that \forall i, (a_i,a_{i+1}) \in R), all these semantics coincide—only one extension is grounded, stable, preferred, and complete.

Some other semantics have been defined.[4]

One introduce the notation Ext_\sigma(S) to note the set of \sigma-extensions of the system S.

In the case of the system S in the figure above, Ext_\sigma(S) = \{\{a,d\}\} for every Dung's semantic—the system is well-founded. That explains why the semantics coincide, and the accepted arguments are: a and d.

Labellings

Labellings are a more expressive way than extensions to express the acceptance of the arguments. Concretely, a labelling is a mapping that associates every argument with a label in (the argument is accepted), out (the argument is rejected), or undec (the argument is undefined—not accepted or refused). One can also note a labelling as a set of pairs (\mathit{argument}, \mathit{label}).

Such a mapping does not make sense without additional constraint. The notion of reinstatement labelling guarantees the sense of the mapping. L is a reinstatement labelling on the system S = \langle A, R \rangle if and only if :

  • \forall a \in A, L(a) = \mathit{in} if and only if \forall b \in A such that (b,a) \in R, L(b) = \mathit{out}
  • \forall a \in A, L(a) = \mathit{out} if and only if \exists b \in A such that (b,a) \in R and L(b) = \mathit{in}
  • \forall a \in A, L(a) = \mathit{undec} if and only if L(a) \neq \mathit{in} and L(a) \neq \mathit{out}

One can convert every extension into a reinstatement labelling: the arguments of the extension are in, those attacked by an argument of the extension are out, and the others are undec. Conversely, one can build an extension from a reinstatement labelling just by keeping the arguments in. Indeed, Caminada[5] proved that the reinstatement labellings and the complete extensions can be mapped in a bijective way. Moreover, the other Datung's semantics can be associated to some particular sets of reinstatement labellings.

Reinstatement labellings distinguish arguments not accepted because they are attacked by accepted arguments from undefined arguments—that is, those that are not defended cannot defend themselves. An argument is undec if it is attacked by at least another undec. If it is attacked only by arguments out, it must be in, and if it is attacked only by arguments in, then it is out.

The unique reinstatement labelling that corresponds to the system S above is L = \{(a,\mathit{in}),(b,\mathit{out}),(c,\mathit{out}),(d,\mathit{in})\}.

Inference from an argumentation system

In the general case when several extensions are computed for a given semantic \sigma, the agent that reasons from the system can use several mechanism to infer information:[6]

  • Credulous inference: the agent accepts an argument if it belongs to at least one of the \sigma-extensions—in which case, the agent risks accepting some arguments that are not acceptable together (a attacks b, and a and b each belongs to an extension)
  • Skeptical inference: the agent accepts an argument only if it belongs to every \sigma-extension. In this case, the agent risks deducing too little information (if the intersection of the extensions is empty or has a very small cardinal).

For these two methods to infer information, one can identify the set of accepted arguments, respectively Cr_\sigma(S) the set of the arguments credulously accepted under the semantic \sigma, and Sc_\sigma(S) the set of arguments accepted skeptically under the semantic \sigma (the \sigma can be missed if there is no possible ambiguity about the semantic).

Of course, when there is only one extension (for instance, when the system is well-founded), this problem is very simple: the agent accepts arguments of the unique extension and rejects others.

The same reasoning can be done with labellings that correspond to the chosen semantic : an argument can be accepted if it is in for each labelling and refused if it is out for each labelling, the others being in an undecided state (the status of the arguments can remind the epistemic states of a belief in the AGM framework for dynamic of beliefs[7]).

Equivalence between argumentation frameworks

There exists several criterions of equivalence between argumentation frameworks. Most of those criterions concern the sets of extensions or the set of accepted arguments. Formally, given a semantic \sigma :

  • \mathit{EQ_1} : two argumentation frameworks are equivalent if they have the same set of \sigma-extensions, that is S_1 \equiv_1 S_2 \Leftrightarrow Ext_\sigma(S_1) = Ext_\sigma(S_2) ;
  • \mathit{EQ_2} : two argumentation frameworks are equivalent if they accept skeptically the same arguments, that is S_1 \equiv_2 S_2 \Leftrightarrow Sc_\sigma(S_1) = Sc_\sigma(S_2) ;
  • \mathit{EQ_2} : two argumentation frameworks are equivalent if they accept credulously the same arguments, that is S_1 \equiv_3 S_2 \Leftrightarrow Cr_\sigma(S_1) = Cr_\sigma(S_2).

The strong equivalence[8] says that two systems S_1 and S_2 are equivalent if and only if for all other system S_3, the union of S_1 with S_3 is equivalent (for a given criterion) with the union of S_2 and S_3.[9]

Other kind of argumentation frameworks

The abstract framework of Dung has been instantiated to several particular cases.

Logic-based argumentation frameworks

In the case of logic-based argumentation frameworks, an argument is not an abstract entity, but a pair, where the first part is a minimal consistent set of formulae enough to prove the formula for the second part of the argument. Formally, an argument is a pair (\Phi,\alpha) such that

  • Failed to parse (Missing <code>texvc</code> executable. Please see math/README to configure.): \Phi \nvdash \bot
  • \Phi \vdash \alpha
  • \Phi is a minimal set of \Delta satisfying \alpha where \Delta is a set of formulae used by the agent to reason.

One calls \alpha a consequence of \Phi, and \Phi a support of \alpha.

In this case, the attack relation is not given in an explicit way, as a subset of the Cartesian product A \times A, but as a property that indicates if an argument attacks another. For instance,

  • Relation defeater : (\Psi,\beta) attacks (\Phi,\alpha) if and only if \beta \vdash \neg (\phi_1 \wedge \dots \wedge \phi_n) for \{\phi_1,\dots,\phi_n\} \subseteq \Phi
  • Relation undercut : (\Psi,\beta) attacks (\Phi,\alpha) if and only if \beta =\neg (\phi_1 \wedge \dots \wedge \phi_n) for \{\phi_1,\dots,\phi_n\} \subseteq \Phi
  • Relation rebuttal : (\Psi,\beta) attacks (\Phi,\alpha) if and only if \beta \Leftrightarrow \neg \alpha is a tautology

Given a particular attack relation, one can build a graph and reason in a similar way to the abstract argumentation frameworks (use of semantics to build extension, skeptical or credulous inference), the difference is that the information inferred from a logic based argumentation framework is a set of formulae (the consequences of the accepted arguments).

Value-based argumentation frameworks

The value-based argumentation frameworks come from the idea that during an exchange of arguments, some can be stronger than others with respect to a certain value they advance, and so the success of an attack between arguments depends of the difference of these values.

Formally, a value-based argumentation framework is a tuple VAF = \langle A, R, V, val, valprefs \rangle with A and R similar to the standard framework (a set of arguments and a binary relation on this set), V is a non empty set of values, val is a mapping that associates each element from A to an element from V, and valprefs is a preference relation (transitive, irreflexive and asymmetric) on V \times V.

In this framework, an argument a defeats another argument b if and only if

  • a attacks b in the "standard" meaning: (a,b) \in R ;
  • and (val(b),val(a)) \not\in valprefs, that is the value advanced by b is not preferred to the one advanced by a.

One remarks that an attack succeeds if both arguments are associated to the same value, or if there is no preference between their respective values.

See also

Notes

  1. See Dung (1995)
  2. See Besnard and Hunter (2001)
  3. see Bench-Capon (2002)
  4. For instance,
    • Ideal : see Dung, Mancarella and Toni (2006)
    • Eager : see Caminada (2007)
  5. see Caminada (2006)
  6. see Touretzky et al.
  7. see Gärdenfors (1988)
  8. see Oikarinen and Woltran (2001)
  9. the union of two systems represents here the system built from the union of the sets of arguments and the union of the attack relations

References

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.