Questions to email@example.com
Last modified: February 28, 1999.
Below, the most frequent questions about Homework 2, along with the answers:
How come the syntax in the Davis book (Chapter 5) is so different
from the syntax in the Davis blocks-world handout?
Answer: Chapter 5 gives a syntax for general temporal reasoning. The syntax in the handout was developed specifically for the situation calculus, and for a particular dialect of the situation calculus (Reiter-style situation calculus). General temporal languages have the advantage of flexibility, but particular languages are often easier to work with in a particular situation.
In the book and sometimes in class, causal rules referred to 2 situations.
In the handout, causal rules seemingly refer to only 1 situation.
Answer: There are (at least) 2 different ways of writing causal rules. One always refers to 2 situations, but in Reiter-style situation calculus, often only the first situation is explicitly named. The other situations are described using the result function.
For example, consider the causal rule stating that turning on a switch causes the switch to be on. We can state this as:
Poss(s,turn-on(switch)) & s2=result(s,turn-on(switch)) ==> Holds(s2,on(switch))
Poss(s,turn-on(switch)) ==> Holds(result(s,turn-on(switch)),on(switch))
Both axioms state the same facts. In the first axiom, we explicitly mention the situation that would result from turning on a switch in the starting situation; in the second axiom, we just refer to that situation as result(s,turn-on(switch)) . Both axioms are correct, and which type to use is a stylistic choice. It is bad form, however (although not incorrect), to use both styles together.
How deep is the formalization supposed to go? How many facts are needed?
Do we need to add facts such as "A light bulb will burn out faster if
the switch is turned on and off frequently"?
Answer: Well, actually the above fact can't be formalized in the situation calculus (unless it is significantly extended) because there is no notion of time or duration. The general question, however, is difficult to answer for researchers trying to formalize real-world domains. That's the point of defining a microworld; you define a simple world that mirrors the real-world domain in some significant ways. For the purposes of this homework, at least, all you really want to do is to carefully examine the way the given fluents and actions interact, and to axiomatize those interactions. Do not overcomplicate the problem; it is complicated enough.
Which facts are causal rules? Which facts are domain constraints?
Answer: In general, causal rules refer to two situations; domain constraints to only one situation. It is true, however, that often information can be contained in either a domain constraint or a causal rule. For example, one can state as a causal rule that turning on a switch causes a bulb to shine if the bulb is working and is in a socket controlled by the switch. Or, one can merely say that turning on a switch causes the switch to be on (as a causal rule), and state as a domain constraint that if a working bulb is in a socket controlled by a switch which is on, the bulb is shining. Which way to go is the choice of the domain axiomatizer.
When we are trying to figure out which actions interfere (for
concurrent, asynchronous actions), do we have to consider all
combinations of actions?
Answer: In theory, yes, but in practice, it's never so bad. First, there are some actions that never interfere with others. For example, the wait action almost never interferes with other actions (and can safely be ignored in the light bulb example). Second, if two actions have contradictory preconditions, they can never interfere. Thus, for example, you don't have to worry that turn-on(switch) will conflict with turn-off(switch); the precondition for turn-on (switch is off) is the exact opposite of the precondition for turn-off (switch is on). (You do have to worry, however, about the same action types with different parameters.) In general, the actions that interfere are a small subset of the possible combinations. Explicitly enumerating them isn't usually that big a deal.
Great, the proofs don't have to be in natural deduction.
But just how detailed should they be?
Answer: You're aiming for the level of detail of a mathematical proof. Any axiom used should be explicitly referred to, and the argument should be smooth and convincing.
Doesn't this take forever? How do I know when I'm done?
Answer: It doesn't take forever. It does require a lot of detailed thinking. To a large extent, axiomatizing commonsense domains is trivia recollected in tranquillity, so a good strategy is to try to finish a day or two early, set the axiomatization aside, and come back to it later to see if you've forgotten some important fact.
Back to web page
for Homework 2
Back to web page for KR course