In order to solve symbolic planning problems we write action theories. Popular languages for writing action theories are STRIPS and ADL.
For describing an action we need to provide:
- preconditions
- effects
For example, in a robot domain, we have Robot
and Object
classes, and the closeTo
and holding
properties.
The action pickUp(?robot, ?object)
is possible if closeTo(?robot, ?object)
holds, and also forall ?o in Object . not holding(?robot, ?o)
.
How would one represent preconditions with OWL and/or SWRL?
How about action effects?