Artificial Intelligence

Artificial Intelligence

Aims

This module introduces the fundamental concepts and techniques of Artificial Intelligence (AI) from a modern, practice-oriented perspective. It focuses on the core abstractions and algorithms used to build intelligent systems – search and optimisation, probabilistic reasoning, machine learning, neural networks and reinforcement learning – and on how these are implemented and evaluated in Python. The module also highlights opportunities, risks and responsible use of AI in real-world applications.

Lectures

L1 Introduction: What is Artificial Intelligence?

Motivation and context; narrow vs general AI; AI, machine learning, deep learning and data science; application areas and a brief history of AI; four waves of AI; AI architectures and robust AI; types of machine learning algorithms; modern AI computing platforms; opportunities, risks and responsible use. #### L2 Search and Adversarial Games Single-agent search: formalisation of states, actions, transitions, goals and costs; nodes, frontier and explored set; uninformed search (DFS and BFS); informed search and heuristics; worked example of grid pathfinding; introduction to adversarial search and games; Python implementation of Tic–Tac–Toe and Minimax. #### L3 Local Search and Optimisation Optimisation problems and objective functions; local search and landscape intuition; hill-climbing algorithms and variants; metaheuristics; simulated annealing; brief overview of genetic algorithms; summary and exercises. #### L4 Probability and Uncertainty in AI Motivation for probabilistic modelling; probability spaces and basic rules; conditional probability and Bayes’ rule; random variables and common distributions; joint, marginal and conditional distributions; role of probability in machine learning and robotics; notebook integration with a tiny Naive Bayes example. #### L5 Machine Learning: Model Fitting and Sensitivity Analysis Supervised learning and loss minimisation; data preprocessing; bias–variance trade-off; correlation and Pearson coefficient; coefficient of determination R2R^2R2; train–test split and cross validation; regression error metrics; sensitivity analysis and feature importance. #### L6 Regression in Machine Learning Simple and multiple linear regression; evaluation metrics for regression; regularisation for linear regression (e.g. Ridge, Lasso); logistic regression; classification errors and evaluation metrics; summary and exercises. #### L7 Classification and Clustering in Machine Learning Classification problem formulation and types; k-Nearest Neighbour (kNN); Support Vector Machines (SVM); unsupervised learning and clustering; basic clustering ideas and evaluation; exercises. #### L8 Decision Trees and Random Forests Decision tree basics; entropy and information gain; worked examples; Gini impurity; decision tree learning and overfitting; Python implementation of decision trees; random forests and ensemble learning; Python implementation of random forests; exercises. #### L9 Artificial Neural Networks From biological to artificial neurons; activation functions; from single neuron to multilayer networks; learning via loss functions and optimisation; stochastic gradient descent (SGD); backpropagation; Python implementations of feed-forward neural networks; summary and exercises. #### L10 Convolutional Neural Networks Image representation and notation; convolution operation; ReLU non-linearity; pooling; flattening; fully connected layers and classification; simple CNN architectures; Python snippets for CNN building blocks; exercises and summary. #### L11 Robotics and Reinforcement Learning Robotics as embodied intelligence; reinforcement learning basics (agent, environment, reward, return); model-free reinforcement learning; Q-learning; worked example of a gridworld robot with Q-learning; exercises and summary.

Objectives

At the end of the course students should: - Understand the main concepts and paradigms in AI, including search, learning and decision making. - Be able to formalise simple problems as search or optimisation tasks and implement appropriate algorithms. - Understand and apply basic probabilistic reasoning and model evaluation techniques in AI contexts. - Be able to design, train and evaluate core machine learning models (regression, classification, clustering, trees, ensembles). - Understand the principles behind artificial neural networks and simple convolutional architectures and implement them in Python. - Be able to implement a basic reinforcement learning agent (e.g. Q-learning in gridworld-style environments). - Be aware of the opportunities, risks and responsible use of AI in real-world applications.

  • Russell, S. and Norvig, P. Artificial Intelligence: A Modern Approach (latest edition). Bishop, C. M. Pattern Recognition and Machine Learning. - Goodfellow, I., Bengio, Y. and Courville, A. Deep Learning (selected chapters).