RANDOM SIMULATIONS OF BRAESS S PARADOX

Similar documents
Exact and Approximate Equilibria for Optimal Group Network Formation

Price of Stability in Survivable Network Design

AGlimpseofAGT: Selfish Routing

Traffic Games Econ / CS166b Feb 28, 2012

The Paradox Severity Linear Latency General Latency Extensions Conclusion. Braess Paradox. Julian Romero. January 22, 2008.

Exact and Approximate Equilibria for Optimal Group Network Formation

Routing Games 1. Sandip Chakraborty. Department of Computer Science and Engineering, INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR.

Partially Optimal Routing

Game Theory: Spring 2017

Selfish Routing. Simon Fischer. December 17, Selfish Routing in the Wardrop Model. l(x) = x. via both edes. Then,

SINCE the passage of the Telecommunications Act in 1996,

On the Hardness of Network Design for Bottleneck Routing Games

CS364A: Algorithmic Game Theory Lecture #13: Potential Games; A Hierarchy of Equilibria

Strategic Games: Social Optima and Nash Equilibria

CS 781 Lecture 9 March 10, 2011 Topics: Local Search and Optimization Metropolis Algorithm Greedy Optimization Hopfield Networks Max Cut Problem Nash

Dynamic Atomic Congestion Games with Seasonal Flows

12. LOCAL SEARCH. gradient descent Metropolis algorithm Hopfield neural networks maximum cut Nash equilibria

News. Good news. Bad news. Ugly news

Lecture December 2009 Fall 2009 Scribe: R. Ring In this lecture we will talk about

How Much Can Taxes Help Selfish Routing?

Routing. Topics: 6.976/ESD.937 1

Designing Networks for Selfish Users is Hard

Routing Games : From Altruism to Egoism

MS&E 246: Lecture 17 Network routing. Ramesh Johari

Stackelberg thresholds in network routing games or The value of altruism

Algorithmic Game Theory

MS&E 246: Lecture 18 Network routing. Ramesh Johari

For general queries, contact

The common-line problem in congested transit networks

CS 598RM: Algorithmic Game Theory, Spring Practice Exam Solutions

Session-Based Queueing Systems

Bounded Budget Betweenness Centrality Game for Strategic Network Formations

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

Lectures 6, 7 and part of 8

Network Games with Friends and Foes

Flows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek

OD-Matrix Estimation using Stable Dynamic Model

CS364A: Algorithmic Game Theory Lecture #16: Best-Response Dynamics

Computational Game Theory Spring Semester, 2005/6. Lecturer: Yishay Mansour Scribe: Ilan Cohen, Natan Rubin, Ophir Bleiberg*

THE idea of network coding over error-free networks,

September Math Course: First Order Derivative

Algorithms for a Special Class of State-Dependent Shortest Path Problems with an Application to the Train Routing Problem

Potential Games. Krzysztof R. Apt. CWI, Amsterdam, the Netherlands, University of Amsterdam. Potential Games p. 1/3

Inducing Peer Pressure to Promote Cooperation (Supporting Information)

CS 6820 Fall 2014 Lectures, October 3-20, 2014

Price and Capacity Competition

Two-Player Kidney Exchange Game

Shortest paths with negative lengths

Part II: Integral Splittable Congestion Games. Existence and Computation of Equilibria Integral Polymatroids

Efficiency and Braess Paradox under Pricing

Introduction to Game Theory

General-sum games. I.e., pretend that the opponent is only trying to hurt you. If Column was trying to hurt Row, Column would play Left, so

Chapter 3 Deterministic planning

Efficiency Loss in a Network Resource Allocation Game

Computing Solution Concepts of Normal-Form Games. Song Chong EE, KAIST

On the Complexity of Computing an Equilibrium in Combinatorial Auctions

SINCE the passage of the Telecommunications Act in 1996,

THE INVERSE PROBLEM FOR DIRECTED CURRENT ELECTRICAL NETWORKS

12. LOCAL SEARCH. gradient descent Metropolis algorithm Hopfield neural networks maximum cut Nash equilibria

NBER WORKING PAPER SERIES PRICE AND CAPACITY COMPETITION. Daron Acemoglu Kostas Bimpikis Asuman Ozdaglar

Iterated Strict Dominance in Pure Strategies

Computational Evolutionary Game Theory and why I m never using PowerPoint for another presentation involving maths ever again

Recap Social Choice Functions Fun Game Mechanism Design. Mechanism Design. Lecture 13. Mechanism Design Lecture 13, Slide 1

December 2014 MATH 340 Name Page 2 of 10 pages

Algorithmic Game Theory. Alexander Skopalik

The Complexity of the Permanent and Related Problems

Quivers of Period 2. Mariya Sardarli Max Wimberley Heyi Zhu. November 26, 2014

On the Tightness of an LP Relaxation for Rational Optimization and its Applications

On Mergings in Acyclic Directed Graphs

Realization Plans for Extensive Form Games without Perfect Recall

CMSC 451: Lecture 7 Greedy Algorithms for Scheduling Tuesday, Sep 19, 2017

Game Theory and Control

Robust Network Codes for Unicast Connections: A Case Study

Supplementary Technical Details and Results

Advanced Linear Programming: The Exercises

Ramsey Theory. May 24, 2015

Lecture 19: Common property resources

On the Value of Coordination in Network Design

TEMPERATURE THEORY AND THE THERMOSTATIC STRATEGY

Existence of Nash Networks in One-Way Flow Models

Avoider-Enforcer games played on edge disjoint hypergraphs

The Distribution of Optimal Strategies in Symmetric Zero-sum Games

Solving Zero-Sum Security Games in Discretized Spatio-Temporal Domains

Informational Braess Paradox: The Effect of Information on Traffic Congestion

Doing Good with Spam is Hard

UNIVERSITY OF YORK. MSc Examinations 2004 MATHEMATICS Networks. Time Allowed: 3 hours.

Algorithms, Games, and Networks January 17, Lecture 2

A GREEDY APPROXIMATION ALGORITHM FOR CONSTRUCTING SHORTEST COMMON SUPERSTRINGS *

THE UNIQUENESS PROPERTY FOR NETWORKS WITH SEVERAL ORIGIN-DESTINATION PAIRS

A Note on Approximate Nash Equilibria

On the Price of Anarchy in Unbounded Delay Networks

Lecture 9: Dynamics in Load Balancing

Uniqueness of Generalized Equilibrium for Box Constrained Problems and Applications

A necessary and sufficient condition for the existence of a spanning tree with specified vertices having large degrees

CPSC 320 (Intermediate Algorithm Design and Analysis). Summer Instructor: Dr. Lior Malka Final Examination, July 24th, 2009

The negation of the Braess paradox as demand increases: The wisdom of crowds in transportation networks

Chapter 1 - Preference and choice

Worst case analysis for a general class of on-line lot-sizing heuristics

Flows. Chapter Circulations

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time

Transcription:

RANDOM SIMULATIONS OF BRAESS S PARADOX PETER CHOTRAS APPROVED: Dr. Dieter Armbruster, Director........................................................ Dr. Nicolas Lanchier, Second Committee Member...................................... Date: Spring 2015. 1

