Inequity Aversion Pricing over Social Networks: Approximation Algorithms and Hardness Results

We study a revenue maximization problem in the context of social networks. Namely, we consider a model introduced by Alon, Mansour, and Tennenholtz (EC 2013) that captures inequity aversion, i.e., prices offered to neighboring vertices should not be significantly different. We first provide approximation algorithms for a natural class of instances, referred to as the class of single-value revenue functions. Our results improve on the current state of the art, especially when the number of distinct prices is small. This applies, for example, to settings where the seller will only consider a fixed number of discount types or special offers. We then resolve one of the open questions posed in Alon et al., by establishing APX-hardness for the problem. Surprisingly, we further show that the problem is NP-complete even when the price differences are allowed to be large, or even when the number of allowed distinct prices is as small as three. Finally, we provide some extensions of the model, regarding either the allowed set of prices or the demand type of the clients.


Introduction
We study a differential pricing optimization problem in the presence of network effects. Differential pricing is very common in practice and refers to offering different prices to different potential customers for the same service or good. Examples include offering cheaper prices when launching a new product, making special offers to gold and silver members of an airline miles program, and offering discounts at stores during selected periods.
Imagine a network connecting individuals-who are seen as potential clients herewith their friends, family, colleagues or other people who can exert some influence on them. Of course, one may also have in mind other forms of abstract networks, e.g., a node could represent a geographic region, a neighborhood within a city, a type of profession, a social class, and edges can represent interactions or proximity. The presence of such a network creates externality effects, meaning that the decision of a node to acquire a new product or a new service is affected by the fact that some other nodes within her social circle (i.e., her neighborhood in the graph) already did so. A typical example of positive externalities is when someone becomes more likely to buy a new product due to the positive reviews by a friend who already bought it in the past. Modeling positive externalities has led to a series of works that study marketing strategies for maximizing the diffusion of a new product [12,22] or the total revenue achieved [21]; see also the Related Work section.
However, there also exist negative externality effects that can arise in a network. One example is the purchase of products with the intention to show off and be a locally unique owner, e.g., a new expensive car model or designer clothes (also referred to as invidious consumption [8]). In such a case, a node may be deterred from buying the same product, if a neighboring node already did so. A second example of negative externalities, which arises from differential pricing and is the focus of this work, is inequity aversion [7,13]. The idea behind inequity aversion is that a customer may be discontent if she realizes that other people within her social circle were offered a better deal for the same service. Hence, significant price differences can create a negative response by some customers towards the target product. Inequity aversion can also arise under a different, but equally applicable, interpretation: nodes may correspond to retail stores and an edge can signify proximity, so that clients could choose among these stores. Again, having significantly different prices to the same products is often not desirable.
To capture the need for avoiding such phenomena, the work of Alon, Mansour, and Tennenholtz [2] introduced a model for pricing nodes over a social network. The main idea is to impose constraints on each edge, specifying that the price difference between two neighbors should be bounded by some endogenous parameter determined by the two neighbors. On top of this, the seller is also allowed to not make a price offer to some nodes (referred to as introducing discontinuities, see the definition in Section 2), in which case the difference constraints do not apply for the edges incident to these nodes.
The notion of discontinuities can also be interpreted as follows: Suppose we had no discontinuities but at the same time we were allowed to make offers that violate the price constraints along some edges. In that case, consider a node v affected by such a violation, i.e., a node who has been offered a price she considers to be too high given the prices offered to her neighbors. As v would feel envious of some neighbor, she would choose not to buy the product. Hence, the seller does not hope to extract any revenue from 2 nodes like v. This is equivalent to just setting a discontinuity on v and only caring for the edge constraints not involving v. For convenience, we will stick to the terminology of [2], with allowing discontinuities, rather than making price offers that violate the constraints. Occasionally, in related works, e.g., [6], the equivalent notion of buyer preselection is used instead. That is, the seller has the freedom to first remove a subset of potential buyers (these are the nodes where the discontinuities would be introduced here) and then solve the pricing problem without discontinuities on the remaining network. Assuming a finite set of available prices, unit-demand users, and digital goods (i.e., the supply can cover all the demand) the problem is to find a feasible price vector that satisfies the edge constraints and maximizes the total revenue. For general revenue functions the problem was shown to be NP-complete by Alon et al. [2], and exact or approximation algorithms were derived for some special cases. However, several questions remained open regarding the approximability status of the problem.
Contribution. We revisit the model introduced by Alon et al. [2] (namely Model II in their work, which is the most general therein) and study the approximability of the underlying revenue maximization problem. In fact, we generalize the model to allow prices from a set of k arbitrary integers, rather than using price sets of the form {1, 2, . . . , k} as done in [2]. Essentially all our positive results hold for this general model. We focus on the natural class of the so-called single-value revenue functions. Simply put, this means that the revenue extracted by each node is exactly the price offered to her, as long as the price does not exceed her valuation for the product (i.e., the usual assumption made in almost all other pricing problems as well).
We start in Section 4 with exact algorithms, and we completely resolve the case of two distinct prices by showing that there is a polynomial-time exact algorithm (Theorem 4.1). As exhibited later by the results of Section 6, this is the only case where we can have an efficient exact algorithm. We therefore continue in Section 5 with designing approximation algorithms. We first provide an improved approximation algorithm for the case where the price set is {1, 2, . . . , k} (Theorem 5.1). Then, in Section 5.2, we extend these results to arbitrary price sets (Theorem 5.3). The improvement we get is stronger when the number of distinct prices is small. This applies, for example, to many settings where the seller will only consider a fixed number of discount types or special offers to selected customers. As the number of customers and the number of available prices both become large, the performance of our algorithms degrades to a logarithmic approximation.
Regarding the problem's complexity, we resolve one of the main open questions posed in [2] about single-value revenue functions. We establish APX-hardness for this case (Theorem 6.7), and we further show that the problem remains hard even for cases that could be thought easier to handle. In particular, it is NP-complete even when the price differences are allowed to be almost as large as the maximum price (Theorem 6.1), or when we only have three prices allowed (Theorem 6.11). The latter strikes a contrast to the polynomial-time solvable case of two distinct prices.
Finally, in Section 7, we consider the generalization of the problem to a multi-unit demand setting. Surprisingly, we show that all positive results from the single-unit setting hold here, as long as the demands are polynomially bounded (Theorem 7.1). Remark 1.1. In comparison to the preliminary conference version of this work [3], there are two main additional contributions which resolve the problem's complexity for a small number of prices, namely Theorems 4.1 and 6.11. That is, the NP-hardness for three prices 3 (previously left as an open question) and the polynomial-time algorithm for two prices (previously we provided a 0.8-approximation algorithm for this case). This algorithm is then used as a subroutine to improve the approximation ratio for general price sets in Section 5.2. Additionally, here we include proofs omitted from the conference version. In particular, we provide a full proof of the APX-hardness for single-value revenue functions.
Related Work. Price discrimination is well studied in various domains in economics and is also being applied to numerous real life scenarios. The algorithmic problem of differential pricing over social networks is a more recent topic, initiated by Hartline et al. [21]. This work studied a model with positive externalities, where the valuation of an agent may increase as more friends acquire a good, and analyzed the performance of a very intuitive class of pricing strategies. Further improvements on the performance of such strategies were obtained later on by Fotakis and Siminelakis [16]. Akhlaghpour et al. [1] also consider a pricing problem but in an iterative fashion, where the seller is allowed to reprice a good in future rounds. Revenue maximization under a mechanism design approach was taken by Haghpanah et al. [20] under positive network externalities. Finally, positive externalities have been used to model the diffusion of products on a network, see, e.g., the exposition by Kleinberg [24]. Negative externalities within networks, as we focus on here, are less studied in the literature. For the concept of inequity aversion, see the work of Bolton and Ockenfels [7] and Fehr and Schmidt [13]. Most closely related to ours is the work of Alon et al. [2], who introduced the model considered here. Efficient algorithms were obtained for the case where discontinuities are not allowed (even for more general revenue functions), and also for networks with bounded treewidth. An approximation ratio of 1/(∆ + 1) was also provided, where ∆ is the maximum degree. Similar results were shown for a stochastic version of the model. Finally, other types of negative externalities have been considered e.g., by Bhattacharya et al. [5] and Cao et al. [8], who study the effects of invidious consumption.
There are also some further recent results on price discrimination models related to ours, in the sense that they consider the presence of a social network or they allow buyer preselection (i.e., excluding some buyers from being eligible to receive a price offer). The work of Bilò et al. [6] studies pricing problems with buyer preselection but without the presence of a social network. They consider limited supply of multiple goods and general valuation functions, while we consider a single type of good with unlimited supply and unit-demand users. Flammini et al. [14] study a multi-unit demand model with limited supply, similar to the model in [6], but assuming a directed social network as we do. One of the main differences to our model is not allowing buyer preselection. Furthermore, Flammini et al. [14] look for item envy-free outcomes with fair pricing (where fairness here prohibits offering lower prices to the neighbors). This is a more stringent model in terms of the price differences between neighbors; in contrast, we allow envy (and hence more flexibility in pricing), up to given model parameters. Finally, Flammini et al. [15] study a similar model to [14] (multi-unit demand with limited supply, presence of social network, no buyer preselection) but instead of using the social network to define fair pricing, they use it to determine the subset of agents with respect to whom an agent should be bundle envy-free.

