 # Obtaining a Proportional Allocation by Deleting Items

We consider the following control problem on fair allocation of indivisible goods. Given a set I of items and a set of agents, each having strict linear preference over the items, we ask for a minimum subset of the items whose deletion guarantees the existence of a proportional allocation in the remaining instance; we call this problem Proportionality by Item Deletion (PID). Our main result is a polynomial-time algorithm that solves PID for three agents. By contrast, we prove that PID is computationally intractable when the number of agents is unbounded, even if the number k of item deletions allowed is small, since the problem turns out to be W-hard with respect to the parameter k. Additionally, we provide some tight lower and upper bounds on the complexity of PID when regarded as a function of |I| and k.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

We consider a situation where a set of indivisible items needs to be allocated to a set of agents in a way that is perceived as fair. Unfortunately, it may happen that a fair allocation does not exist in a setting. In such situations, we might be interested in the question how our instance can be modified in order to achieve a fair outcome. Naturally, we seek for a modification that is as small as possible. This can be thought of as a control action carried out by a central agency whose task is to find a fair allocation. The computational study of such control problems was first proposed by Bartholdi, III et al.  for voting systems; our paper follows the work of Aziz et al.  who have recently initiated the systematic study of control problems in the area of fair division.

The idea of fairness can be formalized in various different ways such as proportionality, envy-freeness, or max-min fair share. Here we focus on proportionality, a notion originally defined in a model where agents use utility functions to represent their preferences over items. In that context, an allocation is called proportional if each agent obtains a set of items whose utility is at least of their total utility of all items. One way to adapt this notion to a model with linear preferences (not using explicit utilities) is to look for an allocation that is proportional with respect to any choice of utility functions for the agents that is compatible with the given linear preferences (see Aziz et al.  for a survey of other possible notions of proportionality and fairness under linear preferences). Aziz et al.  referred to this property as “necessary proportionality”; for simplicity, we use the shorter term “proportionality.”

We have two reasons for considering linear preferences. First, an important advantage of this setting is the easier elicitation of agents’ preferences, which enables for more practical applications. Second, this simpler model is more tractable in a computational sense: under linear preferences, the existence of a proportional allocation can be decided in polynomial time , whereas the same question for cardinal utilities is NP-hard already for two agents . Clearly, if already the existence of a proportional allocation is computationally hard to decide, then we have no hope to solve the corresponding control problem efficiently.

Control actions can take various forms. Aziz et al.  mention several possibilities: control by adding/deleting/replacing agents or items in the given instance, or by partitioning the set of agents or items. In this paper we concentrate only on control by item deletion, where the task is to find a subset of the items, as small as possible, whose removal from the instance guarantees the existence of a proportional allocation. In other words, we ask for the maximum number of items that can be allocated to the agents in a proportional way.

### 1.1 Related Work

We follow the research direction proposed by Aziz et al.  who initiated the study of control problems in the area of fair division. As an example, Aziz et al.  consider the complexity of obtaining envy-freeness by adding or deleting items or agents, assuming linear preferences. They show that adding/deleting a minimum number of items to ensure envy-freeness can be done in polynomial time for two agents, while for three agents it is NP-hard even to decide if an envy-free allocation exists. As a consequence, they obtain NP-hardness also for the control problems where we want to ensure envy-freeness by adding/deleting items in case there are more than two agents, or by adding/deleting agents.

The problem of deleting a minimum number of items to obtain envy-freeness was first studied by Brams et al.  who gave a polynomial-time algorithm for the case of two agents.111 For a complete proof of the correctness of their algorithm, see also . In the context of cake cutting, Segal-Halevi et al.  proposed the idea of distributing only a portion of the entire cake in order to obtain an envy-free allocation efficiently. For the Hospitals/Residents with Couples problem, Nguyen and Vohra  considered another type of control action: they obtained stability by slightly perturbing the capacities of hospitals.

### 1.2 Our Contribution

We first consider the case where the number of agents is unbounded (see Section 3). We show that the problem of deciding whether there exist at most items whose deletion allows for a proportional allocation is NP-complete, and also -hard with parameter  (see Theorem 3.2). This latter result shows that even if we allow only a few items to be deleted, we cannot expect an efficient algorithm, since the problem is not fixed-parameter tractable with respect to the parameter (unless ).

