The Situational Calculus

The goal of the situational calculus is to be able to reason about change. This is done by maintaining an internal model of the world and mdifying it as actions take place. We will assume that the only effects that the agent needs to worry about are those that are caused by its own actions.

SC conceives of the world as a sequence of situations. There are then axioms that relate successive situations.

Effect axioms:
Describe the effect of a particular action. Here for example is a an effect axiom for grabbing --
Forall object, situation Present(object,situation) /\ portable(object)
=> Holding(object, Result(grab, situation))
Frame Axioms:
Not only do actions have effects, we alos need to know what is unchanged when we do something. One difficulty is that potentially we require an unlimited number of axioms to deal with this. In practice there are ways of dealing with this. Here is an example frame axiom--
Forall action, object, situation Holding (object, situation) /\ action not Release
=> Holding(object, Result(action, situation))
successor-state axioms
describe the way in which predicates can change over time. The axiom must list all the ways in which a predicate can become true, and in which it can become false.

Return to UG AI home page

Last Changed:28 October 1995