RANDOM SIMULATIONS OF BRAESS S PARADOX 2 Abstract. This paper uses network theory to simulate Nash equilibria for selfish travel within a traffic network. Specifically, it examines the phenomenon of Braess s Paradox, the counterintuitive occurrence in which adding capacity to a traffic network increases the social costs paid by travelers in a new Nash equilibrium. It also employs the measure of the price of anarchy, a ratio between the social cost of the Nash equilibrium flow through a network and the socially optimal cost of travel. These concepts are the basis of the theory behind undesirable selfish routing to identify problematic links and roads in existing metropolitan traffic networks [8], suggesting applicative potential behind the theoretical questions this paper attempts to answer. New topologies of networks which generate Braess s Paradox are found. In addition, the relationship between the number of nodes in a network and the number of occurrences of Braess s Paradox, and the relationship between the number of nodes in a network and a network s price of anarchy distribution are studied.

RANDOM SIMULATIONS OF BRAESS S PARADOX 3 1. Introduction This paper simulates the effect of selfish routing within a traffic network. It begins with the assumption that all travelers within a traffic network share a starting point and an point. Each traveler may choose one path among a series of paths to travel from the starting point to the ing point. Each path consists of a series of edges (or roads), and these roads have functions which determine the amount of time an agent sps traveling on them. Travel time is a function of traffic flow along that road (specifically, more traffic may increase travel time). Each agent makes its path decision selfishly, by trying to minimize the amount of time it sps traveling. All agents have perfect information about the cost (or time) functions for roads and know that other agents will behave selfishly when making their decisions. In that way, they will derive at an equilibrium distribution of flows, where no agent can improve its travel time by switching to another path. This is the Nash Equilibrium for selfish travel. Given these assumptions, we can generate random traffic networks and predict the decisions that will be made by selfish travelers and how these decisions compare to the socially optimal traffic flow which minimizes the sum of all travelers costs. We measure this with the price of anarchy, introduced in Section 2. We can also examine the counter-intuitive phenomenon that, under certain circumstances, selfish travelers can reach a better Nash Equilibrium when some options are no longer available. We will formalize this concept in Section 2 when we introduce the definition of Braess s Paradox. In Section 2, this paper establishes a theoretical background behind network game theory, Nash equilibria, and Braess s Paradox. Section 3 discusses programming methods helpful for determining Nash equilibria flows in complex adaptive networks. Section 4 establishes research questions regarding topologies of graphs which generate Braess s Paradox, the impact of the number of nodes on the likelihood of Braess s Paradox, and its impact on the distribution of the price of anarchy. It also discusses and justifies the design of an extensive MATLAB simulation used to answer these research questions. Section 5

RANDOM SIMULATIONS OF BRAESS S PARADOX 4 discusses the results of these simulations, as well as identifying potential areas for future research. Section 6 concludes the paper s analysis. The of the paper also includes 2 appices with raw data and original MATLAB code written to perform simulations. 2. Definitions and Model Setup This section formalizes concepts from graph theory which contribute to the research questions and simulations discussed later in this paper. Definition 1 (Network). To create a mathematical model for traffic networks, we first introduce a definition for a network. For the purposes of this paper, we use Roughgarden s [6] definition of a network G, with the notation G = (V, E). We use V to represent the set of all vertices (also called nodes) in the network. We use the notation E V V to represent the set of all directed edges (also called links or arcs). Specifically, if x, y V, we represent a directed edge from x to y with the ordered pair (x, y). We call x the tail of this edge, and y its head. Definition 2 (Adjacency Matrix, A). Important properties of these networks can be represented in adjacency matrices. Let n = V be the number of vertices in a network, G = (V, E), and m = E be the number of edges in that network. Then we say G has an n n adjacency matrix A. We define the elements of A as as follows: 1 if (j, i) E A ij = 0 otherwise Definition 3 (u-v Path). To formalize the strategies available to travelers in a network, we introduce the concept of a path. Let G = (V, E) with u, v V. A u-v path, P uv = e 1 e 2... e k, where k Z, is a sequence of distinct edges e 1,..., e k such that u is the tail of e 1, v is the head of e k and for all 1 i < k the head of e i is the tail of e i+1. Furthermore,

RANDOM SIMULATIONS OF BRAESS S PARADOX 5 we can represent a path as a sequence of nodes. If a path, P = [v 1, v 2,..., v l ], then P is the sequence of edges from v 1 to v 2 to... to v l. Definition 4 (Flow, f). We introduce the concept of a flow to formalize the idea of traffic along roads within a traffic network. Given a system of agents traveling edges in a network G = (V, E), we denote the flow of a network with the variable f. Roughgarden [6] notes that we can represent network flow as a sequence of edge flows with the notation f = {f e } e E. Here, f e represents the number of agents traveling along edge e. Similarly, we can represent flow as a sequence of path flows, using the notation f = {f P } P P, where P represents the set of all possible paths in the network and f P represents the number of travelers along path P. Furthermore, Roughgarden establishes an additive relation between path flow and edge flow. Because the number of travelers along a particular edge must be traveling along a path which includes that edge, we can write f e = f P. P P:e P Because the number of agents in a network can always be scaled to 1, we impose the requirement that P P f P = 1. Finally, we introduce adjacency matrix notation for flow, where x ji denotes the number of travelers along the edge from node i to node j. Definition 5 (Edge Cost, Path Cost, Agent Cost, Social Cost). For the purposes of analyzing Braess s Paradox, we assign a flow-depent cost that an agent must bear when traveling along a particular edge in a network. Not that for traffic networks, costs are not literal financial costs, but travel times, which are functions of the congestion (flow) in the network. We use the notation [6] to denote the cost of traveling along edge e, as c e (f e ). For the purposes of this paper, we only consider linear edge-cost functions of the form c(x) = a x+b, where x represents the number of travelers along an edge, and 0 a, b. Similarly, we denote the cost an agent bears by traveling along a path, P, as c P (f P ). We make two assumptions regarding edge costs and path costs. First, we assume that edge

RANDOM SIMULATIONS OF BRAESS S PARADOX 6 costs and path costs are agent indepent. That is, if agent i and agent j are both traveling along edge e, they each bear the cost c e (f e ). Second, we borrow the assumption that path costs are additive [6]. That is, we may represent the cost an agent bears by traveling along path P as c P (f) = e P c e (f e ). If, in flow f, agent i travels path P j P then we say f(i) = P j and represent agent i s cost given flow f as c(f(i)) Let I be the set of all agents. Then we say that flow f has a social cost, C(f) = i I c(f(i)) Definition 6 (Nash Equilibrium, ˆf). The concept of a Nash Equilibrium allows us to predict the behavior of selfish travelers in a network. Let ˆf be a network flow. We say that ˆf is a Nash Equilibrium, if, for any agent i and flow f where ˆf(i) f(i) and ˆf(j) = f(j) for all agents j i, ˆf satisfies c( ˆf(i)) c(f(i)). That is, a Nash Equilibrium flow satisfies the condition that no agent can strictly reduce its travel costs by changing paths. Definition 7 (Social Optimum, f ). A flow, f, is called a social optimum (socially optimal flow) if for any flow f, we get C(f ) C(f). Definition 8 (Price of Anarchy, p(g)). If a network, G, has a Nash Equilibrium flow, ˆf, and a socially optimal flow, f, where C(f ) 0, we define the price of anarchy of G to be p(g) = C( ˆf) C(f ). If C(f ) = 0 then ˆf = f, so we define the price of anarchy to be 1. Empirically, traffic networks in large cities have a worst case price of anarchy of approximately 1.30 [8]. Definition 9 (Braess s Paradox). We say that Braess s Paradox occurs in a network, G, with edge cost functions, {c e } e E, if there exists a subgraph H G, such that C( ˆ f H ) < C( ˆ f G ), where ˆ f H and ˆ f G are Nash equilibria flows for graphs H and G, respectively. That is, Braess s Paradox occurs when removing an edge [6] to graph G strictly reduces the overall social cost, or adding an edge [2] to graph H strictly increases the overall social

