 Now we are ready to begin the discussion on mechanism design which is the inverse thing of game theory that we have discussed so far and to motivate this mechanism design problem let me start with a story. I am sure that you have heard this story in some form or the other in the past. So this is a story about one king and two women who both of whom are claiming to be the mother of a child and they come to the king's court and says that they want this child and ask the king to decide who is the rightful mother of that child. And you know the rest of the story. The king says that let's cut this baby into two and give it to each of these women and listening to this one of the women says that I give up my claim and then the king comes to know that this is the right mother and gives the child to her. Now presumably this is a nice mechanism and you might be wondering that this is a brilliant way of deciding who is the right mother. But if you think carefully about it you can see some of the flaws of this mechanism. So what happens if you try this mechanism once more will that work? So for instance tomorrow if another similar dispute happens and the king tries to do the same thing and both the women give up their claim to the child then the mechanism cannot decide which of these women to give the child to. So the problem with this mechanism, this particular mechanism is that it is not committing to its rules. So initially the rule was to cut the baby and then give it to each of these women and then later based on the reaction of these women it is changing its rules. So that is not the kind of mechanisms that we will be discussing in this course. We will be interested in mechanisms which are committed to its rules. So no matter whatever happens you can repeat it multiple times without losing any of its properties. So think of a different mechanism. So if the king asked for both these mothers to keep some amount of wealth, whatever wealth they feel this child is worth to them they can bid for that and then decide in favour of the woman who bids highest and then ask her to pay the second highest bid that is the losing bid. So presumably the real mother must have much higher value for that kid and it would have a bid all its wealth whatever it she has for that baby and then the other person will have much lower value and at the end she gets that baby maybe at a much lower cost and if you think about this mechanism every time you run this mechanism this will work. In the later part of this course we will certainly discuss about this mechanism although not in this context but in a different context. So the whole point of telling this story is that there are certain mechanisms which are not committing to its rules and there are certain mechanisms which commits to its rules and therefore it can be applied every time and that is the kind of mechanism that we are going to discuss in this course. To summarize the idea of mechanism design the objectives or the desired outcomes are already set and the task is to set the rules of the game. As in this example there are many other examples so for instance election or deciding the winner of an election that is one desired outcome of course we need to decide the winner of the election based on certain objectives and we can set the rules how we can get those objectives or we can do certain kind of a resource allocation. So let us say scarce resource something like spectrum or cloud resources that can be licensed or given away with respect to certain desirable properties. Similarly matching students to universities this is a this is also mechanism design problem. So let us formally present the general model of mechanism design as before we have a set of players with the with the set X we denote the set of outcomes. So for instance in this previous example the winner in an election is one of the outcomes so the possible set of candidates in that election is this set of possible outcomes. Similarly which resource should be allocated to whom so all possible allocations are feasible set of outcomes in this mechanism design problem. Now we are also interested in defining another set which is called the theta of i capital theta of i this is known as the set of private information of that agent i and we sort of seen this kind of a situation in the case of Bayesian games. We have also defined the type set and this is this actually uses the same name so this set is called the type set and a specific type of player i is denoted by lower case theta of i which belongs to this set of capital theta i. So the meaning of type is that it can actually manifest the preferences of different outcomes in different ways. So let us look at two different paradigms on which this kind of a type is defined. So the first first kind of manifestation is ordinal manifestation which means that we can only talk about the ordering over this outcomes. So the most simple example will be in the context of election or voting every individual agent every voter has a complete ordering or partial ordering over the candidates in that are contesting in this election. So let us say someone prefers a over b over c that could be one way so this particular ordering might be one theta of i. So that is an ordinal ordering. Notice that we are not really saying anything about how much you prefer so in this case we only know that a is more preferred than b and b is more preferred than c but nothing is said about how much they are preferred. When we actually say how much that is preferred that brings us to the cardinal setup. So what we do in that case we actually define something like a utility function which takes that outcome so one element from that set x let us say one candidate and based on what type you have it is assigning a real number to that particular outcome. So you can say that well I have a but I can also give certain numbers to it let us say 10 versus for b I can give some number like 8 and for c maybe a very small number like 1. So this numbers will now represent my utility when each of this outcomes are chosen. So that is a cardinal so now not only you know that a is more preferred and b is more preferred than c you also know with what intensity you prefer. So this kind of a model so where your utility so utility is just a real number which maps this x and this theta i into r this kind of a mapping where it is only dependent on your own type agent i's own type this is called the private value. We will come back to this point why it is private value for the very reason that it is dependent only on your type but it might be a little more general in general case where the utility is not only dependent on your type but it can be dependent on the type of all the players and in that situation we call that that kind of a utility model as the interdependent value model or interdependent utility model. So we will for the most part of this course we will be only interested in this independent private value model independent in the sense that it is only depending on its own type. So let us discuss about certain examples to understand this notation better as we have already mentioned briefly so in the context of voting or election x is the set of all candidates now theta i is a ranking over all these candidates so as we said I mean a over b over c means that that is theta i so that is for the ordinal preferences now if you look at the single object allocation and we have also discussed this in the past an outcome let us say we first decide who is going to win that object so there is one indivisible object which is to be allocated and it has to be allocated at a certain price. So when people are so this is the auction setup where we are actually giving away that object to one of these individuals and you are also charging a payment. So in that case this vector so the outcome will be this vector a and payment vector the tuple of these two things and this is essentially the set of x in this case. So what is this a vector so you can imagine that it has n components one for each agent and this components can take only values 0 or 1 and of course whenever you are taking the sum over all these ai's all these components that can at most be 1 that means at most one individual can be given this object this is upper bounded by 1 that means the object might not be allocated as well so all ai's could be equal to 0. So we will be calling the vector a as allocation vector similarly there is a payment vector which is a very similar thing it has also n components but pi so the ith component pi is the payment charged to i. Now if you look at theta i theta i is something like whenever this item goes to agent i how much it values so there is certain amount of monetary value associated when this object goes to that individual i so that theta i is actually denoting that value. So therefore we can actually think about the utility of player i in the following way so notice that this x is nothing but this tuple of two things so we have already defined x here so it is just looking at when we are defining the utility of player i it is just looking at the ith component of that a vector and also the ith component of the payment vector and multiplying this notice that this ai can be either 0 or 1 multiplying that with theta i so that means if that agent wins then it gets gets a value of theta i and it makes a payment of pi so in this case we are keeping it general that is the payment payment will be the same irrespective of the winning but in in an actual mechanism this pi can actually be dependent on this ai whether it wins or not so it may charge only when the object when the agent wins that object otherwise it in the payment is 0. So these are two examples one for the ordinal preference and one for the cardinal preference so this is the example of the type set so type of agent type. Now that is the description of the mechanism from the agents point of view now the as we have said that in mechanism design the mechanism designer or the planner also has an objective without objective we don't define a mechanism so how can we actually mathematically capture that objective and this is essentially captured through the social choice function or SCF for short so what does it mean that if the agents had these types theta 1 theta 2 and so on then what outcome we should have taken so therefore this social choice function is nothing but a mapping from this Cartesian products of all capital theta i's so when each of these players have actually choosing their own theta i's so their own types then in that in that state of this game or in that state of that world the social choice function should pick one specific outcome so what is an example so let's say in voting when you are talking about elections so each of these theta i's are nothing but different preferences so theta i's are those examples let's say BAC for player i and similarly could be different preference orders for different players we want a certain desirable thing to happen when we are selecting the winner so for instance that desirable property could be that if there exists a candidate who beats everyone else in pairwise contest so let's say we are looking about only B and C and we are looking at how many people have actually voted B over C and how many people have actually voted C over B if B over C this number of people who have voted B over C is larger than those who have voted C over B then we will call that this B is beating C in pairwise election if there exists a candidate which does this for every other other candidate then we should definitely output that as an winner so that could be one desirable outcome so we can actually put certain restrictions or constraints on the social choice function so this could be a good social choice function similarly you can think of a different thing that if this was suppose B over A over C or maybe just the top most candidate so B B was the top most candidate I don't really care about the ordering over the over the rest of the candidates for all these voters but the top most one is always going to be B then the social choice function should output B because that is most preferred unanimously preferred by all the agents so therefore that should be an outcome so that could also be a desirable property so you can define different kinds of desirable properties and that is what social choice function is so similarly this is the example from the ordinal world but in the cardinal world you can think of a public project choice so suppose we are choosing one of these projects and where this theta is just giving you some real numbers so theta I is nothing but whichever public project you choose so this X could be set of all public projects building a bridge building a public park museum whatever so that gives you a certain amount of happiness or satisfaction whenever if you are agent I so that is captured by this function theta I which is nothing but its type so theta I is nothing but the value of agent I for that public project A now what you are doing as a as the mechanism designer or the social choice function the desirable property is that you will take the sum of all the agents valuations and you will pick that public project which maximizes the sum fair I mean you look at all the agents and if you are building a museum then you look at how much satisfaction it gives to the all the players the sum of that or if you are building a public park or a bridge depending on that we will pick that one which maximizes the sum of the values now here is the most vital question that all these types are essentially private information of all these agents so we definitely have to ensure that we can we need to create a game such that this F theta the desirable objective emerges as an outcome of an equilibrium we have already defined different kinds of equilibrium and we'll reiterate some of those in this context but we definitely need to design a game where this F theta this socially desirable outcome should emerge as an outcome and for for doing that in an equilibrium we need this mechanisms and that is exactly what we are going to discuss so let me formally define it formally define what is known as an indirect mechanism we'll also come back to the direct mechanism very soon so an indirect mechanism is a collection of message spaces and a decision so the message space of player i is given by mi so m1 to mn for each of these n players are the message spaces you you can imagine I can I can give a kind of an analogous example so imagine that that there are in the in the railway reservation system there are different classes and there are different prices for each of these classes now I don't know of what are the types of these agents are so maybe the agents value so they have a value for the class that they are traveling and they also have a budget constraint beyond a certain point they cannot really purchase those tickets based on that they are choosing one of these classes so the choice of the classes are at the message space so they can only indicate that which which class they want to choose and that is constituting the message space and this is a kind of a derived information from their own type so you are not really asking how much they value each of these classes or what is their comfort level that they are looking for and what are their budgets to travel in this train you are just asking them to purchase a ticket from the available set of classes so this is this is one analogous example of how you can think about this message spaces it's not exactly the same as their types so types could be those basic information that I have discussed don't connect it with anything beyond that maybe the railways is not running a mechanism but I'm trying to give that example just to give you a flavor what a message space should mean and how you can think about it now once each of these agents have actually chosen their message so in this case each of these agents are picking something from this message space so they have already picked their their choices of the classes of travel and then there is a decision rule named G which will take all these messages together and pop out one of the outcomes and this will be the same outcome space as we have defined before that is the maybe it the decision could be like how many classes so how many coaches of a specific class should be added and so now that is an indirect mechanism it is indirect because you are not directly dealing with their types rather you are dealing with their message spaces a direct mechanism will be the same as above where this message space is directly their type set so instead of asking them for their messages you are just asking them there for their types and also the decision rule is nothing but the social choice function itself so whatever you are trying to trying to achieve using this mechanism you are just giving that as the decision so so in that case all this M i's will be replaced by theta i's and the G will be replaced by F and that will be the direct mechanism so here is a schematic diagram so G is the rule that you have you have chosen and all of this M1 to Mn so M1 is belonging to capital M1 so each of these players have been given this message spaces and they are picking some messages and once everyone has picked their messages G operates on them and then gives out a specific outcome which lives in that space capital X so this particular kind of indirect mechanism is not very commonplace we don't really deal with this kind of mechanisms this kind of indirect mechanisms that much it is because a result that will show very soon known as the revelation principle which actually says that you don't really need to look at the indirect mechanisms if there exists an indirect mechanism then we'll always have a direct mechanism but please wait for that we'll come back to that result very soon now we have already defined the weekly dominant strategies in the game theory part of this course so in this context let us just define it as we use it for the for the mechanism design and we'll definitely see that there is a certain change very minor but there is a slight change in the definition of this weak dominance so in this mechanism we say that a message MI is weakly dominant for player I at theta I if you look at this look at this thing so you know that the utilities are defined over outcome and its own type so we have we remember that UI is nothing but the the mapping from X cross capital theta I this is for independent private value valuation to R so therefore this X outcome we are going to choose and we are going to choose based on what these agents have chosen as their messages so suppose agent I has chosen its message MI and other players have chosen some M minus I tilde something and we said that this M MI is weakly dominant if it dominates for any other message of the same player so if the player instead chooses MI prime then this utility will never be larger than the utility that it gets when it when it picks the message MI under this type theta and this should happen for all M minus I tilde so no matter what about the other no matter what messages the other players are choosing this inequality will get satisfied and it should also get satisfied for all MI prime now what is the difference between the weakly dominant strategy that we have defined in the weakly dominant strategy we have also defined something like a strict dominance strict inequality to be satisfied for some M minus I tilde that is not no longer true in this definition the purpose we have actually weakened that that definition that was a more strict definition the reason being that in this kind of a situation the space of mechanisms that we can set we can find is a little larger and also whenever we are talking about optimization it is much difficult to handle strict inequalities so if we are trying to design a mechanism and write all these constraints this weakly dominant constraints as the constraint set then we will not be able to solve those kind of optimization problems and that is one of the major reasons why we actually migrate to this weaker definition of weakly dominant strategy in this module and also in the later part of this course we will define certain things based on the cardinal preferences so here you have already seen that we I have used this utility definition which is a cardinal utility definition but you can also cast the same definition for ordinal preferences so the above inequality so here remember that this is a this is an outcome how you can write that this outcome is more preferred than this outcome under a specific type theta i is by writing this so if you are choosing mi then the outcome that you are getting is more preferred than the outcome if you are choosing mi prime as your message and then also we will be calling that as weakly dominant now that we have defined this weak dominance it is the right time to say what how we are going to implement a social choice function so we are going to use this term implementation so we are going to say that a social choice function f is implemented in dominant strategies of course weakly dominant strategies by this message by this mechanism indirect mechanism m1 to mn comma g if two things happen so there exists some message mappings you can think of this as strategies that if you have a specific type then you choose a specific message so for instance if your price to performance or comfort to budget ratio has a specific form then that is your type then you choose to purchase ticket of a specific class and if that is your strategy so there exists such kind of strategies such that this si theta i is a dominant strategy for agent i at that theta i and this should hold for all theta i in capital theta and for all players so you can you can actually expand out all this what do we mean by this dominant strategy si theta i is essentially a dominant strategy for that player i so what it what it means is that this weakly dominant strategy as we have said that it's a most predictable outcome so you will be you are expected to choose those si theta i's in an equilibrium in a weakly dominant strategy equilibrium and the second condition says that in that dominant strategy equilibrium weakly dominant strategy equilibrium you actually implement the objective that you wanted to satisfy so if the type profile was theta and each of these agents had chosen s1 theta 1 s2 theta 2 up to s n theta n then this rule g would have mapped that to be exactly equal to the f of theta so in the equilibrium you are actually implementing the social choice function and that is exactly what it means so you are implementing so the first condition is just telling you that there exists such kind of strategies which is a weakly dominant strategy equilibrium and in that weakly dominant strategy equilibrium you satisfy whatever you wanted to satisfy and that is exactly the meaning of implementation now we are going to call this an indirect implementation because we are using an indirect mechanism as we have defined here we are going to call that the social choice function f is a dominant strategy is dominant strategy implementable by this indirect mechanism m1 to mn common c now you can also talk about the direct mechanism so we know that in the direct mechanism the message space itself is theta i and the decision rule is the social choice function itself this particular implementation has a very specific name it is called the dominant strategy incentive compatible if this inequality force that whenever you are reporting or you are picking that message which is exactly equal to your type whenever you are revealing that type in a truthful way then the utility that you are going to get is at least as much as the utility by misreporting your type so that is exactly what we this terms will be using very often you can see already that we are sort of going towards truthfulness so the truthfulness itself is saying that if you have a type theta i so this second term in this double is essentially the true type so if your true type is theta i and you are revealing your type to be theta i then you get the utility which will not be surpassed by any other utility when you are when your true type is theta i and you are reporting something like theta i prime and if this inequality holds for all theta i theta i prime and theta minus i tilde so that is why it is dominant strategy because other players might not be truthful as well but as an agent i your best response will be to report theta i truthfully and if it holds for all agents then we are going to call that this direct mechanism is essentially dominant strategy incentive compatible so to find if that social choice function is dominant strategy implementable we essentially need to search over all possible indirect mechanisms so that is that is one difficult part that if we if we go for the indirect implementation then this this spaces could be very arbitrary and large we do not really know whether there exists any mechanism so if we could not find any indirect mechanism does not mean that it is not dominant strategy implementable but luckily we have a result as we said the revelation principle which reduces this search space which says that if you have a dominant strategy implementable mechanism then you will always have a dominant strategy incentive compatible mechanism which we are going to discuss in the next module