Some project suggestions are listed on the right. These projects are suitable for either 4th year projects, or for MSc projects. 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 research interests are in intelligent decision making, particularly for cooperative, competitive and uncertain situations. How can a group of people arrange a set of meetings, without revealing their entire diary? How can a group of sensor nodes coordinate themselves to cover mobile targets? If I help you today, can I be sure that you will help me tomorrow? What move should I make in a game, knowing that you are trying to beat me? How should I present information to a user to help them make the best decisions they can? How do I make a decision when there are many conflicting requirements? What decision should I make today when I don't know what will happen tomorrow? Applications include scheduling work requests, booking patients in for appointments, agent-based e-commerce, optimising business supply chains, interactive games, etc.. Most of my research is carried out with 4C: the Cork Constraint Computation Centre. In particular, I am part of CTVR, a multi-site research centre in collaboration with Alcatel Lucent (Bell Labs), in which we are optimising the operation of wireless networks, ITOBO, a multi-disciplinary project looking at ICT for energy efficient smart buildings, and NEMBES, a research consortium based in Cork looking at the design, deployment, operation and applications of networked embedded systems.
Project List
KNB1: Walk this way: simulating pedestrians
When designing road networks, buildings, and walkways, you need to
consider how traffic or people move through the environment, to avoid
creating unnecessary bottlenecks, congestion hot-spots, or unsafe
evacuation routes.
One way of doing this is by multi-agent simulation: each individual is
modelled as an autonomous agent with characteristic movement (e.g.
walking speed, obstacle avoidance, queuing behaviour, and so on), and
then designs can be evaluated in different scenarios.
However, it is important that the agent characteristics are realistic,
or else the evaluation is useless.
There are similar issues in the design of agents in computer games.
As part of the Nembes grant, we are building a simulator for the
evacuation of buildings.
For this project, you will create different classes of agents with
different styles of movement, evaluate their walking style, and
evaluate designs for ease of evacuation.
Requirements: You must be a confident Java programmer
- the existing simulator is coded in Java, including a graphical
simulation of floor plans and agents, and you will be required to
understand how this simulator works in order to generate new agent
types.
KNB2: Path planning algorithms
In robotics, computer games and route planning, agents must be able to
plan a route through a landscape in order to reach a destination.
The environment is normally represented as a graph, with nodes
representing locations, and arcs representing legal movement.
The problem is more complicated when the travel time across arcs or
the accessibility of nodes varies over time (e.g. due to road
congestion, or incoming tides).
As part of the Nembes grant, we are building a simulator for the
evacuation of buildings, and it can produce navigation graphs for the
building.
In this project, you will investigate, implement and compare a number
of different algorithms for path planning, and integrate your software
with the building simulator for demonstrating the performance of the
different algorithms.
Requirements: You must be a confident Java programmer
- the existing simulator is coded in Java, and you will be required to
understand how this simulator works in order to integrate your path
planning algorithms.
You should also be interested in research, since the project will need
you to read current research papers and implement new algorithms.
KNB3: Agent coordination in JADE
A software agent is an piece of software which senses and acts on its
environment, and work with some level of autonomy.
Agents may operate as a representative for a person or company or
physical object - for example, in automated negotiation, e-business,
and so on.
JADE is an open-source development environment for java-based agents,
designed to make it easy to implement multi-agent systems.
In this project, you will explore the JADE framework, and use it to
build a system for multi-agent negotiation over sharing of resources -
for example, in coordinating meetings times among a group of people,
or allocating radio frequencies in communications problems.
Requirements: You must be a confident Java programmer.
You should also be interested in research, since the project will need
you to read current research papers and implement algorithms.
KNB4: Iterated Local Search for scheduling
For many practical problems, it can take a very long time to find
the best answer - for example, scheduling hundreds of tasks for a
team of workers.
For such problems, local search methods like hill climbing may be
suitable - we start with a possible schedule, and then improve it by
swapping the times of two tasks, or moving one task from one worker to
another, and continue trying changes until we can't improve our
current schedule.
Iterated local search extends this idea, to conduct a sequence of
searches, and using information from the last search to pick a starting
point for the next one.
Iterative local search has been shown to be one of the best methods for
finding near-optimal solutions to hard combinatorial problems.
In this project, we will explore the use of iterated search for large
scheduling problems, evaluating different ways of moving through the
search space, and different ways of reusing the previous solution to
start the new search.
Requirements: You must be interested in research -
this project will require you to read current research papers and to
explore new ideas.
You should also be comfortable with algorithms and programming.