Preliminaries
We assume there is a social network that is represented as an undirected graph G = (V, E) with |V | = n. The nodes are the potential customers, and there is also a provider of some good or service, who has a finite set P of available prices that she could offer to the nodes. The price set P = {p 1 , p 2 , . . . , p k } can be any set of k distinct positive integers (in increasing order). Note that the original model of Alon et al. [2] assumes that the set of available prices is P = [k] = {1, 2, . . . , k}. All our positive results (except for Theorem 5.1 which is nevertheless generalized in Section 5.2) are true for general prices, while our hardness results (in particular, Theorem 6.11) hold even for the price set P = [k].
We further assume that every node has a unit-demand for the same product and that the supply of the seller is enough to cover the demand of all nodes. For every node v ∈ V , we associate a revenue function R v : P → N, that maps an offered price p v to the revenue that the provider gains from this offer. In this work, we focus on a simple and intuitive class of revenue functions, also studied by Alon et al. [2]. In particular, for a node v ∈ V , R v is called a single-value revenue function, if there exists a value val(v) such that when offered a price p v : We assume that every node has a single-value revenue function. We can also assume, without loss of generality, that val(v) ∈ P , for every v ∈ V . To see this, note that for revenue maximization (which is the objective here) nodes with val(v) > p k can only yield a revenue equal to some element of P and their value could be replaced by val(v) = p k , i.e., the highest possible price. From values that are between p i and p i+1 , for some i ∈ [k − 1], we can again extract only revenue equal to some element of {p 1 , . . . , p i }, so we could round them down to p i . Finally, any node v with val(v) < p 1 can be deleted without affecting the optimal revenue (see the concept of discontinuity defined below), so we can completely ignore such nodes to begin with. Therefore, we consider only instances with val(v) ∈ P , for all v ∈ V .
Given a vector p = (p v ) v∈V of prices offered to the nodes, the total revenue is R(p) = v∈V R v (p v ). Our goal is to find a price vector that maximizes the total revenue. At the same time, however, we want to capture the effect of inequity aversion [7,13] in social networks, namely the fact that significant price differences create negative externalities among users. To avoid such price differences the model of Alon et al. [2] introduces a constraint on each edge stating that the price difference between two neighbors u, v is bounded. That is, Here, α(·, ·) 0 is integer-valued (given that the prices are also integers), and it can be non-symmetric. Furthermore, the seller is allowed not to make an offer to certain nodes. Formally, this is captured by having one more price option, which we denote by ⊥, with R v (⊥) = 0. Setting p v = ⊥ to a node means that the provider does not make any offer to v (or alternatively, makes a very high offer to v that cannot be accepted) and there is no price restriction on the edges that are incident to v. We can essentially think about this as deleting these vertices from the graph. We will refer to setting p v = ⊥ to a node v ∈ V as introducing a discontinuity on v. Avoiding making an offer can be thought of as choosing not to promote a product or service within a certain region or within a certain social group. In terms of optimization, discontinuities can help the seller produce much higher revenue as Proposition 3.3 states.
Given this model, the set of feasible price vectors is Therefore, the problem we study is: Inequity Aversion Pricing: Given a graph G with edge constraints, a set P of available prices, and a single-value revenue function R v for each node v, find a feasible price vector q that maximizes the total revenue. That is, find q ∈ arg max p∈F v∈V R v (p v ), where F is defined as above.
Some cases of this problem, as well as the variant where no discontinuities are allowed, are already known to be polynomial time solvable [2]. Regarding hardness, although the problem is NP-hard for general revenue functions, it was posed as an open question whether NP-hardness still holds for single-value revenue functions.

