Traffic Simulator

Project Proposal by Martin Stacey


Traffic Simulator

Software

Java or C++ or Smalltalk or another object oriented language with good GUI facilities

Covers

Programming, object oriented design, simple graphics

Skills Required

Programming, preferably interest in complexity and chaos, simulation, or artificial intelligence

Challenge

Conceptual ??? Technical ??? Programming ????

Brief Description

How do large numbers of actors with their own goals (which might be very simple) produce complex emergent behaviour? How can we study this? One area of research into complex systems that has important practical applications is how traffic behaves. (An important researcher in this area whom I know personally is Dr Jeff Johnson of the Department of Design and Innovation at the Open University.)

The objective of this project is to build a traffic simulator. The simulator should allow the user to create a network of roads that have distances (or travel times) between junctions, and a large set of travellers wishing to drive from one place to another. The speeds at which the travellers can drive, and how long it takes them to negotiate junctions, should depend on the density of traffic. Different classes of roads should have different functions relating traffic load to time (compare a motorway and an urban backstreet).

The system should record and report on the behaviour of the traffic. A graphic display is highly desirable, but instead you may prefer to compute statistics that describe the behaviour of the system and reveal interesting properties.

Extensions

There are a variety of ways in which you could make the project more interesting and challenging. You can choose to concentrate on any one.

Using the system would be a great deal easier if the user could generate networks of roads and sets of travellers automatically. The user should ideally be able to vary the parameters used to generate the road network and the traveller sets. How realistic can you make the assumptions and parameters? (You should aim to keep it very simple and then add more sophistication incrementally.)

The simulations would be much more interesting and realistic if the travellers could vary their behaviour and learn what are the most effective routes. The simplest interesting learning behaviour is adjusting departure times to achieve a particular arrival time.

How can you display the road network and the traffic on it graphically, so that the user can understand what is really going on? You may want to focus the project on the information visualisation challenges it presents.

What can you learn about complex systems by observing the system in action? You may want to relate your findings to other research on complex systems.


Back to