Skip to Content

TU Wien Fakultät für Informatik DBAI Database and Artificial Intelligence Group
Top-level Navigation:

Path: DBAI > research > Argumentation > ASPARTIX > Dung AFs

Tools: Drucken


ASPARTIX for Dung AFs


On this page we provide ASP encodings for serveral semantics and reasoning tasks in Dung AFs and explain how they can be used with a standard ASP-solver. We also provide a ready-to-use docker container implementing the ICCMA interface (see ICCMA Interface Version).



Contents


What you need

ASP-solver: For the execution of the programs one needs a (disjunctive) ASP solver like Clingo (see Potassco) or DLV (see DLVSYSTEM). Please note that the performance of the encodings highly depends on the ASP engine. In our experience, the Potassco systems (Clingo or gringo/Clasp(D)) showed the best performance.

Input Format

The input file (for example input.af) should contain the arguments and attacks of the argumentation framework one wants to evaluate. For example the fact arg(a). encodes the argument a, and att(a,b). stands for the attack from a to b. That is, AFs are encoded by a sequence of statements where each statement either encode an argument or an attack of the AF

arg(a). ... a is an argument att(a,b). ... a attacks b

For instance, consider the following argument graphs:

AF Input File
arg(a). arg(b). arg(c). att(a,b). att(b,a). att(c,b).
arg(a). arg(b). arg(c). arg(d). arg(e). arg(f). att(a,b). att(b,a). att(a,c). att(b,c). att(c,d). att(d,f). att(e,d). att(e,f). att(f,e).

Usage with DLV.

Enumerate Extensions.

In order to enumerate all extensions of an AF (given in a file input.af) w.r.t. a semantics (encoded in the file semantics.dl) use the following command:
 $ DLV input.af semantics.dl -filter=in

The -filter option filters out the predicates in(.) which denote the arguments contained in the extension.

To just enumerate a fixed number of extensions, say 6, use the following command
 $ dlv input.af semantics.dl -filter=in -n=6

Credulous Reasoning.

Testing an argument a for credulous acceptance:
$ dlv  input.af semantics.dl -filter=in -brave <(echo "in(a)?")
With the --witness option one gets an extension that witnesses the credulous acceptance of argument a
$ dlv input.af semantics.dl -filter=in -brave --witness <(echo "in(a)?")
Computing all credulously accepted arguments:
$ dlv input.af semantics.dl -filter=in -brave <(echo "in(X)?")

Skeptical Reasoning.

Testing an argument a for skeptical acceptance:
$ dlv  input.af semantics.dl -filter=in --cautious <(echo "in(a)?")
With the --witness option one gets an extension that witnesses against the skeptical acceptance of argument a
$ dlv input.af semantics.dl -filter=in --cautious --witness <(echo "in(a)?")
Computing all skeptically accepted arguments:
$ dlv input.af semantics.dl -filter=in --cautious <(echo "in(X)?")

Usage with Clingo.

Enumerate Extensions.

In order to enumerate all extensions of an AF (given in a file input.af) w.r.t. a semantics (encoded in the file semantics.lp) use the following command:
$ clingo  input.af semantics.dl filter.lp 0

The filter.lp file filters out the predicates in(.) which denote the arguments contained in the extension.

To just enumerate a fixed number of extensions, say 6, use the following command
$ clingo input.af semantics.dl filter.lp 6

Credulous Reasoning.

Computing all credulously accepted arguments:
$ clingo  input.af semantics.dl filter.lp -e brave

Skeptical Reasoning.

Computing all skeptically accepted arguments:
$ clingo  input.af semantics.dl filter.lp -e cautious

Fundamental Encodings of Argumentation Semantics.

Most of the encodings can be used for both systems (dlv, clingo), but for some of them an adjustment, due to some differences in the syntax, is necessary. Those encodings are specially marked. In the following we provide the encodings for all semantics:

DLV only Encodings

* Notice that the Encoding for ideal semantics needs to be executed in the following way:

$ dlv ideal.dl input.af -filter=ideal -n=1

Clingo only Encodings

Advanced Encodings of Argumentation Semantics.

Here we provide encodings based on more advances ASP techniques and provide substantial performance improvements.

Metasp Encodings

Notice that this approach is somehow outdated and provided for historical reasons mainly.

For the following encodings require Gringo/ClaspD and the metasp optimization front-end is necessary which can be downloaded here: metasp.

The call for executing, for example, the pref_metasp.dl encodings together with an input.af is as follows.

        $ gringo --reify pref_metasp.dl input.af | \
                gringo - {meta.lp,metaO.lp,metaD.lp}\ 
                <(echo "optimize(1,1,incl).") | claspD 0
        

For more details see Wolfgang Dvořák, Sarah Alice Gaggl, Johannes Wallner and Stefan Woltran. Making Use of Advances in Answer-Set Programming for Abstract Argumentation Systems. INAP 2011 [arXiv:1108.4942, LNCS]