Warmup: Basic Facts and Single-Price Solutions
In this section, we present a simple algorithm and some basic observations which we use later on, in Section 5.
Let µ = max v∈V val(v) be the maximum value any potential customer has for the good, and VAL = v∈V val(v) be the total value for it. Given an instance of the problem, we denote by OPT the revenue of an optimal solution. The quantity VAL is clearly an upper bound on the optimal revenue, i.e., OPT VAL.
We will refer to a solution as being a single-price solution, if it charges the same price to every node without introducing discontinuities. This is always a feasible solution since all the edge constraints are satisfied. The revenue extracted by the single-price solution that uses the common price p is equal to p · |{v ∈ V : val(v) p}|.
To understand whether a single-price solution can be of any help for our setting, we may examine the performance of the best possible single price. The following observation suggests that we do not need to try too many values, even if µ is very large. Lemma 3.1. In order to find the optimal single-price solution, it suffices to check at most min{n, τ } possible prices, where τ = |{p ∈ P : p µ}|.
Proof. There are at most min{n, τ } different values in the set {val(v) : v ∈ V }. It is never optimal to use any price p / ∈ {val(v) : v ∈ V }. Indeed, if p ∈ (val(v 1 ), val(v 2 )), where val(v 1 ) and val(v 2 ) are two consecutive distinct values for some nodes v 1 , v 2 ∈ V , then it is strictly better to set the price to val(v 2 ). For the same reason, it is suboptimal to set a price that is less than the minimum value across nodes. Finally, we gain no revenue by using a price p > µ.
Hence, in O(n) steps we can find an optimal single-price solution. Let us denote by R sp the revenue raised by such a solution. The performance of R sp has been analyzed in a different context by Goldberg et al. [18], where it was shown that it achieves a Θ(ln n)-approximation. 1 Here we give a somewhat tighter and more general statement which we utilize later on in Section 5.
, where p 0 = 0. Essentially, P j generalizes the jth harmonic number H j , when the price set P does not coincide with [k].
Then the optimal single-price solution achieves a ρ-approximation, where ρ = 1/ min{H n , P τ }. In particular, and this approximation guarantee is tight.
Proof. By Lemma 3.1, we know that we only need to consider at most min{n, τ } possible prices that correspond to the distinct values of the nodes. Let a j be the number of vertices with value p j and R i be the revenue obtained by setting the price of all nodes equal to p i , i.e., The last equality follows from observing that a j = 0 for j > τ . Let R sp be the revenue achieved by the optimal one-price algorithm. Then R i R sp and we have So, we obtain We now sort the vertices of V with respect to val(v) in ascending order, say v 1 , . . . , v n . Let R (i) be the revenue obtained from the vertices {v i , v i+1 , . . . , v n } by setting to all of them the price val(v i ), i.e., Clearly, R (i) R sp and we have Hence, we obtain Putting inequalities (1) and (2) together completes the proof of the approximation guarantee. 7 To see that this is tight, consider the following family of graphs. For any n take G(n) to be a clique on {v 1 , v 2 , . . . , v n } and let val(v i ) = n!/i and α(u, v) = k = n! for every edge. Then Therefore, In fact, tightness holds even when P τ H n . Consider an instance where and Notice that here τ = k. Like before, α(u, v) = k for every edge. It is easy to verify that Therefore, One interesting point here is that single-price solutions do not use any discontinuities. If R nd is the optimal revenue without using any discontinuities, clearly R nd R sp . As we mentioned in Section 2, it is possible to compute R nd in polynomial time [2]. But then, why use the optimal single-price solution, which might be worse, instead of using directly R nd ? The reason is that, besides being harder to argue about, R nd turns out to be as bad an approximation as R sp in the worst case, when allowing discontinuities.
The proposition below provides some further justification for the model with discontinuities, at least from the seller's point of view. In particular, it reveals that introducing discontinuities can cause a significant increase to the optimal revenue compared to what can be achieved without discontinuities. Proposition 3.3. The optimal solution with no discontinuities achieves a 1/H r -approximation, where r = min{n, µ}, and this approximation guarantee is tight.
Proof. The approximation guarantee follows from the fact that R nd R sp , since singleprice solutions do not use any discontinuities. To see that without using any discontinuities one cannot always do better, it suffices to slightly modify the tightness examples from the proof of Theorem 3.2. In each case, we connect a new vertex v with value 1 to every vertex u and set α(u, v) = α(v, u) = 0. The optimal solution is to put a discontinuity on v and maximize the revenue of every other vertex. When discontinuities are not allowed though, a solution cannot do better than R sp since all prices have to be equal. It is easy to see that we still get the same ratios, namely 1/H n and (n + 1)/nH µ .

An Exact Algorithm for Two Prices
We begin with an exact algorithm for the case of two arbitrary integer prices, i.e., P = {p 1 , p 2 }, for p 1 , p 2 ∈ N. As we later see in Section 6, this is the only case where we can hope for an exact algorithm, since the problem becomes hard for three prices, even when P = {1, 2, 3}. The natural interpretation of instances with two available prices is that a seller may be willing to offer only one type of discount to selected customers, e.g., 30% off the regular price, rather than using a bigger set of possible prices.
Having P = {p 1 , p 2 }, the available prices are p 1 , p 2 and ⊥. Recall that our standard assumption (without loss of generality) is that p 1 < p 2 and that for every node v ∈ V , val(v) ∈ {p 1 , p 2 }; see also the discussion in Section 2. Even when p 1 = 1 and p 2 = 2, the problem still remains non-trivial. For such instances we already have a 2 3 -approximation by Theorem 3.2 that does not use discontinuities. The difficulty in improving the revenue is in finding a way of selecting appropriate nodes to set to ⊥.
Before we formally state our algorithm, let us illustrate the main idea. Consider an instance of the problem on a graph G = (V, E). We construct an appropriate bipartite graph H, such that feasible price vectors for G correspond to independent sets of H. Hence, the problem reduces to finding a maximum weighted independent set in a bipartite graph; the latter is well known to be solvable in polynomial time (see, e.g., [19]). To be more specific, denote by A, B ⊆ V the partition of the vertices of G into vertices with val(v) = p 1 and val(v) = p 2 respectively. To construct the bipartite graph H = (V 1 ∪ V 2 , E ), we will be using a superscript for every node to clarify whether it belongs to V 1 or V 2 . For each a ∈ A, the graph H will have a vertex a 1 ∈ V 1 ; for each b ∈ B, H will have two vertices b 1 ∈ V 1 and b 2 ∈ V 2 connected with an edge. Additionally, we include an edge between x 2 and y 1 for every x ∈ B, y ∈ V for which (x, y) ∈ E(G) and α(x, y) < p 2 − p 1 . Note that H is bipartite, since there is no edge between vertices of the same superscript. 3 For every u i ∈ S, offer a price of p i to the corresponding vertex u of V (G). 4 Set ⊥ to all the remaining vertices of V (G). 5 Return the resulting price vector. Now consider any independent set S of H. We interpret u 1 ∈ S as offering price p 1 to vertex u in the original instance and u 2 ∈ S as offering price p 2 . Note that it cannot be the case that both u 1 and u 2 belong to S. If neither u 1 nor u 2 belong to S, we interpret this as introducing a discontinuity on u. To see that this is a feasible price vector, we only have to worry about edges (x, y) in the graph G for which α(x, y) < p 2 − p 1 , since all other constraints are trivially satisfied. But by construction, the graph H has an edge (x 2 , y 1 ) whenever α(x, y) < p 2 − p 1 . Hence, we cannot include both x 2 and y 1 in S, and this ensures that either we offer the same price to such nodes, or one of them will have a discontinuity, implying that the resulting price vector is feasible.
Conversely, it is easy to see that any feasible price vector corresponds to an independent set of H. Given such a vector for the vertices of G, if price We can further make H weighted by setting weight p i ∈ {p 1 , p 2 } to each vertex v i , for i = 1, 2. Then, the total weight of an independent set equals the total revenue of the corresponding price vector and vice versa. Thus, in order to solve the Inequity Aversion Pricing on the original instance, it suffices to find a maximum weight independent set of H. The next theorem summarizes the above discussion.

Approximation Algorithms
In this section we present new approximation algorithms for the problem by exploiting ways in which setting discontinuities in certain nodes can help. We start with P = {1, 2, . . . , k}, which is the most general price set studied before our work [2], and we propose an approximation algorithm with a ratio of (H k − 0.5) −1 . Even though asymptotically this is no better than the optimal single-price algorithm, it is a significant improvement for instances where k is a small constant (see Table 1). We then generalize this result for arbitrary price sets.

