Networked public goods games model scenarios in which self-interested agents decide whether or how much to invest in an action that benefits not only themselves, but also their network neighbors. Examples include vaccination, security investment, and crime reporting. While every agent’s utility is increasing in their neighbors’ joint investment, the specific form can vary widely depending on the scenario. A principal, such as a policymaker, may wish to induce large investment from the agents. Besides direct incentives, an important lever here is the network structure itself: by adding and removing edges, for example, through community meetings, the principal can change the nature of the utility functions, resulting in different, and perhaps socially preferable, equilibrium outcomes. We initiate an algorithmic study of targeted network modifications with the goal of inducing equilibria of a particular form. We study this question for a variety of equilibrium forms (induce all agents to invest, at least a given set , exactly a given set , at least agents), and for a variety of utility functions. While we show that the problem is NP-complete for a number of these scenarios, we exhibit a broad array of scenarios in which the problem can be solved in polynomial time by non-trivial reductions to (minimum-cost) matching problems.


ifaamas \acmDOIdoi \acmISBN \acmConference[AAMAS’20]Proc. of the 19th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2020), B. An, N. Yorke-Smith, A. El Fallah Seghrouchni, G. Sukthankar (eds.)May 2020Auckland, New Zealand \acmYear2020 \copyrightyear2020 \acmPrice plus 0.3ex \addauthor[David]dkred \addauthor[Eugene]yvblue \addauthor[Sixie]symygreen Network Structure Modification for Networked Public Goods Games]Inducing Equilibria in Networked Public Goods Games through Network Structure Modification \affiliation \institutionUniversity of Southern California \affiliation \institutionWashington University in St. Louis \affiliation \institutionWashington University in St. Louis

1 Introduction

Groups of individuals often encounter the following type of scenario. Each member of the group can decide whether or how much effort (or money) to invest for the common good; everyone in the group (including the individual) profits from all members’ efforts, but the individual incurs a cost for the investment. Examples of such scenarios include decisions whether or not to vaccinate, report crime in a neighborhood, invest in security, chip in on department committee work, keep one’s yard representable or sidewalk shoveled, or purchase a tool that one’s friends or neighbors can share.

These and many other scenarios are modeled by public goods games ?; ?. In many applications, including most of the ones listed above, the benefits of an individual’s effort are not reaped by all group members, but only by those with whom the individual interacts. This naturally motivates the definition of networked public goods games ?; ?; ?, in which a (given, known) network captures which individuals will benefit from which other individuals’ efforts.

In networked public goods games, an agent’s utility depends on (1) her1 own investment decision, which incurs some cost (in terms of money, time, effort, or risk), and (2) the aggregate investment by the agent and her neighbors in the network. (Precise definitions of all concepts are given in Section 2.) While the agent’s utility is always non-decreasing in the neighbors’ joint investment, the specific functional form can vary widely. For example, it may suffice to have a single friend with a useful tool, but lowering crime rates in a neighborhood may require broad participation in crime reporting.

For practically all public goods scenarios, the equilibria involve significant underinvestment. That is, significantly fewer agents expend effort than would lead to a socially optimal outcome, a phenomenon closely related to the so-called “Tragedy of the Commons” and the “Bystander Effect.” This kind of underinvestment is not only predicted by theory, but typically observed in practice as well. When the equilibrium outcomes are socially undesirable, a principal, such as a policymaker, may be interested in changing the parameters of the game so as to induce equilibrium outcomes that are better aligned with the social interest. A natural and traditional approach is to change the cost structure, by rewarding investment (decreasing investment costs) or punishing failure to invest (increasing the cost of non-investment). For many of the scenarios listed above, monetary fines, other types of penalties, or social pressure implement such rewards or punishments. Generally, the design of cost or reward structures and rules of encounter is at the heart of work in mechanism and market design Nisan et al. (2007).

In graphical games, such as the networked public goods game, however, there is an additional important parameter that may be subject to modification: the network structure itself. For example, to facilitate crime prevention, the principal may organize community meetings in particular neighborhoods, increasing the density of the social network among the community members. The principal may also add individual links, for example, by introducing individuals to one another, or weaken relationships (remove links) by adding hurdles to specific interactions (e.g., if the public goods game represents strategic interactions in a criminal organization, and law enforcement chooses which relationships to monitor).

