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:

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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