A Mechanism for Fair Distribution of Resources without Payments

We design a mechanism for Fair and Efficient Distribution of Resources (FEDoR) in the presence of strategic agents. We consider a multiple-instances, Bayesian setting, where in each round the preference of an agent over the set of resources is a private information. We assume that in each of r rounds n agents are competing for k non-identical indivisible goods, (n > k). In each round the strategic agents declare how much they value receiving any of the goods in the specific round. The agent declaring the highest valuation receives the good with the highest value, the agent with the second highest valuation receives the second highest valued good, etc. Hence we assume a decision function that assigns goods to agents based on their valuations. The novelty of the mechanism is that no payment scheme is required to achieve truthfulness in a setting with rational/strategic agents. The FEDoR mechanism takes advantage of the repeated nature of the framework, and through a statistical test is able to punish the misreporting agents and be fair, truthful, and socially efficient. FEDoR is fair in the sense that, in expectation over the course of the rounds, all agents will receive the same good the same amount of times. FEDoR is an eligible candidate for applications that require fair distribution of resources over time. For example, equal share of bandwidth for nodes through the same point of access. But further on, FEDoR can be applied in less trivial settings like sponsored search, where payment is necessary and can be given in the form of a flat participation fee. FEDoR can be a good candidate in a setting like that to solve the problem of starvation of publicity slots for some advertisers that have a difficult time determining their true valuations. To this extent we perform a comparison with traditional mechanisms applied to sponsored search, presenting the advantage of FEDoR.


Introduction
Resource allocation in an efficient and fair manner among strategic agents (we use the terms agent and player interchangeably), that can misreport their values to increase their benefit, is a non-trivial problem. The most straightforward approach is the design of mechanisms where, once the solution concept is achieved, fairness and efficiency are guaranteed. In order for the designed mechanism to be incentive compatible, economic incentives/payments must usually be designed. In this work, we do not use any economic incentives/payments and hence our mechanism design goals are achieved without any incentive constraint, that is without money. There is a plethora a real world applications deriving from computer science or from social sciences were payments can not be used as incentives for an allocation mechanism.
In the field of computer science, FEDoR can be applied to solve the problem of efficiently allocating CPU cycles between processes. Another application could be the periodical allocation in a fair manner of bandwidth among nodes connected to the same point of access. Imagine the scenario where many nodes are connected to the same point of access. An application could be built to support the feature of nodes declaring how much they value receiving bandwidth from the point of access at a specific time interval. Then, nodes would be served from the point of access according to FEDoR. This would guarantee fairness and efficiency over time for all the nodes. More applications can be imagined, where FEDoR could allocate resources over the cloud. In this case it depends on the policy and the specific implementation on how FEDoR could apply. For example, a number of users with only periodic demands for large amount of resources could be sharing resources using FEDoR instead of resolving into costly provisioning of resources.
Another possible application is hospitals sharing valuable equipment. No allocation based on the money that each hospital is willing to give for renting the equipment can be made. Hence, FEDoR is a perfect candidate, without monetary payments can guarantee that all the hospitals sharing the valuable equipment will be allocated the same machine the same amount of time in expectation and most importantly in an efficient manner (when they most need it). Similar application could also be good candidates for FEDoR, as long of course no life threatening decisions are left to be taken by the mechanism.
Based on the nature of the problem, we assume a Bayesian setting where agents have private information. Agents can be cheating, declaring preferences that do not correspond to their true valuations in an effort to increase their utility. Unlike mechanisms with payments, were money incentives enforce the good behavior of the agents, this is not the case here. FEDoR is designed especially to detect cheating and punish it. This is feasible since FEDoR is designed to work in a repeated setting, which allows the mechanism to gain knowledge on the agents' valuations and appropriately punish misbehaving agents, incentivizing their good behavior. Using the concept of linking mechanisms (explained in the Previous and Related Work paragraph) the mechanism is able to guarantee fairness and social efficiency.
We are assuming that preferences are declared within a common unit measure. In realistic applications, valuations might not even appear within the same unit of measure. Agents might not be able to associate their valuation under a common unit of measure. To deal with this matter FEDoR uses a common normalization process called Probability Integral Transformation (PIT) [1]. Using PIT any cumulative probability distribution function can be transformed to the uniform [0, 1] distribution. Essentially, the PIT of a value x extracted from a probability distribution is the aggregated probability of the values no larger than x in the distribution. Intuitively, it is similar to the percentile of x. Under the assumption that FEDoR has a historical sample of the agents' valuations, a distribution fitting the agents valuations can be defined. Since knowing the agent's valuation distribution is the only thing that we need to know to apply the PIT, from this point onwards we will assume that the valuations declared by the agents follow the uniform [0, 1] distribution. In the work by Santos et al. [2], this approach was used in an analogous way to transform the agent's cost to the uniform distribution (see Fig 1 in [2]). Having transformed the agent's valuation to the uniform [0, 1] distribution, a goodness of fit (GoF) test can define whether an agent's valuation is following its true distribution, and act in an analogous manner; this guarantees that FEDoR is a truthful mechanism (as we prove below).