An Algorithm for P = [k]
In order to improve the approximation guarantee of Theorem 3.2, we reduce the problem to the case of k = 2 and use the results of the previous section. Later, in Section 5.2, we show how to generalize the algorithm given here to arbitrary price sets. Towards this goal, we believe that working out first the case of P = [k] facilitates the presentation.
Consider an instance of the problem, with available prices in [k] ∪ {⊥} and, as usual, val(v) ∈ [k] for every v ∈ V . We create now another instance, where we set the value of every node with val(v) > 1 to be equal to 2. We can then run Algorithm 1 from Subsection 4 on this new instance. At the same time, we can also compute the optimal single-price solution for the original instance and pick the best among these two solutions. This yields Algorithm 2, described below.
Clearly, Algorithm 2 runs in polynomial time. Note that the solution returned by the algorithm is feasible. Any single-price solution is always feasible, while Algorithm 1 will produce a price vector that is feasible for I , and therefore for I since the edge restrictions in the two instances are the same. 1 Given an instance I, construct the new instance I , where for every v ∈ V , val (v) = min{val(v), 2}; everything else remains unchanged. 2 Run Algorithm 1 on instance I and let R * be the revenue obtained. 3 Compute the optimal single-price solution without discontinuities on the original instance I, as described in Section 3, with revenue R sp . 4 Return the solution that achieves max{R * , R sp }. Proof. The proof is by induction on µ. For µ = 2 the result follows from Theorem 4.1 since H 2 − 0.5 = 1. Now assume we have an instance I where µ = j > 2. As usual, let OPT denote the optimal revenue for I and ALG the revenue returned by Algorithm 2. Also, let R j be the revenue extracted by setting price j at every node, and V j = {v ∈ V : val(v) = j}. We consider two cases.
Then we have ALG OPT Let I * be an instance derived from I by setting val * (v) = min{val(v), j − 1}, i.e., we only reduce the valuation of nodes v with val(v) = µ by 1. Let OPT * and ALG * denote the optimal revenue and the revenue returned by Algorithm 2 respectively, given I * . By the inductive hypothesis we have OPT * (H j−1 − 0.5)ALG * .
Furthermore, notice that the set of vertices with valuation greater than 1 is the same in both instances. So, Algorithm 2 on input I * considers exactly the same price vectors as it does on input I, with the exception of the single-price solution that universally uses j. We conclude that ALG * ALG. Next, we prove the following useful claim.
Proof of Claim. Let p be an optimal price vector for I. Construct the price vector p * by decreasing any price that is at least j to j − 1. It is straightforward to see that in instance What is left to show is that p * is feasible for I * . Observe, however, that the two instances have exactly the same edge restrictions and that p * did not increase the price difference between any two vertices compared to p. Thus, OPT * R(p * ) OPT − |V j |.
which concludes the proof.

General Price Sets
We now extend our results from Section 5.1 to general price sets, i.e., to the case where P = {p 1 , p 2 , . . . , p k }. This can be seen as a more realistic model, especially for small values of k. One could try to directly apply Theorem 3.2 or Theorem 5.1 for P = {1, 2, 3, . . . , p k }. However, this may produce a very poor approximation when k is small but n and p k are large, and feasibility is not guaranteed either.
We are now ready to state the generalization of Theorem 5.1 for arbitrary price sets. Proof. The algorithm is very similar to Algorithm 2. The only difference is in the definition of the instance I (step 1 of Alg. 2). Namely, given an instance I, we define I as the new instance where for every v ∈ V , val (v) = min{val(v), p 2 }, for all v ∈ V , while the constraints remain the same. The proof is by induction on k. For k = 2 the algorithm is equivalent to Algorithm 1 that gives an exact solution (Theorem 4.1). Note that we have Now assume we have an instance I where k > 2. We use the notation of the proof of Theorem 5.1, but now R k is the revenue extracted by setting price p k at every node and V k = {v ∈ V : val(v) = p k }.
Case (ii): OPT > P k + p1 p2 − 1 p k |V k |. Let I * be an instance derived from I by setting val * (v) = min{val(v), p k−1 }. By the inductive hypothesis, we have P k−1 + p1 p2 − 1 ALG * OPT * . It is easy to see that ALG * ALG. Also, we can prove an analog of Claim 5.2 (using the same arguments), namely that OPT * OPT − (p k − p k−1 )|V k |. Putting everything together we get ALG OPT which concludes the proof.