Additionally, we provide tight upper and lower bounds on the complexity of the problem. In Theorem 3.3 we prove that the trivial time algorithm—that, in a brute force manner, checks for each subset of of size at most whether it is a solution—is essentially optimal (under the assumption ). We provide another simple algorithm in Theorem 3.4 that has optimal running time, assuming the Exponential Time Hypothesis.

In Section 4, we turn our attention to the case with only three agents. In Theorem 4.1 we propose a polynomial-time algorithm for this case, which can be viewed as our main result. The presented algorithm is based on dynamic programming, but relies heavily on a non-trivial insight into the structure of solutions.

## 2 Preliminaries

We assume the reader to be familiar with basic complexity theory, in particular with parameterized complexity .

Preferences. Let be a set of agents and a set of indivisible items that we wish to allocate to the agents in some way. We assume that each agent has strict preferences over the items, expressed by a preference list that is a linear ordering of , and set . We call the triple a (preference) profile. We denote by the subsequence of containing the items ranked by agent between the positions and , inclusively, for any . Also, for a subset  of items we denote by  the restriction of  to the items in .

Proportionality. Interestingly, the concept of proportionality (as described in Section 1) has an equivalent definition that is more direct and practical: we say that an allocation mapping items to agents is proportional if for any integer and any agent , the number of items from  allocated to  by  is at least . Note that, in particular, this means that in a proportional allocation, each agent needs to get his or her first choice. Another important observation is that a proportional allocation can only exist if the number of items is a multiple of , since each agent needs to obtain at least items.

Control by deleting items. Given a profile and a subset of items, we can define the preference profile obtained by removing all items in  from and from all preference lists in . Let us define the Proportionality by Item Deletion (PID) problem as follows. Its input is a pair where is a preference profile and is an integer. We call a set of items a solution for if its removal from allows for proportionality, that is, if there exists a proportional allocation for . The task in PID is to decide if there exists a solution of size at most .

## 3 Unbounded Number of Agents

Since the existence of a proportional allocation can be decided in polynomial time by standard techniques in matching theory , the Proportional Item Deletion problem is solvable in time by the brute force algorithm that checks for each subset of of size at most whether it is a solution. In terms of parameterized complexity, this means that PID is in when parameterized by the solution size.

Clearly, such a brute force approach may only be feasible if the number  of items we are allowed to delete is very small. Searching for a more efficient algorithm, one might ask whether the problem becomes fixed-parameter tractable with as the parameter, i.e., whether there exists an algorithm for PID that, for an instance runs in time for some computable function . Such an algorithm could be much faster in practice compared to the brute force approach described above.

Unfortunately, the next theorem shows that finding such a fixed-parameter tractable algorithm seems unlikely, as PID is -hard with parameter . Hence, deciding whether the deletion of items can result in a profile admitting a proportional allocation is computationally intractable even for small values of .

###### Theorem 3.1

Proportionality by Item Deletion is NP-complete and -hard when parameterized by the size of the desired solution.

###### Proof

We are going to present an FPT-reduction from the -hard problem -Dominating Set, where we are given a graph and an integer and the task is to decide if contains a dominating set of size at most ; a vertex set is dominating in if each vertex in is either in or has a neighbor in . We denote by the set of neighbors of some vertex , and we let . Thus, a vertex set is dominating if holds for each .

Let us construct an instance of PID with as follows. We let contain agents where and : we create  so-called selection agents , and for each we create a set of vertex agents. Next we let contain items: we create distinct first-choice items for each agent , a vertex item for each , a dummy item for each vertex agent , and  additional dummy items .

Let denote the set of all first-choice items, i.e., . For any set of vertices in , let ; in particular, denotes the set of all vertex items.

Before defining the preferences of agents, we need some additional notation. We fix an arbitrary ordering over the items, and for any set of items we let denote the ordering of according to . Also, for any , we define the set as the first elements of , for any . We end preference lists below with the symbol ‘’ meaning all remaining items not listed explicitly, ordered according to .

Now we are ready to define the preference list for each agent .

• If is a selection agent with , then let

 La:f(a),[Fa|N|−n],[IV]\scriptsize|N| % items,[Fa|N|−n+k∖Fa|N|−n]% \scriptsizek items,…
• If is a selection agent with , then let

 La:f(a),[Fa|N|−n],[IV]\scriptsize|N| % items,[Fa|N|−n+k−1∖Fa|N|−n]% \scriptsizek−1 items,ci−(n−k),…
