Proposal Version 2 of Learning Traffic Light Simulation Lynn Jepsen November 3, 2006 1 Proposed Project This project is meant to simulate a busy traffic light. The program tries to recognize patterns in the intersection and make the light as efficient as possible by minimizing waiting time for cars, both average waiting and total waiting time. The patterns would be related to the time of day and the day of the week. At first I would purposely input recognizable patterns and see if the program would catch it, but eventually the plan would be to possibly use this program using a real intersection's data. 2 Background Research I have googled traffic simulation and found some information online. Most of the simulations were just simple intersections. I did see a math equation, developed by Phillip Spencer, that modeled how a car stops and starts. I have found other equations that can effectively model different aspects of traffic behavior. I also found variables that would effect a traffic light. They include number of lanes, speed of cars, turning cars, etc. However, I haven't seen any simulations that learn over time. 3 Procedure and Methodology I have seen Java Applets online that model traffic well, so I am using Java to program. I will start off with a very simple simulation of a traffic light and 1 then try to make the program learn. By simple I mean 4 lanes with a light that changes every 20 seconds or so. I have to first set up basic rules of the road, like go for green and stop for red and maybe go for yellow. Once I get a simple simulation I will try to write an algorithm to control the lights so that cars do not wait forever. This light will eventually have artificial intelligence. Then, after I finish the light, I will start to add in different variables I want to include. 4 Testing Analysis I will develop a graphic simulation of the intersection so that I can see what individual cars are doing. This way I can see when cars are doing funny things. At the moment there is no input from the user because the data is just randomly placing cars on the road, so I don't need to worry about input. Eventually I would like to use data from a real intersection, such as an average traffic density at each hour in the day. I should eventually find a more informed way of testing the intersection, but at the moment I just plan on looking at it and seeing if it looks like what I think an intersection should look like. Once I get the light algorithm working I will graph the average and total waiting time of cars to see if it decreases over time as my program finds more efficient ways to run the lights. 5 Results This program should look like a realistic model of a traffic light and be used to see what causes the most back up at an intersection. The program will find an efficient way to move cars through a particular intersection. 2