Midterm Study Guide - CSE 473 - Autumn 2003
In order to prepare for the midterm I recommend that you:
- Review
the online slides and lesson plans.
- Review
the homeworks and solutions.
- Review
the readings and your notes. You
will be getting all of your notes back this coming Friday (you will return
them to me on the following Friday).
- Create
problems based on the topics below and test yourself. The best way to do this is to get
together with other people from the class and quiz each other. I will set aside a short time at the
end of class Friday for people who would like to form such study groups to
get together.
Questions and topics: this is not necessarily an exhaustive
list of everything that might be on the midterm, but if you understand the
following thoroughly you should do well.
- What
are the parts of a search problem?
What is the difference between tree-search and graph-search? In what order are nodes expanded when
performing:
·
depth-first search
·
breadth-first search
·
A* search
·
iterated depth-first search
·
iterated A* search
When given a picture of a directed
graph and a search method, you should be able to number the nodes in order.
The last two kinds of “iterated”
searches are discussed in the textbook but were never mentioned in class. How do they work, and what are their
advantages? Are either or both
complete? Are either or both guaranteed
to find optimal solutions?
- What
does it mean for a heuristic to be admissible? To be monotonic?
Given a search problem and a heuristic you should be able to
determine whether or not it is admissible and/or monotonic. (See the solution for the homework
problem about Rubik’s cube.)
- How do
we represent a planning problem in STRIPS notation? How can you automatically generate a
search heuristic just on the basis of the form of the STRIPS
operators? In the textbook (page
386) several methods are discussed:
·
removing all preconditions
·
removing all preconditions and assuming subgoal
independence
·
removing preconditions and negative effects
·
removing negative effects only
Which of these approaches is
guaranteed to yield an admissible (optimistic) heuristic? Which is usually the most accurate (nearest
to the true distance)?
- What
does it mean to “plan in plan space” instead of in state-space? In general, in which approach is the
branching factor larger, and why?
Examples of plan-space operators include:
·
inserting an action
·
deleting an action
·
modifying an action by changing a parameter
·
decomposing an action
Be able to give a simple example of
each kind of operator (for example, in the cooking domain we used for our
in-class exercise). Note: you do not
need to reproduce all the details in section 12.2 of the textbook, Hierarchical
Task Network Planning – just the basic concepts as discussed in class.
- What
does it mean for a formula in propositional logic to valid, satisfiable,
or unsatisfiable (in terms of possible worlds or “models”)? What does it mean for one sentence to
entail another? What is the
precise relationship between the “implies” connective and entailment? What is the relationship between
entailment and unsatisfiability?
- Know
by heart the following terms: proposition; literal; clause; conjunctive
normal form (CNF). Be able to
convert a formula into CNF using deMorgan’s laws. If you are given a formula in CNF it is
very easy to determine if it is valid (true in all models). How do you do that? (Hint: a formula in CNF is valid if and
only if each clause in the formula is valid. So what is necessary for a clause to be valid?)
- Be
able to simulate the execution of the Davis-Putnam-Loveland-Logmann
procedure on a small formula. What
is a tight asymptotic bound on the running time of DPLL on formulas of the
following special form:
in terms of the length of the
formula? Suppose the unit clause rule
were eliminated from the algorithm; then what would the worst-case running time
be?
- Be
able to simulate the execution of Walksat on a very small formula. Each time Walksat “flips” a variable in
a clause of length k it has at
least a 1/k chance of having
flipped the correct variable.
(Why? Because if the clause
is currently false then at least one of the variables that appears in the
clause currently has the wrong value.)
Suppose you have a 3-CNF formula with n variables, and in the initial state ˝ of the variables are
set correctly. What is a lower
bound on the probability that Walksat finds a solution in just n/2 steps?
- Sports
scheduling problems can be represented in propositional logic by
introducing a proposition for each possible combination of a home team, an
away team, and a play date.
Suppose you wanted to encode the problem of a round-robin
tournament between four teams as a satisfiability problem, so that each
different solution to the sat problem corresponds to a possible schedule
of games. How could you do this?
- Be
able to create by hand resolution proofs containing variables (but no
function symbols), similar to the one about the “happy mother-in-law”
discussed in class.
- Be
able to write a simple Prolog program, such as on the homework. Create a simple Prolog program that
goes into an infinite loop when you query it.
- What
are the components of a two-player game of perfect information as a search
problem? What is the time
complexity of the MiniMax algorithm?
What improvement (in the best case) does the addition of Alpha-Beta
pruning provide (and what is the condition for the best case to arise?).
- Why
would you use a heuristic evaluation function in a game playing program,
since pure MiniMax algorithm guarantees optimal play? Consider the game Othello (if you are
not familiar with it, look it up on the web or discuss it with other
students). How could you write
down an evaluation function that takes the following into account:
·
corner squares are the most valuable
·
other edge squares the next most valuable
·
all else being equal, the player with the most pieces
of his color is ahead