- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Wed, 21 Apr 2004 16:16:22 -0400 (EDT)
- To: public-sws-ig@w3.org
> [Jeff Dalton]
>
> Would it skip? I'd have thought, perhaps naively, that in a sequence,
> if a precondition of a step was not satisfied, then execution could not
> advance beyond that point. The execution engine would do something
> such as wait, or signal an error, or ask someone what to do.
You're assuming that the execution engine can check whether an
arbitrary precondition is true. But suppose a planner created a plan
to achieve goal G by instanting plan A. A has H as a precondition
and G as an effect. The planner finds another action B that has H as
an effect. It produces the plan
{B; A}
Now it may be that there is no easy way to verify that H is true after
B, but the plan still may be correct. For instance, G might be
"customer has paid"; A might be "charge to credit card"; H might be
"credit card is valid"; B might be "verify with credit-card company."
The presence of B doesn't make the precondition H go away, it just
obviates any steps to check that it's true.
There are other occasions when it might make sense to insert plan
steps to verify that a condition really holds. But an agent obviously
can't do this for every condition, or we'd have an infinite regress of
steps inserted to verify the preconditions of previously inserted
steps.
-- Drew
--
-- Drew McDermott
Yale University CS Dept.
Received on Wednesday, 21 April 2004 16:16:24 UTC