RANDOM SIMULATIONS OF BRAESS S PARADOX 7 cost. Because it is easier to simulate the removal of an edge from a random graph than the random addition of an edge to a random graph, this paper exclusively analyzes instances of Braess Paradox induced by removing an edge from G. Recent studies of travel networks in large cities, such as Boston, New York City, and London, found multiple roads whose presence increased travel time in the Nash Equilibrium [8]. We borrow an example of Braess s Paradox [6], pictured in Figure 1. (Note: all figures representing networks in this paper were produced by Mathematica software [7].) Figure 1. This image conveys an example of Braess s Paradox. Edges are directed exclusively in the direction of the arrow, and edge-cost functions label each edge. Nodes are labeled in the yellow rectangles. The Nash Equilibrium goes entirely through the green path. Braess s Paradox occurs in the network in Figure 1, which we will call graph G, when node 1 is the source and node 4 is the sink. That is, all traffic in the network starts at node 1 and travels to node 4. To verify this, we first introduce the following path index. Let P 1 = [1, 2, 4]. Let P 2 = [1, 3, 4], and let P 3 = [1, 2, 3, 4]. To verify the presence of Braess s Paradox, we introduce and prove a series of lemmas. Lemma 2.1. Let f be a flow, such that f P1 = f P2 = 0, and f P3 = 1. Then f is a Nash Equilibrium flow for G. Proof. Given flow f, we get x 21 = x 32 = x 43 = 1, and x 31 = x 42 = 0. Since all agents are traveling along P 3 in f, it suffices to show that an arbitrary agent has no incentive to

RANDOM SIMULATIONS OF BRAESS S PARADOX 8 deviate from P 3. Let i be an arbitrary agent in the above network. Agent i may choose between P 1, P 2, and P 3. Let f j represent the flow where agent i chooses to travel along P j and all other agents remain on P 3. Then, c(f 1 (i)) = x 21 + 1 = 1 + 1 = 2. Additionally, c(f 2 (i)) = 1 + x 43 = 1 + 1 = 2, and c(f 3 (i)) = c(f(i)) = x 21 + 0 + x 43 = 1 + 0 + 1 = 2. Because c(f(i)) = 2 c(f 1 (i)) = 2 = c(f 2 (i)), we conclude that agent i has no incentive to deviate from P 3, so f is a Nash Equilibrium. Lemma 2.2. Let H G be a subgraph of G such that if e E(G) is an edge in graph H if and only if e (2, 3). Moreover, all edges in graph H have the same cost functions as their edges in graph G. Then, H contains two paths from node 1 to node 4, P 1 and P 2. Let f H be a flow for graph H such that f P1 = f P2 = 0.5. Then f H is a Nash Equilibrium flow for graph H. Proof. To show that an agent has no incentive to switch paths, it suffices to show that the path costs are equal. Therefore x 21 = x 42 = x 31 = x 43 =.5 and x 32 = 0. Consider c P1 (f H ) = x 21 + 1 =.5 + 1 = 1.5. Similarly, c P2 (f H ) = x 43 + 1 = 1.5 = c P1 (f H ). Lemma 2.3. Let f denote the flow where f P1 = f P2 = 0.5 and f P3 = 0. Then f is a socially optimal flow for G. Proof. Because all of the edge cost functions in G are linear with respect to edge flow, and therefore semi-convex, we may borrow the following lemma [6]: Lemma 2.4. Let G be an instance with continuously differentiable, semi-convex edge-cost functions, {c e } e E, and corresponding marginal cost functions, c (x) = d dx (x c(x)). Then, a flow f feasible for G with cost functions c is optimal if and only if it is at Nash equilibrium for G with cost functions c. Therefore, it suffices to verify that f is a Nash equilibrium flow for G with cost functions c. Note that if c(x) = x, then c (x) = d dx (x x) = 2x. If c(x) = 1, then c (x) = d dx (x 1) = 1,

RANDOM SIMULATIONS OF BRAESS S PARADOX 9 and if c(x) = 0 then c (x) = d dx (x 0) = 0. Now, let i be an arbitrary agent, where ɛ > 0 represents the size of i relative to the network. Let x ji denote the number of travelers along the edge from node i to node j. There are two cases: (1) f (i) = P 1 or (2) f (i) = P 2. Let f j represent the flow where agent i switches to P j. Consider case (1). Then x 21 = x 42 = 1, and all other edges have flow 0. Then c (f (i)) = 2 x 21 + 1 = 2.5 + 1 = 2. Additionally, c (f 2 (i)) = 1 + 2 x 43 = 2 + 2 ɛ, and c (f 3 (i)) = 2 x 21 + 0 + 2 x 43 = 2 + 2 ɛ. Therefore c (f (i)) = 2 < 2 + 2 ɛ = c( f 2 (i)) = c (f 3 (i)), so agent i will not deviate from P 1. Consider case (2). Then x 31 = x 43 = 1 and all other edges have flow 0. Then c(f 1 (i)) = 2 x 21 +1 = 2 (.5+ɛ) = 1+2 ɛ. Moreover, c(f 3 (i)) = 2 x 21 +0+2 x 43 = 2+2 ɛ. Finally c(f (i)) = 2 x 43 + 1 = 2.5 + 1 = 2 < 2 + 2 ɛ = c(f 1 (i)) = c(f 3 (i)). Therefore agent i has no incentive to deviate from f. This implies f is a Nash Equilibrium for G given the marginal edge-cost functions, and by Lemma 2.3, this implies f is an optimal flow given the original edge-cost functions. Proposition 1. Graph G with edge-cost functions c induces Braess s Paradox. Moreover, the price of anarchy, p(g) = 4 3. Proof. To verify the existence of Braess s Paradox, we must show that C(f H ) < C(f). Consider C(f H ) = (f H ) P1 c P1 (f H ) + (f H ) P2 c P2 (f H ) = 1.5. Now, consider C(f) = f P1 c P1 (f) + f P2 c P2 (f) + f P3 c P3 (f) = 2. Therefore C(f H ) = 1.5 < 2 = C(f). Now, consider the socially optimal flow, f. Let x ji denote the number of travelers along the edge from node i to node j. This implies x 21 = x 42 = x 31 = x 43 =.5 and x 32 = 0. To compute the price of anarchy, we must calculate C(f ) = f P 1 c P1 (f )+f P 2 c P2 (f )+f P 3 c P3 (f ) =.5 (x 21 + 1) +.5 (x 43 + 1) + 0 = 1.5. Therefore, p(g) = C(f) C(f ) = 2 1.5 = 4 3. It is worth noting that this is the upper bound on the price of anarchy when cost functions are affine [6].

