13.07.2015 Views

Automating commonsense reasoning using the event calculus

Automating commonsense reasoning using the event calculus

Automating commonsense reasoning using the event calculus

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

contributed articlesby Erik T. Muellerdoi: 10.1145/1435417.1435443<strong>Automating</strong>CommonsenseReasoningUsing <strong>the</strong>Event CalculusCommonsense <strong>reasoning</strong> is <strong>the</strong> human abilityto make inferences about properties and <strong>event</strong>s in<strong>the</strong> everyday world. The automation of <strong>commonsense</strong><strong>reasoning</strong>, long a goal of <strong>the</strong> field of artificial intelligence 3and an area of active research in <strong>the</strong> last decade, 8 isattaining a level of maturity. <strong>Automating</strong> <strong>commonsense</strong><strong>reasoning</strong> allows us to build applications that are moreuser-friendly and more aware of <strong>the</strong> world. 2Several major computational approaches to<strong>commonsense</strong> <strong>reasoning</strong> have been explored.Analogical processing implements <strong>the</strong> notion thatpeople reason about novel situations by analogy tofamiliar ones. Probability <strong>the</strong>ory allows us to reasongiven uncertain knowledge of <strong>the</strong> state of <strong>the</strong> worldand how <strong>the</strong> world works. Qualitative <strong>reasoning</strong>focuses on <strong>reasoning</strong> about physical systems. Methodsbased on natural language make use of large textualcorpora of <strong>commonsense</strong> knowledge. Society of mindapproaches stress <strong>the</strong> use of multiple interactingmethods and representations.One approach that has achieved ahigh degree of success because of itssteadfast focus on hard benchmarkproblems of <strong>commonsense</strong> <strong>reasoning</strong>,is logic. One logic-based formalismthat stands out as both comprehensiveand easy to use is <strong>the</strong> <strong>event</strong> <strong>calculus</strong>. 4, 9Problem statement. A method for<strong>commonsense</strong> <strong>reasoning</strong> must be ableto perform various types of <strong>reasoning</strong>.Projection consists of determining whatwill happen next, or what <strong>the</strong> results ofa sequence of actions will be. Explanationconsists of determining what happened,or what <strong>the</strong> initial situation was.A method for <strong>commonsense</strong> <strong>reasoning</strong>must be able to reason about various everydaydomains, especially time (actionand change), space, and mental states.Event <strong>calculus</strong>. The <strong>event</strong> <strong>calculus</strong>fits <strong>the</strong> bill; it handles <strong>the</strong> importantaspects of <strong>commonsense</strong> <strong>reasoning</strong>, asshown in Table 1.The entities of <strong>the</strong> <strong>event</strong> <strong>calculus</strong> are<strong>event</strong>s, properties, and timepoints. Twotypes of facts are based on <strong>the</strong>se entities—<strong>the</strong>fact that an <strong>event</strong> occurs at atimepoint, and <strong>the</strong> fact that a propertyholds at a timepoint. Each fact has atruth value—it is ei<strong>the</strong>r true or false.To perform <strong>commonsense</strong> <strong>reasoning</strong><strong>using</strong> <strong>the</strong> <strong>event</strong> <strong>calculus</strong>, we firstidentify an area of interest and <strong>the</strong>nprovide <strong>commonsense</strong> knowledge relatedto that area. We specify <strong>the</strong> effectsthat result from an <strong>event</strong> occurring ata timepoint. We may specify that, in agiven context, a given <strong>event</strong> initiates agiven property. This means that, if <strong>the</strong><strong>event</strong> occurs at some timepoint in <strong>the</strong>context, <strong>the</strong>n <strong>the</strong> property will be trueafter that timepoint. We may similarlyspecify that an <strong>event</strong> terminates a givenproperty, which means that <strong>the</strong> propertywill be false after <strong>the</strong> <strong>event</strong> occurs.The frame problem in artificial intelligenceis <strong>the</strong> problem of representingand <strong>reasoning</strong> about what propertiesdo not change when an <strong>event</strong> occurs. In<strong>the</strong> <strong>event</strong> <strong>calculus</strong>, properties normallyobey <strong>the</strong> <strong>commonsense</strong> law of inertia 9 —<strong>the</strong> truth value of a property stays <strong>the</strong>same unless <strong>the</strong> property is directlyinitiated or terminated by an <strong>event</strong>. Butjanuary 2009 | vol. 52 | no. 1 | communications of <strong>the</strong> acm 113


