<!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>Explaining ASP-based Operating Room Schedules</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Riccardo Bertolucci</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carmine Dodaro</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe Galatà</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Maratea</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ivan Porro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Ricca</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>SurgiQ srl</institution>
          ,
          <addr-line>Genova</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Calabria</institution>
          ,
          <addr-line>Arcavacata, Rende CS</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Genoa</institution>
          ,
          <addr-line>Genova</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The Operating Room Scheduling (ORS) problem refers to the task of assigning patients to operating rooms. An automated solution able to solve the ORS problem in real world scenarios should also be “explainable” to be fully acceptable. Answer Set Programming (ASP) has been successfully applied to solve the ORS problem. However, when the available resources are not enough to satisfy user's requirements (e.g., insuficient number of free beds) the system cannot compute a schedule, and also cannot provide an explanation for that “negative” result. In this work, we present an extension of the aforementioned ASP-based approach to the ORS problem that is also able to provide explanations (in terms of input facts) that caused the absence of solutions. The explanation computation technique builds on the ideas employed by the ASPIDE debugger for ASP programs. Preliminary experimental results show the viability of the approach.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Answer set programming</kwd>
        <kwd>Explainability</kwd>
        <kwd>Operating Room Scheduling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The increasing use of Artificial Intelligence (AI) methods in applications is afecting all parts
of our lives and the need for explainable methods is becoming even more important. Even
though AI-driven systems have been shown to outperform humans in certain tasks, the lack of
explainability features continues to spark criticisms ([
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]). For these reasons, the improvement
of explainability techniques for transparent models is an important research topic, especially
for those AI strategies used in healthcare applications.
      </p>
      <p>
        Answer Set Programming (ASP; [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]) is a popular declarative AI language that has been
