|
Abstract : |
Representing narratives, and reasoning about them, has been a prominent theme in logical formalisms for dynamical systems (e.g. [9, 5, 2]). However, the existing literature provides a rather limited concept of what a narrative is; the examples all concern linear action sequences, sometimes including incomplete information about action occurrence times. The point of departure of this paper is the observation that narratives often include more complex constructions, including nondeterminism, loops, and recursive procedures. Therefore, we propose that, in their full generality, narratives are best viewed as programs. In many cases, the situation calculusbased programming language GOLOG is suitable for this purpose. In this setting, we define what it means to query a narrative, and discover that this task is formally identical to proving the correctness of programs as studied in computer science. Since this general task is hopelessly intractable, we focus on procedure-free narrative programs and for a wide class of such programs and queries we prove that a regression-based approach to query evaluation is correct. Finally, we describe a Prolog implementation of these ideas. 1, |