We initiate an algorithmic study of targeted network structure modifications in networked public goods games with binary actions, with the goal of inducing pure strategy Nash equilibria (PSNE) with desirable properties. We will consider a principal who is aiming for “high investment.” Each edge has a cost for addition/removal, and to induce a desirable equilibrium of the game, the principal can add/remove edges from the network, subject to an upper bound on the total cost.

Naturally, there are different concrete ways of capturing the goal of “high investment,” and we consider the following four natural candidate properties which the target equilibrium should satisfy: (1) all agents invest, (2) exactly a given subset of agents invest, (3) at least the agents in a given subset invest, and (4) at least agents invest. We study each of these objectives for games with a variety of utility functions, ranging from general monotone functions to generalized sigmoid functions, as well as convex and concave functions. While we show (in Section 3) that the problem is NP-complete for several of these scenarios, we exhibit (in Section 4) a broad array of settings in which it can be solved in polynomial time by non-trivial reductions to minimum-cost matching problems. The full summary of our main results is presented in Table 1.

general hard hard hard hard
sigmoid poly poly hard hard
convex poly poly hard hard
concave poly poly hard hard
Table 1: An overview of our results.

For all entries of the table marked “poly,” our algorithms handle fully general edge cost structures. On the other hand, all of the hardness proofs apply already in very restrictive cases, allowing only one of addition and removal, and either allowing unlimited changes of the allowed type, or simply restricting the total number of added/removed edges.

Related Work: Our work is conceptually connected to three broad threads in the literature: graphical games, mechanism and market design, and network design. Graphical models of games capture various forms of structure in the players’ utility functions which limit the scope of utility dependence on other players’ actions Shoham and Leyton-Brown (2009). An important class of these are graphical games, where a player’s utility only depends on the actions of her network neighbors Kearns et al. (2001). Networked public goods games are one important example of graphical games, with utilities only depending on the investment choices by a player’s network neighbors ?; Galeotti et al. (2010); Levit et al. (2018). ? ? studied the effects of network structure modification on a public goods game. Our results, however, are novel in several respects. First, they assumed that only a single edge is added to the underlying network and studied how the addition affects welfare. In contrast, we consider addition and deletion of sets of edges, and focus on the algorithmic aspects of the problem. Moreover, ? only consider strictly concave utility functions, whereas we study convex, concave, and general sigmoid utility functions (detailed definitions are in Section 2). Galeotti et al. Galeotti et al. (2010) also considered the effects of modifying the underlying network of a public goods game on equilibrium behavior and welfare. However, their analysis is restricted to convex or concave utilities which are degree symmetric (i.e., if two nodes have the same degree, they must have the same utility function), involves incomplete information of players about the network, and does not consider the associated algorithmic problem. In contrast, we focus on algorithmic questions and allow heterogeneous utilities. Yu et al. Yu et al. (2020) studied algorithmic aspects of binary public goods games They showed that in general, checking the existence of a pure-strategy Nash equilibrim is NP-complete, and also identified tractable cases based on restrictions of either the utility functions or the underlying network structure. They proposed a heuristic to compute approximate equilibria in general games. However, they did not consider modifying the network structure to induce certain Nash equilibria. Grossklags et al. Grossklags et al. (2008) studied how economic agents invest in security through the lens of public goods games. The value of the public goods is the overall protection level. Each agent has two options: investing in self-protection, or investing in self-insurance. The former affects the overall protection level, as well as the loss incurred by the agent, while the latter only affects the agent’s own loss. They analyzed the Nash equilibria under five economic settings, which characterize different threat models.

Mechanism and market design (e.g., Nisan et al. (2007)) also aim to change the parameters of a game to induce equilibrium outcomes favored by a principal. However, the specific ways in which the game’s parameters are changed are vastly different; key approaches include the design of market structure, such as matching market mechanisms Haeringer (2018), payments, as in traditional mechanism design Nisan et al. (2007), or the structure of information available to the players ?.

Anoter relevant line of research is network design. An interesting subclass is network design with fair cost-sharing Anshelevich et al. (2008). Network design has also been applied to model security applications. Hota and Sundaram Hota and Sundaram (2016) focused on designing an optimal network topology that minimizes the expected fraction of attacked nodes, where the probability of a node being attacked is a function of its security investment as well as the investments by its neighbors.