Non-trivial motivating example
We have mentioned before a number of intuitive examples where FEDoR could apply. What these examples have in common is the difficulty or inappropriateness of using payments to allocate the resources. This fact, in combination with the repeated nature of the setting makes FEDoR a perfect candidate in those scenarios. The good properties of the mechanism though (fairness, social efficiency and truthfulness) can make it a suitable candidate also to scenarios in which payments are essential for resource allocation, for example to sponsored search.
As the business model of search engines' (i.e., Google, Yahoo!, Bing, etc) has evolved over time their main source of income are the ad links delivered to users each time they do a search. For each keyword search, there exists a number of available slots for advertisement in each page of results. Due to the fact that slots are limited while advertisers are numerous, and in combination with the search engines' goal for revenue maximization, auction mechanisms are used for slot allocation.
The setting of sponsored search fits the setting for which FEDoR was designed. A number of slots (goods in the general version) are allocated over r consecutive instances, having the same advertisers (in a simplified version of the problem) competing for them. Each slot can be seen as having a relative value. A simple analysis of the sponsored search auction [3] treats the click-through rate (CTR) of an advertisement as correlated with the slot positioning and hence this is where the relative value for each slot emerges.
Two famous auction mechanisms are the Vickrey-Clark-Groves auction (VCG) [4] and the Generalized Second Price auction (GSP) [3]. VCG is a powerful mechanism that is strategy proof and efficient (in every instance). In VCG the ith highest bidder gets the ith best good, but pays the externality that she imposes on the other bidders by winning that slot. A mechanism like that is difficult to be understood by a normal advertiser (it is also difficult to determine its valuation), making VCG not such a suitable candidate for sponsored search. On the other hand there is GSP, were the ith highest bidder gets the ith best good, but pays to the seller the bid of the (i + 1)st highest bidder. This mechanism is neither strategy proof neither efficient but is easily understandable by the advertiser. In fact this mechanism was developed by Google and it is also used by Yahoo!. Adwords [5] of Google uses this mechanism but also takes into account a "quality score" [6]. Part of that quality score is the click through rate that a specific advertiser is estimated to obtain if she gets a specific slot. In this case, the allocation mechanism is basing its result on the product of the estimated CTR multiplied by the bid; and the payment of the bidder that wins a slot is obtained by multiplying her bid by the CTR. As mentioned in the previous paragraph we have modeled the CTR as a weight of the importance of each slot (like Edelman et al. [3]) and we assume that it is the same for all bidders.
The key business ingredient of the current sponsored search model is promoting high quality advertisement (measured through CTR estimation) and in parallel increase of revenue for the search engine. We argue that in addition to these features, fairness is a valid business model. Fairness, in the sense that no qualified advertiser would suffer publicity starvation (obtaining an ad slot few times or never). To this respect, FEDoR could be used to guarantee fairness. To deal with the payments that the search engine would require, a flat fee for participating in r rounds could be set.
The mechanism could run centrally on the search engine and advertisers would communicate their desire to appear to a certain keyword search. For r instances of this communication with the search engine the advertiser will pay a flat fee. FEDoR guarantees that in expectation the advertiser will appear the same number of times in each slot. It also guarantees truthfulness and social efficiency, meaning that if the advertisers provide their true valuations on the slots they will be receiving a slot when they most value it.
This business model could also apply to recommendation engines. Consider the example of Amazon's recommendation engine, that after a search for a good recommends to you several alternative goods. The way in which a decision is taken on which similar good should be presented to the customer can be based on the FEDoR mechanism, so that fairness among all similar goods will be guaranteed. A similar example is the one of showing adds to a newspaper reader related to the content of the news she read.
Comparing FEDoR to the celebrated VCG mechanism, it is clear that VCG has an advantage since its properties hold deterministically. On the other hand, FEDoR's properties hold on expectation. This means that FEDoR can only be applied on a repeated setting where the agents remain the same. Nevertheless, simulations have shown us that besides fairness, applying FEDoR to a setting where the need of payments is inherent has another benefit. Due to the necessary flat participation fee scheme, the search engine (i.e., the seller) can set this fee in such a way to control her utility and the utility of the advertisers.