contributed articlesTable 1. Aspects of Commonsense Reasoning Handled by <strong>the</strong>Event CalculusFigure 1. Discrete Event Calculus Reasonerindirect effects are also possible. For example,if a person picks up an objectand walks into ano<strong>the</strong>r room, not onlywill <strong>the</strong> person be in <strong>the</strong> o<strong>the</strong>r room;<strong>the</strong> object will also be in that room. The<strong>event</strong> <strong>calculus</strong> allows us to specify that,in a given context, an <strong>event</strong> releases aproperty from <strong>the</strong> <strong>commonsense</strong> lawof inertia, so that <strong>the</strong> property can varyaccording to some law. For example, wemay specify that <strong>the</strong> location of an objectvaries with <strong>the</strong> person holding it.Events enable <strong>the</strong> description of discretechange. To describe continuouschange, we may specify that a releasedproperty follows a certain trajectory orfunction of time.We may specify that, in a given context,<strong>the</strong> occurrence of an <strong>event</strong> is triggered.For example, when a ball flyingtoward a wall reaches <strong>the</strong> wall, itbounces off <strong>the</strong> wall. The preconditionsfor occurrence of an <strong>event</strong> may be specified.For example, to walk through adoor, <strong>the</strong> door must be open.Default <strong>reasoning</strong> is <strong>reasoning</strong> inwhich we reach a conclusion basedon limited information, and possiblylater retract that conclusion when newinformation comes in. The <strong>event</strong> <strong>calculus</strong>supports default <strong>reasoning</strong> <strong>using</strong>circumscription, which can be used tominimize unexpected <strong>event</strong>s, minimizeunexpected effects of <strong>event</strong>s, andminimize exceptional conditions. Forexample, circumscription can be usedto represent that, unless we know o<strong>the</strong>rwise,<strong>the</strong> refrigerator is plugged in.ExampleHere is an exampleof how we use <strong>the</strong><strong>event</strong> <strong>calculus</strong> torepresent knowledgeabout fallingobjects, and <strong>the</strong>nto reason about aparticular fallingobject. We represent<strong>the</strong> knowledgeas follows:Starting falling initiates falling.Starting falling releases height.The height of a falling object ish 0– — 1 gt 22 . aFalling and a height of zero triggerhitting <strong>the</strong> ground.Hitting <strong>the</strong> ground terminatesfalling.Hitting <strong>the</strong> ground initiates aheight of zero.We can <strong>the</strong>n use this knowledge toreason. Suppose we are asked to determinewhat happens given <strong>the</strong> followinginformation:The initial height of an apple is fourmeters.The apple starts falling at timepointzero.This is an instance of projection. Wereason as follows:Because starting falling initiatesfalling, after <strong>the</strong> apple startsfalling, it will be falling.Because <strong>the</strong> height of a falling1object is h 0– — gt 2 2 , <strong>the</strong> applestarts falling at timepoint zero,and h 0= 4, <strong>the</strong> height of <strong>the</strong> applewill be zero at timepoint :8/g .Because falling is subject to <strong>the</strong><strong>commonsense</strong> law of inertia, <strong>the</strong>a h 0is <strong>the</strong> object’s initial height in meters, g is <strong>the</strong>acceleration due to gravity (9.8 meters/second 2 ), and t is<strong>the</strong> elapsed time in seconds.apple is falling at timepoint :8/g .Because <strong>the</strong> apple is falling and<strong>the</strong> height of <strong>the</strong> apple is zero attimepoint :8/g , <strong>the</strong> apple will hit<strong>the</strong> ground at that timepoint.Representing DomainsThe constructs of <strong>the</strong> <strong>event</strong> <strong>calculus</strong>enable representation of a surprisingnumber of areas.The <strong>event</strong> <strong>calculus</strong> can be used torepresent and reason about variousnotions of space, such as object-levelspace:An object is at one location at atime.Moving from L to M initiates alocation of M.Moving from L to M terminates alocation of L.An agent picking up an objectinitiates <strong>the</strong> agent holding <strong>the</strong>object.An agent letting go of an objectterminates <strong>the</strong> agent holding<strong>the</strong> object.An agent picking up an objectreleases its location.If A is holding O, <strong>the</strong>n O is whereA is.If A is holding O and O is at L, <strong>the</strong>nA letting go of O initiates O beingat L.The <strong>event</strong> <strong>calculus</strong> can be used to representand reason about <strong>the</strong> goal-basedbehavior of a rational agent <strong>using</strong> <strong>the</strong>following knowledge:Adding a goal initiates an activegoal.Dropping a goal terminates anactive goal.Adding a plan initiates an activeplan.Dropping a plan terminates anactive plan.An active goal with no active plantriggers adding an appropriateplan.114 communications of <strong>the</strong> acm | january 2009 | vol. 52 | no. 1


