Project suggestions are listed below. These projects are suitable for 4th year projects, or for MSc projects. Each of these project areas can be turned into multiple different projects for different students, but there is a limit to the number of projects I can supervise, so not all projects are guaranteed to be allocated. You are also welcome to suggest your own project, if they match my general interests outlined below. It is best to contact me first by email (k.brown @ ucc.ie).
My interests are in intelligent decision making, particularly for cooperative, competitive and uncertain situations. For example, how can a group of autonomous vehicles cross a busy junction? How do we guide drivers and passengers to get best use out of a car pooling scheme? How do we build work schedules that are fair to all workers? How do we explain the output of a decision support system so that the user can trust it?
Project Details
KNB1: Multi-agent pathfinding for diverse agents
Multi-agent pathfinding is an active research topic, developing algorithms for generating routes for agents so that they complete their tasks quickly without colliding. It was based on the need to plan routes for warehouse robots in distribution centres like those Amazon and other retailers. The standard approach relies on many repeated runs of A* (an extension of Dijkstra) on a grid graph, but it assumes all agents are the same shape and size, which simplifies collision detection. In this project you will consider how to change the algorithms so that diverse agents can handled efficiently.
Requirements The project would suit someone with strong coding skills, who is comfortable with all the material from CS2515 and CS2516 (Algorithms and Data Structures), and who is able to read and understand recent research papers.
KNB2: Multi-agent pathfinding for different speeds
Multi-agent pathfinding is an active research topic, developing algorithms for generating routes for agents so that they complete their tasks quickly without colliding. It was based on the need to plan routes for warehouse robots in distribution centres like those Amazon and other retailers. The standard approach relies on many repeated runs of A* (an extension of Dijkstra) on a grid graph, but it assumes all agents move at the same speed at synchronised times, which simplifies the planning problem. In this project you will consider how to change the algorithms so that (i) agents can have different speeds, and (ii) so that the agent speeds can change during the plan.
Requirements: The project would suit someone with strong coding skills, who is comfortable with all the material from CS2515 and CS2516 (Algorithms and Data Structures), and who is able to read and understand recent research papers.
KNB3: Interactive scheduling of work rotas
In many applications (health care, service industry, call centres, ...), work rotas must be managed carefully to ensure there are sufficient staff with the appropriate skills on duty for each shift. It is a time consuming job for managers to build the rotas. Algorithms exist to do this automatically, but it can be difficult to explain why some of the detailed decisions have been made. This is particularly important when some staff believe they are being treated unfairly. In this project, we will look at the problem of creating an interactive system for rotas, in which staff member inputs their own preferences for shifts. The system should highlight flaws in the inputs (e.g. patterns of shifts that are illegal, or shifts that do not have the required staff) and explain them, and offer methods to generate complete rotas or to repair flawed ones, including aspects of fairness across all staff members. To do this, we will explore constraint programming libraries.
Requirements: This project would suit a strong programmer who is able to read research papers, and is comfortable dealing with logical statements for the preferences and objectives.
KNB4: LLMs for reasoning
LLMs are being developed for a wide variety of applications, but they still have issues with factual inaccuracies and faulty reasoning. Constraint programming tools are used in industry to solve complex problems in scheduling, configuration, timetabling, and design -- their reasoning is correct, but obtaining the models is difficult, explanations are complex, and user interaction has to be hand crafted for every new problem. This project will evaluate one of more LLMs applied to some reasoning problems, and will explore the interaction between LLMs and constraint solvers for creating reliable and usable systems.
Requirements The project would suit someone with strong coding skills, and with the ability to explore new topics independently.
KNB5: How reliable is Agentic AI?
Agentic AI tries to build more reliable AI systems, by combining generative AI chatbots with verified data sets and special purpose code modules.
This project will design an application (e.g. a help system for travel planning) and construct an Agentic AI system (LLMs, curated data sets, specific code modules) to handle user queries, and evaluate the reliability of different configurations of the system on a suite of tasks.
Requirements The project would suit someone with strong programming skills, a willingness to explore topics independently, and the ability to read recent research papers.
KNBX: Other projects in algorithms, reasoning and AI
Other projects are possible, by discussion, in the general area of using AI, optimisation and algorithms to assist in decision making.
Requirements: You must be a confident programmer, you must have an idea of the areas you want to work in, and you must be able to read current research papers.