<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Deriving Dependency Graphs from Abstract Argumentation Frameworks: a Preliminary Report</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefano Bistarelli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carlo Taticchi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Computer Science, University of Perugia</institution>
          ,
          <addr-line>Perugia</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Argumentation Frameworks (AFs) are used, in the field of Artificial Intelligence, to evaluate the justification state of conflicting information, thus allowing the development of automatic reasoning techniques and systems. Complex argumentative processes, such as decision-making and negotiation, which take place over time (usually marked by shifts in which two or more counterparts exchange their opinions), can be modelled through the Concurrent Language for Argumentation, a formalism for handling concurrent interactions between intelligent agents that use an AF as shared memory. In this paper, we first show how AFs can be interpreted as dependency graphs by exploiting the causal relation between arguments induced by the attacks. Then, we describe a methodology for obtaining a procedure that generates the given AF. Such a procedure allows to dynamically represent dialogues and other forms of interaction that brought to the instantiation of the specific AF. The dependency graph also provides an explanation for the acceptance/rejection of a given argument: the path from a leaf to a root of the underlying graph can be seen as a motivation for the assigned justification state.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Computational Argumentation</kwd>
        <kwd>Dependency Graphs</kwd>
        <kwd>Explainable AI</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Argumentation Theory [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] deals with the problem of representing and reasoning with conflicting
