Instead of estimating the distance
between each fact and the current state in a forward direction, as Asp does, Grt estimates the distance between each fact and the goals in
a backward direction. This task is performed once, in a pre-processing phase.
During the search phase, these estimates are used to estimate the distance
between each intermediate state and the goals. The backward or forward
estimation of the distance between two states often results in different
values, since no heuristic is precise. However, the two directions result in
estimates of equal quality on average.
The estimates of the
distances between each fact and the goals are stored in a table, the records of
which are indexed by the facts. We call this table the Greedy Regression Table
(by which the acronym Grt comes
from), since its estimates are obtained through greedy regression from the
goals.
In order to construct
the heuristic backwards, the actions of the problem have to be inverted. Let a be an action and S and S' be two states, such
that a is applicable in S and S' = res(S,a). The inverted action a' of a
is an action applicable in S', such that S = res(S', a').
The inverted action is defined by the original action as follows:
Pre(a')=Add(a) È Pre(a) \ Del(a) Del(a')=Add(a) Add(a')=Del(a) |
(7) |
The inverted ground
actions are applied to the goals, assigning progressively to each ground fact p an estimate of its distance from the
goals, in a way similar to Asp.
Applying inverted actions to the goals presupposes that the goals form a
complete state. In Section 2 it is assumed that this is always the case,
whereas in Section 3 the case of incomplete goal states is treated.
Ioannis
Refanidis
14-8-2001