Previous and Related Work
The concept of mechanisms without money has been studied before by Schummer and Vohra [7] and Procaccia and Tennenholtz [8]. We are focusing on mechanisms for resource allocation/distribution. To this respect, a related work is the one by Guo et al. [9]. They study the problem of allocating a single item over multiple competing agents in a repeated setting, without the involvement of money. To do this, they introduce an artificial payment system; they propose a number of repeated Bayes-Nash incentive compatible mechanisms and analyze how competitive they are with mechanisms using money. In their setting they assume, like we do, that agents learn their private values before each interaction, and also that preferences are i.i.d according to a distribution that does not change over time. In a later work, Guo and Conitzer [10] design a strategy proof mechanism for allocating multiple heterogeneous goods among two agents, in a single shot, prior-free and payments-free setting. FEDoR promotes a truthful declaration of values, since telling the truth increases the agents benefit (assuming the possibility of the agents being more than two) independently of the other agents strategy. Our mechanism considers a setting of multi-round interactions among the agents, for allocating a set of heterogeneous goods to them. We assume that all agents distributions can be transformed into a uniform [0, 1] distribution, but besides that we have no information about the distribution of the agents. So, FEDoR is payment-free mechanism that achieves fairness and efficiency.
The work by Moscibroda and Schmid [11] investigates mechanisms without payments for throughput maximization and compares their social welfare with payment mechanisms. In comparison with our work, these mechanisms can be applied in a non-repeated setting, but it is not guaranteed that a feasible solution in terms of social welfare can be found. Moscibroda and Schmid shed light on the degree up to which payments are inevitable and the potential benefit from the use of mechanism without payments. In contrast to the kind of mechanisms they consider, in FEDoR there is no need of a trusted entity. Due to the infeasibility of using money incentives in many computer science oriented problems, new techniques developed to substitute monetary incentives, such as the tit-for-tat in BitTorrent [12,13] and money-burning mechanisms [14]. Unfortunately, these techniques can not be easily generalized to other problems. In particular, in [15] interdomain routing is analyzed from a game theoretic perspective and incentive-compatible distributed mechanisms without payments are designed in a repeated setting.
Rahman et al. [16] considers the fairness constraint focusing on P2P systems, and propose an alternative approach to resource allocation that achieves fairness and efficiency on effort-based incentives, as opposed to contribution or output-based incentives. This work is somehow related to ours by the fact that we also consider that fairness is not proportional to the valuations of the agents, but in our work no incentives are necessary to achieve efficiency. In addition, we give analytical proofs of the properties of our mechanism, unlike the work by Rahman et al. [16].
Our work is inspired by the concept of linking mechanisms proposed by Jackson and Sonnenschein [17]. They show that when a lot of independent copies of the same decision problem are linked together, then no incentive constrains are needed for agents to be truthful. The spectrum of players' responses to a probability distribution is known by considering a budget restriction. They show that a linking mechanism is valid when the players' possible decisions are distributed following discrete probabilities. This work is a natural extension of the works by Santos et al. [2], were a mechanism was designed for allocating a single task, that every participating agent desires to have accomplished, but no agent wants to execute. The designed mechanism is called QPQ and also uses the concept of linking mechanism. Two fundamental deferences among FEDoR and QPQ is: (1) they are solving problems with opposite goals, (2) FEDoR considers multiple good assignment in a single round while QPQ solves the problem of single task assignments.

Contributions
In this paper we propose a mechanism called FEDoR that applies to a multi-instance setting, for solving the problem of allocating a number of heterogeneous goods to multiple agents in a round of interaction. The mechanism solves the problem without monetary incentives. Our contributions are as follows: • We propose a distributed solution for our mechanism, one in which no central authority is needed. This does not mean that a centralized solution can not take place, on the contrary.
• We analytically show that FEDoR guarantees fairness. Meaning that every agent will receive the ith best good, for every i, the same number of times in expectation.
• We prove that the mechanism is socially efficient, in the sense that the social utility (the total valuation of the goods assigned) is maximized, subject to the fairness property. This means that agents will often receive the ith best good when they value it the most (over the multiple interactions setting).
• We show that being honest and announcing the real valuation of the goods at every round maximizes the expected utility (value of goods received) of a player. This means that the mechanism is truthful.
• We motivate our social mechanism with a number of examples and apply it to a non-trivial paradigm.
Through these examples and a discussion provided at the end, we motivate the need for the existence of mechanisms without payments.
• Finally, we simulate our mechanism and we are able to compare it in the example of sponsored search with two classical auction mechanisms. In particular: • We compare experimentally FEDoR with the established auction mechanisms Vickrey-Clarke-Groves (VCG) and (Generalized Second Price) GSP, in the presence of only honest workers. In contrast to the utilities in VCG and GSP that are fixed; by appropriately setting a flat participation fee to the auction, FEDoR can achieve any utility for the seller and the player, in the sponsored search example. This advantage of our mechanism comes from the fact that FEDoR is a payments-free mechanism.
• Experimental results go hand by hand with our analytical results asserting the truthfulness and social efficiency properties. Moreover, experiments compare the performance in terms of utility between FEDoR, VCG, and GSP; showing that with FEDoR the utility of the honest players is independent of the percentage of cheaters or their cheating behavior, while in VCG and GSP is dependent.
The rest of paper is organized as follows. In Section Analysis we formally present our model and notation used throughout the document. In the same section we present the FEDoR mechanism and an analysis formally proving its properties. In Section Simulation Results, we presented our simulation results comparing FEDoR with two classical auction mechanisms. Finally in Section Discussion we discuss the advantages and limitations of mechanisms without payments. Also we review briefly the possible limitation of the mechanism and the future directions we are considering.

Analysis Model
Before moving any further, let us define the setting we are considering as well as the problem we are solving.
Definition 1 (Setting). We consider the presence of n risk-neutral players, N = {1, 2, . . ., n}. Every one of the n players participates in a (a priori unknown) number of consecutive instances (each instance is considered a round) of an allocation game. In each instance of the allocation game: 1. k heterogeneous non-divisible goods are allocated among the n players, where 1 k < n.

