Exams

We will have an in-class midterm exam in mid-March and a final during the regularly scheduled final time.

Midterm exam

Here are some notes on the midterm exam, which will be held in class in mid-March, probably on Wednesday, March 14.

(1) There may be questions that ask you to write or understand very simple 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.5 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. For example, identify a reasonable set of variables, indicate the domain of each, describe the constraints that must old on variables or sets of variables.
  • 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 given a game tree and the values of the static evaluation function on the leaves.
  • Be able to take a game and develop a representation for it and its moves and to describe a reasonable 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, dominant strategies, etc. and how and when they come into play.

Some old midterms

Here are some old midterm exams some are from 671, the graduate version of the course.

Final exam

The final exam will be give from 3:30-5:30 in our classroom on Monday, May 21.

The final will mostly cover the material since the midter exam and in chapters 7, 8, 9, 10, 13, 14 and 18 of our text book. Review the homework and old exams.