Artificial Intelligence and Machine Learning
This module explores using artificial intelligence to solve problems using algorithms. The module comprises of three main fields: search, logic, and machine learning. Machine learning is when computers train themselves to improve their own performance on huge datasets.
The core text for this module is Artificial Intelligence: A Modern Approach 3rd Edition by Stuart Russell & Peter Norvig.
For programming, we will be using Java, specifically Liberica JDK 11.
Module Learning Outcomes (MLOs)
At the end of this module students will be able to:
- Critically analyse the principal ideas and techniques of Artificial Intelligence
- Explain the goals and purpose of artificial intelligence, and distinctions between approaches such as acting rationally and simulating human behaviour
- Articulate the distinctions between and purpose of AI Search, Logic and Machine Learning
- Identify some of the methods of current AI research and be able to give examples of their application in state-of-the-art AI systems
- Apply AI search to solve problems that may be represented as states, transitions and goals
- Represent search problems as states, actions and goals
- Implement the simplest search algorithms, including Depth-First Search, Breadth-First Search and Iterative Deepening
- Estimate the size and nature of the searches performed by uninformed search algorithms
- Design heuristics for informed search algorithms
- Implement informed search algorithms, including Greedy Best-First Search and A* Search
- Estimate the size and nature of the searches performed by informed algorithms
- Design logical systems that are able to represent knowledge and make decisions
- Represent scenarios in propositional logic, and be able to perform rearrangements of logic sentences into conjunctive normal form
- Apply reasoning algorithms for propositional logic with Horn clauses: forward and backward chaining
- Represent decision problems and logical entailment as propositional satisfiability
- Apply reasoning algorithms to solve the satisfiability problem in propositional logic
- Apply machine learning techniques to create AI agents that can learn from observed data
- Identify supervised, unsupervised and reinforcement learning and explain the form of their input data set or feedback
- Apply k-means clustering to perform unsupervised learning on an unlabelled data set
- Identify pitfalls of supervised learning, and apply suitable basic techniques to avoid these pitfalls
- Identify the strengths and weaknesses of linear regression, and neural networks for supervised learning tasks
- Train and evaluate linear regression, logistic regression, and neural network models using a machine learning toolkit
- Identify safety issues when machine learning systems are deployed in the real world, in particular in autonomous vehicles
- Critically evaluate the societal impact of AI including legal and ethical issues
- Critically evaluate ethical and legal issues that may arise from recent developments in AI
- Identify pitfalls of supervise learning, and apply suitable basic techniques to avoid these pitfalls
- Identify safety issues when machine learning systems are deployed in the real world, in particular in autonomous vehicles
Week 1: Introduction to Artificial Intelligence – uniformed search strategies
Week 2: Solving Problems with Search – uniformed search strategies
Week 3: Solving Problems with Search – informed search strategies
Week 4: Representing and reasoning with knowledge I
Week 5: Representing and reasoning with knowledge II
Week 6: Machine learning with clustering
Week 7: Machine learning with neural networks