[Placeholder for a cute Owl (named Hoo?) who is the (so far, invisible) mascot for this project]
(Skip to Into to Agent Based Modeling, Back to top)
My main desire in this project is to give my frustrated Northern Virginia commuter thoughts some outlet. I like to imagine what the world will be like when cars can drive themselves, but there are quite a number of roadway institutions to choose from regarding how traffic flows in a more automated world. While we can't be certain we'll ever find the global maximum, we can use agent based modeling to explore a number of the imaginable frameworks and seek to understand the set of local maxima possible within each.
(Skip to Cases, Back to top)
Agent based modeling is a simulation technique where the simulator creates a number of autonomous agents
who can interact with each other in various ways. Typically the agents have a number of parameters that can be altered to study the impact of different variables in the system.
In this project, the agents are, for the most part, cars on a road. Each car is an instance of an object which has a speed, a direction, and a location. We can then, for instance give each car a following_distance
parameter and study the effects on traffic of increasing or decreasing.
Without careful forethought, it's always possible to make ineffective policy decision in the name of good or progress. Agent Based Models help provide visible examples to counterintuitive tendencies, like Braess' paradox which explains that adding a road to a congested road traffic network could increase overall journey time. This project will use game theory and Python's Agent Based and statistical modelling capabilities to test hypotheses about how we can best construct our future roads.
(Skip to Dependencies, Back to top)
These cases can be vague, and readers are invited to contribute. Exploring cases with a well reasoned theory behind it is important, but half of the point here is to have fun.
Each of these case studies can be parameterized with varying agent population sizes and densities, ratios of autonomous to non-autonomous cars on the road, and the configuration of the roads.
- Question:
- Can a minority of autonomous cars on the road respond to traffic patterns such that they break up traffic jams?
- Question:
- What can we do about non-autonomous cars and pedestrians who abuse the overly cautious safety features of autonomous driving
- Considerations:
- Costly punishment (I spend
X
dollars to stealp*X
(such that0<p<1
) from you as punishment - Toll roads with increased costs for non-autonomous cars in certain lanes
- Costly punishment (I spend
- Question:
- What are the various speed regulation rules on the road. What implications do they have on cars with smaller spending potentials, or even nearby real estate
- Considerations:
- Marginal cost of driving as a function of the lane a car is in, how fast, its size, etc
- Cars bid for space on the road, pay other cars to move out of the way
- What happens w/ accessibility to real estate in a busy area (for example if cars bid for traffic signals to change and homeowners can't costlessly get out of their neighborhood)
This project is being written in and only supported for Python 3. Some of the possible dependencies are:
- python3
- Shapely
- `sudo pip3 install shapely
- Libgeos
- sudo apt-get install libgeos-dev