Artificial Intelligence

What we do

Artificial Intelligence is making computers do things that are traditionally thought of as requiring human intelligence.

We study systems that learn, solve problems, represent knowledge about the world, generate text and images, and do other things regarded as characteristics of intelligent behaviour.

Theme Lead

Ruth Hoffmann

Ruth Hoffmann

rh347@st-andrews.ac.uk

Artificial Intelligence at Computer Science St Andrews

Application Areas

  • Virology
  • Timetabling
  • Computer Security
  • Social Media
  • Graph Databases
  • Puzzles and Games
  • Route/Holiday Planning
  • Bioinformatics
  • Organic Chemistry
  • Transportation
  • Autonomous Agents
  • Smart Home
  • Personal Health Monitoring

Research Topics

  • Constraint Programming 
  • Combinatorial Search 
  • Computational Algebra/Logic
  • Natural Language Processing
  • Image Processing 
  • Computer Vision 
  • Cognitive Robotics 
  • Computational Argumentation
  • Machine Learning Systems
  • Cloud/Edge Computing
  • Automated Planning & Scheduling
  • Sensing Systems
  • Domain Adaptation

Our Featured Projects this Year

  • Climate Action Large Language Model

    CaLLM is a chatbot that has been given specialist information about the impact of climate change and the Berwickshire Marine Reserve to harness both the natural language processing power of large language models (like ChatGPT) and niche expert information to create an accurate, precise and personalised Climate Action guide. Keywords Dissertation, Large Language Models, Retrieval…

    read more


  • What’s Wrong with this Sudoku? Using Constraint Programming to Explain Unsatisfiability

    Computers have long been used to quickly solve problems which can be modelled using constraints, like Sudoku, but what if the problem has no solution? An extension to the common functionality of existing constraint solvers can provide an explanation of why a model has no solution, requiring little additional time. While your favourite Sudoku app…

    read more


  • Sudoku Techniques

    Exploring the different techniques that can be used to solve sudoku puzzles. Keywords Dissertation,Puzzle Techniques,Constraint Programming, Artificial Intelligence Staff [Ruth Hoffmann]{rh347}

    read more


  • One More Time With Feeling: Music Harmony using Deep Learning

    Baroque music frequently uses something called Figured Bass Notation, which lets an accompanist improvise music harmony. Software exists that allow you to use this notation to realise a harmony in a rules-based way, but is it possible to do the same with machine learning, and how does a machine learning version compare? Using a previously-unexplored…

    read more


  • Klondike Solitaire with Quantum Safety

    The Klondike Solitaire card game, popularised by the Windows Solitaire program, is notable for being surprisingly difficult to win. This research explores how unwinnable deals can be detected and avoided using Artificial Intelligence search techniques. This has lead to the development of a world’s best method of detecting unwinnable deals, and the implementation of a…

    read more


  • Finding Categorically Similar Images

    Computers can categorise images incredibly accurately. For example, my house is categorised as a small wooden cottage. Can we use this information to find other similar houses? Google returns 11.2 billion images of houses; it is impossible to compare them all. If each comparison takes a millisecond, comparing them all will take 129 days. To…

    read more


  • Transforming Computational Pathology with Transformers

    In the realm of healthcare, Artificial Intelligence (AI) is becoming a pivotal force in revolutionising patient care, particularly through advancements in computational pathology. Harnessing the power of AI technologies, such as deep learning, transformers, and neural networks, significantly enhances the accuracy and efficiency of disease diagnosis. This showcase demonstrates how sophisticated AI models can analyse…

    read more


  • Human-Centric Machine Learning

    One primary goal of Machine Learning (ML) development is to create computational systems capable of learning from real-world data and making informed predictions. While ML applications demonstrate benefits, unexpected algorithmic behaviours, traceable to various aspects of ML system design, have led to a decrease in public trust in such systems due to their perceived unreliability.…

    read more


  • Fast Towel-Shaper: Pick-and-Place Towel Manipulation using Transporter Skill Policies under Goal-condition Phase Prediction

    Towel manipulation is a crucial stepstone towards more general cloth manipulation, but it remains a challenge to fold a towel from any crumple state and recover from a failed folding step. In this work, we develop a two-layer hierarchical agent that uses a goal-condition phase-prediction network to decide which manipulation phase the towel is under…

    read more


  • What can Constraint Programming do for you?

    Constraint Programming (CP) is a general purpose decision making and optimisation method. At St Andrews we have developed and maintain a CP toolkit. In this exhibit we will use 4 demonstrator applications to showcase the kind of problems CP can be applied to. These are permutation patterns, nurse rostering, workload assignment and university timetabling. The…

    read more


  • Graph Search Problems

    Searching graphs for paths, or patterns within them is a problem with many applications, from planning a good route to finding a certain connection between people. A graph is a set of points that are connected with edges. The points and edges can represent almost anything, such as friendships, roads or connected computers. We research…

    read more