Encodings for clingo using conditional disjunction

The following encodings require clingo and make use of the conditional literal in disjunctive heads. Experiments show that they outperform the Fundamental Encodings of the same semantics. Notice that the encodings are tested with clingo version 4.4.0 and there seem to be some issues when using clingo versions 5.x.

For more details see Sarah Alice Gaggl, Norbert Manthey, Alessandro Ronca, Johannes Peter Wallner, Stefan Woltran. Improved answer-set programming encodings for abstract argumentation. TPLP 15(4-5): 434-448 (2015) [paper]

Domain heuristics

Clingo provides an option to add user-specific domain heuristics to the ASP program which in particular allow to select the answer-sets that are subset-maximal/minimal w.r.t. a specified predicate. We use such heuristics for preferred semantics by using an encoding for complete semantics and then identifying the subset-maximal answer-sets w.r.t. the in(ยท) predicate. Moreover, we use domain heuristics for semi-stable and stage semantics. Here we start from an encoding for complete extensions, conflict-free sets respectively, and use domain heuristics to compute the subset-maximal ranges a complete extension, a conflict-free set respectively, can have. The answer-sets corresponding to these ranges are then exploited for computing some semi-stable (SE-SST) or stage extension (SE-STG). However, the domain heuristics only return one witnessing answer-set for each maximal range and thus this technique is not directly applicable to the corresponding enumeration and counting tasks (we would miss certain extensions if several extensions have the same range). For those problems one can combine Domain heuristics with Multi-shot approaches

Multi-shot approaches

Starting with ICCMA'19 we also exploit methods that use several calls to the asp solver in order to solve certain reasoning tasks (with complexity beyond NP/coNP). The corresponding encodings and the corresponding bash scripts are provided as archives:

For more information see Wolfgang Dvořák, Anna Rapberger, Johannes Peter Wallner, Stefan Woltran: ASPARTIX-V19 - An Answer-Set Programming Based System for Abstract Argumentation. FoIKS 2020: 79-89

ICCMA Interface Versions


Here we provide ASPARTIX-V, an ICCMA style interface to ASPARTIX encodings. That is, we provide an archive containing the asp-encodings, shell scripts and copies of the clingo asp solver. Moreover, we also provide links to older versions that participated in previous editions of ICCMA.

This interface is made for Unix systems and uses the following standard tools: bash, cat, grep, sed, python (for certain reasoning tasks). In order to install this system make sure these tools work properly on your system and unpack this archive at an appropriate place in your system.

Known issues:

Interface

We implement the ICCMA interface (pdf) with some additional semantics. ASPARTIX-V can be started via the "aspartix-V-interface.sh" script. A generic call to the solver is of the following form

bash aspartix-V-interface.sh -p TASK -fo apx -f INSTANCE -a ARG
or alternatively (if file permissions of aspartix-V-interface.sh are set to executable)
./aspartix-V-interface.sh -p TASK -fo apx -f INSTANCE -a ARG
where Find below an example call for instance test_instance.apx and skeptical acceptance of argument 339 w.r.t. preferred semantics:
bash aspartix-V-interface-2019.sh -p DS-PR  -fo apx 
        -f test_instance.apx -a 339

Competition Versions


ICCMA'21: Competition webpage

Also see our FoIKS 2020 paper on ASPARTIX-V19.

ICCMA'19: Competition webpage

Also see our FoIKS 2020 paper on ASPARTIX-V19.

ICCMA'15: There where two ASPARTIX version participating.
Competition webpage

Encodings for Specific Tasks

References

Main References

[27] ASPARTIX-V19 - An Answer-set Programming based System for Abstract Argumentation
Wolfgang Dvořák, Anna Rapberger, Johannes P. Wallner, Stefan Woltran
FoIKS 2020: 79-89 [ paper at Springer ]
[19] Improved answer-set programming encodings for abstract argumentation.
Sarah Alice Gaggl, Norbert Manthey, Alessandro Ronca, Johannes Peter Wallner, Stefan Woltran
TPLP 15(4-5): 434-448 (2015) [paper]
[8] Answer-Set Programming Encodings for Argumentation Frameworks.
Uwe Egly, Sarah Gaggl, and Stefan Woltran.
In Argument and Computation, 1(2): 147 - 177 (2010).[ bib |pdf]
[4] Solving Argumentation Frameworks using Answer Set Programming.
Sarah Gaggl.
Masters Thesis, Technische Universität Wien, 2009 [.pdf ]
more system-related references

Some References for Dung AFs



Home / Kontakt / Webmaster / Offenlegung gemäß § 25 Mediengesetz: Inhaber der Website ist das Institut für Logic and Computation an der Technischen Universität Wien, 1040 Wien. Die TU Wien distanziert sich von den Inhalten aller extern gelinkten Seiten und übernimmt diesbezüglich keine Haftung. Disclaimer / Datenschutzerklärung