2.
For every good i, of the k goods of the round, there exist a relative value depicted by the weight w i (goods in each round can be different but the relative values remain the same). We assume that goods are sorted by decreasing weight, i.e., w 1 ! w 2 ! Á Á Á ! w k .
3. Players declare how much they value obtaining any of the goods of the set, this is expressed by a single value.
The outcome set of the game played is the set D of all k-permutations of N (i.e., all posible permutations of the subsets of N of size k). Hence, the outcome d = (d 1 , d 2 , . . ., d k ) 2 D is the ordered list of players to whom the slots will be allocated, so that the player d i will receive the ith slot (whose weight is w i ).
Each player privately observes her preferences over the alternatives in D before the collective choice in the game is made. This is modeled by assuming that player i privately observes a parameter θ i , which determines her preferences over obtaining a good from the set. We say that θ i is the player type, for every player i. The set of all possible types of player i is Θ i . We denote by θ = (θ 1 , θ 2 , . . ., θ n ) the vector of player types. The set of all possible vectors is Θ = Θ 1 × Θ 2 × . . . Θ n . We denote by θ −i the vector obtained by removing θ i from θ.
Thus, we denote by P = Δ(Θ) (in general, we denote by Δ(S) the set of all probability distributions over some set S). the set of all probability distributions over Θ. It is assumed that there is a common prior distribution π 2 P that is shared by all the players. We denote by π i 2 Δ(Θ i ) the marginal probability of θ i . We define π i (θ i |θ −i ) as the conditional probability distribution of θ i given θ −i .
In this work we assume that the player types are normalized, in the sense that Θ i = [0, 1], for every player i. Moreover, for every player i the marginal probability π i of θ i is also normalized as the uniform continuous distribution in the interval [0, 1]. This are not simple assumptions as in the work by Santos et al. [2], applying the Probability Integral Transformation (PIT) we can transform any probability distribution to the uniform [0, 1] Finally, we assume that all distributions π i are independent, i.e., π(Á|θ −i ) = π i (Á). For this reasons we have made the simplification of having our notations free from the concept of the round.
Players' preferences over outcomes are represented by a utility function u i ðd; y i Þ 2 R defined over all d 2 D and θ i 2 Θ i . In this paper the utility function is defined as where δ ab is the Kronecker delta. We assume that the set of outcomes D, the set of players N, the type sets in Θ, the common prior distribution π 2 P, and the utility functions u i are common knowledge for all the players. Similarly, the game rules defined by the mechanism used are also common knowledge. However, the specific type θ i observed by player i belongs to her private information.
A strategy for the player i is a map σ i : bility that the player reportsŷ i when her true type is θ i . A strategy σ i is truthful (and we say that the player is honest) if, for every pair ðŷ i ; y i Þ, s i ðŷ i jy i Þ ¼ 1 ifŷ i ¼ y i and 0 otherwise. As usually done, we will useŷ i to denote the reported type, and θ i the actual type.
In the paper we assume the availability of a goodness of fit (GoF) test, that can test whether a value (a reported type in our case) is a sample from a uniform distribution in [0, 1]. Hence, GoF Testðŷ i Þ is true if and only ifŷ i is a uniform random sample. By this definition we assume that the GoF test is perfect, but this is a theoretical artifice. In Section Simulation Results, through simulations we find a good approximation to a perfect GoF test.
In this paper, we search for a mechanism hΘ, gi, where g :Ŷ ! DðDÞ is the decision function. With this function, gðdjŷÞ is the conditional probability that the mechanism decides d 2 D when the players reportŷ. The mechanism must be without utility transfers (payments) and satisfy the following properties. • Truthfulness. The strategy that maximizes the utility of a player i is to be honest. I.e., • Social Efficiency. If all players are honest, the expected social utility with decision function g is maximized with respect to any other decision function g 0 . I.e., Linking The FEDoR Mechanism FEDoR solves the problem of allocating multiple resources in a multi-instance setting, with a decision function that is such that the properties of fairness, truthfulness and social efficiency are satisfied without utility transfers. Algorithm 1 describes the steps that a generic player i executes and the actions taken by the mechanism. This algorithm represents how the mechanism can be applied in a distributed setting, in the absence of a central authority that takes the allocation decision. In every instance of the allocation game (defined as a new announcement of k goods to be allocated) a player i observes its type θ i . Then, applying its strategy σ i , the player chooses a typê y i that will be reported as the player's bid. These bids are gossiped among all players, so that all of them end with the same vector of reported typesŷ. We are assuming that communication among players is perfect (reliable and synchronous). Once a player has received all the reported types from the rest of the players, the algorithm moves on, applying the mechanism.
Each player applies the mechanism to obtain the allocation decision. The decision function In other words the decision function of FEDoR is one that given the vector of declared typesŷ i provides the vector of players (i 1 , i 2 , . . . i k ) receiving the k goods, by i j we declare the player receiving the jth good. The decision of the mechanism is based on a cheaters (following a strategy besides declaring their true type) detection scheme. Recall that, as we explained in Section Model each player has a uniform continuous distribution in the interval [0, 1] over all instances. This is a common information that all players share and allows them to verify announced types of the rest of the players. If the player i declared typeŷ i passes the goodness of fit (GoF) test then the declared value is accepted. Otherwise the declared value is replaced, by each player, by a pseudorandom value uniform in [0, 1] derived from the rest of reported typesŷ Ài . Since all players apply the same perfect goodness-of-fit test to the same valueŷ i , and the same pseudorandom function to the same vectorŷ Ài , they all assign the same value to v i . As a result, the same vector v is obtained by each player, which contains the values of the players that passed the test and the generated values for those that did not. The mechanism allocates the k goods in order to the k players with the highest value in the vector v.
It is important to notice that the algorithm is the same for all players and that it is based on information known by all of them. Therefore, no central entity is required to apply the FEDoR mechanism. Of course, if the environment is such that a central authority is available, the algorithm can trivially be transformed to accommodate a centralized solution using FEDoR.