RANDOM SIMULATIONS OF BRAESS S PARADOX 10 3. Algorithms to Determine Nash Equilibria, the Price of Anarchy, and Braess s Paradox 3.1. Linear Programming Method. Let P = {P 1,..., P p } be a set of distinct paths on a graph, G, with n nodes, m edges, and a set of edge-cost functions {c}. Furthermore, let node 1 be a source and node n be a sink. From our definition of Nash Equilibria we can conclude that, given a flow f, if c Pi (f) = c Pj (f) for all i, j {1,..., p}, then f is a Nash equilibrium (there is no incentive to switch to a path of equal cost, if adding travelers to a path cannot decrease the individual traveler cost). If edge e i has a cost function c ei = a x i + b,, where x i denotes the number of travelers along edge e i, we can establish a well-defined linear programming problem to determine the edge-flows in a Nash Equilibrium. First, for all i, j {1,..., p}, require that c Pi = c Pj. Second, we make the assumption that travelers are not lost at a node. That is, we require that the flow going into a node must equal the flow leaving a node, and that that the sum of the edge-flows leaving the source and the sum of the edge-flows entering the sink are each equal to 1. Let x ji represent the number of travelers traveling from node i to node j. Therefore, for a node k we require: x kq = x rk. q n:(q,k) E(G) r n:(k,r) E(G) The first condition gives p 1 equations, and the second condition gives n equations. This system of equations is never underdetermined. To verify this, consider an individual node. If this node has only one outgoing edge, then one of the n node-specific equations can be used to determine the flow of that outgoing edge. If a node has more than one outgoing edge, it implies the existence of a new, distinct path to node n (otherwise the value of the flow through that outgoing edge is trivially zero, and it can be eliminated from the system of equations), which implies one of the p 1 path equations may be used in combination

RANDOM SIMULATIONS OF BRAESS S PARADOX 11 with one of the n node-specific equations to determine the value of the flow through the outgoing edge. While linear programming can be a useful method for solving some Nash Equilibrium problems, it cannot be universally applied. While the existence of a flow that makes all path-costs equal does imply that the flow is a Nash Equilibrium, the converse is not necessarily true. When a network has dominated paths (paths with costs always greater than the costs of other paths), the linear programming method may generate a negative solution for certain edge-flows, which is not well-defined for a Nash Equilibrium solution. Therefore, in the next two subsections, we introduce two algorithms: the All-Or- Nothing (AON) algorithm and the Method of Successive Averages (MSA), to approximate a network s Nash Equilibrium flow without solving a linear programming problem. 3.2. All-Or-Nothing (AON) Algorithm. To obtain a Nash Equilibrium flow for a network with edges containing linear cost functions without using the linear programming method, we first consider the AON algorithm [4]. This algorithm contains the following steps:

RANDOM SIMULATIONS OF BRAESS S PARADOX 12 input : Graph G(V, E), arc c o s t v e c t o r c, o r i g i n d e s t i n a t i o n p a i r s W, demand d Assign path flow, f = 0 for a l l w in W do Find l owest c o s t path r in set o f paths for OD p a i r w Assign a l l flow dw to t h i s path : f r = dw f o r For the purposes of this paper, we assume one origin-destination pair, where node 1 is always the origin, and node n (where n is the largest integer in the node index) is always the destination. Furthermore, the demand for this pair is scaled to 1. Additionally, the programming written to run the simulations discussed later in this paper uses an alternate construction for the initial path flow. Specifically, it assumes that all of the flow initially travels through the first path, which does not significantly impact the convergence of the algorithm. This algorithm by itself does determine the Nash Equilibrium flow of a network with given cost functions very accurately; however, it is helpful in determining which path an agent would likely prefer over the pre-existing flow. Creating convex combinations between pre-existing guesses and the path selected by the AON algorithm provides a useful way to modify previous Nash Equilibrium guesses. This method is deployed in the next algorithm, called the Method of Successive Averages (MSA) [4]. 3.3. Method of Successive Averages (MSA) Algorithm. We introduce the following steps for performing the Method of Successive Averages [4]:

RANDOM SIMULATIONS OF BRAESS S PARADOX 13 inputs : Graph G(V, E), arc c o s t f u n c t i o n s c, set o f Origin D e s t i n a t i o n p a i r s W, and demand d C a l c u l a t e f i x e d t r a v e l times c ( 0 ) AON assignment y i e l d i n g path flow v e c t o r f 0 i = 0 while ( convergence c r i t e r i o n not met ) do c a l c u l a t e f i x e d times c ( f i ) AON assignment y i e l d i n g path flow v e c t o r h i d e n t i f y convex combination : f ( i +1) = (1 lambda ) f i + ( lambda ) h with lambda element o f [ 0, 1 ] i = i +1 while output : Path flow v e c t o r f For the purposes of this paper, we use the recommation of λ = 1 i+1 [0, 1] [4]. Additionally, instead of using a convergence criterion, the programming used for simulations in this paper performs 100 iterations of MSA algorithm to determine a Nash Equilibrium. It is easy to verify that this algorithm converges to a specific path flow. Even if the vectors for h continue to change after multiple iterations of the algorithm, the quickly decaying value of λ guarantees that the convex combinations of the result from the previous iteration with the AON assignment will converge.

RANDOM SIMULATIONS OF BRAESS S PARADOX 14 Furthermore, by Lemma 2.4, we may use the MSA algorithm to determine the socially optimal flow for a graph with linear edge-cost functions. Finding the Nash Equilibrium flow for a graph using the marginal cost functions gives the optimal flow for the graph with the original cost functions. As noted earlier, if an edge has a constant edge-flow cost function, the marginal cost function is identical to the original cost function, and if an edge-flow cost function has a linear term, the marginal cost function doubles the coefficient to the linear term. Therefore, to find the optimal social flow for a graph, we can use the MSA algorithm by modifying the cost function inputs so the linear coefficient is doubled, while the constant term remains the same. Proposition 2. If the flow though a certain path is 0 in the Nash Equilibrium, i iterations of MSA will induce an upper bound of 1 i+1 for the approximation of the flow of that path. Proof. The worst case scenario occurs when the first iteration of the AON algorithm assigns all of the path flow to a path which has 0 flow in the Nash Equilibrium (this can happen if the initial flow through these paths is 0, and the path has a low number in the path index, as the AON program breaks ties in favor of a lower number on the path index). If a path has 0 flow in the Nash Equilibrium, travelers along that path can always find a better path to which they can switch. Therefore, all future AON assignments will be to other paths. Therefore, after each iteration of the MSA algorithm, the flow from the previous iteration will be multiplied by 1 λ = 1 1 i+1 = i i+1. Therefore, after i iterations of the MSA algorithm, the flow will be i! (i+1)! = 1 i+1. Proposition 3. For a large i, given a path j with non-zero flow in the Nash Equilibrium, i iterations of MSA induce an upper bound on the absolute error of the true flow through path 1 j of (a + 1) i+1, where a is the number of paths with 0 flow in the true Nash Equilibrium, but non-zero flow according to the algorithm. Moreover, the sum of all absolute path-flow 1 approximation errors cannot exceed (a + b) i+1, where b represents the number of paths with non-zero flow in the true Nash Equilibrium.