• If is a vertex agent with , then let

 La:f(a),[Fa|N|−|N[v]|],[IN[v]]\scriptsize|N| items,djv,…

This finishes the definition of our PID instance .

Suppose that there exists a solution of size at most to and a proportional allocation mapping the items of to the agents in . Observe that by , we know that must contain exactly items.

First, we show that cannot contain any item from . For contradiction, assume that for some agent . Since the preference list of starts with more than items from (by ), the first item in must be an item for some , . The first item in is exactly , and thus any proportional allocation should allocate to both  and , a contradiction.

Next, we prove that . For contradiction, assume that contains less than items from . Then, after the removal of , the top items in the preference list of any selection agent are all contained in . Hence, must allocate at least two items from to , by the definition of proportionality. Recall that for any agent , allocates to , meaning that  would need to distribute the items in among the selection agents, a contradiction. Hence, we have .

We claim that the vertices form a dominating set in . Let us fix a vertex . For sake of contradiction, assume that , and consider any vertex agent in . Then the top items in are the same as the top items in (using that ), and these items form a subset of for every . But then arguing as above, we get that would need to allocate an item of to each of the vertex agents in ; again a contradiction. Hence, we get that for each , showing that is indeed a dominating set of size .

For the other direction, let be a dominating set of size in , and let denote the set of vertex items . To prove that is a solution for , we define a proportional allocation in the instance obtained by removing . First, for each selection agent with , we let allocate and the th item from to . Second, for each selection agent with , we let allocate and the dummy item to . Third, allocates the items and to each vertex agent .

It is straightforward to check that is indeed proportional.

For proving -completeness, observe that the presented FPT-reduction is a polynomial reduction as well, so the -hardness of Dominating Set implies that PID is -hard as well; since for any subset of the items we can verify in polynomial time whether it yields a solution, containment in follows. ∎

In fact, we can strengthen the -hardness result of Theorem 3.1 and show that PID is even -hard with respect to parameter .222We present Theorem 3.1 so that we can re-use its proof for Theorems 3.3 and 3.4.

###### Theorem 3.2

Proportionality by Item Deletion is -hard when parameterized by the size of the desired solution.

###### Proof

We are going to present an FPT-reduction from the -hard wcs problem, which is the weighted satisfiability problem for formulas of the form , where each is a negative literal [6, 8, 9].

Let be an instance of the weighted satisfiability problem, where is a formula of the form described above. Let be the set of all variables occurring in —that is, denotes the number of variables in . We will construct an instance of PID with as follows. We let contain agents: we create so-called selection agents , and for each we create a set of verification agents. Next we let contain items: we create distinct first-choice items for each agent , a variable item for each , verification items for each , and dummy items .

Let denote the set of all first-choice items, i.e., . For any subset of variables, let ; in particular, denotes the set of all variable items.

Before defining the preferences of agents, we need some additional notation. We fix an arbitrary ordering over the items, and for any set of items we let denote the ordering of according to . Also, for any , we define the set as the first elements of , for any . Moreover, for any we define the sets and . We end preference lists below with the symbol ‘’ meaning all remaining items not listed explicitly, ordered according to .

Now we are ready to define the preference list for each agent .

• If is a selection agent with , then let

 La:f(a),[Fa|N|−n],[WX]\scriptsize|N| % items,[Fa|N|−n+k∖Fa|N|−n]% \scriptsizek items,…
• If is a selection agent with , then let

 La:f(a),[Fa|N|−n],[WX]\scriptsize|N| % items,[Fa|N|−n+k−1∖Fa|N|−n]% \scriptsizek−1 items,ci−(n−k),…
• If is a verification agent for and , then let

 La:f(a),[Fa|N|−|Ci,j|−|Y′i|+k],[Y′i],[Ci,j]\scriptsize|N|+k items,yi,m2,i,…

where is the set of variables that do not occur in any literal , for .

This finishes the definition of our PID instance .

Suppose that there exists a solution of size at most to and a proportional allocation mapping the items of to the agents in . Observe that by , we know that must contain exactly items.

First, we show that cannot contain any item from . To derive a contradiction, assume that for some agent . We can safely assume that and that for each . As a result, the preference list of starts with more than items from . Therefore, the first item in must be an item  for some , . Clearly, the first item in is exactly , which means that any proportional allocation should allocate to both and , which is a contradiction.