The idea of altering a (social) network in order to induce certain outcomes is present in a number of recent works, for a variety of different outcomes. Sheldon et al. Sheldon et al. (2010) aim to modify the network so as to maximize the spread of cascades, while ?; ?; ? aim to alter the spectral gap of the network to make it more or less connected. Along similar lines, Bredereck and Elkind Bredereck and Elkind (2017) considered the converging state of simple information diffusion dynamics, with a specific focus on how the removal of edges can be used to manipulate the majority opinion in such outcomes. Similar ideas arise in a recent line of work (e.g., Sina et al. (2015); Matteo Castiglioni (2020) and the references therein) studying how the outcome of an election can be manipulated by altering network structures. In a sense, the converse problem is studied by Amelkin and Singh Amelkin and Singh (2019), who aim to reduce opinion control by recommending (i.e., adding) links to social network users. Similar ideas are present in the work of ? ?, who aim to decrease opinion polarization by connecting pairs of individuals with differing opinions. Sless et al. Sless et al. (2014) investigated the problem of coalition formation through adding links to the underlying social network. All of these works share the high-level goal of inducing (socially) preferable equilibrium behavior, but the specific optimization goals, and with them the algorithmic approaches, are vastly different.

An analysis of connections between equilibrium outcomes of games and network structure was carried out by ? ?. They found that the smallest eigenvalue of the network’s adjacency matrix is a key quantity for equilibria; recall that spectral properties also play a role in several of the other related papers discussed above. ? also considered the effects of network structure modification; in particular, they investigated how the addition of edges affects , which in turn provides a qualitative understanding of the effects of edge additions on equilibria. However, they did not investigate the algorithmic issues involved. Milchtaich Milchtaich (2015) studied equilibrium existence as a function of network topology in weighted network congestion games.

2 Model

2.1 Binary Networked Public Goods Game

A binary networked public goods (BNPG) game is characterized by the following:

  1. A simple, undirected and loop-free graph whose nodes are the agents/players, and whose edges represent the interdependencies among the players’ payoffs.

  2. A binary strategy space for each player . Choosing strategy 1 corresponds to investing in a public good, while choosing 0 captures non-investment. We use to denote the action chosen by player , and for the joint pure strategy profile of all players.

  3. For each player , a non-decreasing utility function .

As is standard in the literature on networked public goods ?, we assume that each player’s utility depends only on (1) her own investment (for which she incurs a cost), and (2) the joint investment of herself and her neighbors in the network, which provides her with a positive externality. Formally, we capture this as follows. Let be the set of neighbors of in the graph ; then, we can define to be the number of ’s neighbors who invest under . When are clear from the context, we will omit them from this notation. We assume that each player ’s utility function is of the following form:


The second term () simply captures the cost that incurs from investing herself. Each is a non-negative and non-decreasing function (a standard assumption in the public goods games literature), capturing the positive externality that experiences from her neighbors’ (and her own) investments. In many scenarios, will have additional properties, such as being concave or convex, and we discuss such properties in Section 2.3. Observe that each function can be represented using values, so the entire BNPG game (including the graph structure) can be represented using values.

We are interested in inducing particular pure strategy Nash Equilibria of the game by modifying the network structure. Pure strategy Nash Equilibria are defined as follows:

Definition \thetheorem

In a BNPG game, a pure strategy Nash Equilibrium (PSNE) is an action profile satisfying , or and , for every player . Thus, we are assuming that each player in equilibrium always breaks ties in favor of investing.

A given BNPG game may have multiple equilibria. We will be interested in modifying the graph to ensure that at least one element of a given set is a PSNE. For notational convenience, we interpret both as a set of strategy vectors and as the subset of investing players , whichever is notationally more convenient. We are interested in the following classes of PSNE:


Every player invests, i.e., .


Exactly a given set of players invests (and the other players do not), i.e., . All players investing is the special case .


At least the set of players invests; other players may also invest. Here, .


At least players invest. Here, .

In general, even without the ability to modify , deciding if a BNPG has an equilibrium in is NP-hard. This can be seen most directly with the following example (see also Section 3.2 of ?): Each cost is , and each if , and . Then, the PSNE are exactly the strategy profiles in which independent sets of invest. Therefore, if is the set of all profiles in which at least players invest (for given ), the problem of deciding if the game has a PSNE in is equivalent to the Independent Set problem.