contributed articlesTable 2. Four Models of a ProblemAn active plan triggers executing<strong>the</strong> next step.An active goal that is achievedtriggers dropping <strong>the</strong> active goaland its active plan.Discrete Event Calculus ReasonerThe Discrete Event Calculus Reasoner bsolves <strong>event</strong> <strong>calculus</strong> projection andexplanation problems efficiently <strong>using</strong>satisfiability (SAT). 6 At its core, <strong>the</strong> DiscreteEvent Calculus Reasoner is a modelfinding program. As shown in Figure1, <strong>the</strong> program takes <strong>commonsense</strong>knowledge and <strong>the</strong> truth values of somefacts as input, encodes a SAT problem,invokes a complete SAT solver, and decodes<strong>the</strong> results of <strong>the</strong> SAT solver toproduce models as output. Each modelassigns a truth value to every fact.Each model produced by <strong>the</strong> DiscreteEvent Calculus Reasoner fills in facts notprovided as input. For example, supposewe know that waking up initiates beingawake, Holly is not awake at timepoint 0,and she is awake at timepoint 1. Fur<strong>the</strong>rsuppose that we limit <strong>the</strong> timepoints to0 and 1, and <strong>the</strong> agents to Holly and Ken.The program produces <strong>the</strong> four modelsshown in Table 2. This is an instance ofexplanation: The fact that Holly wokeup at timepoint 0 explains how it wasthat she was not awake at timepoint 0and awake at timepoint 1. Not much isknown about Ken. He might have beenawake or not awake at timepoint 0. Butif he did wake up at timepoint 0, <strong>the</strong>n hewas awake at timepoint 1.ApplicationsCommonsense <strong>reasoning</strong> <strong>using</strong> <strong>the</strong><strong>event</strong> <strong>calculus</strong> is finding applicationb http://decreasoner.sourceforge.net/in many areas, including business systems,natural language understanding,and robotics.Business systems. The <strong>event</strong> <strong>calculus</strong>can be used to make business systemsmore flexible and more aware of<strong>the</strong> human world. It is being used toincrease <strong>the</strong> flexibility of customer andmerchant applications implementing<strong>the</strong> NetBill payment protocol. 12 Insteadof representing <strong>the</strong> protocol in a traditionalfashion as a finite state machine(FSM), <strong>the</strong> <strong>event</strong> <strong>calculus</strong> is used to representand reason about <strong>the</strong> commitmentsunderlying <strong>the</strong> protocol. An exampleof a commitment is that sendinga price quote for a product commits <strong>the</strong>sender to delivering <strong>the</strong> product if <strong>the</strong>customer sends a purchase request.Commonsense <strong>reasoning</strong> allows <strong>the</strong>NetBill applications to adapt to noveland exceptional situations. For example,<strong>the</strong> NetBill protocol specifies thata transaction begins with a price quoterequest from <strong>the</strong> customer. Yet by <strong>reasoning</strong>about commitments, it is possiblefor <strong>the</strong> merchant application todetermine that it is in fact possible tosend an unsolicited price quote to <strong>the</strong>customer. Of course, <strong>the</strong> merchant is<strong>the</strong>n committed to deliver <strong>the</strong> productif <strong>the</strong> customer orders it at <strong>the</strong> quotedprice. Ano<strong>the</strong>r example is that <strong>the</strong> customerapplication can determine thatit is possible to bargain hunt by sendinga purchase request at a low pricewithout having previously received aprice quote. The customer is <strong>the</strong>n committedto pay if <strong>the</strong> merchant delivers<strong>the</strong> product at that price, which <strong>the</strong>merchant isn’t committed to do.The <strong>event</strong> <strong>calculus</strong> is being used tomodel business workflows. 1 The modelof a workflow can be used for variouspurposes, such as (1) simulating <strong>the</strong>workflow, (2) managing <strong>the</strong> executionof <strong>the</strong> workflow by participants, and(3) querying <strong>the</strong> past, present, and possiblefuture states of <strong>the</strong> workflow.Natural language understanding.The <strong>event</strong> <strong>calculus</strong> is well-suited to <strong>the</strong>representation of <strong>the</strong> meaning of naturallanguage, and making inferencesin natural language understandingsystems. It is being used to representtense and aspect, 11 and for inferencingin narrative comprehension systems. 7Given a <strong>commonsense</strong> knowledgebase about a domain and a narrativeconsisting of known properties and<strong>event</strong>s in that domain, <strong>the</strong> <strong>event</strong> <strong>calculus</strong>can be used to fill in missing propertiesand <strong>event</strong>s. A system for understandingterrorism news stories 7 uses<strong>commonsense</strong> <strong>reasoning</strong> to fill in suchthings as <strong>the</strong> following:After being threatened, <strong>the</strong> victim isangry at <strong>the</strong> perpetrator.After <strong>the</strong> target is set on fire, it is<strong>event</strong>ually destroyed.Although this work is in its infancy, itpoints <strong>the</strong> way to <strong>the</strong> development ofquestion answering systems with anability to understand text more deeplythan is currently possible.Robotics. The <strong>event</strong> <strong>calculus</strong> is suitablefor representation and <strong>reasoning</strong>within robotics systems. It is beingused within a robot’s high-level visionsystem 10 to improve object recognitionby taking advantage of <strong>reasoning</strong> about<strong>the</strong> changes of <strong>the</strong> appearance of anobject over time.The high-level vision system is dividedinto three layers. The first layertakes low-level edge information andproduces hypo<strong>the</strong>ses about regions.The second layer produces hypo<strong>the</strong>sesabout appearance. The third layer produceshypo<strong>the</strong>ses about what objectsare in view based on <strong>the</strong> changes in appearanceover time.Related WorkO<strong>the</strong>r logic-based formalisms for <strong>commonsense</strong><strong>reasoning</strong> include <strong>the</strong> situation<strong>calculus</strong>, <strong>the</strong> fluent <strong>calculus</strong>, temporalaction logics (TAL), and actionlanguages. The situation <strong>calculus</strong> issimilar to <strong>the</strong> <strong>event</strong> <strong>calculus</strong>, but usesbranching time instead of linear time.The fluent <strong>calculus</strong> is an extension of<strong>the</strong> situation <strong>calculus</strong>. TAL is similarJanuary 2009 | vol. 52 | no. 1 | communications of <strong>the</strong> acm 115


