NETWORK DESIGN GAMES -------------------- Source: 1. On a network creation game Fabrikant, Luthra, Maneva, Papadimitriou, Shenker PODC 2003 2. The price of stability for network design with fair cost allocation Anshelevich, Dasgupta, Kleinberg, Tardos, Wexler, Roughgarden FOCS 2004. 1. A good application of game theoretical ideas in CS is for the creation of open and shared network infrastructures. The Internet is one of the most influential networks of our time, and yet it is neither designed, nor operated by a single entity. Instead, it involves interaction and cooperation of many entities (often called autonomous systems) that have their own private economic interests at stake. A natural question to arise is this: if the network is a product of many economic entities, what optimization criterion should one consider in its creation and operation? Just like "approximation ratio" provides a rigorous framework for computational limitations, and "competitive ratio" is a response to lack of information about complete input in online settings, a new framework introduced to deal with "decentralized" systems performance is "price of anarchy". 2. When consider the goodness of a network, two natural parameters are of interest: what does it cost to build, and how well does it function? In order to study them in a formal way, we will consider a particularly simple abstraction for this problem: The agents are nodes, and their GOAL is to produce a network (an undirected graph). Each node chooses a (possibly empty) subset of other nodes, and sets up links to them. Each link is bidirection, and once installed, it can be used by all agents (regardless of who paid for it). The union of these links is the network created. An implicit goal of the network design is to achieve connectivity: each node wants to connect to some or all of the other nodes. We take the simple view that a node's benefit is the connectivity that the network achieves. Let's measure it as the SUM OF THE SHORTEST PATH DISTANCES from i to all other nodes. The COST to each node for a given network then is the combination of the edge costs (number of edges it chooses times a const A) and the sum of the shortest path distances to all other nodes. The constant A can be thought of as the cost of installing and maintaining the link, while the shortest path distances are an attempt to measure the quality of service in the network. We will like to study what kinds of stable (NE) solutions this type of game supports. 3. Formally, the players are [n] = [0, 1, ..., n-1]. The strategy space Si for a node i is all subsets of [n] - {i}. Given a combination of strategies s = (s0, s1, ..., ), let G[s] be the graph that is produced: it in, player i is joined to all nodes in si. The COST incurred by i is c(i,s) = A*|si| + \sum_{j=0}^{n-1} d(i,j), where d() is the shortest path (hop) distance between i and j in G[s]. A pure NE for this game is an s such that, for each player i, and for all other strategies s' that differ from s only in the ith component, we have c(i, s) <= c(i, s'). 4. While it may be tempting to consider producing a NE through iterative refinement (repeatedly, replace each player i's strategy by his best response to others' strategies), the following suggests some difficulty. Thm. Given s \in (S0 x S1 x .. Sn-1) and i, it's NP-hard to compute the best response of i. Proof. View the picture from i's perspective. Suppose the rest of the graph G' (produced by others's strategies) has no edge to i. How should i play? Consider the special case where A is strictly between 1 and 2. Claim: It is best for i to reach every vertex within distance 2; otherwise if some vertex is at distance 3, putting an edge to it reduces the distance to 1, while only costing A < 2. So, i should put enough edges to reach every other vertex within distance 2. This is equivalent to computing the *dominating set* of the graph G'---every vertex is within 1 of a DS vertex, so from i you can reach it in distance 2. But computing DS is NP-complete. end. Def. Dominating Set: a subset D of V such that every vertex not in D is joined to at least one member of D by an edge in E. (Vertex set focusses on edges---each edge must be incident to someone in the VC; in DS the focus is on vertices---each vertex must be incident to someone in DS.) 5. Results for Small Values of A. What is the social cost of the solution G: C(G) = \sum_i c(i,s) = A*|E| + \sum_{i,j} d(i,j). Since every pair of non-adjacent nodes has distance >= 2, we have C(G) >= A*|E| + [\sum_{nodes 1 apart} d(i,j) ] + [\sum_{nodes more than 1 apart} d(i,j) ] C(G) >= A*|E| + 2|E| + 2 [n(n-1) - 2|E|] >= 2n(n-1) + (A-2)*|E| (*) 6. Obs 1. The bound in Eq. (*) is achieved by any graph of diameter <= 2. Result 1. If A < 1, by eq. (*) optimal social cost requires us to *maximize* |E|; note that for A<1, we have (A-2) < 0. In this case, the NE must also be a complete graph! So, NE and social optimum agree. Result 2. Consider 1 <= A < 2. In this case also, the complete graph is social optimum (by Eq (*) again), but it is no longer a NE. However, every NE must have diameter <= 2, so the social cost still has the same formula as (*). Now, the cost is largest when |E| is minimum, which is n-1 for a connected graph. Thus, the worst-case NE is a star, in which case the price of anarchy is: C(star)/C(Kn) = (n-1)(A -2 +2n)/[n(n-1)((A-2)/2 + 2)] = 4/(A+2) - (4 - 2A)/n(A+2) < 4/(A+2) <= 4/3 When A >= 2, the social optimum is achieved for minimum |E|, so it's a star. The star is also a NE, but there may be worse NE. 7. A General Upper Bound. ----------------------- Clearly, if A > n^2, the NE is a tree: a player will only build an edge if the distance is infinite; otherwise edge cost A isn't justified. In this case, the price of anarchy is trivially O(1). The following theorem gives an upper bound when A < n^2. Theorem: If A < n^2, the price of anarchy is O(\sqrt{A}). Proof. Clearly, rho = Theta( [A*|E| + \sum_{ij} d(i,j)] / [A*n + n^2] ) The numerator is the cost of constructing the graph G; the denominator expresses that any G must be connected, and each of the n^2 distances has cost at least 1. Next, note that d(i,j) < 2\sqrt{A}, for every i,j; otherwise, node i would put an edge to j and make itself closer to half the nodes that are closer to j along the shortest path from i to j. With this, the numerator becomes A*|E| + \sqrt{A}*n^2 Thus, it's enough to show that |E| is O(n^2 / \sqrt{A}). Pich any node v, and look at the edges coming out of v in G; call them e1, e2, ..., el. We will show that for every edge in G, there are Omega(\sqrt{A}) edges *not* in G; this, will give the desired bound on the cardinality of E. Let Ti be the set of nodes whose shortest path from v includes the edge ei. Now look at shortest path to one such node u \in Ti in the graph G' = G - {ei}. There are two possibilities: 1. u is unreachable in G', or 2. d'(v,u) < 2*diam(G) < 4 * \sqrt{A}. (Note that as we claimed earlier, the diamter of G is 2*\sqrt{S}. The removal of one edge ei can increase this diameter by at most twice.) If Ti and v are disconnected in G', then there are at least ( |Ti| -1) * (n - |Ti| -1) >= (|Ti| -1 + n - |Ti| -1) = n-2 = Omega(\sqrt{A}) non-edges: no vertex in Ti is connected to any vertex in the other component. On the other hand, if Ti and v are connected, then each vertex's distance can only improve by at most 4*\sqrt{A}. Since ei is stable, the total iumprovement is at least A. Therefore, it must be that |Ti| > Omega(\sqrt{A}). Therefore, each edge in G can be associated with Omega(\sqrt{A}) edges *not* present in G, implying that |E| <= O(n^2/\sqrt{A}). end. 8. Tree Conjecture. Fabrikant et al. note that in all their experiments and constructions for A > 2, all NE were trees, except a Petersens' graph, and even there the non-tree NE is transient. Conjecture: There exists a constant A0 such that for all A > A0, all non-transient NE are trees. Tree Theorem: For any tree NE, the price of anarchy is < 5. ------------------------------------------------------------------------ ANARCHY VS. STABILITY. --------------------- 1. Next, we try to go a bit beyond the Fabrikant model. The F-model can be criticized on at least three grounds: (1) cost formulation is a bit unsatisfying---cost of edge creation and network distances are quite different beasts; (2) why force the nodes to only add edges incident to themselves; (3) (most important) is the world really so non-cooperative. The model of Anshelevich et al. attempts to overcome these shortcomings. Their main point is that we need to separate lack of coordination from "stability"---if a protocol presents a solution from which none of the players wishes to deviate, then it's a stable solution. With that in mind, shouldn't the protocol attempt to find the BEST NE, rather than the worst-case NE. While it becomes a mechanism design problem---how should a protocol be designed so that it computes the best NE, for now as just ask "how good a NE" is compared to social optimum (that is possibly unstable). In order to distinguish this from price of anarchy (which measures the *worst* NE), we call it the *price of stability*. How much social benefit one must sacrifice to achieve stability in our solution? We want to get close to optimal, but due to selfish agents, are forced to choose a stable solution. We will also use a cost-sharing model to provide incentives in our setting. The mechanism will determine how much each participant must pay to use the network. 2. MODEL: A FAIR CONNECTION GAME. Directed graph G=(V,E), each edge e has a cost ce. Each player i wants to connect a set of terminals Ti. The strategy for each player is a set of edges Si subset E s.t. Si CONNECTS ALL NODES IN Ti. All users sharing an edge split up the cost of the edge EQUALLY. Given a vector of players' strategies S = (S1, S2, ..., Sk), let xe be the number of players whose strategy contains e. Then, the cost to agent i is Ci(S) = \sum_{e \in Si} (ce/xe). The goal is each agent is to connect its terminals at least cost. This equal-division mechanism is rooted in sound economic theory, and can be derived from Shapley value, and it can be shown to be unique among mechanisms satisfying a number of natural axioms. Also observe that the costs charged to users completelely pays for the total cost of creating the network. For simplicity, let's first consider the case where each node i just wants to connect a pair (si, ti)---it needs a single si-ti path, call it Si, in the network. The cost-sharing mechanism will charge user i a cost Ci(S1, S2, .., Sk): observe that this cost depends on choices of other users as well. 3. Stable Solutions. ------------------ How does this basic cost sharing mechanism influence the strategic behavior of the users? What effect does it have on the overall cost of the network creation? Given a solution to the network design problem, consisting of a vector of paths (S1, S2, ..., Sk), user i would want to deviate if there were an alternate path Si' so that: Ci(S1, .., Si-1, Si', ..., Sk) < Ci(S1, .., Si-1, Si, ..., Sk) If no user wishes to deviate, we say that the set of paths is at NE. One of the results we show is that a NE always exists!!! On the other hand, without cost sharing, there are games in which no deterministic NE exists: X1 1 X2 ------------- | a | | | 1|d b|1 | c | -------------- Y2 1 Y1 NE must be a forest; otherwise any player can get rid of an edge. So, assume that the network is (a,b,c). Player 1 has no reason to pay for c, so assume he pays only for a and b, and similarly, player 2 only contributes to b and c. Thus. edge a is fully bought by 1, and edge c is fully bought by 2. In addition, at least one of the two players must contribute a positive amount towards b. But now observe that player can defect, and instead of paying for his edge plus part of b, he can just buy d at cost 1 and remain connected. So, this is an example where pure NE does not exist. Keep this in mind as talk about stable solutions using cost-sharing. 4. A lower bound on price of stability. ------------------------------------ Consider the following example: (t)--------------------------- | / | \ | 1 1/2 1/3 1/(k-1) 1/k | / / | \ \ | (s1) (s2) (s3) .... (sk-1) (sk) | 1 + eps | \ \ | / / | 0 0 0 0 0 | \ \ | / / | | (v)-------------------------- Links are directed away from si's to wards t and v; and from v to t. The social optimal solution is for everyone to share the 1+e cost edge, and everyone pays (1+e)/k. However, this is not stable, since starting from the kth player, each will one by one switch to the cheaper path of cost 1/i. That NE solution has cost 1 + 1/2 + 1/3 + ... = Theta(log k)! Theorem: The price of stability for the network creation game with k players is Omega(log k). Somewhat surprisingly, we can show that this is as bad as it gets: every game has a (good) NE with price of stability O(log k)! The worst NE can be quite bad: consider k players with common s and t; and two parallel links of cost 1 and k. The worst-case NE for all players is to select the more expensive edge, thus paying k times the cost of the optimal network. (A single player is paying k/k on the expensive edge, and does not benefit by moving alone to the cost 1 edge.) But the cost of stability (best NE) can be bound by Hk (harmonic number). 5. THEOREM: The price of stability of the fair connection game is at most H(k). Proof. The cost of an edge e to user i is f_e(x) = ce/x, which depends on edge e and the number of users x whose strategy contains e. Let us introduce a potential function for a strategy set S: PHI(S) = \sum_{e \in E} \sum_{x=1}^xe f_e(x). That is, an edge e with xe users on it, contributes 1 + 1/2 + 1/3 + ... + 1/xe to the potential function. More importantly, if you consider the last user, he contributes exactly 1/xe, which is precisely his Shapely cost. In a sense, the last user is charged his fair cost in this potential function; all others are charged more than that. So, the potential function is an upper bound on the total cost paid by the players. A critical observation is that, given a strategy S = (S1,...,Sk), if a player i can improve his cost by switching from S to S', then his *gain* is precisely equal to PHI(S) - PHI(S'). The best way to see this is think of i as the last player added. The only change in PHI is in the last terms for each e; the sum of those costs is precisely the cost charged to i. So, the net gain of i should be exactly the drop in PHI. With this insight, we can now bound the price of stability. Consider the strategy S*, defining the optimal centralized solution. Let OPT = \sum_{e \in S*} ce be the cost of this sol, and let PHI(S) = \sum_{e \in E} \sum_{x=1}^xe f_e(x) be the Monderer-Shapley potential function. Then, PHI(S*) <= \sum_{e \in S*} [ ce * H(k) ] <= H(k)*OPT. Now, if we start from strategy S* and follow a sequence of self-improving moves. We end up at a NE S, with PHI(S) <= PHI(S*). The potential value of any solution S is at least the cost: PHI(S) >= \sum_{e \in S} ce = cost(S). Thus, there exist a NE with cost <= H(k)*OPT cost. end. By Thm 1, this is the best possible bound. COMPUTATIONAL ASIDE: Even though this theorem guarantees a cheap NE, finding one is NP-complete. * Reduction from 3D-matching. * 6. Combining Costs and Delays. --------------------------- Cost sharing allows players to use a resource without having to pay for its entire cost. This sharing however also has a downside: each player has to make room for others while using the resource. In some case, the resource may not diminish by sharing (e.g. the enjoyment one gets from watching a painting), but in many cases the "quality of service" of the resource usage will diminish. A natural way to model this phenomenon is as a *delay* function. In fact, we can make both the cost of creating an edge and the benefit of using it a function of x, the number of users on it. With this model, the total cost incurred by a user i for an edge e is f_e(x) = ce(x)/x + d_e(x) The edge cost ce is often concave (buy at bulk discount), but the latency (delay) is convex. Generalized Theorem: Consider a fair connection game with arbitrary edge cost functions f_e. Suppose PHI(S) is the potential function such that cost(S) <= A*PHI(S), and PHI(S) <= B*cost(S), for all S. Then, price of stability is at most A*B. Proof. Let S* be the strategy s.t. Si* is the set of edges i uses in the centralized optimal solution. By a series of selfish moves, we converge to a NE S' with potential at most PHI(S*). We get cost(S') <= A*PHI(S') <= A*PHI(S*) <= AB*cost(S*) = AB*OPT. end. We assume f_e(x) = ce(x)/x + d_e(x) such that d_e(x) is monotone increasing, and ce(x) is monotone increasing and concave. COROLLARRY. If x_e d_e(x_e) <= A\sum_{x=1}^x_e d_e(x), for all e and x_e, then the price of stability is at most A*H(k). In particular, if d(x) is a polynomial with deg at most m with non-neg coefficients, then price of stability is at most (m+1)*H(k). ========================================================================== Source: Inoculation strategies for victims of viruses and the sum-of-squares partition problem James Aspnes, Kevin Chang, and Aleksandr Yampolskiy Journal of Computer and System Sciences, pp. 1077-1093, 2006. --------------------------------------------------------------------- 1. A game-theoretic analysis for the problem of deciding on which machines to install anti-virus software. The Setup: Suppose we have a system of n machines, connected by a network. The network is modeled as undirected graph G = (V, E). Machines are nodes, and two machines are neighbors if there is an edge between their nodes. Contamination Model: The virus appears at a random machine. If the machine is unprotected, it infects that host, and eventually is transmitted to all its neighbors, and so on. Protection Model: There is a known anti-virus software available. It has cost of C for installing on a machine (the cost can include monetary as well as inconveience factors). Because of the cost, not everyone may be willing to install it. Harm or Damage: Suppose any machine infected suffers a loss of L; the loss, which may include cost of lost productivity, loss of data etc), is also monetized in the universal currency. Question: Suppose the virus is injected at a random machine, and then spreads through the network from there. On which machines does it make most sense to install the virus? Assumption: Both C and L are known, and the same for all hosts. 2. If C > L, (anti-virus cost exceeds the loss), no rational agent will install the software. The total loss to the network can be n*L. However, even when C <= L, not everyone will install due to strategic behavior of the players---e.g. if many others install, perhaps I don't need to! Precisely because of this strategic interaction, Game Theory appears to be an useful framework to study this problem. 3. Context and related work: a. Biological viral contamination is well-studied in epidemiology. However, the standard techinque there is to study as a population growth in terms of birth and death rates. Those studies assume a "unifrom infection" rate, while local contamination in some underlying graph model is more useful for computer networks. The infection through neighbors is a natural model. b. Security exhibits a certain network externality: benefits of using a security technology are not limited just to the user who adopts it, but to many other users in the system. So, there are economical aspects. c. The model and the setting is necessarily simple and idealized. But leads to some simple, yet interesting, insights. 4. Formal model: Players: n players, the nodes of the graph G. Initially, all nodes are insecure. Strategy Space: Strategy of player i is ai. There are only two possible actions: inoculate (install anti-virus), or do not install. We will discuss mixed strategies, so ai is the probability that i inoculates. If ai is 0 or 1, we call that a pure strategy. The strategy profile A \in [0,1]^n is the vector of all players' strategies. In any instance, the nodes that incoluate are denoted Ia. The remaining nodes are the vulnerable ones. In order to focus our attention on them, introduce the special notation Ga = G - Ia. This is called the ATTACK GRAPH; it's obtained by simply deleting all secure nodes. PICTURE of attach graph: 0----------1 0 1 | | | | | | 2 3 2 3 /| / | / | 4----5 4----5 Input graph Attack graph for A = 010100 When strategies are mixed, Ia and Ga are really random variables. Attack Model: After the nodes make their choices, the adversary picks some node uniformly at random to infect. Infection then propagates through the network. A node i is going to be infected if and only if it did not inoculate and if one of its neighbors gets infected. Individual Costs: C is the cost of inoculation; L is the cost of machine loss. Then, what is the cost of mixed strategy A to a node i: cost (i, A) = ai * C + (1 - ai)*L* pi(A), where pi(A) is the prob of node i being infected given profile A, conditioned on the fact that i wasn't inoculated. What is the prob that i is going to be infected? Well, it depends on the size of the connected component of Ga containing i. Suppose that component has ki nodes, then what is the prob that i is eventually infected? Just ki/n! (By the random choice of the adversary, he can infect n nodes, and only ki of them lead to i.) Social Cost: This is the sum of individual costs. Consider pure strategies first. Each node in a component has the same chance of being infected. If there are ki nodes in a component, the total loss for this component ki * (L ki/n) = (L/n)(ki)^2 Total social cost, therefore, is cost(A) = \sum_j cost(j, A) = C * |Ia| + (L/n) \sum_{i=1}^l (ki)^2 over components 1, 2, ..., l 5. NASH EQUILIBRIA: stable solutions. What strategies lead to equilibrium points? In practice, without any centralized coordination, one cannot imagine how the players will reach such an NE, but they are useful to study as models of idealized solutions. The nice thing about the inoculation game is that NE have a very simple characterization! Unfortunately, in terms of price of anarchy (the worst possible NE vs centralized optimal), there is only bad news. The ratio is quite large. This would suggest that purely uncoordinated solutions for this problem cannot be always expected to be nice. 6. Characterizing NE. Turns out that NE are easily characterized in terms of the size (the number of nodes) of the connected components in the attack graph. The threshold number is t = Cn/L. Interpretation: C is the cost of inoculation; L/n is the cost of randomly being picked if i is not inoculated. If your component has t nodes, then you have t/n chance of being infected, and suffering expected loss (t/n)L. When this cost exceeds C, i wants to inoculate; otherwise, not. Theorem PNE: Let C, L be the given costs of inoculation and loss, and let t = Cn/L be the threshold. A pure strategy profile A is a NE if and only if: (a) every component in Ga has size at most t, and (b) adding any secure node j to Ga yields a component of size at least t. Proof. Intuitively, (a) ensures that no un-inoculated node (a = 0) has incentive to switch. (b) ensures that no inoculated node (a = 1) has incentive to switch. end. 7. NE under Mixed Strategies. In this case, we care about the *expected size* of components. Let a[i/0] be the startegy profile a with the ith player's action replaced by 0 (do not inoculate). Correspondingly, Ga[i/0] is the attack graph in which player i does not incoculate; remaining players keep their actions in a. Theorem MNE: Let S(i) be the expected size of the insecure component containing node i in the attack graph Ga[i/0], and let t = Cn/L be the threshold. A strategy profile A is a NE if and only if: (a) for all i s.t. ai = 1, S(i) >= t; (b) for all i s.t. ai = 0, S(i) <= t; (a) for all i s.t. 0 < ai < 1, S(i) = t. Proof. Suppose we have a NE. Consider a node i; it expected cost if [ai * C + (1 - ai)*(L/n)*S(i)]. We show that conditions (a)-(c) are satisfied. Suppose ai = 0. Then, i has expected cost (L/n)*S(i). If (L/n)S(i) > C, then i would rather inoculate and just incur cost C. Thus, we must have S(i) <= Cn/L = t. Other cases are similar. Conversely, if all nodes satisfy conditions (a)-(c), then no one can gain by switching, and so it must be NE. 8. Example. In the previous figure, suppose C = 0.5 and L = 1. Then, t = Cn/L = 3. By Theorem PNE, the pure strategy A=010100 is NE. 9. How to compute a NE? Right from the start, the problem smells hard: NE requires decomposing the network into balanced components. Computing optimal mixed strategies distributively looks even worse. In order to formalize this difficulty, let us consider computing a pure strategy NE. The first result shows that computing an extremal NE (say, lowest or highest cost) is NP-hard. Thm. Computing the pure NE with lowest or highest cost are NP-hard. Proof. Recuce Vertex Cover. Consider a graph G=(V,E). Choose C/L = 1.5/n. So, t=1.5, which by Thm PNE means that in any NE, each component in the Ga has size at most 1, and any secure node is adjacent to some insecure node. It follows that in a NE, (a) every insecure node is eithe isolated or has all its neighbors secure, and (b) every secure node has an insecure neighbor. Now argue that G has a vertex cover of size k iff the inoculation game on G has a NE with k or fewer secure nodes. Equivalently, it has a NE with *social cost* at most [Ck + (n-k)L/n]. This follows because if we install anti-virus software at the nodes of the vertex cover V' then condition (a) is satisfied because V' is a VC, and (b) is satisfied because V' is minimal. end. On the other hand, a simple iterative scheme where in each round one sub-optimal node switches, keeping others' strategies fixed. A node can detect whether it is suboptimal simply by looking at the size of its component. This process converges. Thm. Starting from any pure strategy profile A, if at each step, one participant with a suboptimal strategy switches, the system converges to a pure NE in at most 2n steps. Proof. By potential argument. Let t = Cn/L. For a strategy profile A, let Sbig be the set of big components in Ga; they have size > t, and let Ssmall be the set of components of size <= t. Let PHI = \sum_{S big} |S| - \sum_{S small} |S| Clearly, -n <= PHI <= n, for any A. Suppose a node i switches from a=0 to a=1. It was clearly part of a big set of size m > t. As i drops out of Ga, this component becomes one or more smaller components with total size <= m-1. Clearly, PHI reduces in this case, by at least 1. (If some even become small, then the decrease is even larger.) Next, suppose i switches from a=1 to a=0. Whichever component i is part of must be small, and because of i its size grows by one, so PHI decreases by 1. In each step, PHI reduces by 1, and must converge to NE in 2n steps. end. COROLLARY. For the inoculation game, a pure NE always exists. 10. PRICE of ANARCHY. Price of anarchy = worst-case NE / social optimal (centralized) Notation price of anarchy = rho(G, C, L). A measure of how bad a stable solution can be, compared to an coordinated, socially optimal solution (which does not have to be stable). LOWER BOUND: Consider the star graph K(1,n), and suppose C = L(n-1)/n. (That is, the C and L are nearly equal.) Then, rho(G,C,L) = n/2. Proof. Installing anti-virus at any one node is a NE; the largest remaining component has size n-1. If we inoculate a non-center node, then the social cost is: C + L(n-1)^2/n = (n-1)L/n + L(n-1)^2/n = L(n-1). On the other hand, the optimal inoculates the center, which has cost C + L(n-1)/n = 2L(n-1)/n. The ratio between the two is n/2. end. This is asymptotically tight, because: UPPER BOUND: For any inoculation game, rho(G,C,L) <= n. Proof. If C>L, no node in a NE inoculates itself. There is only one NE (A = 0000...0), with social cost nL. If the optimal has at least one secure node then cost(A) >= C > L. (Otherwise, optimal is same as NE.) In any case, rho <= Ln/L = n. If C <= L, then the expected cost of worst-case NE is Cn (expected worst-case to any node cannot exceed C; otherwise it will inoculate itself). If the optimal has at least one secure node, it has cost >= C, and so again rho <= Cn/C = n. end. =====================================================================