2.2 Network Modifications

The main modeling contribution of our work is to assume that a principal can modify the network (subject to a budget) with the goal of inducing equilibria from a class . Formally, an input graph on the agents is given. Each node pair has an associated cost . When , this is the cost for removing the edge from , while for , it is the cost for adding the edge to . When the principal produces a graph , the cost of doing so is . The principal is given a budget not to be exceeded. The goal is to solve the following problem:

Definition \thetheorem (Network Design for BNPG)

Given a BNPG instance, edge costs , desired PSNE class , and budget , find an edge set with such that the BNPG game on has at least one PSNE in .

The general costs admit many natural special cases: by setting for (or for ), we can prohibit the removal (or addition) of edges. By setting , we can allow unlimited removal (or addition) of edges. And by setting , we can simply restrict the number of edges removed/added.

2.3 Utility Functions and Induced Degrees

In the fully general version of the model, the can be arbitrary non-decreasing functions. We will show that at this level of generality, the Network Design problem is NP-hard for all four classes of PSNE we consider (Theorem 3). In most scenarios, will have additional properties. Among the most common of these are:


When is concave, the returns for additional investments of neighbors are diminishing. The incentive structures in binary best-shot games Galeotti et al. (2010) can be captured by concave .


When is convex, the returns for additional investments of neighbors are increasing.


For many natural scenarios, such as the adoption of innovations Zhang et al. (2016), the are neither concave nor convex on their entire domain. Instead, begins convex, with increasing returns to more investors, but eventually reaches saturation and diminishing returns.

We call such a function a (generalized) sigmoid function2 if there exists some such that is convex on and concave on . Note that sigmoid functions subsume both concave functions (with ) and convex functions (with ).

The first useful observation is that we can capture all the relevant information about an agent ’s utility function using the set of numbers of investing neighbors that would make invest. We call such sets investment degree sets, and denote them by . When is convex/concave/sigmoid, the investment degree sets have particularly nice forms, captured by the following lemma:

Lemma \thetheorem

For every non-decreasing function and cost , there exists a unique set such that is a best response to if and only if . Furthermore,

  1. When is concave, is a downward-closed interval.

  2. When is convex, is an upward-closed interval.

  3. When is sigmoid, is an interval.

Conversely, for every set , there exists a non-decreasing function and cost such that is a best response to if and only if . Furthermore,

  1. When is a downward-closed interval, there exists such a which is concave.

  2. When is an upward-closed interval, there exists such a which is convex.

  3. When is an interval, there exists such a which is sigmoid.


We write for the discrete derivative. By definition of best responses (recall our tie breaking rule), a player invests if and only if , which is equivalent to


Thus, letting , we obtain that is the best response to iff , proving the first claim. We now consider the three special cases:

  1. When is concave, is non-increasing. Therefore, whenever , we also have , meaning that is downward closed.

  2. When is convex, is non-decreasing. The rest of the argument is exactly as for the concave case.

  3. When is sigmoid, is non-decreasing on and non-increasing on , with the maximum attained at . Therefore, is an interval.

For the converse, given a set , define a discrete derivative of if , and if . Normalizing with , and setting , player will invest iff . If is an interval, then will start out as the constant 0, have slope 2 over the interval, and then become flat at the end of the interval. Thus, is a sigmoid. If the interval is downward-closed, then the function is concave; if it is upward-closed, the function is convex.

The characterization of Lemma 2.3 makes precise our intuition behind considering concave/convex . It shows that when is concave, then the fewer neighbors invest, the more is prone to invest. On the other hand, when is convex, then the more neighbors invest, the more is prone to invest. The primary benefit of Lemma 2.3 is that the Network Design problem can now be considered solely in terms of and induced numbers of investing neighbors, rather than utility functions, simplifying the arguments below.

Definition \thetheorem (Network Design for Degree Sets (NDDS))

The problem is defined as follows: Given a graph , investment degree sets for all players consistent with a function property (such as convexity, concavity, sigmoid, or general), edge costs , desired PSNE class , and budget , find an edge set with such that there exists a set of investing players with