RANDOM SIMULATIONS OF BRAESS S PARADOX 15 Proof. From the proposition above, we know the worst case scenario occurs when a paths with 0 flow in the true Nash Equilibrium have flow 1 i+1. Because the sum of all path flows must equal 1 (the demand), this means the sum all non-zero path flows according to 1 the algorithm will be 1 a i+1. We claim that when the algorithm does not incorrectly assign non-zero flow to paths, the maximum error for a path-flow will be 1 i+1. If incorrect non-zero assignments are always avoided, then for a sufficiently high value of i, the true Nash Equilibrium can be detected by the algorithm at a specific iteration, provided each path has a rational flow, because flows are determined by convex combinations of previous iterations with improvement vectors. Therefore, for a sufficiently high i, we can claim that a previous iteration of the algorithm creates equal path-costs (given the avoidance of false non-zero assignment). Therefore AON assignment disrupts the true Nash Equilibrium flow 1 by at most i+1, but this makes the recipient path of the AON assignment more expensive than other Nash Equilibrium paths, so it will not receive future AON assignments as long as the path-costs are not equal. Therefore, each path has a maximum error of 1 i+1. Finally, we combine the worst case scenario for the error produced by false non-zero assignment and the worst case scenario for approximation error from AON reassignment to produce an upper bound of (a + 1) 1 i+1 for the error in the approximation of an individual flow. Moreover, adding the overall error from false non-zero assignment with overall error form AON reassignment gives an overall network error of (a + b) 1 i+1. 3.4. Detecting Braess s Paradox and Computing the Price of Anarchy. We seek to make the detection of Braess s Paradox easier to perform using MATLAB. To this, we provide and prove a sufficiency condition for Braess s Paradox in the following proposition. Proposition 4. Let ˆf be a Nash Equilibrium arc-flow for a graph G and let f be a socially optimal flow for G such that C(f ) < C( ˆf). If there exists an arc j such that

RANDOM SIMULATIONS OF BRAESS S PARADOX 16 ˆf j 0 but f j = 0 where f j represents the flow of f through arc j, then there exists a subgraph H G with Nash Equilibrium flow ˆf H such that C( ˆf H ) < C( ˆf). Proof. Let H G be the graph G which only contains edges which have non-zero flow in f. This is a strict subgraph of G, because the edge j in graph G has non-zero flow in ˆf but zero flow in f, which implies that edge j would not belong to H but does belong to G. We claim that C( ˆf H ) < C( ˆf). Suppose not. Consider ˆf H with the marginal cost functions. Suppose there is a path k such that c k ( ˆf H ) > c P j ( ˆf H ), where the flow of ˆf H through path k is non-zero, and P j is some path through edge j. Then this implies that overall social cost can be reduced when the flow through edge j is non-zero, a contradiction. First, it should be noted that according to previous literature, it is NP-hard to build a perfect Braess s Paradox detector [6]. Furthermore, it points out that there is no algorithm which is less computationally expensive than the trivial algorithm (where a program must test the removal of each edge, calculate the social cost for the new Nash equilibrium, and compare it with that of the original Nash equilibrium) [6]. This discovery requires the following two comments about the algorithm described in the proposition above. First, the proof above implies a sufficiency condition, rather than a condition which is both necessary and sufficient to detect Braess s Paradox. Therefore, it is possible that the algorithm will under-estimate the number of occurrence of Braess s Paradox, but if it does detect Braess s Paradox, this should not be an error. Second, Roughgarden s book is in the context of finding Nash equilibria through the mixed integer linear programming problem described in earlier subsections (because it imposes a non-negativity constraint on all edge-flows). As noted earlier, this method experiences difficulties when certain Nash Equilibrium flows should be zero. Therefore, the use of approximation to detect instances of Braess s Paradox may offer a computational improvement over the linear programming methods discussed in previous literature. Other applications of Braess s Paradox to traffic networks in the literature also rely on the use of the trivial algorithm to detect Braess s Paradox given

RANDOM SIMULATIONS OF BRAESS S PARADOX 17 flow-depent edge cost functions [8]; however, these papers examine a small number of networks relative to the quantity of those considered by this paper. Therefore, for this paper the trivial algorithm is less feasible. Another nuance worth noting is that this detector concerns the Nash Equilibrium arcflow and optimal arc-flow, whereas the algorithms described in the previous subsections return path-flows. To convert a path-flow to an arc-flow, previous literature [4] introduces the concept of an arc-path index matrix Φ. The matrix Φ has m rows and p columns, where m is the number of edges in the network, and p is the number of paths from the start node to the node. Elements are defined similarly to those of an adjacency matrix, where Φ ij = 1 if row i is in path j. Otherwise, the element is 0. In addition to providing a useful tool to index edges in a path, this matrix also converts a path-flow to an arc-flow. Given a path f in the form of a vector with p elements, the product f = Φ f returns the arc-flow of f (it is easy to verify that this vector has m elements). Also, for the programming written to perform simulations in this paper, we modify the requirements described in the proposition. According to proposition 2, if the Nash Equilibrium flow through a particular edge is 0, i iterations of the MSA algorithm will 1 approximate the flow through that edge to be at most i+1. Because the programming written in this paper performs 100 iterations, the maximum value that the program would approximate for the flow through an edge with 0 flow in the Nash Equilibrium is 1 101 =.0099; therefore, we modify this condition by searching for edges with flow strictly greater than.01 in the Nash Equilibrium flow and strictly less than.01 in the optimal flow. Finally, to compute the price of anarchy for a network, it is first necessary to obtain the Nash Equilibrium and optimal arc-flows (cost cannot be directly computed from path-flows, because path edges overlap, so the flow through each edge of the path is not necessarily equal to the path flow). The total cost of a given arc-flow f can then be determined by computing f (a f +b), where a is a vector whose ith element corresponds to the coefficient

RANDOM SIMULATIONS OF BRAESS S PARADOX 18 of the linear cost function for edge i, and b is a vector whose ith element corresponds to the constant term in the cost function for edge i. After computing the total cost for the Nash Equilibrium and the optimal flow, if both costs are non-zero, the price of anarchy is found by taking the quotient (as mentioned earlier, if either cost is 0, the other is as well, and the price of anarchy is defined to be 1). 4. Price of Anarchy Distribution and Likelihood of Braess s Paradox in Random Networks 4.1. Research Questions. The purpose of this section is to perform a series of random simulations that identify conditions in a network and its corresponding linear cost functions which affect the distribution of the price of anarchy and the likelihood of Braess s Paradox. Question 1: Which network topologies generate Braess s Paradox? Our hypothesis is that randomly generated graphs with a similar structure to Figure 1 will induce Braess s Paradox. Specifically, we expect that occurrences of Braess s Paradox will likely have a structure that includes a free edge which connects edges with flowdepent costs. These free edges make flow-depent edges more desirable for selfish travelers, which increases the flow through flow-depent edges and therefore the overall cost. Question 2: What is the relationship between the number of nodes in a network and the likelihood of Braess s Paradox? Our hypothesis is that a higher number of nodes increases the probability of an occurrence of Braess s Paradox. The justification for this hypothesis is that a higher number of nodes with a consistent mean degree increases the number of edges, which increases the likelihood of a socially disruptive edge. We also expect to find trs with higher correlations when only considering graphs that have an equivalent number of nodes mod 4, as the construction of random graphs described in the next subsection attempts to replicate the example illustrated in Figure 1.