Next, we prove that . To derive a contradiction, assume that contains less than items from . Then, after the removal of , the top items in the preference list of any selection agent are all contained in . Hence, must allocate at least two items from to each , by the definition of proportionality. Recall that for any agent , allocates to , meaning that would need to distribute the items in among the selection agents, which is a contradiction. Hence, we have . We also get that must allocate all items in to the selection agents.

Consider the truth assignment defined by letting if and only if , for each . Since , the truth assignment has weight . We show that satisfies . To do so, we need to show that for each it holds that satisfies . Take an arbitrary . To derive a contradiction, assume that for each it holds that there is some such that is made false by . Then for each such it holds that . Then for each verification agent , for it holds that the top items in (for ) form a subset of . Then arguing as above, we get that would need to allocate an item of to each of the agents , which is a contradiction. Since was arbitrary, we can conclude that satisfies .

For the other direction, let be a truth assignment of weight that satisfies , and let denote the set of variable items . To prove that is a solution for , we define a proportional allocation in the instance obtained by removing . First, for each selection agent with , we let allocate and the th item from to . Second, for each selection agent with , we let allocate and the dummy item to . Then, for each , let be some number such that makes true—we know that such a exists for each because satisfies . For each verification agent we let allocate and one item from to as follows. If , we let allocate to ; if , we let allocate to ; and if , we let allocate to . It is straightforward to check that is indeed proportional. ∎

Theorem 3.2 implies that we cannot expect an FPT-algorithm for PID with respect to the parameter , the number of item deletions allowed, unless . Next we show that the brute force algorithm that runs in time is optimal, assuming the slightly stronger assumption .

###### Theorem 3.3

There is no algorithm for PID that on an instance with item set runs in time for some function , unless .333Here, we use an effective variant of “little o” (see, e.g. [9, Definition 3.22]).

###### Proof

Chen et al.  introduced the class of -hard problems based on the notion of linear FPT-reductions. They proved that Dominating Set is -hard, and that this implies a strong lower bound on its complexity: unless , Dominating Set cannot be solved in time for any function .

Observe that in the FPT-reduction presented in the proof of Theorem 3.1 the new parameter has linear dependence on the original parameter (in fact they coincide). Therefore, this reduction is a linear FPT-reduction, and consequentially, PID is -hard. Hence, as proved by Chen et al. , PID on an instance  with item set  cannot be solved in time time for any function , unless . ∎

If we want to optimize the running time not with respect to the number  of allowed deletions but rather in terms of the total number of items, then we can also give the following tight complexity result, under the Exponential Time Hypothesis (ETH). This hypothesis, formulated in the seminal paper by Impagliazzo, Paturi, and Zane  says that 3-Sat cannot be solved in time, where is the number of variables in the 3-CNF fomular given as input.

###### Theorem 3.4

PID can be solved in time, but unless the ETH fails, it cannot be solved in time, where is the set of items in the input.

###### Proof

The so-called Sparsification Lemma proved by Impagliazzo et al.  implies that assuming the ETH, 3-Sat cannot be solved in time, where is the number of clauses in the 3-CNF formula given as input. Since the standard reduction from 3-Sat to Dominating Set transforms a 3-CNF formula with variables and clauses into an instance of Dominating Set such that the graph has vertices and maximum degree 3 (see, e.g., ), it follows that Dominating Set on a graph cannot be solved in time even on graphs having maximum degree 3, unless the ETH fails.

Recall that the reduction presented in the proof of Theorem 3.1 computes from each instance of Dominating Set with an instance of PID where the number of items is . Hence, assumming that our input graph has maximum degree 3, we obtain for the set  of items in . Therefore, an algorithm for PID running in time would yield an algorithm for Dominating Set running in time on graphs of maximum degree 3, contradicting the ETH. ∎

## 4 Three Agents

It is known that PID for two agents is solvable in polynomial-time: the problem of obtaining an envy-free allocation by item deletion is polynomial-time solvable if there are only two agents [2, 4]; since for two agents an allocation is proportional if and only it is envy-free , this proves tractability of PID for immediately. In this section, we generalize this result by proving that PID is polynomial-time solvable for three agents.

