 Now, hey, it's my pleasure to introduce today's talker, Maryshevsky, from Maragov, from the Institute of Technology. The theory was particularly interesting in computational social choice. The subject of the eight-console curriculum and excellent collaboration with others. Thank you. So this talk is titled about finding a collective set of items. But in some sense, it will be about multi-winner elections. So elections where we choose several people. So since it's about elections, it shows some... You can't see, but this is actually me after I was trying to run for president of Poland. Actually, it's from an election-related promotional movie that we had to make. Anyway, the topic of the talk is multi-winner elections. So first of all, what are multi-winner elections? And there are... One of the findings that we had actually with Arkady and with the co-authors of this work is that multi-winner elections are quite different from single-winner elections in that you really have to think what you're choosing. So maybe you're choosing a parliament. If you're choosing a parliament, it's a complicated process. There may be parties involved. There are candidates with different programs. One thing that you really have to care about is proportional representation. So every voter should be somehow represented in the parliament. So maybe the majority should have the say on what's the law, but every voice should be heard. So when you're choosing a parliament, this is the principle that you need to follow. And maybe you're running a company and maybe you need to hire some people. Maybe even it's a university. And if a university is hiring, then maybe you'll get 100 or 200 or 300 applications. You certainly will not invite all these people to give interviews and give talks. Maybe you need to do some short listing. And then members of the faculty, they all have preferences on who is the best person to hire, but based on their preferences, maybe at least you can shortlist 10 people that you can invite. And this is a multi-winner election as well. And it's governed by very different laws than this parliamentary election. So here, one example is that if you have two similar candidates, then maybe both of them should be invited to give a talk, both of them should be shortlisted or both of them should be not listed. But if there are two similar candidates, maybe we don't need both of them in the parliament. One of them already represents people well enough. And this is actually even more true in another example, which is actually the focus of this talk, which is somehow resource allocation with the example of choosing movies. So the running example for a big part of this talk is the following problem. We have an airline and this airline can put only several movies on the entertainment system of the plane. You're flying transatlantic. So I have a, apparently on Saturday, I have a 19-hour flight from Auckland to Dubai. I really hope there's a landing in between because the plane is not supposed to fly this long. But of course, you have to entertain yourself somehow and the company has some choice of movies that can put on the system. And here we have a really poor system that only fits two movies and we have a choice out of four. And the setting we have is the following. We have, let's say, four possible passengers or four passengers or maybe four groups of passengers that you somehow want to please. And each of them expresses some value of the movie that they have. So later on, we will explain the meaning of these utilities, these values. Right now, they're completely unnormalized. Well, actually, they are normalized in the sense that if the green lady here likes Batman movie with value 10, it means that she really likes it about three times as much as the red guy likes the Superman movie. So they're expressed in the same units but other than that, so far we put no requirements on them. So if you were to choose movies for the plane and this is the data that you have, you have to come up with some sort of procedure to pick these. And what can you do? So okay, the most basic thing you can do is maybe let's just some total utility and pick the most appreciated movies. So if we do that, Batman gets 19. So if you sum up 10 plus zero plus seven plus two, it's 19. Total utility for Superman is even less, it's 14. And it turns out that Woody Allen and the cartoon get 24 and 20. So okay, that's a very nice thing. They have highest utility, you're very well justified, except your customers are pretty damn unhappy because the green lady, well, she likes Woody Allen and cartoon the worst. So she's gonna be completely bored on her flight. On the other hand, well, the same is actually true for the red guy, he got two almost worst possibilities. Whereas the orange guy, well, he doesn't care about cartoon at all, but he loves Woody Allen, he'll just keep watching that forever on the flight. And the pink lady gets two of her favorite choices. So you could say it's completely unfair. Of course, you could find some justification and as I actually said, that summing up utilities is a nice thing, but two people will be completely bored on their flight and two people will be quite happy. So how about we pick a good movie for everyone? Everyone should get something. And in this case, it's actually quite possible. So if we choose Batman and Woody Allen, well, Batman gives the green lady, it's her favorite movie, the red guy, it's also his favorite movie, they're perfectly happy watching Batman. And for the orange guy, Woody Allen 12, okay, the purple lady, she could have a better choice, but I mean, it's really very close. So this way, we can pick something good for someone. We somehow have a representative movie for every member of the passenger group. And actually what I told you here is known as Chamberlain Courant, proportional representation voting system. It seems like it's a pretty good thing. I'll tell you some bad things about it later, but it's a relatively good idea. So if you could do that, and at least everyone watches one movie and it's fine. But what if you have a better understanding of your customers? What if you know that people watch movies, but it's a, I said, 19 hour long flight. It's probably more than one movie. So with some probability P, a customer chooses to watch a movie, the passenger, and with probability one minus P, he just stops, falls asleep, doesn't watch movies anymore. So then the probability of watching no movies is one minus P. So we can essentially cancel this factor out. One movie gets P times one minus P, two movies get P square times one minus P. So then, of course, your model would be expected utility of each passengers. So you would want to pick the movies that maximize the expected utility in this model. And now the question is, okay, these are reasonable models, they're very nice. We can study each of them separately, and maybe we'd better allocate our time on doing something more general. So the next thing we would like to do is to somehow find a framework that gets all these things together. And it turns out that there is a very nice mathematical formalism that gets us exactly that. And these are, it's called OWA operators, so ordered weighted averages. So let's look at that. It's a very simple concept and very powerful one. So it's nice to know about it. So these are generalized average operators. The way they work, well, we start with some, so we will be picking K movies. So we start with a sequence of K numbers. These are, imagine that these are the utilities that you get for particular K movies. So for, and the first step in applying an OWA operator is to sort these numbers. So you sort from the best to the worst. So for example, if you picked these K movies and the utilities were 3, 1, 7, 5, 2, after sorting, you get 7, 5, 3, 2, 1. Okay, this is the first step in applying the OWA operator. Then your OWA operator itself is a vector of numbers, typically between zero and one, but it's not a requirement, and we don't assume it. And what you do is you take a simple product of these, the sorted sequence of utilities and the operator, and you get some value. Now, why is this interesting? Why is it nice? Well, if you take the OWA operator to be just one over K, you get arithmetic average. We don't require that. I mean, it's nice mathematically to have it, but we don't require that. So it's much easier to interpret this thing economically if they sum up to one, because somehow that's a nice thing to have. To some extent, where in this talk, I'll be focused on computational properties. And for that, it doesn't matter. I can multiply this by the same number, and I get, or I can divide. I can always normalize to sum to one. So in these examples, this will be somewhat the case, not completely, but through the rest of the talk now. But so anyway, clearly arithmetic average very easily expressible as a weighted, ordered weighted average. So that's nice, since these are supposed to be generalized averages. Now you can get maximum. Just simply take vectors one and zeros. Clearly, you get the maximum operator. You can get minimum, just zeros followed by one, trivial. You can get a median. You put a one in the middle and zeros back and forth. The median operator works. And you could have, for example, a geometric sequence starting with one and then p, p squared, p three, p four up to, and here for p equals zero one, you get geometric sequence addition. So this, of course, models our expected utility. And I will later show you that there's plenty of other OWA vectors that are actually quite reasonable in our setting. But I hope that by this time, you're convinced that this is at least a reasonable framework, at least something worth looking at. So what can we do with it? What do we get? Well, we define our, what we call an OWA winner problem. So I'm a computer scientist. I have to admit, I guess, shamelessly or shamefully, I'm not sure. But so I'm, to a large extent, interested in deciding how difficult it is to find these objects. So I'm interested in some of their properties as well. But for this talk, it's mostly about how hard it is to find a set of items that will satisfy everyone. So I assume that I have a set of agents. So these four guys in the beginning was our set of agents. And you can think of them as really separate people or groups of customers somehow taken and whatever you like. We have a set of items. So the movies that we had were the items available. And we can pick up to K, or exactly K, items that these people will somehow be using together. And the OWA vector, in some sense, describes how they use the items. So the maximum operator OWA 10000, it was, as I told you, this corresponds to the Chamberlain Quran rule. It somehow means that everyone gets whatever the best item they think, and that's it. If we use this geometric progression, then somehow this models the sequence of making choices. I watch one movie, then I'm with some probability I watch the next and so on and so on. And in fact, one could interpret these OWA operators in several ways that I'll mention later when I show you some examples. So further, for each agent, we have this utility function. So each agent has some intrinsic utility of every item, which is then modified by the OWA operator. So intrinsically, each item has a value, but from the process of using these items, the value gets modified as the OWA sets. So for example, with this 10000 operator, it means that in fact, I only attach value to my best item because the rest, I don't watch. And the task is simply to compute a set of item C such that the value of the set of item C is this utility of the sum of utilities of all the agents of this, say, committee of items. So modified by OWA. So I hope it's clear and if it's not, then stop me. And well, if it's not clear and you don't stop me, then well, there's only so far that my responsibility goes. And the questions that we have is what's the complexity and what good algorithms can we get? And unfortunately, we're already bound by results known from the literature, which give us the following special cases. So for the vector OWA of all ones, which is essentially the same as this one over K averaging, this is just sum, but this is the same thing. This is, in voting theory, this is often known as range voting or sometimes as K border or K approval, depending on the nature of utilities of the voters. But this is a very simple setting where this is simply summing up the utilities, taking the guys with the best result. This is easy. The problem is that as I told you with the vector 1-0-0-0, this is Chamberlain Quran's rule. And when the utility functions are arbitrary, well, actually, even for very simple utilities, the problem is known to be NP-hard. And for arbitrary utilities, there's no hope of an approximation algorithm with better quality that 0.63. So it means that the best you can hope for with arbitrary utilities is to get 63% of the maximum possible utility. I mean, this is the maximum guarantee that you can hope for. Of course, if you randomly choose and all of a sudden you satisfy everyone, then of course you get that. But we can complexity theory results tell you that we can guarantee 0.63 and unless the world collapses, there's no better guarantee possible in polynomial time. And the world collapses means P equals NP. So these are the boundaries that we start from. And so clearly we need to somehow constrain ourselves. And we look at two kinds of constraints. First, we pick special utility functions. And these utility functions are either approval utilities. So you can either you love something or you hate it. If you love something, you give it utility one. Or at least you don't love it. You give it utility zero. It's worthless to you or it's worth maximum. Or we can have border utilities where the utilities come from border scoring rule. So essentially if we have say K items, then we have K possible scores from zero, one, two, three up to K minus one. So these are kind of, I'll mention this a little later, but these are kind of two extreme possibilities for what voter can or what agent can think of items. So approval agents, they have very strict threshold. They think if I like it, it's great. If it's slightly below my requirements it's completely worthless. So I will only watch good movies and I will not even try watching anything below my standards. And border utilities are the model people which have very kind of slowly decreasing level of appreciation for particular items. So I really want to watch my best movie first. But if I can't watch my best movies, the next best is pretty good as well and the next one is acceptable and the next one is so-so. So they have a spectrum of opinions. So these are sort of opinionated people and these are kind of peaceful people I guess. And the results that we get is that, well, essentially approval utilities are extremely hard to deal with and border utilities are, well, not that hard to deal with, but still hard. So it means that in essence, for both this setting, we get NP hardness results. But there's a real difference in how we deal with this hardness, whether we can get approximation or not. So for zero one utilities for approval there's next to no hope. So an airline would be perfectly happy if we have an approximate solution that makes most people mostly happy and we can't have that here. For border utilities, on the other hand, we can get really good, almost perfect approximation algorithms. Depending on the setting a bit, but we can get very good results for border. And the next thing we looked at is just classes of different OWA vectors. So a natural first thing to start with is what we call T best of WAs, where you just, you have appreciation for some, you watch, let's say you watch your T best movies. So with T equal one, it means you just watch your best and that's that. And K best is of course this easy example of just summing up utilities. You watch everything there is and then it of course makes sense to sum up utilities. There's an interesting special case of K minus one best where you watch everything except the worst possible of the set. It's interesting because of its computational properties. Then the next group are movies that are OWA vectors that we call T median. So the T median is you're somehow interested in your, in the T best option. And here K median is particularly interesting. So you're actually somehow you're interested in your worst option. So think, why would you ever want to optimize that? Well, if you want to optimize that, it means you're a perfect pessimist. You're traveling with your family, with kids and you know they will choose the worst possible option and you'll have to watch it. So you want to optimize against enemies of this sort, so to say. And if that's the situation you're in, that's the kind of the pessimists approach that you should take. Then these OWA's vectors are your thing then. And of course you could also look at Khurovich approach. So Khurovich modeled this form of uncertainty that we can believe that maybe you should be to some extent optimist and hope you'll get to see the best thing there is, but you need to reserve this pessimistic part that maybe they'll give you the worst possible. So Khurovich OWA models this kind of this somehow middle ground between an optimist and pessimist. One best would be a perfect optimist and K-medium is the perfect pessimist. Then the next two interesting sequences of OWA's is the geometric OWA. So of course this is the expected utility model. And our arithmetic OWA with a decreasing, slowly decreasing level of appreciation for, well, or level of importance of each item, which actually comes out as an expected utility as well, but in a slightly different model. So I told you that geometric is an expected utility, it models expected utility in the model where you keep on watching movies with some probability. So our arithmetic OWA shows up, for example, if you have a model of you watch, the probability of watching eye movies is uniformly distributed. So the probability that you watch one movie is the same as the probability that you watch all the movies. And then if you want to take your expected utility, then kind of scaling by an arithmetic operator is exactly what you should do. And finally, one thing that we focus on mostly because of their computational properties are non-increasing OWA's. So this is a white class that captures, it gets T best and well, geometric for P smaller than one arithmetic. So we can deal with them jointly with a relatively simple greedy algorithm, not very good one, but still at least we can somehow talk about them together. And somehow it seems that there's a huge difference between these non-increasing OWA's and ones that are increasing, like for example, K median. And this difference is visible in the results. So the results I told you already that, so for K best, this is well known, this is polynomial time algorithm, easy to deal with. For T best, it's already NP hard and it's NP hard even for K minus one best. So the moment you step just a little bit away from summing up the utilities, immediately hardness hits you. So approximation algorithms are definitely needed here. And it turns out that for this K minus one best, we have a so-called pitas, polynomial time approximation scheme, which means that if you say, I require approximation up to 1%, this means, okay, I give you a polynomial time algorithm that gives the approximation up to 1%. However, the running time of this algorithm is polynomial in the input, but maybe exponential in the approximation ratio. So if you fix the approximation ratio, it's polynomial time, but if you keep changing it, the algorithm might slow down a lot. Here it actually turns out that it's pretty good. And we also have this pitas for Borda also works for T best. And for K, but the idea of approximation for K minus one best OWA is actually very disappointing. Because so we have a nice algorithm for T best OWA's and I'll show you that algorithm actually. And for K minus one best, actually what the algorithm does is, okay, it's K minus one best. It really looks pretty much like K best. Let's just run K best and give you that allocation. And this gives you K minus one over K approximation ratio. So for large K, this is pretty much perfect. For small K, we can brute force. And so we get formally a pitas. And it's a completely disappointing one. Because if for some reason you thought that it's good to use K minus one best OWA and we're giving you a K best result, then you're completely unsatisfied with that. Then to begin, why did you ask us for the solution to begin with? You would ask yourself. And so technically we get a nice result. Practically this actually is somehow not satisfying. But that's the result we have. So then for the OWA's, which are non-increasing, the results are essentially no hope for any sort of good approximation. We can't even have this 0.63 approximation I mentioned in the beginning from a simple greedy algorithm. It doesn't work here. The assumption of these algorithms are not satisfied, hopeless. As far as I know, there's no good approximation unless really weird things happen. And finally, for geometric OWA, we have a pitas. And for these non-increasing OWS, we show that the assumptions of this 0.63 greedy algorithm are satisfied so we can run it and find easy enough. Okay, so these are the results we get. I mean, all these hardnesses hold for border and approval or all easiness hold for border. I will accept with this one, which is general, but disappointing. So one of the natural questions now to ask is what's so special about border utilities that we get all these easiness? And I sort of already told you that the reason for this easiness in border is that if you imagine a diagram where here you have utility for an item that is ranked first, second, and so on, then border looks linear. If you don't get your best, you're slightly less happy but you're still happy. So there's a lot of space for somehow negotiating with the agents. Maybe I will not give you the best thing but I'll give you a little worse and many other people will be happy, that's fine. On the other hand, for approval, we have this sharp behavior. So there's no negotiation whatsoever. If you don't get your best thing, you're unhappy and unwilling to be consoled in any way. And so what would you do if you had this sort of curve for utilities? Is it more like border? Is it more like approval? Will the problem be easy? Will it be hard? It's maybe not immediate to guess what's the result. And actually it turns out that, so we came up with some sort of general way of expressing what it means, what made border utilities easy. So we called it, we called curves like this X, Y, non-fineke utilities. So this means that if at least fraction X of the items get fraction Y of the highest utility, it means you're X, Y, non-fineke. It means that you can be satisfied to some reasonable extent. So if X is high and Y is high, then this means that these are really easy utilities to work with, you're easily satisfied. Because if you don't get your best thing, there's still a lot of other items that can satisfy you. But of course, if these numbers are low, then this means it's hard to work with you. And one of the main goals of the talks that I give on this topic is to learn if maybe this notion is already known in the literature. Because we sort of came up with it because it fitted our proofs. And it took us actually quite some days to come up with a name. None of us is an English speaker. So learning this name involves really some searching through dictionaries. And for some time we were worried that maybe it's a rude word, but apparently not. Maybe. But the problem is of course, it's really hard to find a notion when you have the definition but not the name. So actually we don't know. Maybe we came up with something new and interesting and maybe there's a group of people who have been studying it for the last 500 years. And but so far, no one told us. So that's at least some reassurance. And the nice consequence of our, well the way we did our results and the way we obtained our algorithms is that essentially all the results that hold for Borda, all these pitas that hold for Borda translate into a nice approximation algorithm for all x, y non-phynical utilities. So essentially a pitas translates to something like x minus epsilon approximation algorithm if you have non-phynical utilities. And you can see that approval of course is a non-phynical utility type for a very bad set of parameters. But if somehow your voters approve of many items and you have good properties of non-phynical, you get good enough results even for approval. If everyone is happy with everything, no matter what you do is great. As far as trivialities go at least. Okay, so this was let's say the philosophical part of the talk or maybe introduction. Now comes the punishment, now comes the proof. So I want to show you at least some results and the two results I will show you is first I hope I will convince you that finding k minus one best winner under approval is computationally hard. And next I will show you this algorithm for dealing with geometric OWA's under Borda. So two different settings, two different utility types, how the proofs look like. Okay, so we start with k minus one best OWA and we'll show it is NP hard. Okay, so for those of you who are not familiar with the theory of NP completeness and completion of hardness, the way such things are done is you start with some original, some problem that from some source you know is hard. So here the problem that I'm starting with is called vertex cover. And this is the problem of the following type. I'm given a graph, I'm given a number k and my task is to pick at most k vertices so that every edge is touching at least one of the selected vertices. So in this instance that I'm showing you here on the picture. So if you are worried that I'm showing you proofs, don't worry, these are proofs by examples and by pictures. So in this graph that I'm using here, there is a vertex cover of size three. For example, I can pick vertex V two and V two covers these four edges. So now it's clear that I have to pick one of two of the remaining ones. So I can pick V five and it covers two more edges and I can pick V four and it covers one more. And now everything is covered. So here this is a so-called yes instance of my problem. And when I'm proving hardness, so this problem is known to be NP hard. So there's, as far as we know, there's no polynomial time algorithm for this problem. And we will translate this to asking, is there a committee of size K or this set of items of size K under approval utilities for K minus one best OWA vector for some given set of agents. So we need to translate the question of asking, can I pick a vertex cover of this graph to a problem? Can I pick K items that give me a particular utility? So the way I will do it or the way we will do it is first, okay, let's give a name to every possible edge. And now we need to, so we need to pick our set of agents and our set of items. We start with a set of items. It's quite easy to think of it that if we are picking vertices here, then maybe our items should be vertices, okay? And our agents will be the edges. So edge one connecting V one and V two will have utility one for V one, utility one for V two and utility zero everywhere else. And you can see that all these edges, all these edge agents are made in the same way. So E six, E six is here, connects the V three and V five. So gives utility one for V three and V five. Okay, simple enough. But that's not all. I'm also, I also need somehow competing or completing agents, which are called G guys. So they are G one through G N and they're complements of the guys from the previous group. So E one was one, one, zero, zero, zero. G one is zero, zero, one, one, one. They're made exact, they're always made this way. And now I claim that if there is, if there is a vertex cover of size K for these guys, then there will be a way to pick three items that give the maximum possible utility of K times N where K is here, three and N is seven. Why is that? So let's see, let's see what happens when we pick a correct vertex cover. So I pick V two, I get these utilities. I pick V four, I get this. I pick V five, okay? And now let's analyze the utilities that these guys obtain. So E one gets utility one plus zero, plus zero, times the K minus one best OWA. So E one gets one plus zero and here every agent gets just top K minus one, so top two points. So E one gets one point, right? And G one, well, he has zero, one, one. He gets these two ones. So he gets two, two plus one is three, he gets three. And this is true for all of them. It will become clear why this is, so this is the case because we had a vertex cover. So whenever we had a pair of these guys, there was always at least one of the pink groups was a one. So we know that if there was just one, if it was say, if it was one, zero, zero, let's see if we have example like this. We have one, zero, zero. So the other one was one, zero, one. So it must be three because you get top two things. If you had one, one, zero, which is, let's see, it's for example here, one, one, zero. So you get two from the top guy, one from the, you get three. And of course, you cannot have one, one, one from any of them because well, E1 the EIs don't have three ones. And for the other ones, that would mean that one of them gets zero. However, to see why this is exactly, let's see what if I chose wrong, what if I chose a wrong set of items. So this simulates the case where there is no vertex cover. So if I choose V3, V4 and V5, clearly I'm missing E1. So now E1 gets zero, zero, zero, and G1 gets one, one, one. But we are using K minus one best. So E1 gets zero, but G1 gets only two. So K minus one, and all the other guys here get three, but still I'm getting utility K and minus one. So I can get my maximum possible utility only if, which is here K times N, only if there is a vertex cover. So is it clear? Okay, at least some extent. So of course, this is written technically, and I hope this explains the idea behind the proof. Okay, and this takes NP complete for border utilities. And at the price of serious pain and suffering, because this proof, writing it up takes half a page. Writing this proof for border takes three pages. And there's a lot of technical stuff that one has to deal with. But basically the same idea holds. So after we've done this hardness for border, we decided not to do others, but it's certain to hold. Okay, so this was the example of hardness for approval. So let's do easiness for border, for geometric. And the way we do that, actually, to give you the algorithm, we have to go back in time and we have to go back to our joint paper with Arkady and one of the co-authors of this paper, which started from doing epithas for border utilities for one best OWA. So how do, if all I care is watching my one best movie, how do I do that? The algorithm is actually very simple. So imagine you have a profile. So here you have voters V1, V2, VN, which I apologize for it being confusing with the vertices. Now they are voters here, or agents or whatever you call them. And each of them has ranks one, two, three M. So each of them puts a permutation of items on right here. And you have to imagine that I will not show this. But for example, if you rank someone, if you like someone best, you put this guy here. And since it's border utilities, this item gets minus one points. Then the next one gets minus two, next one minus three, and down to zero. Okay, clear now. So our task is to pick K items in a way that somehow maximize utilities of these N guys, N agents. So how do we do it? We start with the initialization step, which the step at first, it already starts with telling you forget about most of this information, it's useless. So we compute a number which is called X, which is M, number of candidates, number of items times WK over K, where WK is lumbered W function, which essentially, you can think of it as a logarithm. It's a slightly slower, more slowly growing function than logarithm. It's a solution to, let's see. Ah, never mind. It's just slightly more slowly growing logarithm. So we compute this number and we say everything, everything in the profile up to below this rank is completely worthless. We don't look at these things, we don't consider it not important. Of course, this means that maybe we'll not get optimal solution, but that's fine, we're after approximation. And we have much less stuff to think about. And now, what we do in the algorithm is, in the loop, we keep picking the candidate that appears in the available part, so the available part currently is the top of the profile, most frequently, and we just keep on doing that until we run out of the K guys. So, for example, if, let's say, I showed you some of this top K, most frequently appearing guys in the beginning of the profile, so for example, you see here some weird thing with large teeth, and this shows up one, two, three, four, five, six, seven times, so probably by far the most. So if we pick this big thing with teeth, it becomes one of our winners, and these parts of the profile become unavailable. So they already got there, so we know that whoever comes in this part gets at least this value x, or m minus, at least this value m minus x, and we've used up these voters, and now we continue. Now it seems that the next item that shows up most frequently is apparently a vampire, which shows up four times. So we pick the vampire, and we get another slot. And let's say if we still have one more guy to pick, and while we have a choice between the devil and the Frankenstein, we choose the Frankenstein, and we're done. So this would be our committee of representatives, and as you can see, maybe they will not fulfill this whole space, that's fine. But by essentially pigeonhole principle, one can show that there will be a lot of items here that fulfill a lot of these slots. So essentially this parameter x is picked in such a way as to make this pigeonhole principle argument optimal. And we're guaranteed that the total utility, under border utilities, will be n times m minus one times this function. And n times m minus one would be the utility of, for the case if we pick items that are always ranked first. There are n agents, each of them gives m minus one points to the top item, so n times m minus one is the best possible imaginable set of items they could ever get. So if we forget about this part, essentially what remains is the approximation ratio. And this is one minus two times wk over k, where w is this Lambert's function, essentially logarithm. So that means it's a really, this function really quickly gets to one. So in fact, the approximation ratio, if we show it on a diagram, you can hardly even see this function. So for committee of size 100, we're already at 90% approximation ratio. And what is nice, this algorithm actually guarantees this level of satisfaction, irrespective of how agents rank the items. So if we're picking 100 movies out of whatever, we're guaranteed that we'll pick movies such that you will like one of them more than 90% of other movies. No matter what, this is simply a fact of life. Okay, so this is a very nice thing. And this is the building block. So now the next building block is, we said we wanted geometric OWA. So now we'll say that we have a pitas for OWA winner, border utilities, but fixed number of top non-zero positions in the OWA vector. So just the beginning top two positions have something interesting, everything else is zero. And it's easy to show that we can essentially use the same algorithm to compute the solution of this problem. So now you have an example of a profile. So we're somehow picking, now the items have become people and maybe you'll choose any parliament or something like that. And the main idea is that, so we have K winners to pick and we only have non-zero values for T entries in the OWA vector. So we will select T groups of K over T winners. And we will use that pitas algorithm from, well here's from literature by actually from previous slide. So the way it works, so it computes this X value, looks at the front of the profile only and the algorithm guarantees to find some group, some K over T items that more or less satisfy a large fraction of the stop profile. And then we can keep on repeating that. Then we look, then we repeat the same process for the next group but looking at the second group of X preferences. And then you're again guaranteed a smaller group that appears in both places. And if you do it T times, you have these T groups smaller and smaller but actually the decrease in size is slow. So essentially the same reasoning as before says that this gives us the pitas. Okay, is the idea clear? Yeah, so since we have T non-zero items, you get for each of these guys in the final block you have T candidates that get non-zero utilities and that's nice. So you can ask, okay, but I wanted geometric of WA and it has more than T non-zero items. It has all non-zero items. That's fine. Because of course if P is smaller than one, which is exactly the case of probabilities, we simply forget about everything after the T entry. It's, now if P is 0.1 then even for T equal three or four, you're already not getting anything meaningful there anyway. So this way you can use exactly this algorithm to get your geometric solution. And that's very nice. Unfortunately, we do not have many other algorithms for many other settings. So for example, for the arithmetic OWA, no result. I'm clear. And the summary is that we have a new general family. Well, here I'm writing of multi-winner elections because if we think of this as either form of approval election for a border, we can generalize, essentially we generalize K border rule, we generalize trembling current, we provide some, for any OWA vector defines a new rule, or any OWA vector plus the set of utilities allowed define a new voting rule. And in fact, it turns out that we actually even model things that we didn't think of. So there is something called proportional approval voting, P-A-V, which is defined by, you could say harmonic OWA. So one half, one third, one fourth, and so on, with approval utilities. And actually from our results it follows that there's an NP hardness, even if each agent approves at most two candidates and each candidate is approved by at most three voters. So this is a pretty strong NP hardness result. There are more details about this in recent other papers. So this whole multi-winner thing is now somehow growing to be an important topic in computational social choice. But in general, we have very broad NP hardness results. We have examples of approximation results which are nice. It's somehow clear that this class of voting rules based on OWA's is important and useful. And now actually, a big chunk of my visit here with Nimrod and with Arkady was to understand to what extent and how. And well, thank you and that's it. It's your seminar. Yeah, it's an authority to be hard to choose so many different models where we would like to do that. For example, you have several projects, you create your activities. How to choose cake? Well, if you are able to consume all of them, then of course you can do some of the utilities. However, if you are not able to consume them at the same time so you have to delay some assumption, say one object is your basic object and you consume today, that's the best option to consume tomorrow and so on and so on. Then there's a discounting. So that you have to discount further utilities with some discount factor, so that's a different problem. Now, the third model is that you have to choose the side, you have to choose K, but everyone can consume only the best one. So for example, that's probably a proportional representation. Everybody who gets their best represents 100%. So in this case, only maximum is of interest for me. But in the flight, you can watch three movies, for example, you have 100, which is emotionally free, because flight is six hours, so each one is two hours. So you evaluate K movements as some of the utilities or maybe your best friend choices, maybe some, maybe some. And another model that is also hidden here is that we are choosing to say that some, I'm not allowed to choose my best. So I also allocate a option for me. So if I'm not, he's the high-judge circulation of options, my best option, I call it. Basically, Mr. Porter looks the worst also here in the worst. And in general, that's very common in economics. So the thing that consumers judge is a project looking at the best choice in the worst. All these scenarios fall into this whole WKK scheme. That's why it is so, so general. But as I said, unfortunately, only few scenarios allows us to calculate the set of objects or the set of objects before they come out of time. So if you are able to consume all of these objects and you judge such sets and sets of objects, that is the end of the time. But if you consume all of the K minus one, but the last one, then suddenly the car disappears. So car disappears virtually in all models of choice or say, race. That's why, because whenever you go, you need car complexity, that's why approximation algorithms are interesting in the WK. So you cannot get an optimal option after the best choice of option, but maybe you can get reasonable. So just this thing, that's one thing. So you are not optimizing, but just this thing. And so this is a very good thing because as I said, was all mentioning a particular framework where there was a lot of problems. It was justified to say, well, we have a lot less than we might want to watch. What are we thinking about some of the problems? What are we thinking about these things? It seems like the OWAA function was somehow codifying some expression of preference by individual patients. But the OWAA function is supposed to select their own utilities, but whether or not as a watch is one movie, then the problem is the K minus one second movie is supposed to be across the uniform at all. The micropassage is one movie. So as a watch movie has a book, that as a watch is all a movie. So how can you justify the OWAA function to be uniform? It seems like not just an example. There's a very simple answer. You can't. The problem is so complicated that you have to compromise something. So that was the point of compromise. So if it was a company running it, they would almost certainly have some heuristics, different OWAAs for different group of people. So that's a simple answer. Yeah, this is the case. For example, you're telling us about the employees employer situation, some of the current employees when they're looking at new 10 candidates can be employed. One of them might be the kind of employee that just wants to select one of the new that you have and become close friends. Another person might want to socialize with them and therefore cares about the 10 of them. So it seems like it can be different. I can understand many elections and force people to have them. Yes. But I said exactly there are cases where people may want to have. So if I'm choosing a parliament, of course I want to have 10 representatives because I've done one. I have more voting power, but I'm only allowed to have one. So sometimes it's useful to express that. So again, I would add that this paper to a large extent is based on computer science perspective. It means we want to achieve something. So if we make our model even more complicated, we get even more hardness results. So the starting point for this kind of work was probably from Chamberlain Corrand and a lot of early inspiration and early work of Arkady. And this generalized it a bit, allowing more, but we certainly did not get the full generality. And this question of having individual OWA vectors always arises. And the best thing to do, I guess, it would be great to have it. But the problem is...