>> Kamal Jain: Hello. Thanks for coming here. When I saw the list of authors, I thought we need bigger audience. Sometimes we have fewer audience than the number of authors in the talk. I'm glad that we are here. So today our speaker is Dave Pennock. He's from Yahoo! Research. He's been there quite long time. He's also one of the MIT, TR 35 award winner. I think he's also related to Microsoft before I was. He was an intern here in '98, and I got into Microsoft in 2000 the first time. He will be presenting his work on combinatorial prediction markets. Dave. >> David Pennock: Okay. Thanks a lot, Kamal. And thanks everyone for attending. Yeah, I'll be talking about combinatorial prediction markets. And some of the work I'll talk about is joint work with these authors. So before I talk about a combinatorial prediction market, I'll talk about a prediction market. And some of you may know what this is, but so bear with me. But essentially it's -this is the basic idea. We take a random variable, some uncertain variable that we'd like a prediction about, like whether Osama bin Laden will be captured by September 2009. Say this is some -- something that would be useful to know the probability of. And we turn it into a financial instrument that pays one dollar if that thing happens, if he is caught, otherwise it's worthless. So you buy this thing, and he's caught, it's worth a dollar, if he's not caught you just tear it up and throw it away. So then you can think about how much you'd pay for that. Well of course you'd pay for it, you know, it's related to what you think the probability of that thing happening is. And if you're roughly risk neutral, which you probably are for small amounts of money, you'll probably pay almost exactly whatever you think the probability of that thing happening is. And then if you think about lots of people making this decision and their -- this is an open marketplace, many people can buy it, many people can sell it, and this system reaches some kind of stasis or equilibrium, you can think that's like a -this is a consensus point where everyone's at that moment agreeing in some sense that that's the probability or at least they're not willing to put up more money to change it and, you know, that's a lot of opinions that are quantitative and they're credible because there's actual money behind it and in -- it's a collection -- aggregation of lots of opinion, and it turns out that empirically this kind of system works quite well for ->>: [inaudible]. >> David Pennock: Anyone can -- the yeah, so the point of -- I guess a slight difference from a prediction market. So really it's no different in some way than any other financial market. But except that your goal is really for information. So if your goal is truly information, then you want insiders to -- you want insiders as well. You want everyone who has information. Okay. So it's not just hypothetical. You actually can take your money and go to intrade.com and open up an account and buy this claim. So here it is right here. Osama captured September 2009. And it's a double auction just like the stock market. So this is the highest amount someone's willing to pay for that coupon. This is the smallest amount someone's willing to sell it for. So between 11 and 12 percent. So what you can read is this market thinks there's roughly between 11 and 12 percent chance of that happening. >>: [inaudible]. >>: Neutralizes. >> David Pennock: I guess you have to click on this and read exactly the definition. This is a clarity test problem. But the -- I don't know exactly what the definition is. So okay, so you may or may not agree with that probability, but that's kind of the point. So if you disagree with that, you think it's way too high or too low, you get out your checkbook and go here and invest your money, and then you'll be injecting your information or your opinion into the system. >>: Can I short sell? >> David Pennock: Yes, you can short sell. So it's -- you don't think of it like a stock market where there's a certain number of shares out there in the world. Really all selling is meaning buying the negative thing. So you're just entering in a contract that tells -- says when you lose money and when you win money. It's not -- so you don't have to say short sell, you can just say I'm selling or I'm buying the negative. In other words, you don't have to borrow -- you don't have to like borrow the share in order to sell it, this kind of thing. Any more questions? >>: [inaudible]. >> David Pennock: Yeah. You put up collateral. So Intrade keeps track of -they know like the maximum amount you could lose, and then they put it aside. At least if you're a small time person, they put aside all the money you could possibly lose. I guess if you're a big trader, they'll give you -- allow you margin. Okay. So there's a whole bunch of these things you can do. Some with real money, like, you know, things about the recession, things about tons of things about elections, and there's a whole industry of things you can do without money or there's sort of games that you can play. The news features, the Hollywood stock exchange, this pop side prediction exchange and there's a whole -- probably a lot more of those sites out there that you play with play money, but -- and then there's a few that you can do with real money. Okay. So, yeah, so before I get into the pitch about combinatorial markets, I'll just give very, very brief description of a non combinatorial market or a basic how this -- how a stock market works for buying and selling 1 thing. This is called the continuous double auction and let's say you're selling one object like Acme stock and you have a bunch of people willing to buy it, a bunch of people willing to sell it. All we do is we just sort them and this is -- right now the highest offer to buy is lower than the lowest offer to sell, so no one's willing to do anything yet. Then someone new comes in, they're willing to sell for less than someone else is willing to buy. So those two people, they want -- they agree with each other. In other words -- yeah, they're willing to trade. So this trade happens instantaneously, and it happens at price 1.50 because that was the first one in the queue and they go away, and then we keep going. So this is how what's called a continuous double auction works and this is just used pretty much everywhere. All of our finance, all of our gambling, more and more in the gambling world, stocks, options, almost every kind of financial instrument, it all runs through this type of continuous double auction. And that's fine, and that's -- in fact it's good in most cases, but it almost has gone to the extreme where even if you have related things, two things that are logically related to each other are very, very closely related, like a stripe -- here's an option to buy Yahoo stock at 10 and here's an option to buy it as 20. Well, this one's -- I mean, it's logically guaranteed that this has to be worth at least as much as that. But yet the way it works, you know, if you go to an options exchange, they're both two different continuance double auctions that operate completely independently. Or if you go to the horse track to bet on horses, you can bet on a horse to win or you can bet on a horse to come in first or second place, right, and it's guaranteed that the odds to come in first or second has to be at least as much as to win come in first, but it didn't matter. These bets go in one place, these bets go in another place, and they don't automatically affect each other. And this relationship's not automatically taken care of. Okay. And now there's all kinds of Powerset financial instruments, meaning like sets of things like mutual funds are sets of stocks and exchange traded funds, things like a butterfly spread. Butterfly spread is like you want to bet that a stock comes in a certain range, comes within a certain range. In order to do that, you actually buy -- have to buy four different -- buy and sell four different options to put that together. This is called a butterfly spread. But so you pay a commission on all four things, you have this execution risk where you buy one piece of it and the price might change on the other pieces. You know, when you're placing a bet that, okay, you get the point. These are sets of things, but the way it works currently today is you have to go in and buy each thing separately, in a separate queue. So the basic thing I'm arguing is wrong is that this type of thing, it's treating everything like apples and oranges, even when they're -- it's like these are hamburgers and cheese burgers. Like I know for sure a cheese burger's worth more than a hamburger, but yet, I'm treating them completely differently, just -- what was it? Okay. So you get the -- >>: [inaudible]. Make the constraints happen? >> David Pennock: Yeah, sure. So the traders take care of it. You're right. Arbitrage -- so, you know, if you look on the options market, they are correctly priced because the traders took care of it. But I guess my point is the traders shouldn't have to worry about that, especially for prediction market. I don't want them to be spending time on this kind of mechanical thing that a computer can do way better anyway, I want them to spend their time on giving me information. >>: There could be less obvious cases where [inaudible]. >> David Pennock: Yeah. Exactly. Exactly. >>: One thing that's still unclear is whether arbitrage should be folded into this or it should be considered a separate task which may be could be optimized and mechanized but the betting and the arbitrage could be separate. >> David Pennock: They could be separated, but I guess, yeah, I just -- at least in terms of designing a prediction market, I would say I want this -- the market operator to do all that for me -- for the -- and not have the traders be doing it. >>: I think there's also the other side which is the fact that sometimes things can go wrong keeps you from making a particular the trade, which means you haven't brought your information to point. Suppose I am really confident this butterfly spread. >> David Pennock: Right. >>: But I don't want to take the risk that by three-quarters of it get screwed on the other quarter. >> David Pennock: Right. Yeah. >>: I haven't brought my information in. You know, forget whether or not it would have created an opportunity for arbitrage. >> David Pennock: Right. Exactly. So this is the execution risk is like I'm in the middle of buying these 12 different things that I have to do and also in the price changed on the last thing. Yeah. >>: Even if there's no execution risk I mean the [inaudible] you would do three quarters of the butterfly and number four is AIG and they go bankrupt. >> David Pennock: Oh, I see ->>: It's still just execution. >> David Pennock: I think I ->>: [inaudible]. >> David Pennock: I see. Well, it's another type of risk, yeah. Okay. So I guess the point is that the continuous double auction is a great invention and it works great in many cases but it was invented when auctioneers were people. And so of course it had to be that simple when it was invented, maybe a hundred years ago at least. So because a person had to sit there and sort these things and figure out who -you know, be at the center. But of course as we all know today auctioneers are not people, auctioneers are computers and for now, all we've done is taken what a human did and automated it and had the computer do the same thing. But now we realize, you know, the computer can do a lot better than that. So even though this is true, this has remained the standard. So I'm going to argue that we should, you know, be doing better with our auctioneer. So -- and I'm arguing this talk for a combinatorial type of auctioneer. And I guess informal definition of a combinatorial auction or combinatorial market, combinatorial betting market is one where the users can just conduct their own bet kind of on the fly. They can define whatever bet they want to make, they just construct it by composing or mixing and matching lots of different options. This is the, you know, it could be exponentially many things they could do. And kind of like ordering a Wendy's hamburger. Recently Wendy's had a little joke about combinatorial math on their bags. Okay. But here's a real example. So this is a real site. It's called weather bill, and this really does implement it, and this is an example of a company that's looking -- going in the right direction I believe. And it's really, you know, making the system much more efficient. So you can go on weather bill. It's a site where you can buy insurance. Insurance against weather. So this is a hypothetical example where I want to take a vacation at the shore in Atlantic City, and I want to say insure my -- make sure it's a sunny -- you know, I want to insure my trip to my vacation. So I guess you can't really read this, but there's a huge number of options I can have here. First of all I do a rainy day type contract. You know, they also have things about temperature and other things. And I pick the dates, I pick the country, I pick the nearest weather station. They have one that's in Atlantic City. Then I say like -- I say exactly what I want to be paid. So it says like I want to be paid $100 for every day it rains more than .5 inches, but only start paying me after one of the such day and max it out at $500. So if there's more than five days, just give me $500. And so I set all these things. And it just says boom, $42.62. And this is how much. I say okay. Yes or no? Do I want to accept this insurance contract? And it also tells me I guess historically what I would have been paid in the past. So this is more like what it should -- this is an example in my mind of a combinatorial market maker. I'll just give one more example of how it might work. If you think of March Madness, right, the sports tournament, NCAA men's basketball where they have -- there's a single elimination tournament of 64 teams. So there's 63 games. There's, you know, there's a huge industry in trying to predict what will happen. Of course in Las Vegas you can bet on lots of different things. And but it works like I described in the beginning where every type of bet is explicitly listed on some -- you know, you walk into a casino and they'll give you a big list of everything you can bet on. So by definition that's relatively small, at least polynomial size. And everything works independently. So the idea of a combinatorial version of this would be okay, I'll let you bet on any property you can imagine about that tournament so you could bet on something like I think Duke will do better, Duke will advance further than UNC, or I think ACC will do better than the FCC, or I think ACC will win at least five games. Basically I can construct any property I want. There's 63 games, so there's 2 to the 63 ways that tournament can unfold. So there's 2 to the 2 to the 63 of these properties, kinds of high level properties. So of course I could never list them all out, right, 2 to the 2 to the 63 things. But doesn't mean I can't operate a market like that. So well and I'll get to that a little bit later. The -- I guess the other advantage of this, which I mentioned, is the probabilistic -- the logical and probabilistic reasoning can be handled by the system. So for example if someone bets -someone bets that Duke will win the whole tournament, that should automatically increase the odds of Duke winning in the first round, right? If I think that Duke will win the whole thing, of course I also think that they'll win in the first round. So these kinds of things -- so enforcing the logical constraints and propagating the information appropriately should be handled automatically. So why would I want to do this. What are the advantages? Basically it provides more choices to the users, right? So if it's really money, if it's an insurance type product, there's more hedges, right, more specific -- if I'm a business and I'm in this exact location and I'm a key resort, there's only certain things I want to hedge against that. So very, very, I can get very, very specific. And in terms of the prediction aspect I can get more information. So for example, in the election if I had a combinatorial election, combinatorial market on the election of all 50 states I not only get the probability of candidate winning in each state separately but I can get the correlations, right, I can get which states will break together like Ohio and Florida, or California and Nevada. I can -- you know, I can get these kinds of correlations which you can't get otherwise. Yeah. So more information, also better processing of information, so letting the traders focus on -- forget about arbitrage and forget about, you know, these mechanical tasks, the computer does that better anyway, the traders can just focus on giving me their information in exactly the forum they want to give me, and I'll take care of the rest. And the last advantage is like smarter budgeting. So for example, if it's all going into one system, like let's say I bet that Duke will not win the tournament and I also best that UNC will not win the tournament, well I can't possibly lose both of those bets. At least only one of them can win, right, so you only need to reserve -- if I put $100 on both of those, you only need to reserve $100, you don't need to research 200. So if they were two totally independent markets you'd have to reserve 200 if you're not smart about it. So I'll just make a distinction between combinatorial bids and combinatorial outcomes. Combinatorial bids, all that means is bundling outcomes together. So for example, the -- I want to get that the western conference team will win the -- a western conference team will win instead of buying 15 different things, let's say in the NBA, I think there's 15 different western conference teams. Instead of buying each one individually, I buy them all in a bundle, all at once. Or I want to bet that gas prices are in some range. Instead of buying each piece of the range separately, I just buy the whole bundle. And I guess I argue that this type of bundling is -- there's almost no disadvantage. We can use linear programming to do the clearing and, you know, so it's polynomial time that it -- you get all the advantages of the last slide but none of the disadvantages. So I'd argue that really we should be doing -- at least be doing that. And interestingly, there is very few examples of that in practice. I guess Goldman Sachs had a market that's pretty small scale that -- where they did this kind of thing, but it never -- it kind of went away. It didn't -- so most markets out there are still this sort of independent CDA type situation. Okay. But the more interesting case and the case I'll talk about for most of the talk are combinatorial outcomes, and this is the case where the outcome space itself is exponentially sized. So this is like the March Madness example that I just gave you. Well, if you have exponential size outcome space, you pretty much also need bundling. It almost doesn't make any sense to have one without the other. Or I mean to have this one without that one. But the other thing is, you know, as you might imagine once you have combinatorial outcomes, the algorithms behind it become computationally intractable. But I guess I'll just say don't give up hope yet because later on I think it is -- there is a feasible way to go about this. Yeah, question. >>: Well, just a general question. >> David Pennock: Sure. >>: If you're betting on something like March Madness, then usually there is the house, right, the table is betting 5 percent to the house. >> David Pennock: Right. >>: So if you're in the business of trying to make money off of such a betting scheme, [inaudible] you will also owe money, right? The house is good at approximating it which probability certain things will happen in the event. So if you're going to lose money right from the beginning like why bother with all of this? >> David Pennock: I guess more than half the people think they're smarter than half the people. People are overconfident about how much they know. I think this is why people ->>: One thing is what people think but if the house has this ability to predict the best possible way, then ->> David Pennock: I'm not saying the house is able to predict ->>: [inaudible]. >> David Pennock: I'm just saying that maybe the house has a -- you're saying it's a negative sum game -- it might be a negative sum game. >>: Yes. >> David Pennock: So it is true that the whole group of population traders might be playing a negative sum game. But ->>: That never stopped anybody from betting. >> David Pennock: Yeah, exactly, every market ->>: [inaudible] we're talking about serious ->> David Pennock: Well, actually we will get later to if there's a market -- if I really run an automated market maker, which I'm going to get to later, that market maker, the ones -- for example the ones Todd ran in Microsoft, that market maker in expectation, it will lose money. So in that case, you're actually paying -you can think of it as the market is paying information to -- paying for the information that traders are giving it. >>: A quicker answer to [inaudible] is why do you buy insurance? Insurance companies have to profit on something [inaudible] average unprofitable. >> David Pennock: That's true, yeah. Yeah, if you're doing it for that reason, you ->>: [inaudible]. >>: You don't buy insurance against the ->>: [inaudible]. [brief talking over]. >>: It's emotional insurance. >> David Pennock: But most people do the opposite way, where they bet on their favorite team, but -- >>: [inaudible]. [laughter]. >> David Pennock: Yeah. >>: And they win. [brief talking over]. >> David Pennock: Yeah, go ahead. >>: Okay. So I guess I have another kind of question. If you're using a market for information like an election or [inaudible] then it seems as if giving the traders more choice might actually be [inaudible] because somehow you only get information about the things that they are choosing to bet on, and [inaudible] so interested in. >> David Pennock: Yeah. So there's a -- I guess I didn't have a slide of disadvantages. But that is one of the disadvantages that there's just so many choices like if I have -- in this combinatorial setting there's so many things traders could pay attention to it's sort of fragmenting liquidity across many different things. So I guess if you really had a good sense that you didn't care about correlations then you wouldn't want to run this combinatorial market. Or -- yeah, if -- yeah, go ahead. >>: That's one thing I'm confused on actually. Will it actually increase liquidity or decrease liquidity because on the one hand it fragments liquidity across many, many more options, on the other hand you're sharing information among [inaudible] like someone winning in the first round and someone winning overall. >> David Pennock: Right. That's a good point. So I guess I say this, if you fix the number of outcomes allowing combinatorial bids or allowing this kind of bundling is increasing liquidity for this exact reason, like you're putting everything in one pool that used to be separate. So this part is increasing liquidity, but then the other thing is if I -- as you increase the number of outcomes, you're fracturing liquidity. So you're right to be confused. This is bundling helps with liquidity, but increasing outcomes hurts. Yeah? >>: The number of possible bets goes up, how does the house find a counterpart that will bet. If I want to bet the March Madness [inaudible] prime number of games how are they going to find another party for that? >> David Pennock: Okay. So this goes to I think the very next slide. Yeah. So the answer is you probably won't. So if you run a pure auctioneer, at least in my opinion, yeah, if you ran a pure auctioneer who -- okay. An auctioneer is defined as someone who just finds counter parties and finds people to match up, never takes any risk of its own. That's like the continuance double auction case that it -- in this combinatorial setting, it is hard to imagine that there be much trading happening. So what probably what I would argue would work better is a market, automated market maker. So what that is, is like the institution itself is always willing to take a bet at all times. So you come up with a crazy one like this team is likely to win prime number of games and you say what is the price for that, and the market say 32 cents and decide if you want it or not. So that helps with liquidity a huge amount, obviously, and you can sort of think it as infinite liquidity. At least there's some price at which you can do any trade. So what you could -- but the thing is, this market maker will lose money on average. It's just an algorithm that sets prices and expectation it will lose money, but we can put a constant bound on that loss. So you can think of that as the cost to get the information. So if you truly wanted that information, you're willing to pay something, you can think of that as funding this market maker. And this helps with this problem -- I mean, really if you didn't have that, there could be a chicken and egg failure where, you know, not many trades are happening, so traders even just go away. And it spirals. Okay. So there's a whole bunch -- this is somewhat recent I guess since 2002 where we have very good pricing algorithms. This is the most common one and the most -- probably the best -- it is the best one, I believe. Robin Henson's logarithm -- market scoring rules market maker. It's a very nice -- well, I'll -- I won't get into details of it, but this is a -- one of -- this is a nice way to bound the loss of the market maker. And we have another paper which has a whole family of this type of bounded lost market makers and there's another type of market which I call dynamic para mutual market which you can also think in this context. >>: [inaudible] always lose money? >> David Pennock: No, they don't always lose money, they just -- I guess I'm just saying that in expectation they're going to lose money, because ->>: They always risk money. >> David Pennock: They always risk money, yes, that's definitely true. But because you set it up at the beginning, before there's -- when there's less information, it's pretty much guaranteed that the traders, you know, some time in the future will have more information than the market maker had at the very beginning. >>: [inaudible] where the market maker makes one trade, either wins money or loses money. It can win money, but it's risky losing money. >> David Pennock: It will risk losing, but I also say that on expectation, it will lose money. >>: I don't see that. First of all, it always had some charge. >> David Pennock: Oh, well, yeah, that's true, yeah. >>: Why can't the market maker adjust the charges and use the fox dynamically as it's aggregating in the market? >> David Pennock: You're right. Okay. >>: [inaudible]. >> David Pennock: Well. >>: One trade. It makes one trade. What's it going to set the price at where it's guaranteed to make money? It makes one trade. >> David Pennock: Now, you're saying it could adjust. >>: We're not talking about a guarantee, we're talking about expectation and one trade he can calculate what he believes the expectation and then ->>: Everybody -- okay. Fine. It makes a zillion trades, everybody buys food, nobody sells food, everybody buys food, unless you're charging -- [brief talking over]. >> David Pennock: Well, if you -- and also if you adjust over time, you'll increase your bound. So the reason -- this bound is for a very, very specific algorithm that does not adjust over time. So you can improve your expectation if you -- if you're willing to risk or increase your bound on worst case. >>: So you might want to do that ->> David Pennock: You might want to do that, yeah. >>: How deep your pockets ->> David Pennock: Yeah, yeah, you probably would. In fact, if you're really doing this for real you probably would want to do that and you'd probably want to charge a transaction fee and try to make it all back and, yeah. Well, yeah. Okay. Ending around 2:30 or -- okay. So okay, now I guess I'll get into more of the details of the -- technical details. So there's three types of combinatorics I'll talk about. Actually I'll really only talk about two of them in detail. One of them is Boolean logic that's like this tournament type of combinatorics, there's say a bunch of binary variables, like 63 games that can each go one way or the other. And the things people can bet on are Boolean functions, right, Boolean combinations of those events. And then what will happen is, you know, as you might imagine, these things -you know, in the most fully general case it's going to be intractable, but then we can look at special cases, try to look at special cases where it might be tractable. So in this case, we found one that is tractable and one very simple one that's still intractable. Then I'll talk about another type of combinatorics such as permutations. So this is literally think of a horse race, there's 10 horses, there's 10 factorial ways that race could end. And then you could bet on properties of orderings, like I think A will do better than D, things like that. And again, the most general thing will be intractable, but then we'll look at special cases. And I'll just describe this one, but -- and give the result, but I won't go into detail. There's another one we just recently started looking at, taxonomy betting, where in this case the outcomes are N number. The cross product of N numbers, N discretized numbers, but they're laid out in a taxonomy so at the bottom are these numbers, but then we have a hierarchy and different nodes in this tree equal the sum of everything underneath it. So I guess the application we have in mind is predicting page views on a website that has a tree structure. And you might want to try to predict the leaves or you might want to try to predict the parents. And so what we find is -- yeah, well, I'll get to the result later. Okay. Okay. So first I'll talk about permutations. So this is think of a horse race, right. Think of a horse race literally with horses or not so literally like a horse race among candidates in an election or among stocks in a stock market, et cetera. In fantasy football. Okay. So we want to give probabilities for every possible ordering, and, you know, be as the number of horses goes up, the number of orderings goes N factorial, so eventually we do want probabilities on every possible thing that might happen. But of course people don't want to give those probabilities, they want to give high level things like the probability that A will win the race or the probability A will finish in some range or probability that A will beat horse B. Okay? So these are the things, these are the bids that are coming in, the bets. Okay. So first I'll talk about this auctioneer problem where the auctioneer wants to make sure it never loses money, it just wants to match people up and it's really a linear program that we can set up to solve this. So, okay, this is an example of a match. Someone's betting that A will do better than B, someone else is betting that B will do better than C, someone else is betting that C will do better than A. And everyone thinks there's a 70 percent chance that that will happen. And so they're willing to pay 7 cents on the dollar -70 cents on the dollar. So the auctioneer is perfectly happy and safe to grab all three of these, right, because it collects $2.10, but then the auctioneer knows there's no way that all three of these can happen, right, there's a contradiction, logical contradiction. Only exactly two -- well, at most two of those three I guess exactly two of those three will happen. So collects $2.10 and only gives back 2 at most, and so they're happy. So this is what we call pair betting where bets are like A beats B. So very simplified language. So what we found out is that these cycles are important, so if you ever find a cycle in this graph where the price is high enough, then the auctioneer's safe and can grab it, that's a match. But it's not and if and only if. So there do exist matches in that graph that aren't equivalent to cycles. And so in fact, even though finding a cycle is polynomial time, the matching time is MP hard. On the other hand, a different type of restriction if we say horse A will always -- if all bets are like what we call subset bets, horse A will finish in this range of positions. That we can solve in polynomial time. So we set up this linear program and then we -- well, we have a bunch of linear programs -- let's see. I think we have to keep solving linear programming with maximum matching in the inside loop. But we can do it in polynomial time. Okay. So the Boolean case is similar and so I'll go through it pretty quickly. In this case is -- in this case it's like the tournament example that I set up at the beginning. There's binary events and in general people bet on Boolean formulas. And again, the auctioneer problem is to ensure they wouldn't lose any money. So here's a match -- here's an example of match in Boolean logic. Here's A1. Someone's buying A1. Two different people are selling A1 and A2 and A1 and not A2, and really you can think of this as selling A1. So here's a buy for A1, here's a sell for A1. The auctioneer's perfectly safe to grab all three of these. Because no matter what happens between A1 and A2, the auctioneer can never lose money. So we have a bunch of complexity results here in this setting. Probably the most interesting one from a practical point of view is this box here. So this is for divisible order, so it's perfectly -- it seems very reasonable in this setting to have divisible orders. What that means is if I'm willing to risk $100 to win $200 on some prospect, well I'm probably also willing to risk $50 to win $100. There's no reason -- not much reason why I wouldn't accept that like smaller one at the same odds. So this is divisible orders with large number of events, but it's a -- well, it's co MP complete. Indivisible orders make it a lot harder. But I don't think it's -- I don't think traders care that much about indivisible orders. Okay. The last thing I'll talk about is the market maker. So I mentioned probably the market maker makes a lot more sense in this setting. So this automated market maker it's just -- basically it's just a pricing function. It tells me given what everyone has bought in the past, given a list of orders that have been accepted in the past, what price should I charge right now for everything? And mathematically it's very simple. Of course in a combinatorial setting, it involves summation over exponential number of things. So I'll get to what we do in that case. And so as you might expect because of that, almost everything here is sharp P hard, so it's like counting, about as hard as counting. Satisfiability counting. So these are recent results from 2000 -- some papers we published in 2008. In the permutation setting even that case of subset betting that I mentioned is sharp P hard. So I don't know if you recall, but in the auctioneer setting we could do it in polynomial time, but in the market maker setting it becomes sharp P hard. Pair betting is sharp P hard. Even Boolean betting with two clauses is sharp P hard. I guess the only one we have found that's somewhat interesting that's polynomial time is what we call restricted tournament betting. And what that is, if you restrict it to -- in the March Madness type example, if you bet some team to win and let's see all the bets are like team A wins in round K, we can do that in polynomial time. And there's some kind of using a Bayesian network representation to compute this pricing function. Okay. Everything seems very pessimistic, but I'll get to a more optimistic spin in a moment. But it -- okay. This is a summary of all the results we've had over the past say I think three or four years on the complexity results of combinatorial markets. So these are the different types of complexity -- different types of combinatorics permutations, Boolean, taxonomy that I mentioned, and different prescriptions of languages. So this is the general case but then pair betting, subset betting, et cetera. And then this whole row is auctioneer and this whole row is market maker. So I guess the bottom line is almost everything here is MP hard, almost everything here is sharp P hard. >>: Do you use the prediction market about the publication dates of the '09 papers? >> David Pennock: Right. No. It's been accepted. The -- right. So -- well, we found a few interesting cases where it's polynomial time. Like this tournament, restricted tournament market maker is interesting and this subset betting auctioneer. But I guess -- I guess I want to say just don't get too pessimistic. Don't give up hope. I mean, I think if you actually really wanted to implement a combinatorial market, what you'd probably do is do general case like basically allow any kind of bet you want but have approximation in the pricing. So we have this pricing function, and it's a sum over exponential number of things, but we can just do sampling for that. We can do an important sampling it's probably the best thing to do, some type of important sampling. I guess the reason that would work is I mean most things people want to get on have reasonable chance of happening, right? So people bet on Duke will do better than UNC. That has some reasonable chance of happening probably. So we can approximate that. We can do sampling. I guess the things that we're sampling will fail are these very, very extreme things like a one in a billion chance and so what would happen in that case, well, the market maker would just have to round off in it's own favor and so if the market maker thinks it's a one in a billion chance but has a really high variance, it will just say well, if you really want to bet on that, I'm only giving you million to one odds, something like that. >>: There are [inaudible] and [inaudible] to do [inaudible]. >> David Pennock: Okay. >>: You do a succession of problems, each one contained in the other. >> David Pennock: Okay. Actually then I probably want to talk to you after this talk. >>: [inaudible]. >> David Pennock: Okay. Great. Okay. So if you want to find out more, you can -- I have a blog post which basically parallels this talk and has pointers to all the different papers, and in fact might be -- yes, organized very similarly, maybe better -- organized better. So you can go read about it here. If you didn't write down the URL, you can search for it on live [laughter]. Sorry. Okay. So we built -- we built a couple of these things. We built this internal -- so far this one's not public, but internally we built a little thing to play with March Madness constructor, where, yeah, you can pick any of these funky propositions and it will price it for you. I guess one thing we built that is public, it has -- it's a game called you pick, and I think I'm connected, although slow connection. So it's not a combinatorial market but it has combinatorial bids, I guess when I described the distinction. So the thing here is you can, it's a sports betting thing, but you can -- instead of betting against the spread, you pick what range you think the spread will fall into. So you can -- you have a little slider, nice kind of slider widget where you say okay, here's this game between San Diego and Pittsburgh, I think Pittsburgh will within by between two and 11 points. And I'll risk 100. If I risk 100 -- and this market maker is pricing it for me. I risk 100, I'll win 149. Of course, if I pick something that other people think is a lot more rare, this market, this is using that market maker, if I pick a range that other people think is very rare, I can win a lot more. So I make my pick and I'm on this Verizon card. It's pretty slow. And so because it's on Facebook, I can see what my friends are doing, I can follow them, I can try to do better than them. I can try to, you know -the other thing is -- oh, and it has this kind of stock market type thing where I placed my pick, and now if later on, even before the game happens, I can settle it early. So I can -- here's my bet, I can settle now. I'll lose two points if I settle now. But you know, if things change -- if let's say lots of other people start agreeing with me over time, then the value of my bet will have gone up. I can sell early. It's like the buy low, sell high type thing. So you can play around with this, if you want, on Facebook. Okay? Just a few more comments. I'm almost done. So that site I showed you at the very beginning, intrade.com is run in Ireland, so most of the ones with really money are not run in the U.S. because it falls under like a gray area of whether it's gambling or not. So luckily -- well, maybe -- I mean, there's some promise, there's some hope. The CFTC which regulates futures markets actually in May they came out with a call for help, I guess, a mayday and they said, you know, what should we do with prediction markets, please tell us, or give us your opinion of how we might regulate prediction markets. And in fact, we sent in a proposal and so there is some hope that maybe the government, US government will allow some kind of experimentation in this area. And the nice thing about -- or the thing that's giving me hope is their call for help actually was very scholarly and they demonstrated that they actually understood the issues. And one more comment, and I think I'm done. >>: [inaudible] prediction market broadly or [inaudible] using it? That includes all sorts of things, right, [inaudible] in the past? >> David Pennock: Yeah. So they -- that's part of what they're asking is like how can we carve out something that is socially valuable, but yet we don't want, you know -- you know, probably under no situation can I imagine them regulating betting on March Madness. So some of the proposals are like, well it has to have -- it has to be like economic or social consequence. The other thing is there will be limited stakes like you can have at most $500 in the system. Or the other thing is maybe like within a company, you'll be allowed to put your own money into it within your own company, but you won't be a public -- open to the public. Okay. Well, I'll just end with one more comment that it's probably another -- it's another story for another day that -- but in some ways it's the same story, I'll argue. And that's that advertising follows the same thing as the financial world where -- I mean, when advertising was invented the sales force and the marketers were people, and everything was manual over the phone, it wasn't measured very well, and really this industry as is almost every industry, is going the way of like automating everything, automation, automation, I mean that's the way it should be. So, you know, computers learn what ad is best, computers mediate the sales, like decide what things to sell and what not through an auction type process they also do the measuring and decide what works and have a feedback loop. And the things advertisers are buying, instead of like a real estate metaphor they're being very, very specific things with combinatorial features like the type of user that what's on the page, the time of day, everything. And so although it seems a lot different, the same kind of thing is happening in industries all over the place, but of course Yahoo and Microsoft care a lot about this particular industry and how it's going. Okay. Thanks a lot. [applause]. >> David Pennock: Yeah? >>: So going back to your seemingly pessimistic table and [inaudible]. >> David Pennock: Okay. >>: So in the auctioneer row, let's see if I can understand exactly what is the problem that -- is it -- lots of people say they want to make these bets, is it the problem of just finding the maximum such events you can expect, you're playing against odds or ->> David Pennock: Right. No, not the maximum, just finding any set of -- any match. The existence of a match. Right, the auctioneer row is by definition a worst case setting. The auctioneer wants to say in every single state of the world I won't lose money. >>: So in that case you might want to do something [inaudible] make sort of typical bets and you just want to make [inaudible] accepting that ->> David Pennock: Yeah. But then I guess I'd argue in some ways that's like a market maker. Because you're taking -- I guess my distinction here is that market maker take risks and the auctioneer does not. >>: Right but you could be not taking risks but not -- but you're not doing it perfectly, sometimes you reject something that [inaudible]. >> David Pennock: Right. Right. Right. Okay. Right. Yeah. In fact, we can do that. So for example in the permutation case we can just find all the cycles and I know I'm always safe finding cycles but I might miss something. Yeah? >>: This might be one level smarter than that [inaudible]. >> David Pennock: Yeah. Yeah. >>: I have a similar question. >> David Pennock: Okay. >>: If I understood a integer programming solve this thing, two questions, one, how often is the problem too big for the solver actually to come back and secondly, if the solver takes two minutes you just say trade, it didn't matter if the answer might be wrong. >> David Pennock: Yeah. So I mean like with other complex result, the practical implication might be different. I mean, yeah, you might be able to do this. I don't know the answer. >>: This time around here your solver works just fine. [laughter]. But to my first half of the question, would a solver -- I mean imagine you have a market with a thousand traders and it's March Madness, it's 2 to the 2 to the 64, whatever. >> David Pennock: Yeah. >>: Do we actually expect it wouldn't be able to find things? >> David Pennock: Well, honestly I don't know because I -- it's not been done. I guess my personal view is I'd rather do this market maker with approximation than do the auctioneer one. But ->>: So the hardest result is [inaudible] approximation, if you're satisfied with one percent of approximation they are not [inaudible] any more or you are not sure? >> David Pennock: Yeah, I'm not sure. Yeah, this approximation here is not -there's no guarantee associated with this. I was just -- it's just we're proposing important sampling. So there's no hard guarantee at least. There's I guess, yeah. >>: This another thing was a match but one percent may not suffice given [inaudible] is 50 trillion dollars. You don't want to be out one percent of that. >> David Pennock: Yeah. >>: I think we'd all be happy with one percent of -- [laughter]. >>: That's right. We could all be happy if the price talk was ->>: Collectively, yes, but not me. [laughter]. >>: What's the difference? >>: Touche. >> Kamal Jain: Okay. >> David Pennock: Okay. Thanks a lot. [applause]