<!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>
      <journal-title-group>
        <journal-title>IPS-RiCeRcA-SPIRIT</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>AI and videogames: a “drosophila” for declarative methods</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Denise Angilica</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giovambattista Ianni</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesca A. Lisi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luca Pulina</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Bari Aldo Moro</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Calabria</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>10</volume>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>Videogames and research in artificial intelligence (AI) techniques share a fruitful past of reciprocal knowledge exchange. On the one hand, videogames ofer unsolved challenges to the academy: these challenges are as hard as those ofered by what we can call “serious” applications, yet they can be faced in a controlled and reproducible setting. This characteristic makes videogames a kind of advanced “drosophila” for the researcher in AI: they are the ideal controlled ground in which to invent, experiment, and test new AI paradigms, methodologies and techniques. It is not uncommon to resort to simulated game environments as lesser expensive, yet comparably complex, digital twins. On the other hand, the videogame industry (VI) itself is exemplary of typical demands that AI research cannot meet yet. The VI looks for reduced development costs, better integration with AI tools and real-time performance. Especially, knowledge transfer between developers and AI tools must be as fast and smooth as possible: this is one of the reasons why the machine learning (ML) revolution had so far a controversial reception in the VI, in that ML provides black-box AI modules which are not easily “tunable” and configurable at will, and have non-negligible design-time costs. In order to overcome the above limits, one can consider declarative knowledge representation techniques (DKR). However, some of the shortcomings of DKR methods are fairly challenging to be addressed: performance, ease of use, integration, mining of reusable deductive knowledge are not up to the par yet. All these limitations prevent the real adoption of declarative paradigms in many highly-demanding applicative settings of which the videogame development field is an exemplary generalized testbed. Narrowing the above gaps is nontrivial challenge. In this paper we identify some of the key issues which we deem important for the research community and outline our current research progress.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Declarative logic</kwd>
        <kwd>Answer Set Programming</kwd>
        <kwd>Knowledge Representation</kwd>
        <kwd>Games and Videogames</kwd>
        <kwd>Stream Reasoning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Context and motivation</title>
      <p>
        Videogames and the AI research. Many examples of the usage of declarative languages
