CMSC 477/677 - Spring 2005
Discussion Questions for Class #3, February 8
Topic: Formal Methods
Reading: Wooldridge Chap. 3, Levesque et al., "GOLOG...."
Wooldridge
- What are the pluses and minuses of using formal methods in agent design?
- What is calculative rationality? Calculative rationality seems
hard, even for relatively straightforward environments, and the book says
(and I agree) that calculative rationality isn't really enough. So
do you think there is any hope for formal, logic-based methods?
- Devil's advocate: It's hard enough to build a single intelligent
agent; how can we possibly hope to coordinate them??
Levesque
- p. 2: "The presentation throughout is informal in nature; in a companion
paper [14], we explore the more formal aspects of the work." Aren't you glad
I didn't assign [14]? :-)
- Situation Calculus 101:
- 471/671 pop quiz: What is the situation calculus? What are
the limitations of the situation calculus? (Hint: In section 5.3, the
discussion of progressing the databases addresses part of the key problem.)
- What's a fluent?
- How are action preconditions and effects modeled? What's the
meaning of the Poss operator?
- What's the frame problem? Are frame axioms an adequate solution?
Is the "simple solution" they propose a good one? Why or why not?
- Complex Actions 101: In class, we'll walk through the specifications
for items 1-6 in section 3.
- Semi-rhetorical question: Gee, it seems like GOLOG is just another
programming language. So why not just write a program?
- p. 10: "By opting to define programs as macros, we obtain a much simpler
theory than if we were to reify these actions." Bonus credit to anybody
who can clearly articulate what this means and why it's true.
- p. 20, bullet 2: "Nondeterminism can be used to infer the missing details
[in] sketchy plans."
This is great!
The planning problem is solved!
True or false?
- What are GOLOG's most significant strengths and weaknesses? (Hint:
see p. 21 for some of the limitations.)
- Can you give some examples of domains or environments that would
be particularly well or ill suited for a GOLOG application?
- What aspects of the elevator controller domain make it a good GOLOG
domain? Do you think it would be possible to write a more sophisticated/"smart"
controller (e.g., for a large building with many elevators, where utilization
must be maximized and energy usage and wait time must be minimized)?