CMPSCI 383: Artificial Intelligence

Fall 2014 (archived)

Exam 1 Review

The first exam will be given on Thursday, 25 September in HAS 134 at 1900. The exam will cover material discussed in lectures from September 2 (the introductory class) to September 23 (Constraint Satisfaction) and the corresponding chapters of Russell & Norvig listed on the schedule.

The questions below cover the topics that may appear on the exam. You should be able to answer these questions. You should also be able to use the topics they cover in combination and to apply them to specific problems.

Problem-solving as search

  • What are the basic components necessary for formulating a generic search problem? What constitutes a solution? How is solution quality measured?
  • What are some of the assumptions typically made to reduce the potential complexity of a search problem?
  • What are four typical criteria used to evaluate a search algorithm?
  • Under what circumstances would you prefer depth-first search to breadth-first search?
  • What is the basic algorithm for iterative-deepening search?
  • What is the fundamental reason that iterative-deepening search is generally preferable to either breadth-first or depth-first search when performing an uninformed search?

Heuristic search

  • What is the difference between heuristic and uninformed search?
  • What is the basic algorithm for best-first search?
  • What is the basic algorithm for A* search, and under what circumstances is it optimal? How does it differ from best-first search?
  • What are the tradeoffs between inadmissible, admissible but inconsistent, and consistent heuristics?
  • What are two ways to create heuristic functions?

Local search

  • What are several types of local search algorithms?
  • What are the key advantage of local search over breadth-first or depth-first search?
  • What assumptions does local search make about what constitutes a solution?
  • What special challenges do these assumptions introduce for local search?
  • What are some methods for escaping these problems?

Adversarial search

  • What are the fundamental differences of adversarial search from conventional search?
  • What is the minimax algorithm? Is it complete and optimal?
  • How does alpha-beta pruning work, and why can it reduce the complexity of search?
  • Under what circumstances will it most reduce search?
  • How are evaluation functions typically constructed for adversarial search, given that we cannot search to all the way to the leaf nodes of the tree?
  • What changes have to be made in the search tree and the search algorithm to represent games with a chance element and evaluate moves in those trees?
  • What other methods are used to improve adversarial search?

Constraint satisfaction

  • What are constraint satisfaction problems? How do they differ from traditional heuristic search problems?
  • What data structure provides a general representation of many CSPs?
  • What generic search techniques can be applied to solve CSPs?
  • What are three types of methods for improving the performance of CSP algorithms?
  • How can you define CSPs as a local search problem? What would be a good evaluation function?