This is a collection of ASP-Encodings for n-ABAFs. These things are under active development and might change over time.
n-ABAFs are encoded as follows:
Encoding of the Framework
assumptions
which indicates that an atom is an assumption of the n-ABAFhead
where the first argument is the identifier of a rule and the second argument is the head of this rulebody
where the first argument is the identifier of a rule and the second argument is one of the body elements of this rulerule_set
where the first argument is the identifier of a rule and the second argument is the identifier of the rule set the rule belongs tocontrary
where the first argument is an assumption and the second argument is its contrary.nodes
which defines the nodes of the derivation graphstart_node
where identifies the start node of the graphedges
with both arguments being vertices of the graph this gives an directed edge from the first two the second argument.rule_node
where the first argument is a node and the second is the identifier of a rule set. So this maps each node to a rule set.For example consider the following instance
Instance | Input File |
---|---|
Consider a 2-ABAF with
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).
|
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.
The following encodings are tested with clingo.
$ 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
$ clingo input.af semantics.dl filter.lp -e brave
$ clingo input.af semantics.dl filter.lp -e cautious
For further information please contact Giovanni Buraglio or Wolfgang Dvořák.
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.
[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] |