RANDOM SIMULATIONS OF BRAESS S PARADOX 19 Question 3: What is the relationship between the number of nodes in a network and its price of anarchy distribution? Our hypothesis is that a higher number of nodes increases the probability of an occurrence of Braess s Paradox. Our hypothesis is that a higher number of nodes increases the median and variance of the distribution of the price of anarchy, for similar reasons that we expect an increase in the number of occurrences of Braess s Paradox. Below, we describe the details of the design for the random simulation used to answer these questions. 4.2. Random Graph Construction. To program the simulation used to answer the questions formulated above, we create a program which randomly generates graphs with similar topologies to the example in Figure 1. We add nodes and edges to this graph, but preserve the structure of the original four nodes and the edges between them. To generate a graph of n nodes, we add n 4 nodes to the original graph and construct edges recursively. For each node i > 4, we randomly select two distinct nodes j, k < i and add edges from nodes j and k to node i. The construction that gives each new node an in-degree of 2 was chosen to ensure a high number of paths, while also replicating the fact that nodes 3 and 4 in the original graph have in-degrees of 2. Proposition 5. Given the graph construction above, there are always at least 2 distinct paths from node 1 to node n. Proof. We prove this by induction. The base case is n = 5. We know that node 5 must have 2 edges from the set of nodes {1, 2, 3, 4}. There are two cases. Case 1: There is an edge from node 1 to node 5. Then this is a distinct path from node 1 to node 5. Suppose there is an edge from node i to node 5, where i 1. Based on the construction of the original graph, there is a path from node 1 to node i, which implies this path can be exted to be a path from node 1 to node 5, and because i 1, this path is distinct from the edge from

RANDOM SIMULATIONS OF BRAESS S PARADOX 20 node 1 to node 5. Case 2: There is not an edge from node 1 to node 5. Then, suppose there are two distinct nodes i, j such that there are edges from nodes i and j to node 5. But, in the original graph, there are distinct paths from node 1 to nodes i and j. Therefore, these paths can be exted to produce distinct paths to node 5. Now, we perform the inductive step. There are two cases. Case 1: There is an edge from node 1 to node n. Then, suppose there is an edge from node i to node n where i n. Because i < n, we may invoke the inductive hypothesis to conclude that there are at least 2 distinct paths from node 1 to node i, and either of these could be exted to produce a path from node 1 to node n (by adding the edge (i,n)) which is a distinct path from the edge from node 1 to node n. Case 2: There is not an edge from node 1 to node n. Then, there are two distinct nodes i and j such that there are edges from nodes i and j to node n. But, because i, j < n, we may apply the inductive hypothesis to nodes i and j. Therefore, there are at least 2 distinct paths from node 1 to node i, and these could be exted to node n. Similarly, there are at least 2 distinct paths from node 1 to node j and these could be exted to node n to produce a distinct path from the one which contains the edge from i to n. In the next section, we explain the random assignment of cost functions to replicate the structure of the original graph in Figure 1. 4.3. Selection and Assignment of Cost Functions. In this simulation, we attempt to construct randomly generated graphs which replicate Figure 1. To do this, we construct three categories of edge types. Type 1 has a cost function of the form a x where a is a real constant, and x represents the traffic flow through the edge assigned a line 1 cost function. Type 2 has a constant cost function of the form b, where b is a real constant. Type 3 has a constant cost function of the form c, where c is a real constant. We want to analyze the boundaries of these parameters by assigning them to Figure 1. In Figure 1, the edges from node 1 to node 2 and from node 3 to node 4 have type 1 cost functions, where a = 1. The edges from node 2 to node 4 and the from node 1 to node 3 have type 2 cost functions,

RANDOM SIMULATIONS OF BRAESS S PARADOX 21 where b = 1. Finally, the edge from node 2 to node 3 has a type 3 cost function where c = 0. We use the name P 1 to represent the path from node 1 to node 2 to node 4. We use P 2 to denote the path from node 1 to node 3 to node 4, and P 3, to denote the path from node 1 to node 2 to node 3 to node 4. First, we introduce the following lemma: Lemma 4.1. It is necessary to have b > c to generate a Nash equilibrium with a nonzero flow along P 3. Proof. We prove the statement by contradiction. Suppose b c, and pick flow f such that x 3 > 0, where x i denotes the number of travelers along P i. Then consider the cost of traveling along P 1, c P1 (f) = a (x 1 + c 3 ) + b a (x 1 + x 3 ) + c < 2a (x 1 + x 3 ) + c = c P3 (f). This implies that for a Nash equilibrium, ˆf, x 3 = 0, which is a contradiction. Because c < b, for the purposes of simplicity and consistency with Figure 1, we let c = 0, to define our line 3 cost function. After making this selection, we can introduce a new lemma to add further restrictions to our bounds. Lemma 4.2. If c = 0, then a and b must have the following bounds (provided a 0, a condition necessary to ensure the network does not exclusively have constant cost functions): a 2 b a to ensure non-negative solutions for the Nash Equilibrium path flows. Moreover, if a 2 b, the Nash Equilibrium flow will only travel through paths 1 and 2. If a b, then the Nash Equilibrium flow has all travelers choosing path 3.

RANDOM SIMULATIONS OF BRAESS S PARADOX 22 Proof. We want to find ˆf, the Nash equilibrium for our example. To do this, consider the individual path costs for an arbitrary path flow, f = (x 1, x 2, x 3 ): c P1 (f) = a (x 1 + x 3 ) + b, c P2 (f) = a (x 2 + x 3 ) + b, c P3 (f) = a (x 2 + x 3 ) + a (x 1 + x 3 ). We find a Nash equilibrium by imposing the requirement that c P1 (f) = c P2 (f) = c P3 (f). First, we solve c P1 (f) = c P2 (f). This implies a (x 1 + x 3 ) + b = a (x 2 + x 3 ) + b. If a 0, we get x 1 = x 2. Therefore, we define x x 1 = x 2. By scaling the sum of the individual flows to add to 1, we get x 1 + x 2 + x 3 = 1, which implies x 3 = 1 2 x. Now, by solving c P1 (f) = c P3 (f), we get a (x 1 + x 3 ) + b = a (x 2 + x 3 ) + a (x 1 + x 3 ). This implies b = a (1 x). Therefore, x 1 = x 2 = x = 1 b a and x 3 = 2b a 1. We want 0 x i for all i, which implies a 2 b a. Finally, based on the solutions generated, note that if b a 2, then the solution for x 3 becomes non-positive, implying path 3 is a dominated strategy, so all traffic will flow through paths 1 and 2 equally. If a b, then the solutions for x 1 and x 2 will become non-positive, implying all travelers will choose path 3. if a 2 Nash Equilibrium will contain a non-zero flow in all 3 paths. < b < a, the We now introduce a similar lemma by finding the optimal flow. Lemma 4.3. Given c = 0, the bounds required to produce non-negative solutions for the optimal flow are a b 2a. Moreover, if b a, the optimal flow will exclusively and equally travel through paths 1 and 2. If 2a b, then the optimal flow will travel entirely through path 3. Proof. Note that work above generates the solution for the socially optimal flow, f, where line 1 edges are given the parameter a = 2a and all other parameters are the same. Therefore, x 1 = x 2 = 1 b 2a and x 3 = b a 1. To get non-negative solutions for the optimal