information. In this context, Argumentation Frameworks constitute the basic tool for studying
complex phenomena like the cognitive processes through which humans draw conclusions
from a set of premises. The logic underlying the single arguments is neglected in Abstract
Argumentation Frameworks (AFs) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], which can be represented as directed graphs where nodes
and edges are interpreted as arguments and attacks, respectively. On the one hand, abstracting
the internal structure of arguments entails the possibility of automating tasks such as the
selection of acceptable conclusions. On the other hand, AFs only provide information regarding
the relations between arguments, and not about the arguments themselves. This limits the
understanding we can have of the argumentative process which leads to the instantiation of a
given AF, an understanding that is crucial for achieving real-world results [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The purpose of this paper is twofold. First, we use the causal relation between the arguments
of an AF induced by attacks (the attacking argument must have been brought forward in
the reasoning after the attacked argument) to interpret AFs as dependency graphs, namely
structures that describe the dependencies between their elements. In particular, attacking
arguments will depend on the attacked ones. Considering this type of dependency, we can
derive the order in which the arguments are presented, thus obtaining a potential description of
how the instantiation of the AF took place. Then, we show how AFs can be generated through the
Concurrent Language for Argumentation (cla), a language able to model interactions between
intelligent agents which communicate and reason through a shared AF. A cla program is given
as a series of actions to perform for building the target AF. In this short paper, we restrict the
study to acyclic graphs.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>We briefly recall the fundamental notions of AFs and argumentation semantics.
Definition 1 (AFs). An Abstract Argumentation Framework is a pair ⟨, ⟩ where  is a
ifnite set of arguments and  is a binary relation on .</p>
      <p>
        For two arguments ,  ∈ , the notation (, ) ∈  represents an attack directed from 
against . Moreover, we denote as + and − the set of attacks respectively incoming into and
outgoing from . A notion of defence can be used as a criterion for distinguishing acceptable
sets of arguments (extensions) in the framework [
        <xref ref-type="bibr" rid="ref2 ref4">2, 4</xref>
        ].
      </p>
      <p>Definition 2 (Defended Argument). Given an AF  = ⟨, ⟩, an argument  ∈  is
acceptable with respect to  ⊆  if and only if ∀ ∈  such that (, ) ∈ , ∃ ∈  such
that (, ) ∈ , and we say that  is defended from .</p>
      <p>
        The Concurrent Language for Argumentation (cla) [
        <xref ref-type="bibr" rid="ref6 ref7 ref8">6, 7, 8</xref>
        ] is a framework for modelling
concurrent interactions between agents that reason and take decisions through argumentation
processes. Agents communicating through cla constructs share a knowledge base, represented
by an AF, to perform reasoning tasks. This shared store can be accessed and updated by the
various agents via specifically designed operators that are also able to change the underlying
AF. Please refer to [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] for a complete overview of the language.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. AFs as Dependency Graphs</title>
      <p>In addition to modelling conflicts in AFs, attacks between arguments also establish a causal
relationship between the arguments themselves. Consider an AF  = ⟨, ⟩ with two
arguments ,  ∈  and the attack relation (, ) ∈ . We interpret this attack as a conflict
between the two arguments, with the further knowledge that  is the argument from which
the attack against  starts. This means that  is specifically introduced into the framework
to contrast argument  and undermine its validity. In the case  was not present from the
beginning,  would have no reason to be part of the AF and this fact allows us to identify a
causal relation between  and . In our example, the existence of  is preliminary to that of ,
so we can say that  depends on .</p>
      <p>Following these considerations, an AF can be interpreted as a dependency graph, i.e. a
directed graph representing the dependencies of various elements (in our case, arguments).
Formally, a dependency graph is a couple  = (,  ) where  is a set of elements and  the
transitive reduction of a relation  ⊆  × . In a dependency graph, one can look for an
evaluation order respecting the given dependencies. A correct evaluation order is a numbering
that orders two elements  and  in such a way that if  is evaluated before , then  must
not depend on . For example, the element corresponding to argument  in Figure 1 should
come before  and  in a correct evaluation order of the represented graph, while  should come
before  and after both  and .</p>
      <p>Finding a correct evaluation order for a dependency graph amounts to reconstructing the
reasoning process that leads to the generation of an AF superseding the same graph. Indeed, AFs
represent conflicting information and they can be seen as the instantiation of an argumentative
process between intelligent agents. In the real world, such kinds of processes take place over time
and can be imagined as a succession of statements made by one or more counterparties, with
the various statement referring to (attacking) each other. The beginning of this argumentative
process is to be found, therefore, in the leaves of the AF, which, not attacking any other argument,
must be the first sentences that started the process.</p>
    </sec>
    <sec id="sec-4">
      <title>4. A Program for Generating AFs</title>
      <p>cla
Using the constructs of cla, we can realise procedures able to generate AFs by modifying the
shared store, which will take the shape of a desired AF. In this preliminary study, we only
take into account acyclic AFs, (giving some hints on how to deal with cycles in the concluding
section). For example an AF like the one illustrated in Figure 1 can be obtained as a result of the
following cla procedure, which can also be executed through our web interface.1
checkw({},{}) -&gt; add({a},{}) -&gt;
checkw({a,c},{}) -&gt; add({b},{(b,a),(b,c)}) -&gt;</p>
      <p>checkw({b},{}) -&gt; add({d},{(d,b)}) -&gt; success
|| checkw({a},{}) -&gt; add({c},{(c,a)}) -&gt; success
1Link to cla web interface: https://conarg.dmi.unipg.it/cla.</p>
      <p>
        The operation ℎ(, ) verifies if the given subsets of arguments  and attacks 
belong to the shared store, while (, ) inserts  and  into the AF; the execution, then,
terminates with a  (for a detailed discussion of cla operations, the reader is referred
to [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). We provide and algorithm for automatically generating AFs through cla procedures
which use check and add operations in accordance with a correct evaluation order for the nodes.
      </p>
      <p>Algorithm 1: AFs generation through cla</p>
      <p>Data: AF  = ⟨, ⟩,  ⊆ , string</p>
      <p>Result: cla program 
1 procedure AFtoProg( ,,):
2 foreach  in  do
3 if  is not discovered then
4 mark  as discovered
5 if  is the only discovered node in  then
6  = + “checkw(a+,{}) -&gt; add({a},{(, ) |  ∈ +)}) -&gt; ”
7 else
8  = + “|| checkw(a+,{}) -&gt; add({a},{(, ) |  ∈ +)}) -&gt; ”
9 if − is empty then
10  = + “success”
11 else
12 AFtoProg( ,− ,)</p>
      <p>The recursive procedure AFtoProg in Algorithm 1 takes in input an AF  , a subset of
argument  and a string  which at the end of the execution will contain the desired cla
program. The set  initially contains the leafs of the AF. All the elements in  are processed
(line 2) and only if they have not been visited yet, the procedure continues (line 3). Nodes
are marked as discovered in line 4 and then are added into the cla program. If there are no
other discovered nodes in  apart from the one being visited (let us call it ), we first check
that all the arguments attacked by  have already been added, and then we also add  with all
its outgoing attacks (lines 5 − 6). If  is not the only discovered nodes, we build the same cla
process, this time adding the parallel construct at the beginning (lines 7 − 8). In lines 9 − 10
we have the terminal case: whenever we reach a root in the AF, we make the (branch of the)
cla program terminate with success. If the visited node has incoming attacks, we recursively
call AFtoProg passing the attackers of  as a parameter (lines 11 − 12).</p>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <p>We studied AFs from the perspective of dependency between arguments. We first showed
how causality can be derived from the attack relations, allowing us to interpret an AF as a
dependency graph in which arguments depend on those they attack. Second, we resorted to cla
constructs for obtaining a program which generates a desired AF. The advantage of producing
an AF in this way lies in the fact that, by reading the trace of the cla program, it is possible
both to reconstruct the process that generated the AF and to obtain an explanation for the
justification state assigned to the various arguments.</p>
      <p>
        In this paper, we conducted a preliminary investigation of various aspects related to the
