The Discrete Event Calculus for Games and Other (Soft) Real Time Systems Matthew Fuchs, Phd Paideia Computing Corp [email protected]

Total Page:16

File Type:pdf, Size:1020Kb

The Discrete Event Calculus for Games and Other (Soft) Real Time Systems Matthew Fuchs, Phd Paideia Computing Corp Mattfuchs@Paideiacomputing.Com The Discrete Event Calculus for Games and Other (Soft) Real Time Systems Matthew Fuchs, PhD Paideia Computing Corp [email protected] Copyright 2010 Paideia Computing Corp. Outline • Movie • The target • DEC explained • DEC as a programming language • Implementation • Future possibilities Copyright 2010 Paideia Computing Corp. “Give me a command” • Video at http://www.paideiacomputing.com/videos/simonsays.mp4 Copyright 2010 Paideia Computing Corp. What I was looking for • Unified approach – Not mix of java, prolog, etc., with protocols and events passing among them • Able to handle/model multi-modal input – Speech, movement, pointing, possession • Rich behavior, not just Finite State Machines – Rich behavior set, but not difficult to add new behaviors – Large variety of events arriving at any time • Can integrate with other AI systems or handle such tasks directly – Personality, planning, language • Multitasking – Handle multiple characters in a single environment • Sufficiently fast – “soft” real time – not aware of any explicitly temporal rule engines • Able to reason about programs Copyright 2010 Paideia Computing Corp. Event Calculus Copyright 2010 Paideia Computing Corp. What it’s been used for • Robotic path planning • Linguistics • Story understanding • Abductive planning • Agent programming • Contract law • Workflow modeling • Mateas work in games • Etc. Copyright 2010 Paideia Computing Corp. What I found: Rules with Time • AI Logic Formalism • Descended from Situation Calculus • First proposed by Kowalski and Sergot, extended by Shanahan • Has an explicit time parameter – either continuous or discrete • “Commonsense” law of inertia • Handles the Frame Problem through Circumscription • Sorted (multiple token types) Copyright 2010 Paideia Computing Corp. DEC • What – Fluents – Events • When – Happens – HoldsAt • How – Initiates – Terminates – Trajectory – AntiTrajectory – Releases Copyright 2010 Paideia Computing Corp. Fluents • A function of sort fluent • Unique names • f1(p1,…,pn) = f2(q1,…,qn) iff f1=f2 & p1=q1,…,pn=qn • HoldsAt(f,t) is 2 parameter predicate • HoldsAt(walks(John),0). • Either holds or doesn’t at t=0 • Normally only changes value through events (law of inertia) Copyright 2010 Paideia Computing Corp. Events • A function of sort event • Unique Names – e(p1,…,pn) = e(q1,…,qn) iff p1=q1,…,pn=qn • Happens(e,t) is a 2 parameter predicate • Happens(notices(John,Tiger),4). • Events happen at particular moments in time and are only true at that moment (or happen again) Copyright 2010 Paideia Computing Corp. Initiates/Terminates • Initiates(e,f,t) – Happens(e,t) & ~HoldsAt(f,t) -> HoldsAt(f,t+1). • Terminates(e,f,t) – Happens(e,t) & HoldsAt(f,t) -> ~HoldsAt(f,t+1). • [t]Initiates(notices(John,Tiger),runs(John),t). • [t]Terminates(notices(John,Tiger),walks(John),t) Copyright 2010 Paideia Computing Corp. Trajectory • Trajectory(f1,t1,f1,t2) • If f1 is initiated at t1 and holds at t1+t2, then f2 holds at t2 • Trajectory(walksFrom(John,X,Y,Phi),t1, position(John,X+t2*cos(Phi),Y+t2*sin(Phi),t2) • Assumes you calculate the arguments to f2 at t2 • Depends on the math for f2 Copyright 2010 Paideia Computing Corp. AntiTrajectory • AntiTrajectory(f1,t1,f2,t2) • If f1 is terminated at t1 and doesn’t hold at t2, then f2 holds at t1+t2 • HoldsAt(Height(bird,h),t1)->AntiTrajectory(Flapping(bird),t1, 2 Height(bird,h – ½ G t2 ) • Assumes you calculate the arguments to f2 at t2 • Depends on the math for f2 Copyright 2010 Paideia Computing Corp. Released • Releases(e,f,t). • A released fluent may take any logically allowed value • Allows fluents to function like ordinary logical variables – HoldsAt(sees(John,Tiger),t) -> HoldsAt(scared(John),t). Copyright 2010 Paideia Computing Corp. Circumscription • Handles frame problem – Some variables change between t and t + 1 – How to make sure nothing else does • Essentially create equivalence between a predicate and the rules that cause it – 1-> Happens(e,t) – 2 -> Happens(e,t) – Happens(e,t) <-> 1 | 2 Copyright 2010 Paideia Computing Corp. Rest of syntax • [] for universal quantificaton • {} for existential quantification • ! for negation • & for and, | for “or” • -> for implication • My additions: – walks(John)@time – notices(John,Tiger)!time – notices(John,Tiger)=>runs(John)@time – Notices(John,Tiger)/=>walks(John)@time Copyright 2010 Paideia Computing Corp. Example • John is walking • John is frightened of tigers • If John is frightened he – Stops walking – Finds a place to run to – Starts running Copyright 2010 Paideia Computing Corp. Declarations sort mob sort gait mob John, Tiger gait Walking, Running structure Location(x:integer,y:integer,z:integer,theta:integer) externEvent SetGait(mob,gait) externEvent MovesTo(mob,location) fluent Position(mob,location) event Sees(mob,mob) predicate IsVisible(location,location) function MoveAway(location,location):location fluent Frightens(mob,mob) fluent Position(mob,location) Copyright 2010 Paideia Computing Corp. Initial Conditions Position(John, Location(0, 0, 0, 90)@0. Position(Tiger, Location(0, 0, 8, -90)@0. SetGait(John, Walking)@0. Frightens(Tiger,John)@0. Copyright 2010 Paideia Computing Corp. Some rules [mob,location,time] MovesTo(mob,location)=>Position(mob,location),time). [mob,location1,location2,time] Position(mob,location1)@time & !(location2 = location1) -> MovesTo(mob,location2) /=> Position(mob,location1)@time. [mob1,mob2,location1,location2,time] Position(mob1,location1)@time & Position(mob2,location2)@time & IsVisible(location2,location1) -> Sees(mob1,mob2)!time. Copyright 2010 Paideia Computing Corp. Last rules [mob1,mob2,time] Frightens(mob1,mob2)@time & Sees(mob2,mob1)@time -> SetGait(mob2,Running)@time. [mob1,mob2,location1,location2,time] Frightens(mob2,mob1)@time & Position(mob2,location2)@time & Position(mob1,location1)@time Sees(mob1,mob2)@time & location3 = MoveAway(location1,location2) -> MovesTo(mob1,location3)!time Copyright 2010 Paideia Computing Corp. How it’s used • Model checking • Completely static • Tic Tac Toe as an example – Rules to generate all games – Generates all games given some moves • SAT is slow • Perhaps Answer Set Programming? Copyright 2010 Paideia Computing Corp. DEC as a programming language • Time parameter maps to game/animation • “world” and “simulation” communicate via events – World events arrive at each tick – Rules are evaluated with new events – Some events are “external” and reflected back • Don’t need – Conscription – Many State Constraints (F(x) & F(y) => x = y) Copyright 2010 Paideia Computing Corp. Markov issues • DEC rules are symmetric to time – e!t -> e2!(t – 10) – e2!t -> e!(t + 10) • Future can affect past – running(John)@t1 -> {t2}t2 < t1 & scared(John)@t2. • Programs run forward in time Copyright 2010 Paideia Computing Corp. Implementation • Convert into forward chaining – DEC rules don’t have Markov Property – Rules that don’t obey MP are tests/asserts • Might be used for reasoning later on – Execution but not reasoning only goes forwards • Apply rete for efficiency • Simplify by translating to CLIPS style system • Not included in current implementation – Released fluents (state constraints) – (Anti)Trajectory Copyright 2010 Paideia Computing Corp. Rete algorithm • Greek for “net” • Allows forward chaining systems to be fast • Rules of form (LHS -> RHS) – ((a & b) | (c & d)) -> g – ((e & b) | (c & d)) -> h • Break up LHS into variables and binary ops • Create a network from the results combining LHS overlaps • Facts (de)activateCopyright parts 2010 Paideia Computingof network Corp. Forward Chaining System • Active axioms of forms – -> Initiates(e,f,t) – -> Terminates(e,f,t) – -> Trajectory(f1,t1,f2,t1) – -> AntiTrajectory(f1,t1,f2,t2) • Implication means perform – ->Initiates(e,f,t) changes an explicit state • Other forms become tests – Move(rc1,rc2,mark1)!time & Move(rc3,rc4,mark2)!time -> rc1 = rc3 & rc2 = rc4 & mark1 = mark2. Copyright 2010 Paideia Computing Corp. Primitives (Clips style) • Fluents are atoms – (fluent, time, p1,…,pn) • Events are atoms – (event, time, p1,…,pn) • Add structures, lists – (name, id, type, ref count, p1,…,pn) • Primitive pattern matching Copyright 2010 Paideia Computing Corp. Multistage architecture • Each time step has four stages • Prepare new fluents • Create fluents • Garbage Collect • Generate new events Copyright 2010 Paideia Computing Corp. Stage 0 (with events and fluents remaining from t-1) – Evaluate ->Initiates(e,f,t) • Leads to createFluent fact – Evaluate -> Terminates(e,f,t) • Leads to retractFluent fact – Test fluent contradictions • Initiate(e,f,t) & Terminate(e,f,t) are illegal Copyright 2010 Paideia Computing Corp. Stage 1 • Actually create fluents • Actually retract fluents • Clean up events from round t - 1 Copyright 2010 Paideia Computing Corp. Stage 2 • Garbage collection • Structures have references • Language is all functional • GC is through reference counting Copyright 2010 Paideia Computing Corp. Stage 3 • Create all events • Add all world events • All rules of the forms: – -> Happens(e,t). • Creates external events (for “outside world”) Copyright 2010 Paideia Computing Corp. Test constraint violations • X -> !Y • X -> *…+Y or X -> ,…-Y • *…+!Y • HoldsAt(f,t) where t > 0 Copyright 2010 Paideia Computing Corp. Rule by Rule • DEC Syntax – Frightens(Tiger,John)@0 • Clips Syntax (defrule startup-1 (Time 0) (round 0) => (assert (createFluent Frightens 0 Tiger John))) Copyright 2010 Paideia Computing Corp. HoldsAt as Constraint • Frightens(Foobar,John)@1 • (defrule rule-2 (not (fluent Frightens
Recommended publications
  • Probabilistic Event Calculus for Event Recognition
    A Probabilistic Event Calculus for Event Recognition ANASTASIOS SKARLATIDIS1;2, GEORGIOS PALIOURAS1, ALEXANDER ARTIKIS1 and GEORGE A. VOUROS2, 1Institute of Informatics and Telecommunications, NCSR “Demokritos”, 2Department of Digital Systems, University of Piraeus Symbolic event recognition systems have been successfully applied to a variety of application domains, extracting useful information in the form of events, allowing experts or other systems to monitor and respond when significant events are recognised. In a typical event recognition application, however, these systems often have to deal with a significant amount of uncertainty. In this paper, we address the issue of uncertainty in logic-based event recognition by extending the Event Calculus with probabilistic reasoning. Markov Logic Networks are a natural candidate for our logic-based formalism. However, the temporal semantics of the Event Calculus introduce a number of challenges for the proposed model. We show how and under what assumptions we can overcome these problems. Additionally, we study how probabilistic modelling changes the behaviour of the formalism, affecting its key property, the inertia of fluents. Furthermore, we demonstrate the advantages of the probabilistic Event Calculus through examples and experiments in the domain of activity recognition, using a publicly available dataset for video surveillance. Categories and Subject Descriptors: I.2.3 [Deduction and Theorem Proving]: Uncertainty, “fuzzy,” and probabilistic reasoning; I.2.4 [Knowledge Representation Formalisms and Methods]: Temporal logic; I.2.6 [Learning]: Parameter learning; I.2.10 [Vision and Scene Understanding]: Video analysis General Terms: Complex Event Processing, Event Calculus, Markov Logic Networks Additional Key Words and Phrases: Events, Probabilistic Inference, Machine Learning, Uncertainty ACM Reference Format: Anastasios Skarlatidis, Georgios Paliouras, Alexander Artikis and George A.
    [Show full text]
  • Learning Effect Axioms Via Probabilistic Logic Programming
    Learning Effect Axioms via Probabilistic Logic Programming Rolf Schwitter Department of Computing, Macquarie University, Sydney NSW 2109, Australia [email protected] Abstract Events have effects on properties of the world; they initiate or terminate these properties at a given point in time. Reasoning about events and their effects comes naturally to us and appears to be simple, but it is actually quite difficult for a machine to work out the relationships between events and their effects. Traditionally, effect axioms are assumed to be given for a particular domain and are then used for event recognition. We show how we can automatically learn the structure of effect axioms from example interpretations in the form of short dialogue sequences and use the resulting axioms in a probabilistic version of the Event Calculus for query answering. Our approach is novel, since it can deal with uncertainty in the recognition of events as well as with uncertainty in the relationship between events and their effects. The suggested probabilistic Event Calculus dialect directly subsumes the logic-based dialect and can be used for exact as well as a for inexact inference. 1998 ACM Subject Classification D.1.6 Logic Programming Keywords and phrases Effect Axioms, Event Calculus, Event Recognition, Probabilistic Logic Programming, Reasoning under Uncertainty Digital Object Identifier 10.4230/OASIcs.ICLP.2017.8 1 Introduction The Event Calculus [9] is a logic language for representing events and their effects and provides a logical foundation for a number of reasoning tasks [13, 24]. Over the years, different versions of the Event Calculus have been successfully used in various application domains; amongst them for temporal database updates, for robot perception and for natural language understanding [12, 13].
    [Show full text]
  • A Logic-Based Calculus of Events
    10 A Logic-based Calculus of Events ROBERT KOWALSKI and MAREK SERGOT 1 introduction Formal Logic can be used to represent knowledge of many kinds for many purposes. It can be used to formalize programs, program specifications, databases, legislation, and natural language in general. For many such applications of logic a representation of time is necessary. Although there have been several attempts to formalize the notion of time in classical first-order logic, it is still widely believed that classical logic is not adequate for the representation of time and that some form of non-classical Temporal Logic is needed. In this paper, we shall outline a treatment of time, based on the notion of event, formalized in the Horn clause subset of classical logic augmented with negation as failure. The resulting formalization is executable as a logic program. We use the term ‘‘event calculus’’ to relate it to the well-known ‘‘situation calculus’’ (McCarthy and Hayes 1969). The main difference between the two is conceptual: the situation calculus deals with global states whereas the event calculus deals with local events and time periods. Like the event calculus, the situation calculus can be formalized by means of Horn clauses augmented with negation by failure (Kowalski 1979). The main intended applications investigated in this paper are the updating of data- bases and narrative understanding. In order to treat both cases uniformly we have taken the view that an update consists of the addition of new knowledge to a knowledge base. The effect of explicit deletion of information in conventional databases is obtained without deletion by adding new knowledge about the end of the period of time for which the information holds.
    [Show full text]
  • Modeling and Reasoning in Event Calculus Using Goal-Directed Constraint Answer Set Programming?
    Modeling and Reasoning in Event Calculus Using Goal-Directed Constraint Answer Set Programming? Joaqu´ınArias1;2, Zhuo Chen3, Manuel Carro1;2, and Gopal Gupta3 1 IMDEA Software Institute 2 Universidad Polit´ecnicade Madrid [email protected], [email protected],upm.esg 3 University of Texas at Dallas fzhuo.chen,[email protected] Abstract. Automated commonsense reasoning is essential for building human-like AI systems featuring, for example, explainable AI. Event Cal- culus (EC) is a family of formalisms that model commonsense reasoning with a sound, logical basis. Previous attempts to mechanize reasoning using EC faced difficulties in the treatment of the continuous change in dense domains (e.g., time and other physical quantities), constraints among variables, default negation, and the uniform application of differ- ent inference methods, among others. We propose the use of s(CASP), a query-driven, top-down execution model for Predicate Answer Set Pro- gramming with Constraints, to model and reason using EC. We show how EC scenarios can be naturally and directly encoded in s(CASP) and how its expressiveness makes it possible to perform deductive and abductive reasoning tasks in domains featuring, for example, constraints involving dense time and fluents. Keywords: ASP · goal-directed · Event Calculus · Constraints 1 Introduction The ability to model continuous characteristics of the world is essential for Com- monsense Reasoning (CR) in many domains that require dealing with continu- ous change: time, the height of a falling object, the gas level of a car, the water level in a sink, etc. Event Calculus (EC) is a formalism based on many-sorted predicate logic [13, 23] that can represent continuous change and capture the commonsense law of inertia, whose modeling is a pervasive problem in CR.
    [Show full text]
  • Variants of the Event Calculus
    See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/2519366 Variants of the Event Calculus Article · October 2000 Source: CiteSeer CITATIONS READS 42 88 2 authors: Fariba Sadri Robert Kowalski Imperial College London Imperial College London 114 PUBLICATIONS 2,761 CITATIONS 154 PUBLICATIONS 12,446 CITATIONS SEE PROFILE SEE PROFILE Some of the authors of this publication are also working on these related projects: Non-modal deontic logic View project SOCS - Societies of Computees View project All content following this page was uploaded by Fariba Sadri on 12 September 2014. The user has requested enhancement of the downloaded file. Variants of the Event Calculus ICLP 95 Fariba Sadri and Robert Kowalski Department of Computing, Imperial College of Science, Technology and Medicine, 180, Queens Gate, London SW7 2BZ [email protected] [email protected] Abstract The event calculus was proposed as a formalism for reasoning about time and events. Through the years, however, a much simpler variant (SEC) of the original calculus (EC) has proved more useful in practice. We argue that EC has the advantage of being more general than SEC, but the disadvantage of being too complex and in some cases erroneous. SEC has the advantage of simplicity, but the disadvantage of being too specialised. This paper has two main objectives. The first is to show the formal relationship between the two calculi. The second is to propose a new variant (NEC) of the event calculus, which is essentially SEC in iff-form augmented with integrity constraints, and to argue that NEC combines the generality of EC with the simplicity of SEC.
    [Show full text]
  • Monitoring Business Constraints with the Event Calculus
    Universit`adegli Studi di Bologna DEIS Monitoring Business Constraints with the Event Calculus MARCO MONTALI FABRIZIO M. MAGGI FEDERICO CHESANI PAOLA MELLO WIL M. P. VAN DER AALST June 4, 2012 DEIS Technical Report no. DEIS-LIA-002-11 LIA Series no. 100 Monitoring Business Constraints with the Event Calculus MARCO MONTALI 1 FABRIZIO M. MAGGI 2 FEDERICO CHESANI 3 PAOLA MELLO 3 WIL M. P. VAN DER AALST 2 1Free University of Bozen-Bolzano Research Centre for Knowledge and Data (KRDB) [email protected] 2Eindhoven University of Technology Department of Mathematics & Computer Science ff.m.maggi j [email protected] 3University of Bologna Department of Electronics, Computer Science and Systems (DEIS) ffederico.chesani j [email protected] June 4, 2012 Abstract. Today, large business processes are composed of smaller, au- tonomous, interconnected sub-systems, achieving modularity and robustness. Quite often, these large processes comprise software components as well as hu- man actors, they face highly dynamic environments, and their sub-systems are updated and evolve independently of each other. Due to their dynamic nature and complexity, it might be difficult, if not impossible, to ensure at design-time that such systems will always exhibit the desired/expected behaviours. This in turn trigger the need for runtime verification and monitoring facilities. These are needed to check whether the actual behaviour complies with expected busi- ness constraints. In this work we present mobucon, a novel monitoring framework that tracks streams of events and continuously determines the state of business constraints. In mobucon, business constraints are defined using ConDec, a declarative pro- cess modelling language.
    [Show full text]
  • Artificial Intelligence"
    This document is made available through the declassification efforts and research of John Greenewald, Jr., creator of: The Black Vault The Black Vault is the largest online Freedom of Information Act (FOIA) document clearinghouse in the world. The research efforts here are responsible for the declassification of hundreds of thousands of pages released by the U.S. Government & Military. Discover the Truth at: http://www.theblackvault.com ,.. NATIONAL SECURITY AGENCY CENTRAL SECURITY SERVICE FORT GEORGE G. MEADE, MARYLAND 20755-6000 FOIA Case: 83602A 15 February 20 17 JOHN GREENEWALD Dear Mr. Greenewald: This responds to your Freedom of Information Act (FOIA) request of 27 January 2016 for Intellipedia entries on "Artificial Intelligence". As stated in our previous letter, dated 28 January 2016, your request was assigned Case Number 83602. A copy of your request is enclosed. For purposes of this request and based on the information you provided in your letter, you are considered an "all other" requester. As such, you are allowed 2 hours of search and the duplication of 100 pages at no cost. There are no assessable fees for this request. Your request has been processed under the FOIA. For your information, NSA provides a service of common concern for the Intelligence Community (IC) by serving as the executive agent for Intelink. As such, NSA provides technical services that enable users to access and share information with peers and stakeholders across the IC and DoD. Intellipedia pages are living documents that may be originated by any user organization, and any user organization may contribute to or edit pages after their origination.
    [Show full text]
  • Database Updates in the Event Calculus
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector J. LOGIC PROGRAMMING 1992:12:121-146 121 DATABASE UPDATES IN THE EVENT CALCULUS ROBERT KOWALSKI D This paper investigates a special case of the event calculus, concerned with database updates. It discusses the way relational databases, historical databases, modal logic, the situation calculus, and case semantics deal with database updates and compares the event calculus with the situation calculus in detail. It argues that the event calculus can overcome the computational aspects of the frame problem in the situation calculus and that it can be implemented with an efficiency approaching that of destruc- tive assignment in relational databases. a INTRODUCTION The event calculus [91 was developed as a theory for reasoning about events in a logic-programming framework. It is based in part on the situation calculus [13,14], but focuses on the concept of event as highlighted in semantic network representa- tions of case semantics. Its main intended application is the representation of events in database updates and discourse representation. It is closely related to Allen’s interval temporal logic [l, 21 and Lee-Coelho-Cotta’s treatment of time in deductive databases [ll]. The relationship between the event calculus and the systems of Allen and Lee-Coelho-Cotta has been investigated by Sadri [15]. The event calculus is concerned with formalizing the effect of events on objects, their properties, and their relationships. Thus, for example, given a description of an event in which Bob gives Book1 to John, Address correspondence to Robert Kowalski, Department of Computing, Imperial College of Science and Technology, 180 Queen’s Gate, London SW7 2BZ, England.
    [Show full text]
  • The Complex Event Recognition Group
    The Complex Event Recognition Group Elias Alevizos Alexander Artikis Nikos Katzouris Evangelos Michelioudakis Georgios Paliouras Institute of Informatics & Telecommunications, National Centre for Scientific Research (NCSR) Demokritos, Athens, Greece alevizos.elias, a.artikis, nkatz, vagmcs, paliourg @iit.demokritos.gr f g ABSTRACT and, possibly, a set of spatial constraints, expressing The Complex Event Recognition (CER) group is a re- a composite or complex event of special significance search team, affiliated with the National Centre of Sci- for a given application. The system must then be entific Research “Demokritos” in Greece. The CER efficient enough so that instances of pattern satisfac- group works towards advanced and efficient methods tion can be reported to a user with minimal latency. for the recognition of complex events in a multitude of Such systems are called Complex Event Recognition large, heterogeneous and interdependent data streams. (CER) systems [6, 7, 2]. Its research covers multiple aspects of complex event CER systems are widely adopted in contempo- recognition, from efficient detection of patterns on event rary applications. Such applications are the recog- streams to handling uncertainty and noise in streams, nition of attacks in computer network nodes, hu- and machine learning techniques for inferring interest- man activities on video content, emerging stories ing patterns. Lately, it has expanded to methods for fore- and trends on the Social Web, traffic and transport casting the occurrence of events. It was founded in 2009 incidents in smart cities, fraud in electronic market- and currently hosts 3 senior researchers, 5 PhD students places, cardiac arrhythmias and epidemic spread. and works regularly with under-graduate students.
    [Show full text]
  • Some Alternative Formulations of the Event Calculus
    In: "Computational Logic: Logic Programming and Beyond - Essays in Honour of Robert A. Kowalski", Lecture Notes in Artificial Intelligence, Vol. 2408, pub. Springer Verlag, 2002, pages 452–490. Some Alternative Formulations of the Event Calculus Rob Miller1 and Murray Shanahan2 1 University College London, London WC1E 6BT, U.K. [email protected] http://www.ucl.ac.uk/~uczcrsm/ 2 Imperial College of Science, Technology and Medicine, London SW7 2BT, U.K. [email protected] http://www-ics.ee.ic.ac.uk/~mpsha/ Abstract. The Event Calculus is a narrative based formalism for rea- soning about actions and change originally proposed in logic program- ming form by Kowalski and Sergot. In this paper we summarise how variants of the Event Calculus may be expressed as classical logic ax- iomatisations, and how under certain circumstances these theories may be reformulated as “action description language” domain descriptions using the Language . This enables the classical logic Event Calculus to E inherit various provably correct automated reasoning procedures recently developed for . E 1 Introduction The “Event Calculus” was originally introduced by Bob Kowalski and Marek Ser- got [33] as a logic programming framework for representing and reasoning about actions (or events) and their effects, especially in database applications. Since then many alternative formulations, implementations and applications have been developed. The Event Calculus has been reformulated in various logic program- ming forms (e.g. [11], [12], [21], [23], [29], [53], [58], [71], [72], [73],[74]), in classical logic (e.g. [62], [42], [43]), in modal logic (e.g. [2], [3], [4], [5], [6], [7]) and as an “action description language” ([21], [22]).
    [Show full text]
  • Abduction in Logic Programming
    Abduction in Logic Programming Marc Denecker1 and Antonis Kakas2 1 Department of Computer Science, K.U.Leuven, Celestijnenlaan 200A, B-3001 Heverlee, Belgium. [email protected] http://www.cs.kuleuven.ac.be/∼marcd 2 Department of Computer Science, University of Cyprus, 75 Kallipoleos St., Nicosia, Cyprus. [email protected] http://www.cs.ucy.ac.cy/∼antonis Abstract. Abduction in Logic Programming started in the late 80s, early 90s, in an attempt to extend logic programming into a framework suitable for a variety of problems in Artificial Intelligence and other areas of Computer Science. This paper aims to chart out the main develop- ments of the field over the last ten years and to take a critical view of these developments from several perspectives: logical, epistemological, computational and suitability to application. The paper attempts to ex- pose some of the challenges and prospects for the further development of the field. 1 Introduction Over the last two decades, abduction has been embraced in AI as a non-monotonic reasoning paradigm to address some of the limitations of deductive reasoning in classical logic. The role of abduction has been demonstrated in a varietyof appli- cations. It has been proposed as a reasoning paradigm in AI for diagnosis [8,90], natural language understanding [8,39,4,93], default reasoning [81,29,25,50], plan- ning [28,110,71,59], knowledge assimilation and belief revision [54,76], multi- agent systems [7,64,102] and other problems. In the context of logic programming, the studyof abductive inference started at the end of the eighties as an outcome of different attempts to use logic pro- gramming for solving AI-problems.
    [Show full text]
  • Discrete Event Calculus with Branching Time
    Discrete Event Calculus with Branching Time Erik T. Mueller IBM Thomas J. Watson Research Center P.O. Box 704 Yorktown Heights, NY 10598 USA Abstract every situation must have a unique successor, and (2) adding an argument for successor situation to Happens, Initiates, We add branching time to the linear discrete event calculus, Terminates, and Releases. We show how BDEC can be used which yields a formalism for commonsense reasoning that combines the benefits of the situation calculus and the event to solve commonsense reasoning problems involving hypo- calculus. We show how the branching discrete event calcu- thetical events, concurrent events, and triggered events. We lus can be used to solve commonsense reasoning problems extend BDEC to distinguish between hypothetical and ac- involving hypothetical events, concurrent events with cumu- tual situations and events. In an extended version of this lative and canceling effects, and triggered events. paper (Mueller in submission), we characterize the precise relationship between LDEC and BDEC, and prove that a re- stricted version of BDEC is equivalent to a version of the Introduction situation calculus. The classical logic event calculus (Miller & Shanahan 2002; The discrete event calculus was developed to facilitate au- Shanahan 1997) can serve as a foundation for common- tomated event calculus reasoning. It simplifies the classical sense reasoning. It can be used to reason about im- logic event calculus axioms, reducing the number of axioms portant areas of the commonsense world including action from 17 to 12 and eliminating triply quantified time from and change (Shanahan 1999a), space (Morgenstern 2001; most axioms. The discrete event calculus is the basis for the Shanahan 1996; 2004), and mental states (Mueller 2006a).
    [Show full text]