Hardness for Single-Value Revenue Functions
Alon et al. [2] show an n 1−ε inapproximability result for Inequity Aversion Pricing, but for general revenue functions and α(u, v) = 1 for every edge. An NP-hardness proof is also given for these edge constraints when a mix of single-value and constant revenue functions is allowed. The NP-hardness of Inequity Aversion Pricing as we study it here, i.e., allowing only single-value revenue functions, was left as an open question. We resolve this question by proving that the problem remains NP-complete. Our reduction implies that the result holds even when the price differences are allowed to be comparable to the maximum possible price (which could presumably make the problem easier). Further, when α(u, v) = 0 for every edge, we are able to show APX-hardness, as well as NP-hardness even for P = {1, 2, 3}, in contrast to the case of two possible prices.
To facilitate the presentation, in this section we assume that all prices up to the maximum allowed price are available, i.e., P = {1, 2, . . . , k} Our reductions are selfcontained but we assume some familiarity with the different types of reductions we use, like linear or PTAS reductions. For more details see, e.g., [4].
The reduction of Theorem 6.1 is from the decision version of 3-Terminal Node Cut: Given a graph G(V, E), a set S = {v 1 , v 2 , v 3 } ⊆ V , and an integer q, is there a subset of q vertices that can be deleted, so that any two vertices of S are in different connected components of the resulting graph? The NP-completeness of the weighted version of 3-Terminal Node Cut is discussed by Cunningham [10], while the APX-hardness of the unweighted version we use here is discussed by Garg et al. [17]. The NP-completeness result we need follows from Theorem 6.4 as well (see the discussion before the statement of Theorem 6.4). 13 Theorem 6.1. Let ε > 0 be any small constant. The decision version of Inequity Aversion Pricing for single-value revenue functions is NP-complete, even when α(u, v) is as large as k 1−ε for all (u, v) ∈ E(G), where k is the maximum possible price.
Proof. It is immediate that the problem is in NP. To facilitate the presentation, we prove the NP-hardness when α(·, ·) is upper bounded by k 1/3 /3. As discussed at the end of the proof, the reduction can be easily adjusted when the upper bound of α(·, ·) is k 1−ε , for constant ε.
Let us consider an instance of 3-Terminal Node Cut, i.e., a graph G(V, E) with |V (G)| = n, a set S = {v 1 , v 2 , v 3 } of non adjacent vertices of G and an integer q. We may assume that q n − 3, otherwise the question is trivial. Next we give a construction of an appropriate instance for Inequity Aversion Pricing.
Let H be the graph obtained from G as follows. We replace every vertex v ∈ S by n 3 vertices, where each such vertex has the same neighbors as v, i.e., if u v is a vertex in the bundle of vertices replacing v, then for every edge (v, x) ∈ E(G) we add the edge (u v , x) to E(H). For any v ∈ S, we call such a set of vertices in H a v-bundle. The set of prices is {⊥, 1, 2, . . . , k}, where k = n 3 + n 2 . Finally, for any (u, v) ∈ E(H) we set α(u, v) and α(v, u) arbitrarily, as long as they are at most k 1/3 /3. Note that |V (H)| = n − 3 + 3n 3 , and |E(H)| |E(G)| + 3(n − 1)n 3 3n 4 .
Next we define the single-value revenue functions for the vertices of H. For every v ∈ V (G) \ S, let val(v) = n 3 + n 2 , and for every v i ∈ S, let val(u vi ) = n 3 + i−1 2 n 2 for all u vi in the v i -bundle. We show below that G has a subset of at most q vertices that separate all the vertices of S, if and only if there is a feasible choice of prices for the vertices of H that gives revenue at least R q , where R q = (n − 3 − q) n 3 + 3 i=1 n 3 n 3 + i−1 2 n 2 . One direction is easy. Let A be a subset of at most q vertices of G that separate the three vertices of S. For all v ∈ A we put a discontinuity on the corresponding v in H. If we think of these vertices as removed from H, this creates several connected components. For any other vertex u ∈ V (H), if u is in the same component as some v i -bundle (or itself is one of the vertices of the v i -bundle), set its price to n 3 + i−1 2 n 2 , otherwise set its price to n 3 + n 2 . Notice that any vertex without a discontinuity produces revenue at least n 3 , while any vertex u vi in a v i -bundle with v i ∈ S produces revenue exactly n 3 + i−1 2 n 2 . Now, it is straightforward to check that this price vector p is feasible and gives enough revenue: R(p) = u∈V (H) R(u) (n − 3 − q) n 3 + 3 i=1 n 3 n 3 + i−1 2 n 2 = R q . For the opposite direction we begin with a couple of observations. Assume that there is a price vector p * that gives revenue at least R q . We claim that p * can have only a few discontinuities.
Claim 6.2. There is no feasible price vector p with R(p) R q and more than q discontinuities.
Proof of Claim. Let p be a feasible price vector with at least q + 1 discontinuities. Notice that any vertex without a discontinuity produces revenue at most n 3 + n 2 and, in particular, any vertex u vi in a v i -bundle with v i ∈ S produces revenue at most n 3 + i−1 2 n 2 . The maximum possible revenue for p is thus proving the claim.
One immediate implication of Claim 6.2 is that for any v ∈ S not every vertex in the v-bundle has price ⊥. This holds because the v-bundle has n 3 vertices and only q n − 3 of them can get ⊥. This is crucial, because if we think of the vertices with price ⊥ as removed from H, then no two vertices are separated because of discontinuities in the v-bundles. In particular, we can completely ignore those discontinuities with respect to connectivity.
Let D p = {v ∈ V (G) \ S : p v = ⊥}, i.e., D p is the set of non terminal vertices in G that their corresponding vertices in H have discontinuities in p. So far, by Claim 6.2, we have that |D p * | q. What is left to be shown is that these discontinuities separate the v-bundles, for any v ∈ S. Proof of Claim. Let p be a feasible price vector and assume that there exist v i , v j ∈ S such that vertices from both the v i -bundle and the v j -bundle are in the same component of H . First notice that all the vertices in the v i -bundle and the v j -bundle are in the same component, since vertices in a bundle share the same neighbors. We are going to upper bound the maximum possible revenue for such a price vector. Without loss of generality, assume i < j. If all the vertices in the v i -bundle are assigned prices in {⊥, n 3 + i−1 2 n 2 + 1, . . . , k}, then they contribute 0 to the total revenue. On the other hand, if there is some vertex in the v i -bundle with price at most n 3 + i−1 2 n 2 , then by the feasibility of p we have that any vertex in the v j -bundle has its revenue upper bounded by n 3 + i−1 2 n 2 + k 1/3 3 n. To see the latter, notice that if any two vertices from two distinct bundles are connected by a path, then this path has length at most n (like it would in G) and therefore their prices can differ by k 1/3 3 n at most. We conclude that the loss, compared to the sum of the maximum revenues per vertex, is lower bounded by either n 3 n 3 + i−1 2 n 2 or n 3 j−i 2 n 2 − k 1/3 3 n and therefore by n 3 1 2 n 2 − k 1/3 3 n . For n 10, we have n 3 n 2 2 − n 3 + n 2 1/3 n 3 n 3 n 2 2 − 1.1 1/3 n 2 3 > 0.15n 2 n 3 > (n − 2)n 3 (q + 1)n 3 and we get R(p) < R q in exactly the same way as in the proof of Claim 6.2.
We conclude that D p * is a set of at most q vertices of G that separate all the vertices of S. This completes the proof for the case where α(·, ·) is upper bounded by k 1/3 /3.
The above reduction, however, generalizes for α(·, ·) upper bounded by k 1−ε for any positive constant ε. Let c ∈ N with c > 4/ε. If we multiply by n c all the relevant quantities, i.e., the size of the bundles, k, R q , and val(v) for all v ∈ V (H), then the reduction is identical up to the last part of the proof of Claim 6.3. Now, the loss is lower bounded by n c+3 n c+2 /2 − nk 1−ε and it suffices for this quantity to be at least (q +1)n c+3 for things to work out. So, we need n c+2 /2−nk 1−ε n−2 (since n−2 q +1), and it is only a matter of simple calculations to check that this holds.
For the special case where all the differences are 0, we show that the problem is APX-hard. In doing so, we prove that 3-Terminal Node Cut is MAX SNP-hard, and thus APX-hard. As noted already, MAX SNP-hardness of 3-Terminal Node Cut is discussedbut not explicitly proved-by Garg et al. [17]. Here, having this reduction is crucial, and we have therefore obtained an explicit construction, since eventually we need to show that 3-Terminal Node Cut restricted in a specific set of instances is MAX SNP-hard (Corollary 6.5).
Theorem 6.4. Multi-Terminal Node Cut is MAX SNP-hard even for 3 terminals and all the weights equal to 1.
Proof. We prove the result for 3 terminals. The extension to more follows immediately. Proofs of MAX SNP-hardness involve linear reductions. Let A and B be two optimization problems. We say that A linearly reduces to B if there are two polynomial time computable functions f and g and constants c α , c β > 0 such that , and • Given a, b = f (a), and any solution y of b, g produces a solution x of a such that The reduction is from the unweighted version of 3-Terminal Cut: Given a graph G(V, E) and a set S = {v 1 , v 2 , v 3 } ⊆ V , find a minimum cardinality set of edges that can be deleted, so that any two vertices of S are in different connected components of the resulting graph. Dahlhaus et al. [11] showed that 3-Terminal Cut is MAX SNP-hard even when all the weights equal to 1, which is essentially the unweighted version defined above.
Consider an instance of 3-Terminal Cut, i.e., a graph G(V, E) with |V (G)| = n and a set of non adjacent terminals S = {v 1 , v 2 , v 3 }. We first describe the function f in the definition of the linear reduction. Let H be the graph obtained from G as follows: 1. Replace each edge e by a path of length two, the middle vertex of which we denote by v e .
2. Replace every "old" vertex v by a v-bundle of deg G (v) + 1 vertices (see also the proof of Theorem 6.1), where each such vertex has the same neighbors as v in the graph constructed at step 1. That is, put an edge between u v and v e if u v is a vertex in the v-bundle and e is incident to v.
Also, let S = {u 1 , u 2 , u 3 }, where u i is an arbitrarily chosen vertex from the v i -bundle. Define f ((G, S)) = (H, S ). Clearly, f is polynomial time computable. Next we define the function g in the definition of the linear reduction. Given a vertex cut Y in H that separates the vertices in S , first we transform it to an appropriate vertex cut Y that separates the vertices in S and contains no vertices from any v-bundle.
1. While there is a whole v-bundle contained in the vertex cut, remove those vertices from the cut and add all of their neighbors instead.
Notice that in one iteration of step 1 the connectivity is not improved and the size of the vertex cut is reduced. The latter holds because deg G (v) + 1 vertices were removed from the cut and at most deg G (v) were added. Similarly, in one iteration of step 2 the connectivity is not improved and the size of the vertex cut is reduced. Now the latter is obvious, but to see that the connectivity is not improved, notice that the removal of vertices in some v-bundle has an effect in connectivity only if the whole v-bundle is removed. Since in step 2 there are no v-bundles completely contained in the vertex cut (this was fixed in step 1), the vertices removed from the cut were not disconnecting anything to begin with. We conclude that Y is indeed a vertex cut that separates the vertices in S and moreover |Y | |Y |. Now that Y contains only vertices outside the v-bundles, i.e., only vertices that correspond to edges of G, it is straightforward to define an edge cut in G that separates the vertices in S. Let X = {e ∈ E(G) : v e ∈ Y }, i.e., X is the set of edges in G that their corresponding vertices in H are in the vertex cut. Define g ((G, S), (H, S ) , Y ) to be equal to X; clearly, g is polynomial time computable. It remains to be shown that X separates the vertices in S. Assume not; then there exists some where x is an arbitrary vertex in the x -bundle. This is a contradiction. Thus, X is a cut that separates the vertices in S.
Next, we prove that OPT 3TNC (H) OPT 3TC (G) (to improve readability we drop the subscripts). Notice that any cut A in G that separates the vertices of S gives the vertex cut B = {v e ∈ V (H) : e ∈ A} in H that separates the vertices of S . Since |B| = |A|, and by taking |A| to be an optimal cut, we have OPT(H) OPT(G). This also implies that c α = 1 works.
As proved by Khanna et al. [23], APX is the closure of MAX SNP under PTAS reductions (introduced by Crescenzi and Trevisan [9]). Therefore, any MAX SNP-hard problem is also APX-hard. Let I be the set of instances of 3-Terminal Node Cut that can be the result of the composition of the reduction of Theorem 6.4 with the linear reduction from Max Cut to 3-Terminal Cut, presented by Dahlhaus et al. [11]. The next corollary follows directly. Corollary 6.5. 3-Terminal Node Cut is MAX SNP-hard, and thus APX-hard, even when restricted on instances in I. Corollary 6.5 is a crucial step towards our goal, since instances in I are guaranteed to have only "large" vertex cuts that separate the terminals. Lemma 6.6. Let (G, S, q) ∈ I. Then, any feasible 3-Terminal Node Cut solution for (G, S, q) has size greater than 1 14 |V (G)|. Proof. Let G 0 be a graph with n 0 vertices and m 0 edges. The reduction of Dahlhaus et al. [11] adds 3 terminals and, furthermore, for each edge adds 4 new vertices and 102 new edges. In fact, each edge is replaced with the gadget shown in Figure 1 (Figure 11 of Dahlhaus et al. [11]), where s 1 , s 2 , s 3 are identified with the terminals and x, y with the endpoints of the edge. Then, each of the 12 edges with weight 4 is replaced by 4 paths of length 2. The resulting graph G 1 , has n 1 = n 0 + 3 + 52m 0 vertices and m 1 = 102m 0 edges.
By the proof of Theorem 3 in Dahlhaus et al. [11], we have that any cut in G 1 that separates the 3 terminals has size at least 27m 0 . Using g from our reduction, however, we can transform a vertex cut that separates the 3 terminals in G 2 into a cut of the same cardinality that separates the 3 terminals in G 1 . Thus, any vertex cut that separates the 3 terminals in G 2 has size at least 27m 0 . To complete the proof, notice that 27m 0 > 27n 2 /378 = n 2 /14. Unfortunately, this is not the case. Consider the 9-vertex graph C depicted in Figure 11. Note that in addition to the three terminals s 1 ,s 2 ,s 3 , the graph contains two specified vertices x and y. The 12 edges incident on the terminals have weight 4, as indicated in the figure. The other 6 edges, unlabeled in the figure, have weight 1. Let c * be the cost of an optimal 3-terminal cut for C. For each i, j, 1 ≤ i, j ≤ 3, let an i, j-cut be a 3-terminal cut that leaves vertex x connected to s i and vertex y connected to s j , and let c(i, j) be the cost of a minimum i, j-cut. The sets X and Y that cause f to violate submodularity are defined as follows: Let X be the set of vertices connected to s 1 in an optimal 1 , 2 cut. (Note that by definition of i, j-cut, x is in X and y is not.) Let Y be the set of vertices connected to s 1 in an optimal 2 , 1 cut. (Note that y is in Y and x is not.) By definition, we have f (X) = c( 1 , 2 ) and f (Y) = c( 2 , 1 ). We also must have f (X ∪ Y) ≥ c( 1 , 1 ) and f (X ∩ Y) ≥ min{ c( 2 , 3 ) ,c( 3 , 2 ) ,c( 2 , 2 ) ,c( 3 , 3 ) }. Thus if f were to be submodular, we would need to have c( 1 , 2 ) + c( 2 , 1 ) ≥ c( 1 , 1 ) + min{ c( 2 , 3 ) ,c( 3 , 2 ) ,c( 2 , 2 ) ,c( 3 , 3 ) }. In light of the following lemma, however, this claim is false. Proof. As depicted in Figure 11, graph C has its vertices located at the nodes of a 3 × 3 grid. As an alternative naming convention for the vertices, let v i j denote the vertex in the row i, column j, 1 ≤ i, j ≤ 3. Thus the terminals are s 1 = v 11 , s 2 = v 22 , and s 3 = v 33 , and the distinguished vertices x and y are v 12 and v 21 , respectively. Theorem 6.7. Inequity Aversion Pricing for single-value revenue functions is APX-hard when α(e) = 0 for all e ∈ E(G).
Proof. We use a PTAS reduction to prove the APX-hardness. Let A and B be two NPO problems. Here assume that A is a minimization and B is a maximization problem. We say that A is PTAS-reducible to B if there exist three computable functions f , g, and c such that • For any instance x of A and any r > 1, f (x, r) is an instance of B computable in time polynomial in |x|.
• For any instance x of A, any r > 1, and any feasible solution y of f (x, r), g(x, y, r) is a feasible solution of A computable in time polynomial in both |x| and |y|.
• c : (1, ∞) → (0, 1) • For any instance x of A, any r > 1, and any feasible solution y of f (x, r), The reduction is from the restriction of 3-Terminal Node Cut on I. It is similar to the reduction in the proof of Theorem 6.1, but here all the parameters are carefully tuned. Consider an instance of 3-Terminal Node Cut, i.e., a graph G(V, E) with |V (G)| = n, a set of non adjacent terminals S = {v 1 , v 2 , v 3 }, and an integer q, such that (G, S, q) ∈ I.
We describe the function f in the definition of a PTAS reduction. For r > 1, let ε = min{0.5, r − 1} and t = 42 ε . Also, let H = f (G, r) be the graph obtained from G by replacing every vertex v ∈ S by a v-bundle of 4tn vertices, each such vertex having the same neighbors as v. The set of prices is {⊥, 1, 2, . . . , t}. To define the single-value revenue functions, for every v ∈ V (G) \ S, let val(v) = t, and for every v i ∈ S, let val(u vi ) = t + i − 3 for all u vi in the v i -bundle. We define f ((G, S, q), r) to be the above instance. Clearly, f is computable in polynomial time in n.
Next we define the function g in the definition of a PTAS reduction. Given a feasible price vector p for H, first we transform it to an appropriate feasible price vector p . OPT(H) < 8t 12t−28 < 0.8 < c(r), which is a contradiction. For the second part, assume that there are two v-bundles in the same component. To arrive at a contradiction, it suffices to show that there exists a feasible price vector p , such that R(p) < c(r)R(p ) and therefore R(p) < c(r)OPT(H). Let p be the price vector obtained after just one iteration of step 2 in the description of g. Assuming that we are talking about the v i -bundle and the v j -bundle, with i < j, the gain in revenue is at least 4tn val(u vj ) − val(u vi ) 4tn (see also the proof of Claim 6.3 in the proof of Theorem 6.1). On the other hand, the loss in revenue is upper bounded by (n − 3) (t + i − 3) tn. So, R(p ) R(p) + 3tn. Suppose R(p) c(r)R(p ). Then it is a matter of simple calculations to see that An obvious upper bound for R(p) however, is to say that each vertex produces revenue at most t, i.e., R(p) (12tn + n − 3)t < 13tn. Combining the two, we get the contradiction R(p) > 57t 3 n > 13tn > R(p). We conclude that R(p) < c(r)R(p ) which leads to the contradiction R(p) < c(r)OPT(H). Hence, in the graph defined by removing the discontinuities of p from H, every v-bundle is in a different connected component. Claim 6.9. If R(p) c(r)OPT(H), then p has less than (1 + ε)OPT(G) discontinuities.
Proof of Claim. Let p be a feasible price vector with R(p) c(r)OPT(H) and assume that p has at least (1 + ε)OPT(G) discontinuities. Also, consider the feasible price vector p * induced by an optimal cut in G, i.e., the price vector that sets ⊥ in every vertex that has a corresponding vertex removed by the cut in G and then uses optimal single price in each "connected component". To get a contradiction, we show that R(p) < c(r)R(p * ) and therefore R(p) < c(r)OPT(H). To obtain a lower bound on R(p * ), notice that any vertex without a discontinuity produces revenue at least t − 2, while any vertex u vi in a v i -bundle produces revenue exactly t + i − 3. So, To get an upper bound for R(p), notice that each vertex without a discontinuity produces revenue at least t − 2 and at most t, while any vertex u vi in a v i -bundle produces revenue exactly t + i − 3, i.e, We consider the difference R(p) − c(r)R(p * ), and show it is negative. Recall that Lemma 6.6 implies that OPT(G) n/14.
which leads to contradiction. Thus, p has less than (1 + ε)OPT(G) discontinuities. By combining Claim 6.8, Claim 6.9, and the fact that 1 + ε r, we directly get that a c(r)-approximate solution for H gives an r-approximate solution for G, thus concluding the proof.
Remark 6.10. The maximum price k in the instance constructed in the proof of Theorem 6.7 does not depend on the size of the problem. Given that there is some constant ρ beyond which it is hard to approximate 3-Terminal Node Cut, this means that there exists some constant k * for which Inequity Aversion Pricing does not have a PTAS (unless P = NP). Note that for such a k * we do have a constant factor approximation, with factor H −1 k * .

