Here we provide an file that allows to compute extensions of Argumentation frameworks with recursive attacks as defined by Baroni et al. [1]. This is done by a reduction to Dung AFs and then using the encoding of the Dung semantics (see ASPARTIX for Dung AFs).
Argumentation frameworks with recursive attacks (AFRas) extend Dung's argumentation frameworks (AFs) by incorporating to the argument-attack structure also attacks on attacks, and in a recursive fashion also attacks on attacks on attacks. AFRAs are encoded by a sequence of statements that either encode an arguments, an attack between arguments, or an attack on a attack.
For instance consider the following argument graph (the Bob example from [1]).
EAF | Input File |
---|---|
afraA(a).
afraA(n).
afraA(p).
afraA(c).
afraA(g).
afraR(epsilon,a,n).
afraR(delta,n,gamma).
afraR(gamma,p,beta).
afraR(beta,c,g).
afraR(alpha,g,c).
|
The following is an ASP implementation of the reduction from AFRAS to AFs introduced by Baroni et al. in [1]. It can be used for the following semantics: conflict-free, admissible, preferred, stable, complete, grounded, semi-stable and ideal [1, Proposition 12].
You need an ASP-solver (e.g. clingo, dlv), the encoding for the reduction from above, and the encoding for the semantics (see Encodings for Dung AFs) your are interested in.
In order to enumerate all extensions of an AFRA (given in a file input.af) w.r.t. a semantics (encoded in the file semantics.dl) use one of he following commands (depending on your ASP-solver):
DLV:$ DLV input.af afra.dl semantics.dl -filter=inClingo:
$ clingo input.af afra.dl semantics.dl filter.lp 0
The filter.lp file filters out the predicates in(.) which denote the arguments and attacks contained in the extension.
Other reasoning modes work similar as in the case of Dung AFs, just add the afra.dl file for the reduction from AFRAs to AFs.In order to apply the reduction to an AFRA (given in a file input.af) to obtain the corresponding Dung AF use one of he following commands (depending on your ASP-solver):
DLV:$ DLV input.af afra.dl -filter=arg,attClingo:
$ clingo input.af afra.dl filter_af.lp 0
The filter_af.lp file filters out the predicates arg(.),att(.,.) which denote the arguments and attacks of the Dung AF.
[1] |
AFRA: Argumentation framework with recursive attacks. Pietro Baroni, Federico Cerutti, Massimiliano Giacomin, Giovanni Guida Int. J. Approx. Reasoning 52(1): 19-37 (2011) [ doi: 10.1016/j.ijar.2010.05.004] |