similarity between dependency graphs and AFs, and in the future, we plan to deepen this study
under several aspects. First of all, we want to remove the constraints on the AF structure that
we have imposed in the current work. To generalise our approach also to AFs with cycles,
we want to devise a methodology for selecting a set of initial arguments for the procedure of
Algorithm 1 even when there are no non-attacked arguments. In particular, we plan to use the
Kosaraju-Sharir’s algorithm [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] to detect the strongly connected components in the AF and
select in a non-deterministic fashion an argument in the cycle that can be reached by any other
arguments in the graph. Then, we also want to understand how to obtain optimised programs
(for instance, with shorter traces) representing the same argumentative process. In this sense,
we could exploit the monoid structure of dependency graphs to identify minimal traces of cla
programs. We also plan to investigate other models for concurrent execution (like Petri nets)
in order to study how argumentative processes can be represented and interpreted with the
ultimate goal of extracting meaningful information. Finally, it would be interesting to conduct a
comparative study with existing approaches for the computation of argumentation semantics
in order to understand the connections between the causal relationship we identify and the
notion of acceptability.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dutilh Novaes</surname>
          </string-name>
          , Argument and Argumentation, in: E. N.
          <string-name>
            <surname>Zalta</surname>
          </string-name>
          (Ed.),
          <source>The Stanford Encyclopedia of Philosophy</source>
          , Fall 2022 ed., Metaphysics Research Lab, Stanford University,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P. M.</given-names>
            <surname>Dung</surname>
          </string-name>
          ,
          <article-title>On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person games</article-title>
          ,
          <source>Artif. Intell</source>
          .
          <volume>77</volume>
          (
          <year>1995</year>
          )
          <fpage>321</fpage>
          -
          <lpage>358</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>H.</given-names>
            <surname>Prakken</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. D.</given-names>
            <surname>Winter</surname>
          </string-name>
          ,
          <article-title>Abstraction in argumentation: Necessary but dangerous</article-title>
          ,
          <source>in: COMMA</source>
          , volume
          <volume>305</volume>
          <source>of Frontiers in Artificial Intelligence and Applications</source>
          , IOS Press,
          <year>2018</year>
          , pp.
          <fpage>85</fpage>
          -
          <lpage>96</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Baroni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Caminada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Giacomin</surname>
          </string-name>
          ,
          <article-title>An introduction to argumentation semantics</article-title>
          ,
          <source>Knowl. Eng. Rev</source>
          .
          <volume>26</volume>
          (
          <year>2011</year>
          )
          <fpage>365</fpage>
          -
          <lpage>410</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Caminada</surname>
          </string-name>
          ,
          <article-title>On the issue of reinstatement in argumentation</article-title>
          ,
          <source>in: JELIA</source>
          , volume
          <volume>4160</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2006</year>
          , pp.
          <fpage>111</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bistarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Taticchi</surname>
          </string-name>
          ,
          <article-title>A concurrent language for argumentation, in: AI3@AI*IA</article-title>
          , volume
          <volume>2777</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>75</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bistarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Taticchi</surname>
          </string-name>
          ,
          <article-title>Introducing a tool for concurrent argumentation</article-title>
          ,
          <source>in: JELIA</source>
          , volume
          <volume>12678</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2021</year>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>24</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bistarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Taticchi</surname>
          </string-name>
          ,
          <article-title>A concurrent language for modelling arguing agents</article-title>
          , Submitted to Argument &amp;
          <string-name>
            <surname>Computation</surname>
          </string-name>
          (
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sharir</surname>
          </string-name>
          ,
          <article-title>A strong-connectivity algorithm and its applications in data flow analysis</article-title>
          ,
          <source>Computers &amp; Mathematics with Applications</source>
          <volume>7</volume>
          (
          <year>1981</year>
          )
          <fpage>67</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>