Accessibility statement

AI Problem Solving with Search and Logic - COM00191M

« Back to module search

  • Department: Computer Science
  • Module co-ordinator: Dr. Peter Nightingale
  • Credit value: 20 credits
  • Credit level: M
  • Academic year of delivery: 2024-25

Related modules

Pre-requisite modules

  • None

Co-requisite modules

  • None

Additional information

Prerequisite knowledge includes an understanding of AI, machine learning and optimisation. For undergraduate students this knowledge is taught in (IMLO COM00026I or INT2 COM00024I).

Co-requisite modules None

Prohibited combinations None.

MSc AI: Students who have previously studied CONS - Constraint Programming (COM00159M) are not able to take AIPS.

Module will run

Occurrence Teaching period
A Semester 2 2024-25

Module aims

This module will introduce key approaches in Artificial Intelligence for tasks such as: finding a sequence of actions to achieve a goal; playing adversarial games; and solving discrete optimization problems such as configuration and scheduling. Students will learn the theory and practice of AI search, logic, and constraint-based approaches. The module aims to equip students with a wide range of problem-solving tools, how to design effective heuristics for them, and enable comparison of methods to determine which are best suited to a given problem. Some of the tools covered are state-space search algorithms (i.e. A* Search, IDA*, and Greedy Best-First Search), game-tree search algorithms (i.e. Minimax and Monte-Carlo Tree Search), local search methods for solving discrete optimization problems, constraint programming, and the satisfiability (SAT) problem in knowledge representation and reasoning.

Module learning outcomes

  1. Represent a given search problem in terms of states, actions, and a goal, and identify a suitable heuristic.

  2. Represent a given scenario using propositional logic to enable logical inference (for example, using a SAT solver).

  3. Model (represent) and solve discrete optimization problems using a modern constraint programming system.

  4. Select and apply an appropriate AI state-space search algorithm for a given problem, identifying reasons for the choice of algorithm in comparison to others.

  5. Select and apply an appropriate adversarial (game-tree) search method to solve a given game, including design of a suitable heuristic if required.

  6. Describe the algorithms commonly used in SAT (propositional satisfiability) solvers, local search solvers, and constraint solvers, and apply them to small examples.


Task Length % of module mark
Closed/in-person Exam (Centrally scheduled)
Closed Lab Exam Resit
3 hours 100

Special assessment rules



Task Length % of module mark
Closed/in-person Exam (Centrally scheduled)
Closed Lab Exam Resit
3 hours 100

Module feedback

Feedback is provided throughout the sessions, and after the assessment as per normal University guidelines.

Indicative reading


The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.