Hardness when k = 3
We close this section by showing that Inequity Aversion Pricing remains hard even when we only have three possible prices and α(e) = 0 for all edges. This identifies the transition from polynomial time solvability, which we have when k = 2, to NP-hardness with respect to the number of available prices. Theorem 6.11. Inequity Aversion Pricing for single-value revenue functions is NPcomplete when α(e) = 0 for all e ∈ E(G), even if the price set is P = {1, 2, 3}.
The theorem follows from the fact that the problem is trivially in NP and the next three lemmas, each consisting of a simple reduction. We begin with the definition of two intermediate problems used in those reductions.
Definition 6.12. The Tripartite Independent Set problem is the restriction of Independent Set on tripartite graphs. In particular, given a tripartite graph, a tripartition of its vertices, and an integer q, is there an independent set of size at least q?
The next problem is a stricter version of our problem, regarding the price that we are allowed to offer to each node. Definition 6.13. The Strict Inequity Aversion Pricing problem is a variant of Inequity Aversion Pricing in which α(e) = 0 for all e ∈ E(G) and the seller is disallowed to offer a customer a price different from the customer's valuation, i.e. p v ∈ {val(v), ⊥} for each node v. Lemma 6.14. Tripartite Independent Set is NP-hard.
Proof. We reduce the general Independent Set problem to Tripartite Independent Set using a construction by Poljak [25].
Given a graph G with n vertices and m edges, we 2-subdivide its edges, i.e., replace each edge with a path of length 3, to obtain a graph H, which is clearly tripartite. We call the vertices added by 2-subdivisions new as opposed to the old vertices coming from G. Now G has an independent set of size q if and only if H has an independent set of size q + m: Starting from an independent set of G, we can add to it one of the 21 two new vertices on each 2-subdivided edge. Conversely, every independent set of H can be transformed into one that is not smaller and contains precisely m new vertices (one for each 2-subdivided edge). The old vertices of this independent set then form an independent set of G.
Proof. We give a reduction from Tripartite Independent Set. Given a tripartite graph G, a tripartition V 1 , V 2 , V 3 of its vertices, and an integer q, we construct an instance of Strict Inequity Aversion Pricing as follows: For each vertex v ∈ V i , we have a bundle of 6/i nodes v with val(v ) = i, for i = 1, 2, 3. For each edge (u, v) of G, we add constraints between all pairs (u , v ) of nodes associated with u and v respectively, setting α(u , v ) = α(v , u ) = 0.
Call H the resulting graph and let R q = 6q. We claim that G has an independent set of size q if and only if there is a feasible price vector for the above instance that guarantees revenue R q . One direction is straightforward. For every vertex v in an independent set of size q in G, we set price val(v ) to every vertex v of the corresponding v-bundle in H. This way no constraint is violated, since we started with an independent set, and each bundle contributes to the total revenue either a value of 6, if it corresponds to a vertex in the independent set, or 0, for a total of 6q.
Conversely, suppose that there is a feasible price vector p for H that guarantees revenue R q , for the strict version of Inequity Aversion Pricing. Because all nodes v in a bundle of H have the same neighborhood, they may be given the same offer (i.e., val(v ) or ⊥). If this is not already the case for p, we can find such a feasible price vector p by using in each bundle the maximum price that p uses on any vertex of this bundle. Since the new prices only go up (without affecting feasibility), p guarantees revenue R ≥ R q . Moreover, under p , a bundle of nodes contributes to the total revenue either 6 or 0, regardless of which part V i their associated vertex v belongs to. Let us denote by S the set of vertices of G such that their associated nodes were not assigned ⊥. From the construction it follows that S is an independent set in G, since we have that α(e) = 0 for every edge e, and therefore, for an edge (u, v) in G, it cannot be the case that the associated nodes for both u and v in H were not assigned ⊥. The size of S is R /6 ≥ R q /6 = q, which concludes the proof. Lemma 6.16. Inequity Aversion Pricing with price set P = {1, 2, 3} is NP-hard.
Proof. We give a reduction from Strict Inequity Aversion Pricing with price set {1, 2, 3}. Consider an instance of the decision version of the problem, i.e., a graph G with edge constraints α(·, ·) = 0, and a single-value revenue function for each node, along with a positive integer t. Let n i = |{v ∈ V (G) : val(v) = i}| for i ∈ {1, 2, 3}. We construct an instance of Inequity Aversion Pricing as follows: For each node v ∈ G, we add val(v) new nodes v with val(v ) = val(v) and impose constraints α(v, v ) = α(v , v) = 0, forming a star with v at its center. Call H the resulting graph and let t = t + n 1 + 4n 2 + 9n 3 .
We first observe that if there is a feasible price vector p for G that produces revenue t, then we can use it to set the price on the old nodes of H, while for each new node v we set its price to val(v ), and the resulting price vector p is still feasible. The feasibility of p follows from the fact that for every old node v, p sets a price of val(v) or ⊥. By the construction of H, it is straightforward to see that this way we extract revenue t .
Conversely, suppose that there is a feasible price vector p for H that produces revenue t ≥ t + n 1 + 4n 2 + 9n 3 . We will construct a feasible price vector p for G as follows. For each v ∈ G, p v = ⊥ if p v = val(v), and p v = p v otherwise. Feasibility follows from the feasibility of p for H (we have only introduced more ⊥s). We next show that p gives revenue at least t.
To do so, we construct a feasible price vector p for H that produces revenue t ≥ t and agrees with p on all old nodes. For each old node v ∈ H such that p v = val(v), we set p v = ⊥, and for all new nodes v that are in a star with v we set p v = val(v ) = val(v). This way we increase the revenue by at least 1 without sacrificing feasibility. Now the revenue extracted using p on H is at least t and a total of at most n 1 + 4n 2 + 9n 3 is due to new nodes. That is, the revenue extracted from old nodes in H using p is at least t − (n 1 + 4n 2 + 9n 3 ) = t. Since p agrees with p on all old nodes, the revenue extracted using p on G is is at least t as well.

