### Knowledge Representation: Homework 2 --- Frequently Asked Questions

Questions to leora@watson.ibm.com

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?
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"?
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?
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?