widely used for solving healthcare problems (we refer the reader to [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for a recent survey of
such applications). Despite the declarative nature of ASP and its intuitive semantics (see [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
for the standard language), and the availability of eficient ASP systems ([
        <xref ref-type="bibr" rid="ref10 ref11 ref7 ref8 ref9">7, 8, 9, 10, 11</xref>
        ]), the
development of an explainability layer on top of ASP systems is still subject of research and
debate ([
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]).
      </p>
      <p>
        ASP has been proved to provide efective solutions to practical applications [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], in particular
in the healthcare domain (see, e.g., [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ]). As an example, ASP has been recently applied to
solve the Operating Room Scheduling (ORS) problem ([
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]), that is the problem of computing
an assignment of patients to beds in operating rooms, a task that become even more relevant
task during the COVID19 pandemic. During the validation of such a tool we recognized the
need to unfold the decision-making process to users not specialized in AI. In particular, the ORS
tool presented in ([
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]) resulted to be efective in practice in computing schedules, especially
when there are enough resources. However, when the available resources are not enough to
satisfy user’s requirements (e.g., insuficient number of free beds) the system cannot compute
a schedule, and also cannot provide an explanation for that “negative” result. This makes the
tool not fully acceptable in practice, since neither explanation nor a hint on how to solve the
problem is provided.
      </p>
      <p>
        In this work we present a framework for the generation of the needed explanations. In
particular, our approach aims at generating explanations in case the instance modeling the
ORS problem is incoherent, hence the system is not able to compute a solution. More in
detail, our aim is to isolate the facts in the input that led to the incoherence: this procedure is
called facts checking. Furthermore, we make this knowledge available in a readable fashion for
inexperienced users such as medical staf. The explanation computation technique builds on the
ideas employed by the ASPIDE debugger for ASP programs ([
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]). Preliminary experimental
results show the viability of the approach. In the following, we assume the reader is familiar
with ASP.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Background on the ORS problem</title>
      <p>In this paper, the elements of the waiting list are called registrations. Each registration links a
particular surgical procedure, with a predicted surgery duration and length of stay in the ward
and in the ICU, to a patient. The overall goal of the ORS problem is to assign the maximum
number of registrations to the operating rooms (ORs), taking into account the availability of
beds in the associated wards and in the ICU. Three requirements are respected to solve the
ORS problem: (i) the assignments must guarantee that the sum of the predicted duration of
surgeries assigned to a particular OR session does not exceed the length of the session itself.
To distinguish between registrations referring to patients with diferent medical conditions a
priority factor is used. (ii) It must be ensured that a registration can be assigned to an OR only if
there is a bed available for the patient for the entire length of stay (LOS). (iii) Also the Intensive
Care Unit (ICU) is considered: it is a particular type of ward that is accessible to patients from
any specialty. It must be ensured that a registration can be assigned to an OR only if there is a
bed available for the patient for the entire length of stay (LOS) in the ICU if necessary.</p>
      <sec id="sec-2-1">
        <title>2.1. Data Model</title>
        <p>Since our aim is to be able to identify facts that can lead to the inconsistency of the encoding,
our focus will be in the input data given to the ORs scheduler. The input data is specified by
means of the following atoms:
• Instances of registration(R,P,SU,LOS,SP,ICU,A) represent the registrations, characterized by
an id (R), a priority score (P), a surgery duration (SU ) in minutes, the overall length of stay
both in the ward and the ICU after the surgery (LOS) in days, the id of the specialty (SP) it
belongs to, a length of stay in the ICU (ICU ) in days, and finally a parameter representing
the number of days in advance (A) the patient is admitted to the ward before the surgery.
• Instances of mss(O,S,SP,D) link each operating room (O) to a session (S) for each
specialty(SP) and planning day (D) as established by the hospital Master Surgical Schedule
(MSS).
• The OR sessions are represented by the instances of the predicate duration(N,O,S), where</p>
        <p>N is the session duration.
• Instances of beds(SP,AV,D) represent the number of available beds (AV ) for the beds
associated to the specialty SP in the day D. The ICU is represented by giving the value 0
to SP.</p>
        <p>
          Details about the encoding can be found in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Explainability layer</title>
      <p>In this section, we show the integration of the ASP model for ORS and a debugging tool able to
perform facts checking, with the goal of identifying the set of atoms modeling the input leading
to the absence of a solution, i.e. to the inconsistency.</p>
      <p>
        The idea of our approach is to implement a tool based on the work presented in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] to identify
the single or the set of facts atoms that led to the inconsistency of the encoding. Roughly, the
tool described in ([
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]) works by adding adornments atoms to the rules of the program, and
then detecting a minimal set of adorned atoms that cause the inconsistency (reason for the
inconsistency). We build on this idea and, instead of adorning all the rules of the program (which
is provably correct), we apply the adornment only to input facts. Moreover, in order to improve
the performances of the system, we perform some preprocessing on the atoms we are testing
which consists on the selection of the atoms that are most likely to led to inconsistency. This
selection was carried out under some assumptions: (i) The order in which the atoms are checked
afects the performances. (ii) The faulty atoms typology can be: beds(SP,AV,D) or duration(N,O,S).
When the atoms are identified, the system extracts the information from the atoms identified
and use this information to give to the user the most complete answer on the cause of the
impossibility to find a proper schedule.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Preliminary test</title>
      <p>We tested our framework under the following assumptions: (i) the test were carried out with a
single encoding with 5 diferent configuration of the data: 2 representing the data necessary
for the schedule of 5 days of operations and 3 representing the data necessary for the schedule
of 10 days of operations, (ii) for each configuration, we are measuring the computation time
from the beginning to the moment in which the error is found, and (iii) the set of facts included
in the search are subject to a shufle , in which the atoms are shufled each time a new search
begin, or to a reverse, in which the atoms are reversed once instead. Under these assumptions,
we were able to identify two fact typologies that could lead to the inconsistency of the problem:
(a) the lack of available beds in a certain specialty, given by facts of the type beds(SP,AV,D), and
(b) the duration of a certain operation is higher than the available time of each OR of each day
in a certain specialty, given by facts of the type duration(N,O,S).</p>
      <p>As a sum up of our results, the reasons that can make a fact causing the incoherence are
multiple. By analysing the knowledge represented by each fact, it is possible, for a domain
expert, to categorize the source of the inconsistency: if the inconsistency is related to the
number of beds available in a certain speciality SP in the day D its causes can be: (i) the lack
of beds in the speciality in that specific day; or (ii) the number of patients to be scheduled in
the speciality are too many; or (iii) the maximum time for the schedule is too short, or rather
it is impossible to schedule all the patients in the amount of given days. If the inconsistency
is related to the fact that duration N of a certain session S is higher than the available time of
each OR of each day in a certain specialty, its causes can be: (i) the time that a patient must
spend in an OR is too high, or (ii) the sum of the times that all patients, of a certain specialty
(SP), must spend in an OR is too high.</p>
      <p>When all the faulty atoms are isolated, we are able to extract many useful information to
retrieve to user in order to let her/him decide which solution fits best, such as: the specialty that
is causing the fault; the list of patients with high priority in those specialities and all their data
(surgery duration, length of the stay, etc); the day in which the fault occurs; and the number of
beds available in that day in the given specialty.</p>
      <p>With all these information, the user can choose the best way to solve the problem, e.g.,
increasing the number of beds, increasing the number of maximum days to schedule, decreasing
the number of patients. The initial results gathered after the preliminary test shows that this
approach is able to extract information from real-world scenarios data and generate explanations
understandable by an inexperienced user.</p>
      <sec id="sec-4-1">
        <title>4.1. The explainability framework</title>
        <p>
          In Figure 1, it is possible to observe the schema of our framework. The Web Application uses
the encoding presented in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] to compute a solution to the ORS problem. If a such a solution is
found, then the optimal scheduling is reported as output to the user. Otherwise, if the given
Knowledge Base (KB) leads to the absence of a solution, then the faulty encoding is processed
by our explainability framework.
        </p>
        <p>The faulty encoding is sent to the Fault Detector Module which manages the data flow
