UMBC CMSC 671 Fall 2009
Principles of Artificial Intelligence


Midterm exam

Exam with model answers

Here are some notes on the midterm exam, which will be held in class on Monday October 19th.

(1) There will be no questions that ask you to write or understand Python code.

(2) The exam will be based on the concepts, techniques and algorithms discussed in our text book and in class.

(3) It's important to have read all of chapters 1-6 and section 17.6 in our text. This will fill in some of the gaps in our class coverage and discussions and also provide more background knowledge.

(4) You can look at the old mid-term exams found linked from this page. Note that there will be no questions on Lisp, Prolog or any topics related to them (e.g., unification).

(5) listed below are things you should be prepared to do.

Chapter 2: Intelligent agents

  • Understand the basic frameworks and characteristics of environments and agents introduced in chapter 2.

Chapters 3 and 4: Search

  • Take a problem description and come up with a way to represent it as a search problem by developing a way to represent the states, actions, and recognize a goal state.
  • Be able to analyze a state space to estimate the number of states, the 'branching factor' of its actions, etc.
  • Know the properties that characterize a state space (finite, infinite, etc.) and algorithms that are used to find solutions (completeness, soundness, optimality, etc).
  • Understand both uninformed and informed search algorithms including breadth first, depth first, best first, algorithm A, algorithm A*, iterative deepening, depth limited, bi-directional search, beam search, uniform cost search, etc.
  • Understand local search algorithms including hill-climbing and its variants, simulate annealing and genetic algorithms.
  • Know how to simulate these algorithms.
  • Be able to develop heuristic functions and tell which ones are admissible.
  • Understand how to tell if one heuristic is more informed than another.

Chapter 5: Constraint Satisfaction Problems

  • Understand the basics of CSP, including variables, domains, constraints.
  • Be able to take a problem description and set it up as a CSP problem.
  • Understand the forward checking and ARC-3 algorithms and be able to simulate them.
  • Understand the min-constraints algorithm and be able to simulate it.

Chapter 6: Adversarial search (and 17.6) Game theory

  • Understand the basic characteristics of games
  • Understand and be able to simulate Minimax with and without alpha-beta.
  • Be able to take a game and develop a representation for it and its moves and to describe a static evaluation function.
  • Understand how to handle games with uncertainty.
  • Be familiar with the basic concepts of game theory -- strategies, payoffs, Nash equilibrium, prisoner's dilemma, etc. how and when they come into play.

Some old midterms

Here are sone old midterm exams:

Final exam

The final exam will be give from 6:00 to 8:00pm in our classroom on Monday, December 21st. It will only cover material since the midterm exam. We'll make an effort to have problems that you can easily finish in the allotted time if you know the material.

  • Review the lecture notes since then.
  • Read the following sections from our text: 7, 8,9, 10, 11, 12.1-12.2, 13.1-13.6, 14.1-14.4, 17.6, 18.1-18.3
  • Here are exams from 1998, 2001 and 2006 that you can use as examples of what to expect.
  • For your amusement, here are some really old final exams from 1992, 1993 and 1994.
  • I will update this page with links to one (or maybe more) addional old finals. I will send email tot he class list when I do.
  • The 2009 final with some sample answers is here.