 In this module we are going to discuss some of the advantages and disadvantages of the BCG mechanism. So the first thing that we have already noticed that BCG mechanism is Dominion Strategy Incentive Compatible which is a very desirable property that it gives very little cognitive load on the bidder. So if a mechanism is not truthful then the agents have to really find out what is the most optimal way of lying and that gives a larger amount of cognitive load while if the mechanism is truthful then it is very simple whatever is your true value you just reveal it and that requires no sort of computation on the agents or the players end. So that is a very desirable property of a mechanism and BCG satisfies that. We have also seen that this mechanism has no deficit so and also it does not provide any subsidy to any agents if the items are good then it can be assured that the mechanism designer is always going to get some non-negative amount of money out of it but it will never run into losses. Similarly the third desirable property is that it never charges to a losing agent an agent in the context of allocation of goods we have seen that if you do not give any object to a specific agent so if an agent's allocation is empty then the payment under this BCG mechanism will also be zero so it never charges that and we have also seen under fairly general conditions the individual rationality property is also satisfied. So by participating in this mechanism nobody is going to lose their utilities so their utilities will always be non-negative by participation. But like any other mechanism BCG is not without any disadvantages so there are few undesirable properties which comes as a side product of the BCG mechanism is something that we are going to discuss here today. So the first property the first limitation we would say that is there is this problem with privacy and transparency so notice that whenever there are this kind of truthful mechanisms and this is not only related to BCG it is true for every truthful mechanism so any truthful mechanism reveals the valuations or types in the truthful way and if there are multiple organizations or players who are competing with each other so for instance there are two telecommunication companies who are trying to get some spectrum the spectrum in the same area and if this mechanism is run then they will have to reveal their valuations truthfully because that is guaranteed by this mechanism but they really do not want the competing company to know what their true value for that spectrum is. So this is one issue with privacy that all the truthful mechanisms encounter including BCG. The second property is with transparency so if you imagine that the auctioneer is not so trustable so we have always assumed that the mechanism designer is kind of a benevolent kind of entity so it does not have any reason to do any kind of malicious activity but if that is not true so imagine a situation where let us say we are running a second prize auction we are selling a single indivisible object and the highest bidder is way above the second highest bidder so maybe the highest bidder is having value for that object as 1000 rupees and the second highest bidder is maybe 1 or 2 rupees so even though the auction the item for that auction has been given to the highest bidder it is only charging it let's say 2 rupees so this is a serious loss in revenue for the auctioneer so a malicious auctioneer might like to introduce some fake bidders once it realizes that the revenue earned by this second prize auction or BCG mechanism is going to be very low then it can introduce some other fake bidders whose valuation is very close to let's say 1000 rupees so in that case it is earning a lot of money but it is certainly a problem with transparency of the BCG mechanism so this mechanism essentially leaves that option of such malicious activity. The second property, second limitation of BCG is that the mechanism is very much dependent on the fact that the agents cannot communicate with each other so this is a non-cooperative game setup and the guarantees are also based on the non-cooperation between the different agents but if that is not true so let's say these agents could form collusions or groups and then they collectively decide that we will bids so and so then possibly we will see in this example that the mechanism is not truthful anymore so they can collude and misrepresent and both be better off. So here is one example how it can be done so suppose there are three players and the original valuation for this allocation A is 200, 100 and 0 for these three players and similarly for the outcome B for the allocation B it is 00250 so player three likes B much more which has no value for the other two players and player one and two values A much more and it has the player three has no value for that. All right so you can compute what is the the VCG payment if they reveal it truthfully so assuming the the standard setup where these agents cannot communicate with each other you will find that the payment is going to be 150 and 50. Okay so now if players one and two they make a contract that will will bid in this so we we are going to get A so in which is the current outcome anyway but we'll bid in such a way that our payments go down so how can they do it player one can bid 250 and player two can bid 150 so they are actually increasing their bids and by doing so they still keep the same outcome so in the original game the outcome was A and this continues to be A because it is only looking at the the sum of the values in these columns and it picks whichever has whichever allocation gives the maximum sum of the value that is the efficient allocation so it was A before it it continues to be A but what what you can observe here is that if you now compute the payment of player one so if you remove this agent so the outcome essentially now changes to B and the sum of the value of the other agents so that is the that is how the payment is computed you look at the you remove a specification look at the the the alternative for the valuation the the sum of the valuation that is the maximum for the rest of the players and when the agent is present you look at what is the sum of the valuation at the at that allocation at that efficient allocation for the rest of the players so clearly when the agent is not present the sum of the value is 250 when the agent is present because the player 2 has also reported its value to be 150 so this the sum of the valuation of the other agents becomes 150 so the the payment for agent 1 becomes 100 instead of 150 which it was playing earlier and now if you look at this player 2 it's if you if you remove that agent the the sum of the the the sum of the value of the other agents does not change so there is a tie it does not matter whether you pick A or B or whatever you you pick you have that value as the sum of the values for all the other players and when the agent is present then also at the efficient allocation the sum of the value of the other players is 250 plus 0 because that's the so player 1 has actually reported 250 so these two things cancel each other out and the the payment that player 2 is supposed to make is 0 as opposed to 50 which was which it was paying earlier so clearly these two players by misreporting their valuation is actually getting a higher payoff because their payments are going down they still get the same outcome which is A so this is a clearly not collusion proof VCC mechanism is clearly not collusion proof the third limitation is that this mechanism is not even frugal so by frugality we mean that the the payment that has that has been collected by the mechanism is not the minimum payment so it is not trying to sort of optimize the payment that has been that is being collected by the mechanism designer it is certainly certainly no deficit so the mechanism designer will never run into losses but the kind of total payment or the surplus that it can extract could be huge and here is one example how it can be huge so this is essentially a situation which is just the reverse of of what we have discussed so far so so you can think of this as a transportation network like this different supply chains have let's say amazon has or flipkart has their own networks where they can transport this and each of this ages so when you are transporting so maybe you are going from the source to its to the destination A to F and you might take different paths and each of these paths have a certain amount of cost so all these numbers are essentially costs so you can imagine that these are a negative value so the the numbers that are shown it is essentially the negative of that is essentially the value for that age so if a specific agent let's say AB so each of these ages are the agents players in our case and they are incurring this cost of three if they are transporting it now suppose we want to find the the that transportation path which is which minimizes the the sum of the costs and this is I mean you can figure this out this is the efficient allocation so one can find the shortest path in this graph from the source to destination and AB in this case happens to be the shortest path and that will that will be the the outcome for the the efficient allocation under VCG mechanism now it is time to pay each of these ages some amount of money and one can see that here the VCG payment will be negative which means that these agents are getting paid okay so let's calculate what is the the the payment let us focus on only this age so this age here and consider this player which is the AB age so what is the payment the VCG payment that it gets so the first thing is if this agent was not present what is the sum of the of the costs of all the agents so if this agent is not present so then you could not have taken this AB EF path anymore you'll have to go go for some other path in the rest of the network so if this age is not present in the rest of the network how you can transport the object from source to destination you'll have to take this AC EF path and that gives you a cost of minus two minus three and minus one so that is the the sum of the value of all the other agents except agent I when agent I is not present so in this case agent I is this age AB so that is that is the first term and the second term is the sum of the the the values of all the agents and the efficient allocation for the other players except agent AB so that will be minus one here and this minus one here so that that is going to be the sum of the valuation so so you you can subtract that out and you get minus four which is the payment so four is the amount that is being paid to this age AB now let us consider a situation where this somehow this cost of this age has gone up so not the cost of agent AB so in in fact the in that optimal path or the shortest path no costs have changed but the costs have changed for some other ages so for instance in this case the AC age for whatever reason maybe it is getting difficult they don't have that the previous transportation mode anymore so therefore their costs might have gone up so let's say the cost has gone up to eight in this case because this VCG mechanism is sort of trying to find that the VCG payment is essentially trying to find the marginal contribution for each of these players so now the marginal contribution is significant because if AB was not present then in order to transport the same thing to the destination you might have incurred a large amount of cost and that is essentially asking the mechanism to pay AB much more highly so you can do the math that now the cost of when agent I is not present agent AB is not present so this will be the cost the sum of the costs of all the players except agent I and when if you are looking at the efficient allocation for the other players nothing has changed but now what you can observe is the cost has so the payment of AB has gone up significantly and why you set the cost to eight you can arbitrarily increase it so if a specific age a different age in the network keeps on changing you can see the payment to a specific agent keeps on changing it has no relationship with the cost of that particular age or that particular shortest path but yet it will be asked to pay a very large amount of money and this is certainly not frugal so this is one of the limitations of the VCG mechanism. The fourth limitation is something like which is quite counterintuitive so the intuition in general mechanism design or in any kind of trade is that whenever you have more population you might be able to increase your revenue right so if not increase weekly increase so it might remain the same or it might increase but it never should go down but that revenue monotonicity is going to get violated in the case of VCG mechanism and here is one example so suppose initially we had two agents one and two and there are two allocations alternatives that could have been made and in this case you can see that player one prefers m over f while player two prefers f over m and these are the numbers that is representing their their valuations for each of these objects alternatives so when you compute the VCG mechanism this agent is is pivotal because if that agent two is not present then the outcome definitely changes to m but player one is not pivotal in this two agent case so it pays zero while this pays the the the valuation of the other player so because these are only two players this is similar to a second prize auction fair enough so when you have two agents the auction year actually gains 90 amount of money now suppose a third agent comes in and third agent also has a preference for f and it is essentially an identical valuation of two now what suddenly happens is that now neither of this one two or three are critical agents or pivotal agents if you remove two now the outcome does not change if you remove one it it will not change even if you remove three the outcome won't change so the outcome will always be f in this case so therefore the because there is no pivotal agent anymore so the payment the VCG payment for each of these players would be equal to zero so you can see that the revenue monotonous it is violated earlier we were getting a valuation in the payment of 90 now we get a payment of zero so that is that is certainly something which is which is undesirable in the context of mechanism design and finally this mechanism is also not budget balanced so we have already seen that it is no deficit but we have also seen the case that the the earned revenue could be very large and the the problem is that you could have thought that this excess revenue that we are getting this could be redistributed among the players and therefore we can satisfy the budget balance now the trouble is that if you if you design your mechanism in that way then the players their incentives or their utilities are already getting changed because they know that at the end of the game they will get back some amount of money and now because the payment is not VCG anymore you are changing the payment by while giving back your redistributed money they might misreport and they might get get a better outcome better utility so the in order to make this budget balance what you are losing is strategy proofness and that is certainly a much more primary property that we we want you can think of a different and a simple mechanism where you are partitioning this agents into two classes so let's say if there are 10 agents I make two partitions of five and five each run a VCG mechanism on each of these subclasses and whichever revenue is generated we give it to the other class we equally distribute for the other five agents and vice versa so the revenue that you are getting generated in the second class that will be distributed equally to all the agents in class one but now what we are compromising maybe you you can already begin to see this this is a compromise to the efficiency because now the allocation that you are going to do first of all it does not apply to all kind of setups so for instance if you are talking about one single decision let's say building a bridge or building a building a park those kind of decisions public good decisions then you cannot do it because population might like it differently than the than the different than a different class so you cannot really take such kind of a decision but for certain kind of situations so for instance if you are just allocating objects so they they only have objects to be allocated so then we can partition the objects as well and then do this mechanism but still what you could have done by looking at the the whole population together would have been efficient and by partitioning it into groups you are already losing the efficiency condition so you are not allocating the objects in the most efficient so of course there is this problem the surplus so this surplus has to be taken away so the mechanism cannot redistribute it in any way of course there are certain classes of mechanisms which does this redistribution as we discussed in this case and they try to give certain guarantees under certain special conditions but in general efficiency and budget balance is not possible to get satisfied this is a result that we'll discuss much later in the course so this surplus which is to be taken away or destroyed is also known in the literature as money burning so you are taking this money and you are as if you are burning it off so you can look at this tradeoff between money burning and efficiency in a little older work of mine if you are interested so this is about the efficiency and budget balance the precise two properties that we are talking about in the general quasi-linear domains but why did we discuss all these limitations just to give you a feeling that under which situations you can more effectively use VCG mechanism. VCG comes with lots of positive properties and there are certain limitations as well so by knowing the limitations you can be using you should you are actually looking at both sides of this mechanism so you can be able to use it much more effectively