between the modules during the execution. Then, the Atoms Remover module removes all
the low priority patients and all the weak constraints from the encoding since they cannot cause
incoherence; therefore, they are not of our interest. After the preprocessing step, the faulty
encoding is sent to the Debugging Tool module whose role is to identify the set of input facts
leading to the inconsistency, i.e., it performs the facts checking. It is important to underline that
we are searching the fault only inside the set of input facts given by the user since we assume
that the encoding is properly written as we state in Section 3. The Debugging Tool operates
within a given time limit, i.e., if the explanation is not found within such a threshold, then the
debugging process is interrupted. In this case, the Faulty Detector Module performs a shufle of
the KB atoms and starts a new facts checking process. This allows the tool to analyse always
diferent atoms. This process is repeated until an explanation is found. It is important to notice
that, during the preliminary test and analysis, we have noticed that shufling the facts atoms
before starting the facts checking process tangibly improves the performances. Moreover, we
noticed that, under certain circumstances, reversing the KB could lead to great improvements
of the performances.</p>
        <p>When an explanation is found then faulty atoms are sent to the Error Handler Module,
whose goal is to generate a new set of input atoms where faulty atoms are corrected. Since the
facts checking process searches for the minimal set of facts leading to inconsistency, fixing one
faulty atom is enough to solve the inconsistency. For this reason, the Error Handler Module
forces the removal of one of the faulty facts. In this way, two scenarios are possible: (i) there
are other sources of inconsistency, therefore the ORS problem admits no solution, or (ii) a
solution can be found. In the first case, the new set of faulty atoms is sent back to the Fault
Detector Module and the explanation process restarts with such a new set. In the second case,
the inconsistency is fixed.</p>
        <p>When the inconsistency is fixed, the Explanability Module extracts and processes all the