A Generalization to Multi-Demand Users
So far, we have always assumed that each node has demand for only one copy of the product. A natural generalization is to consider multi-demand users who are interested in receiving a certain number of copies if the price is affordable. For example, someone might want to buy either a certain number of licenses of a video game (because she wants to play the game with her friends) or no license at all. This would correspond to a type of inelastic multi-unit demand in the terminology of auctions. Assume again that there is enough supply of copies to satisfy all the demand. Then there is a natural way to generalize single-value revenue functions to capture such simple scenarios.
A revenue function R v (·) is called a multi-demand single-value revenue function if there exist an integer s v (the number of copies demanded) and a value val(v) such that: The intuition here is the same as for the single-value revenue functions. Given a multi-demand single-value revenue function for each node, the objective is again to find a feasible price vector p that maximizes the total revenue. We call this problem Multi-Demand Inequity Aversion Pricing. As this is a generalization of Inequity Aversion Pricing, it is immediate that any negative result for the latter yields the same negative result for the former. In particular, by Theorems 6.1 and 6.7, Multi-Demand Inequity Aversion Pricing is NP-hard and APX-hard for the corresponding edge constraints.
Quite surprisingly, we also prove that when the number of demanded copies is polynomially bounded, there is a strict reduction from Multi-Demand Inequity Aversion Pricing to Inequity Aversion Pricing. This directly implies that any approximation factor achieved for the latter is also achieved for the former. Therefore, we establish that the two problems are equivalent in terms of approximability. Note that the theorem holds for general edge constraints.
Theorem 7.1. Let q be any polynomial. There exists a strict reduction from Multi-Demand Inequity Aversion Pricing with demands bounded by q(n) to Inequity Aversion Pricing.
Proof. Suppose we are given an instance I of Multi-Demand Inequity Aversion Pricing, i.e., a graph G(V, E), an edge restriction function α(·, ·), and for each node v her valuation val(v) and her demand s v . We are going to construct an equivalent instance I of Inequity Aversion Pricing. The reduction creates s v copies of v for each v ∈ V and connects them to each other to create a clique K sv . Edges inside such a clique have α = 0. For every edge (u, v) ∈ E all the edges between the vertices of the u-clique and the v-clique are added with the same restrictions as the original edge. Let G = (V , E ) be the resulting graph. If s max = max v∈V s v then we have |V | ns max and |E | (n + m)s 2 max . We use OPT and OPT to denote the optimal revenue of this instance and of the original, respectively. Our goal is to show that for any price vector p for I we can efficiently find a feasible price vector p for I with such that R(p) OPT R (p ) OPT . We begin by proving that OPT = OPT .
Claim 7.2. An optimal price vector p for I sets the same price for all vertices inside each v-clique.
Proof of Claim. Note that α = 0 inside each v-clique, so all these vertices have the same common price p v or ⊥. If there were x, y in a v-clique such that p x = ⊥ ∧ p y = ⊥ then by setting p y = p x we would obtain a new feasible price vector for I that gives greater revenue than p . This would contradict the optimality of p . By Claim 7.2, we directly obtain a feasible solution for I with revenue OPT by setting p v equal to the common price from the v-clique. Therefore, OPT OPT .
On the other hand, each feasible price vector p for I can be adopted as a feasible price vector p for I with the same revenue. To see that, just set the same price p uv = p v for each copy u v of v in the v-clique of G . All edge constraints are satisfied, so the solution is feasible, and it clearly gives the same revenue. By taking p to be an optimal price vector for I, the above implies that OPT OPT. We conclude that OPT = OPT . Finally, we need the following. Claim 7.3. Each feasible price vector p for I can be transformed into a feasible price vector p for I with at least the same revenue.
Proof of Claim. For each u ∈ V , if V u is the set of vertices in the u-clique of G , define u * = arg max x∈Vu p x . Then, set p u = p u * . Such a p is feasible for I because for all (u, v) ∈ E, α(u, v) = α(u * , v * ), where v * is any vertex in V v , and the constraint α(u * , v * ) is already satisfied by p . It is straightforward that R(p) R (p ).
For the price vector described in the proof of Claim 7.3, we have which completes the proof.
It would be interesting to determine whether the hardness of the problem changes when the demands are not polynomially bounded, although such functions are not very realistic in our setting. Notice, however, that even in that case it is not hard to obtain a 1/H p k -approximation in polynomial time by using the best single-price solution. In fact, we would still have a 1/P τ -approximation as in Theorem 3.2.

Concluding Remarks
We studied a revenue maximization problem under inequity aversion for the natural class of single-value revenue functions. Apart from establishing the first hardness results for this class, we also derived approximation algorithms based on combinatorial and graph-theoretic tools, which improve the state of the art when the set of available prices is small. We find this to be a realistic setting as special price offers are usually small in number, derived by specific discount and promotion policies. Clearly, the most interesting open problem is to resolve the approximability for general prices. That is, can we close the gap between the O(1/ min{P k , H n })-approximation and the APX-hardness? Exploring further models of negative externalities is another attractive direction that has not been given as much attention as the case of positive externalities.