Formal Analysis
In this section we analyze the FEDoR mechanism and we show that the three desired properties described in Section Model, namely fairness, truthfulness, and social efficiency are satisfied. We start by proving the latter.
We show that FEDoR is socially efficient if all players are honest. To prove this, first we prove that there is no mechanism that has a decision function that gives a higher utility to a player, independently of the declared types Θ.
Lemma 1 There is no mechanism hΘ, gi such that Proof. Assume the claim is not true. Then, there is a mechanism hΘ, gi such that This means that there is at least one θ such that X Let d x = (x 1 , x 2 , . . ., x k ) be an outcome that maximizes . On the other hand, let g f (d f |θ) = 1 for d f = (i 1 , i 2 , . . ., i k ). By the definition of u i , this means that P k j¼1 y x j w j > P k j¼1 y i j w j . However, this is not possible, since w 1 ! w 2 ! Á Á Á ! w k , and the values θ i j are the largest values in θ in decreasing order, i.e., θ i 1 ! θ i 2 ! Á Á Á ! θ i k . Hence, the mechanism hΘ, gi does not exist.
Since there is no mechanism that has a decision function that is better than the one of FEDoR mechanism, then we can also proof that when all players are honest (a.k.a declaring their true type) the social utility (i.e. the total utility of all players) is maximized.
Theorem 1 (Social efficiency). For any mechanism hΘ, gi and strategies σ i , 8i 2 N, it holds that E½ X i2N X d2D u i ðd; y i Þg f ðdjyÞ ! E½ X i2N X d2D u i ðd; y i ÞgðdjŷÞjs 1 ; . . . ; s n : Proof. Assume the claim is not true, and hence there is a mechanism hΘ, gi and strategies σ i , 8i 2 N, such that Then, let us define a new mechanism hΘ, g 0 i as follows. g 0 ðdjyÞ ¼ contradicting Lemma 1.
We will now start proving the truthfulness property of the FEDoR mechanism. Let us denote by E½Û i js 1 ; . . . ; s n the expected utility of player i under the FEDoR mechanism when players follow strategy σ i , 8i 2 N.
Lemma 2. For any non empty set of players S & N, the total expected utility of the players in S does not depend on the strategies of the rest of players.
Proof. We start by proving that the expected utility of a player i does not depend on the strategy of another player h 6 ¼ i. In particular, we will show that E½Û i js x ; 8x 2 N ¼ E½Û i js x ; 8x 6 ¼ h; h honest, i.e., that the utility of i does not depend on whether h is honest or not, which implies the former statement.
For every player x 2 N, let f x (v x , θ x ) be the density function of the pairs of values (v x , θ x ), where θ x is the type observed by player x and v x is the entry corresponding to x in the vector v used to decide in FEDoR (see Algorithm 1). If the strategy σ x (Á) induces a uniform distribution on the reported typesŷ x (recall that θ x does follow a uniform distribution), then the values v x will always be the declared types (bid)ŷ x . Otherwise, the GoF test will always fail and v x will be pseudorandom values generated from the rest of declared values. In any case, the values v x are uniformly distributed, and the function f x is independent from the rest of functions f i , 8i 6 ¼ x. Moreover, the marginal distributions of f x (v x , θ x ) must also be uniform.
Let us consider any player i 2 S. The expected utility E½Û i js x ; 8x 2 N] of the player can then be computed as dv 1 Á Á Á dv n dy 1 Á Á Á dy n ð10Þ f hÀ1 ðv hÀ1 ; y hÀ1 Þf hþ1 ðv hþ1 ; y hþ1 Þ Á Á Á f n ðv n ; y n Þ ð12Þ f hÀ1 ðv hÀ1 ; y hÀ1 Þf hþ1 ðv hþ1 ; y hþ1 Þ Á Á Á f n ðv n ; y n Þ ð15Þ dv 1 Á Á Á dv n dy 1 Á Á Á dy hÀ1 dy hþ1 Á Á Á dy n : Linking Mechanisms for Resource Allocation The first equality follows from the independence of f h from the other f j . The last equality follows from the fact that R 1 0 f h ðv h ; y h Þdy h ¼ 1, from the uniform marginal distribution of f h with respect to θ h . Now, applying a change of variable, we can replace in the above expression v h by θ h , resulting after reordering in f n ðv n ; y n Þdv 1 Á Á Á dv hÀ1 dy h dv hþ1 Á Á Á dv n dy 1 Á Á Á dy n ð19Þ This property can now be applied iteratively for every player h = 2 S, showing that the expected utility of i 2 S is independent of the strategy of the players in S. Summing over all the players in S the claim of the lemma is proved.
Using Lemma 2 we can proof the truthfulness property. Theorem 2 (Truthfulness). The strategy that maximizes the utility of a player i is to be honest. I.e., E½Û i js x ; 8x 2 N E½Û i js x ; 8x 6 ¼ i; i honest.
Proof. Assume for contradiction that the claim is not true. Then, there are strategies σ x , 8x 2 N such that From Lemma 2 we have the following identities (the third one uses linearity of expectations).
Replacing Eqs 22 and 23 in 21, we obtain Which added to Eq 24 yields However, this contradicts Theorem 1.
We concentrate now in the fairness property. Recall the FEDoR mechanism as it was described in the previous subsection. Either because the player reports types that are uniformly distributed, or because they are replaced by FEDoR with uniform pseudorandom values. The values v i of the vector v used to distribute the goods are independent random samples form a uniform distribution [0, 1]. Hence the following theorem.
Theorem 3 (Fairness). Every player i (honest or not) has the same probability 1/n of getting the jth slot, for every j.
Proof. Since the elements of the vector v are independent uniform samples as mentioned, the probability that the value v i is the jth largest in v is n À 1 Then the probability that a player i has the jth largest value in v, given that v i takes values uniformly between 0 and 1 is Finally, we will analyze the expected utility of the players depending on their strategy. We start by presenting the expect utility of an honest player. Observe that the utility obtained is independent from the strategies of the rest of players, as proven in Lemma 2.
Theorem 4. The expected utility of an honest player i is nðnþ1Þ . This value is independent from the strategies σ x , 8x 6 ¼ i.
Proof. Since i is honest, she reports her true type θ i , which follows a uniform distribution. Hence, it holds that v i = θ i . As in the proof of Theorem 3, the probability that the type θ i is the jth largest value is n À 1 Then, the expected utility can be computed as We now find the utility of a player i that is not honest (a.k.a cheater), but she reports values that are not uniform (and hence the goodness-of-fit test always fails) or she reports typesŷ i that are uniform but independent of her true types θ i . Observe that this theorem does not consider the case when the types reported are uniform and somehow correlated with the real types (this is left to be shown experimentally). Theorem 5. The expected utility of a dishonest player i that reports non uniform types or types independent of her true normalized uniform distribution is E½Û i js x ; 8x 2 N ¼ 1 2n P k j¼1 w j . Proof. In this case, the value v i used to distribute the slots follow a uniform distribution that is independent of the actual type θ i of player i. Hence,

