Projects

All 4th year project slots are now allocated.

KNB1 Explaining work allocation
withdrawn
KNB2 Avoiding other agents in path-finding
allocated
KNBX Assorted projects in algorithms and optimisation
allocated

All 4th year project slots are now allocated.

Project suggestions are listed on the right. These projects are suitable for either 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: Avoiding other agents in path-finding

Many large companies are moving to automated warehouses and manufacturing plants - for example, Amazon warehouses, or Audi vehicle manufacturing. In these settings, autonomous vehicles move around the factory floor, picking up customer orders, or moving partially-assembled vehicles to the next work station. This creates a complex problem - how to plan the paths of multiple agents so that they do not collide with each other, but are still able to complete all jobs at low cost. This is known as the Multi-Agent Path Finding (MAPF) problem. The standard approach runs many instances of A* (an extension of Dijkstra) on successive refinements of the original problem, but it is slow. In cases where tasks change frequently, or where robots are unreliable, or where robots must share the space with humans, we need to be able to react much more quickly. In this project, we will look at fast approximate methods for MAPF, using greedy algorithms or local search approaches, and evaluate them on some standard benchmark problems.
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. Possible topics include dynamic path finding in the presence of obstacles, scheduling of autonomous vehicles through a multi-lane junction, evaluating modern route finding algorithms like Contraction Hierarchies, or mobile apps for supporting urban mobility.
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.