[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On extending SAPA to handle temporal goal reduction
Folks:
I asked Minh Do to comment on what would be needed to support
goals with a temporal extent by reducing them into smaller interval
goals. (E.g. if the garage is large, light two candles one after other
and cross the garage thatway). Here are his "informal" comments. FYI.
Rao
=================
To support the goal of your type, I guess the extensions we need are:
1. Temporal goal representation & Goal checking condition:
We need some way to represent goals of the type: g=("have light", 5
hrs). From a semantic point of view, I don't think it's necessarily
different from the goal of maintainance such as the subgoal of the
"overall" action's (pre)condition. For example, assume that we have a
pick-up-in-the-basement action with duration 5 hrs that require that the
(pre)condition is that it's lighted the whole time, then when we apply
that action, the "protected" condition of having a light for 5 hours
looks similar to the goal g in our case.
Hmm..., I think that there may be some differences between them. In the
"overall" condition, any search branch generated from that node should
not violate the protected "overall" condition. However, we can violate
the goal g=("have light", 5hrs) and still be a valid search node (but we
won't achieve that particular goal, at the moment).
This lead me to the thinking that the goal checking condition for g in
state S is quite simpler, if g \in current goal set G, we first check
that if "have light" is true, then what was the last time that "have
light" is made true (this information is kept in Sapa's search node), if
the time different between those two time points are \geq 5hrs then g is
satisfied in the current state and we should remove g from G for any
future search node from S
2. Action representation:
This causes me a little headache. Intuitively, it should be totally ok
to light up candles at any time. However, if the semantic of the
"light-on-candle" action indidates that there is a "light-on" effect at
the begining, and "~light-on" effect at the end, then it prevents us
from light-on-candle at the exact end time point of the other
"light-on-candle", which doesn't make sense. The original semantic of
Sapa where we prevent contradicting events to be in the same queue
(which I think that I took off later for exo-events) won't even allow
two "light-on" actions to execute in concurrent. Moreover, it also seems
that at the end of the "light-on-candle", light-on becomes false even if
there is another candle burning. Therefore, we should somehow be able to
say that it's light-on if one of the (many) "light-on-candle" action is
executing and thus if there is an executing "light-on" action, then the
"~light-on" effect of another action doesn't cause anything.
I don't know how to solve the "concurrent light-on-candle" dilema in
PDDL2.1 right now. May be some extensions of \forall and \exists are
enough, but I don't really know.
Assumming that we can only light up candle one by one, then the
validation condition in VAL would still require that the two time points
representing the end of the first light-on action and the start of the
second light-on action to be separated by \epsilon, which can be
arbitrary small. Therefore, I don't know if it can totally satisfy our goal.
In conclusion, I can't think of the clean way of easily extending Sapa
to handle your particular "candle" example. If we relax the goal by
saying "total light-on time by burning candle of at least 5 hrs (not
necessarily un-interrupted), then it would be quite easy. For the goal
checking condition, we need to monitor the total time that "light-on"
has been true for each search node, which Sapa can be extended quite
easily. Then whenever that total duration reach 5hrs, then we remove the
goal from consideration. For the heuristic, it would be easy too because
we only extend the graph until (light-on, 5hrs) is reached, which will
require 5 consecutive candle actions in the graph building phase. When
extrracting the relaxed plan, we use the same approach of keeping track
how long "light-on" has been true and will come up with 5 candle actions.
If you have different opinions, please let me know.
Minh
======================================