<!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>GRACE: A Simulator for Continuous Goal Recognition over Changing Environments</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zihang Su</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Artem Polyvyanyy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nir Lipovetzky</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Sardina</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nick van Beest</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>The University of Melbourne</institution>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>13</lpage>
      <abstract>
        <p>Goal Recognition (GR) is a research problem that studies ways to infer the goal of an intelligent agent based on its observed behavior and knowledge of the environment. A common assumption of GR is that the underlying environment is stationary. However, in many real-world scenarios, it is necessary to recognize agents' goals over extended periods. Therefore, it is reasonable to assume that the environment will change throughout a series of goal recognition tasks. This paper introduces the problem of continuous GR over a changing environment. The solution to this problem is a GR system capable of recognizing agents' goals over an extended period where the environment in which the agents operate changes. To support the evaluation of candidate solutions to this new GR problem, in this paper, we present the Goal Recognition Amidst Changing Environments (GRACE) tool for generating instances of the new problem. Specifically, the tool can be configured to generate GR problems that account for diferent environmental changes and drifts. GRACE can generate a series of modified environments over discrete time steps and the data induced by agents operating in the environment while completing diferent goals.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Goal recognition</kwd>
        <kwd>Changing environment</kwd>
        <kwd>Environment drift</kwd>
        <kwd>GRACE</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Goal recognition (GR) techniques aim to develop a GR system capable of detecting the