RANDOM SIMULATIONS OF BRAESS S PARADOX 23 flow, it follows that a b 2a. Furthermore, consider the case where b a. Then the solutions for x 3 are non-positive, implying it is a dominated strategy and all optimal flow travels exclusively and equally through paths 1 and 2. If 2a b, the solutions for x 1 and x 2 will be non-positive, implying they will be dominated by path 3. Therefore, the optimal flow will travel exclusively through path 3. Finally, if a b 2a, all 3 paths will have non-zero flow in the optimal case. This justifies the parameter requirement a = b to maximize the price of anarchy, because we get a b a to generate the case where the Nash Equilibrium flow has x 3 = 1 and the socially optimal flow has x 1 = x 2 =.5. To maintain consistency with the example, we let a = b = 1. To get results from random graphs which replicate those of the example, we create a random cost assignment function. When applied to a specific graph, each edge has a.4 probability of receiving a type 1 cost function, a.4 probability of receiving a type 2 cost function, and a.2 probability of receiving a type 3 cost function. We select these probabilities to replicate the ratio between cost function categories in Figure 1. 4.4. Simulation Algorithm. These methods for construction of random graphs and assignment of random cost functions to the edges of those graphs allowed for the programming of simulations of various random graphs to observe trs in the presence of Braess s Paradox and the distribution of the price of anarchy. The simulation program written to answer the questions at the beginning of this section constructed 20 random graphs, each with n nodes, using the method described earlier in this section. Then, each graph received 100 random cost assignments using the method described above. After assigning costs to the edges of a graph, the program calculated the price of anarchy and searched for the presence of Braess s Paradox. Then it sorted the combination of the graph and its cost functions into one of five mutually exclusive categories. Case 1 occurs if there are not any paths from node 1 to node n. Case 2 occurs if

RANDOM SIMULATIONS OF BRAESS S PARADOX 24 there is exactly one path from node 1 to node n, making the price of anarchy trivially equal to 1 (as the Nash Equilibrium flow and socially optimum flow must travel entirely along this single path). Case 3 occurs if there are more than one path from node 1 to node n but the price of anarchy is still less than or equal to 1 (we allow for the possibility that the calculation for the price of anarchy may be slightly less than 1 due to approximation error from the MSA algorithm), as this indicates that the socially optimum flow is nontrivially the Nash Equilibrium flow. Case 4 occurs if the price of anarchy is larger than 1 but Braess s Paradox does not occur, and Case 5 occurs when Braess s Paradox occurs (which implies that the price of anarchy is strictly larger than 1). Note that Proposition 1 suggests that the graphs used in this simulation should never satisfy cases 1 or 2. Therefore, for each n, there were 2000 computations of the price of anarchy and assignments to specific cases. These 2000 simulations were performed from n = 5 to n = 95 for a total of 182000 graph-cost pairs. 5. Results 5.1. Topologies Generating Braess s Paradox. In this subsection, we seek to analyze the various topologies of graphs stored as Braess s Paradox candidates. For the purposes of being able to visualize the topology of graphs of interest, we consider examples stored from the earlier algorithm with 14 nodes. The construction of graphs described earlier guarantees that graphs with 14 nodes will have 25 edges, as the subgraph illustrated in Figure 1 with the original 4 nodes has 5 edges, and the remaining 10 nodes each add 2 distinct edges when they are added to the graph. We consider 4 examples generated by the algorithm, examine their topology, identify the harmful edges, and show the improvement in Nash Equilibrium following their removal. Example 5.1. Our first example is illustrated in Figure 2. In Figure 2 (A), we have the structure of the graph, without any of the corresponding cost functions. In Figure 2 (B),

RANDOM SIMULATIONS OF BRAESS S PARADOX 25 (a) Illustration of Example 5.1. Here, only the edges without their edge-cost functions are displayed. (b) This figure is a path-only subgraph of (A), with edge-cost functions that generate Braess s Paradox. Path 1 is [1,2,8,14]; path 2 is [1,2,4,8,14]; path 3 is [1,3,4,8,14]; path 4 is [1,2,3,4,8,14]; path 5 is [1,,10,14]; and path 6 is [1,2,10,14]. Figure 2. Figures for Example 5.1. The Nash Equilibrium is in green in (B). we simplify by reducing to the subgraph which only contains edges which belong to at least one path from node 1 to node 14. Figure 2 (B) also includes the edge-cost functions which generate Braess s Paradox. Using the phiw function in MATLAB (see Appix of MATLAB codes), we find that the graph has 6 paths, indexed as follows: path 1 is [1, 2, 8, 14]; path 2 is [1, 2, 4, 8, 14]; path 3 is [1, 3, 4, 8, 14]; path 4 is [1, 2, 3, 4, 8, 14]; path 5 is [1, 10, 14]; and path 6 is [1, 2, 10, 14]. It is easy to show that path 5 dominates path 6, because they contain identical constant costs of 1+0, but path 6 also includes the edge from 1 to 2 with cost equal to the edge-flow. Similarly, it is easy to show that path 4 dominates path 5, because both paths experience the cost of x where x is the number of travelers from node 1 to node 2, but path 5 also has a constant cost of 1, whereas path 4 only has another linear cost function on the edge from node 4 to node 8, and this cost cannot exceed 1. According to the newmsa function written on MATLAB (see appix) the Nash Equilibrium flow for this network occurs when the flow through path 1 is.0099, the flow through path 2 is.4851, and the flow through path 3 is.5050, generating an overall cost of 1.4902. This approximation can be

RANDOM SIMULATIONS OF BRAESS S PARADOX 26 confirmed analytically by verifying that a Nash Equilibrium occurs when the flow through paths 2 and 3 are both.50. To verify this let c i represent the cost of this flow through path i. Then c 1 = x 21 + 1 + 0 = 1.5, c 2 = x 21 + 0 + x 84 + 0 = 1.5, c 3 = x 31 + 0 + x 84 + 0 = 1.5, c 4 = x 21 + 0 + 0 + x 84 + 0 = 1.5, and paths 5 and 6 are strictly dominated, so all nondominated paths have equal costs. Moreover, the social cost of the system is equal to this common path cost, so the total cost is 1.5, which implies that the algorithm s approximation of 1.4902 has error less than one percent. Now, using the newmsa function with the marginal cost functions, we get that the optimal flow occurs when the flow through path 1 is.4851, the flow through path 2 is.0099, the flow through path 3 is.4950, and the flow through path 5 is.0099, generating an overall optimal cost of 1.2501. We can verify this result analytically by showing that the Nash Equilibrium for the marginal cost functions occurs when the flow through paths 1 and 3 are equal to.5. Indeed, let C = (c 1, c 2, c 3, c 4, c 5, c 6 ). Then C = (2, 2, 2, 2, 2, 2.5). Therefore, there is no incentive to deviate. Furthermore, we can verify that the social cost is (x 21 + 1 + 0).5 + (x 31 + 0 + x 84 + 0).5 = 1.25. This implies that the algorithm almost identically approximates the optimal cost (with a 0.008 percent error). Next, we calculate the price of anarchy. According to the newpoa function (see appix), we get 1.1921. Using the accurate analytical costs, we get 1.5 1.25 = 1.2. Therefore, the approximation error for the price of anarchy is less than one percent. Finally, we verify the presence of Braess s Paradox. Our candidate algorithm suggests removing edges with non-zero flow in the Nash Equilibrium, but zero flow in the social optimum. Therefore, we remove the edges which are in path 2 but not in paths 1 or 3. Consider Figure 2 (B), with the edge from node 2 to node 4 removed, and the edge from node 2 to node 3 removed (the second edge is not in path 2 but is in path 4, which always has an identical path cost with path 2). Because paths 5 and 6 are still dominated, the Nash Equilibrium will go through paths 1 and 3. Specifically, if the flow through path 1