contributed articlesto <strong>the</strong> <strong>event</strong> <strong>calculus</strong>. Action languagesuse specialized syntaxes ra<strong>the</strong>r thanfirst-order or second-order logic.Software tools are available for <strong>reasoning</strong><strong>using</strong> <strong>the</strong>se formalisms:cKM implements <strong>the</strong> situation <strong>calculus</strong>.dFLUX implements <strong>the</strong> fluent <strong>calculus</strong>.eVITAL implements TAL.fThe causal calculator (CCALC) implements<strong>the</strong> CCALC action language,˲˲˲˲˲˲˲˲which is based on <strong>the</strong> distinction betweenwhat is true and what has a cause.˲˲gE-RES implements <strong>the</strong> E action language,which is based on <strong>the</strong> <strong>event</strong> <strong>calculus</strong>.Formalisms and tools for automated<strong>commonsense</strong> <strong>reasoning</strong> are closely relatedto those for planning. The task inplanning is to take as input an initial stateand a goal state, and produce as outputa sequence of actions that bring about<strong>the</strong> goal state starting from <strong>the</strong> initialstate. Most planners support <strong>the</strong> PDDLplanning domain definition language hthat is used in international planningcompetitions. PDDL treats many of <strong>the</strong>same phenomena of action and changeas <strong>the</strong> <strong>event</strong> <strong>calculus</strong> such as contextsensitiveeffects and <strong>the</strong> <strong>commonsense</strong>law of inertia. i The main difference betweenplanners and logical common-A Unix ExampleHow does one actually go about <strong>using</strong> <strong>the</strong> Discrete Event CalculusReasoner? Suppose we wish to reason about <strong>the</strong> Unix system. Weenter <strong>the</strong> following text into a file called Unix.e:sort dirsort filenamefluent Cwd(dir)fluent In(filename, dir)<strong>event</strong> Mv(filename, filename)[filename1, filename2, dir, time]HoldsAt(Cwd(dir), time) & filename1!=filename2 ->Initiates(Mv(filename1, filename2), In(filename2, dir),time).[filename1, filename2, dir, time]HoldsAt(Cwd(dir), time) & filename1!=filename2 ->Terminates(Mv(filename1, filename2), In(filename1, dir),time).We define two sorts (or types): one for directories and onefor filenames. We define two fluents (or properties): one thatrepresents <strong>the</strong> current working directory and one that representsthat a filename is in a directory. We define an <strong>event</strong> that representsthat a mv command is issued. We <strong>the</strong>n write two logical axioms.These axioms specify that, if one is in a directory and one issues <strong>the</strong>commandmv filename1 filename2where filename1 is different from filename2, <strong>the</strong>n filename2 willbe in <strong>the</strong> directory and filename1 will no longer be in <strong>the</strong> directory.The notation [filename1, filename2, dir, time] means “for allfilename1, filename2, dir, and time.” The notation -> means“implies.”Suppose we wish to solve <strong>the</strong> following projection problem. Initially,<strong>the</strong> current working directory is D and <strong>the</strong> only filename in directoryD is N1. We issue <strong>the</strong> command mv N1 N2. What is <strong>the</strong> result? Todetermine <strong>the</strong> answer, we enter <strong>the</strong> following problem into a file:load Unix.edir Dfilename N1, N2HoldsAt(Cwd(D), 0).[filename] HoldsAt(In(filename, D), 0) filename=N1.Happens(Mv(N1, N2), 0).completion HappensThe notation means “if and only if.” When we provide this fileas input to <strong>the</strong> Discrete Event Calculus Reasoner, it produces <strong>the</strong>following output:1 model---model 1:0In(N1, D).Cwd(D).Happens(Mv(N1, N2), 0).1-In(N1, D).+In(N2, D).The result is that filename N1 is no longer in D and N2 is now in D.By default, <strong>the</strong> Discrete Event Calculus Reasoner shows only <strong>the</strong>differences from one timepoint to <strong>the</strong> next. A property that changesfrom true to false is indicated with a minus sign (“-”) and a propertythat changes from false to true is indicated with a plus sign (“+”).Suppose we wish to solve <strong>the</strong> following explanation problem.At timepoint 0, N1 is <strong>the</strong> only filename in directory D, whereasat timepoint 1, N2 is <strong>the</strong> only filename in directory D. Whathappened? We enter <strong>the</strong> following into a file:load Unix.edir Dfilename N1, N2[filename] HoldsAt(In(filename, D), 0) filename=N1.[filename] HoldsAt(In(filename, D), 1) filename=N2.range time 0 1When we run this through <strong>the</strong> Discrete Event Calculus Reasoner, itproduces <strong>the</strong> following:1 model---model 1:0In(N1, D).Cwd(D).Happens(Mv(N1, N2), 0).1-In(N1, D).+In(N2, D).The program determines that <strong>the</strong> command mv N1 N2 was issuedwhen <strong>the</strong> current working directory was D.range time 0 1116 communications of <strong>the</strong> acm | january 2009 | vol. 52 | no. 1