Here, is the modified graph.

Because the investment degree sets can be efficiently constructed from the and and vice versa, an algorithmic solution or a hardness result for the problem immediately yields the same result for the corresponding Network Design problem from Definition 2.2, and vice versa.

3 Hardness Results

In this section, we prove the hardness results from Table 1. Hardness arises in different ways for different cases, and we treat them separately. For all versions, the problem is obviously in NP: a set of investing agents forms a polynomial-sized witness, and it is easy to verify that (1) for each agent in , investing is a best response, and (2) .

When the goal is to get at least agents to invest, NP-hardness follows from the discussion in Section 2.1. Even when all edge costs , i.e., the principal cannot add or remove any edges, it is NP-hard to decide whether the BNPG has an equilibrium in which at least agents invest.

When the goal is to get a superset of a given set of agents to invest, it is NP-hard to decide whether a suitable equilibrium exists. Since concave functions are a special case of sigmoid functions, this result implies the hardness result for sigmoid functions as well.


is NP-hard.


The reduction is from Independent Set. Given a graph and an integer , the problem is to decide if contains an independent set of size (at least) , i.e., a set such that no pair in is connected by an edge. For the reduction, we add two nodes . has an edge to as well as to all nodes in ; no other edges are added to . The degree sets are for all , , and . We set all edge addition/removal costs to .

If has an independent set of size at least (without loss of generality, is inclusion-wise maximal), then setting gives us a superset of . No has a neighbor in , so all of them invest. Each has at least one neighbor in , so none of them invest. Finally, has at least neighbors in , so does not invest.

Conversely, if a superset invests, then . Therefore, must have at least neighbors in ; in particular, has at least neighbors in . Because all of those neighbors are in , their degrees within must be , so they must form an independent set of size at least . This completes the proof of NP-hardness.

For fully general functions , we show that even the “easiest” goal — getting all agents to invest — is NP-hard. This immediately implies NP-hardness of the other cases (getting exactly or at least a subset or at least agents to invest), since their special cases or are hard.


is NP-hard.


We prove NP-hardness by a reduction from the Vertex Cover (VC) problem. In an instance of VC, we are given a graph and a positive integer , and asked if has a vertex cover of size at most , i.e., a subset of at most nodes such that each edge has at least one endpoint in . From , we construct an instance of , consisting of a graph , investment degree sets for each node , costs for edge addition/removal, and a budget .

The set of nodes consists of , one vertex for each edge , and one additional vertex . The edges are as follows:

  • is connected to all nodes in .

  • There is an edge between and if and only if is an endpoint of in .

Let be the degree of in . We define the investment degree sets for the agents as follows:

  • For every , we let .

  • For every , we let .

  • .

Finally, we set the costs for , and for . The budget is (or really any non-negative number). Thus, the principal can remove as many edges as he wants, but cannot add any edges. This completes the reduction, which obviously runs in polynomial time.

First, assume that has a vertex cover of size at most . We show that there is a way to remove edges from such that each player ’s degree ends up in . Let be the vertex cover of . Let be the set of all edges not incident on . Then, is only incident on edges whose other endpoint is in , so it has degree at most . Each node has all its edges removed, so its degree is . Each node is connected to nodes corresponding to the edges incident on in , plus its one edge to , so its degree is . Finally, because is a vertex cover, each node is incident on at least one node , so its degree is or . Thus, we have shown that each node has degree in .

For the converse direction, assume that there is a set of edges such that in , each node has degree in . Let be the set of vertices whose edge to is kept. Because the degree of is in , we get that . For each node , at least the edge to was removed, so its degree cannot be . Therefore, its degree must be 0, so cannot contain any edges incident on any . For each node , at least the edge to was retained, so its degree cannot be 0. Therefore, its degree must be , so must contain all edges incident on all . Finally, because each node has degree in in , each must have a neighbor in . In other words, each edge has at least one endpoint in . This proves that is a vertex cover of .

Finally, we show that is NP-hard. In contrast with the proof of Theorem 3, the hardness result for convex functions has to use edge costs other than 0 and . The reason is that for convex sets, higher degrees are always preferable. Consequently, a principal will never remove edges (even if they are free to remove). On the other hand, if edge additions are free, the principal’s optimal strategy is clearly to make the complete graph. Either this will induce all nodes in to invest, or no graph will.


