Professor John McCarthy
Father of AI

Articles

Actions and Other Events in Situation Calculus

This draft article presents a situation calculus formalism featuring events as primary and the usual actions as a special case.

This draft 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 the occurrence axiom 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 domain constraints. Ours uses only ordinary logic without special causal implications.

The first example is the buzzer with only internal events and which cannot be treated at all with domain constraints, because the system never settles down.

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. Domain 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.

Mostly the proposals of this paper are alternatives (better I hope) to other methods of formalizing some phenomena. However, the buzzer example and the elaboration in which the room being stuffy causes someone to unblock a vent don't seem to be treatable by many of the earlier methods.

Download the article in PDF.