Simulation Results
FEDoR is a mechanism for distributing/allocating goods, without monetary incentives, in the presence of strategic agents. It guarantees an allocation of the goods that will be fair and socially efficient, given that the mechanism is truthful (strategy-proof). The good properties of the mechanism are feasible under a specific setting, discussed in Section Model. Under that setting, we simulate FEDoR in the scenario of sponsored search (presented in the Introduction section). Simulations compare FEDoR with the VCG and GSP mechanisms in two cases: (1) only honest players are present, (2) dishonest players are present. Additionally, simulations examine the cost of not having a perfect GoF test and the length of the historical test that would yield an almost perfect GoF test.

Presence of only honest players
In this scenario we look at an instance where the players are following an honest strategy. This could happen either because the mechanism is strategy proof, which is the case of VCG and FEDoR or because they just choose to follow an honest strategy. We consider the scenario of sponsored search and we compute the utilities of the seller and and the players in all three mechanisms. The utilities are computed in two distinct scenarios: (a) the presence of 9 players is assumed and the number of the available ad slots k varies from 1 to 8; the weight for each slot values in decreasing order from k to 1. (b) the number of ad slots is fixed to k = 3 and the number of players varies from 4 to 9. Additionally we assume that, for the purpose of experimentation, the GoF test used is perfect. The results obtained are presented in Fig 1, where we plot the utility achieved by one of the players (all players are honest and follow a uniform distribution) against the utility of the seller. In the case of FEDoR, we plot the utility values assuming that the same flat fee is paid by every player, so that the utility of the seller is simply this flat fee multiplied by the number of players. The utility of a player, on the other hand, is the value she assigns to the slots she gets (which is essentially the value given in Theorem 4) minus the flat fee. In Fig 1(a) it can be observed that the utilities are the same for VCG (with externality) and GSP in the case of auctioning one slot. When the number of slots increases, the utility of the seller is greater with GSP than with VCG, while on the other hand the utility of the player is greater with VCG than with GSP. This behavior was expected since GSP is a mechanism that favours the seller. Moreover, it is not strategy proof, something that would not put the player in an advantageous position if she is honest compared to VCG. The utilities with the FEDoR mechanism, on its hand, form a line that is a function of the flat fee players pay. It is worth to observe that all the points that correspond to GSP and VCG utilities are on the FEDoR line, which means that with the appropriate value of the flat fee, FEDoR can achieve the same seller and player utililites as GSP and VCG. Moreover, the advantage of FEDoR, as it is shown in Fig 1  (a), is that the flat fee provides a tradeoff between seller and player utilities, and allows to chose any point in the lines shown in the figure. Hence, FEDoR has an adjustable performance that can be changed depending on the needs of the seller. In Fig 1(b) we make similar observations and derive the same conclusions. Again the utilities of GSP and VCG lie on the FEDoR line, and the utilities with FEDoR can be tuned with the flat fee. In addition, we notice that when the number of players increases, their utility decreases in all three mechanisms. On the contrary, the utility of the seller increases in all three mechanisms when the number of player increases.

