This book is about commonsense reasoning, the sort of reasoning people perform in daily life. Here are some examples of commonsense reasoning:
1. In the living room, Lisa picked up a newspaper and walked into the kitchen. Where did the newspaper end up? It ended up in the kitchen.
2. Kate set a book on a coffee table and left the living room. When she returned, the book was gone. What happened to the book? Someone must have taken it.
3. Jamie walks to the kitchen sink, puts the stopper in the drain, turns on the faucet, and leaves the kitchen. What will happen as a result? The water level will increase until it reaches the rim of the sink. Then the water will start spilling onto the floor.
4. Kimberly turns on a fan. What will happen? The fan will start turning. What if the fan is not plugged in? Then the fan will not start turning.
5. A hungry cat saw some food on a nearby table. The cat jumped onto a chair near the table. What was the cat about to do? The cat was about to jump from the chair onto the table in order to eat the food.
This book is concerned with understanding and describing commonsense reasoning to such a level of detail that it can be automated, or performed automatically by a machine such as a computer. It reviews methods for commonsense reasoning and describes in detail a method for commonsense reasoning using the event calculus, which is based on classical predicate logic.
1.1 What is commonsense reasoning?
Commonsense reasoning is a process that involves taking information about certain aspects of a scenario in the world and making inferences about other aspects of the scenario based on our commonsense knowledge, or knowledge of how the world works. Commonsense reasoning is essential to intelligent behavior and thought. It allows us to fill in the blanks, to reconstruct missing portions of a scenario, to figure out what happened, and to predict what might happen next. Commonsense reasoning stands in contrast to various types of expert reasoning such as economic, legal, mathematical, medical, and scientific reasoning.
1.2 Key issues of commonsense reasoning
Although commonsense reasoning comes naturally to us and appears to be simple, it is actually a complex process. In this section, we examine the previously mentioned examples of commonsense reasoning in detail. We introduce fundamental concepts and point out some of the key issues that must be addressed by any method for commonsense reasoning.
Consider the first scenario.
Representation
In the living room, Lisa picked up a newspaper …
In order to automate commonsense reasoning about a scenario such as this, we must first build a representation of the scenario. A representation is something that resembles something else. For the purpose of automating commonsense reasoning, the representation should be a data structure or a sentence of a language defined by a formal syntax, and the representation should facilitate automated reasoning.
Objects, properties, events, and time
Several fundamental entities must be represented. First, we must represent objects in the world and agents such as persons and animals; we must represent Lisa, the newspaper, and the living room. Second, we must represent properties of the world that change over time; we need to represent the time-varying locations of Lisa and the newspaper. Third, we must represent events or actions that occur in the world; we need to represent the event of Lisa picking up the newspaper. Fourth, we must represent time; we must represent that Lisa picked up the newspaper when she and the newspaper were in the living room.
Object identity
We must represent the identities of objects; we must represent the fact that Lisa and the newspaper are not the same object.
Reasoning
Having formed a representation of the scenario, we can then perform commonsense reasoning or inference. Because our goal is automation, the method of reasoning should be expressed as an algorithm or formal rule that takes representations as input and produces representations as output.
Representations of commonsense knowledge
We must construct representations of commonsense knowledge that can be used by the reasoning method to reason about this scenario as well as other scenarios.
Effects of events
We must be able to represent and reason about the effects of events on world properties. We must be able to reason from a specific event and general knowledge about the effects of events to the specific effects of the specific event. We should be able to represent that, if a person picks up an object, then the person will be holding that object. Given that Lisa picked up the newspaper, and this piece of commonsense knowledge, we should be able to infer that Lisa was then holding the newspaper.
Context-sensitive effects
We must be able to represent and reason about the context-sensitive effects of events. We should be...