John McCarthy
Computer Science Department
Stanford University
Stanford, CA 94305
jmc@cs.stanford.edu
http://www-formal.stanford.edu/jmc/
February 8, 2002 ,
This article presents a situation calculus formalism featuring events as primary and the usual actions as a special case. Events that are not actions are called internal events and actions are called external events. The effects of both kinds of events are given by effect axioms of the usual kind. The actions are assumed to be performed by an agent as is usual in situation calculus. An internal event e occurs in situations satisfying an occurrence assertion for that event.
A formalism involving actions and internal events describes what happens in the world more naturally than the usual formulations involving only actions supplemented by state constraints. Ours uses only ordinary logic without special causal implications. It also seems to be more elaboration tolerant.
The first example is the buzzer with only internal events and which cannot be treated at all with state constraints, because the system never settles down to a steady state.
Our second example is the stuffy room scenario. One occurrence axiom states that when both vents are blocked and the room isn't stuffy, the event Getstuffy occurs. State constraints are unneeded. The stuffy room formalization tolerates an elaboration asserting that when the room becomes stuffy someone unblocks a vent. If we further add that someone else then finds the room cold and blocks the vent again, we get a system that oscillates.
The third example is the blocks world.
The nonmonotonic reasoning involves circumscribing occurrences, changes, and prevention one situation at a time.
Then we offer a general viewpoint on the situation calculus and its applications to real world problems. It relates the formalism of [MH69] which regards a situation as a snapshot of the world to situation calculus theories involving only a few fluents.