information from the list of faulty atoms in order to make them available in a comprehensible
form to the user. In our case, the explanations are text messages aimed at making various
information available to the user. In particular, since the user is assumed to be totally inexperienced
with ASP, the generated messages are designed to put all the extracted information in the right
context so that the meaning of the given information is clear to the user.</p>
        <p>Message Example. The surgery time necessary to operate the patients of speciality 2 on day 10
exceeded the maximum time of operation at disposal of 30 hours for the operating room 5. Please increase the
maximum operating time on some operating room or reduce the number of patients assigned to the faulty
speciality.</p>
        <p>The patients that might generate the error are:
• Patient id: 2001 Speciality: 2</p>
        <p>Total stay: 12 days Days at the ICU 0</p>
        <p>Days in ward before surgery: 2 Surgery duration: 10 hours
• Patient id: 2011</p>
        <p>Total stay: 12 days
Days in ward before surgery: 2</p>
        <p>Speciality 2
Days at the ICU: 0</p>
        <p>Surgery duration: 11 hours
• Patient id: 2014</p>
        <p>Total stay: 6 days
Days in ward before surgery: 2</p>
        <p>Speciality: 2
Days at the ICU: 0</p>
        <p>Surgery duration: 10 hours</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Results</title>
      <p>In order to obtain an assessment of the capabilities of the developed solution, we generated
three diferent sets of facts. Each set represent the available resources of an hospital for a 10
day scheduling with the list of the patients to which is necessary to assign an OR. Each set is
composed by 600 atoms approximately and they are designed to be solvable. In our analysis, 1
to 7 sources of inconsistency were forced in each set and each one is tested on the architecture
10 times. Observe that for any iteration the inconsistencies are forced in diferent input atoms.</p>
      <p>For each iteration, a time limit of 60 seconds and a memory limit of 16 GB was applied. All
the experiments have been conducted on an Intel i7-4790 CPU and Linux OS. Clingo was used
to solve the ASP-encoded instances.</p>
      <p>
        We compared the performance of the considered encodings using coverage, i.e., the percentage
of solved instances, and the Penalised Average Run-time (PAR10) score. The latter is a metric
usually exploited in machine learning and algorithm configuration techniques. It trades of
coverage and run-time for solved problems: if an encoding  allows the solver to solve an instance
Π in time  ≤  ( = 60  in our case), then  10(, Π) = , otherwise  10(, Π) =
10 ×  (i.e., 600 in our case). It is important to point out that the errors identified by the
architecture may vary from the errors forced in the input set, i.e., if we remove beds from a
speciality SP in a day D, then the architecture could suggest us to add beds for the speciality SP
but in a day D’. However, as it is possible to observe from the results (shown in table 1), our
system is able to identify the sources of the unsatisfiability under the 60 seconds timeout only if
in the input sets are forced 6 or less errors. It is important to underline that in this paper we are
not going to evaluate the understandability of the generated explanations; for a detailed study
in the field of the social sciences we refer to ([
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]).
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>In this paper, we have presented an approach to explaining the outcome of an ASP-based
solution to the problem of operating room scheduling. The objective is to explain why, in
#
Set 2
0.51
0.9
17.12
26.77
30.67
50.34
600.0</p>
      <p>
        Set 3