contributed articlessense <strong>reasoning</strong> tools is that plannersare highly optimized for planning andtypically support only planning, whereas<strong>commonsense</strong> <strong>reasoning</strong> tools supportplanning as well as o<strong>the</strong>r forms of <strong>reasoning</strong>,including projection, j postdiction(determining <strong>the</strong> initial state givena sequence of <strong>event</strong>s and a final state),and model finding (filling in missingproperties and <strong>event</strong>s given observedproperties and <strong>event</strong>s).c http://www.cs.utexas.edu/users/mfkb/km.htmld http://www.fluxagent.org/e http://www.ida.liu.se/~jonkv/vital/f http://www.cs.utexas.edu/users/tag/cc/g http://www.ucl.ac.uk/~uczcrsm/LanguageE/h http://www.cs.yale.edu/homes/dvm/i Few PDDL tools implement continuous change andtriggered <strong>event</strong>s. Exceptions are TM-LPSAT (http://cs1.cs.nyu.edu/~jiae/) and VAL (http://planning.cis.strath.ac.uk/VAL/).j Projection is performed by Drew McDermott’s PDDLsolution checker (ftp://ftp.cs.yale.edu/pub/mcdermott/software/pddl.tar.gz).Nonlogical MethodsA number of nonlogical methods for<strong>commonsense</strong> <strong>reasoning</strong> have beendeveloped by artificial intelligence researchers.8 How do <strong>the</strong>y compare with<strong>the</strong> <strong>event</strong> <strong>calculus</strong>?When <strong>using</strong> <strong>the</strong> <strong>event</strong> <strong>calculus</strong> tosolve a problem in a domain, we typicallyassume that knowledge about <strong>the</strong>domain has been previously entered.Analogical processing methods can beused to generate candidate inferencesin a novel domain by finding analogiesto familiar domains.The <strong>event</strong> <strong>calculus</strong> does not dealwith probabilities, although it does allowrepresentation of nondeterministiceffects of <strong>event</strong>s. Methods based onprobability <strong>the</strong>ory can be used to quantifyuncertainty about <strong>commonsense</strong>knowledge, uncertainty about a givenscenario, and uncertainty about <strong>commonsense</strong>inferences.Qualitative <strong>reasoning</strong> methods areparticularly strong at modeling and simulating<strong>the</strong> behavior of physical mechanismssuch as clocks, electrical circuits,pressure regulators, and water tanks.Natural-language-based methods 2have <strong>the</strong> advantage that <strong>commonsense</strong>knowledge can be entered without havingto learn any special notation. Touse <strong>the</strong> <strong>event</strong> <strong>calculus</strong> one must have abasic familiarity with classical logic.The society of mind 5 allows multiple<strong>commonsense</strong> <strong>reasoning</strong> methodsto be combined so that <strong>the</strong> best techniquescan be used to make progress ateach point in <strong>reasoning</strong>. The <strong>event</strong> <strong>calculus</strong>can be one of <strong>the</strong>se techniques.ConclusionThe automation of <strong>commonsense</strong> <strong>reasoning</strong>is coming to fruition. Futurechallenges include <strong>the</strong> developmentof useful <strong>commonsense</strong> knowledge forapplication areas and <strong>the</strong> efficient solutionof large <strong>commonsense</strong> <strong>reasoning</strong>problems.The <strong>event</strong> <strong>calculus</strong> handles <strong>the</strong> importantproblems of <strong>commonsense</strong><strong>reasoning</strong>, and is highly usable. It isbeing applied to business systems,natural language understanding, andvision. It will be interesting in <strong>the</strong> comingyears to explore its advantages forcreating more flexible and user-friendlysystems.References1. Cicekli, N. K. and Yildirim, Y. Formalizing workflows<strong>using</strong> <strong>the</strong> <strong>event</strong> <strong>calculus</strong>. M. T. Ibrahim, J. Küng,and N. Revell, Eds. Database and Expert SystemsApplications. Lecture Notes in Computer Science,Springer, Berlin, 2000, 222-231.2. Lieberman, H., Liu, H., Singh, P., and Barry, B. Beatingcommon sense into interactive applications. AIMagazine 25, 4 (2004), 63-76.3. McCarthy. J. Programs with common sense.Mechanisation of Thought Processes: Proceedings of aSymposium held at <strong>the</strong> National Physical Laboratoryon 24th, 25th, 26th and 27th November 1958. HerMajesty’s Stationery Office, London, 1959, 75-91.4. Miller, R. and Shanahan, M. Some alternativeformulations of <strong>the</strong> <strong>event</strong> <strong>calculus</strong>. A. C. Kakas and F.Sadri, Eds. Computational Logic: Logic Programmingand Beyond: Essays in Honour of Robert A. Kowalski,Part II, Lecture Notes in Computer Science, Springer,Berlin, 2002, 452-490.5. Minsky, M. The Emotion Machine: CommonsenseThinking, Artificial Intelligence, and <strong>the</strong> Future of <strong>the</strong>Human Mind. Simon & Schuster, NY, 2006.6. Mueller, E. T. Event <strong>calculus</strong> <strong>reasoning</strong> throughsatisfiability. Journal of Logic and Computation 14, 5(2004), 703-730.7. Mueller, E. T. Understanding script-based stories <strong>using</strong><strong>commonsense</strong> <strong>reasoning</strong>. Cognitive Systems Research5, 4 (2004), 307-340.8. Mueller, E. T. Commonsense Reasoning. MorganKaufmann, San Francisco, CA, 2006.9. Shanahan, M. Solving <strong>the</strong> Frame Problem. MIT Press,Cambridge, MA, 1997.10. Shanahan, M. Perception as abduction: Turning sensordata into meaningful representation. Cognitive Science29 (2005), 103-134.11. van Lambalgen, M. and Hamm, F. The ProperTreatment of Events. Blackwell, Malden, MA, 2005.12. Yolum, P. and Singh, M. P. Reasoning aboutcommitments in <strong>the</strong> <strong>event</strong> <strong>calculus</strong>: An approachfor specifying and executing protocols. Annals ofMa<strong>the</strong>matics and Artificial Intelligence 42 1-3 (2004),227-253.Erik T. Mueller (etm@us.ibm.com) is a Research StaffMember at <strong>the</strong> IBM Thomas J. Watson Research Centerin Yorktown Heights, NY.© 2009 acm 0001-0782/09/0100 $5.00January 2009 | vol. 52 | no. 1 | communications of <strong>the</strong> acm 117

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!