Let us define the underlying graph of our profile of PID as the following bipartite graph. The vertex set of consists of the set of items on the one side, and a set on the other side, containing all pairs of the form  where  is an agent and . Such pairs are called slots. We can think of the slot as the place for the th item that agent receives in some allocation. We say that an item is eligible for a slot , if it is contained in . In the graph , we connect each slot with the items that are eligible for it. Observe that any proportional allocation corresponds to a perfect matching in ; see Lemma 1 for a proof.

In what follows, we suppose that our profile contains three agents, so let .

### 4.1 Basic Concepts: Prefixes and Minimum Obstructions

Since our approach to solve PID with three agents is to apply dynamic programming, we need to handle partial instances of PID. Let us define now the basic necessary concepts.

Prefixes. For any triple with we define a prefix of as the triple ), listing only the first , , items in the preference list of agents , , and , respectively. We call the size of and denote it by . We also define the suffix  as the triple , which can be thought of as the remainder of after deleting from it.

We say that a prefix is contained in another prefix if for each ; the containment is strict if for some . We say that and are intersecting if none of them contains the other; we call the unique largest prefix contained both in and in , i.e., the prefix , their intersection, and denote it by .

For some prefix , let denote the set of all items appearing in , and let denote the set of all slots appearing in , i.e., . We also define the graph underlying  as the subgraph of induced by all slots and items appearing in , that is, . We say that a slot is complete in , if it is connected to the same items in as in ; clearly the only slots which may be incomplete are the last slots in , that is, the slots , .

Solvability. We say that a prefix is solvable, if the underlying graph has a matching that covers all its complete slots. Hence, a prefix is solvable exactly if there exists an allocation from to that satisfies the condition of proportionality restricted to all complete slots in : for any agent and any index , the number of items from allocated by  to  is at least ; here is the last position in that is contained in a complete slot for agent .

Minimal obstructions. We say that a prefix is a minimal obstruction, if it is not solvable, but all prefixes strictly contained in are solvable. See Figure 1 for an illustration. The next lemmas claim some useful observations about minimal obstructions. Figure 1: An example profile P with item set I={1,2,…,7}, a minimal obstruction Q of size (4,4,4) in P and its associated graph G(Q). Note that the partial solution {2} for Q is a soluton for P as well. We depicted a proportional allocation for Q−{2} and P−{2} by underlining in each agent’s preference list the items allocated to her.
###### Lemma 1

Profile admits a proportional allocation if and only if the underlying graph contains a perfect matching. Also, in time we can find either a proportional allocation for , or a minimal obstruction in .

###### Proof

We prove this lemma for arbitrary .

First, it is easy to see that any proportional allocation immediately yields a perfect matching for : for each and each (note that since is proportional), we simply put into the edge connecting slot with the th item received by ; naturally, we rank items received by according to ’s preferences. The proportionality of implies that is contained in the top items in , and thus is indeed eligible for the slot .

For the other direction, consider a perfect matching in . Then giving every agent all the items assigned to the slots by we obtain a proportional allocation : for each agent and index , our allocation assigns at least items to from , namely the items matched by to the slots . Since , even the last item eligible for is contained in , ensuring that is indeed proportional.

We can check whether there exists a proportional allocation for by finding a maximum matching in a bipartite graph. Using the Hopcroft–Karp algorithm , this takes time since has vertices. To find a minimal obstruction, we can use a variant of the classical augmenting path method that starts from an empty matching, and increases its size by finding augmenting paths one by one. Namely, at each iteration we pick a starting slot for which all slots in are already matched, and search for an augmenting path that starts at .

Suppose that this algorithm stops at an iteration where the starting slot is , and no augmenting path starts at for the current matching . Let be the set of all slots reachable by an alternating path in from , and let be the set of all items eligible for any slot in . It is well known that and violate Hall’s condition: . Moreover, the slots in “induce” a prefix in the sense that there exists a prefix with . To prove this, it suffices to show that if and , then . By our strategy for picking starting slots, we know , implying that is matched by . Let be the item assigned to it by ; note that is eligible for as well. To obtain an augmenting path from to , we can take any augmenting path from to , and append the two-edge path from to through . Hence, there indeed exists a prefix with ; we pick such a containing only complete slots. Using standard arguments from matching theory, it is straightforward to check that is a minimal obstruction.

Each iteration can be performed in time (e.g., with a BFS), and there are at most steps, so the algorithm runs in time. ∎

