Project suggestions are listed on the right. 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 @ cs.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: Explaining work allocation
In many businesses, shifts and tasks must be allocated to workers in order to ensure orders get completed on time and to the right quality standards. 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 generating and explaining fair work allocations, in which we will write algorithms which attempt to make the allocation fair. We will assume team members can express preferences over tasks and shifts. We will then attempt to explain those allocations, by answering queries from team members about why they were or were not allocated particular shifts or tasks, without revealing private inforamtion. We can use either local search methods, or constraint-based methods.
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.
KNB2: Multi-drone path-finding in 3D space
In large warehouses, stock often goes missing. Companies are exploring the use of indoor UAVs (unmanned aerial vehicles) to keep track of inventory, by flying to shelves and scanning QR codes. Multi-agent pathfinding (MAPF) is the problem of finding routes for multiple agents without colliding -- it has had a lot of success in real warehouses, including Amazon, but it is normally applied for 2D movement along the ground. In this project, we will explore MAPF for UAVs in 3D space. The standard approach to MAPF runs many instances of A* (an extension of Dijkstra) on successive refinements of the problem. (Note that this is an algorithms / software / AI project -- it is not expected to involve actually flying real drones).
To begin with you should explore standard algorithms for 2D MAPF. Then, you should extend the framework to include 3D space, including specific restrictions on flying and exclusion zones. Finally, you should explore variants of the problem, including multi-point trips, to allow QR scanning at multiple locations on a flight.
Requirements: You must be a confident programmer, and you must be able to read current research papers.
KNB3: Multi-agent route-finding in supermarket warehouses
In large supermarket distribution centres, staff with trolleys move around a large warehouse picking packages from shelves to form pallet loads; often these packages may be in multiple different locations, and these must be searched until a package is found. This can cause congestion, and longer walking paths than necessary. Some supermarkets are introducing mobile ground vehicles, which will cause safety issues for their staff. In this project, we will explore multi-agent pathfinding (MAPF) with multiple uncertain destinations. The standard approach to MAPF runs many instances of A* (an extension of Dijkstra) on successive refinements of the problem.
To begin with, you should explore standard algorithms for MAPF. Then, you should extend the framework to include uncertainty over task fulfilment. Finally, you should consider the introduction of autonomous ground vehicles, which require safety constraints, to allow human workers and robots to work together safely.
Requirements: You must be a confident programmer, and you must be able to read current research papers.
KNBX: Assorted projects in algorithms and optimisation
Other projects are possible, by discussion, in the general area of using AI and optimisation 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.