in the industrial videogame realm exists, starting from the pioneer F.E.A.R. game [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which
used STRIPS-based planning [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Other remarkable examples are the games Halo [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Black
&amp; White [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. If we look at videogames from the basic research perspective, it must be noted
the longstanding interest in using (video-)games as a controllable and reproducible setting in
which to face open issues: one might cite the GDL [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], VGDL [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and Ludocore [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] languages
adopted for declaratively describing General Game Playing [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The Planning Domain Definition
Language (PDDL) found natural usage in the videogame realm [
        <xref ref-type="bibr" rid="ref10 ref11 ref9">9, 10, 11</xref>
        ]; among its sister
languages, we will herein focus particularly on Answer Set Programming (ASP), the known
declarative paradigm with a tradition in modeling planning problems, robotics, computational
biology as well as other industrial applications [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. ASP does not come last in its experimental
usage in videogames: it has been used to various extents, e.g., for declaratively generating
level maps [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and artificial architectural buildings [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]; it has been used as an alternative for
specifying general game playing [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], for defining artificial players [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] in the Angry Birds AI
competition [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], and for modelling resource production in real-time strategy games [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], to
cite a few.
      </p>
      <p>ASP specifications are composed of set of rules, hard and soft constraints, by means of which
it is fairly easy to express qualitative and quantitative statements. In general, a set of input
values  (called facts), describing the current state of the world, are fed together with an ASP
specification  to a solver. Solvers in turn produce sets of outputs ( ∪  ) called answer sets.
Answer sets contain the result of a decision-making process in terms of logical assertions which,
depending on the application domain at hand, might encode actions to be made, employee shifts
to be scheduled, protein sequences, and so on.</p>
      <p>When evaluating  and  a traditional solver performs two consecutive steps: grounding
(also called instantiation) and solving (also called answer set search). Instantiating a program
consists in generating, rule by rule, substitutions of variables with constants, thus obtaining an
equivalent propositional program.</p>
      <p>Despite their potential advantages, the widespread adoption of methods like ASP in games is
still prevented by a number of shortcomings, which one roughly categorize in i) integration
issues and ii) performance issues.</p>
      <p>
        Concerning the first, ASP-based solutions have been coupled with industrial applications
using many schemes which were proposed in the last decade. These difer on how the so-called
“procedural” side and “declarative” side are coupled, and on which of the sides is at the center
of the development picture [
        <xref ref-type="bibr" rid="ref19 ref20 ref21 ref22">19, 20, 21, 22</xref>
        ].
      </p>
      <p>However, during a videogame, decision-making processes are continuously repeated within
the so called game loop. The game loop is, in a way, a sense-think-act cycle in disguise, where
the think step might be occupied by a logic-based reasoner. This context makes the integration
of reasoners/ASP solvers non-obvious: how to cope with fast changing sensor readings? how
to accommodate long running reasoning tasks? What if a reasoning task is no longer needed
because of a sudden change in the game scene? How to reuse at least part of the wasted
computational efort?</p>
      <p>
        The ThinkEngine [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], developed by our team, allows programmers to deal with AI modules
inside the popular Unity game and industrial development engine [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] and is a good starting
point for getting closer to the above goals. As for performance, ASP solvers greatly improved
in the last years [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Efort has been made on incremental, online and stream computing
of ASP inputs [
        <xref ref-type="bibr" rid="ref26 ref27 ref28">26, 27, 28</xref>
        ]. Fast, repeated reasoning tasks required by real-time applications
seem, however, out of reach unless manual tuning and optimizations are introduced on a per
application basis [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. The ASP-based player appearing in the Angry Birds AI Competition [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]
and other benchmarks on games show that the performance gap can be reduced with more
research [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
      </p>
      <p>In this paper, we overview the key issues that prevent declarative paradigms being adopted
in the VI. In section 2 we briefly illustrate our current research progress, introducing the
ThinkEngine Asset; in section 3 we outline some selected open issues in the context of AI and
videogames that we deem relevant; in section 4 we discuss the general advantages of videogames
and declarative paradigms being coupled together; in section 5 we overview how this line of
research could bridge videogames to academic research and to society in general.</p>
      <p>When evaluating  and  a traditional solver performs two consecutive steps: grounding
(also called instantiation) and solving (also called answer set search). Instantiating a program
consists in generating, rule by rule, substitutions of variables with constants, thus obtaining an
equivalent propositional program.</p>
    </sec>
    <sec id="sec-2">
      <title>2. The ThinkEngine Asset</title>
      <p>
        Figure 1, adapted from the description of our ThinkEngine tool [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] shows our proposal of an
integration scheme between a reasoner based on declarative specifications and a game engine.
A number of so-called brains are able to interact with a videogame scene.
      </p>
      <p>An AI developer can use the ThinkEngine by first identifying objects and/or parts of the
game logic that are to be connected to brains; sensor readers are wired from the game scene to
brains, and actuators from brains to the game scene. A brain consists of a simple high-level
specification that describes decision criteria: one can add rules, constraints, soft constraints
and other declarative statement types. A brain reasoning task can be then triggered on specific
events or on a cyclic basis. Reactive brains produce immediate modifications on the game,
while Planning brains can be used to synthesize complex execution plans or, in principles, even
arbitrarily reprogram reactive behaviors of artificial players.</p>
      <p>
        In the case of our ThinkEngine tool, reasoning modules are implemented using declarative
specifications written using ASP; an ASP solver executes such specifications, then its outputs are
converted into actions or plans to be executed on the game world. Thinkengine is implemented
respecting a paradigm-agnostic stance: a wiring infrastructure for connecting other solvers
based on other declarative paradigms (PDDL, SMT or others) is provided. In the specific
setting of Thinkengine, most of the interoperability burden is implemented within the EmbASP
library [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
      </p>
      <p>
        The tool is available as a plugin for the known game development engine Unity [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. Unity
owns 45% of the market share as a game development engine: it is not however limited to the
development of ludic products as it is appreciated also for the development of simulations and
industrial applications.
      </p>
      <p>From the software development perspective, the presence of brains based on declarative tools
implies several potential benefits, like:
• declarative tools can be used for defining, in a very short time, diferent aspects of game
GAME WORLD</p>
      <p>UNITY CORE</p>
      <p>CCUUSSTTOOMMAACACTCITOITONIONN</p>
      <p>CUSTOM (S)
SSCCRRIPIPTT(S)</p>
      <p>SCRIPTS
THINKENGINE
RUNTIME</p>
      <p>REFLECTION</p>
      <p>LAYER
BR PLA</p>
      <p>A N
AD ISN IGNN
E
R
H
T
Y
T
I
N</p>
      <p>U</p>
      <p>AI, like: modelling of non-player characters (NPC) with spatio-temporal reasoning based
AIs, automated game resource management, path planning, declarative (and not more
“procedural”) content generation, automated narrative generation based on qualitative
descriptions, dynamic dialogue systems, etc.
• non programmers can participate in the implementation of decision making modules;
• the strong decoupling between declarative decision making and action execution makes
much easier to separate and parallelize the development of both;
• the decoupling from the game engine itself allows standalone testing, isolated debugging
and optimization.</p>
      <p>However, the above advantages pair up with the known barriers to the adoption of declarative
tools in demanding applications and in the videogame application settings in particular. Such
barriers are mostly related to the actual declarativity of the formalism at hand, its evaluation
eficiency, and the integration methodology with applications.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Some selected open issues</title>
      <p>Integration. When one aims to integrate reasoning modules in industrial applications, and
especially videogames, two main technical obstacles arise. One concerns the information flow
and the coordination between reasoning tasks and other parts of the software; the second
obstacle is related to the symbol grounding, i.e. the longstanding issue of abstracting raw data to
a symbolic synthesis thereof (not to be confused with the close technical concept of “grounding”
meant in the sense of “instantiation” of an ASP program).</p>
      <p>
        Concerning the coordination of the reasoning tasks, recall that a videogame is typically
executed by running the so called game-loop routine [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]. The game loop consists in a
singlethreaded repeated execution of update operations to the current game scene: within each step
of this cycle, user input is processed, AI decision-making operations are made, and the game
scene is modified accordingly. A physics simulation of the world and the general game logic
is also taken into account when changing the game environment. The operations performed
within the game loop strictly mimic the reactive sense-think-act cycle typical of agents and
robotic systems [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ], in which sensing, thinking and acting steps are repeatedly performed.
      </p>
      <p>
        Similarly to real life applications, in videogames reactive AI modules coexist with non-reactive
portions of the game logic: reactive modules are usually implemented using relatively fast
techniques, such as behavior trees, finite state automata, rule sets or combinations thereof [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ],
and can run in the main game-loop. This type of module comes into play when quick “instinctive”
decisions need to be taken by artificial characters: think, e.g., at programmed fight-or-flight
responses when an artificial opponent is attacked.
      </p>
      <p>
        On the other hand, strategic decision-making processes are likewise necessary. They are
realized using long term, goal-oriented techniques, which often involve utility-based, planning,
and simulation techniques. Longer running reasoning tasks are for instance required for
common videogame AI modules such as path-planning, hierarchical task planning and resource
management. As these require longer processing time, their execution within the default
gameloop is troublesome. It is thus natural to generalize this reactive/non-reactive duality to the
so-called hybrid deliberative/reactive paradigm [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] (HDR, Figure 2), in which fast “instinctive”
behaviors are combined in a proper way with long term reasoning tasks such as plan generation.
      </p>
      <p>
        This model has in turn been recently generalized both in economics and social science [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ]
and in the wider AI community [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ], by proposing to model rational agents in terms of two
interacting sides: System 1, the fast, instinctive, reactive, often non-symbolic subsystem; and
System 2, a subsystem capable of better strategic decisions, yet requiring longer reasoning
times and a proper symbolic preprocessing and abstraction layer. Both System 1 and System 2
decision-making activities can be deemed important and need to co-exist.
      </p>
      <p>
        The interaction between both types of reasoning calls for the introduction of a scheme similar
to the general HDR one, in which long-running reasoning tasks are made possible, but do not
enforce heavy computational loads on the main game loop. The outcome of non-reactive tasks
can be used to act directly on the game logic, or to re-program reactive behaviors of game
characters. Although prototypical systems, like the ThinkEngine developed by our research
group, ofer a form of HDR scheme in which ASP reasoning tasks can be run asynchronously,
many aspects are not properly systematized yet. Especially, there is no clear semantics on how
deliberate modules can re-program reactive modules and execute plans. A good starting point
in this respect can be hybrid ASP languages like ActHEX [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] that are meant to synthesize
actions to be executed in an external environment.
      </p>
      <p>
        Abstraction. Concerning the second integration issue, abstraction has been studied in
ASP [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ] especially aiming at reducing the number of symbols processed by solvers, thus
reducing computing times yet preserving some form of semantic equivalence. An exploration
of how fine-grained knowledge, such as raw spatial and temporal floating point data, can be
systematically abstracted to a symbolic layer suitable for ASP reasoning has not been done yet.
In this respect interval reasoning technique[
        <xref ref-type="bibr" rid="ref38">38</xref>
        ] look promising and could be beneficial on at
least two aspects: performance-wise, abstraction can often make the diference in reaching the
desired performance cutof threshold. Abstraction is common practice in the videogame realm,
such as when pixel-grained game maps are abstracted to a few strategic waypoints. As a second
advantage, the availability of an automated abstraction layer can cut down design times, as this
operation usually requires time-consuming manual design decisions.
      </p>
      <p>
        Performance. Automated decision making in dynamic environments, where the world
description is continuously and fastly changing, enforces strict reasoning time limits. Let us
consider a decision-making reasoning task  , which can be either reactive or nonreactive.
Specifically, if  is represented using ASP syntax, it is fed to an ASP solver composed of two
separate computational steps: instantiation (also called “grounding”, not to be confused with
the related notion of symbol grounding), and resolution (also called “solving” in the proper
sense). Both steps have their impact in performance, and especially grounding is crucial when
big data flows and reactive tasks come into play. Rapid environment changes are typical of
videogames, which are thus an ideal controlled environment for introducing stop &amp; restart
techniques capable of stopping no more valid reasoning tasks and resuming them under updated
input data: this is needed, e.g., in case of events that trigger replanning. Also, no matter whether
reactive or not, a time consuming “think” step may constitute a great performance bottleneck.
The execution times of reasoning tasks can be greatly improved if incremental techniques are
introduced. An incremental solver makes only quick diferential updates to its internal state
when some of the input data are changed. Videogames are exemplary also in this respect
and could greatly benefit from AIs implemented using fast incremental solving techniques.
Whenever it is not desirable or possible to execute long, ofline, reasoning tasks like in hybrid
reactive/deliberative models, the introduction of incremental reasoning techniques becomes
even more strategic. Much efort has been done recently in this direction: some ASP systems
allow full incrementality, at the price of manually programming which and how parts of an ASP
specifications should be (re-)evaluated [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], thus loosing some declarativity; other contributions
enable a form of incrementality which is transparently performed “under-the-hood” from the
perspective of the application designer, but are limited on the language expressivity [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]; the
recent work of our group, based on the notion of “overgrounding” is also fully transparent
to specification designers, yet it limits diferential computations to the so called “grounding”
stage only [
        <xref ref-type="bibr" rid="ref28 ref30 ref39">30, 28, 39</xref>
        ]. This choice limits performance improvements mostly to reactive tasks.
None of the above work addressed so far the issue of computation restarts triggered by external
input changes. We nonetheless foresee that our recently developed overgrounding techniques
could be lifted to all the stages of the ASP solving pipeline, and can be generalized to introduce
forms of computation restart techniques. New extensions should inherit the support of all the
linguistic features of ASP, and keep the incremental evaluation out of the necessity of manual
programming.
      </p>
      <sec id="sec-3-1">
        <title>Whitebox AI procedures for content generation. Machine learning techniques are often</title>
        <p>
          used in the videogames industry for content generation of videogame levels that are
aesthetically like human-authored examples (see, e.g., [
          <xref ref-type="bibr" rid="ref40">40</xref>
          ]). For this purpose, Generative Adversarial
Networks (GANs) have been shown particularly efective on this task because they enable
the creation of levels that are stylistically like human examples [
          <xref ref-type="bibr" rid="ref41">41, 42</xref>
          ]. However, it has been
recently shown that GANs can often fail to produce videogame levels with playability
criteria [43], making tiresome human intervention necessary to “repair” a machine-generated
level. In order to automate this process, several techniques have been proposed, most of them
focused on a generate-then-repair approach for first generating levels from models trained on
human-authored examples and then repairing them with minimum cost edits to render them
playable. Such techniques leverage on Mixed Integer Linear Programming (MILP) to encode the
playability constraints for the repair procedure (see, e.g., [44]). It is appealing to investigate
the efectiveness of symbolic methods, namely ASP, Pseudo-Boolean, and Satisfiability
Modulo Theory (SMT), in combination with subsymbolic methods (GANs), to encode playability
constraints for automated repair of generated content.
        </p>
        <p>Declarative pattern mining. The detection of changes in the scenes or in the game
characters is relevant e.g. for triggering NPC behavior changes, or for simply proposing diferent
background music or elements. Pattern mining traditionally provides a bunch of techniques
for the discovery of regularities in a data set, e.g. so-called frequent patterns are statistically
significant regularities in a set of transactions. The classic problem of frequent pattern
mining [45] concerns indeed the enumeration of all the patterns whose absolute support exceeds a
user-defined minimum support threshold minSup.</p>
        <p>A complementary problem is the discovery of statistically significant diferences (or contrast)
between two disjoint sets of transactions [46]. This requires the enumeration of all the patterns
whose absolute support diference exceeds the user-defined minimum support threshold. The
discovery of the pattern types such as contrast/diference patterns, as well as emerging patterns
and change patterns, can be viewed as special cases of the same pattern mining problem, whose
aim is to detect patterns relating two or more given datasets. These patterns have been shown
to be a powerful method for constructing accurate classifiers, since they can describe emerging
behavior with respect to a property of interest. One such feature is desirable also for the
modeling of non-player characters.</p>
        <p>An interesting direction of work is the investigation of some of these variants of the frequent
pattern mining problem within a declarative framework, notably ASP. A driving feature of ASP
solvers is indeed the possibility of enumerating all solutions, in the form of answer sets. This
appears particularly suitable for pattern mining problems. Both contrast, emerging and change
pattern mining fall into the broader category of constraint-based pattern mining [47], and can
therefore be efectively encoded in declarative formalisms such as ASP, like in [ 48]. The problem
specifications will naturally combine diferent constraints without having to devise new solving
algorithms for specific mining tasks, thanks to the declarative nature of ASP. The challenges
here are the identification of the most appropriate level of abstraction in the representation of a
scene or a player, and the definition of change underlying the discovery process.</p>
        <p>A second direction to pursue concerns the use of background knowledge related to the
specific domain for the videogame in hand. Such prior domain knowledge might cover some
aspects deemed of interest from either the methodological viewpoint or the applicative one.
Particularly relevant in the videogame context is the spatial dimension. So, the background
knowledge might come in the form of hierarchies of spatial objects, and patterns could then
highlight spatial relations among the entities and ofer descriptions of the scenes at multiple
levels of granularity, as done in [49]. This direction of research would bridge the gap between
the declarative approach and the object-based representations that are typical in the videogame
context. Hybrid knowledge representation formalisms could be considered to the purpose,
notably those formalisms which integrate ASP and DLs [50].</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Impact for applicative research</title>
      <p>The Videogame industry is an emblematic representative of a real-world application field where
practical barriers prevent the wide adoption of AI methodologies, both symbolic/deductive and
sub-symbolic/inductive. Elevated standards of eficiency and ease of use set a hard to reach
cutof threshold for the introduction of promising paradigms such as ASP in the above contexts.
Today, ASP applications can be made performant, yet at the price of much “under-the-hood”
optimization burden of which only ASP specialists are capable. This compromises ease of use
and declarativity and is not welcome from the industrial perspective.</p>
      <p>One might thus look at redefined adherence to declarativity and a transparent eficiency ,
confining back under-the-hood the technicalities of the ASP semantics yet ensuring eficient
evaluation. Besides the widely accepted interest in explainability, a general goal for the AI
community would be to regain the ability of knowledge transfer and elaboration tolerance: the first,
not to be confused with transfer learning, is intended as achieving rapid transfer of knowledge
from AI designers to AI modules. Elaboration tolerance [51] represents the capability of easily
configuring and modifying the behavior of an AI module whenever new desiderata need to be
added. It is thus important to ofer whitebox AI components featuring “visible knobs” which can
be used for instant tuning and configuration. This is in contrast with subsymbolic techniques
that, although very useful in several respects, currently lack explainability, a fundamental
requirement for achieving knowledge transfer and elaboration tolerance.</p>
      <p>Besides these general goals, progress in videogames AI broadly overlaps with many
applicative research fields. A punctual, yet incomplete list of possible technological applications of
videogames AI includes:</p>
      <sec id="sec-4-1">
        <title>Virtual environments and augmented reality. Serious games and virtual environment</title>
        <p>exploration tools are customarily built with game development tools, and share many
requirements with videogames. In this respect declarative path-planning and declarative content
generation are naturally appealing. Early research lines are moving in this direction [52].
Simulation and predictive maintenance. When realizing a simulation task in the
automotive field, controlled content generation of images is of paramount importance in order to
train ML algorithms. Concerning predictive maintenance, advances in integrating declarative
AI in games could ofer new digital twin-based solutions in order to test predictive maintenance
techniques.</p>
        <p>Robot guidance and robotic surgery. Among many industrial and research usages of the
Unity engine it is worth mentioning robotic surgery [53], a field in which automated motion
planning and spatial reasoning are seen with keen interest. In the same direction goes the
research investigating the relationship between fine-grained motion planning and declarative
methods [54].</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Bridging videogames to research: a Drosophila for AI</title>
      <p>There are countless research application fields where it is very expensive or dificult to let
researchers access real data or physical resources and for which videogames represent the
natural digital twin: trafic control, smart cities, autonomous driving, robotic surgery, digital
forensics, are only a few examples. Basic KR research areas such as spatio-temporal reasoning,
deontic and legal reasoning, qualitative physics, planning, to cite a few, can potentially have
strong beneficial fall-out on applicative research like the above. This impact can be boosted
if reproducible controlled environments were available and made of the same complexity of
real contexts. Enabling easy-to-wire declarative modules in one of the most used game and
simulation engines goes in this direction, also considering the role of ASP as a middle-ware for
implementing many of the abovementioned KR formalisms.</p>
      <p>An incomplete list of hot research topics can include:
Digital Forensics. Evidence Analysis, a crucial phase in Digital Forensics, ranges from
the analysis of fragmented incomplete knowledge, to the reconstruction and aggregation
of complex scenarios involving time, uncertainty, causality and alternate possibilities. The
Scientific Investigation experts usually proceed by relying on their experience and intuition as no
established methodology exists today. Games can be useful and powerful means for supporting
digital forensics. They can provide digital twins where hypotheses, made using temporal
reasoning and qualitative physics, can be evaluated in a comparative way. The automated
discovery of regularities in crime scenes provides precious hints to investigators [55, 56, 57]:
when empowered with reasoning modules, games show an added value with respect to other
simulation environments. In this respect it is worth mentioning the COST Action “Digital
forensics: evidence analysis via intelligent systems and practices” (DigForASP). DigForASP has
set up an international network for exploring the potential of AI techniques (in particular, KR
and Automated Reasoning) in the Digital Forensics field, and for creating synergies between
these two fields.</p>
      <p>Agent interaction, machine ethics. Among AI research areas possibly benefitting from
the availability of a tool like ThinkEngine playing the role of a controlled environment for
experimentation, one may consider using games for simulating the interaction between agents,
e.g., in order to study their compliance with the ethical guidelines for a Trustworthy AI. In this
context, a major obstacle to the operationalization and implementation of these requirements
in AI systems is just the lack of datasets and benchmarks. Games might compensate for this
lack, might help to get better insights into the dynamics of a corresponding real-world system,
and can assess the practical challenges of building such a system. ASP, and more generally
non-monotonic reasoning, is particularly suitable for dealing with ethical principles as testified
by several proposals [58].</p>
      <p>Stream reasoning. Besides the technical and scientific interest of connecting videogames
to research, it is worth mentioning the very close connection with stream reasoning. The
potential impact on applications like smart cities, power grid management, urban trafic control,
where fast decision-making on big and dynamic data flows has immediate implications on the
green economy, is fairly straightforward. All these applications fall under the stream reasoning
umbrella where declarative techniques find a natural application. Stream reasoning also shares
with videogames the need of performing AI reasoning under fast-paced input event flows.
Intrinsic value of videogames. The videogame market, the highest selling category in the
entertainment industry [59], has seen a high increase in demand in the COVID-19 era, with
new job openings and an even larger portfolio of games. Videogames, no matter if played with
family, with friends, online in massive groups, or alone, were the place in which many of us
found a form of sociality and consolation in the dificult times of COVID-19. One should recall
that videogames are not just the place many scientists dream to leverage their ideas on, but
also a way of living engaging stories, worlds and atmospheres. The realization of these latter
necessitates innovative AI tools.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Acknowledgments</title>
      <p>This article has been partially supported by the Italian MIUR Ministry and the Presidency of
the Council of Ministers under the project “Declarative Reasoning over Streams” under the
“PRIN” 2017 call (Project 2017M9C25L_001), and includes work from COST Action 17124 “Digital
forensics: evidence analysis via intelligent systems and practices (DigForASP)”, supported by
COST (European Cooperation in Science and Technology).
networks, in: GEM, IEEE, 2018, pp. 316–323.
[42] V. Volz, J. Schrum, J. Liu, S. M. Lucas, A. M. Smith, S. Risi, Evolving Mario levels in the
latent space of a deep convolutional generative adversarial network, in: GECCO, ACM,
2018, pp. 221–228.
[43] R. R. Torrado, A. Khalifa, M. C. Green, N. Justesen, S. Risi, J. Togelius, Bootstrapping
conditional GANs for video game level generation, in: CoG, IEEE, 2020, pp. 41–48.
[44] H. Zhang, M. C. Fontaine, A. K. Hoover, J. Togelius, B. Dilkina, S. Nikolaidis, Video game
level repair via mixed integer linear programming, in: L. Lelis, D. Thue (Eds.), AIIDE,
AAAI Press, 2020, pp. 151–158.
[45] C. C. Aggarwal, J. Han (Eds.), Frequent Pattern Mining, Springer, 2014.
[46] G. Dong, J. Bailey (Eds.), Contrast Data Mining: Concepts, Algorithms, and Applications,</p>
      <p>CRC Press, 2013.
[47] S. Nijssen, A. Zimmermann, Constraint-based pattern mining, in: C. C. Aggarwal, J. Han
(Eds.), Frequent Pattern Mining, Springer, 2014, pp. 147–163.
[48] F. A. Lisi, G. Sterlicchio, A declarative approach to contrast pattern mining, in: AIxIA. To
appear., 2023.
[49] F. A. Lisi, D. Malerba, Inducing multi-level association rules from multiple relations, Mach.</p>
      <p>Learn. 55 (2004) 175–210.
[50] T. Eiter, G. Ianni, T. Lukasiewicz, R. Schindlauer, H. Tompits, Combining answer set
programming with description logics for the semantic web, Artif. Intell. 172 (2008) 1495–
1539.
[51] J. McCarthy, Elaboration tolerance, https://stanford.io/3UIlwsM, 1998.
[52] A. Brännström, J. C. Nieves, A framework for developing interactive intelligent systems
in unity, in: 10th EMAS workshop at AAMAS, 2022.
[53] A. Segato, M. D. Marzo, S. Zucchelli, S. Galvan, R. Secoli, E. D. Momi, Inverse reinforcement
learning intra-operative path planning for steerable needle, IEEE Trans. Biomed. Eng. 69
(2022) 1995–2005.
[54] Y. Izmirlioglu, E. Erdem, Reasoning about cardinal directions between 3-dimensional
extended objects using answer set programming, Theory Pract. Log. Program. 20 (2020)
942–957.
[55] F. A. Lisi, Combining knowledge representation and machine learning in forensics,
Applications of AI to Forensics 2020 (AI2Forensics 2020) (2020) 1.
[56] F. A. Lisi, G. Sterlicchio, Declarative pattern mining in digital forensics: Preliminary results,
in: CILC, volume 3204, CEUR-WS.org, 2022, pp. 232–246.
[57] F. A. Lisi, G. Sterlicchio, Mining sequences in phone recordings with answer set
programming, in: P. Bruno, F. Calimeri, F. Cauteruccio, M. Maratea, G. Terracina,
M. Vallati (Eds.), Joint Proceedings of (HYDRA 2022) and (RCRA 2022) at (LPNMR
2022), volume 3281 of CEUR Workshop Proceedings, CEUR-WS.org, 2022, pp. 34–50. URL:
http://ceur-ws.org/Vol-3281/paper4.pdf.
[58] A. Dyoub, S. Costantini, F. A. Lisi, Logic programming and machine ethics, in: ICLP,
volume 325, 2020, pp. 6–17.
[59] Newzoo global games market report 2022, https://newzoo.com/insights/trend-reports/
newzoo-global-games-market-report-2022-free-version, Last accessed: Jan 2023.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Orkin</surname>
          </string-name>
          ,
          <article-title>Three states and a plan: the AI of F</article-title>
          .E.A.R.,
          <source>in: Game Developers Conference</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N.</given-names>
            <surname>Nilsson</surname>
          </string-name>
          ,
          <article-title>STRIPS planning systems</article-title>
          ,
          <source>Artificial Intelligence: A New Synthesis</source>
          (
          <year>1998</year>
          )
          <fpage>373</fpage>
          -
          <lpage>400</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Halo</surname>
          </string-name>
          ,
          <year>2001</year>
          . URL: https://www.xbox.com/en-US/games/halo.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Black &amp; White</surname>
          </string-name>
          ,
          <year>2001</year>
          . URL: https://www.ea.com/games/black-and
          <article-title>-white.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Genesereth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Love</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pell</surname>
          </string-name>
          ,
          <article-title>General game playing: Overview of the AAAI competition</article-title>
          ,
          <source>AI Mag</source>
          .
          <volume>26</volume>
          (
          <year>2005</year>
          )
          <fpage>62</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Schaul</surname>
          </string-name>
          ,
          <article-title>A video game description language for model-based or interactive learning</article-title>
          , in: CIG, IEEE,
          <year>2013</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Nelson</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Mateas, LUDOCORE: A logical game engine for modeling videogames</article-title>
          , in: CIG, IEEE,
          <year>2010</year>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>98</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Liebana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Samothrakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Togelius</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schaul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Lucas</surname>
          </string-name>
          ,
          <article-title>General video game AI: competition, challenges and opportunities</article-title>
          , in: AAAI,
          <year>2016</year>
          , pp.
          <fpage>4335</fpage>
          -
          <lpage>4337</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>O.</given-names>
            <surname>Bartheye</surname>
          </string-name>
          ,
          <string-name>
            <surname>E. Jacopin,</surname>
          </string-name>
          <article-title>A real-time PDDL-based planning component for video games</article-title>
          , in: AIIDE, The AAAI Press,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Robertson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Young</surname>
          </string-name>
          ,
          <article-title>The general mediation engine, Experimental AI in Games: Papers from the 2014 AIIDE Workshop</article-title>
          .
          <source>AAAI Technical Report WS-14-16</source>
          <volume>10</volume>
          (
          <year>2014</year>
          )
          <fpage>65</fpage>
          -
          <lpage>66</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Robertson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Young</surname>
          </string-name>
          ,
          <source>Automated gameplay generation from declarative world representations, in: AIIDE</source>
          , AAAI Press,
          <year>2015</year>
          , pp.
          <fpage>72</fpage>
          -
          <lpage>78</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <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 Mag</source>
          .
          <volume>37</volume>
          (
          <year>2016</year>
          )
          <fpage>53</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>A. M. Smith</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Mateas</surname>
          </string-name>
          ,
          <article-title>Answer set programming for procedural content generation: A design space approach</article-title>
          ,
          <source>IEEE Trans. Comput. Intell. AI Games</source>
          <volume>3</volume>
          (
          <year>2011</year>
          )
          <fpage>187</fpage>
          -
          <lpage>200</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>L. van Aanholt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bidarra</surname>
          </string-name>
          ,
          <article-title>Declarative procedural generation of architecture with semantic architectural profiles</article-title>
          , in: CoG, IEEE,
          <year>2020</year>
          , pp.
          <fpage>351</fpage>
          -
          <lpage>358</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Thielscher</surname>
          </string-name>
          ,
          <article-title>Answer set programming for single-player games in general game playing</article-title>
          ,
          <source>in: ICLP</source>
          , volume
          <volume>5649</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2009</year>
          , pp.
          <fpage>327</fpage>
          -
          <lpage>341</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>F.</given-names>
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Germano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Humenberger</surname>
          </string-name>
          , G. Ianni,
          <string-name>
            <given-names>C.</given-names>
            <surname>Redl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Stepanova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          ,
          <article-title>Angry-hex: An artificial player for angry birds based on declarative knowledge bases</article-title>
          ,
          <source>IEEE Trans. Comput. Intell. AI Games</source>
          <volume>8</volume>
          (
          <year>2016</year>
          )
          <fpage>128</fpage>
          -
          <lpage>139</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Renz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Ge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gould</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. Zhang,</surname>
          </string-name>
          <article-title>The angry birds AI competition</article-title>
          ,
          <source>AI Mag</source>
          .
          <volume>36</volume>
          (
          <year>2015</year>
          )
          <fpage>85</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stanescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Certický</surname>
          </string-name>
          ,
          <article-title>Predicting opponent's production in real-time strategy games with answer set programming</article-title>
          ,
          <source>IEEE Trans. Comput. Intell. AI Games</source>
          <volume>8</volume>
          (
          <year>2016</year>
          )
          <fpage>89</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>F.</given-names>
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fuscà</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Germano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Perri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zangari</surname>
          </string-name>
          ,
          <article-title>Fostering the use of declarative formalisms for real-world applications: The EmbASP framework</article-title>
          , New Gener. Comput.
          <volume>37</volume>
          (
          <year>2019</year>
          )
          <fpage>29</fpage>
          -
          <lpage>65</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>O.</given-names>
            <surname>Febbraro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Grasso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          ,
          <article-title>JASP: A framework for integrating answer set programming with Java</article-title>
          , in: KR, AAAI Press,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Fink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Germano</surname>
          </string-name>
          , G. Ianni,
          <string-name>
            <given-names>C.</given-names>
            <surname>Redl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Schüller</surname>
          </string-name>
          ,
          <article-title>Acthex: Implementing HEX programs with action atoms</article-title>
          ,
          <source>in: LPNMR</source>
          , volume
          <volume>8148</volume>
          , Springer,
          <year>2013</year>
          , pp.
          <fpage>317</fpage>
          -
          <lpage>322</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>J.</given-names>
            <surname>Rath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Redl</surname>
          </string-name>
          ,
          <article-title>Integrating answer set programming with object-oriented languages</article-title>
          ,
          <source>in: PADL</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>50</fpage>
          -
          <lpage>67</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>D.</given-names>
            <surname>Angilica</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Ianni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pacenza</surname>
          </string-name>
          ,
          <string-name>
            <surname>Declarative</surname>
            <given-names>AI</given-names>
          </string-name>
          <article-title>design in unity using answer set programming</article-title>
          ,
          <source>in: CoG</source>
          , IEEE,
          <year>2022</year>
          , pp.
          <fpage>417</fpage>
          -
          <lpage>424</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <article-title>Unity 3D game engine</article-title>
          ,
          <source>Last accessed: Jan</source>
          <year>2023</year>
          . URL: https://unity3d.com/unity.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <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 Pract. Log. Program</source>
          .
          <volume>20</volume>
          (
          <year>2020</year>
          )
          <fpage>176</fpage>
          -
          <lpage>204</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>H.</given-names>
            <surname>Beck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Folie</surname>
          </string-name>
          ,
          <article-title>Ticker: A system for incremental ASP-based stream reasoning</article-title>
          ,
          <source>Theory Pract. Log. Program</source>
          .
          <volume>17</volume>
          (
          <year>2017</year>
          )
          <fpage>744</fpage>
          -
          <lpage>763</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kaminski</surname>
          </string-name>
          , B. Kaufmann, T. Schaub,
          <article-title>Multi-shot ASP solving with clingo</article-title>
          ,
          <source>Theory Pract. Log. Program</source>
          .
          <volume>19</volume>
          (
          <year>2019</year>
          )
          <fpage>27</fpage>
          -
          <lpage>82</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>G.</given-names>
            <surname>Ianni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pacenza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zangari</surname>
          </string-name>
          ,
          <article-title>Incremental maintenance of overgrounded logic programs with tailored simplifications</article-title>
          ,
          <source>Theory Pract. Log. Program</source>
          .
          <volume>20</volume>
          (
          <year>2020</year>
          )
          <fpage>719</fpage>
          -
          <lpage>734</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Falkner</surname>
          </string-name>
          , G. Friedrich,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schekotihin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Taupe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. C.</given-names>
            <surname>Teppan</surname>
          </string-name>
          ,
          <article-title>Industrial applications of answer set programming</article-title>
          ,
          <source>Künstliche Intell</source>
          . (
          <year>2018</year>
          )
          <fpage>165</fpage>
          -
          <lpage>176</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>F.</given-names>
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Ianni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pacenza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Perri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zangari</surname>
          </string-name>
          ,
          <article-title>Incremental answer set programming with overgrounding</article-title>
          ,
          <source>Theory Pract. Log. Program</source>
          .
          <volume>19</volume>
          (
          <year>2019</year>
          )
          <fpage>957</fpage>
          -
          <lpage>973</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>F.</given-names>
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Germano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Ianni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pacenza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Perri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zangari</surname>
          </string-name>
          ,
          <article-title>Integrating rule-based AI tools into mainstream game development</article-title>
          , in: RuleML+RR, volume
          <volume>11092</volume>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>310</fpage>
          -
          <lpage>317</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>M.</given-names>
            <surname>Joselli</surname>
          </string-name>
          , et al.,
          <article-title>An adaptative game loop architecture with automatic distribution of tasks between CPU and GPU, Comput</article-title>
          . Entertain.
          <volume>7</volume>
          (
          <year>2009</year>
          )
          <volume>50</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>50</lpage>
          :
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Murphy</surname>
          </string-name>
          , Introduction to AI Robotics, MIT Press,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <surname>I. Millington</surname>
          </string-name>
          ,
          <source>Artificial Intelligence for Games</source>
          ,
          <source>Third Edition</source>
          , CRC Press,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kahneman</surname>
          </string-name>
          , Thinking, fast and slow, Farrar, Straus and Giroux. New York,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>G.</given-names>
            <surname>Booch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fabiano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Horesh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kate</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lenchner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Linck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Loreggia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Murugesan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mattei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          ,
          <article-title>Thinking fast and slow in AI</article-title>
          , in: AAAI, AAAI Press,
          <year>2021</year>
          , pp.
          <fpage>15042</fpage>
          -
          <lpage>15046</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>Z. G.</given-names>
            <surname>Saribatur</surname>
          </string-name>
          , T. Eiter,
          <article-title>Omission-based abstraction for answer set programs</article-title>
          ,
          <source>in: KR</source>
          , AAAI Press,
          <year>2018</year>
          , pp.
          <fpage>42</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Allen</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Ferguson, Actions and events in interval temporal logic</article-title>
          ,
          <source>J. Log. Comput</source>
          .
          <volume>4</volume>
          (
          <year>1994</year>
          )
          <fpage>531</fpage>
          -
          <lpage>579</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>F.</given-names>
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Ianni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pacenza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Perri</surname>
          </string-name>
          , J. Zangari,
          <article-title>ASP-based multi-shot reasoning via DLV2 with incremental grounding, in: PPDP</article-title>
          , ACM,
          <year>2022</year>
          , pp.
          <volume>2</volume>
          :
          <fpage>1</fpage>
          -
          <issue>2</issue>
          :
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>A.</given-names>
            <surname>Summerville</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Snodgrass</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Guzdial</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Holmgård</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Hoover</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Isaksen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nealen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Togelius</surname>
          </string-name>
          ,
          <article-title>Procedural content generation via machine learning (PCGML)</article-title>
          ,
          <source>IEEE Trans. Games</source>
          <volume>10</volume>
          (
          <year>2018</year>
          )
          <fpage>257</fpage>
          -
          <lpage>270</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>E.</given-names>
            <surname>Giacomello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. L.</given-names>
            <surname>Lanzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Loiacono</surname>
          </string-name>
          ,
          <article-title>DOOM level generation using generative adversarial</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>