Presence of dishonest players
In this section we assume that the players are dishonest set as our GoF test the Kolmogorov-Smirnov (KS) test and we evaluate its performance. Through simulations we examine the conditions under which the KS test performs optimally and we evaluate the impact of this optimality to our mechanism. Simulations show that FEDoR is a truthful mechanism. We compare the utility of FEDoR with VCG and GSP in a number of scenarios where the cheating behavior of the players varies. Having as a base case the scenario where all players are honest, we compare the way in which the honest and dishonest players' utility is affected. Finally, we show how the social utility is affected by the presence of dishonest players in all three mechanisms considered.
Unless otherwise stated, our results have been obtained by running 100 experiments of 10000 rounds (auctions) each. The number of participating players is 9 and the number of slots is k = 3. The weights assigned to the slots are w 1 = 3, w 2 = 2, w 3 = 1. Recall that honest players are considered the ones that reveal their true valuation for the set of goods. Cheater players are the ones declaring a different valuation from their actual valuation on the set of goods. All players' private valuations follow independent uniform distributions in the interval [0, 1].
To evaluate the impact of the presence of dishonest players in their utility, the utility of the honest players, and also in the social utility, we have simulated 10 distinct scenarios. The scenarios we consider are as follows. Scenario A: 9 honest players following the uniform distribution, B: 8 honest players and one cheater with normal distribution (μ = 0.5, σ = 0.15), C: 8 honest players and one cheater with beta distribution with β = 0.9, D: 8 honest players and one cheater with beta distribution with β = 0.7, E: 8 honest players and one cheater with a random uniform distribution (different from its own distribution of values), F: 6 honest players and 3 cheaters with random uniform distributions, G: 6 honest players and 3 cheaters with beta distributions (β = 0.9), H: 6 honest players and 3 cheaters with beta distributions (β = 0.7), I: 6 honest players and 3 cheaters with normal distributions (μ = 0.5, σ = 0.15), J: 5 honest players, 1 cheater with random uniform distribution, 1 cheater with beta distribution (β = 0.9), 1 cheater with beta distribution (β = 0.7), and 1 cheater with normal distribution (μ = 0.5, σ = 0.15).
First we examine the performance of the KS test when it is used as the GoF test in FEDoR. Fig 2 evaluates the impact of the history length in the accuracy of the test. As it can be seen the KS test is a good fit for our mechanism. The history length refers to the number of values the test keeps as a reference to decide whether the new value reported by the player follows the uniform distribution. Notice that, in all three graphs of Fig 2, in the case where the player has a uniform distribution, as the history length gets smaller, the number of false positives increases. In addition to that, we have checked what happens in the case when the player cheats with a distribution that may resemble (or not) the uniform distribution. We have chosen the beta distributions with different parameter and a normal distribution. As you can see from the plots in Figs 3 and 4, with a beta distribution and a large β parameter, the player can approximate the uniform behavior, and thus it is difficult for the KS test to identify a cheater. Notice that in all three graphs of Fig 2, as the length of the history test decreases, the percentage of true positives decreases. For different values on the upper bound threshold of the p.value (which decides the acceptance of a value based on the history), we have noticed that using a p.value < 0.1 is a good balance between having large percentage of true positives and not having too many false positives. For example, for a history length of 1000 rounds (which is a value that does not give a great overhead to the mechanism), in Fig 2(a), where p.value < 0.05, the true positives are close to 75%; in Fig 2(b), where p.value < 0.1, the true positives are close to 82%; while in Fig 2(c), where the p.value < 0.2, the true positives are close to 95% while the false positive are much higher than in the other scenarios (close to 20%). Hence, selecting 1000 rounds as the history of the mechanism, provides a good performance and is large enough if we compare it with the 10000 rounds that our scenarios execute as part of the online auction process. In the rest of the section we will run experiments with a history length of 1000 and KS test with p.value < 0.1. Before actual auctions are run, the history buffer is filled with 1000 values, so the results are not affected by history's transient states.
We investigate now the utility of the honest players and cheaters in a variety of different scenarios, while having the KS test as our GoF test. In this study we assume that the players pay   no flat fee. We have shown analytically (assuming a perfect GoF test) that the best strategy for each player is to be honest. Our experimental results come to assert this even in the case where the GoF is not perfect. From Fig 5(a), the utility of the honest player is greater than the cheater in all scenarios considered. Independently of the behavior of the rest of the players, the mean utility of the honest player is around the same value of 5400. There is no cheating strategy that will give a higher utility. Especially in scenarios C and G where the player cheats with a beta (where parameter is β = 0.9) indeed the cheaters increase their mean utility by roughly around 500 units but still the mean utility of the honest player is around 1500 units higher. This also proves the efficiency of the KS test for p.value < 0.1 and history length 1000. The horizontal (blue) line in Fig 5(a) represents the value of utility as it is calculated from the analytical part. Notice that the analytical value is quite close to the experimental with the single exception of the player cheating with beta, where β = 0.9.
Going one step further now we compare the utility of players when FEDoR is used with the cases where VCG and GSP are used. As Fig 5 shows, the honest player has always a larger utility compared with the utility of the cheating player in all scenarios considered, and in all mechanisms. However, in some scenarios the distance between the utility of a cheater and an honest player is very small (see, e.g., scenario H in Fig 5(b)). It is also interesting to notice that in FEDoR in scenario A, where all players are honest, the utility of the player is maximized compared to the honest players in the rest of the scenarios. This is not the case for the other two mechanisms (see scenario I for both VCG and GSP).
The utility of an honest player with VCG and GSP can vary significantly depending on the scenario. In any case, it is always around 1100 for VCG and 700 for GSP. Comparing with FEDoR, the utility of an honest player with the latter is up to four times larger than those with VCG and GSP. This is due to the fact that in our experiments we assumed that the flat fee of the player is zero. As we showed though in Fig 1, the flat fee is something that can be adjusted to match the desired utility of the player (or the seller).
Finally, from Fig 6(a) we see that the social utility is maximized in FEDoR when all players are truthful (scenario A compared with the rest of scenarios). This does not hold for the other two mechanisms. As you can see from Fig 6(b) and 6(c) scenarios B and I (where dishonest players cheat with normal distribution μ = 0.5, σ = 0.15) have greater social utility than scenario A where they are all honest. We can also notice that the social utility in FEDoR is up to four times larger than those of GSP and VCG (but, of course, we are assuming no flat fee).

