 is 1, 9 months minimax 7. For any 0 sum game A, min over y and y of max over z in z y transpose A z is equal to the max over z in z min over y in y of y transpose A z. So, remember this here remember was the upper value and this here was the lower value. So, we are going to prove this. So, what is before I start with the proof essentially what is this what is the claim? The claim then is that the upper and lower values in the mixed upper and lower values are always equal for every game. And what as a corollary what we have is that there is always a saddle point for any game provided you extend the space to make strategies. In pure strategies there need not be a saddle point and but in mixed strategies there would be. And in the previous class I argued what the significance of a saddle point is that saddle point is a point from which you know a player would not is a saddle point which such that in which each player plays his own security level and then after playing that there is no regret. The other player would also respond with his own security strategy. So, this property holds now in the space of mixed strategies. So, this is obviously a major landmark in the theory of games. So, this predates Nash's work by several years I mean probably around around the time Nash was a few was probably a child. So, what I will show you there are several ways of proving this what I will show you is a modern proof which is it is short and nifty that the original proof is much more complicated and you know over time it has been refined and this is now how we understand is the best way of proving the, proving the min max there, okay, alright. So, the we need a tool here which is, which is linear programming duality. So, the linear programming duality basically, so in linear programming we talk of two types of problems a what is called a primal problem and another one which is called its dual problem. So, we write two or different optimization problems that are closely related to each other and we relate the they are formulated and crafted in a very specific way and it turns out that in that case if one of them has a solution and so does the other and the and the value optimal values are actually equal. So, I will write out a fairly general form of linear programming duality here, okay. So, in its most general form it the linear programming duality can be written in this sort of way. So, you have an optimization problem that looks like this. So, you are minimizing say C1, your variables are x1, x2, x3 minimizing C1, c1 transpose x1 plus c2 transpose x2 plus c3 transpose x3 and this is being done subject to constraints that look like this a11 x1 plus a12 x2 plus a13 x3 greater than equal to b1, a21 x1 plus a22 x2 plus a23 x3 less than equal to b2, a31 x1 plus a32 x2 plus a33 x3 equal to b3, x1 is required to be greater than equal to 0, x2 is required to be less than equal to 0 and x3 as is unrestricted. Now, this here is a linear optimization over these 3 variables x1, x2 and x3 and these are the constraints that the variables are required to satisfy. They are all linear constraints. The first constraint is asking for a linear combination of the x's to be greater than equal to a constant b1, second is asking it to be less than equal to another constant b2, third is asking for another linear combination to be exactly equal to b3 and then the x1 is signed constraint to be greater than equal to 0, x2 is constrained to be less than equal to 0 and x3 is unrestricted. This is the most general way you can write out a linear program. Most sort of explicit way in which you can write out a linear program. Of course, you can reduce it to standard form and all that but we are problem we do not benefit from putting it in standard form that is why I am starting off with this form. Now, corresponding to this linear problem, we have remember this problem is minimizing a linear function of x over these variables. Corresponding to this there is what is called a dual problem. So, if this is called the primal problem then the corresponding to it is another problem which is kind of like a twin problem to this and that is called a dual problem. So, the dual is a maximization and it is maximization of again the sum of three linear functions. Functions of now another variable we will call that variable w. So, you are maximizing b1 transpose w plus b2 b1 transpose w1 plus b2 transpose w2 plus b3 transpose w3 and the constraints are that you have a11 transpose w1 plus a21 transpose w2 plus a31 transpose w3 is less than equal to c1 a12 transpose w1 plus a22 transpose w2 plus a32 transpose a32 transpose w3 greater than equal to c2 and a13 transpose w1 plus a23 transpose w2 plus a33 transpose w3 equals c3 and w1 greater than equal to 0 w2 less than equal to 0 and w3 is unrestricted. So far all I have done is just written out to two optimization problems in a very explicit manner. So, on the left you have a minimization problem which in three variables x1, x2, x3. On the right you have a maximization problem in three variables w1, w2, w3. Now, if you look at the constants of this problem they are closely related. So, the coefficients in the objective of the problem on the left the coefficients of the problem on the left is called primal, the problem on the right is called dual. The coefficients of the objective in the primal are actually the coefficient are there from the right hand side of the constraints of the dual. The coefficients of the objective of the dual are the right hand sides of the constraints of the primal. And if you look at the coefficients on the left hand side of the constraints in the primal and the ones in the left hand side of the constraints of the dual, they are actually transpose of each other. It is as if this entire thing matrix here has been transposed and formed into a matrix here. There is also some relation between these signs of these x's and the w's, we can come to that if necessary. So now these are two problems that are obviously there is they have been crafted in a very specific way. You cannot sort of make whatever combinations you want with it. Like for example, this is a greater than equal to here, that is a less than equal to corresponding less than equal to here. This is a less than equal to, this is a greater than equal to. The signs of these are also very specifically decided. Now, so these are as I said very specifically crafted problems and they enjoy a particular property and that property is what is called linear programming duality. So, this is the, if the, if either primal or dual admits an optimal solution, then so does the other and so does the other and the optimal values of the primal and dual. So, the optimal values of these primal and dual are equal. So, we are not saying optimal x's are equal to optimal w's obviously not. There is no claim being made about the relation between the x's and the w's. But what is equal here is the optimal value of the optimization. So, the objective value that you get here, it will be equal to the objective value that you get. Another thing to point out remember is because of the way these things have been transposed and so on, x is the x, x1 here has for example, the number of variables x1 is equal to the number of columns of A11 or equal to and equal to the number of columns of A21 and also equal to the number of columns of A31. W1 on the other hand is equal to the number of rows of A11. W1 multiplies with A11 transposed and A12 and A12 transposed and so on. So, the x1, x1, x2, x3 these together the number of variables that you have here, the length of x1, x2, x3 put together is need not be equal to the length of w1, w2, w3 put together. So, you cannot expect a direct correspondence a very obvious sort of correspondence between x1, x1 and w1, x2 and w2 and x3 and w3. But what is remarkable is you still get equality between this in the objectives. The optimal values of these objectives provided both exist, provided one of them exist are equal. So, this is the theorem that we want to use. So, we want to use linear programming duality now and what we will do is we will use linear programming duality to prove this equality that we have here. This is what we are going to show. So, what we will do is the following. So, the plan is we are going to take this left hand side, we write this as a linear optimization, a linear program. It will correspond to one of these it will correspond to the primal problem. So, this one will write out as a linear optimization, it will be taken as the primal problem then take its dual problem and show that the dual problem actually is nothing but this problem itself. So, the idea is going to be that we start off with the left hand side, write that as a linear program, consider its dual which is written out here in this this is the dual of this would be this will tell us how to write out the dual of this problem. And then invoke linear program then show that dual actually reduces to this problem and then use linear programming duality to claim that these values are equal. That is basically the proof plan. So, let us start off with the proof. So, now so let us start off with Vm upper bar. This was is min over y in y max over z in capital Z y transpose A z. And remember we we argued that this is actually the same as min over y in capital Y max over j of y transpose A j. So, now suppose for the moment I just put let us say I put t as this quantity which is max over j y transpose A j. Then it has to be that t is greater than equal to y transpose A j for all j necessarily because t is the maximum. Now one way to write this whole thing is to say the following. So, I multiply so t is a scalar, t is the maximum over j of y transpose A j. So, what I am going to do is I am going to multiply t with a vector of ones. So, t times one is greater than equal to so a vector of one. So, this one is a column vector. So, I will just transpose it. So, t times one transpose is greater than equal to y transpose A. This is a compact way of writing what I already have here. So, what is this vector of ones here? This is just simply a this is a vector one vector with every component as one. It is a column vector with every component as one. So, t times one transpose is basically a is a row vector with t, t, t, t, in all its component that is equal to every component of this of another row vector y transpose A no for a fixed y. So, I have put t so question I have put t equal to y transpose A j. I have to put t equal to y transpose the max over j of y transpose A j and I encode this as this relation. This implies that t is greater than equal to this and that is encoded in this sort of form. All of this is being done for a fixed y. Now, suppose I asked you again for a fixed y suppose I asked you what is the minimum t, what is this least value of t such that t into one transpose is greater than equal to y transpose A. What is this value? So, if t was the maximum then t satisfies this inequality that I just wrote. Now, suppose if I look at any t that satisfies this inequality and look at the minimum such value of t, what is that minimum value? That is actually equal to the max over j. So, this is always equal to the max over j of y transpose A j. So, what has happened as a result is that if you look at the inner maximization here the yellow boxed one that is equivalent to this. So, we have just established the relation this relation. So, now what I can do is therefore go back and now I was going to write minimum of y over y max over j y transpose A j. Now, that is actually equal to the same as minimum of y over y and minimum of over t of t such that t one transpose is greater than equal to y transpose A. It is a minimum. Is this clear? So, I am minimizing over y this thing this exact thing that I just wrote out. But then I am minimizing what am I doing here? If you see this I am doing a minimization followed by a minimization. So, what that means is essentially I am actually doing just minimization. I can combine the two variables t and y and write them eventually as one minimization. So, effectively this becomes actually the minimum of t over both variables t comma y subject to all these constraints subject to the constraints in y as well as the constraints that are there in t subject to this t into one transpose greater than equal to y transpose A and the constraints that are there in y. What are the constraints in y? y is just required to be a capital Y is just saying that small y is a probability distribution. So, y is greater than equal to 0 and summation of the components of y is this is equal to 1. So, is this fine? So, this here encodes this is my capital Y this guy has come from here this together is actually equal to my left hand side which was nothing but my Vm upper bar. So, now Vm upper bar has been written in this sort of form let us clean this up and so it is a little you know more presentable. So, what I will do is I will remove the transposes from the first one and I will I will rather I will just transpose the first one and let us write it like this let us write it as p into 1 is greater than equal to A transpose y and then the other is the I have my summation over yi summation over y is nothing but again because I have this notation of ones the vector of ones this is actually nothing but 1 transpose y equal to 1 and I have y greater than equal to 0 and my variable t which is also variable is unrestricted there is no there is no constraint on the sign of t. So, only thing you need to really I mean just convince yourself is that when you take two minimizations one after the other they are actually just one minimization you can just do a joint minimization of instead of doing where you are minimizing over one variable first then minimizing over keeping the outer one as a parameter and then minimizing over the outer one it is the same thing if you just jointly minimize both jointly minimize over both any vector minimization actually is basically a joint minimization over individual scalars. So, that is exactly what is going on here all that ok. So, we have now written this out. So, what is this now this is now a linear program ok. So, we what we have got is that V m upper bar can be written as a as simply the solution of a linear program and we will take this to be our primal we will take this to be the primal and we will invoke linear the linear programming duality theorem that we just that we just wrote previously ok. So, we are going to write this as a primal problem in this particular form is this fine all right. So, now can someone tell me if now this is to be taken as the primal then let us just decide the values I can write them out here itself tell me what are the various variables first how do we how do I model it in this form what my y is required to be greater than equal to 0. So, I can take x 1 to be y this is my y ok. So, I will take x 1 to be y t is unrestricted. So, I will just take x 3 as t I will take this to be t all right ok. Now, let us start with the coefficients in the objective what do I have in the objective I have only t in the objective which means that. So, this c 3 is 1 x 3 is t x 3 is t x 1 is y x 1 and c 1 and c there is no there is no term in y in the objective ok. So, therefore, c 1 and c 1 and c 2 are both 0. So, there is not. So, these are 0 there is also no variable x 2 which is less than equal to 0. So, all coefficients of x 2 can be put as 0 ok. So, all of these guys are taken as 0 is this fine ok. Now, let us look at the let us look at the constraint. Now, let us do first the let us first write out the let us look at the equality constraint first let us take this one first. So, 1 transpose y equal to equal to 1. So, which means that in my equality constraint here I have my b 3 here should be scalar 1 ok. So, this guy should be 1 y was x 1. So, the coefficient of y here should be 1 transpose right 1 transpose meaning means that this a 3 1 this guy is 1 transpose a 3 1 is 1 transpose. There is no coefficient for t in this equation. So, which means that this a 3 3 is 0 ok. Let us go back here. In fact, let us write this in the form what I will do is I will take this the first equation I will actually write this in a less than equal to form ok. So, that might make things easier for us. So, I have this as a transpose y minus 1 times t is less than equal to 0. So, now this is a less than equal to equation if this is since this is a less than equal to equation my the right hand side of that equation is b 2 ok. So, this guy has to be less than equal to constraint. So, right hand side b 2 is 0. What about the coefficient of x 1 that means the coefficient of y a transpose right ok. So, which means that a 2 1 here this guy is is a transpose and the coefficient of of x 3 which is a 2 3 a 2 3 is just 1. Is there any equation with of the greater than equal to form? Is there any constraint of the greater than equal to form here? There is none. So, we can just take all those coefficients also as 0. So, all of these are also 0 ok. So, these guys are all this was 0 this is 0 this is fine and now what do we know is the dual of this then we can read out the dual here. So, let us let us cancel out stuff that is not that is anyway not that is going to disappear. So, c 1 remember c 1 c 2 are 0. So, c 1 this guy is 0 c 2 is 0 c 3 is 1. So, that is 1 ok b 1 is 0 b 2 is 0. So, that is so these are gone b 3 is 1 this is 1 ok a 1 2 a 2 2 and a 3 2 this whole column was here is 0. So, a 1 2 a 2 2 a 3 2 being 0 that will basically ensure that this this is out of question here this is gone ok all right what else a 1 1 a 1 2 and a 1 3 are 0 a 1 1 a 1 2 and a 1 3. So, these are all 0 ok a 3 3 was 0 this is also 0. Let us populate the things that remain now a 2 1 is a transpose. So, a 2 1 transpose therefore is just a. So, this is just a now ok a times w w 2 ok a 3 1 was 1 transpose. So, a 3 1 transpose is now 1 a 2 3 was a vector 1. So, a 2 3 transpose is a vector 1 transpose ok. Now, if you see here what is happened is all the the coefficients corresponding to w 1 have all disappeared from the problem. So, w 1 is as good as not there in the problem. So, this guy is not there ok what you have is what you have is w 2 and w 3 ok w 2 is less than equal to 0 and w 3 is unrestricted ok. So, let us let us write this out in a clean form. So, the dual now of this is this was my primal. So, my dual is going to be what was the objective? Objective was just 1 times w 3. So, it is just maximization of w 3 and I had two constraints a times w 2 plus 1 times w 3 less than equal to 0. So, a transpose y minus 1 1 times t you know. So, this here is this was minus 1 this is a transpose. So, this guy there is a transpose here. So, this is to be minus 1 ok. So, this is my this is minus 1 since this is minus 1 a 2 3 therefore is also minus minus 1 ok. So, the constraints are that a times w 2 plus 1 times w 1 into w 3 is less than equal to 0 negative 1 transpose w 2 is equal to 1 w 2 is less than equal to 0 and w 3 is unrestricted ok. Now, all I need to do is a small change of variables ok. So, let us put from here put w 3 as let us denote this by w ok and let red let minus w 2 be z z equal to minus w 2. So, then in that case this takes then the problem your dual problem becomes max over w a times z greater than equal to 1 into w 1 transpose z equal to 1 and z greater than equal to 0 with w understood. Now, all we have to do is go back and interpret interpret this problem. Now, you can see here just looking at this itself. So, maximizing this remember now over w and z just looking at this already this is seeming similar to what we had written for the row player for the for the upper mixed value right for for Vm upper bar. So, for Vm upper bar we wrote a minimization over t with over variables minimization of t over variables t and y. Now, here we are doing a maximization of w over variables w and z y was required to be a probability distribution here where z is turning out to be a probability distribution right and the t was in was this t was t times 1 was greater than equal to 1 transpose y right and here 1 times w is less than equal to a a times a times z okay. So, all I have to do now is basically just reinterpret I have to interpret this thing go back and check if this matches with the with Vm lower bar okay. So, suppose I so so let us let us let us just do that now okay. So, again like I did with for the for the row player so put so suppose if w was min over i of az the ith row of az then we again have that min over i of az i is actually the max value of w such that w is less than w times 1 is less than equal to az right is the largest value of w such that w times the vector of 1 is less than equal to az that is actually equal to the minimum smallest component in of az okay. So, from there therefore we have that max over z in z min over i of az i is in fact max over w comma z of w with these constraints az greater than equal to and this problem is basically exactly the problem that we got okay this is exactly what we got okay. So, in other words what have we concluded therefore that this we have concluded that this guy this box problem is in fact equal to vm lower bar but then linear programming duality tells us that these two are equal now to be exact actually linear programming duality tells us that these two are equal if one of them has a has an optimal solution okay has a has a finite optimal value. Now why do any of them have a finite optimal value because the optimal value is in fact their security level and we just argued that there is a security strategy and a security level for each layer okay. So, once a security strategy and a security level exists there is a solution to the there is a finite optimal value to each of these two either on and in fact each of these linear programs and therefore the fine from linear programming duality the optimal values have to be equal okay. So, by linear programming duality these two become equal and so therefore we get that vm upper bar is actually all is equal to vm lower bar and this is von Neumann's Minna set okay. So, we have basically shown that from here so that the that the mix once you allow players to play mixed strategies there is the upper and lower values of the game and that in short their security levels actually coincide as a corollary there always exists a saddle point every pair of security strategies forms a saddle point every saddle point is a pair of security strategies and every saddle point must have the same value all of these properties we get for free okay. Now the just a couple of remarks before I end about the proof this proof is as I said a modern proof it uses linear programming duality. Linear programming duality was derived in the 1940s in 1944-46 somewhere around that time von Neumann's Minna-Max theorem is 1932 okay that is so it is well before linear programming duality. So, but what is interesting is that I mean it was I have so obviously I am I am giving you a proof in that is that is shorter in retrospect now that we know the the whole language of linear programming duality so von Neumann's original proof effectively derived linear programming duality as part of part of proving this okay. So, his original proof is a separation based argument and it he effectively just anticipates linear programming duality and its development as part of his okay okay. So, yeah so in in other words all the things that we so what have we concluded that all the the things that we were sort of we realized would hold if there was a saddle point in pure strategies now act but but a saddle point in pure strategies did not exist and therefore we were kind of handicapped now all of those things actually hold provided we move to mixed strategies okay. So, in other words the theory of gains for zero sum games is now now stands watertight we have a a solution in in which both players sort of think of what the worst that case damage the other player could do therefore play security strategies and these security strategies are in equilibrium with each other that each player would want to respond to the other guy's security strategy with his own security strategy. And so that basically gives us now a watertight theory for zero sum games okay.