###### Lemma 2

Let be a prefix of that is a minimal obstruction. Then , and either

• , or

• for some choice of agents , , and with .

Moreover, if (ii) holds, then and contain exactly the same item set, namely .

###### Proof

First, observe that if , then the set of complete slots is the same in as in , contradicting the minimality of . Thus, we have , and we get similarly.

Second, let us consider the graph underlying our prefix. Since Hall’s condition fails for the set of (complete) slots but, by minimality, it holds for any proper subset of these slots, we know that

 (1)

where the last equality follows from the first claim of the lemma. Let us assume . Note that if neither (i) nor (ii) holds, then from (1) we obtain , yielding . However, contains only items from , which would imply that some item appears twice in , a contradiction.

To see the last claim of the lemma, suppose . Then (1) implies , and hence (and also ) must contain each item in exactly once. ∎

Based on Lemma 2, we define the shape of a minimal obstruction as either straight or slant, depending on whether fulfills the conditions (i) or (ii), respectively. More generally, we also say that a prefix has straight or slant shape if it fulfills the respective condition. Furthermore, we define the boundary items of , denoted by , as the set of all items that appear once or twice (but not three times) in .

###### Lemma 3

Let be a prefix of that is a minimal obstruction. Then the boundary of contains at most three items: .

###### Proof

We make use of Lemma 2. First, if has a straight shape, so for some index , then . Since is a minimal obstruction, we get . However, each agent’s list within contains exactly items, yielding that there is exactly one position outside in each agents’s list where an item of occurs. Hence, follows in this case.

Second, assume that has a slant shape, say for some index (the two remaining cases are analogous). Then we have , implying . Thus, both and contain all the items in , but misses exactly three items from . Hence, there are exactly three occurrences of items listed outside , each in the list of agent , meaning . ∎

### 4.2 Partial Solutions and Branching Sets

Partial solutions. For a prefix and a set of items, we define in the natural way: by deleting all items of from the (partial) preference lists of the profile (note that the total length of the preference lists constituting the profile may decrease). We say that an item set is a partial solution for if is solvable. See again Figure 1 for an example.

Observe that for any item set we can check whether it is a partial solution for by finding a maximum matching in the corresponding graph (containing all items and complete slots that appear in ), which has at most vertices. Hence, using the algorithm by Mucha and Sankowski , we can check for any whether it is a partial solution for in time where is the exponent of the best matrix multiplication algorithm.

Branching set. To solve PID we will repeatedly apply a branching step: whenever we encounter a minimal obstruction , we shall consider several possible partial solutions for , and for each partial solution we try to find a solution that contains . To formalize this idea, we say that a family  containing partial solutions for a minimal obstruction is a branching set for , if there exists a solution of minimum size for the profile such that . Such a set is exactly what we need to build a search tree algorithm for PID.

Lemma 4 shows that we never need to delete more than two items from any minimal obstruction. This will be highly useful for constructing a branching set.

###### Lemma 4

Let be a minimal obstruction in a profile , and let denote an inclusion-wise minimal solution for . Then .

###### Proof

Let , and let us assume for contradiction. We are going to select a set of three items from for which we can prove that is a solution for , contradicting the minimality of .

We rank the items of according to the index of the first slot in which they appear in : we say that an item appears at , if is the smallest index such that is eligible for a slot some . If there exist three items , , and in appearing strictly earlier than (i.e., at a smaller index) than all other items in , then we let .

Otherwise, we apply the following tie braking procedure. We select arbitrarily among the earliest appearing items in . Now, let be the earliest appearing set of items in , appearing at some index . We pick an item from by favoring items eligible to more than one slots from (note that we use the notion of eligibility based on the original preference lists in ).

To choose an item from the set of the earliest appearing items in , we create the profile . If there exists a minimal obstruction in strictly contained in , then we fix such a minimal obstruction , and we choose an item eligible for a slot of . Otherwise we choose from arbitrarily. Intuitively, we choose so as to overcome the possible obstructions obtained when putting and back into our instance, and our strategy for this is simply to choose an item lying within any such obstruction. Observe that if the minimal obstruction exists, then (1) since there is no obstruction strictly contained in in the profile , there must exist some item that is eligible to some slot in ; and (2) if some is eligible for a slot in , then by Lemma 2 also contains some item eligible for some slot of