Questions to leora@watson.ibm.com
Last modified: February 28, 1999.
Below, the most frequent questions about Homework 2, along with the answers:
Question:
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.
Question:
In the book and sometimes in class, causal rules referred to 2 situations.
In the handout, causal rules seemingly refer to only 1 situation.
Why?
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))
or as:
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.
Question:
:
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.
Question:
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.
Question:
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.
Question:
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.
Question:
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