goal/intention of an agent embedded in an environment based on the observed behavior of the agent.
The existing GR techniques, such as the plan library-based approaches [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ], the
planningbased approaches [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ], and the process mining (PM-)based approach [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], focus on developing
algorithms to solve a “single-shot” GR problem (that is, to correctly infer the most likely goal
the agent is trying to achieve now) and assume that the underlying environment is stationary.
However, in many real-world scenarios, a GR system is expected to continuously tackle multiple
GR tasks over an extended period where the environment in which the agents operate changes.
When the environment changes, the agents’ behaviors for achieving the goals also change.
This phenomenon is observed in business processes when the behavior of process participants
changes to address new regulations, compliance rules, and innovative ways of doing business [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
We refer to this GR problem as the problem of continuous GR over a changing environment.
      </p>
      <p>The research on the problem of continuous GR is impeded by the lack of benchmarks for
evaluating candidate solutions. Thus, in this paper, we present the Goal Recognition Amidst
Changing Environments (GRACE) tool for generating changes in environments where agents
work towards various goals. As seed environments, that is, those environments over which
changes are applied, we use the static domains widely used in classical GR.1</p>
      <p>
        We identify a change in an environment based on two aspects. Firstly, we characterize a
change in the environment in which agents fulfill goals based on changes in the components
that define the corresponding GR problem. For example, such components can be the initial and
goal states of the agents and actions the agents can perform in the environment. Secondly, by
interpreting an environment as a signal, and, consequently, a change in the original environment
as a change in the original signal, we characterize changes in the environment based on the
diferent types of concept drift [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. For example, a change in the environment can be sudden or
can be such that it progresses gradually over time.
      </p>
      <p>Concretely, this paper makes the following two contributions:
• It motivates and defines the problem of continuous GR over a changing environment; and
• It presents a tool, called GRACE, that can imitate changes in the environment in which
agents strive to achieve goals and, thus, can serve as a simulator for GR systems for
solving problems of continuous GR over a changing environment.</p>
      <p>In the next section, we define the problem of continuous GR over a changing environment
and discuss diferent types of changes in the environment our tool aims to support. Section 3
presents the tool. Section 4 examines related work before conclusions are given in Section 5.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Continuous Goal Recognition</title>
      <p>This section starts with an example that motivates the problem of continuous GR over a changing
environment (Section 2.1). Then, we define this problem (Section 2.2) and discuss diferent types
of changes (Section 2.3) and drifts (Section 2.4) that may happen in an environment over time
and, thus, must be accounted for when solving the continuous version of the GR problem.</p>
      <sec id="sec-2-1">
        <title>2.1. Motivating Example</title>
        <p>Figure 1 presents a synthetic example of an environment change from environment  to
environment , both given as 11 × 11 grids. In environment , there are four keys (objects)
located in two rooms and four locked cells (see the cells with the gray background). The locked
cells can be unlocked using the corresponding keys; for example, locked cell 1 can be unlocked
using Key1 . A robot (an agent) starts from the initial cell  at cell (0, 0) and can move to any
adjacent cell if there is no wall between those two cells; walls are shown as solid black lines in
the figure. Once the robot reaches a cell with a key, it can pick up the key in that cell. It can
subsequently carry the key. If the robot that carries a key reaches the corresponding locked cell,
it can unlock it. In the environment, there are two goal states, 1 and 2, surrounded by walls
or locked cells. Once a cell is unlocked, the robot can pass it to reach a goal state.</p>
        <p>1https://github.com/pucrs-automated-planning/goal-plan-recognition-dataset</p>
        <p>Key1</p>
        <p>Key2
Room 1
Room 2</p>
        <p>Key3
Key4
0 I</p>
        <p>Key3</p>
        <p>Key4
Room 1</p>
        <p>2
Room 2</p>
        <p>Key1
Key2</p>
        <p>In environment , Key1 and Key2 are located in Room 1, while Key3 and Key4 are located
in Room 2. Later, environment  changes to environment , in which Key1 and Key2 from
Room 1 are swapped with Key3 and Key4 from Room 2.</p>
        <p>We simulated a sequence of 20 GR problems. Each problem is composed of historical
behaviors of agents in the environment and observations for which a goal must be recognized.
These behaviors are the only available information about the environments where the agents
operate; complete descriptions of the environment are not available. The first ten problems
in the sequence were obtained based on the behaviors of agents in environment . Then, the
environment undergoes a sudden change, and the subsequent ten problems are based on the
behaviors of agents in environment . This sequence of 20 GR problems is publicly available.2</p>
        <p>
          We tackled the GR problems in the sequence using the GR system grounded in process mining
techniques [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. This GR system does not require the description of the environment and learns
it based on the historical observations of agents’ behaviors. Based on the assumption that the
environment is static, we learned the environment once, based on the observations of agents
in environment . Hence, the GR system learned that to achieve goal 1 (goal 2), the agent
must visit Room 1 (Room 2). Based on this knowledge, the system can achieve high accuracy
when solving the first 10 GR problems in the sequence. However, it performs poorly on the
remaining 10 GR problems. Indeed, the learned knowledge is outdated after the change to
environment  and needs to be updated to match the status quo. This example suggests that it
is reasonable to incorporate mechanisms that allow the GR system to adapt to environmental
changes, especially when operating over prolonged periods.
        </p>
        <p>2A sequence of 20 GR problems: https://github.com/zihangs/GRACE/tree/main/motivating_example.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Definition</title>
        <p>The state-of-the-art GR approaches focus on solving a GR problem in a stationary environment.
This version of the GR problem usually takes three inputs: (1) a sequence of actions, also
called an observation, denoted by , that has been executed by an autonomous agent and
observed by the GR system; (2) knowledge about the domain, or environment, in which the
agent operates, denoted by ; and (3) a set of possible goals that an agent may pursue in the
environment, namely goal candidates, denoted by . A solution to the problem often takes the
shape of a probability distribution over the goals, that is,  ( ∈ ). Therefore, an approach for
solving the classical GR problem defines a belief function  :  ×  ×  →  ( ∈ ) that
maps observations, knowledge about the environment, and goal candidates onto probability
distributions over the goals. The concrete distribution then expresses a belief of the observer,
the GR system, about the true goal being pursued by the agent.</p>
        <p>
          Domain knowledge  is diferent for diferent GR approaches. For example, for a plan
librarybased GR approaches [
          <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
          ], domain knowledge  is a handcrafted plan library that for each
candidate goal  ∈  contains a collection of representative plans for achieving . In turn,
for planning-based GR approaches [
          <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
          ], domain knowledge  amounts to a planning model
of the domain. Using the first-order representation [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ],  = ⟨, ⟩, where  is a first-order
planning domain composed of a set of action schemas and a set of predicate symbols, and 
is a set of information instances. Each information instance  ∈  is a tuple ⟨Obj , Init , ⟩,
where Obj  is a set of objects, Init  is the initial state, and  ∈  is one of the goal candidates.
Finally, for the PM-based GR approach [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ],  is a set of historical plans  , captured as traces of
an event log, such that each plan in  is labeled with the goal  ∈  it leads to.
        </p>
        <p>It is reasonable to assume that only partial information about the environment is available to
a GR system. As  and  contribute to the explanation of the environment, we accept them
as all and only knowledge about the environment available to a GR system, denoted by , and
rewrite the belief function for the -th GR problem in the series as  :  ×  → ( ∈ ),
 ∈ [1 .. ]. In the setting of the continuous GR problem, any two environments  and  ,
1 ≤ ,  ≤ , may be diferent, i.e.,  ̸=  . A naïve solution to a problem of continuous
GR in a changing environment can be achieved by solving each GR problem in the series
independently, for example, by applying some state-of-the-art GR system. However, a GR
system that operates over an extended period and solves a series of GR problems can benefit
from at least two factors. Firstly, when solving the next GR problem in the series, a GR system
can reuse all the experiences and results obtained from solving all the preceding GR problems.
Secondly, a GR system with access to historical trends and experiences can project them into
the future and then use these forecasts to tune its subsequent goal recognition practices.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Changes</title>
        <p>
          In this work, we rely on the first-order representation of environments [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Such a representation
consists of predicate symbols  , action schemas, objects Obj , goal candidates, and an initial
state. Thus, a change in an environment can stem from a change in any of these components:
1. Initial state: The initial state is defined by a set of ground predicates. A ground predicate
(1, . . . , ) consists of predicate symbol  ∈  and ground values 1, . . . ,  ∈ Obj .
To implement a change of the initial state, one can perform a random sequence of actions
(a walk) from the original initial state to some other state and then accept that other state
as a new initial state.
2. Ground actions: A ground action is obtained by assigning concrete values to the
parameters of an action schema. A ground action defines the preconditions for the action
occurrence and the efects it produces. A synthetic environment (an instance of a synthetic
domain) contains a finite number of ground actions, and one can modify the environment,
for example, by removing an arbitrary number of ground actions.
3. Goal candidates: A goal state, similar to the initial state, is given by a set of ground
predicates. A GR problem usually specifies multiple goal states. Again, a goal state can be
changed by executing some actions from that goal state and then accepting the resulting
state as a new goal state.
4. Objects: Objects are values that ground the predicates. They are used to identify states.
        </p>
        <p>One can augment objects, for instance, by removing them, which requires a subsequent
removal of the ground predicates defined over the removed objects. Note that such
removal of predicates can augment the initial state and/or some goal states.</p>
        <p>Once a new environment is obtained, it can be changed again. By applying changes iteratively,
one can generate a series of modified environments. Note that a modified environment can be
constructed by applying any subset of the above four changes simultaneously.</p>
      </sec>
      <sec id="sec-2-4">
        <title>2.4. Drifts</title>
        <p>
          Environment changes can progress diferently over time. For example, one can experience
abrupt changes that get into efect over a short period or observe small changes accumulating
over time. Diferent patterns of changes in the environment can be classified according to five
types of concept drifts [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], discussed below.
        </p>
        <p>1. Sudden drift, see Figure 2a, concerns the situation when the original environment
(env0 ) changes to the new environment (env1 ) over a short period. After the change
is implemented, the original environment is never observed again. In the figure, ten
environments are shown(1, . . . , 10), where environments 1, . . . , 5 are equal to
env0 while environments 5, . . . , 10 are equal to env1 .
2. Gradual drift, see Figure 2b, concerns the situation where observations of the
original environment (env0 ) alternate with increasingly frequent observations of the new
environment (env1 ) until env0 is no longer observed. The series of environments in
the figure consists of sixteen environments (1, . . . , 16). Environments 1, . . . , 4 are
equal to env0 , environments 12, . . . , 16 are equal to env1 , and the gradual drift from
env0 to env1 happens from 4 to 12.
3. Incremental drift concerns the situation when the environment “moves” from env0 to
env1 through a number of subsequent intermediate environments. Figure 2c shows a
series of environments 1, . . . , 12 that make up an incremental drift. Environments 1
to 4 are equal to env0 , then environment env0 moves to env1 through four intermediate
environments 5, 6, 7, and 8; not that environments 8 to 12 are all equal to env1 .
4. Reoccurring drift, see Figure 2d, concerns the situation when two distinct environments
env0 and env1 repeatedly alternate, where each environment is observed for some period.
1
t
n
e
m
n
o
ir
v
n
E
0
0.8
(a) Sudden
(b) Gradual
1 2 3 4 5 6 7 8 9 10 11 12</p>
        <p>Time
(c) Incremental
1 2 3 4 5 6 7 8 9 10111213141516</p>
        <p>Time
(d) Reoccurring
1 2 3 4 5 6 7 8 9 10</p>
        <p>Time
(e) Outlier</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. GRACE</title>
      <p>This section presents GRACE, a tool for generating input to a GR system that aims to solve a
continuous GR problem. GRACE is implemented in Python and is publicly available.3 Section 3.1
and Section 3.2 present the architecture and the interface of GRACE, respectively.</p>
      <sec id="sec-3-1">
        <title>3.1. Architecture</title>
        <p>
          The architecture of GRACE is shown in Figure 3. It consists of three components: Environment
Modifier, Planner, and Drift Generator. As input, GRACE takes a description of a GR problem in
Planning Domain Definition Language (PDDL) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], which specifies the environment, including
3https://github.com/zihangs/GRACE
        </p>
        <p>An environment
specification (PDDL)</p>
        <p>A series of GR problems</p>
        <p>Environments
(original &amp; modified)</p>
        <p>Sets of plans for
environments
Environment Modifier</p>
        <p>Planner</p>
        <p>Drift Generator</p>
        <p>The simulator for continuous GR over changing environments (GRACE)
the initial state, objects, goal candidates, and action schemes available in the environment. The
output is a series of GR problems, each comprising a PDDL description of the environment of
the problem and an observation of an agent’s behavior in the environment. The environments
of the GR problems in the generated series are modified according to the requested types of
changes and drifts, as described in Section 2.3 and Section 2.4, respectively.</p>
        <p>The Environment Modifier component of GRACE transforms the description of an input
environment according to the requested types of environmental changes described in Section 2.3,
producing a set of modified environments. The number of modified environments depends
on the requested type of concept drift discussed in Section 2.4. For example, incremental drift
entails the intermediate stages of the environmental change, resulting in multiple modified
environments generated by GRACE. Conversely, the other drift types are defined over two
environments and, thus, GRACE generates one modified environment for them. Next, the
Planner component takes the environments (original and modified) and generates multiple
sets of plans induced by agents that operate in them. Finally, the Drift Generator component
constructs the requested drift by selecting and arranging the environments and the generated
plans on the timeline; the latter are used as observations of how agents achieve their goals
in the environments. GRACE returns all the generated artifacts to support the evaluation of
various GR systems with diferent assumptions and, thus, data requirements.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Interface</title>
        <p>Table 1 gives an overview of the parameters for configuring each component of GRACE.
Mandatory parameters must be configured for every call to GRACE, while optional parameters can be
omitted. Optional parameters can be mutually exclusive, that is, never specified together, and
associated, that is, specific to some selected option. The Input parameter is mandatory for all
three components. Next, we discuss the parameters of each component.</p>
        <sec id="sec-3-2-1">
          <title>3.2.1. Environment Modifier</title>
          <p>
            GRACE implements all four methods for automatically changing environments discussed in
Section 2.3. These methods can be invoked using options -InitRW, -ObjectRM, -ActionRM,
and -GoalRW of Environment Modifier. Option -InitRW is used to modify the initial state
by executing a number of possible random actions and accepting the resulting state as the
new initial state in the modified environment. The number of random actions is specified
using the associated parameter “Steps of random walk from start”. The -ObjectRM option
is used to modify the environment by randomly deleting objects from the initial state. The
associated parameter “Delete count” specifies the number of objects to be deleted. When an
object is deleted from the environment, all predicates in the initial state containing the value
of that object are deleted as well. The -ActionRM option is used to modify the environment
by randomly deleting ground actions. The associated parameter “Delete count” specifies the
number of ground actions to be deleted from the environment. Finally, the -GoalRW option is
introduced to support modifications that augment the states that define the goal candidates.
To implement this change, we apply the backward search method [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] to randomly regress
an arbitrary number of steps from each goal state. The associated parameter “Steps of random
walk from goal” specifies the number of random backward actions to be executed from each
goal state, resulting in the modified goal states. Finally, the mandatory parameter “ Number
of environments” must be configured for each call to Environment Modifier. This parameter
specifies the number of modified environments to generate.
          </p>
          <p>An example call to Environment Modifier ( env_modifier.py) is shown below.</p>
          <p>python env_modifier.py original_env -ObjectRM 5 1</p>
          <p>We use original_env as input, which is a directory that stores files specifying the domain
model of the original environment.4 The call uses option -ObjectRM to remove five objects
from the environment (see parameter 5) and requests to construct one modified environment
(see parameter 1). The instructions on how to use Environment Modifier are available in the
documentation of GRACE.5</p>
          <p>The original environment is a ten-by-ten grid. In this environment, the solid black lines
between cells are walls that agents cannot pass. The cells in gray are locked, where the shape
number in the locked cells indicates the number of the key that the agent can use to unlock this
cell. For example, the cell with shape 21 can be unlocked with Key21 . The initial state where
an agent starts is cell (0, 0), and there are ten goal states the agent might aim to achieve; see 1
to 10 in the figure. Figure 4b shows the modified environment produced after executing the
command. In the modified environment, the five cells in black are deleted permanently, which
4The files that specify the environment in Figure 4a can be accessed via
https://github.com/zihangs/GRACE/tree/main/env_modifier/data_examples/original_env.</p>
          <p>5https://github.com/zihangs/GRACE/tree/main/env_modifier</p>
          <p>Key12 13
8 Key10
G8</p>
          <p>Key17
16
Key16
18
6
5</p>
          <p>4
G8</p>
          <p>Key17
16
Key16</p>
          <p>
            17 2 Key19
Key7 Key4 Key9 Key18 K1e9y5
18
6
8
means the agent can never access or pass these cells. Note that other objects, for instance, keys,
can be removed as well.
3.2.2. Planner
The Planner component of GRACE has two options: the Top-K planner [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] (option -Topk) and
the diverse planner [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ] (option -Diverse). The Top-K planner generates cost-optimal plans
(plans with minimal costs of actions), while the diverse planner generates divergent plans (the
plans may have higher costs than the cost-optimal plans). Both planners have the mandatory
parameter “Number of plans” that specifies the number of plans to generate for each goal
candidate. Additionally, the mandatory “Time limit” parameter instructs the planner to stop
once it reaches the specified time limit, returning all found plans up to that point.
          </p>
          <p>An example call to Planner (planner.py) is proposed below.</p>
          <p>python planner.py all_envs -Topk 50 20</p>
          <p>The all_envs input describes the original and the modified environments shown in
Figure 4. We use the Top-K planner, see option -Topk, to generate 50 plans for each goal in the
environments with the time limit set to 20 seconds (per goal); see the last two parameters in the
call. For more details on using the Planner component, please refer to the documentation.6</p>
          <p>A call to Planner returns two sets of plans, one containing the plans generated in the original
environment and the other with plans in the modified environment. Since both environments
have ten goal candidates, refer to the figure, the generated plans, for each of the two
environments, are grouped into ten subsets, each containing the plans for the corresponding goal.</p>
          <p>6https://github.com/zihangs/GRACE/tree/main/planner</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>3.2.3. Drift Generator</title>
          <p>The Drift Generator component takes a plan pool generated by the Planner component as input,
selects plans from the plan pool, and queues the selected plans to simulate one of the concept
drifts discussed in Section 2.4. One can simulate a sudden drift by selecting option -Sudden.
This option requires the associated parameter “Cases per env”, which specifies the number  of
observations to use from each environment in the resulting drift. Specifically, after 
observations from the original environment,  observations from the modified environment follow. To
simulate a gradual drift, option -Gradual should be used. Parameter “Stable period” specifies
the requested number of observations during each stable period for which the environment does
not change, while parameter “Changing period” specifies the requested number of observations
during the changing period. Option -Incremental is used to simulate an incremental drift.
This option also uses the “Stable period” to specify the periods of no changes for the original
and the resulting environments, while parameter “Intermediate stages” specifies the number of
intermediate transient environments to generate between the two stable environments. Option
-Reoccurring simulates a reoccurring drift. Two associated parameters are “Stable period”,
which, as above, specifies the period of stability for each environment, and “ Occurrence count”,
which defines the number of times the change between the environments happens. Finally,
option -Outlier simulates an outlier drift, where parameter “Cases” specifies the total number
of observed plans during the entire period and parameter Probability specifies the probability
for an outlier to occur at each timestamp. For all the discussed options, each of the observations
included in the simulated period aims to reach one random candidate goal.</p>
          <p>An example call to Drift Generator (drift_generator.py) is proposed below.</p>
          <p>python drift_generator.py plan_pool -Gradual 50 50</p>
          <p>Input plan_pool contains sets of plans generated by the Planner component. In this call,
Drift Generator is requested to generate a gradual drift, see option -Gradual, while the
associated parameters “Stable period” and “Changing period” are both set to 50. The execution
of the command resulted in a series of observations shown in Figure 5. Note that there are
ten goal candidates in each environment, and each plan achieves one of the goal candidates
indicated by diferent colors in the figure; for example, in Figure 5b, the observed plan of GR
problem 51 is to achieve goal 7 in environment 0. For more details on the use of the component,
see the documentation.7</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Related Work</title>
      <p>
        The problem of continuous GR over a changing environment is an extension of the classical
GR problem in which the environment is accepted to be stationary. Similar to the problem
of concept drift detection in process mining [
        <xref ref-type="bibr" rid="ref13 ref14 ref7">7, 13, 14</xref>
        ], the new GR problem aims to detect
changes in the environment by analyzing the changes in the observed data, like traces of agents
captured as sequences of their actions. However, in addition to detecting a change, the new
problem requests adapting the GR system to the new environment, which is similar to what is
requested in the problems of model reconciliation and maintenance [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ].
7https://github.com/zihangs/GRACE/tree/main/drift_generator
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
80
      </p>
      <p>Case ID
0
20
40
60
100
120
140
160
(a) A gradual drift over 150 observations with the change occurring between time steps 51 and 100.
50
55
60
65
70
(b) A time window from step 51 to step 100 showing the gradual change period.</p>
      <p>
        The GRACE tool presented in this paper works with environments captured in Planning
Domain Definition Language (PDDL) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Given a classical GR problem as input, it generates
instances of the problem formulated for diferent types of drifts in the original environment,
hence serving as a simulator for GR systems to exercise their GR capabilities. GRACE uses
the Tarski tool for parsing and manipulating synthetic domains [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In addition, the random
walk method in the environment modifier relies on the breadth-first search tool provided by the
Tarski framework. Another tool used for validating the modified environment is LAPKT [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ],
an automated planning tool. When randomly removing objects in the environment, one can
remove essential objects required to reach the goal state. To this end, LAPKT can check if a
plan exists from the initial state to the goal state. After obtaining a valid modified environment,
we use the Top-K planner [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and the diverse planner [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to generate multiple plans to be
used by the drift generator. The Top-K planner generates cost-optimal plans, while the diverse
planner generates divergent plans.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>This paper introduces the problem of continuous goal recognition (GR) over a changing
environment, which requests a GR system to continuously tackle GR problems over a period during
which the underlying environment may change. We define this new problem as an extension
of the classical GR problem for stationary environments. To generate the experimental data
that can be used to test solutions to the new problem, we present a tool, called GRACE, which
can automatically modify an environment given as a planning domain, to obtain a series of GR
problems defined over the environments modified according to a wide range of types of changes.
The paper explains the architecture and interface of GRACE. Hence, the results reported in this
paper enable future work on developing and evaluating GR techniques for solving GR problems
in changing environments.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H. A.</given-names>
            <surname>Kautz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Allen</surname>
          </string-name>
          ,
          <article-title>Generalized plan recognition</article-title>
          , in: AAAI, Morgan Kaufmann,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Charniak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. P.</given-names>
            <surname>Goldman</surname>
          </string-name>
          ,
          <article-title>A bayesian model of plan recognition, Artif</article-title>
          . Intell.
          <volume>64</volume>
          (
          <year>1993</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Sukthankar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. P.</given-names>
            <surname>Sycara</surname>
          </string-name>
          ,
          <article-title>A cost minimization approach to human behavior recognition</article-title>
          ,
          <source>in: AAMAS, ACM</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ramírez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Gefner</surname>
          </string-name>
          ,
          <article-title>Probabilistic plan recognition using of-the-shelf classical planners</article-title>
          , in: AAAI, AAAI Press,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Pereira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Oren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Meneguzzi</surname>
          </string-name>
          ,
          <article-title>Landmark-based approaches for goal recognition as planning, Artif</article-title>
          . Intell.
          <volume>279</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Polyvyanyy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lipovetzky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sardiña</surname>
          </string-name>
          ,
          <article-title>Goal recognition using of-the-shelf process mining techniques</article-title>
          , in: AAMAS,
          <string-name>
            <surname>IFAAMAS</surname>
          </string-name>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Yeshchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. D.</given-names>
            <surname>Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polyvyanyy</surname>
          </string-name>
          ,
          <article-title>Visual drift detection for event sequence data of business processes</article-title>
          ,
          <source>IEEE Trans. Vis. Comput. Graph</source>
          .
          <volume>28</volume>
          (
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bonet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Gefner</surname>
          </string-name>
          ,
          <article-title>Learning first-order symbolic representations for planning from the structure of the state space</article-title>
          ,
          <source>in: ECAI</source>
          , volume
          <volume>325</volume>
          <source>of Frontiers in Artificial Intelligence and Applications</source>
          , IOS Press,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Haslum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lipovetzky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Magazzeni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Muise</surname>
          </string-name>
          ,
          <article-title>An Introduction to the Planning Domain Definition Language</article-title>
          ,
          <source>Synthesis Lectures on Artificial Intelligence and Machine Learning</source>
          , Morgan &amp; Claypool Publishers,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Lei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lipovetzky</surname>
          </string-name>
          ,
          <article-title>Width-based backward search</article-title>
          , in: ICAPS, AAAI Press,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Speck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mattmüller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nebel</surname>
          </string-name>
          ,
          <article-title>Symbolic top-k planning</article-title>
          , in: AAAI, AAAI Press,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Katz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sohrabi</surname>
          </string-name>
          ,
          <article-title>Reshaping diverse planning</article-title>
          , in: AAAI, AAAI Press,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>V.</given-names>
            <surname>Denisov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Belkina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fahland</surname>
          </string-name>
          , BPIC'2018:
          <article-title>Mining concept drift in performance spectra of processes</article-title>
          ,
          <source>in: 8th International Business Process Intelligence Challenge</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>B.</given-names>
            <surname>Hompes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C. A. M.</given-names>
            <surname>Buijs</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
            ,
            <given-names>P. M.</given-names>
          </string-name>
          <string-name>
            <surname>Dixit</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Buurman</surname>
          </string-name>
          ,
          <article-title>Detecting change in processes using comparative trace clustering</article-title>
          ,
          <source>in: SIMPDA</source>
          , volume
          <volume>1527</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>T.</given-names>
            <surname>Chakraborti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sreedharan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , S. Kambhampati,
          <article-title>Plan explanations as model reconciliation: Moving beyond explanation as soliloquy, in: IJCAI, ijcai</article-title>
          .org,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bryce</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Benton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. W.</given-names>
            <surname>Boldt</surname>
          </string-name>
          ,
          <article-title>Maintaining evolving domain models</article-title>
          , in: IJCAI, IJCAI/AAAI Press,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>G.</given-names>
            <surname>Francés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ramirez</surname>
          </string-name>
          , Collaborators,
          <string-name>
            <surname>Tarski:</surname>
          </string-name>
          <article-title>An AI planning modeling framework</article-title>
          , https://github.com/aig-upf/tarski,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ramirez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lipovetzky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Muise</surname>
          </string-name>
          , Lightweight Automated Planning ToolKiT, http: //lapkt.org/,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>