Braess's Paradox Visualizer
A new zero-cost shortcut can make selfishly chosen routes worse for everyone.
How this teaches game theory
Braess's paradox shows that a network can become less efficient after a seemingly useful connection is added. The reason is not that the new road is physically harmful; the problem comes from strategic behavior. Each driver chooses the route that looks best for that individual, while no driver directly accounts for the congestion imposed on everyone else.
This makes the visualizer a compact example of a congestion game. Route costs depend on how many players choose the same resources, so one driver's decision changes the incentives faced by the next driver. The final selfish outcome can therefore differ from the allocation that minimizes the total cost of the entire system.
The important lesson is that more options do not always imply better collective outcomes. Network design must consider equilibrium behavior, not only physical capacity.
Complete scenario, mode, level, and concept guide
Scenarios
Compare before vs after shortcut
This is the exploratory scenario. Assign drivers manually or let the computer fill the network, then compare the resulting average cost with the social optimum.
- Use it to ask whether the shortcut attracts too many drivers.
- Compare personal route costs with the system-wide average.
- Observe whether a locally attractive route creates extra congestion elsewhere.
Selfish equilibrium
Drivers enter sequentially and choose the route with the lowest current personal cost. The process models decentralized behavior in which each driver optimizes only their own travel time.
- No central planner coordinates the assignments.
- The resulting allocation is a selfish-routing benchmark.
- Compare it with the optimum to see the efficiency loss created by individual incentives.
Social optimum
The simulator checks every feasible route allocation and chooses the one with the smallest total cost. This represents a central planner that can coordinate drivers for the benefit of the whole network.
- The best route for one driver may be rejected if it increases congestion for many others.
- The optimum is a welfare benchmark, not necessarily an individually stable outcome.
- Its average cost is used as the denominator in the efficiency-ratio calculation.
Modes
Human assigns drivers
You choose each route manually. This mode is best for testing hypotheses: deliberately overload a route, avoid the shortcut, or try to reproduce the social optimum by hand.
Human + best-route hint
You still make every assignment, but the simulator displays the route with the lowest current personal cost. This makes the difference between myopic best response and system-wide optimization easier to see.
Computer simulation
The simulator automatically assigns drivers using the selfish rule. Use this mode when you want to focus on the final equilibrium-like outcome rather than on individual clicks.
Levels
Level 1 — 8 drivers
A small network for learning the mechanics. Because there are few drivers, each additional assignment visibly changes congestion and route costs.
Level 2 — 16 drivers
A medium-sized network where congestion effects become clearer. Small differences in route choice can create noticeable changes in average cost.
Level 3 — 24 drivers
The strongest congestion setting. This level is best for comparing selfish behavior with coordinated routing and for discussing how inefficiency scales with demand.
How to read the results
Average cost
The mean travel cost of all currently assigned drivers. A low value is good for the system as a whole.
Optimum average
The smallest average cost achievable by any feasible distribution of drivers across the available routes.
Efficiency ratio
When all drivers are assigned, this compares the current total cost with the social optimum. A value of 1.00 means the current assignment is socially optimal; a value above 1 indicates an efficiency loss.
Suggested classroom experiment
- Start with Level 1 + Human assigns drivers and try to minimize the average cost manually.
- Switch to Human + best-route hint and follow the hint every time. Compare the result with your coordinated solution.
- Use Selfish equilibrium to generate the decentralized outcome automatically.
- Choose Social optimum and compare route counts, average cost, and efficiency ratio.
- Repeat the experiment at Levels 2 and 3 and discuss whether congestion amplifies the difference.