Introduction to Model-Based AI

Module aims

To familiarise with fundamental concepts and methods in Artificial Intelligence, with a focus on logic-based foundations.

Learning outcomes

By the end of the course students will understand the basic concepts and techniques of artificial intelligence well enough to tackle more advanced topics in AI in the 3rd  and 4th  year. Specifically, upon successful completion of the course, students will develop knowledge of:

  • Fundamentals of search and planning in AI
  • Theoretical foundations of resolution and unification and their use in automated
  • reasoning
  • Theoretical foundations of logic programming
  • Rule-based systems for robotics (e.g. teleo-reactive programs)
  • Foundation of abductive logic programming with algorithms
  • Answer Set Programming as declarative programming for modeling and solving real-world applications.
  • Foundation of a satisfiability problem and algorithms for Sat-solving

Finally, upon successful completion of the course, students will develop a wide range of practical skills necessary for modeling problem domains, including games, planning and
cognitive robotics. The use of ASP will also provide the students with skills on how to declaratively represent knowledge (e.g., mathematical models of problems, events and actions of agents), solve combinatorial search problems (e.g., scheduling, planning) and knowledge-intensive problems (e.g., explanation generation). Moreover, the course will provide an opportunity for students to further develop their Prolog skills.

Module syllabus

The course stresses formal and pragmatic skills in logic-based foundation of Artificial Intelligence. It will cover the following main themes and associated topics:

Introduction to knowledge representation and reasoning in AI:
default, non-monotonic reasoning by means of negation by failure, choice rules, aggregation, optimization statements, hard constraints and weak constraints, description logic programs for ontological reasoning.

Theoretical foundation of knowledge representation and reasoning in AI:
Semantic and theoretical underpinnings of declarative programming, including fundamental notions of Herbrand models, completion semantics, well-founded models, stable models, answer set semantics.

Methods of knowledge-driven inference:
SLD resolution, SLDNF resolution, bottom-up and top-down inference, abductive and inductive reasoning, with particular emphasis on abductive reasoning for explanation generation, temporal reasoning (Event Calculus and Situation Calculus), the Frame problem.

Introduction to Sat-solving:
Satisfiability problem and Sat algorithms, including Davis-Putnam(DP), Davis-Logemann-Loveland (DLL/DPLL), Stalmarck’s algorithm and Stochastic search (local search, hill climbing.)

Principles of state-space search algorithms:
Different types of search: blind, informed and adversarial search.

Introduction to planning, including STRIPS, graphplan and Sat-based planning, teleo-reactive programming for robotics.

Answer Set Programming:
State of the art declarative programming environment, based on Sat-solving. Notions of answer set semantics, weak constraints, non-determinism, and optimisation within declarative solutions.


This is a 2nd year full course offered as option to both BEng, MEng in the second term of the academic year. Prerequisites include Logic and Prolog.

Teaching methods

It will consist of 3 hours per week over 9 weeks of combined lectures, tutorials and laboratories.


The assessment will include 1 coursework exercise (Francesca Toni), and one examination (Francesca Toni, Alessandra Russo and Mark Law).

Reading list

Module leaders

Professor Francesca Toni
Professor Alessandra Russo