[CC01] Graph colouring games.

 

The aim is to colour the vertices of a graph so that no two adjacent vertices

have the same colour. An example of such a colouring is given here.

The plan is to use as few distinct colours as possible and,

if possible use each colour the same number of times.

Although many heuristic algorithms exist for this problem, finding a best solution

(minimum number of colours) is difficult, especially when the graph is large.

 

The project would be to write an interactive program allowing input of (quite large) graphs to a GUI, probably as input from file as this is not primarily a graph drawing project.

The GUI should be arranged in such a way that the user can easily try out colourings the graph; hopefully with a small number of colours. The program could then score the user a

against the best selection it could find, or suggest improvements; or alternatively

the user could try to find an improvement on the solution offered by the program.

 

To improve on this basic problem you could make your adversary your computer

which plays alternative moves with you and tries to make you to use

more colours than you need. You would need to devise good strategies to help the computer make life difficult for the human player.

 

Here is a simple example. For cubical graph (given here) two colours are enough.

If you colour the bottom left vertex blue, and the computer then colours the bottom right

vertex blue you will need at least 3 colours.

 

 

 

 

[CC02] Improving a transport network.

 

 A typical transport network (here) can be improved by adding new

links (here).  This is an expensive process and careful planning is needed.  

 

Usually the number of passengers who travel between each pair of

stations is known (origin-destination data), and this is one use for Oyster cards.

In this way the effect of improvements can be measured in details.

A price is attached to travel time, and also to the number of interchanges.

This is balanced against the cost of link construction.

 

The project would be to take an existing network, and suggest new links, or  measure the congestion

arising from removing links.  

 

 

 

[CC03] The friends European holiday schedule

 

The problem is described below.

In essence it is a constrained version of the TSP (traveling salesperson problem) and

captures many of the difficulties of scheduling large fleets of delivery vehicles

 

A group of friends have a week to travel round Europe.

They want to visit as many places as possible between them.

The number of places which can be visited in a week is

limited by the travel time between them and the time spent there

sightseeing, plus time lost eating sleeping etc.

 

The friends make individual schedules with the aim that each sees as

much as possible, and that between them the total number of places visited is as large as possible.

Added to this there may be constraints, such as everybody wants to visit as

many countries as possible. Also there may be personal themes such as visiting

famous museums; which means that opening times have to be taken into account.

Thus each friend may give each city an importance weighting.

 

Because they are friends, each person would like to meet up pairwise with as

many others as possible at some stage or other during their travels.

On the other hand everybody would like to see some different things so that they can talk about it.

 

The project would be to produce a s/w package to produce feasible schedules,

quite possibly with an interactive interface to allow changes/improvements,

and a graphical output of the schedules embedded in the map of Europe.

Needless to say the algorithmic side is also important.

 

 

 

 

[CC04] Join up the dots to make a city map.

 

Photographs posted on Flickr contain metadata giving geographic

coordinates, topic, time photo was taken etc. This was used in a research paper to

decide the most popular location/building in the capital cities of the world.

 

The coordinates of photos taken by people belonging to a

particular interest group in Flickr are shown here.

 

No doubt you recognise where this is from the dots, but the question is how to turn this into

something useful. For example:

to aggregate dots to produce markers for popular location  (Trafalgar Square, Houses of Parliament),

To extract information for tourist use (locations of most popular landmarks),

to simplify the data to sketch in some outline roads, bridges, popular spaces and so on,

or even just find the boundaries of the land masses.

 

The London meta-data would be available to you as part of the project.

 

 

 

[CC05] Visual interface for generalized Euler tours and problems in

 wiring and stitching patterns.

 

The Euler tour problem is how to traverse all edges of a graph exactly

once and get back to where you started, without using any edge twice.

 

Continuous wiring electrical circuits, or stitching designs on a flat surface

can be viewed as an adapted Euler tour problem.

 

An example: The  letters (TIN) can be viewed as a 7 edge, 10 vertex

graph consisting of 3 components:

 

 T: 4 vertices, 3 edges [there is a vertex at the T-junction]

 I: 2 vertices, 1 edge

 N: 4 vertices, 3 edges

 

In terms of an Euler tour, the graph needs additional edges

inserting to join up the letters to make a figure which can be

drawn without taking the pen off the paper.

 

If you regard the T, I, N as electrical components (neon lights for example),

the additional wiring (or glass tube) needs to go on the back of the board,

or on the front of the board avoiding the letters.

The wiring needs to be as short as

possible to minimize assembly costs, and must not cross.

 

The problem comes from the time of flatbed plotters to draw architectural diagrams. The plotter lifts the pens and moves (the wiring) and lowers them to draw the building details. The figures are very complex and finding the minimum amount of lifting and moving is important.

 

 

 

[CC06] Interactively creating tile designs.

 

Many tile designs, for example this one from the Alhambra in Granada, Spain 

seem to be based on a grid of ruled  lines

(horizontal, vertical, diagonal sloping right and left at 45 degrees),

with some systematic rule for line removal

 

The project aims to find an algorithmic method to draw such patterns and to generalize them. One major problem is to decide which line segments should go over/under which at each intersection.  Another feature could be to input the pattern and to automatically dissect

it into parts which can be assembled into panels to show the components of the pattern.

These could then be analysed etc.