such that for every i ∈ A and every V ∈ V
i
it holds that
I(V ) = I
i
(V), and similarly for the global goal G it
holds that V (G) =
S
i∈A
V(G
i
) and G(V ) = G
i
(V) for
every i ∈ A and every V ∈ V
i
(G
i
). A global sequence
of operators π = ho
1
, ..., o
n
i is a sequence of opera-
tors from
S
i∈A
O
i
applicable in global states. A set
of global reachable states R is a set of states g ∈ R
such that there exists a global sequence of operators
π such that I[π] = g. A global plan is a global se-
quence of operators π such that I[π](V ) = G(V ) for
every V ∈ V(G).
A solution to a factored MA-FDR (or just MA-
FDR from now on) is a global multi-agent plan con-
sisting of operators from different factors. The so-
lution is searched for locally by individual agents in
their respective factors (Torreno et al., 2017).
4 GROUNDING
Grounding of the lifted MA-PDDL representation
is a process of instantiation of predicates and ac-
tions by replacing all occurrences of parameters by
the world objects. For example, in the problem of
the truck agent (in Fig. 2), the predicate (at ?obj
?loc) can be grounded using objects pkg and A
to the fact (at pkg A), and the action (load ?v
?p ?l) can be grounded using objects truck, pkg,
and A to the grounded action (load truck pkg A).
Since the grounding replaces all occurrences of the
parameters by the corresponding objects, grounding
of an action requires also grounding of the pred-
icates listed in its preconditions and effects. So
the grounded action (load truck pkg A) requires
grounded facts (in-city truck A), (at pkg A),
and (in pkg truck).
The grounding usually requires dealing with log-
ical formulas (containing, e.g., conjunctions, quanti-
fiers, or implications) that appear in the preconditions
and effects of actions, and in the goal specification.
The formulas need to be transformed into form that
the particular planner “understands”, e.g., they need
to be flattened into simple conjunctions of facts. How-
ever, the multi-agent grounding algorithm we propose
uses a (single-agent or local) grounding algorithm as
a black box that is called repeatedly. So, we are not
interested in the particular way actions are grounded
and, as we describe in the next section, the translation
of the grounded actions into the MA-FDR operators is
also independent of our algorithm. The only require-
ment on the black box is that it is somehow based on
the reachability of facts from the initial state. More
precisely, the black box is a procedure that has two
inputs and one output. The inputs are a MA-PDDL
specification and a set of reachable facts. The output
is a set of facts that are reachable from the input facts
through grounding of lifted actions and application of
those actions on the reachable facts.
Although a correct grounding requires only that
the grounded problem contains, at minimum, the
grounded actions that appear in the solution, deter-
mining the minimum set of the grounded actions
is as hard as planning itself. Therefore, the usual
way to generate the grounding is to use a delete-
free relaxation, i.e., delete effects are disregarded
and only add effects are considered. The ground-
ing starts with the initial state, which is always a
set of grounded facts, and proceeds with finding ac-
tions that can be grounded so that the preconditions
contain only already grounded facts, i.e., grounding
of the action does not require grounding of any ad-
ditional predicate. These actions are grounded and
their add effects are grounded into new facts. This
procedure is repeated until a fixpoint where no new
facts can be added. For example, this algorithm
with several improvements is used by (Edelkamp and
Helmert, 1999). The grounding algorithm proposed
by (Helmert, 2009) constructs Datalog program from
the lifted representation and the program generates
reachable facts and grounded actions. Both of these
algorithms can be used as a black box for our algo-
rithm, because they can be repeatedly called with a
different set of reachable facts. Both use the delete-
free relaxation, so we can always replace the input
initial state with the set of reachable facts and re-run
the grounding procedure.
Algorithm 1 shows the pseudo-code of the multi-
agent grounding algorithm which we propose. Each
agent runs the listed algorithm locally on its respec-
tive MA-PDDL factor. The highlighted function on
the line 3, Ground, is the black box function that
takes a MA-PDDL factor as its input and a set of the
facts that are currently recognized as reachable and
returns a new set of grounded operators and a new set
grounded facts.
The algorithm starts with initialization of output
sets (line 1) and then proceeds with the loop that runs
until no agent can ground any new actions or facts.
The loop starts with calling the black box function for
grounding of new actions O and facts F (line 3). Then
the public facts P are selected from F (line 4), and the
new public facts are sent to all other agents (line 5). In
the next step (line 6), the agent receives public facts
R sent from any other agent (or from more agents at
once if the public facts are available). Lastly (line 7
and 8), the grounded actions and all the grounded
facts, including the ones that were received from other
agents, are collected into output sets.
Concise Finite-Domain Representations for Factored MA-PDDL Planning Tasks
309