Congestion games are games where there are agents who must select resources to use. These resources are congested: the more agents that use a certain resource, the lower the payoff to any one agent will be - think of a road that is prone to traffic jams as more drivers begin to use it.
In many real life examples of congestion, we seek interventions to effect the equilibrium that the agents tend to. For example, drivers could be given monetary incentive to cycle, or charged extra for using the busiest roads.
There are
where
simulation.py
contains the core of the model.
agent.py
implements a Q-learning agent and softmax/epsilon-greedy action selection.
plotting.py
contains functions that use matplotlib to visualise the results of a simulation.
main.py
is an example simulation and intervention.