- From: Jeff Dalton <jeff@inf.ed.ac.uk>
- Date: Fri, 25 Jun 2004 23:12:13 +0100 (BST)
- To: public-sws-ig@w3.org
Quoting Donal Murtagh <domurtag@cs.tcd.ie>: > On Fri, 2004-06-25 at 17:57, Jeff Dalton wrote: > > Quoting Donal Murtagh <domurtag@cs.tcd.ie>: > > > > > The problem with planners is that compatibility of preconditions and > > > effects is based on (lexical) name matching. Although SHOP2 can > > > evaluate simple expressions such as ((eval (< ?n1 5)) in the > > > precondition of an operator, AFAIK, it is not possible to assert > > > an effect which is a conditional expression, e.g. to state that > > > "the effect of this process/operator is that (< ?n1 5) is true". > > Something like that could be treated in a planner as a constraint. > It seems the term "constraint" doesn't mean the same to you as > "precondition", could you explain what you mean by "constraint"? I think of a precondtion as something that has to be true before a service can be invoked (if we're thinking of planning operators as representing services, for example), while an effect is something the service invocation makes true. A constraint could be used in either way; but what I had in mind was that an operator could have (< ?n1 5), not as a pre-condition, but as something that would be asserted, if the operator were used, as something that was true after the service invocation. Other constraints might allow a more precise determination of the value, but it would have to be less than 5. I'm not sure that's enough to make it an effect as such, rather than some kind of post-condition, because presumably the way it's made true that ?n1 is < 5 is by giving ?n1 some specific value that is less than 5, and it's giving it that value that's the effect, strictly speaking. (Perhaps other people can comment on that, because I'm not sure what the right way of thinking is.) > > I don't know off-hand of any planner that handles such numeric > > constraints, though some resource constraints might be equivalent. One problem for a planner is that if it wants, say, ?n1 to be less than 10, one way to get that is to use something that makes ?n1 less than 5, and that requires a reasoner that could make such connections. -- Jeff
Received on Friday, 25 June 2004 18:12:15 UTC