Skip to Content

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

Path: DBAI > research > Argumentation > ABASP > n-ABAFs

Tools: Drucken


Answer Set Programming Encodings for n-ABAFs


This is a collection of ASP-Encodings for n-ABAFs. These things are under active development and might change over time.

Input Format

n-ABAFs are encoded as follows:
Encoding of the Framework

Encoding of the derivation graph

For example consider the following instance

Instance Input File
Consider a 2-ABAF with
  • set of assumptions: {a,b}
  • rules:
    r1: p ← a
    r2: q ← p
    r3: q ← o,p
  • rule sets:
    rs1: {q ← p}
    rs2: {p ← a, q ← o,p}


and dependency graph
assumption(a). assumption(b). head(r1,p). body(r1,a). head(r2,q). body(r2,p). head(r3,q). body(r3,o). body(r3,p). rule_set(r1,rs2). rule_set(r3,rs2). rule_set(r2,rs1). contrary(a,q). % Derivation graph node(v1). node(v2). node(v3). edge(v1,v3). edge(v1,v2). edge(v2,v3). edge(v3,v3). start_node(v1). rule_node(v2,rs1). rule_node(v3,rs2).

Encoding of the derivation graph deduction

Assuming we have a set of assumptions given by the unary in predicate we compute statements that can be derived from this set of assumptions by the binary predicated supported_by_node. The first argument of supported_by_node is a statement that can be derived while the second argument is a node of the derivation graph. That is, supported_by_node(X,N) states that we can derive X in a way such that our derivation ends in the node N of the derivation graph. In order to check whether we can derive a statement X we simple check whether supported_by_node(X,N) holds form some node N of the derivation graph.
non_fact_rule(R) :- body(R,Y). fact_rule(R):- head(R,X), not non_fact_rule(R). supported_by_node(X,N) :- in(X), start_node(N). supported_by_node(X,N) :- head(R,X), rule_set(R,I), rule_node(N,I), non_fact_rule(R), supported_by_succ_of_node(Y,N):body(R,Y). supported_by_node(X,N) :- head(R,X), rule_set(R,I), rule_node(N,I), fact_rule(R), start_node(M), edge(M,N). supported_by_succ_of_node(X,N) :- supported_by_node(X,M),edge(M,N).
With this at hand existing semantics-related module [1] can be integrated into our setting.

Encodings of Argumentation Semantics

The following encodings are tested with clingo.

Usage with Clingo.

For the execution of the programs one needs a (disjunctive) ASP solver like Clingo (see Potassco).

Enumerate Assumptions Set (and their conclusions).

In order to enumerate all assumption sets of an n-ABAF (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 assumption set, say 6, use the following command
$ clingo input.af semantics.dl filter.lp 6

Credulous Reasoning.

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

Skeptical Reasoning.

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

Contact

For further information please contact Giovanni Buraglio or Wolfgang Dvořák.

Disclaimer

The aim of this page is to share tools we developed in our research with the research community. All the software is provided "AS IS", without warranty of any kind.

References

Constrained Derivation in Assumption-Based Argumentation.
[2] Constrained Derivation in Assumption-Based Argumentation.
Giovanni Buraglio, Wolfgang Dvořák, Anna Rapberger, Stefan Woltran
AI3@AI*IA 2023. [pdf]
[1] Declarative Algorithms and Complexity Results for Assumption-Based Argumentation.
Tuomo Lehtonen, Johannes Peter Wallner, Matti Järvisalo
In J. Artif. Intell. Res., 71: 265 - 318 (2021). [pdf]


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