# Midterm review

The midterm will be on blackboard. Coding, if any, will be minimal, and will be written in “short answer” boxes on blackboard. Even though the midterm is completed online, attendance in class is required.

## Overview of AI

- Be able to explain the differences between supervised learning, unsupervised learning, reinforcement learning, and search (i.e., constraint satisfaction).

## Constraint satisfaction (OptaPlanner)

- Be able to describe appropriate planning entities, planning variables, planning solution, and definitions for hard/soft/medium constraints for an arbitrary constraint satisfaction problem.
- Be able to explain some of the simpler construction heuristics and metaheuristics (see OptaPlanner documentation).

## Logic programming (Prolog)

- Be able to write short Prolog programs to work with: numbers and constraints (using clpr), lists, recursion.
- Be able to explain how unification and resolution work, and trace through examples.

## Probability (ProbLog)

- Be able to compute a very simple Bayesian formula, e.g., given P(a) and P(b|a) and P(b|~a), compute P(a|b).
- Be able to write a couple ProbLog facts/rules that use proabilities appropriately, given a scenario.