The problem is NP-hard, even when for all , and for all .


We prove NP-hardness by a reduction from the -Clique problem. In an instance of -Clique, we are given a graph and a positive integer , and asked if has a clique of size at least , i.e., a subset of at least nodes such that for all . From , we construct an instance of , consisting of a graph , investment degree sets for each node , costs for edge addition/removal, and a budget .

The graph consists of , with a node-disjoint clique on nodes added. We call the set of new nodes , and write . Thus, the new graph has nodes. The investment degree of every node is . The cost of adding any non-existing edge is , and the cost for removing any existing edge is . The budget is . Notice that the by Lemma 2.3 indeed correspond to convex functions . Finally, the goal is to get a superset of to invest.

First, assume that has a clique of nodes. Let consist of all edges of , plus a complete bipartite graph between and . This added bipartite graph contains edges, so it satisfies the budget constraint. It is now immediate that each node in has degree at least . The nodes in have degree at most . As a result, setting satisfies Definition 2.3.

Conversely, let be a set of edges with , and a set of vertices such that in the graph , each node has at least neighbors in , and each node has at most neighbors in . First, because each node started out with degree and has at least neighbors in , must contain at least incident edges for each such . And because already contained a clique on , these edges must be between and , so none of them are incident on two nodes of . Therefore, contains exactly incident edges on each .

Let be the set of neighbors of in . First, , because each node is adjacent to nodes in . Next, we claim that . First, all nodes in must be in . The reason is that each has degree exactly , so if even one of its neighbors were not in , it couldn’t have the required neighbors in . Second, no node in can be in , because its degree is at most .

For every node , let be the number of neighbors of in in the graph . Because , we can lower-bound . On the other hand, , and because the minimum is at most the average, we get that . Rearranging this inequality gives us that . The left-hand side is a strictly concave function of , and therefore attains its minimum at one of its endpoints . At , the inequality holds with equality, while at , it is violated. Therefore, is the only feasible solution of the inequality. Because each only has neighbors in , and none of its neighbors in are in , each must have neighbors in . In other words, is a clique of size in .

4 Tractable Cases

In this section, we give polynomial-time algorithms for the corresponding cases in Table 1. At the core of our algorithms lies a construction for the problem, which is based on a reduction to the Minimum-Cost Perfect Matching problem. This reduction is a significant generalization of Tutte’s reduction for finding a subgraph with a given degree sequence. The Perfect Matching problem is polynomial-time solvable by utilizing the Blossom Algorithm proposed by Edmonds Edmonds (1965). The remaining cases are either special cases of , or can be reduced to fairly directly.

4.1 Tractability of

Figure 1: Example to illustrate our generalized construction. Left: An example graph where = 2, =, and ; Right: the subgraph associated with .

Consider an instance of , consisting of a graph , investment degree sets , costs for edge addition/removal, and a budget . The principal wants to modify to (at total cost at most ), such that all agents invest in a PSNE of the corresponding game. We construct an instance of the weighted perfect matching problem on a graph and show that the principal has a graph modification of cost at most available iff has a perfect matching of total cost at most . Our construction generalizes Tutte Tutte (1954). We begin by describing Tutte’s construction, and then present our generalization.

Tutte’s reduction applies to the special case when edges can only be removed, and furthermore, each investment degree set is a singleton, called the desired degree of . Each node must have exactly of its edges removed. To encode this, Tutte’s construction adds a node set of nodes . Furthermore, it adds two nodes , for every edge . These two nodes are connected to each other, and to all nodes in their respective sets , . It is clear that the construction takes polynomial time. Any perfect matching has to match all of the nodes in each , capturing exactly the edges incident on to be deleted. Because for each edge , both and must be matched, either they are matched to each other (encoding that the edge is not deleted), or they must both be matched with nodes from the corresponding and sets. It is now straightforward that the new graph has a perfect matching iff the desired degree sequence can be obtained by edge removals. Edge removal costs can be assigned to the edges between and the .

Because the addition of edges corresponds to the removal of edges in the complement graph, a practically identical construction can be used directly if the goal is only to add, rather than remove edges. However, in , the principal can both add and remove edges. Furthermore, the investment degree sets can be intervals containing multiple values. This necessitates significant extensions to Tutte’s construction.