Discussion
Although powerful mechanisms (such as VCG) exist that, under monetary incentives, achieve the designed goals, cashing out payments is not always feasible. Maybe the system is distributed and no central authority exists that can guarantee the payments, or payments are too impractical. Another possibility is that the nature of the setting is such that payments are not allowed (i.e., a public common good). According to [18,19] mechanisms without monetary incentives have limited capabilities. A case by case study is the only hope for finding mechanisms with good properties and without payments, like in [11,15]. FEDoR is a general mechanism that is truthful, fair and socially efficient, and without using monetary incentives. The inherent repeated nature of FEDoR, though, makes it applicable only to settings with infinite or unknown number of repetitions. If the number of repetitions is known to the agents, then they can devise a strategy that would maximize their utility and potentially lead to a non-truthful mechanism. Our intuition is that, if the nature of the problem allows it, mechanisms like FEDoR can be devised for other problems as well. Taking advantage of the repeated interaction between the agents, and applying the concept of linking mechanisms, should allow to derive other mechanisms without payments for multiple combinations of desirable properties (i.e., different fairness criteria, strategy proofness, social efficiency, etc). An additional advantage, as we have seen experimentally, is that a mechanism without payments like FEDoR was able, without incentivizing the workers through payments, to provide a way for the mechanism designer to select its utility and the utility of the participating players.
While FEDoR is a mechanism with several interesting features, there are some issues that are worth discussing. FEDoR assumes that the valuations of the players follow a uniform distribution. Although this might seem as a constraint, if the real bids do not follow such a distribution, they can be transformed by using the PIT transformation, as proposed by Santos et al. [2].  Linking Mechanisms for Resource Allocation Moreover we make the assumption that all players have i.i.d. valuations. As this is a first approach towards this line of mechanisms without monetary incentives we wanted to keep our model simple. In an extension of the mechanism, we plan to explore the correlated case where players distributions are correlated with those of other players [20].
An additional extension to the mechanism would be to allow players to provide their valuation for a particular good of the set and not for the whole set, as it is implemented now. This is yet another challenge, since players might have correlated preferences between certain goods in the same or different round.
For the sponsored search scenario we have considered that all players pay the same flat fee. There could be the case that players with a higher budget would like to claim a larger number of slot over the consecutive rounds, something that FEDoR does not allow to happen due to the fairness property. An approach to solve this constrain of FEDoR would be to allow a player with a higher budget to participate with more than one identity. As a consequence, she will be increasing the amount of goods that she will receive, proportionally to the number of identities. Again though, allowing players to have multiple identities one must assume that that players might have correlated preferences.