a certain situation, no appropriate schedule could be found, in other words, why no answer
set could be computed. The preliminary tests show that the presented approach is able to
identify the facts which led to the inconsistency of the solution. However, the generation of
the explanations is highly dependent on the treated domain: in order to be able to present an
explanation comprehensible to inexperienced users, the knowledge represented by the faulty
facts must be analysed by a domain expert with a deep understanding of the encoding. As we
stated in Section 3, the presented approach is able to find the minimal set of adorned atoms.
Since a single faulty fact is enough to lead to the inconsistency, our strategy will be able to find
one faulty fact at the time. To overcome this problem and being able to find the complete set
of faulty facts, we included in our architecture a module that handles the inconsistency: the
process used in this model is highly dependent by the domain. However, the process of finding
a single faulty fact is applicable to any domain. Moreover, the explanation generated by our
approach takes under consideration only the input facts: to generate exhaustive explications it
is necessary to include this approach into a platform of solutions, which consider also rules,
similarly to, e.g., [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] in other contexts. We are also currently working on extending our
preliminary experiments. On the side of ASP computation, we would like to implement and
test other solving procedures, e.g., [
        <xref ref-type="bibr" rid="ref19 ref20 ref21">19, 20, 21, 22</xref>
        ], considering the relation between ASP and
SAT procedures [23, 24], whose goal would be to improve the current performance.
a modern SAT solver, in: F. Rossi (Ed.), CP, volume 2833 of Lecture Notes in Computer
Science, Springer, 2003, pp. 842–846.
[22] E. D. Rosa, E. Giunchiglia, M. Maratea, A new approach for solving satisfiability problems
with qualitative preferences, in: M. Ghallab, C. D. Spyropoulos, N. Fakotakis, N. M. Avouris
(Eds.), ECAI, volume 178 of Frontiers in Artificial Intelligence and Applications , IOS Press,
2008, pp. 510–514.
[23] E. Giunchiglia, M. Maratea, On the Relation Between Answer Set and SAT Procedures (or,
      </p>
      <p>Between cmodels and smodels), in: ICLP, volume 3668 of LNCS, Springer, 2005, pp. 37–51.
