 Okay, so in this talk, I would be talking about efficient discrete fair division. So this was joint work with Kavita, Kurt and Alkemini, and this was done when all of us were at Max Planck for Informatics in Zabruk in this summer. And yeah, so I would get right into what is the setup. So just something I would like to mention right at the beginning is that the first few slides would be around the setup and kind of the definitions of what is meant by efficient, what is meant by NV-free allocations, what is meant by fairness. If there are any sort of questions, I mean, if any definition is unclear or if you feel like this is not a good definition, maybe I expected something more, then please feel free to stop me. And it is important that you stop me because for you to, I mean, be with me till the end of the talk. Okay, so let's just get started. So in a discrete fair division, we typically, I mean, have three, I mean, three components like you have a set of N agents, you have a set of indivisible goods here. I mean, that's why I talk about discrete fair division. I mean, K cutting, I mean, the case of divisible goods has a very rich literature in itself and I won't be covering any of those here. And we assume that every agent has evaluation function which kind of captures, I mean, which is defined on every, all the subsets of goods. So this kind of captures how much this agent, I mean, how much utility this agent derives from any subset of these goods. And the important part of this talk is that I'm going to make the assumption of general valuations. So by general valuations, I mean that valuations which are just monotonic and normalized. So by monotonic, I mean that if I give an agent an extra good, then he will not be worse off. His valuation would be at the same point as he was before. At least at the same point as he was before. And by normalization, I mean that if I give an agent nothing, he has zero units of utility. So these are reasonable assumptions usually. And unless specified otherwise, we are always dealing with general valuations. Okay, so these are the components. Usually you have in a fair division instance. And typically what we want is we want to find a partition of the good set into end disjoint subsets. So think of each XI, I mean each bundle XI being allocated to agent I. And we want to be fair, whatever that means. So I would get to there in a minute. And so before I get into what is fair and all, I would just like to say that if you'd like to know more, there is this website split it, I mean courtesy of NISIRC and others. It's a wonderful website dedicated to theory and practice of fair division. So you can find a lot of applications and you can also find the algorithms underlying. So they use different algorithms depending on your tasks. So for instance, you could use this for dividing indivisible goods, something like jewelry, something like inheritance property. If you want to assign rooms and split the rent among people, if there are multiple people taking cabs and you want to split the taxi fare fairly depending on their sources and their destination. If you want to move away from the set of goods and if you want to move to the setting of tasks. Like you want to split tasks such that you don't overload any particular agent. You want to be, you want to fairly divide chores. This is also an application. And quite recently you would find that there are also applications on, say, assigning courses to students. And this actually has been implemented by Buddhist and others, mostly it's the Wharton School in U Penn. So, I mean, if I want to do justice to applications, I guess this talk won't be enough. But I just want to tell you that, I mean, it is very well motivated and for more things you can actually look this website up. Good, so let's come to the notions of fairness. So when we talk about being fair, the first thing that at least, that may come to our mind is that of envy-free-ness. So I say that, well, I mean, a partition of the goods is fair. If you take any pair of agents and the agent says that I don't envy the other agents. So by this, what I mean is that I'm actually happy with my bundle. So my bundle is at least worth any other bundle. That, I mean, this is the notion of envy-free-ness. And it's important to note that on the left and the right-hand side, you have the same valuation function, VI. So the envy actually doesn't depend on, I mean, the envy for agent IH actually doesn't depend on how happy J is. It actually is only a function of the bundle that J has. So I believe that had I had J's bundle, then I might have been better off. Only in that case, I would have an envy. It's not a function of how happy J is, okay? That being said, throughout the talk, whenever I would define a notion of fairness, the two questions that are of interest would be, the first question is, is it always possible to be fair? So no matter how many agents we have, no matter how many goods we have, no matter how bad the valuation functions may look like, can we be fair? Can we always find an allocation that satisfies our fairness criterion? So this is the first question. Depending on the answer to this question, I would ask about how efficiently can we determine this fair allocation. So let's do it here. So let's say the notion is envy-free-ness. I ask this question, that is it possible to be fair? And I think it's pretty clear that no, this is too much to ask for. I mean, consider a very simple instance where you have, say, two agents and one indivisible good, which is valuable to both the agents. Any kind of allocation would allocate this good to one of the agents, and then you would be having an envy. So this is actually too much to ask for. So henceforth, people thought about relaxations of envy-free-ness. So again, now I would be coming into more specific definitions. If you have questions, then please feel free to stop me. So the first relaxation that is called envy-free-ness up to one good. So here we say that envy-free-ness is too much to ask for. So instead, we ask the following. But consider any pair of agents, i and j, and now it's okay if agent i, envies agent j. But now I say that, okay, if j did not have a particular good, and if I remove this good from j's bundle, then I would not be worse off. Note that I'm not removing any goods. So this is just a way in which agent i is convincing itself that the allocation has been fair to him. So once you fix an allocation, agent i looks at his own bundle, he looks at j's bundle, and he said, okay, I may envy j. But had j not had this particular good, and since this quantifier is sum, it's an existential quantifier, this sum good is usually the most valuable good in xj according to i. So agent i would say that had j not had its most valuable good according to me. Then, well, I would be not worse off, or I might even be better off. So this is the notion of envy-free-ness up to one good. It was actually talked about by Buddhist, it was introduced by Buddhist. And now I ask the same set of questions again. Sorry, so before I ask, I guess I would just give you an example. So consider this simple setting where you have, say, two agents and three goods, and let's assume additive valuations for now. So where, I mean, valuation on a particular set is the sum of the valuation and individual goods of that set. So consider an allocation, which is the following, where I give good one and good three to agent one, and I give good two to agent two. So agent one has a utility of 16, while agent two has a utility of nine. Agent one is more than happy. But according to agent two, agent one has a utility of 13, which is more than what he has. But now he says that, well, if agent one did not have his most valuable good, which is G1, then agent one is just left with a good G3. And then I'm actually better off. I have a utility of nine, while he would just be having a utility of three. So this is a feasible EF1 allocation. An alternate EF1 allocation would be something like this, where, say, you give agent one G1, and you give agent two G2 and G3. This is kind of more satisfying because if you look at here, then no matter which good you remove from, so clearly agent two is very much content. Now, agent one would envy agent two. But no matter which good you remove from here, I mean agent one would be better off. So this is also another feasible EF1 allocation. Okay, so any questions regarding the definition of EF1? Yes? What's the change in the result if you replace the sample you have with? Exactly, that's the question where we are getting at. Yeah. So yeah, so given this notion of fairness, we ask the same set of questions. That is it always possible to be fair? The notion being EF1, the answer is yes. It's a result by Lipton. It's a pretty neat algorithm. And it, in fact, tells us that no matter what the valuation functions look like, in strongly polynomially many value queries. So by value query, I mean that, so in these kinds of instances, it doesn't make quite sense to talk about P and NP because evaluation function itself can be very hard to represent. So we kind of talk about the complexity in terms of the number of queries. So yeah, so here he says that no matter how, I mean, no matter what the valuation functions may look like, if I ask strongly polynomial many value queries, where a value query is you give an agent and I give him a set and I ask this agent what is the valuation on this set. By strongly polynomial many queries of this kind, I can always find an allocation which is EF1, no matter what the valuations may look like. Okay, so let's look at one of some drawbacks of EF1 allocations. So consider this simple example where you have, say, two agents, the goods you have to distribute is two pizzas in a house. And consider this allocation, where I give agent one a house and a pizza and I give only a pizza to agent two, okay? So this is EF1, right? Because agent one is very well off. Now agent two is actually gonna envy agent one because, I mean, well, the valuations are highly skewed. However, agent two says, well, if he didn't have the most valuable good, which is the house, then we are kind of the same. So I will not, I mean, envy him anymore. So this is actually an EF1, but this kind of doesn't look fair. So, I mean, unless there are people who say that a pizza is more valuable than a house. So, okay, so this kind of doesn't look fair, but it's important why it doesn't look fair. So had I only had one house and two agents, even then the valuations would be skewed, right? There is no way in which, I mean, I can avoid this huge skew in the valuations. Then what is actually being unfair? The concern is who gets the house should not get anything more. So if you have kind of like many agents and if you have something like this, which is a super expensive thing, then the agents can kind of console themselves that well, it's like a lottery and it's quite makes sense that I may not get this house. It's highly unlikely that I may get this house, but the person who already guessed they should not get something else. I mean, it's, this is kind of, I mean, one of the few drawbacks and we would like to overcome this drawback. So as Jakob pointed out, we would now look at a weaker relaxation, something which is closer to envy-free-ness. Rather, this is called, I mean, probably the strongest notion of envy. I mean, the closest notion to envy-free-ness in case of indivisible goods. So here I just flipped the quantifier. So I say that, well, it's okay for agent i to envy agent j, but no matter which good I remove, I should actually be, I mean, better off, or not worse off. So intuitively this means that even if I remove the least valuable good in j-spundle according to me, even then I should actually be better off. So in this allocation, as you can see, this is clearly not EFX, because the least valuable good in this bundle is the pizza and then he's left with the house and there's a huge envy there. This, I mean, this is not just the only motivation for EFX, I can actually see a lot of things because this barrier can be overcome with some other notions of fairness. I mean, many of you might be even be aware with something called Maxmin Share. So that can also overcome this kind of a barrier in this two-agent setting. Anyways, coming back to EFX, let's repeat our two questions. Like, is it always possible to be fair, now this notion being EFX? And the answer is not known yet. So let me tell you the state of the art for now. This is a paper by Tim and Benjamin. Yeah. No, you give a house to one of the agents and two pizzas to the other. So then the guy only has a house. Yeah. Okay, yeah. But like I said, I mean, if you just have a house, then also the same situation comes. Okay, going back. So this current state of the art, I mean, it's a paper by Tim and Benjamin. So where they show that it exists in some particular settings, in particular, if you have just two agents and with general valuations, then EFX allocations exist. If you have more than two agents, but all of them have identical valuations, which on the first glance may look like the hard case because identical valuations means that the agents are actually fighting for the goods and there it might be actually harder to be fair. But even in this case, yeah, I mean, EFX allocations exist. But the moment you go from, I mean, the moment you go to the case of three agents and above, even for the simplest class of valuations, namely the additive valuations, I mean, we do not know anything. So I mean, so even for general, we do not know. So what I mean is that for a very simple class of valuations, for N equals to three agents, we don't have a proof that EFX exists. For N equals to three and above, for arbitrary valuations, we cannot disprove that EFX doesn't exist. EFX exists, sorry. Okay, so in that spirit, I would like to tell you the main result of this paper where we attempt to settle this question. I mean, we make some progress and I would like to actually highlight on that. So we say that, well, given this instance, instead of partitioning it in N bundles, I would partition it into N plus one bundles now. The first N bundles are allocated to the agents and there I can guarantee the EFX property. So I'm actually keeping some set of goods unallocated. But whatever I allocate, I'm guaranteeing EFX, but this statement as in itself is meaningless because I could very well throw the whole set of goods into the pool of unallocated goods, give everyone nothing, and that is trivially NV-free, so it is NV-free up to any good as well. So I need to give you some bound on the goods that are unallocated, either in terms of do I throw valuable goods into the pool or how many goods I throw into the pool, some sort of bounds. So we kind of give both. So first thing is that, well, no agent will envy the pool. So every agent is actually more content with his bundle than with the bundle that is not allocated or we call it in our paper like a bundle that has been donated to charity or something like that. So no agent actually envies the pool, so which says that you do not have a lot of very valuable items in the pool, according to any agent. Second thing, less than N goods go to the pool. So where N is the number of agents, which is significantly less than the number of goods. So in particular, if you look at the three agent case, I say that, well, for general valuations, if I can take two goods, I mean, if I can keep two not so very valuable goods unallocated, then I can always guarantee EFX. It's like a corollary of the main result. For the rest, for the majority of the rest of the talk, I would actually prove this main result and then some more consequences of it. Any questions up to now? Okay, so to this end, I introduce a very standard tool that is used, which is the notion of NV graph. So if you give me an allocation, so if I fix a partition, I mean, X1 up to XN, then I construct this graph where the vertices correspond to the agents and there is an NV edge from one agent to the other, if, I mean, the agent envies the other agent. So for instance, if you look at, I mean, here I have seven agents and the allocations are X1 up to X7. And so we have vertices corresponding to these agents and depending on the bundles and depending on the NV, we have the NV edges. So that's simple as it is. I mean, it's just an, it's just an NV graph. And now the first observation that you can make about the NV graph is that it is acyclic. I mean, you can assume it's not acyclic, but you can assume without loss of generality that it is acyclic. The reason being that, well, if you have a cycle, for instance, here between agent three, four, five, five and six, then I can exchange the bundles along the cycle and everyone would actually be better off. So let's look at it. So let's say I do this exchange. So these NV edges along the cycle would disappear. Now let's argue about the edges that are incoming to the cycle and the edges that are outgoing from the cycle. For the edges that are outgoing from the cycle, let's look at this edge from A6 to A7. This may or may not be there. This edge from A6 to A7 may or may not be there. Why? Because agent six has got better off. So this one introduced new NV edges, but existing NV edges may disappear. And what about the edges incoming? So as I said right at the beginning, that it's important, so if an agent envies another agent, it's because of the bundle that the agent has. So here, for instance, if you see the bundles remain intact, I've just changed the ownership. So the arrows that were there, so the incoming arrows kind of rearrange topologically. So here there was an error from A2 to A6 because agent six had the bundle X6. Now the bundle X6 is right now with A4, so this edge re-orients from A2 to A4. There was an edge from A2 to A3. Now X3 is with agent five, so this edge re-orients. Importantly, we do not introduce any more new NV edges and the NV edges along the cycle, they disappear. So the edge count decreases. You can keep doing this until you can make it acyclic. In particular, you don't change the allocation, the partition remains the same, you just change the ownership. So you can call it somehow like a permutation of the, I mean the first partition. So for the rest of the talk, whenever I would be talking about an NV graph, I would always talk about an acyclic NV graph. So now it's a simple tool, but this would be very crucial in proving the main result. It's the notion of what I call the most envious agent. So here I want to quantify the amount of NV any agent has for any set. So consider this example where you have an agent and a set S. So the agent currently has the bundle XI and he clearly envies the set S, right? Because, yeah, I mean it is more expensive and these are the goods kind of stacked on top of each other. I mean sorted according to the valuation the agent has for the goods. So agent I clearly envies agent S. Now if I want to quantify the amount of NV here, the NV from agent I to agent S, the immediate approach would be to just look at the difference in valuations. That's kind of quantifies how much NV you have. But given that the underlying notion of fairness is that of NV-free-ness up to any good where you talk about NV-free-ness after removal of goods. The correct, I mean the more natural notion of quantifying the NV is looking at the smallest subset of S that agent I still envies. So for instance here, S has five goods and five goods he definitely envies. But just these two goods are enough for him to actually envies the set. So ZI is the smallest subset of S that agent I still envies. And the smaller the size of this set is, I say larger the NV for the agent for this particular set. And we would see why it is crucial just in the next slide. So this is kind of what we quantify, the amount of NV agent I has for the set S, the size of the smallest subset that he still envies. So let's look at an example. So naturally the most envious agents would be the agents with the smallest value of this Kappa's. So let's look at this example. So you have the set S, now you have three agents. And for agent one, if you just have two goods from S it's sufficient for him to envy. For agent two you need to have three and for agent three you need to have four. So clearly by our definition of the most envious agent the most envious agent is agent one. Now why is such a definition important? The important thing is well this bundle that you have of comprat, yes. Is the value function additive for each? No it's not additive. I mean in this example it might look additive but the definition is not additive. You just look at the smallest subset of S that is still more valuable to the agent than XI. So the picture I mean just to make it easier I mean I made it additive. There's a question, how do you find that subset? Yeah I mean that's an algorithmic question, we'll come to that later. So yeah I mean that's where it gets hard. Exactly. So okay, so why is this set interesting? So well first of all this set is more valuable to this agent than X one. And more importantly no other agent envies this set up to any good, right? Because for any subset of S for two to envy it has to have size at least three. For any subset of S for three to envy it has to have size at least four. There might be ties because there might be other agents who might also have I mean the size of Zi to be two but there won't be envy following the removal of a good. So nobody would envy this set up to any good. So this is why this set is interesting because first of all it is more valuable to the agent than its current allocation and everybody's fine with it kind of. Like nobody would I mean oppose if I say give this set to this agent. Okay so these are the two simple tools that I wanted to introduce. The envy graph and the notion of the most envious agent and surprisingly enough this is sufficient to get our results. So this is kind of formalizing what I just now said. So given a partition take any subset identify the most envious agent and I claim that none of the other agent strongly envies this subset. I mean nobody envies this up to any good. All right. Now the algorithm is very simple. So always I maintain a partial allocation and a pool of unallocated goods and the invariant being that the partial allocation is EFX. And as long as some preconditions are satisfied which I would be mentioning in a minute I keep applying three simple update rules. And I would argue that I'm making some kind of progress. And these update rules will not be applicable anymore when the preconditions are not satisfied. And then you would see that we would arrive at the three conditions of our theorem. So at the beginning for instance we start with a trivial partial EFX allocation where we throw everything into the pool and every agent has an L set. So this is trivially EFX. Now as long as one of these update rules are applicable I would apply them. I would update my partial allocation and my pool and I would just keep going. So let's get into these rules. So the first update rule is applicable whenever you have an agent who envies the pool. So let's see. So consider that this is your envy graph. So as I said I would assume that it is acyclic. So you have two sources A1 and A8 and now there are three agents namely A3, A4 and A11 who actually envies the pool. In that case I identify the most envious agent that is in this case let's assume that it is agent three and I kind of swap the bundles at the beginning so I give agent three the pool and I throw whatever he had back into the pool. So now as you see that these red edges directed to the pool would be directed towards this agent. I mean there might be red, I mean yeah. And now what I say is like okay but since he's the most envious agent I don't need to give him the whole pool. I just need to give him the smallest subset that is still valuable to him. And then these blue edges would disappear by our previous observation. I mean they may be there, they may not be there. I mean they may be there if you have multiple most envious agents. And as you can see so you might say that well now you have more agents envying the pool but I actually don't care. Because if you look at the valuation vector I mean if you look at the valuations of the agents the valuations of the agents the other agents remain the same and the valuation of this agent improves. So there is some sort of a progress if you look at the valuation vector it's improving on the Pareto front. And if I just keep applying this update rule so I'm not even discussing the other two update rules if I just apply this update rule until it's no longer applicable I already have the first two conditions of my theorem that I have a partial allocation which is the effects and nobody envies the pool. So the rest of the update rules would be to kind of reduce the size of the pool. Any questions up to now? You want the pool to contain only less than N. Yeah so the rest of the- One less is enough. You start with all what is N? N is the number of agents. So that would be significantly less. So if you have three agents and good. Yes. What is the accusation for wanting the pool to have a few items even though it won't open anymore? I mean you mean that it suffices to stop here? No, I mean in the sense that okay I think I felt that it was more important that no agent sort of envies the pool because you don't want to just put everything in. Exactly. So I mean since the question is envy-free-ness following the removal of a good I mean like since we I mean it's interesting to know on what large subset of the goods that we can guarantee any effects. It's like you have just removed at most one item from every agent. Yeah something like that. So I mean every yeah every so since yeah every agent I mean if I mean I'm just taking one more item away from them. So every agent is kind of giving one item which is not super super valuable to him or her. Okay so now the two update rules U2 and U3 would be dedicated to reducing the size of the pool. So U2 is applicable it's the simplest of the update rules. It's applicable whenever you can pick a good from the pool allocated to some agent and the others are fine. I mean there is no I mean there's no envy strong envies that means envies up to any good produced. So for instance if I take a good from the pool and I allocate it to the agent one and if it may produce blue edges but I'm fine as long as it doesn't produce red edges I'll continue. And what is the progress we are making here? Well the pool size is reducing. If you assume non-zero marginals then we can also argue that we make progress on the Pareto front of the U2 valuation vector. Let's not assume that but at least we know that the pool size is reducing with every application of this rule. So we cannot have more than M consecutive applications of this update rule. So where M is the number of goods in the pool. Okay so the next rule is the most complicated rule and this is applicable whenever the first rule I mean the rule that I just showed you right now is no longer applicable that means if you take any good from the pool allocated to any agent there would be red edges produced. So U2 is no longer applicable and the size of the pool is larger than equal to N. So as long as you have sufficiently large items in the pool I can still make progress. So how does this go? So let me give you a warm up. So let's start with a simple case where the NB graph has just a single source. Okay so I take a good from the pool I give it to the source I know there would be red edges people will not be okay with it so there is agent 5, 7 and 6 so 5, 6, 7 that actually envies this new bundle. Well I identify the most envious agent. The good thing here is I kind of have a cycle so maybe I can try, yeah. Yeah I think I should have mentioned that very good point. So blue edge so envy edge. So for instance from one to two you have up so before I put this good from one to two you had a blue edge. So it says that according to one X2 is more valuable than X1 but if I remove any good from X2 then this blue edge will disappear. But the red edges there is envy but even if I remove any good the red edge will, there would be still an edge it may still be red but or it will be blue but there will still be an edge. So that is strong envy which is what we are trying to prevent. Any good, any good. So that's that's important. So throughout we are talking about you remove any good. I mean this blue edges would disappear. Okay so coming back so we identify the most envious agent we have a cycle we can try something similar. So let's exchange things along a cycle. So well then this conflicted bundle I mean the bundle for which people are fighting now goes to the most envious agent agent seven and the red edges are kind of redirected and the agents along the cycle they kind of improve in their valuation. But now we do the same trick. Well because the conflicted bundle is with the agent who envies it the most. So then just give him what suffices and throw the rest of the things back into the pool. So then the red edges would immediately disappear and all the agents along the cycle have strictly improved in their valuation. So the new allocation is EFX and the valuation vector actually improves on the Pareto front. So what was crucial here? The crucial thing is that we should get the most I mean if there is a bundle which is a conflicted bundle we should be able to get it to the most envious agent without decreasing the valuation of anybody else. If this conflicted bundle is the pool it is very easy to do because I can just exchange. If the Envy Graph has just one source even then I can get this more conflicted bundle to the most envious agent and still do my tricks. When is this not possible? When your Envy Graph has multiple sources and the most envious agent could not, I mean maybe in another subject it may not be reachable from your source. So let's look at that example. So when you have multiple sources now when I put a good on S1 then well then you could have a most envious agent somewhere else which is not reachable from S1 and I cannot apply this trick anymore but then I have the guarantee that our pool has sufficiently large goods and no matter which good I choose there would be a most envious agent because U2 is not applicable. So I take another good I put it on the next source I mean the source of the most envious agent then I get another most envious agent who may still be I mean not in the connected I mean may not be reachable from any of these but as long as I have more goods than number of sources I can keep doing this until I get a cycle and once I get a cycle I can do the same trick I can get the conflicted bundles to their most envious agents without decreasing the valuation vector and now I just give them the bare minimum that suffices and throw the rest back into the pool. You have a question? Sir this has a steady society like this. Yeah it doesn't matter so I mean so for the previous rule was that you can have at most M consecutive applications so if you look at M plus one applications of any update rules then I can say that the valuation vector improves because at most M of them could be an application where the valuation vector will not improve and even when you apply that rule the valuation vector does not decrease I mean an agent may not strictly improve but nobody decreases so if you look at chunks of M plus one then we make improvements okay so yeah the new allocation is the effects the valuation vector improves so now we stop when none of our update rules are applicable and in that case we have a partial allocation which is the effects nobody envies the pool the size of the pool is small I mean less than N goods go to charity so this is the statement I mean this is what I promised you at the beginning the important thing is this holds for general valuation functions and an alternative statement could be so here's a mistake this should be a capital S sorry so if you have one agent who is beyond NV I mean like if you have one agent who is perfectly fine no matter what you give him and now no matter what the valuation functions of the other agents may look like you can always guarantee EFX because well run this algorithm on the rest remaining N minus one agents and whatever goes to I mean whatever remains unallocated you can allocate it to this agent okay so from here on I would look at a very special case which are additive valuations where the valuation on any particular bundle is the sum of the valuation yes so I think the previous one beyond anything was a constant problem for pseudo polynomial yeah the running time is pseudo polynomial because we are arguing in terms of improvement of the valuation vector but still if you're looking at approximate NV like one plus epsilon EFX where I only shift bundles if there's a one plus epsilon improvement then it would give a FPTAS immediately assuming you can find the most ideal switches one to the other right right right right so that this yes yes sorry I forgot to mention that yeah so this this holds not for general valuations but for growth substitute valuations you can find the most envious agents with polynomially many value queries so up to growth substitute you can get an FPTAS or a pseudo polynomial time algorithm but yeah beyond that it would be beyond that it's I mean I don't know about this property but so for instance in Tim's paper there's a result that if you have just two agents with submodular valuation functions and even there to find an EFX allocation you need exponentially many value queries so I mean you give I'm so I mean so we are doing it for a growth substitute but with charity we are trying to get as close as we can okay so any more questions so this is really not very optimal but if you looked at the substitute you should actually allocate it to those agents can you say something about that substance on the contrary it's inefficient this is not very optimal I mean even if you look at the subset I can prove that it is not very optimal so always it will be non-peridot optimal when you say always from your algorithm yeah I mean no matter I mean if our algorithm is fail if there is some goods that are still unallocated and I mean because some preconditions of the update rules are failing that's why we cannot allocate them in that case whatever you have allocated I can prove that it is not peridot optimal there is an allocation where I can peridot I mean which is better on the peridot front but it is not EFX so your fairness is kind of holding you back there yeah when you're only reallocating within them you can I can show that I mean yeah on the contrary you can show that it is not peridot optimal for additive valuations too okay so additive valuations so now I would like to introduce another notion of fairness which is MMS, Max Mint share so when we talked about envy, free-ness one good I mean any good to I mean given an allocation if I ask an agent have I been fair to him to answer this question he needs to look at the valuations of the other agents right but this is more of an individualistic notion of fairness so every agent has kind of a threshold let's say this threshold quantifying the bare minimum that he expects of the allocation that I mean I would define what this is in a minute but just think of it as I mean this is a bare minimum he expects and if I can find an allocation where every agent has at least his threshold this is what is called the MMS threshold then I'm fine so here for instance the agent does not I mean here we don't need to look at every pairs of agents to see whether our fairness criterion is satisfied it's more like an individualistic notion of fairness and what is this bare minimum threshold that I'm talking about so here I say that okay let's look at agent I and I say that here are the set of goods know that there are n agents now you do the partition of the goods but make but know for a fact that you are going to get the worst bundle since you are having the liberty of the partition you're going to get the worst bundle because imagine that everybody has same valuations like you but since you are doing the partition I'm going to give you the last preference since everybody has the same valuation they are going to take every other block which is more valuable and you would be left with the block which is least valuable so this is what I call the MMS threshold of an agent the bare minimum that he expects that you look over all the set of partitions and what you want to maximize is the valuation for the I mean the smallest valuation for a bundle so VI I mean this this is actually yeah there's a same subscript on the left and the right here over all the bundles you look at the smallest bundle and you want to find a partition where you maximize this so this is what is called the MMS threshold okay worst capital M the set of goods and small n is the number of agents so this is actually a function of the number of agents it actually doesn't depend on the agents and their valuation functions like I said so this is a notion of fairness we just knows the number of agents and the number of goods that's all that you need to know about to ask an agent whether it's being fair to him or not okay so one observation is that for additive valuations this can at most be VI of M over N right well they could know yeah this can be at most VI of M over N because I mean no matter which way you partition the sum is actually the same because we're looking at additive valuations this is very crucial so this is kind of an upper bound on your MMS I mean just know this for for a second I mean we would be using this immediately so okay now I define this notion of fairness it was defined the same paper by Buddhist and let's ask the same questions is it always possible to be fair the notion being MMS the answer is no there is a very clever counter example by Prokacian Bang so I'm not going to discuss this counter example but henceforth people have looked at relaxations of MMS basically approximate MMS we're saying that asking for this much of a threshold maybe too much what if we ask for some alpha times MMS for any alpha between 0 and 1 so this is called approximate versions of MMS there have been a lot of incremental work gradually improving this alpha so I would just state the two state of the art so in 2018 Godsey and others gave a PTAs for finding a 3 over 4 approximate MMS allocation this is a very but this was the first paper to achieve this ratio but this is very complicated it's over 75 pages long and quite recently Jugal and Citara have given the same approximation factor but it's a polynomial time algorithm and it's kind and it's much simpler but anyways the message being that the current best approximation for MMS is actually 3 or 4 why did I mention about MMS and all of these things so let's look at our allocation so if the size of the pool at the end of our algorithm is 0 then we have an EFX allocation we have a complete allocation which is EFX let's look at the other extreme if you have n minus 1 goods actually then what can we say about the envy graph we know that there are n sources in the envy graph right because according to our update rule U3 as long as we have more number of goods than the number of sources in the envy graph I can still make progress so in that case what does this envy graph look like so you have n sources and then there is this pool of unallocated goods which also nobody envies so look at any particular agent he does not envy any of the remaining n bundles none of the n minus 1 from the other agents and not this extra bundle which has been unallocated so I can say for a fact that whatever our algorithm promises here is at least vi of m over n plus 1 which is kind of very close I mean for large values of m to vi of m over n which is an upper bound on the MMS so in case if you see I mean if you see that our algorithm has donated too many goods to charity I mean like n minus 1 goods then you get very good approximation on MMS I mean if your n is sufficiently large you beat the state of the earth for additive valuations and we can actually capture this so what our allocation gives is 1 over 2 minus the size of the pool over n MMS so if your P is 0 you have any effects but you still have a half approximation on MMS and if the size of the pool is n minus 1 then you have almost the effects with charity but you have almost but you have 1 plus 1 over n plus 1 to the minus 1 MMS okay so so much about fairness I would I won't be having much time but let's see so let's talk about efficient so now not the whole point being I mean we're talking about efficient fair allocations right so when do I want to call an allocation efficient so efficiency is a kind of a measure of the total happiness that I mean maybe I mean the first glance it may look at the total happiness that the that the allocation achieves so one thing to look at maybe a social welfare that is these some of these valuations but come on I mean if there is one particular this is this is definitely a no because if there is one particular agent who says that he gets one million times happier than the others no matter which good you give him then an allocation which will optimize the social welfare will give everything to this particular agent so this kind of doesn't go with the whole notion of fairness because it's not scale invariant so maybe a thing to look at is social welfare but not at the cost of fairness so if I can improve a particular person without decreasing the valuation of the others maybe this can be a good measure of efficiency this is what we call parito optimality you say that an allocation x parito dominates an allocation y if one agent is actually strictly better off in this allocation than he's in y and the other agents are at least the same an allocation is said to be parito optimal if it is not parito dominated by any other allocation so in the sense that if I can strictly improve one of the agents without harming the others and if your fairness is holding you back from doing this then your fairness may not be an efficient fairness measure that's kind of the gist of this so how can we get something which is fair and efficient so the right potential function to look at is not the sum of the utilities rather the product of the utilities which is also called the Nash social welfare you look at the geometric mean of the valuations well it's clear to see that anything that is Nash social wealth I mean NSW optimal is parito optimal too because if you can improve one of them strictly without decreasing the valuations of the others you increase the product and it is also gives you some sort of envy freeness guarantee because well I mean it's a geometric mean right so if I can move the individual valuations kind of close to each other then I improve the geometric mean I was a very vague intuition but kind of I mean what I would like to go with right now so it was proved in by Kariani's others that any allocation which maximizes this national welfare is envy free up to one good and it is parito optimal so fairness and efficiency can be achieved if your fairness is EF1 for instance in fact Siddharth here actually has proved a paper with a stronger result that something which is even fractionally parito optimal and the previous result that it just said that anything that maximizes the product of utilities this is definitely a hard problem but in this paper for instance you know a pseudo polynomial time algorithm which is actually I think weekly polynomial for rounded utilities so yeah in this so he is an algorithmic proof and here you guarantee EF1 plus fractionally parito optimal I'm not defining what fractionally parito optimal is but it is something which is strictly stronger than parito optimal so as long as EF1 is considered you can achieve very good guarantees in terms of efficiency what about EFX so this is again an example in Tim's paper with Benjamin that well EFX and parito optimality will not go hand in hand so consider the simple example for two agents and three goods so there is one particular good G2 so thick blue edges denote high utility light blue edges denote small lesser utility no edge denotes zero utility so it's clear to see here that the only possible EFX allocation is to keep is to allocate this good as a singleton set if you allocate if you allocate anything more here then it won't be effects for instance if you give G1 or G3 then the other agent will envy G2 after I mean G2 would what we what would remain after removal and G2 is the most expensive good while a parito optimal allocation would actually give G1 and G2 and G3 I mean G1 and G2 to one side and G3 to the other it's I mean it's it's here for instance I'm assuming zero marginals if you don't assume zero marginals then you can kind of bypass this for two agents but for three and higher this this will not hold but anyways what I'm trying the message is that EFX with parito optimality is actually too much to ask for so what could be an alternate measure of efficiency is people because well I know that the Nash social welfare implies parito optimality so why don't I look at the Nash welfare of an allocation and I mean if I if I if our allocation gives close enough optimal guarantees to the Nash social welfare then also I can consider it to be optimal and in this slide there is this paper quite recent paper by Karanis I don't have time so I will not go through all the points here so what this basically means is that there is a partial allocation again not a complete allocation a partial EFX allocation which gives a two approximation on national welfare only for additive valuations so the hope is can I get a complete EFX allocation with the same guarantee well I'm skipping certain slides our algorithm will give a partial EFX with high national welfare with bounded charity for instance like which where you have because you just need to start cleverly at the beginning so where you have less number of goods going to charity and nobody envies the pool so yeah so you have all these three guarantees but still you don't have a complete EFX with high national welfare so that's why they actually conjectured this that if you have a partial EFX allocation then there exists a complete EFX allocation which has the national welfare at least as high as the partial one in their EC paper the bad news is that this conjecture is false I mean it's yeah I mean I would like to talk about this but I would take it on offline but this is actually pretty interesting this not only shows that there are efficiency barriers but this also would imply some barriers to the current techniques of computing EFX allocations so having said that I would like to conclude with say maybe two open problems which would be like well I mean when you're looking at EFX it's kind of maybe parito optimality like we said earlier is difficult to achieve but what about approximate EFX with parito optimality we do not know the best alpha such that alpha EFX with parito optimality exists while on the contrary we know that for any approximate MMS we can guarantee that with parito optimality however with none of the approximations for MMS the half the two thirds the three fourths guarantee you parito optimality so another thing is can we I mean what is the best alpha such that we can compute an efficient alpha MMS allocation in polynomial time and of course the big open problem would be to get this EFX without this whole idea of unallocated goods and also like you saw we can simultaneously get you good guarantees on MMS and with national welfare we also give simultaneous guarantees on GMMS which I didn't discuss in the part of the talk which is a notion which generalizes EFX and MMS so the goal is can we find an algorithm which can simultaneously achieve several notions of fairness with good approximations at the same time something which is I mean you may call universally fair yeah that's all sort of reminded me of the fact that if you if you treat the goods as divisible that you can compute a CEI allocation where only at most MMS one goods are split because of the forest decomposition but on one hand that seems sort of close to this maybe you can take those at most MMS one goods that are split and do something with it but on the other hand it seems very far because the CEI would split precisely the very high valued goods so have you thought about that connection I have also an intuition which is kind of different than this for an agent so my intuition is like if you're in the case I mean this is very very very vague intuition but still if you have divisible goods for instance so what do you do I mean you take a very good you split it into n parts and you give it to everyone right so here as long as you have sufficiently valuable goods if you're more than n sufficiently valuable goods each of which there is one guy who uniquely champions because this notion of this most NBS agent in a way then you can find out like what can I say a maximum weighted I mean you can find a perfect matching in a way so as long as you have larger than n goods I mean this this seems very natural to me that this n is a natural barrier I mean anything that brings n minus one to n minus two may generalize but I can't make a comment on that but what you said of I mean I haven't thought about it