Artificial Intelligence: search, planning, and machine learning

Teaching methods

Lectures, some practical seminars and practicals and four programming and experimental assignments.


Students will need to use the knowledge they obtained in the first year of the Bachelor Artificial Intelligence programme and will especially need to have some
knowledge of programming, logic and statistics.


Upon completion of this course, students will be able to:

  • Understand and reason using basic aspects of computational complexity theory, such as NP-hardness and reductions.
  • Understand, apply, and implement the following search algorithms/strategies:
    • A* algorithm for finding shortest paths;
    • Prim's and Kruskal's algorithm for finding a minimum spanning tree;
    • The Floyd-Fulkerson algorithm for computing maximum network flow;
    • The Simulated Annealing strategy for local search.
  • Understand, apply, and reason using the following planning aspects:
    • Representation (feature-based / STRIPS);
    • Situation calculus;
    • Regression, forward, and CSP planning;
    • Partial-order and relaxed plans, planning heuristics.
  • Understand, apply, and implement the Variable Elimination algorithm for inference in Bayesian Networks.
  • Understand approximation strategies and learning in Bayesian Networks.
  • Understand, are able to compute and reason with Decision Networks and Markov Decision Processes.
  • Understand, apply, and reason with the following aspects from Machine Learning:
    • Model-based versus model-free; on-policy and off-policy learning; exploration and exploitation;
    • Bellman equations, value and policy iterations;
    • Markov property, discount factor, reward function.


This course introduces students to the important aspects of the symbolic approach to Artificial Intelligence. During the course, students will gain insight into those important issues from the "classic" AI that are relevant to modern developments.
The main themes of the course are: complexity of problems and algorithms, search strategies and algorithms, planning problems, reasoning with uncertainty (Bayesian networks), decision making and machine learning (especially reinforcement learning).
Once they have completed the course, students will be able to apply these techniques to simple practical examples.


The examination is comprised of two parts:

  1. Four programming assignments;
  2. Two partial exams. Participation in the exams is conditional on the timely submission of homework exercises.


  • Poole, David & Mackworth, Alan. Artificial Intelligence: Foundations of Computational Agents. Cambridge University Press, 2010.
    Available online at:
  • Extra course material and general information pertaining to slides, assignments and timetables can be found on Blackboard.

Course ID
6 ec
2nd semester
Show schedule
SWS / PersoonlijkRooster


Included in