|Prerequisites||CS207 Advanced Programming, CS208 Logic & Algorithms|
|Contact||Lectures: 20 | Tutorials: 10 | Labs: 20 | Assignments: 60 | Self study: 90|
|Assessment||Assignments (50%), 2-hour Examination (50%).|
|Resit||Resit is by a 2-hour examination.|
|Lecturer||Dr Clemens Kupke|
To help the student to a broad appreciation of the scale and nature of the problems within Artificial Intelligence and to a detailed understanding of some of the fundamental techniques used to address those problems.
On completion of the class, a student should be able:
- to understand the modern view of AI as the study of agents that receive percepts from the environment and perform actions
- to demonstrate awareness of the major challenges facing AI and the complexity of typical problems within the field
- to exhibit strong familiarity with a number of important AI techniques, including in particular search, knowledge representation, planning and constraint management
- to assess critically the techniques presented and to apply them to real world problems
The class will cover the first 12 chapters of the 3rd edition of AI: A Modern Approach by Russell and Norvig. The topics to be covered will include:
- Introduction: What is AI? Foundations, history and related disciplines. The state of the art in modern AI including notable applications and successes.
- Intelligent agents: agents and environments, the concept of rationality, the structure of agents, different types of intelligent agent (reactive, deliberative, learning).
- Solving problems by searching: formulating problems as a search for a solution, uninformed search algorithms, informed (heuristic) search algorithms, formulating heuristic functions.
- Beyond classical search: optimisation problems, local search algorithms, genetic algorithms, local search in continuous spaces, searching under non-determinism and partial observability, online search agents and unknown environments.
- Adversarial search: optimal decisions in games, the minimax algorithm, alpha-beta pruning, imperfect real-time decisions, stochastic games, partially observable games, the state of the art in games playing.
- Constraint satisfaction problems: defining CSPs, constraint propagation, backtracking search in CSPs, local search in CSPs, exploiting problem structure.
- Logical agents: propositional logic for agent behaviour, propositional theorem proving, propositional model checking and SAT solving, agents based on propositional logic.
- First-order logic: syntax and semantics, knowledge engineering in first-order logic.
- Inference in first-order logic: unification and lifting, forward chaining, backward chaining, resolution.
- Classical planning: definition of classical planning, algorithms for planning as state-space search, planning graphs, other approaches.
- Planning and acting in the real world: time, schedules and resources, hierarchical planning, planning and acting in non-deterministic domains, multi-agent planning.
- Knowledge representation: ontological engineering, events, mental events and objects, reasoning with default information, an example application.
The class will focus on the practicalities of using these techniques to build intelligent agents. Practical work will be set, including the programming of an intelligent agent for a specified task.
* This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.