Midterm Study Guide - CSE 473 - Autumn 2003

In order to prepare for the midterm I recommend that you:

 

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.

 

  1. 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?

 

  1. 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.)

 

  1. 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)?

 

  1. 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.

 

  1. 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?

 

  1. 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?)

 

  1. 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?

 

  1. 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?

 

  1. 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?

 

  1. 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.

 

  1. 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.

 

  1. 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?).

 

  1. 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