TIMETABLE | TEACHING MATERIAL |
Credits | 20 |
Level | 5 |
Semester | 1 |
Prerequisites | N/A |
Availability | Mandatory |
Contact | Lectures: 22 hours | Lab: 20 hours | Tutorial: 10 hours | Homework / Private Study: 148 |
Assessment | Coursework (50%) and Final Examination (50%). |
Resit | Resit examination. |
Lecturer | Dr Joseph El-Gemayel |
General Aims
The aim of this class is to endow students with:
- the ability to program in a suitable high level language for implementing AI algorithms and building AI systems.
- an understanding of what Artificial Intelligence means in the context of autonomous systems.
- an understanding of the key algorithms and techniques which can enable autonomous systems to make rational decisions and choose appropriate actions.
- an exposure to a range of techniques that enable autonomous systems to make rational decisions and choose appropriate actions in a variety of settings.
Learning Outcomes
On completion of the class students will be able to:
- Program in Python, with the goal being to implement key AI algorithms and build AI systems.
- Define and understand the problem of Artificial Intelligence as it relates to autonomous systems.
- Apply search techniques to enable autonomous systems to choose actions that are appropriate to their goals.
- Apply key techniques to adversarial problems, such as Mini-Max and Monte Carl Tree search.
Syllabus
- Introductory Python programming: how to implement AI programs in Python. Algorithm design and testing. Basic Software development and documentation in Python.
- How to build systems in Python. Modules, libraries, systems architecture and design, system testing.
- 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 or 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, monte Carlo Tree Search.
- Classical planning: definition of classical planning, algorithms for planning as state-space search, planning graphs, other approaches.
- Algorithm choice: given an AI problem, which algorithm should I apply?
- Hypothesis testing: given an AI problem, which algorithm is giving me the best performance.
Recommended Text/Reading
Artificial Intelligence: A Modern Approach. Russell, S. and Norvig, P. 3rd Edition, Pearson. 2010.