>>Yuval Peres: So it's my great pleasure to have Vijay here. So Vijay was my Ph.D. advisor at Georgia Tech, and he's also a Ph.D. professor of [inaudible]. And Vijay, I know many of you know this already, but Vijay has done great work on phone-based [inaudible] fundamental problems in algorithms, especially matching. And then approximation algorithms, he wrote the book on it, literally. And over the last decade or so Vijay has been working on algorithms for [inaudible]. So today he is going to tell us some very interesting things about this, so over to Vijay. >>Vijay Vazirani: So thank you all for coming. I hope I'm audible. Yeah? Okay. Louder? Move it up? Better? Oh, good. Okay. So I'm going to start with the following amazing quote of Adam Smith from his treatise "The Wealth of Nations," but it's so important and in a sense overwhelming for many of us that I should read it again carefully and tell he what he's talking about. It says, It is not from the benevolence of the butcher, the brewer, or the baker, that we expect our dinner, but from their regard for their own interest. Each participant in a competitive economy is led by an invisible hand to promote an end which was part not part of his intention." So he's saying the best thing you can do for the economy and, therefore, for the society is work out of self-interest. And what he's proposing is competitive self-interest. And, in fact, later in the book he goes on to say do not work explicitly for other people because that way you'll only do more harm. The markets and their economy is happiest and most efficient when you work out of your own self-interest. And the other thing he proposes as a natural way that markets should run is no interference. So let the markets set their own prices, and that, he says, is best for the buyers and the sellers. And from that whole philosophy of his came the notion of free markets that we use in the west and, of course, you know that the economic system that you follow determines so much, including the history of economies of nations. And we saw that very explicitly when the Soviet Union collapsed. We see the great wealth that has been created by the free market economy here in the west. We also see how China moved from a Communist system to more and more openness with [inaudible] right after Mao. And now it is even ready to challenge the west in many spheres. So these are very big decisions, and for Adam Smith to have said this in 1776, almost 250 years ago, is really amazing. I mean, this is a very -- it's really one of those big statements from a genius. So I just want to remark from my own side that this business of distributed non-centralized operation is, by today, commonplace. It is what make the internet tick. This is what makes the internet so great, because people just go out and do their best, put the best contents, the best programs, the best ways of the best routers, everything. And we have an amazing artifact out there. And these heterogenous distributed systems are today very known and being exploited in many spheres. But in a sense, the markets were the oldest and by far the biggest heterogenous be distributive systems, so we definitely need to pay tribute to that fact. So let me just say a bit more about this philosophy of Adam Smith by first stating the definition of economics, a very, very insightful one or very succinct one given by Lionel Robbins, a very prominent economist. So he says, "Economics is the study of the use of scarce resources which have alternative uses." So if you have a resource like sand on the beach, which is not scars, there is no economy around it. Or if there's a resource that has only one use, there will be no economy around it. But whenever a resource has multiple uses and is scarce, then you have economies around those resources. And the big question is how does a given economic system assign its scarce resources among the alternative systems. So, for instance, here we have four producers of milk, ice cream, cheese, and yogurt. So how much of this milk will be sent to each of these producers? Well, if it were the Soviet Union, then each of these producers will ask for as much as possible because it doesn't -- nothing comes from their pocket. Some centralized agency will make these decisions. And if the ice cream guy gets too much milk and he can use only half of it, well, the half can go and rot for all he cares. And that's the way it worked, and that's the way it collapsed. I guess you can tell us a bit about that [laughter]. We have people that grew up in that system. And, actually, I was fortunate enough to visit it while it was still the Soviet Union in 1986 and saw it with my own eyes. Now, in the west, we do these allocations through the very powerful mechanism of prices. And if suddenly you get some warm days and -- what is this? Am I losing voice here? >>: No. >>Vijay Vazirani: And the people are consuming more and more ice cream, then the guy who makes ice cream suddenly gets a lot of money, he can go buy more milk, the price of milk goes up, and so these guys can afford less and so on. So there's a massive feedback loop here between prices and the very important point here, the need to maintain parity between supply and demand, which determines allocations of scarce resources. And these prices which allow parity between demand and supply are called equilibrium prices. And that was what Adam Smith was recommending, that the markets should find their own prices through a supply/demand tussle, if I may say so, and arrive at prices that maintain parity between supply and demand. Now, this is what determines everything in the west. What is the relative price of something as useful as a pound of bread versus a pound of pearls. Something as useful as a pound of bread and something as useless as a pound of pearls. Which one do you think it will more expensive? Well, it's a matter of supply and demand. Pearls are scarce, and some people are crazy enough to want them, so there you go. It has not much to do with their usefulness, but it's just a matter of supply and demand. But also, I mean, that was an extreme example, but just about everything in our lives is determined by this mechanism of prices, including when we sell ourselves in the job market. So what is the salary of and humanities professor or a math professor or a CS professor or a business school professor or the president of the university or the football coach [laughter]? I mean, it's all a matter of supply and demand. Yeah? >>: You should have gone down from the business professor to the president of the university [laughter]. >>Vijay Vazirani: Okay. Yeah. I -- I don't know those numbers in the stratosphere, and particularly numbers that are thrown around here are beyond my scope, so [laughter]. So, in any case, it determines everything. Who's poor, who's rich, who's important, who's unimportant, and so there was a big deal made of all of this, there was a need to understand and ratify that in a clean mathematical setting, and that's what mathematical economists set out to do. And in particular, Leon Walras, a French economist, came up with the general equilibrium theory in 1874, which gave very clean abstract models, mathematical models, of the economy which he could study to understand these various issues. And the crowning success of the general equilibrium theory came with a mathematical ratification of Adam Smith's invisible hand of the market. And I'll show you in what sense this ratification came after giving you another central notion -- well, let's just formally define equilibrium. So the central tenet in general equilibrium theory in mathematical economics and economics in the west or free-market economics is the notion of equilibrium. That is, prices should be such that there's parity between supply and demand. And then the very first question that comes up if you are going to study this in an abstract mathematical setting is does your economy even admit equilibrium prices, prices where there's parity between supply and demand, because if there are no such prices, then no pricing mechanism is going to find it, obviously. So this is an easy question to answer if there's only one good, because you have a supply curve and a demand curve, and whenever they meet you get equilibrium prices. And if supply exceeds demand or demand exceeds supply, you will have tension in the market and your prices will wanted to go back to equilibrium. Yes? >>: Do you mean you only have one state that controls it? >>Vijay Vazirani: Just one good. >>: No, no, no. General question. There's a lot of -- >>Vijay Vazirani: Yeah, yeah, yeah, one state. One state. Yeah, yeah. I'm not talking about a dynamically changing market yet or never in the stock. >>: Because, I mean [inaudible]. >>Vijay Vazirani: No, no, no. Yeah, so that's way beyond our scope even at present. So we're going to just talk about a static market with -- you'll see -- a complete clean definition in the next slide, actually. So what I want to get to is a relevant market where you have many, many goods, many, many buyers with many diverse demands and desires, and very different buying power that can influence the prices in the market. And the question is do you still get equilibrium prices in such a market. And as I said earlier, the first such model was given by Walras, but we will be studying a slight special case of Walras's model that was given by Irving Fisher in a Ph.D. thesis to Yale, and this model, it turns out, it not only more suitable for algorithmic analysis -- and you'll see why. That's what my talk is all about -- but it is, in my opinion, the right model of relevance today. Ask we can get into that, if there are any economists here, after my talk, but I don't want to start defining two models and all that. I'll only define this model and show you what can be done here algorithmically. So here's the model for -- yeah, very formally. So we have a bunch of divisible goods, and we know how much of each good is in the market. Maybe 14,000 gallons of this and however many loaves of bread. And these are divisible, infinitely divisible. You can slice it up as much as you want to. And then this guy comes to the market and he comes with a certain amount of money, and we know how much money, and he has utility function for each good, and we are assuming concave because that satisfies decreasing marginal utilities, but [inaudible] over goods. So his entire utility will be the sum over all goods of his fij of xij where xij is the allocation of good j. So this is supposed to be buyer number I. There will be more of these fellows who will come. So that's his utility function, ui. I guess we don't have a pointer, but that's okay. We don't need it. Okay. So is that reasonably clear? Okay. So now if I assign any prices to these goods -- P1, P2, P3 -- then this buyer can compute an optimal bundle of goods for his money and say I want so much milk, butter and bread. Okay? And [inaudible] has some doubts, but, look, he does look like a calculator ->>: There's a pointer on podium. >>Vijay Vazirani: On the podium. Oh, yes. So my contention is that he can compute it. >>: [inaudible]. >>Vijay Vazirani: Okay. >>Vijay Vazirani: Oh, that was your doubt [laughter]? After this Ph.D. thesis? >>: I looked at the cheese [inaudible] [laughter]. And is the knife not for sale [laughter]? >>Vijay Vazirani: Okay, okay, please. Okay. So he can compute his optimal bundle. And now look what we want. Now we get many more of these buyers, each with their own utility functions, own money, and ->>: [inaudible] each user has infinite or ->>Vijay Vazirani: No, no, no, no. Finite. Finite. That's what [inaudible] came to the market with. It's a parameter. >>: [inaudible]. >>Vijay Vazirani: Different monies, you know, will get Steve Jobs and me [laughter]. >>: How bad is it -- if it's not [inaudible], flashlights and batteries ->>Vijay Vazirani: No, no, no. Of course, of course, of course. We'll come to all of these things. So a very good question, actually. For simplicity, we will assume additive. Utilities are additive across goods. And that's by far not the way things are, so how much money do you -- how much happiness do you get from bread and butter is not the sum of the -- I mean, how much happiness do you get just from bread? Maybe something. From butter? Nobody eats butter by -- okay. So additive is by far a major simplification just for the sake of computability. And we'll get out of it whenever we can. So everybody sees what this market is, right? Many of these fellows, different monies, different utility functions, a fixed number of goods. And now you won't find equilibrium -- and, again, what is the notion of equilibrium here? So some prices -- P1, P2, P3 -- of these goods so that if each and every one of these buyers gets an optimal bundle at these prices, the market clears, which means that all the money is spent to the last cent and all the goods are sold to the last drop. Is that notion okay? And you'll agree that this captures in a very clean way the notion of parity between supply and demand, and the question is do such prices even exist in this particular market model. And the big theorem here is due to Arrow and Debreu saying that in an even more general model of the market, equilibrium prices do exist, and it was used proving -proved using the Kakutani fixed point theorem. And it was really a big deal right away, and they both got Nobel Prizes in two different years. Professor Arrow is still around at Stanford, emeritus. He'll be almost 90 years old. They were both at Berkeley. Not anymore. Okay. But because this theorem uses some hammer as heavy as the Kakutani fixed point theorem, it's highly non-constructive. And, of course, there's an issue of whether markets actually compute equilibria. I mean, it's one thing to say that equilibrium prices exist and then say, okay, pricing mechanisms are all powerful. We'll depend on them. Well, we'll depend on them, but are there really -- are the markets capable of computing them, and [inaudible] says are even computers capable of computing them. That's the first level question before asking whether markets are capable of computing them. So the issue of computability is left open, and from hindsight, this is a partial ratification of the invisible hand of the market, not a total ratification. But some attempts were made within economics, in particular Walras himself gave a very simple process called Tatonnement process which basically you fix some prices, see which goods are deficient, which goods are in excess, raise the prices of deficient goods, decrease the price of excess goods, and go on to the next day, see what happens, and keep iterating. And does it convert to equilibrium? Well, that's a good question. Many decades were spent on this question. And I'm going to show you now where this all came to an end by showing you three slides from a talk that Ken Arrow gave at WINE. So in 2007 December, WINE invited him to San Diego, and with his permission, I've gotten three of his slides. So that was a talk that he gave. That is the outline, and I'm going to jump to the last slide of his where the program comes to an end because, first of all, Herb Scarf, who's still at Yale, he gave an example where the Tatonnement was just cycles [inaudible]. And then there were many other pieces of bad news, including the fact that not only can you prove existence of equilibrium from fixed point theorems, but you can prove fixed point theorems from existence of equilibrium. So, I mean, it's a very hard question. But, of course, we don't want to leave things there. And, in particular, we have a very powerful and beautiful theory of algorithms, so we should really make an attempt now to see what we can say about this so we're going to find equilibrium prices efficiently. And this is not just of academic interest, because with the internet, there are some new markets which are very interesting markets on the internet where you could compute allocations in a centralized way if you need to because you have all the computing power available. And you'd like to -- these already occupy a big fraction of the economy, so you'd like to do as well as you can for such markets. So we need an inherently-algorithmic theory of markets and market equilibria at this point more than just for academic reasons. And I want to say that the algorithmic theorem, as I said, was proved in a very general model of the economy, and in particular the conditions on the utility functions of buyers were very, very weak. Namely, just continuity, quasi-concavity and satisfied non-satiation. That means that no matter what bundle you give to a buyer, you can make him or her happier by giving them something more. Some more of some good or goods will make him or her strictly happier. So, I mean, that's too weak a condition, too general a situation, and what we want to do or what we started to do within theoretical the computer science was started with some reasonable utility functions constrained them down a lot, and that was the reason for additive [inaudible] in particular, and see if market equilibrium can be computed in P. And if not, we also know how to establish evidence of intractability through such powerful means as the MP completeness or whatever else applies. So we would like to do that. And in particular, this model was among the first ones that was studied, and the first result was a polynomial time algorithm for the case of linear utility functions. So now I'll have to define a few things. And, actually, I want to ask you a question. I see a very large section of technical interest represented here, and I don't know whether to get into details of proof or keep it at a high level. Because even if I keep it at a high level, we'll run into an hour and 10 minutes. So do you want this to be an hour-and-10-minute talk or two-hour talk [laughter]? How many technical details would you like? >>: The more the merrier. >>Vijay Vazirani: The more the merrier. Excellent. Okay. Everybody is signed up for that [laughter] okay. So I'm going to assuming that buyer i's total utility is given by the following linear function of allocations. So xij is the amount of good j that buyer i got. By the way, I'm going to assume before that that there's one unit of each good in the market. So if there are 40,000 gallons of milk, I will call that one unit, and I'm allowed to call that one unit and scale everything else appropriately. And I'm going to say that mi is the amount of money that each buyer i comes to the market with, which is a parameter given to us. We know beforehand. And now the other thing is we also know the utility function of each buyer. So uij is the happiness developed by buyer i on getting one unit of good j. So if he gets xij units of good j, that's the happiness from good j, and so this is the happiness over the whole bundle. Yes, sir? >>: So you're assuming that this [inaudible] is fixed to one? >>Vijay Vazirani: The supply is fixed, yes. One unit of each good. >>: [inaudible]. >>Vijay Vazirani: Yeah. Yeah. Supply is fixed. Demand is given by this. The question is can you make supply equal demand. I mean, they cannot demand -- I mean, somebody brings 10 dollars to the market cannot demand everything, you know? They can demand it, but [laughter] -- okay, you see what I mean. Okay. Okay. So I hope this all holds water in your minds. Yes? >>: So is the allocation 0, 1, or a fraction? >>Vijay Vazirani: No, no, fractional. No, no, that's why I said ->>: [inaudible]. >>Vijay Vazirani: Divisible goods. These are not like cars and factories that you can all slice up. >>: If all the goods have supply 1, are you saying that there's -- you can't model the case where there's different amounts for each good? >>Vijay Vazirani: No, no. I'm going to call 40 gallons of milk one unit, I'm going to call 10,000 loaves of bread one unit. I can call it one unit. >>: Right. The xij that is fractions of that money are the [inaudible]. >>Vijay Vazirani: Yeah. Yeah. I mean, I can rename one unit to be -- why should I use gallons, right? Okay. So the most amazing thing and by far the most amazing construct that I have come up with in my research career is this complex program which captures the equilibrium allocations for this model. And it's really amazing. David Gale was the Gale of Gale-Shepley David [inaudible] algorithm. So what it is saying is you maximize the money-weighted logs of the utilities of the buyers. So I could have plugged in this vi here by plugging this thing here. I mean, this is just -- this is not a constraint. The only constraint is that for each good, we have one unit only available to give out, and we have, of course, not negativity. You cannot give negative amount of bread to somebody. Okay. And the amazing thing is that at optimality, these will be equilibrium allocations of these goods. And the Lagrange variables corresponding to these constraints will be equilibrium prices. And how you prove that is through the use of KKT conditions, but it's just outrageous how everything works out. It's just pure black magic as far as I'm concerned because what it shows you at the end is that everybody's money is fully spent on an optimal bundle of goods. So fully spent means mi equals xij pj. So I'm going to use [inaudible] and dual variables mixed together in an equation for each buyer, and each buyer gets an optimal bundle of goods. That has to be proved. And every good is fully sold. These all will be equality set to 1. And -Yes? >>: [inaudible]. >>Vijay Vazirani: Because that will make sure that the marginal utility per dollar spent -so for each buyer, the marginal utility per dollar spent on each good will be the same at equilibrium. So, in other words, if the marginal utility per dollar spent were different on different goods, then you're not getting an optimal bundle because then you should get less of the place where you got marginal utility and put more money in the place where you got more marginal utility. Okay? Right? And the reason is that once you take the derivative of log, you'll get 1 over the utility, and that goes into proving that. Sorry. Yeah? >>: I just wanted to say [inaudible]. >>Vijay Vazirani: Okay, okay. And, again, just to summarize, what is so amazing about this convex program is that all though equilibrium is supposed to optimize for each buyer, so it's a simultaneous optimization of N rather difficult maybe convex programs or linear programs, what have you, it does it with one objective function. And in a sense, the rest of my talk is about ways to move out of this convex program, how to build on it. So there are multiple themes in my talk. One is, of course, the computational market, but the other is these kinds of convex programs. And actually, there are more. Yes, sir? >>: Can you prove [inaudible] by saying it's a convex optimization or ->>Vijay Vazirani: No, no, no. We actually first gave a combinatorial algorithm for it and then later realized that there was a convex program behind it. And that's the third theme of my talk is combinatorial algorithms for convex programs. But before that, I have missed one slide, so let me get back to this. So I just want to say that this particular convex program always has a rational solution if all the parameters are rational. So if mi's and uij's are all rational, then this convex program always has a rational solution. So in a sense it's masquerading as a linear program, because after all, a non-linear program like this, it's highly non-linear, so it should always have or typically have an irrational solution. But this one always has a rational solution that can be overwritten using only polynomial many bits. Okay? And we will be honing in on such convex programs, which let's call them rational convex programs. Okay. So as I said, we gave a combinatorial algorithm for this market, and I hope I don't have to go into the definition of combinatorial here or the importance of it. Okay. If there's no questions, we can go on. That's good, because -- >>: Can I ask a quick question? >>Vijay Vazirani: Yes. >>: Is that a related result that shows anything known about that [inaudible] process? >>Vijay Vazirani: No, no. It cycles. So end of the process. >>: [inaudible]. >>Vijay Vazirani: In the linear? I don't know. It's not -- yeah, it's only polynomial time. >>: What is a combinatorial algorithm? >>Vijay Vazirani: Ah [laughter]. You are waiting for the right moment, right? >>: [inaudible] [laughter]. >>Vijay Vazirani: So because there's a convex program, you could have used the ellipsoid or interior point or gradient different or what have you, any of these, quote, unquote, continuous methods. But the point is that these continuous methods, to them what you have to supply is the convex program for the given instance and they give you the solution for that instance. And if you gave to them a convex program or a linear program for an instance from, say, a shorter spot, they would give you a solution to that shorter spot instance. And you don't have to tell to this solver where this convex program came from or the linear program came from. So it gives you no insight whatsoever about the problem itself. It doesn't even have to know the name of the promise from which the instance came. So, in a sense, you can think of it as a ->>: [inaudible]. >>Vijay Vazirani: Sorry? >>: [inaudible]. >>Vijay Vazirani: Yeah, as an algorithm for an instance where the combinatorial algorithm -- okay, what's a combinatorial algorithm? Where you do a search over a discreet space. And that's not formal, and there's no way or need to make it formal, but you'll understand it when you see it. And that's an algorithm for the problem, and in getting the algorithm, we really understand so much about the structure of the problem that typically you end up making a lot of progress in related problems. And then, again, it has massive uses in applications because once you get a combinatorial algorithm, you can sort of jiggle it around and fit it to your application and so on. And we'll see an example of that also. But this was done combinatorially using the primal-dual paradigm, which before this was run in the setting of LP [phonetic] duality, and we had to lift the paradigm up to handle convex programs and KKT conditions. And then many our algorithms were designed along these lines. And here's an example of an application of these methods, combinatorial methods. So Nisan was at your [inaudible] on sabbatical for a couple of years, and he was charged with coming up with Google's TV ad auction system, and after looking into many possibilities, he finally chose a market equilibrium-based algorithm, and for the implementation he actually took inspiration, quote, unquote, as he says in his blog, from these combinatorial algorithms. And, of course, as you know, this is not peanuts here. I'm sure they're raking in millions of dollars every day. It's operational, this particular system. So that was a story with linear utility functions. But we want to go to more interesting and rich utility functions. And clearly the next step was piecewise linear concave utilities, but additively separable over goods. So if each buyer's utility for each good, for good j, is given by this piecewise linear concave function and the utility over all goods is simply additive, then what can we say about computation of equilibrium prices? And this was a longstanding open problem since 2002, and the first thing that we need to do, of course, is to see how we can build on the solution to the linear case, and in that one the first thing to do is to see if the Eisenberg-Gale program can be generalized to be first linear convex utilities. So the thing to do there is for each of these pieces, I'll call it a segment, you let u ij k -this is for the kth segment -- that's the slope of the segment, that's the amount of good represented in the segment, and xijk will be the amount of good allocated within the segment, and we can write a very simple convex program generalization of Eisenberg-Gale where the utility of a buyer is defined by total utility across the segments and try to apply the black magic of KKT conditions and it fails. It fails. Yes? Question? >>: So [inaudible] each person gets [inaudible], like in the piecewise thing ->>Vijay Vazirani: We just want to guarantee that everybody -- relative to the prices that we fix, everybody gets an optimal bundle, whatever that means. >>: Because one person can actually [inaudible] utility without getting [inaudible]. >>Vijay Vazirani: No. Whatever gives them the optimal bundle. We then guarantee that butter will come with bread. >>: Okay. >>Vijay Vazirani: We're still -- yeah, in the case of additively separable. Okay. So the next thing to do is to build on that combinatorial insights from the linear case, and this is possible. So there were two pieces of work, mine with Yannakakis and [inaudible] here with Ravi Kannan showing that equilibrium is rational for this case, for piecewise linear concave utilities. So, again, rational. So let's jump into the proof of this since we want to see proof. So let's ask this question first. It's a simpler question. Before we want to find prices, we want to at least have an efficient algorithm for the following question: Given some prices P, are they equilibrium prices? Can we determine if they are equilibrium prices? In other words, can we compute the optimal bundles of all buyers and show that the market will clear for the case of piecewise linear can cave utilities? So there are two cases. So given these prices, we're actually given the numbers for each good. We can see for each buyer, for each buyer and for each good we can check -- we can determine how much of this good this buyer would want in the optimal bundle, and there are two cases. Either for this good, the buyer gets a bunch of segments fully and then some segment partially. So that's case one. Or the buyer gets a bunch of segments fully and that's it. Nothing partial. So the next one is two lower utility to get into his optimal bundle. So now we can compute this for each buyer's all goods, okay? And here, actually, the exact amount of good is not yet determined because there could be many segments that give equal happiness per dollar spent. So from this information, the full and partial segments, we can construct a network like this where we put on a node for each buyer, so there are four buyers, and a node for each good, and there are four goods, and we already allocate the full segments, the Case 1 segments, or, rather, these full segments and these full segments. We can make those allocations already. We want to determine whether the partial segments can be allocated in such a way that market clears. So we can compute the amounts of -- so the value of the goods left over after the full segments are allocated. Remember, there's one unit of the each good. So if the price of this good was P, its total value was P1, and some amount of this good got sold, so let's say Q1 is the value of the left over good. Yes? >>: Is it obvious how to allocate the full savings? >>Vijay Vazirani: Oh, yeah. That's obvious. >>: So do you translate to, like, utility ->>Vijay Vazirani: Yeah, yeah, yeah, yeah. That's obvious, yeah. You don't even need that calculator that he had. Yeah. So you can compute the value of each good, the left over value of each good, and you can compute the left over money of each buyer after the full segments are allocated, and you put down an edge wherever somebody wants a partial allocation of some good. And you convert this into a flow problem, put down infinite capacities here, and if the max flow in this graph equals the capacity of this graph which equals the capacity of this graph, then we know that the market clears. So that's what I'm stating here. The theorem is that P is equilibrium prices if and only if the total flow in this equals the unspent money which equals the unspent -- unallocated value of goods. And these are all insights that are coming from combinatorial algorithms, these kind of insights. So in particular, we can write an LP for computing a max flow in this network by putting down variables of -- flow variables for each of these edges, and we can say that the -so these are the fe's. And we can say that the max flow should be such and such. Okay? But that's not what we want to do. We don't want to do anything for given prices. We want to show that whenever there is equilibrium, there's a rational equilibrium. Prices are rational. So next we do this very devious step. Namely, we let the p's be prices, variables, we let p's be variables in this same LP. And, of course, we don't know what -- these prices are variables, so we just guess the full and partial segments to get the network and the LP. The LP is linear. Believe that, okay? It now has two kinds of variables, the flows on edges and the prices of variables. But we have guessed the full and partial segments. So there are exponentially many guesses so there are exponentially many LP's. But corresponding to any correct guess, the LP -- the optimal solution of the LP will reveal equilibrium prices. But these are coming out of an LP, so they must be rational numbers. So although there are exponentially many guesses, wherever you made the correct guess you will get a rational number. So if there's any equilibrium, there's a rational equilibrium. So once you have rationality, looks like the next thing to show is polynomial time solvability, and that's where [inaudible] and I spent all of our time. And it turn the out that in fact for the Arrow Debreu model, the problem turned out to be PPAD-hard. So now what is PPAD? So basically there's a beautiful observation of Megiddo saying that whenever an equilibrium is an NP it cannot be NP-hard because then NP equal to co-NP. So NP-hardness is not the way to prove intractability of equilibrium. And then Papadimitriou came up with the class PPAD which captures the equilibria that have rational solutions, like 2 Nash. And Etessami and Yannakakis came up with FIXP that captures the complexity of irrational equilibria like 3 Nash or 4 Nash or whatever. And in this case PPAD applies and they did it for the Walras model, the more general model. And later these two papers in parallel did it for Fisher's model and, moreover, in our paper we also gave membership in PPAD. So these were all PPAD hardness, so we gave membership in PPAD for both models, assuming a simple sufficient condition, namely, non-satiation. And if non-satiation is not satisfied, then existence of equilibrium itself is NP-hard and all these results apply for approximate equilibria, 1 plus epsilon approximate equilibria. Yes? >>: I didn't understand the PPAD ->>Vijay Vazirani: No, there is no way to explain that in less than three hours. >>: But does it mean it's hard? Is it bad news? >>Vijay Vazirani: Good question. So I'm not going to show you membership in PPAD for these models, okay? Anybody who wants that can -- I will have to show that later, and I'll jump directly to your question. What does it mean? What does it mean? Is PPAD really hard? That was the question, right? I don't know [laughter]. I don't know. Yes, sir? >>: How much of a problem is due to the don't cares coming ->>Vijay Vazirani: No, no, no, no, no. I can make this reasonably smooth and still get PPAD-hardness. That's not the problem. >>: [inaudible]. >>: [inaudible] [laughter]. >>Vijay Vazirani: I don't know. I don't remember. NP complete I remember [laughter]. So -- sorry? >>: [inaudible]. >>Vijay Vazirani: I don't know. It's not relevant. So I don't know. Nobody knows whether -- how hard it is, whether it's hard or -- I mean, some people really think it's in P, some people think it's hard. It's too early to say. But if you want to solve a piecewise linear concave by assuring that PPAD isn't P, then I think you have to do some really solid work, because you'll also show that there are 2 Nashes in P and so on and so forth, and I don't know how many people are up for that. Maybe. But what I think really is the right question is this one. What is the right model? And why do I say that? Well, because -- so in my trip in [inaudible] what I saw was in the stores for some goods the shelves were empty, for some goods they were overfull. And typically these were poetry books and this was food. So obviously market was not clearing for anything. And, really, I do not see that situation here in the U.S. for any good. I mean, prices are always just -- the price of oil changes on a minute-by-minute basis trying to maintain parity between supply and demand despite all the hanky panky that goes on. There is some amount of parity that's being maintained despite all the events or mis-events that happen all around the globe. So markets do manage to do this job, and so maybe we haven't captured the right model yet or some aspect of the right model. And so what are these aspects that are still missing? I think that's a great question to answer. And I think that the same is the case for Nash equilibrium, because it's PPAD-hard. What's the right solution concept that we should be honing in on for dealing with situations of conflict of interest of people? So let me show you that this is a good question by showing you that a lot can be done about it. So going back to 2002 after this result came out, in the spring of 2002 I was really hot on this problem because I saw this was the burning question at that moment, and towards the end of the summer I felt I had an algorithm, a polynomial time algorithm for a piecewise linear concave utilities, and then soon after that everything fell apart. And then looking into things, I realized that linear utilities satisfy something very important, a very important condition called weak gross substitutability, which says that if you increase the price of one good, the demand of another good cannot come down. So that means goods are substitutes rather than complements. So a complement means, like, bread and butter. If I increase the price of bread, the demand for butter will probably come down, right? But these goods are substitutes. They're like bread and cake. If I increase the price of bread, the demand of cake will not come down, it will go up. Right? And even the queen told us, right? We're back in I don't know when. So this is not satisfied by piecewise linear concave utilities. Okay? And also at this point I had so much invested in this algorithm that I really need the to salvage something or lose the whole thing, and at that point the following idea came up. Let me do something that was recommended by you all. Differentiate. Right? Which is not a great idea. I mean, it's not an idea yet because it's just [laughter] transforming a piecewise linear to a decreasing step function, which is obvious, you know, differentiation of that function. But now I want to change the x axis. Instead of the x axis being the amount of good, I want it to be the money spent on good j. Okay? And that's a bizarre utility function. I want people to give me utilities in this model where this is the amount of money spent on a good and this is the rate at which they get happiness per unit of good. Okay? So this buyer goes to the market and she gets happiness at this rate for chocolate eaten for the first 20 dollars and at this rate for chocolate eaten for the next 20 dollars and so on without knowing the price of chocolate. So if the price of chocolate is very low, she'll be eating a lot of chocolates here [laughter] and still claiming happiness and so on. Now, you may not like utility function, but it satisfies the gross substitutability that the polynomial time combinatorial algorithm equilibrium is rational, and it has applications in Google's AdWords market because it turns out that when you look into this market, you see the money spent on keywords, this thing makes sense. And thinking about it in a real market also, it makes sense. So at least some more general versions of this make sense, and this is what we are working on right now at Microsoft. >>: [inaudible]. >>Vijay Vazirani: I claim that you really need a fixed amount of things. Okay. So you really need a fixed amount -- so if you go to buy your breakfast in the morning with 10 dollars and you have sort of a ballpark figure of saying, okay, you'll probably spend 2 dollars on the milk and 3 dollars on the eggs and 2 dollars on the bread and -- okay, and then if prices are usual, you do that, and somehow if you see that, oh, milk has gone through the roof today, okay, then you say, okay, I'll cut back on milk a bit, but I'll spend more on cheese or something like that. Right? So we have spending constraint utilities which are not exactly steps but more continuous functions which allow you to do that. And you can have ballpark figures which you adjust based on prices. So it's not an altogether out of the window idea. But it's too radical for any economist to look at, in any case. But the algorithms were really clean, economical, beautiful, big structure, and that's the reason that I asked this question in the discussion of this paper five years ago: Is there a convex program for this model? And what I said was we believe the answer to this question should be yes. In our experience, non-trivial polynomial time algorithms for problems are rare and happen for a good reason, a deep mathematical structure intimately connected to the problem. So you look at a non-trivial -- by non-trivial I mean a really clean economical beautiful like matching, Edmond's matching algorithm. There's so much structure there. I mean, there's the polyhedral [inaudible] of matching, there's the facets of the matching [inaudible], there's the dimension of the [inaudible], there is the LP that always has integral optimal solutions. I mean, it's amazing. So this was the reason I said that there should be. And five years ago and a few months ago our man here, Nickel [phonetic], found a totally different convex program for linear Fisher, totally different from Eisenberg-Gale, by a most devious means. He took Eisenberg-Gale and found its exact dual, close form, made a bizarre change of variables, took the dual of the dual and got this bizarre program. And it generalizes to spending constraint very naturally. So we are in this situation, that be Eisenberg-Gale program is equal under Nickel's program. This does not generalize to Fisher markets with piecewise linear concave utilities, which I gave you the sort of spiel on that, that basically the black magic doesn't work. But this generalizes to any constraint markets. So we need to change gears at this point and look at yet another market where I'm going to allow price discrimination, which is that businesses charge different amounts from different users depending on who can pay what. And that's always done. It's critical for the existence of some businesses like airlines. And perfect price discrimination is where the business charges exactly what the consumer is willing and able to pay. This is a technical term from mathematical economics. And this is the kind of price discrimination we add to the market model to Fisher's market with piecewise linear concave utility. So buyers have piecewise linear concave utilities. Everything else is the same as in the previous market except there's this middleman, and he buys goods in the usual way by paying per unit, but he sells the goods to buyers not per unit of good but per unit of utility that they get. And the buyer can pick her own utility, her own rate, and tell her there's a unique rate at which she can maximize her utility because there's a condition here that the middleman never sells anything at a loss. And it turns out that you can define the notion of equilibrium and equilibrium is captured by a rational convex program. And guess what that convex program is? Piecewise linear concave utilities plus perfect price discrimination. What do you think the convex program is, the one that did not work for Fisher market with piecewise linear concave utilities? Works when you throw in perfect price discrimination. Which is not an unreal assumption at all. So actually I can generalize this further. So to answer your question about separable utilities, I can generalize this to non-separable utilities without the rationality and come pretty close to what Arrow-Debreu had as their assumption for utility functions and getting polynomial time solvability. But going back to rational convex programs, we are in this situation that for linear Fisher, we have these two fantastic convex programs, equivalent but very different looking. This generalizes to spending constraint, and now this generalizes to price discrimination market with piecewise linear concave utilities. Okay? And that's not where it stops. There are many more rational convex programs. There's one due to [inaudible] and me on combinatorial markets which allow for proportional fairness of Frank Kelly, and there is several that solve Nash Bargaining problems, also rational convex programs, and Kammal [phonetic] has an entirely different kind of convex program having a different form than these ones for the Arrow-Debreu market with linear utilities which is also rational. And all these combinatorial algorithms that I showed you were just polynomial time, but [inaudible] has recently given a strongly polynomial algorithm for Fisher linear markets, and I believe he's onto more, capturing more of these markets with strongly polynomial algorithms. So ->>: Combinatorial? >>Vijay Vazirani: Oh, yeah, totally combinatorial. Yeah. It's like matching, augmenting parts. So we have clearly a lot of good questions here to resolve, including the role of these rational convex programs. I just had a blog today in the complexity blog that you can see where this might go to -- we don't know what will end up, but it's worth pursuing these leads, because they are almost as important as the integer LPs, LPs that always have integral solutions, which led to combinatorial optimization, the entire field. So these are big developments, I think. And there are tons of open issues here, not just open problems. And in the end, as far as these works were concerned, it's all really a plan for the combinatorial approach to follow in convex programs, the seeking of combinatorial algorithms that reveal so much about the problem and then gives you tools for the next problem and the next problem and the next problem and so on. In fact, this market -- this market came about in getting a combinatorial algorithm for a certain Nash Bargaining problem. So just to say that these combinatorial algorithms are incredibly important in the insights and the side effects that they give. And, finally, it should not come as a great surprise that algorithmic [inaudible] and economics, as it is called now, has given us such, you know, amazing directions for the theory of algorithms and complexity theory, these complexity classes that capture important problems and this new algorithmic direction because, after all, game theorists and algorithm people were -- the same people were doing both foundational work in both game theory and algorithms early on, like Gale, [inaudible] Dansick [phonetic], [inaudible] and so on. And then the two fields sort of went apart and, because of the internet, and all of these applications are coming back together. And, of course, the two fields share a lot of methodology like duality and randomization. So one should expect that when they come together again, there should be new fertilization of ideas and new important directions, and that's what is happening here. Thank you. [applause]. >>Vijay Vazirani: Yes, sir? >>: There was one aspect [inaudible] and the interesting questions was Marks [phonetic] arrived at certain conclusions, and if you read this, the book, it's very convincing because he makes similar assumptions in at least one aspect, namely, all the producers and all the buyers are independent and small. And the missing aspect is coalition. And quickly after his analysis, there were cocktails and [inaudible] and picture changed dramatically. And that's what makes the real market [inaudible]. >>Vijay Vazirani: Great point, yeah. So whereas Adam Smith was banking on the good senses of the individual, and they would not -- I mean, they had to act in their own behalf rather than form coalitions of that kind, yeah. Good. Thank you. Yes, sir? >>: I recall John Nash managed to get rid of [inaudible]. >>Vijay Vazirani: Yes, yes, yes, yes. >>: Can it do the same? >>Vijay Vazirani: Yes. Now there are -- there is an economist at Yale, Yancopolis [phonetic]. He has proofs using Brouwer's [inaudible] theorem. Yeah. >>: [inaudible]. >>Vijay Vazirani: Yeah. >>: Maybe sometimes you don't have [inaudible] but you want to create, like, software. I mean, in some sense everybody can use Windows without causing -- but we still have pretty good economics. With internet, basically any number of people can develop a page, everybody can enjoy it, and there's ->>Vijay Vazirani: So I agree that for digital goods, this is all out, because you can reproduce them. And once you have one, you can get any number at no cost. So it's a different economy that applies there. That's a very good point. Thank you. >>: [inaudible]. >>Vijay Vazirani: Yeah, but it's a different -- obviously this -- and that's where, actually, price discrimination comes in also in a very big way, because in a usual economy you assume decreasing returns to scale in production, and that's why you can charge at marginal costs and recoup your fixed prices. But in these digital goods, the entire prices are in the fixed and the marginal cost is zero, so how are you going to price goods at marginal cost? You have to find different ways. And that's why you have price discrimination and so on. Yes? >>: It used to be also that the airlines had to be very clever in differential pricing to make any money. >>Vijay Vazirani: Yes. >>: At least going to the Wall Street Journal, you know, Jet Blue was the simplest pricing structure and one of the few that make money. >>Vijay Vazirani: I haven't see Jet Blue, but I've seen Southwest and so on, and they are using price discrimination very much. >>: Not compared with the older airlines. >>Vijay Vazirani: Oh, very much so. I mean, on a daily basis the fare changes. If you buy two months in advance or two days in advance, you pay a very different price. That's price discrimination. They won't tell you up front ->>: [inaudible]. >>Vijay Vazirani: Sorry? >>: I believe Jet Blue will tell you up front. >>Vijay Vazirani: Okay. Any others? So thank you for coming. [applause]