[24] E. Giunchiglia, N. Leone, M. Maratea, On the relation among answer set solvers, Ann.</p>
      <p>Math. Artif. Intell. 53 (2008) 169–204.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <article-title>Explanation in artificial intelligence: Insights from the social sciences</article-title>
          ,
          <source>Artificial intelligence 267</source>
          (
          <year>2019</year>
          )
          <fpage>1</fpage>
          -
          <lpage>38</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Abedini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ye</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Operating room planning under surgery type and priority constraints</article-title>
          ,
          <source>Procedia Manufacturing</source>
          <volume>5</volume>
          (
          <year>2016</year>
          )
          <fpage>15</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Brewka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Truszczyński</surname>
          </string-name>
          ,
          <article-title>Answer set programming at a glance</article-title>
          ,
          <source>Communications of the ACM</source>
          <volume>54</volume>
          (
          <year>2011</year>
          )
          <fpage>92</fpage>
          -
          <lpage>103</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Van Harmelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Porter</surname>
          </string-name>
          ,
          <article-title>Handbook of knowledge representation</article-title>
          ,
          <source>Elsevier</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alviano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bertolucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cardellini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          , G. Galatà,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mochi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Morozan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Porro</surname>
          </string-name>
          , et al.,
          <article-title>Answer set programming in healthcare: Extended overview</article-title>
          .,
          <source>in: IPS-RCRA@ AI* IA</source>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Faber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          , G. Ianni,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kaminski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Krennwallner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          , T. Schaub,
          <article-title>ASP-Core-2 input language format</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>20</volume>
          (
          <year>2020</year>
          )
          <fpage>294</fpage>
          -
          <lpage>309</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          , B. Kaufmann, T. Schaub,
          <article-title>Conflict-driven answer set solving: From theory to practice</article-title>
          ,
          <source>Artificial Intelligence</source>
          <volume>187</volume>
          (
          <year>2012</year>
          )
          <fpage>52</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alviano</surname>
          </string-name>
          , G. Amendola,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          ,
          <article-title>Evaluation of disjunctive programs in WASP</article-title>
          , in: M.
          <string-name>
            <surname>Balduccini</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Lierler</surname>
          </string-name>
          , S. Woltran (Eds.), LPNMR, volume
          <volume>11481</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2019</year>
          , pp.
          <fpage>241</fpage>
          -
          <lpage>255</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>F.</given-names>
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          ,
          <article-title>The design of the fifth answer set programming competition</article-title>
          ,
          <source>CoRR abs/1405</source>
          .3710 (
          <year>2014</year>
          ). URL: http://arxiv.org/abs/1405.3710. arXiv:
          <volume>1405</volume>
          .
          <fpage>3710</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          ,
          <article-title>The design of the seventh answer set programming competition</article-title>
          , in: M.
          <string-name>
            <surname>Balduccini</surname>
          </string-name>
          , T. Janhunen (Eds.), LPNMR, volume
          <volume>10377</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2017</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>9</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          ,
          <article-title>The seventh answer set programming competition: Design and results</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>20</volume>
          (
          <year>2020</year>
          )
          <fpage>176</fpage>
          -
          <lpage>204</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Fandinno</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Schulz, Answering the “why” in answer set programming-a survey of explanation approaches</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>19</volume>
          (
          <year>2019</year>
          )
          <fpage>114</fpage>
          -
          <lpage>203</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>E.</given-names>
            <surname>Erdem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <article-title>Applications of answer set programming</article-title>
          ,
          <source>AI</source>
          Magazine
          <volume>37</volume>
          (
          <year>2016</year>
          )
          <fpage>53</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <article-title>Nurse scheduling via answer set programming</article-title>
          ,
          <source>in: LPNMR</source>
          , volume
          <volume>10377</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2017</year>
          , pp.
          <fpage>301</fpage>
          -
          <lpage>307</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alviano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <article-title>An advanced answer set programming encoding for nurse scheduling</article-title>
          ,
          <source>in: AI*IA</source>
          , volume
          <volume>10640</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2017</year>
          , pp.
          <fpage>468</fpage>
          -
          <lpage>482</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          , G. Galatà,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Porro</surname>
          </string-name>
          ,
          <article-title>An ASP-based solution for operating room scheduling with beds management</article-title>
          ,
          <source>in: International Joint Conference on Rules and Reasoning</source>
          , Springer,
          <year>2019</year>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Gasteiger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Reale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schekotihin</surname>
          </string-name>
          ,
          <article-title>Debugging non-ground asp programs: Technique and graphical tools</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>19</volume>
          (
          <year>2019</year>
          )
          <fpage>290</fpage>
          -
          <lpage>316</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Armando</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Castellini</surname>
          </string-name>
          , E. Giunchiglia,
          <string-name>
            <given-names>M.</given-names>
            <surname>Idini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          , TSAT++
          <article-title>: an open platform for satisfiability modulo theories</article-title>
          ,
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>125</volume>
          (
          <year>2005</year>
          )
          <fpage>25</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tacchella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zambonin</surname>
          </string-name>
          ,
          <article-title>Evaluating search heuristics and optimization techniques in propositional satisfiability</article-title>
          , in: R.
          <string-name>
            <surname>Goré</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Leitsch</surname>
          </string-name>
          , T. Nipkow (Eds.),
          <source>International Joint Conference on Automated Reasoning (IJCAR</source>
          <year>2001</year>
          ), volume
          <volume>2083</volume>
          <source>of Lecture Notes in Computer Science</source>
          , Springer,
          <year>2001</year>
          , pp.
          <fpage>347</fpage>
          -
          <lpage>363</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tacchella</surname>
          </string-name>
          ,
          <article-title>Dependent and independent variables in propositional satisfiability</article-title>
          , in: S. Flesca,
          <string-name>
            <given-names>S.</given-names>
            <surname>Greco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          , G. Ianni (Eds.), JELIA, volume
          <volume>2424</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2002</year>
          , pp.
          <fpage>296</fpage>
          -
          <lpage>307</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Tacchella,</surname>
          </string-name>
          (In)
          <article-title>Efectiveness of look-ahead techniques in</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>