RANDOM SIMULATIONS OF BRAESS S PARADOX 27 is 1/3 and the flow through path 3 is 2/3 then they both have path costs of 4 3, which is a strict decrease from the overall social cost of 1.5 in the graph including the bad edges. Note the subgraph without the bad edges also provides an example of a graph with a price of anarchy strictly larger than 1 but without Braess s Paradox (a case 4 graph). The bad edges in this example are consistent with the hypothesis about the topology of networks generating Braess s Paradox, because both harmful edges were free edges connecting edges with flow-depent cost functions. Figure 3. Illustration of Example 5.2. For the rest of the examples, we will rely on the calculations performed by the MATLAB algorithms instead of determining the analytic solution. Example 5.2. The graph for our next example is illustrated in Figure 3. The phiw function in MATLAB indicates that this graph has 15 paths from node 1 to node 14. The

RANDOM SIMULATIONS OF BRAESS S PARADOX 28 (a) Path-only subgraph of Figure 3 with respective edge-costs. (b) Path 8 is [1, 9, 14]; path 13 is [1, 6, 8, 9, 14]; and path 14 is [1, 3, 6, 8, 9, 14]. (c) Path 1 is [1, 5, 8, 14]. Path 5 is [1, 6, 8, 14]. Path 6 is [1, 3, 6, 8, 14], and path 8 is defined in (B). Figure 4. Subgraphs of Figure 3. Example 5.2. subgraph which only includes edges that belong to a path from node 1 to node 14 and their corresponding edge-cost functions is illustrated in Figure 4 (A). According to the newmsa function, a Nash Equilibrium occurs when the flow through path 5 is.0099, the flow through path 8 is.6040, the flow through path 13 is.1881, and the flow through path 14 is.1980. This flow generates an overall social cost of 1.5902. Figure 4 (B) illustrates the subgraph of Figure 4 which only contains edges that have non-zero flow in the Nash Equilibrium (note that we do not include path 5). The relevant paths are defined as follows. Path 8 is [1, 9, 14]; path 13 is [1, 6, 8, 9, 14]; and path 14 is [1, 3, 6, 8, 9, 14]. We compare this result to the flow returned when the newmsa function is applied to the marginal cost functions. Here, the program determines that the optimal flow occurs when.0792 travelers use path 1,.1980 travelers use path 5,.1880 travelers use path 6, and.5347

RANDOM SIMULATIONS OF BRAESS S PARADOX 29 (a) Illustration Example 5.3. (b) This figure illustrates the path-only subgraph of (A). Path 1 is [1, 2, 14], path 2 is [1, 2, 5, 14], path 3 is [1, 2, 4, 5, 14], path 4 is [1, 3, 4, 5, 14], and path 5 is [1, 2, 3, 4, 5, 14]. Figure 5. Figure of Example 5.3 travelers use path 8. Path 1 is [1, 5, 8, 14]. Path 5 is [1, 6, 8, 14]. Path 6 is [1, 3, 6, 8, 14], and path 8 is defined above. The subgraph which only includes edges that belong to a path that has non-zero flow in the optimal flow is illustrated in Figure 4 (C). The overall cost of the optimal flow is calculated to be 1.3462 generating a price of anarchy of 1.5902 1.3462 = 1.1812. A comparison of the edges which belong to a Nash Equilibrium and the edges which belong to the socially optimal flow confirms that the edge from node 8 to node 9 has non-zero flow in the former but zero flow in the latter. Therefore, we consider the Nash Equilibrium of the subgraph of Figure 3 without the edge from 8 to 9. It can be analytically confirmed that the Nash Equilibrium has flow 1 7 through both path 5 and path 6, and the remaining 5 7 flows through path 8. This produces a common path cost, and therefore overall social cost of 10 7 < 1.5902. This confirms the presence of Braess s Paradox. However, this again provides an example of a case 4 graph, because the new price of anarchy is now 10 7 1.3462 = 1.0612 > 1. Finally, again we find that the harmful edge is a free edge edges with flow-depent cost functions.

RANDOM SIMULATIONS OF BRAESS S PARADOX 30 Example 5.3. Our third example is illustrated in Figure 5. Application of the phiw function to this network shows that the network has 5 paths from node 1 to node 14. Figure 5 (B) displays the subgraph of Figure 5 (A) which only contains edges that belong to a path from node 1 to node 14. The paths are defined as follows: path 1 is [1, 2, 14], path 2 is [1, 2, 5, 14], path 3 is [1, 2, 4, 5, 14], path 4 is [1, 3, 4, 5, 14], and path 5 is [1, 2, 3, 4, 5, 14]. The newmsa function indicates the Nash Equilibrium flow occurs when.2574 travelers choose path 1, and.2475 travelers each choose paths 3, 4, and 5, generating an overall social cost of 1.7451. Using the same function when applying the marginal cost functions to the network generates an optimal flow of.4950 through path 1 and.5050 through path 4 and an overall social cost of 1.5000. Therefore, the price of anarchy in this example is 1.1634. Now, we seek to verify the presence of Braess s Paradox. First, note that the edges which have non-zero flow in the Nash Equilibrium but zero flow in the optimal flow are the edges from node 2 to node 3 and from node 2 to node 4. Removing these edges and finding the Nash Equilibrium generates a flow identical to the optimal flow, and therefore an identical social cost. Therefore, removing the bad edges improves the social cost of the Nash Equilibrium and generates a price of anarchy of exactly 1 (a case 3 graph). The topology of this graph differs from that which we expect in the hypothesis, since the bad edges are not free, but rather are both flow-depent. While the costs of the bad edges differ from what we expect in the hypothesis, both bad edges connect to edges which are flow-depent. Finally, note that each bad edge indepently produces Braess s Paradox. One can show that the social cost of the Nash Equilibrium flow, when either harmful edge is removed while the other is left in the network is 5 3 > 1.5 (to verify this, test the case where the path through flow 2 is 0, and the flow through each remaining path, after the edge is removed, is 1 3 ). Therefore, this examples produces a situation where removing

RANDOM SIMULATIONS OF BRAESS S PARADOX 31 (a) Illustration of network for example 4. (b) Illustration of path-only subgraph of (A) and individual edge-cost functions. Path 1 is [1, 2, 14]; path 2 is [1, 5, 14]; path 3 is [1, 3, 5, 14]; and path 4 is [1, 2, 3, 5, 14]. Figure 6. Figures for Example 5.4 one harmful edge produces an improvement in the Nash Equilibrium, and subsequently removing the other harmful edge further improves the Nash Equilibrium, indicating that Braess s Paradox may remain after a harmful edge is removed, even if that edge is indepently harmful. Example 5.4. Now, we consider our final example, illustrated in Figure 6. Application of the phiw function reveals the presence of 4 paths from node 1 to node 14. We display the subgraph with just these paths and their corresponding edge-cost functions in Figure 6 (B). Path 1 is [1, 2, 14]; path 2 is [1, 5, 14]; path 3 is [1, 3, 5, 14]; and path 4 is [1, 2, 3, 5, 14]. To find the Nash Equilibrium, we use the newmsa function and find that.1287 travelers choose path 1 and path 4 each, while.3762 travelers chose path 2, and.3663 travelers choose path 3. This generates an overall social cost of 1.2464. Applying the newmsa function to the network with marginal cost functions generates an optimal flow where.3960 travelers choose path 1,.3069 travelers choose path 2, and.2970 travelers choose path 3. This generates an overall social cost of 1.1001, which implies that the price of anarchy is 1.1330. Now, to verify the presence of Braess s Paradox, we note that the only edge with a non-zero flow in the Nash Equilibrium but a zero flow in the social optimum is the edge