Re: [OWL-S] Negative effects/delete lists

I believe we're in "tutorial mode" here, since Sheila and I probably
both know everything we're likely to say to each other, but are
assuming some of the audience will find it interesting.

> [Sheila McIlraith]
> The
> problem is also complicated by the "ramification problem" --
> that processes can also have indirect effects as the result of
> state constraints that exist in an ontology.
> 
> A hasty example is the following:
> 
> Let's say I have a constraint that says
> 
>   teach(sheila,Date) -> location(sheila,toronto,Date)
>   (i.e, to teach my class on Date, I must be located in Toronto on Date)
> 
> but let's say that I execute a web service to book a flight from Toronto
> to San Francisco on 04-01-04.
> 
> The direct effect is that location(sheila,san_francisco,04-01-04), but the
> indirect effect is
>   not teach(sheila,04-01-04)
> 
> What's even harder than putting a local-closed world assumption on
> the direct effects is integrating the ramifications appropriate.

The usual way to fix (or anyway avoid thinking about) this problem is
to (a) separate action definitions out from ordinary axioms; and (b)
classify predicates into _primitive_ and _derived_, with the obvious
extension to atomic formulas.  Situations are modeled as finite sets
of primitive atomic formulas.  All other primitive atomic formulas are
assumed false.  Actions are defined (item (a)) using add- and
delete-lists that specify which primitive atomic formulas to add or
delete from the set.

Derived predicates can now be axiomatized any way you want, because
(in principle) their truth values are redetermined after every reshuffle
of the primitives due to an action having been taken.

In the latest incarnation of PDDL, for the 2004 Planning Competition,
this device has become more or less official with the introduction of
a :derived keyword.  (The semantics of PDDL are still pretty
informal.)  

In your example, the axiom would be replaced by the action definition

   (:action (teach ?a - Agent)
      :precondition (or (not (= ?a sheila))
                        (loc ?a toronto))
      ...)

(Or, in English, "If you wish to have someone teach outside of
Toronto, the person must not be Sheila.")  The effect of leaving
Toronto (while staying Sheila) is that the action becomes infeasible.

This approach is not elegant, and doesn't really tackle the hard
ramification cases, but it works well enough in practice, because
ramification is not considered a critical problem right now in the
AI-planning community.

> *example disclaimer:  OK...when you book a flight, the actual effect is
> that your *expected* location will be the destination of the flight.
> That's true with any web service that talks about effects that will occur
> in the future.  The principle behind the example still holds

No disclaimer necessary.  An "expected" location is just the location
after a hypothetical action, and it's in the situation after that
action that one decides whether (teach Sheila) is feasible.

                                             -- Drew

-- 
                                   -- Drew McDermott
                                      Yale Computer Science Department

Received on Friday, 2 April 2004 18:45:06 UTC