We now describe our generalized construction, where a graph is constructed from . For every agent , the degree in is , and the degree set is , where (resp., ) is the minimum (resp., maximum) of . If any set is empty, then the instance clearly has no solution, and this is easy to diagnose. From now on, we assume that for all . At the core of the construction is the union of the Tutte construction for both additions and removals of edges. Thus, for each edge (a candidate for removal), we add two nodes and with an edge between them; similarly for each node pair (a candidate for addition), we add two nodes and with an edge between them.

Next, we describe the node gadget for a node . An illustrative example is shown in Figure 1. We add a set of nodes (blue nodes in Figure 1), corresponding to additions of edges, and a set of nodes (green nodes in Figure 1), corresponding to edge removals. These are hard upper bounds on the number of possible edge additions/removals: for , the first term arises because even if all existing edges were deleted, no more than new edges can be safely added; the second term is because there are only potential edges for addition. The justification is similar for . As in Tutte’s construction, we add an edge between each node and each . Similarly, we add an edge between each node and each . Finally, we add a complete bipartite graph between and .

As in Tutte’s construction, including an edge between and in a matching corresponds to adding the edge (increasing the degree of ), and including the edge corresponds to removing the edge , decreasing the degree of . Because no other edges are incident on , , for any edge , either is matched with , or both are matched with nodes from (resp., ); similarly for the nodes. The complete bipartite graph between and allows us to encode that adding one fewer edge and removing one fewer edge has the same effect on ’s degree as adding and removing one more edge.

We now expand the gadget to encode the set . The intuition for the generalized gadget is the following: if nodes in are matched with nodes , and nodes in are matched with nodes , then the new degree of is . We want to force this number to be in for every perfect matching. If we let and be the number of nodes in , that are matched differently (i.e., not with , ), then the necessary/sufficient condition can be expressed as . Furthermore, notice that our gadget will only need to work if at least one of is 0, since the complete bipartite graph between , can always be used to ensure this condition.

Let . A case distinction on the possible cases of the minimum in the definitions of , shows that we always have . Therefore, . We generate two more node sets , . consists of nodes , and consists of nodes . There is a complete bipartite graph between and , as well as between and . In addition, there is a complete graph on the union of all of the and , for all . If the total number of nodes in the construction is odd, then we add one more node and connect it to all nodes in all of the and . The , are there to match any otherwise unmatched nodes , . Whichever ones of them are not needed can be matched with each other and with .

Finally, for every edge , we assign a cost of to the edges and (for all ); similarly, for every edge , we assign a cost of to the edges and (for all ). All other edges have cost 0. The cost bound for the perfect matching is the given budget . The correctness of this reduction is captured by the following theorem:


The graph has a perfect matching of total cost at most if and only if there is an edge modification of the input graph such that in , the degrees of all nodes are in their respective investment sets .


First, we assume that there is an edge set such that , and in the graph , every node has degree . We define a perfect matching in .

For edges , the matching includes the edge ; similarly, for edges , it contains the edge .

Now focus on one node . Let , be the numbers of edges that were added to (resp., removed from) , i.e., the numbers of edges incident on in and . Let be an enumeration of the added edges (in arbitrary order), and an enumeration of the removed edges in arbitrary order. For each , the matching includes the edge ; similarly, for each , includes the edge . Doing this for all ensures that all nodes , are matched, and the total cost of all edges is exactly . This cost will not change by the inclusion of later edges, since they all have cost 0.

Next, let . Notice that , because our definition of , ensured that no edge set with could add/remove more than (resp., ) edges. We next add a perfect matching of edges for . At this point, at least one of the sets , is completely matched. For the remaining description, assume that is fully matched — the other case is symmetric. Now, there are

unmatched nodes in . Because , it must satisfy ; therefore, because contains nodes, it has enough nodes to perfectly match the remaining nodes of — we add such a perfect matching. Finally, we add a perfect matching on the unmatched nodes of all , (and ) — this is possible, because contains a complete graph on these nodes, the total number of nodes in is even, and the number of nodes matched so far is (by definition of a matching) even. Thus, we have shown that contains a perfect matching of the desired cost.

For the converse direction, we assume that contains a perfect matching of cost at most . Define edge sets and