Introduction
We consider fair allocations of m m m indivisible goods to n n n agents. Let M M M denote the set of m m m items to allocate, and let the set of agents be N : = [ n ] N := [n] N := [ n ] . Every agent i ∈ N i \in N i ∈ N has a valuation function v i v_i v i defined on the subsets of M M M . We assume that v i v_i v i satisfies v i ( ∅ ) = 0 v_i(\varnothing)=0 v i ( ∅ ) = 0 , and for every S 1 ⊆ S 2 S_1 \subseteq S_2 S 1 ⊆ S 2 it holds v i ( S 1 ) ≤ v i ( S 2 ) v_i(S_1) \le v_i(S_2) v i ( S 1 ) ≤ v i ( S 2 ) , i.e. v i v_i v i is monotone and non-decreasing. In addition, we assume that every v i v_i v i is additive : for every S ⊆ M S \subseteq M S ⊆ M it holds v i ( S ) = ∑ e ∈ S v i ( e ) v_i(S)=\sum_{e \in S}v_i(e) v i ( S ) = ∑ e ∈ S v i ( e ) .
An allocation of items M M M to agents N N N is a partition ( P 1 , … , P n ) (P_1,\ldots,P_n) ( P 1 , … , P n ) of M M M into n n n disjoint sets, where agent i i i “receives” the set P i P_i P i . We would like this allocation to be fair , for a certain definition of fairness. In this work, we will focus on a share-based notion of fairness called the maximin share [9 ] , or MMS for short.
Definition 1.1. Let P n \mathcal{P}_n P n be the set of all partitions ( P 1 , … , P n ) (P_1,\ldots,P_n) ( P 1 , … , P n ) of items M M M into n n n disjoint sets. For an agent i i i with valuation v i v_i v i , her maximin share is
MMS ( M , v i , n ) = max ( P 1 , … , P n ) ∈ P n min j ∈ [ n ] v i ( P j ) . \operatorname{MMS}(M,v_i,n)=\max_{(P_1,\ldots,P_n)\in\mathcal{P}_n}\min_{j\in[n]}v_i(P_j). MMS ( M , v i , n ) = ( P 1 , … , P n ) ∈ P n max j ∈ [ n ] min v i ( P j ) .
We will use MMS ( n ) \operatorname{MMS}(n) MMS ( n ) to denote the MMS-value with respect to partitions of M M M into n n n sets.
A partition ( A 1 , … , A n ) (A_1,\ldots,A_n) ( A 1 , … , A n ) of M M M is called an MMS-allocation if for every agent i ∈ N i \in N i ∈ N it holds v i ( A i ) ≥ MMS ( M , v i , n ) v_i(A_i) \ge\operatorname{MMS}(M,v_i,n) v i ( A i ) ≥ MMS ( M , v i , n ) . That is, each i i i values the bundle A i A_i A i given to her at least as high as her MMS. We will also consider approximate allocations: for a value ρ ∈ ( 0 , 1 ] \rho\in(0,1] ρ ∈ ( 0 , 1 ] , we say that allocation ( A 1 , … , A n ) (A_1,\ldots,A_n) ( A 1 , … , A n ) is an ρ \rho ρ -MMS allocation, if for every agent i ∈ N i \in N i ∈ N it holds v i ( A i ) ≥ ρ ⋅ MMS ( M , v i , n ) v_i(A_i) \ge\rho\cdot\operatorname{MMS}(M,v_i,n) v i ( A i ) ≥ ρ ⋅ MMS ( M , v i , n ) . In this work, we will focus on the existence of exact / approximate MMS allocations for additive agents, in two closely related settings.
Our results, put in context
Our results, put in context
There are known examples showing that with additive valuations, MMS allocations need not exist. The first such examples were given in [20 ] . Later examples gave explicit upper bounds on ρ \rho ρ for ρ \rho ρ -MMS allocations, with ρ ≤ 39 40 \rho\le\frac{39}{40} ρ ≤ 40 39 when n = 3 n = 3 n = 3 [16 ] , and ρ ≤ 20 21 \rho\le\frac{20}{21} ρ ≤ 21 20 when n = 4 n = 4 n = 4 [13 ] . However, as n n n grows, the known upper bounds on ρ \rho ρ deteriorate and tend to 1. The motivating question for our current work is the following conjecture.
Conjecture 1. For every ρ < 1 \rho< 1 ρ < 1 , there exists some n ρ n_\rho n ρ such that every allocation instance with additive valuations and n ≥ n ρ n \ge n_\rho n ≥ n ρ agents has has a ρ \rho ρ -MMS allocation.
We currently do not have strong beliefs as to whether the conjecture is true. So far, attempts to refute the conjecture have not been successful. However, they did provide examples of allocation instances with successively stronger lower bounds on the possible value of n ρ n_\rho n ρ as a function of ρ \rho ρ , or equivalently, allocation instances with no ρ \rho ρ -MMS allocation, with successively stronger lower bounds on the slackness 1 − ρ 1-\rho 1 − ρ as a function of n n n . In [20 ] the slackness was exponentially small in 1 / n 1/n 1/ n , in [16 ] it was improved to be polynomially small, and in [13 ] it was further improved to be polylogarithmically small. To refute the conjecture, the slackness needs to be a constant independent of n n n .
A recurring feature in all the above negative examples is that they allow what we refer to as agent redundancy . That is, for each of them, for every n n n and its corresponding ρ n \rho_n ρ n , in these examples one can have d > n d > n d > n agents (for some d d d that depends on n n n ) in which no subset of n n n agents has a ρ n \rho_n ρ n -MMS( n ) (n) ( n ) allocation. In [20 ] and [16 ] , d d d is nearly 2 n 2n 2 n , whereas in [13 ] d d d is even exponential in n n n . All negative examples for approximate MMS allocations with large n n n that are known to us either hold in a setting with agent redundancy, or can be adapted to such a setting without significant change in the value of ρ n \rho_n ρ n .
Our main positive result proves Conjecture 1, but only in the setting with agent redundancy.
Theorem 1.1. For every ε > 0 \varepsilon> 0 ε > 0 and ρ < 1 \rho< 1 ρ < 1 , there exists some n ε , ρ n_{\varepsilon,\rho} n ε , ρ such that every n ≥ n ε , ρ n \ge n_{\varepsilon,\rho} n ≥ n ε , ρ , in every allocation instance with additive valuations and d ≥ ( 1 + ε ) n d \ge(1+\varepsilon)n d ≥ ( 1 + ε ) n agents, there is a subset of n n n agents that have a ρ \rho ρ -MMS( n ) (n) ( n ) allocation.
Note that in Theorem 1.1, every agent i i i that is selected gets value ρ ⋅ MMS ( M , v i , n ) \rho\cdot\operatorname{MMS}(M,v_i,n) ρ ⋅ MMS ( M , v i , n ) , and not only ρ ⋅ MMS ( M , v i , d ) \rho\cdot\operatorname{MMS}(M,v_i,d) ρ ⋅ MMS ( M , v i , d ) . As d ≥ n d \ge n d ≥ n , MMS ( M , v i , n ) ≥ MMS ( M , v i , d ) \operatorname{MMS}(M,v_i,n) \ge\operatorname{MMS}(M,v_i,d) MMS ( M , v i , n ) ≥ MMS ( M , v i , d ) . Moreover, the ratio between the two might be unbounded, for every d > n d > n d > n (including d = n + 1 d = n+1 d = n + 1 ).
A straightforward corollary of Theorem 1.1 is that Conjecture 1 holds when the number of items m m m is noticeably below 2 n 2n 2 n .
Corollary 1.1. For every ε > 0 \varepsilon> 0 ε > 0 and ρ < 1 \rho< 1 ρ < 1 , there is some n ε , ρ n_{\varepsilon,\rho} n ε , ρ such that every allocation instance with additive valuations, n ≥ n ε , ρ n \ge n_{\varepsilon,\rho} n ≥ n ε , ρ agents and m ≤ ( 2 − ε ) n m \le(2-\varepsilon)n m ≤ ( 2 − ε ) n items has a ρ \rho ρ -MMS allocation.
We note that for ρ = 1 \rho= 1 ρ = 1 , Corollary 1.1 was known to hold when m ≤ n + log n m \le n+\log n m ≤ n + log n [14 ] , and known not to hold when m ≥ n + c ⋅ log n m \ge n+c\cdot\log n m ≥ n + c ⋅ log n for some sufficiently large constant c c c [13 ] .
A closely related topic is a so called 1-out-of-d d d MMS for d > n d>n d > n , also known as ordinal MMS , first introduced in [7 ] (though also considered earlier in [9 ] with d = n + 1 d=n+1 d = n + 1 ). A partition ( A 1 , … , A n ) (A_1,\ldots,A_n) ( A 1 , … , A n ) of M M M is called a 1-out-of-d d d MMS allocation, if for every agent i ∈ N i \in N i ∈ N it holds v i ( A i ) ≥ MMS ( M , v i , d ) v_i(A_i) \ge\operatorname{MMS}(M,v_i,d) v i ( A i ) ≥ MMS ( M , v i , d ) . In this setting, the main question is how large should d d d be (as a function of n n n ) to guarantee that exact MMS( d ) (d) ( d ) allocations exist. A series of work leading to [AGST24] established an upper bound of d = 4 ⌈ n / 3 ⌉ d = 4\lceil n/3\rceil d = 4 ⌈ n /3 ⌉ , while a recent result by [12 ] showed that only sublinear number of additional bundles is needed, with d = n + O ( n log n ) d=n+O(\sqrt{n\log n}) d = n + O ( n log n ) .
We further reduce the required number of additional bundles to only polylogarithmic in n n n .
Theorem 1.2. Any instance with n n n agents admits an MMS( d ) (d) ( d ) allocation with d = n + O ( log 2 n ) d = n+O(\log^2 n) d = n + O ( log 2 n ) .
Our Theorem 1.2 proof uses essentially the same techniques as our proof for Theorem 1.1. We note that any results on 1-out-of-d d d MMS allocations (i.e [12 ] or Theorem 1.2) have the following interpretation in the setting with agent redundancy, discussed earlier.
Corollary 1.2. For every ε > 0 \varepsilon> 0 ε > 0 , there exists some n ε n_{\varepsilon} n ε such that for all n ≥ n ε n \ge n_{\varepsilon} n ≥ n ε , in every allocation instance with additive valuations and d ≥ ( 1 + ε ) n d \ge(1+\varepsilon)n d ≥ ( 1 + ε ) n agents, every subset of n n n agents has an MMS(d d d ) allocation.
In some aspects, Corollary 1.2 is stronger than Theorem 1.1: it applies to every subset of size n n n and not just some subsets of size n n n , and there is no need for ρ < 1 \rho< 1 ρ < 1 . However, the big advantage of Theorem 1.1 is that it refers to MMS(n n n ) whereas Corollary 1.2 refers to MMS(d d d ). This advantage allows us to infer Corollary 1.1.
Overview of our algorithm
Here we explain the main steps of our algorithm that proves Theorem 1.1, the proof of Theorem 1.2 is easier and requires only a few of the ideas of Theorem 1.1 (even though later we will first give a full proof of Theorem 1.2 and only then Theorem 1.1). In the description, we slightly change notation. The total number of agents is n n n (this was d d d in the theorem), and among them we wish to select n n n agents (this was d d d in the theorem), with d = ( 1 − ε ) n d=(1-\varepsilon)n d = ( 1 − ε ) n . We let q q q be the smallest integer satisfying ρ ≤ 1 − 2 q \rho\le1-\frac{2}{q} ρ ≤ 1 − q 2 . Thus, achieving ( 1 − 2 q ) (1-\frac{2}{q}) ( 1 − q 2 ) -MMS(d d d ) suffices.
We make the following assumptions, standard in designing approximate MMS allocations.
Assumption 1. Without loss of generality, in the setting of Theorem 1.1 we can assume that
for every agent i ∈ N i \in N i ∈ N and item e ∈ M e \in M e ∈ M it holds v i ( e ) ∈ [ 0 , 1 ] v_i(e) \in[0,1] v i ( e ) ∈ [ 0 , 1 ] ;
for every i ∈ N i \in N i ∈ N , d d d -partition B i : = ( B i , 1 , … , B i , d ) \mathcal{B}_i := (B_{i,1},\ldots,B_{i,d}) B i := ( B i , 1 , … , B i , d ) of M M M witnessing MMS(M , v i , d M,v_i,d M , v i , d ) satisfies
∀ j ∈ [ d ] : v i ( B i , j ) = 1 ; \forall j \in[d] : v_i(B_{i,j}) = 1; ∀ j ∈ [ d ] : v i ( B i , j ) = 1 ; We refer to the bundles in this d d d -partition as the MMS bundles of agent i i i .
([BL16]) items M = { e 1 , … , e m } M=\{e_1,\ldots,e_m\} M = { e 1 , … , e m } are ordered so that for every agent i ∈ N i \in N i ∈ N it holds that
v i ( e 1 ) ≥ v i ( e 2 ) ≥ … ≥ v i ( e m ) . v_i(e_1) \ge v_i(e_2) \ge\ldots\ge v_i(e_m). v i ( e 1 ) ≥ v i ( e 2 ) ≥ … ≥ v i ( e m ) .
Under Assumption 1 , every selected agent should be given a value of at least 1 − 2 / q 1-2/q 1 − 2/ q .
Head and Tail items. For every agent i i i , we partition the items into two classes, the head items { e 1 , … , e h i } \{e_1,\ldots,e_{h_i}\} { e 1 , … , e h i } that each has value at least 1 / q 1/q 1/ q , and the tail items { e h i + 1 , … , m } \{e_{h_i+1},\ldots,m\} { e h i + 1 , … , m } that each has value smaller than 1 / q 1/q 1/ q . Recall that in approximating the MMS, we aim to lose at most 2 / q 2/q 2/ q . As we shall see, this loss is composed of two terms, each of value at most 1 / q 1/q 1/ q . One term is due to tail items alone (technically, due to the gap between fractional and integral allocations of tail items). Another term is due to head items alone (technically, due to rounding down their values to a multiple of 1 / q 2 1/q^2 1/ q 2 ).
Only tail items. Consider first the case that all items are tail items for all agents. Namely, every item has value at most 1 / q 1/q 1/ q . This case can be handled by known techniques. Select d d d arbitrary agents { 1 , … , d } ∈ N \{1,\ldots,d\} \in N { 1 , … , d } ∈ N , and give each selected agent i i i all items e j e_j e j with j = k ⋅ d + i j=k\cdot d+i j = k ⋅ d + i , where k = { 0 , 1 , 2 , … } k=\{0,1,2,\ldots\} k = { 0 , 1 , 2 , … } . Every agent i i i gets a value of at least v i ( M ) / d − v i ( e 1 ) ≥ 1 − 1 / q v_i(M)/d-v_i(e_1) \ge1-1/q v i ( M ) / d − v i ( e 1 ) ≥ 1 − 1/ q (the inequality holds because of Assumption 1 ).
Only head items. Consider now the case that all items are head items. Namely, every item has value at least 1 / q 1/q 1/ q . This case is much more difficult to handle than that of tail items. (Later we will consider also the case of both head and tail items, but the explanation of the most innovative part of our algorithm becomes cleaner if we assume that there are no tail items.)
At a very high level, our plan has two steps. In step one, for some small ε ′ \varepsilon' ε ′ , we select ( 1 − ε ′ ) d (1-\varepsilon')d ( 1 − ε ′ ) d agents, and give each one of them an acceptable bundle. In step two, we gradually increase the set of selected agents to d d d . This is done in ε ′ n \varepsilon'n ε ′ n sub-steps, where in each sub-step we replace a small set of selected agents by a new set, larger by one. These sub-steps are made possible by the fact that only a small fraction ( ε ′ d ) (\varepsilon'd) ( ε ′ d ) of agents is missing, whereas there is a considerably larger set of agents from which they can be selected. This allows the selection of new agents whose valuations are quite similar to each other. Having similar valuations allows for more efficient partitioning of items into MMS bundles (in analogy to the fact that MMS allocations exist if all agents have the same valuation function, but sometimes do not exist if valuations are different). Consequently, the number of added agents can be larger than the number of removed agents.
The main difficulty in our proof is to show that the second step can be done successfully. The fact that the first step by itself can be done is an immediate consequence of earlier work, specifically the variation of Corollary 1.2 by [12 ] . However, due to the need to enable the second step, we do not use Corollary 1.2, and instead do the first step differently. Actually, already in that step we use the fact that we may give selected agents only ρ \rho ρ -MMS rather than their full MMS. We now provide more details.
Profiles and breakpoints. Round down the value of each item to the nearest multiple of 1 / q 2 1/q^2 1/ q 2 . Now, there are fewer than q 2 q^2 q 2 possible item values: { 1 q , 1 q + 1 q 2 , … , 1 } \left\{\frac{1}{q},\frac{1}{q}+\frac{1}{q^2},\ldots,1\right\} { q 1 , q 1 + q 2 1 , … , 1 } . For each agent, each such value defines a class of items that contains all items of this value. As the instance is ordered from highest value item to lowest, for each agent, the order of the items imposes an order on the classes, from highest value to lowest. As every MMS bundle contains at most q q q head items, then after rounding down, its value remains at least 1 − q ⋅ 1 q 2 = 1 − 1 / q 1-q\cdot\frac{1}{q^2}=1-1/q 1 − q ⋅ q 2 1 = 1 − 1/ q .
With each MMS bundle we associate a profile , which replaces each item with a corresponding value of its class. As there are at most q q q items in a bundle and each belongs to one out of fewer than q 2 q^2 q 2 classes, the total number of possible profiles is at most q 2 q q^{2q} q 2 q , which is independent of n n n . Thus, for large n n n , many MMS bundles have the same profile.
Recall that items are ordered in order of decreasing value. For every agent i i i and every item e j e_j e j , we associate a breakpoint b i j b_{ij} b ij . This is the index ℓ \ell ℓ of the least valuable item that satisfies v i ( e ℓ ) ≥ v i ( e j ) v_i(e_\ell)\ge v_i(e_j) v i ( e ℓ ) ≥ v i ( e j ) . Clearly, ℓ ≥ j \ell\ge j ℓ ≥ j . Note that if there are multiple items of the same value, then it can be that ℓ > j \ell>j ℓ > j . In our case, in which there are fewer than q 2 q^2 q 2 classes of items, for each agent there are fewer than q 2 q^2 q 2 breakpoint locations (for each non-empty class, the last index of an item in that class is a breakpoint).
For each agent, for each class of items there is a single breakpoint location associated with all its items. With each profile of item classes, we can associate a profile of respective breakpoint locations, where the multiplicity of a breakpoint equals the multiplicity of the respective class in the profile.
Given t ≤ n t\le n t ≤ n agents and a collection of MMS bundles, one for each agent, the profile of breakpoint locations for each of these bundles suffices in order to determine whether this collection of bundles is feasible. Basically, we need to find a matching between items and all breakpoints in the profiles (with multiplicities), where an item can be matched to a breakpoint if its index is not larger than the breakpoint location. A matching exists if Hall’s condition holds. In our case, Hall’s condition translates to the condition that for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m , the number of breakpoints of value at most ℓ \ell ℓ (we refer to this as the load on ℓ \ell ℓ ) is not larger than ℓ \ell ℓ .
Importantly, even if the collection of selected MMS bundles was not feasible (that is, some items appear in more than one selected bundle), it may still happen that the collection of breakpoint profiles is feasible. This is because we need not give each agent the exact items appearing in her MMS bundle. We can replace each item e j e_j e j by a different item e ℓ e_\ell e ℓ of equal or higher value. As we are considering rounded values, it may well be that that we are allowed to make this replacement even if originally v i ( e ℓ ) < v i ( e j ) v_i(e_\ell)<v_i(e_j) v i ( e ℓ ) < v i ( e j ) .
We summarize the above discussion in the following lemma.
Lemma 1.1. Let A A A be a set of agents, with one MMS bundle selected for each agent. If for every 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m , the load constraint is satisfied (namely, the number of breakpoints of the selected bundles of value at most ℓ \ell ℓ does not exceed ℓ \ell ℓ ), then there is an allocation giving each agent in A A A her MMS value. (In our context of head items whose value was rounded down, the guarantee becomes ( 1 − 1 q ) (1-\frac{1}{q}) ( 1 − q 1 ) -MMS.)
Satisfying nearly d d d agents. Before describing how we actually do the first step of our algorithm (for the case that there are only head items), it is instructive to see how one can do that step if there is no need to enable the future second step of our algorithm. The proof in our setting is considerably simpler than the proof for a variation of Corollary 1.2 given in [12 ] , and gives a much smaller value of ε \varepsilon ε . We sketch our proof.
Take d d d arbitrary agents. Of them, we will find a collection of d − O ( q 2 log d ) d-O(q^2\log d) d − O ( q 2 log d ) agents that satisfy the conditions of Lemma 1.1. This will be done in O ( log d ) O(\log d) O ( log d ) iterations, where in each iteration we will set up a linear program (LP, with empty objective), move to a basic feasible solution of the LP, and in the process reduce the number of fractional (non-integral) variables by a constant factor. In the process, some agents become integral (their fractional allocation changes into an integral allocation), until eventually all agents become integral. However, each iteration will violate the load constraints by an additive term of O ( q 2 ) O(q^2) O ( q 2 ) . At the very end (after log d \log d log d iterations), every load constrain is violated by at most O ( q 2 log d ) O(q^2\log d) O ( q 2 log d ) . We fix this by discarding O ( q 2 log d ) O(q^2\log d) O ( q 2 log d ) agents, making all load constraints feasible. Then, Lemma 1.1 implies that all remaining d − O ( q 2 log d ) d-O(q^2\log d) d − O ( q 2 log d ) agents can be satisfied. (Remark: in the rounding proof of Appendix § 10 , instead of discarding all the agents at the end, we discard O ( q 2 ) O(q^2) O ( q 2 ) agents at every iteration, creating slackness to absorb potential violation when moving to a basic feasible solution).
In the first iteration, we start with the fractional allocation in which each agent selects a 1 q \frac{1}{q} q 1 -fraction of each of her MMS bundles. Each agent contributes at most d d d fractional variables (in fact, each agent has one variable for each profile rather than one for each MMS bundle, so the number is smaller). Thus we have a fractional solution with at most d 2 d^2 d 2 variables that satisfies all load constraints in a fractional sense.
More generally, also at later iterations, we will have some d ′ d' d ′ agents that did not yet become integral, and a fractional solution for these agents with f ′ ≥ 2 d ′ f' \ge2d' f ′ ≥ 2 d ′ non-zero variables. Each variable with positive value corresponds to a profile, and the profile contributes at most q q q breakpoint locations. So, overall, we have at most q f ′ qf' q f ′ breakpoint locations.
Now, instead of considering all load constraints, select f ′ − d ′ 2 \frac{f'-d'}{2} 2 f ′ − d ′ item indices, referred to as checkpoints , and consider the loads only at these checkpoints. The checkpoints are selected so that they are “evenly spaced”, in the sense that between any two consecutive checkpoints, at most O ( q ) O(q) O ( q ) of the d ′ d' d ′ agents have a breakpoint. Now move to a “basic feasible solution” for the f ′ + d ′ 2 \frac{f'+d'}{2} 2 f ′ + d ′ linear constraints (the load constraints for f ′ − d ′ 2 \frac{f'-d'}{2} 2 f ′ − d ′ checkpoints, and one constraint for each agent, specifying that she gets one MMS bundle). In this basic feasible solution, there are at most f ′ + d ′ 2 ≤ 3 f ′ 4 \frac{f'+d'}{2} \le\frac{3f'}{4} 2 f ′ + d ′ ≤ 4 3 f ′ (because f ′ ≥ 2 d ′ f' \ge2d' f ′ ≥ 2 d ′ ) non-zero variables, reducing the number of fractional variables by a constant factor. As to the load constraints at non-checkpoint locations, they can be violated by at most O ( q 2 ) O(q^2) O ( q 2 ) : there are at most O ( q ) O(q) O ( q ) agents contributing breakpoints after the closest earlier checkpoint (in which the load constraint was satisfied), and each such agent can contribute at most q q q breakpoints. More details appear in Appendix § 10 .
As a consequence, we have the following proposition.
Proposition 1.1. For every positive integer q q q , for every instance with n n n agents with additive valuations in which for each agent every item has value at least 1 q \frac{1}{q} q 1 , there is a ( 1 − 1 q ) (1-\frac{1}{q}) ( 1 − q 1 ) -MMS allocation for n − O ( q 2 log n ) n-O(q^2\log n) n − O ( q 2 log n ) agents.
The first step, satisfying a set A A A of ( 1 − ε ′ ) d (1-\varepsilon')d ( 1 − ε ′ ) d agents. In this step, for some small ε ′ \varepsilon' ε ′ , we carefully select a set A A A of ( 1 − ε ′ ) d (1-\varepsilon')d ( 1 − ε ′ ) d agents, and for each selected agent, an associated MMS bundle. This is done in such a way that the collection of associated profiles is feasible. Moreover, this is done in a way that will enable the later performance of the second step of our algorithm. For this reason, we do not simply use Proposition 1.1. Instead, we make a preliminary selection of a subset of agents and a subset of items, and apply Proposition 1.1 only on these subsets. We now explain properties of this preliminary selection.
We will partition the set of agents into three sets: a large set V V V with at least ( 1 − ε 4 ) n (1-\frac{\varepsilon}{4})n ( 1 − 4 ε ) n agents, a discarded set W W W of at most ε n 8 \frac{\varepsilon n}{8} 8 ε n agents, and a reserve set U U U of at most ε n 8 \frac{\varepsilon n}{8} 8 ε n agents. A A A will be a subset of V V V .
In addition, we partition the set of items into two sets, E E E and S S S . Set S S S of saved items is very small compared to n n n , of size f ( q , ε ) log n f(q,\varepsilon)\log n f ( q , ε ) log n , where f f f is a function that depends only on q q q and ε \varepsilon ε , but not on n n n . We will have that it suffices to use items of E E E so as to satisfy all load constraints imposed by the agents in A A A . Items of S S S are not used in the first step of our algorithm, but can be used in the second step.
Considering the sorted order of items in M M M , the items of S S S form O ( q 2 ) O(q^2) O ( q 2 ) consecutive intervals, where the first interval starts at e 1 e_1 e 1 . Each interval by itself, and also the union of all intervals, is of length at most f ( q , ε ) log n f(q,\varepsilon)\log n f ( q , ε ) log n . In addition, each interval of S S S is immediately followed by an auxiliary interval of size somewhat larger than ∣ S ∣ |S| ∣ S ∣ . The items in these auxiliary intervals form the set S ′ S' S ′ , and remain in E E E . The significance of these auxiliary intervals is that no agent in U ∪ V U\cup V U ∪ V has a breakpoint in them. That is, all agents that have a breakpoint in an auxiliary interval are moved into W W W . Our construction will be such that ∣ W ∣ ≤ ε n 8 |W|\leq\frac{\varepsilon n}{8} ∣ W ∣ ≤ 8 ε n . Moreover, for every two consecutive intervals of S S S and the corresponding auxiliary intervals of S ′ S' S ′ , the number of agents that have breakpoints between the end point of the first S ′ S' S ′ and the starting point of the second S S S will be at most n 2 \frac{n}{2} 2 n . See § 5.2 for more details.
We sketch how the set S S S is selected. Recall that each agent contributes fewer than q 2 q^2 q 2 breakpoints. So, the number of contributed breakpoints is at most q 2 n q^2n q 2 n . Consider their locations (several contributed breakpoints might fall on the same item), and mark 2 q 2 2q^2 2 q 2 start locations (starting at e 1 e_1 e 1 ), such that between any two locations there are at most n 2 \frac{n}{2} 2 n breakpoint contributions. These will be the start locations of intervals in S S S (though intervals that overlap will be merged, so eventually we may have fewer that 2 q 2 2q^2 2 q 2 intervals in S S S ). Now, from each location, we start growing intervals in steps. The initial step size will be of Θ ( q 4 ) log n \Theta(q^4)\log n Θ ( q 4 ) log n items, and each new step will increase the size of intervals by a factor of q O ( q 2 ) q^{O(q^2)} q O ( q 2 ) . We stop the process when a certain step did not add more than ε n 8 \frac{\varepsilon n}{8} 8 ε n breakpoint contributions. Thus, the process stops after at most 8 q 2 ε \frac{8q^2}{\varepsilon} ε 8 q 2 iterations. The intervals added at the last iteration form S ′ S' S ′ , and the remaining parts of intervals form S S S . Note that ∣ S ∣ |S| ∣ S ∣ might become as large as q O ( q 4 / ε ) log n q^{O(q^4/\varepsilon)}\log n q O ( q 4 / ε ) log n , so we require n n n to be exponential in a polynomial in q q q . Note also that any single interval of S S S might contain breakpoints by more than n 2 \frac{n}{2} 2 n agents, as it may be the result or merging several intervals. This potentially large number of breakpoints (combined with technical details of our algorithm) is the reason why we do not want to allow agents from A A A to receive items from S S S .
Now, we explain why agents of V V V can be satisfied by bundles from E = M − S E=M-S E = M − S . This is because for sufficiently large n n n , the size of ∣ S ∣ |S| ∣ S ∣ is negligible compared to n n n (and to d d d ). Thus, only a negligible fraction of bundles in the MMS partition of an agent contain items from S S S . Starting with n ≥ d ( 1 + ε ) n\geq d(1+\varepsilon) n ≥ d ( 1 + ε ) agents, the additional ε d \varepsilon d ε d agents that we have beyond the d d d each comes with their own MMS partitions, so the number of total bundles that we have in MMS partitions is large enough to compensate for losing those MMS bundles that contain items from S S S .
At the end of the first step, we will have an allocation of items from E E E that satisfies all agents from A A A . This allocation will have the large slackness property that will be very useful for performing the second step.
Agents from A A A have no breakpoints in S ′ S' S ′ . Moreover, at every index ℓ \ell ℓ that corresponds to an item of E − S ′ E-S' E − S ′ , the load imposed by the bundles selected by agents of A A A is significantly smaller than the number of items of E E E that precede ℓ \ell ℓ .
To get some intuition why we would have a large slackness property above, consider a uniform fractional allocation over the MMS partitions. Observe that at most q 2 q^2 q 2 load constraints can be tight: for every agent, its slack at prefix ℓ \ell ℓ can equal 0 0 0 only if ℓ \ell ℓ is a breakpoint, and the total number of breakpoints generated by MMS partitions is at most q 2 n q^2n q 2 n . Therefore, for a random load constraint ℓ ∈ [ m ] \ell\in[m] ℓ ∈ [ m ] , the expected slackness of each agent is roughly 1 n ⋅ m 2 q 2 \frac{1}{n} \cdot\frac{m}{2q^2} n 1 ⋅ 2 q 2 m . Indeed, between breakpoints the slack of an agent increases by one, so we can split [ m ] [m] [ m ] into at most q 2 q^2 q 2 constant load intervals. An interval with t t t items contributes at least ( t 2 ) \binom{t}{2} ( 2 t ) slack (each additional prefix makes one more item available). So, the total slack across all prefixes is roughly m 2 2 q 2 \frac{m^2}{2q^2} 2 q 2 m 2 , and at a random prefix ℓ ∈ [ m ] \ell\in[m] ℓ ∈ [ m ] expected slackness of an agent w.r.t uniform allocation is around 1 n ⋅ m 2 q 2 \frac{1}{n} \cdot\frac{m}{2q^2} n 1 ⋅ 2 q 2 m . It follows by the same reasoning that for every integer s s s , the number of load constraints with slackness smaller than s s s is at most 2 s q 2 2sq^2 2 s q 2 . So, the vast majority of constraints will have a substantial amount of slackness with respect to agents A A A selected at the first step.
The second step, adding ε ′ d \varepsilon'd ε ′ d agents. Recall the sets of agents U , V , W U,V,W U , V , W and set of items E , S E,S E , S from the first step. We start the second step with an allocation of items from E E E to a set A ⊂ V A \subset V A ⊂ V of agents, with ∣ A ∣ = ( 1 − ε ′ ) d |A|=(1-\varepsilon')d ∣ A ∣ = ( 1 − ε ′ ) d , where ε ′ d ≤ O ( q 2 log n ) \varepsilon'd \le O(q^2\log n) ε ′ d ≤ O ( q 2 log n ) . In the second step, we perform ε ′ d \varepsilon'd ε ′ d substeps. In each subset a certain number of agents will be discarded from the current A A A , and replaced by a new subset of agents from U U U , larger by 1.
Remark 1.1. As we also have agents remaining in V − A V-A V − A , it seems strange that we use U U U . However, the reason for distinguishing between U U U and V − A V-A V − A is due to existence of tail items, an aspect not present when there are only head items. When there are tail items, U U U is the set of ε n 8 \frac{\varepsilon n}{8} 8 ε n agents with shortest tails.
We partition the agents in U U U into equivalent classes. For this purpose, we first partition the set of items into classes, based on S S S . Each item of S S S is in a class of its own. This gives ∣ S ∣ |S| ∣ S ∣ classes. In addition, each consecutive interval that lies between two adjacent intervals of S S S is also a class of its own. This gives 2 q 2 2q^2 2 q 2 additional classes. As ∣ S ∣ > 2 q 2 |S|>2q^2 ∣ S ∣ > 2 q 2 , we will for simplicity treat ∣ S ∣ |S| ∣ S ∣ as the number of classes of items.
The class of an agent is determined by the locations of its breakpoints. Each breakpoint can be in one of the classes of items, and thus we have at most ∣ S ∣ q 2 |S|^{q^2} ∣ S ∣ q 2 classes of agents. For fixed q q q and ε \varepsilon ε , this term is polylogarithmic in n n n (as ∣ S ∣ ≤ q O ( q 4 / ε ) log n |S|\le q^{O(q^4/\varepsilon)}\log n ∣ S ∣ ≤ q O ( q 4 / ε ) log n ). So, if n n n is sufficiently large, at least one class of agents in U U U contains many more agents than O ( q 2 log n ) O(q^2\log n) O ( q 2 log n ) , the number of agents that we need to add to A A A . We let U ′ U' U ′ be the largest class of agents within U U U , and ignore the rest of U U U .
Our way of analyzing the existence of allocations is based on locations of breakpoints and loads at selected checkpoints. The checkpoints that interest us in the second step are those at the beginning of each S ′ S' S ′ interval. With respect to these checkpoints, all agents in U ′ U' U ′ are interchangeable. That is, for every profile of item values, if it is feasible for one agent in U ′ U' U ′ , then it is feasible for every agent in U ′ U' U ′ . (The same applies to breakpoints within S S S , because we took these breakpoints into account when we defined the classes of items within U U U .)
It will be convenient for us to take an arbitrary agent r ∈ U ′ r \in U' r ∈ U ′ as a representative of all agents. We refer to this agent as the supplier. The MMS partition of r r r contains d d d bundles. Consider now the following problem (for a given collection of checkpoints at which load constraints are required to hold): find a value 0 ≤ t ≤ ∣ A ∣ 0 \le t \le|A| 0 ≤ t ≤ ∣ A ∣ , a set A − A^- A − of t t t agents from A A A and a set B + B^+ B + of t + 1 t+1 t + 1 MMS bundles of r r r , such that replacing in A A A the bundles of A − A^- A − by the bundles of B + B^+ B + satisfies the load constraints at all checkpoints. This problem has a feasible solution, which is to choose t = ∣ A ∣ t=|A| t = ∣ A ∣ , and replace A A A by ∣ A ∣ + 1 |A|+1 ∣ A ∣ + 1 bundles from the MMS partition of r r r . However, we seek a feasible solution in which t t t is small (we will need t < ∣ U ′ ∣ t<|U'| t < ∣ U ′ ∣ ). Does such a solution necessarily exist?
The answer to this question in our setting is yes, because the number of checkpoints depends only on q q q . Showing that this is true makes use of a known lemma attributed to Dickson [11 ] (though apparently also proved by others). That lemma states that any collection of non-negative integer vectors of finite dimension has a finite set of minimal vectors (that do not dominate other vectors). We represent feasible solutions to our problem as integer vectors of dimension that depends only on q q q , in a system of vectors for which any minimal vector must have entries upper bounded by some (large) function of q q q . As our problem has a solution, it corresponds to some vector in this system. Consider any minimal vector dominated by our vector. We show that the minimal vector also corresponds to a feasible solution of our problem, with t t t upper bounded by a function of q q q (and hence smaller than ∣ U ′ ∣ |U'| ∣ U ′ ∣ , when n n n is sufficiently large).
The solution with t < ∣ U ′ ∣ t < |U'| t < ∣ U ′ ∣ can be translated to a solution in which instead of taking the bundles of B + B^+ B + from the MMS partition of r r r , we select t + 1 t+1 t + 1 agents from U ′ U' U ′ , where for every j j j the j j j th selected agent gets a bundle with the same profile as that of the j j j th bundle in B + B^+ B + . As agents in U ′ U' U ′ are interchangeable, the solution remains feasible.
We remark that MMS bundles of agents from U ′ U' U ′ may contain items from S S S . The combination of S S S being small, having no breakpoints in S ′ S' S ′ and the large slackness property for the initial set A A A can be shown to imply that also at locations that are not among our selected checkpoints, the required load constraints hold. This finishes the description of head-only proof.
Mixture of head and tail items. We have seen (an overview of) how to prove Theorem 1.1 when either all items are head items, or all items are tail items. We now explain how to handle instances with combination of head items and tail items. We basically follow the approach outlined for the case of only head items, but with some adjustments. Note that the same item can be a head item for some agents, but a tail item for other agents, a fact that somewhat complicates the situation.
We shall use the known fact that fractional allocations can be rounded to integer allocations, where each agent receives a value that differs from that of her fractional allocation by the value of at most one item. Hence, for tail items (for which a single item has value at most 1 q \frac{1}{q} q 1 , and losing such a value can be tolerated), we may consider fractional allocations.
For each agent i i i , let T i T_i T i denote the total value of the set of her tail items.
For each bundle P i j P_i^j P i j in the MMS partition of i i i , we consider head and tail items separately. For head items, we follow the approach outlined for the case in which there only are head items. That is, we round their values down to multiples of 1 q 2 \frac{1}{q^2} q 2 1 , consider the profile that they induce and the respective breakpoints. Tail items are treated differently. We only keep track of the total value of tail items that an MMS bundle contains, but not their exact identity. This value is then translated into what fraction of T i T_i T i the bundle needs to contain. Then, we think of this fraction as representing which fraction of each item in the tail of agent i i i the bundle should contain.
We distinguish between two cases, depending on whether the average value of T i T_i T i is large or small. The breakpoint between these two cases is an average value of g ( q ) ⋅ log n g(q)\cdot\log n g ( q ) ⋅ log n , where g g g is some specific function of q q q and does not depend on n n n .
If the average value of T i T_i T i is large, we reduce the fraction that each agent desires to get from each tail item by a factor of ( 1 − 1 q ) (1-\frac{1}{q}) ( 1 − q 1 ) . (This affects the value of each MMS bundle by at most 1 q \frac{1}{q} q 1 , and hence introduced an additive error of at most 1 q \frac{1}{q} q 1 in our final MMS approximation ratio.) This frees up a fraction of 1 q \frac{1}{q} q 1 from each tail item. For those agents with relatively large T i T_i T i (there must be such agents, because the average value of T i T_i T i is not very small), the unused fractions of tail items can be used in order create additional bundles of value 1. This creates a substantial number of agents with an MMS partition into substantially more than d d d parts. This can be used in order to make the first step of our algorithm produce a set of size d d d , without the need for the second step.
If the average value of T i T_i T i over all i i i is small, we modify the “only head items” algorithm as follows. In the profiles associated with MMS bundles, we consider only head items. After discarding the set W W W of agents, we choose the set U U U to contain the ε n 8 \frac{\varepsilon n}{8} 8 ε n agents with fewest tail items. For agents in V V V , we consider only MMS bundles for which the profile of head items has sufficient value, without need for tail items. As tail items contribute very little value on average, almost all agents in V V V still maintain a partition into almost d d d bundles. The analysis with respect to V V V then proceeds in a way similar to the “only head items” case, except that the resulting set A A A of selected agents becomes slightly smaller. This has no significant effect of the proof.
The main issue that needs to be handled in the proof is the second step of our algorithm. To use Dickson’s lemma, we used a representative supplier agent r r r from the set U ′ U' U ′ , and assumed that this agent had an MMS partition into d d d parts. For agents in U ′ U' U ′ , this indeed holds, but the parts include also tail items. Hence, beyond handling the load on head items (which our use of Dickson’s lemma does successfully), we need to also make sure that the load on tail items is feasible. This is accomplished by two clever choices that our algorithm makes. One is our choice of U U U , that implies that no agent from A A A takes an item that is a tail item for an agent from U ′ U' U ′ . Thus, handling tail items for agents selected from U ′ U' U ′ does not affect the allocation given to agents from A A A . This by itself does not suffice, the difficulty being that incompatibility between agents in U ′ U' U ′ in terms of which is the starting item of the tail. The other clever choice is that of the supplier r r r . The supplier is selected from U ′ U' U ′ as the agent that places the smallest demand on the tail, under a non-trivial definition of “demand” that takes into account both value and length of tail. This ensures that the MMS bundles of the supplier chosen by the application of Dickson’s lemma can indeed be replaced by bundles of other agents from U ′ U' U ′ , while satisfying load constraints for every items, even though agents in U ′ U' U ′ may disagree on whether an item is a head item or a tail item.
Related work
The subject of fair division has been extensively studied in multiple different settings. In our work, we focus specifically on indivisible goods and use MMS as our notion of fairness. For work on divisible goods, see for example [8 ] . For additional work on fair allocation of indivisible items, including envy-based notions like EF1 and EFX, see for example [4 , 1 ] . In addition, there has been a plenty of work done on fair allocations for valuations beyond additive, i.e submodular, XOS and subadditive classes from the complement free hierarchy [21 ] , which is beyond the scope of this work.
For additive valuations and every n ≥ 3 n \ge3 n ≥ 3 , there are examples in which MMS allocations do not exist [20 ] . There has been a long line of work investigating the highest fraction of the MMS that can be guaranteed to each agent, and it is known to be between 7 9 \frac{7}{9} 9 7 [18 ] and 20 21 \frac{20}{21} 21 20 [13 ] . For general n n n , [16 ] showed an upper bound of 1 − 1 n 4 1-\frac{1}{n^4} 1 − n 4 1 , which was improved to 1 − Ω ( 1 log 2 n ) 1-\Omega\left(\frac{1}{\log^2 n}\right) 1 − Ω ( l o g 2 n 1 ) by [13 ] .
There has also been work on MMS allocation instances where the number of items m m m is small relative to the number of agents n n n . The most recent discoveries show that MMS allocations always exist when m ≤ n + log n m \le n+\log n m ≤ n + log n [14 ] , and may not exist when m ≤ n + c log n m \le n+c\log n m ≤ n + c log n for sufficiently large constant c c c [13 ] . These works study exact MMS allocations, while our existence results consider approximate allocations in the regime m < 2 n m < 2n m < 2 n .
While we consider instances with large number of agents n n n , there has been additional results on instances with small n n n . For additive valuations, for the case of n = 3 n=3 n = 3 agents, it was shown in [15 ] that 11 12 \frac{11}{12} 12 11 -MMS allocations exist, and for n = 4 n=4 n = 4 agents, [17 ] proved an approximation ratio of 4 5 \frac{4}{5} 5 4 .
The concept of 1-out-of-d d d MMS allocations first appeared in [9 ] , and later was formally introduced in [7 ] . A series of works subsequently improved the upper bound on d d d , with notable milestones of d = 4 ⌈ n / 3 ⌉ d=4\lceil n/3\rceil d = 4 ⌈ n /3 ⌉ by [AGST24] and d = n + O ( n log n ) d=n+O(\sqrt{n\log n}) d = n + O ( n log n ) by [12 ] . As for the progress towards d = n + 1 d=n+1 d = n + 1 , [Sch26] showed that 1-out-of-5 allocations exist for n = 4 n=4 n = 4 agents.
Regarding techniques, our algorithm utilizes the identical ordering reduction from [BL16]. When it comes to replacing MMS bundles with corresponding profiles of rounded item values, the idea is not new and has been utilized in various ways before. In [19 ] , the authors compute MMS of a single agent by representing its MMS bundles via counts of its large items in rounded value classes, and completed selected bundle types using small items. The construction somewhat resembling our head-tail profile framework was utilized in [22 ] for welfare approximations.
In the recent work [12 ] , most relevant to our topics, the authors also built their proofs using a sort of head and tail structure. However, their definition of head profiles is vastly different and is based on counts of items in certain buckets, and they control the “loads” of the buckets. Our approach instead defines head profiles based on individual value of each item, and operates with prefix loads and value breakpoints. This construction gives us much more flexibility, which is crucial to our main result.
Both of the works utilize linear programming rounding in order to obtain initial allocation for most of the agents. While the rounding of [12 ] is in some sense oblivious, our rounding algorithm is much more adaptive, which combined with our definition of head/tail profiles gives us the substantial improvement in the value of d d d for 1-out-of-d d d allocations.
In order to compensate the head profiles with tail items, [12 ] use faithful rounding method (see [5 ] ) for the common tail. Our tail completion approach is also inspired by faithful rounding, and develops its deterministic counterpart. The main distinction in our case is that tails for different agents may have different lengths, and we need to control all of them simultaneously.
It is worth mentioning that the approach of [12 ] was developed for a stronger notion of fairness called anyprice share (APS), which considers fractional partitions of items. For our results, it is crucial that we work with MMS partitions.
Technical details
We prove Theorem 1.2 first, in § 2 . The proof of Theorem 1.1 is split between Sections 3 to § 6 . In Section 3, we first consider mixed head-and-tail case when average value of tail T i T_i T i is large, and also show how to complete the first step, i.e satisfying ( 1 − ε ′ ) d (1-\varepsilon')d ( 1 − ε ′ ) d agents. In § 5 , we cover the first half of the second step (adding ε ′ d \varepsilon'd ε ′ d agents), and show how to construct set S S S with corresponding checkpoints. We complete the proof of Theorem 1.1 in § 6 , where we describe how to use a supplier agent to add the required ε ′ d \varepsilon'd ε ′ d agents, using Dickson’s lemma. In § 7 , we give a proof of Corollary 1.1, and mention some additional minor implications of our results. As for appendices, Appendices § 9 and § 10 cover the proofs of LP-rounding algorithms that we used in respectively § 2 and 3. Appendix § 11 gives the full proof of the supplier profile selection guarantees via Dickson’s lemma. In Appendix § 12 we give explicit constants and provide an upper bound on the claimed n ε , q n_{\varepsilon,q} n ε , q in Theorem 1.1.
1-out-of-d d d MMS for d = n + O ( log 2 n ) d = n + O(\log^{2} n) d = n + O ( log 2 n )
First we will prove the result on 1-out-of-d d d MMS (Theorem 1.2). Its proof is simpler, and will allow us to introduce the reader to the core techniques of our approach.
Theorem 2.1 (Theorem 1.2 restated). Consider a fair allocation instance with items M M M and n n n additive agents N N N with valuations { v i } i ∈ N \{v_i\}_{i\in N} { v i } i ∈ N . There always exists an MMS(d d d ) allocation when
d ≥ n + 46 ( 1 + log n ) 2 , d \ge n + 46(1+\log n)^2, d ≥ n + 46 ( 1 + log n ) 2 ,
In the setting of Theorem 2.1, we assume that Assumption 1 holds. In particular, we associate M M M with the set [ m ] [m] [ m ] , and for every i ∈ N i\in N i ∈ N we simultaneously have
v i ( 1 ) ≥ v i ( 2 ) ≥ … ≥ v i ( m ) . v_i(1) \ge v_i(2) \ge\ldots\ge v_i(m). v i ( 1 ) ≥ v i ( 2 ) ≥ … ≥ v i ( m ) .
In addition, each agent i ∈ N i \in N i ∈ N has a d d d -partition B i = { B i , 1 , … , B i , d } \mathcal{B}_i = \{B_{i,1},\ldots,B_{i,d}\} B i = { B i , 1 , … , B i , d } of M M M , where v i ( B i , j ) = 1 v_i(B_{i,j}) = 1 v i ( B i , j ) = 1 for all j ∈ [ d ] j \in[d] j ∈ [ d ] . Notably, v i ( M ) = d v_i(M) = d v i ( M ) = d for every i ∈ N i \in N i ∈ N .
We will start with several straightforward observations.
Lemma 2.1. Let U ⊆ N U \subseteq N U ⊆ N and E ⊆ M E \subseteq M E ⊆ M be such that v u ( E ) ≥ 2 ∣ U ∣ − 1 v_u(E) \ge2|U| - 1 v u ( E ) ≥ 2∣ U ∣ − 1 for every u ∈ U u \in U u ∈ U . There exists an allocation of E E E to U U U such that every agent u ∈ U u \in U u ∈ U receives a bundle of value at least 1.
Proof. If ∣ U ∣ = 1 |U| = 1 ∣ U ∣ = 1 , give all of E E E to a single agent in U U U . For ∣ U ∣ > 1 |U| > 1 ∣ U ∣ > 1 , add goods in arbitrary order to an initially empty set B B B , until some agent u ∈ U u \in U u ∈ U values v u ( B ) ≥ 1 v_u(B) \ge1 v u ( B ) ≥ 1 . Note that just before the last item was added to B B B , every agent valued B B B less than 1, and for every u ′ ≠ u u' \ne u u ′ = u , v u ′ ( B ) < 2 v_{u'}(B) < 2 v u ′ ( B ) < 2 . Hence, v u ′ ( E − B ) ≥ 2 ∣ U ∣ − 3 = 2 ( ∣ U ∣ − 1 ) − 1 v_{u'}(E - B) \ge2|U| - 3 = 2(|U| - 1) - 1 v u ′ ( E − B ) ≥ 2∣ U ∣ − 3 = 2 ( ∣ U ∣ − 1 ) − 1 . The lemma follows by induction on ∣ U ∣ |U| ∣ U ∣ .
If d ≥ 2 n − 1 d \ge2n - 1 d ≥ 2 n − 1 , we can take U = N U = N U = N and E = M E = M E = M and apply Lemma 2.1. For every agent i ∈ N i \in N i ∈ N , v i ( E ) = v i ( M ) = d ≥ 2 n − 1 = 2 ∣ U ∣ − 1 v_i(E) = v_i(M) = d \ge2n - 1 = 2|U| - 1 v i ( E ) = v i ( M ) = d ≥ 2 n − 1 = 2∣ U ∣ − 1 . From now on, assume n + 1 ≤ d ≤ 2 n − 1 n + 1 \le d \le2n - 1 n + 1 ≤ d ≤ 2 n − 1 .
Lemma 2.1 suggests the following. Suppose that we allocated all but a small fraction of agents (say, n − O ( log 2 n ) n - O(\log^2 n) n − O ( log 2 n ) ), using some set of items F ⊆ M F \subseteq M F ⊆ M . Then, as long as the total value of F F F is not too large, the remaining agents can get their MMS from only the remaining items.
Corollary 2.1. Let F ⊆ M F \subseteq M F ⊆ M satisfy v i ( F ) ≤ n + 1 v_i(F) \le n + 1 v i ( F ) ≤ n + 1 for every i ∈ N i \in N i ∈ N . For any set U ⊆ N U \subseteq N U ⊆ N of ∣ U ∣ ≤ ( d − n ) / 2 |U| \le(d - n)/2 ∣ U ∣ ≤ ( d − n ) /2 agents, there exists an allocation of M − F M - F M − F to U U U such that every agent u ∈ U u \in U u ∈ U receives a bundle of value at least 1.
Proof. If U = ∅ U = \varnothing U = ∅ , there is nothing to do. Otherwise, as v u ( M ) = d v_u(M) = d v u ( M ) = d for every u ∈ U u \in U u ∈ U ,
v u ( M − F ) = v u ( M ) − v u ( F ) ≥ d − n − 1 ≥ 2 ∣ U ∣ − 1. v_u(M - F) = v_u(M) - v_u(F) \ge d - n - 1 \ge2|U| - 1. v u ( M − F ) = v u ( M ) − v u ( F ) ≥ d − n − 1 ≥ 2∣ U ∣ − 1. This is exactly the condition of Lemma 2.1 with sets E = M − F E = M - F E = M − F and U U U .
We will now focus on finding a set F ⊆ M F \subseteq M F ⊆ M of value v i ( F ) ≤ n + 1 v_i(F) \le n + 1 v i ( F ) ≤ n + 1 for all i ∈ N i \in N i ∈ N such that, for some set N ′ ⊂ N N' \subset N N ′ ⊂ N of n − O ( log 2 n ) n - O(\log^2 n) n − O ( log 2 n ) agents, all N ′ N' N ′ can get their MMS allocation from F F F only.
By assumption, we associate M M M with [ m ] [m] [ m ] , and for every agent i ∈ N i \in N i ∈ N we simultaneously have
v i ( 1 ) ≥ v i ( 2 ) ≥ … ≥ v i ( m ) . v_i(1) \ge v_i(2) \ge\ldots\ge v_i(m). v i ( 1 ) ≥ v i ( 2 ) ≥ … ≥ v i ( m ) .
We observe that, if one wants to bound the value of items F ⊆ M F \subseteq M F ⊆ M , it suffices to bound the total number of items from F F F in every prefix of M = { 1 , … , m } M = \{1,\ldots,m\} M = { 1 , … , m } .
Observation 2.1. Let F ⊆ M F \subseteq M F ⊆ M , and suppose that for every 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m it holds ∣ F ∩ [ ℓ ] ∣ ≤ η ℓ |F \cap[\ell]| \le\eta\ell ∣ F ∩ [ ℓ ] ∣ ≤ η ℓ for some value η ∈ ( 0 , 1 ] \eta\in(0,1] η ∈ ( 0 , 1 ] . Then for every agent i ∈ N i \in N i ∈ N it holds v i ( F ) ≤ η d v_i(F) \le\eta d v i ( F ) ≤ η d .
In particular, when η = ( n + 1 ) / d \eta= (n + 1)/d η = ( n + 1 ) / d , such set F F F satisfies v i ( F ) ≤ n + 1 v_i(F) \le n + 1 v i ( F ) ≤ n + 1 .
Proof. Observe that for every 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m , ℓ ∈ F \ell\in F ℓ ∈ F if and only if ∣ F ∩ [ ℓ ] ∣ − ∣ F ∩ [ ℓ − 1 ] ∣ = 1 |F \cap[\ell]| - |F \cap[\ell- 1]| = 1 ∣ F ∩ [ ℓ ] ∣ − ∣ F ∩ [ ℓ − 1 ] ∣ = 1 . Hence,
v i ( F ) = ∑ ℓ = 1 m v i ( ℓ ) ⋅ ( ∣ F ∩ [ ℓ ] ∣ − ∣ F ∩ [ ℓ − 1 ] ∣ ) = ∑ ℓ = 1 m ( v i ( ℓ ) − v i ( ℓ + 1 ) ) ⋅ ∣ F ∩ [ ℓ ] ∣ v_i(F) = \sum_{\ell=1}^{m} v_i(\ell) \cdot\left(|F \cap[\ell]| - |F \cap[\ell- 1]|\right) = \sum_{\ell=1}^{m} \left(v_i(\ell) - v_i(\ell+ 1)\right) \cdot|F \cap[\ell]| v i ( F ) = ℓ = 1 ∑ m v i ( ℓ ) ⋅ ( ∣ F ∩ [ ℓ ] ∣ − ∣ F ∩ [ ℓ − 1 ] ∣ ) = ℓ = 1 ∑ m ( v i ( ℓ ) − v i ( ℓ + 1 ) ) ⋅ ∣ F ∩ [ ℓ ] ∣ ≤ η ∑ ℓ = 1 m ( v i ( ℓ ) − v i ( ℓ + 1 ) ) ⋅ ℓ = η ∑ ℓ = 1 m v i ( ℓ ) = η d . \le\eta\sum_{\ell=1}^{m} \left(v_i(\ell) - v_i(\ell+ 1)\right) \cdot\ell= \eta\sum_{\ell=1}^{m} v_i(\ell) = \eta d. ≤ η ℓ = 1 ∑ m ( v i ( ℓ ) − v i ( ℓ + 1 ) ) ⋅ ℓ = η ℓ = 1 ∑ m v i ( ℓ ) = η d .
We used a conventions [ 0 ] = ∅ [0] = \varnothing [ 0 ] = ∅ and v i ( m + 1 ) = 0 v_i(m + 1) = 0 v i ( m + 1 ) = 0 .
We will refer to ∣ F ∩ [ ℓ ] ∣ |F \cap[\ell]| ∣ F ∩ [ ℓ ] ∣ as a ℓ \ell ℓ -prefix load of the set F F F . Our approach to finding a set F F F with bounded prefix loads is to, instead of working with actual items M M M and allocating them to bundles, to consider profiles of values of items from M M M . We give more details below.
Demand profiles
Definition 2.1. A demand is a positive value α ∈ ( 0 , 1 ] \alpha\in(0,1] α ∈ ( 0 , 1 ] . We say that item e ∈ M e \in M e ∈ M satisfies the demand α \alpha α for agent i ∈ N i \in N i ∈ N if v i ( e ) ≥ α v_i(e) \ge\alpha v i ( e ) ≥ α .
Definition 2.2. A demand profile is a finite multiset π = { α 1 , … , α ∣ π ∣ } \pi= \{\alpha_1,\ldots,\alpha_{|\pi|}\} π = { α 1 , … , α ∣ π ∣ } of demands. A subset B ⊆ M B \subseteq M B ⊆ M satisfies the demand profile π \pi π for agent i ∈ N i \in N i ∈ N if each demand α ∈ π \alpha\in\pi α ∈ π can be assigned a distinct item e ∈ B e \in B e ∈ B that satisfies it. That is, there exists { e 1 , … , e ∣ π ∣ } ⊆ B \{e_1,\ldots,e_{|\pi|}\} \subseteq B { e 1 , … , e ∣ π ∣ } ⊆ B such that
v i ( e 1 ) ≥ α 1 , … , v i ( e ∣ π ∣ ) ≥ α ∣ π ∣ . v_i(e_1) \ge\alpha_1,\ldots,v_i(e_{|\pi|}) \ge\alpha_{|\pi|}. v i ( e 1 ) ≥ α 1 , … , v i ( e ∣ π ∣ ) ≥ α ∣ π ∣ . A (guaranteed) value of a profile π \pi π is
v ( π ) : = ∑ α ∈ π α . v(\pi) := \sum_{\alpha\in\pi} \alpha. v ( π ) := α ∈ π ∑ α . If agent i i i is assigned profile π \pi π , satisfying π \pi π with some bundle B ⊆ M B \subseteq M B ⊆ M guarantees v i ( B ) ≥ v ( π ) v_i(B) \ge v(\pi) v i ( B ) ≥ v ( π ) .
Instead of measuring a prefix load of item set F ⊆ M F \subseteq M F ⊆ M , we will measure a prefix load of a demand profile π \pi π . Given some profile π \pi π , we want to know for each agent i i i how many items from each prefix { 1 , … , ℓ } \{1,\ldots,\ell\} { 1 , … , ℓ } agent i i i needs to satisfy π \pi π . We will do so using a notion of breakpoints .
Definition 2.3. For i ∈ N i \in N i ∈ N and demand α \alpha α , an α \alpha α -breakpoint for agent i i i is the number m i ( α ) m_i(\alpha) m i ( α ) of items in M = [ m ] M = [m] M = [ m ] with value at least α \alpha α . That is, for every e ≤ m i ( α ) e \le m_i(\alpha) e ≤ m i ( α ) it holds v i ( e ) ≥ α v_i(e) \ge\alpha v i ( e ) ≥ α .
By definition, agent i i i can satisfy a demand α \alpha α only by the items { 1 , … , m i ( α ) } \{1,\ldots,m_i(\alpha)\} { 1 , … , m i ( α )} . Hence, if m i ( α ) ≤ ℓ m_i(\alpha) \le\ell m i ( α ) ≤ ℓ , then agent i i i must use an item in prefix { 1 , … , ℓ } \{1,\ldots,\ell\} { 1 , … , ℓ } to satisfy α \alpha α . Therefore, it is natural to define the ℓ \ell ℓ -prefix load of a profile π \pi π as a total number of breakpoints of π \pi π before ℓ \ell ℓ .
Definition 2.4. Let π = { α 1 , … , α ∣ π ∣ } \pi= \{\alpha_1,\ldots,\alpha_{|\pi|}\} π = { α 1 , … , α ∣ π ∣ } be a demand profile. For an integer 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m and agent i ∈ N i \in N i ∈ N , denote by P i ( π , ℓ ) \mathcal{P}_i(\pi,\ell) P i ( π , ℓ ) the total number of demands in π \pi π with breakpoints at most ℓ \ell ℓ :
P i ( π , ℓ ) = ∣ { α ∈ π : m i ( α ) ≤ ℓ } ∣ . \mathcal{P}_i(\pi,\ell) = \left|\{\alpha\in\pi: m_i(\alpha) \le\ell\}\right|. P i ( π , ℓ ) = ∣ { α ∈ π : m i ( α ) ≤ ℓ } ∣ . That is, P i ( π , ℓ ) \mathcal{P}_i(\pi,\ell) P i ( π , ℓ ) counts how many demands in π \pi π can be satisfied only by the first ℓ \ell ℓ items. We refer to P i ( π , ℓ ) \mathcal{P}_i(\pi,\ell) P i ( π , ℓ ) as an ℓ \ell ℓ -prefix load of π \pi π for i i i .
We extend the definition of prefix load to a collection of profiles.
Definition 2.5. Let I ⊆ N I \subseteq N I ⊆ N , let Π I : = { π i } i ∈ I \Pi_I := \{\pi_i\}_{i \in I} Π I := { π i } i ∈ I be a collection of demand profiles, where π i \pi_i π i is assigned to agent i ∈ I i \in I i ∈ I . For 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m , the total ℓ \ell ℓ -prefix load of Π I \Pi_I Π I is
P ( Π I , ℓ ) : = ∑ i ∈ I P i ( π i , ℓ ) , \mathcal{P}(\Pi_I,\ell) := \sum_{i \in I} \mathcal{P}_i(\pi_i,\ell), P ( Π I , ℓ ) := i ∈ I ∑ P i ( π i , ℓ ) , the total number of demands across all agents in I I I that can be satisfied only by the first ℓ \ell ℓ items.
The following lemma shows that finding an allocation of M M M to some agents I ⊆ N I \subseteq N I ⊆ N is equivalent to finding a feasible collection of appropriate demand profiles Π I \Pi_I Π I .
Lemma 2.2. Let I ⊆ N I \subseteq N I ⊆ N , let π i = { α i , 1 , … , α i , ∣ π i ∣ } \pi_i = \{\alpha_{i,1},\ldots,\alpha_{i,|\pi_i|}\} π i = { α i , 1 , … , α i , ∣ π i ∣ } be some demand profile of agent i ∈ I i \in I i ∈ I , and let Π I : = { π i } i ∈ I \Pi_I := \{\pi_i\}_{i \in I} Π I := { π i } i ∈ I . For any set F ⊆ M F \subseteq M F ⊆ M of items, we can simultaneously satisfy all profiles of Π I \Pi_I Π I using distinct items of F F F if and only if
P ( Π I , ℓ ) ≤ ∣ F ∩ [ ℓ ] ∣ , ∀ 0 ≤ ℓ ≤ m . \mathcal{P}(\Pi_I,\ell) \le|F \cap[\ell]|,\qquad\forall0 \le\ell\le m. P ( Π I , ℓ ) ≤ ∣ F ∩ [ ℓ ] ∣ , ∀0 ≤ ℓ ≤ m . Furthermore, if K : = ∑ i ∈ I ∣ π i ∣ K := \sum_{i \in I} |\pi_i| K := ∑ i ∈ I ∣ π i ∣ , it suffices to use only the first K K K items of F F F . In particular, when F = M F = M F = M , we can satisfy all profiles of Π I \Pi_I Π I using only items { 1 , … , K } \{1,\ldots,K\} { 1 , … , K } as long as
P ( Π I , ℓ ) ≤ ℓ , ∀ 0 ≤ ℓ ≤ m . \mathcal{P}(\Pi_I,\ell) \le\ell,\qquad\forall0 \le\ell\le m. P ( Π I , ℓ ) ≤ ℓ , ∀0 ≤ ℓ ≤ m .
Proof. Suppose that we can satisfy all profiles of Π I \Pi_I Π I using distinct items of F F F . By definition,
P ( Π I , ℓ ) = ∑ i ∈ I P i ( π i , ℓ ) = ∑ i ∈ I ∣ { α ∈ π i : m i ( α ) ≤ ℓ } ∣ . \mathcal{P}(\Pi_I,\ell)=\sum_{i\in I}\mathcal{P}_i(\pi_i,\ell)=\sum_{i\in I}|\{\alpha\in\pi_i:m_i(\alpha)\le\ell\}|. P ( Π I , ℓ ) = i ∈ I ∑ P i ( π i , ℓ ) = i ∈ I ∑ ∣ { α ∈ π i : m i ( α ) ≤ ℓ } ∣.
Consider all α ∈ Π I \alpha\in\Pi_I α ∈ Π I with breakpoints at most ℓ \ell ℓ (for corresponding agents), each of these values must be satisfied by an item in { 1 , … , ℓ } \{1,\ldots,\ell\} { 1 , … , ℓ } . Every such demand gets a distinct item in F F F satisfying it, so there are at most ∣ F ∩ [ ℓ ] ∣ |F\cap[\ell]| ∣ F ∩ [ ℓ ] ∣ demands with breakpoints at most ℓ \ell ℓ . Thus, P ( Π I , ℓ ) ≤ ∣ F ∩ [ ℓ ] ∣ \mathcal{P}(\Pi_I,\ell)\le|F\cap[\ell]| P ( Π I , ℓ ) ≤ ∣ F ∩ [ ℓ ] ∣ .
Now, suppose that P ( Π I , ℓ ) ≤ ∣ F ∩ [ ℓ ] ∣ \mathcal{P}(\Pi_I,\ell)\le|F\cap[\ell]| P ( Π I , ℓ ) ≤ ∣ F ∩ [ ℓ ] ∣ for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m . Taking ℓ = 0 \ell=0 ℓ = 0 we obtain P ( Π I , 0 ) ≤ ∣ F ∩ [ 0 ] ∣ = 0 \mathcal{P}(\Pi_I,0)\le|F\cap[0]|=0 P ( Π I , 0 ) ≤ ∣ F ∩ [ 0 ] ∣ = 0 , so no demand in the assigned profiles has breakpoint 0. Consequently, every demand has at least one eligible item.
List all individual demands α ∈ Π I \alpha\in\Pi_I α ∈ Π I as ( i , α ) (i,\alpha) ( i , α ) where α ∈ π i \alpha\in\pi_i α ∈ π i , including repetitions, and sort them according to breakpoint values m i ( α ) m_i(\alpha) m i ( α ) . We get a list of K = ∑ i ∈ I ∣ π i ∣ = P ( Π I , m ) K=\sum_{i\in I}|\pi_i|=\mathcal{P}(\Pi_I,m) K = ∑ i ∈ I ∣ π i ∣ = P ( Π I , m ) pairs
( i 1 , α 1 ) , … , ( i K , α K ) , 1 ≤ m i 1 ( α 1 ) ≤ ⋯ ≤ m i K ( α K ) ≤ m . (i_1,\alpha_1),\ldots,(i_K,\alpha_K),\qquad1\le m_{i_1}(\alpha_1)\le\cdots\le m_{i_K}(\alpha_K)\le m. ( i 1 , α 1 ) , … , ( i K , α K ) , 1 ≤ m i 1 ( α 1 ) ≤ ⋯ ≤ m i K ( α K ) ≤ m .
Note that K = P ( Π I , m ) ≤ ∣ F ∩ [ m ] ∣ K=\mathcal{P}(\Pi_I,m)\le|F\cap[m]| K = P ( Π I , m ) ≤ ∣ F ∩ [ m ] ∣ implies K ≤ ∣ F ∣ K\le|F| K ≤ ∣ F ∣ .
Denote m k : = m i k ( α k ) m_k:=m_{i_k}(\alpha_k) m k := m i k ( α k ) , m 1 ≤ ⋯ ≤ m K m_1\le\cdots\le m_K m 1 ≤ ⋯ ≤ m K . By definition, for each k k k there are at least k k k pairs ( i , α ) (i,\alpha) ( i , α ) with breakpoint m i ( α ) ≤ m k m_i(\alpha)\le m_k m i ( α ) ≤ m k . This means that there are at least k k k different demands that want items among the first m k m_k m k , so P ( Π I , m k ) ≥ k \mathcal{P}(\Pi_I,m_k)\ge k P ( Π I , m k ) ≥ k .
By assumption, P ( Π I , m k ) ≤ ∣ F ∩ [ m k ] ∣ \mathcal{P}(\Pi_I,m_k)\le|F\cap[m_k]| P ( Π I , m k ) ≤ ∣ F ∩ [ m k ] ∣ . It follows that, if F = { f 1 < ⋯ < f ∣ F ∣ } F=\{f_1<\cdots<f_{|F|}\} F = { f 1 < ⋯ < f ∣ F ∣ } , then f k ≤ m k f_k\le m_k f k ≤ m k . Take this m k = m i k ( α k ) m_k=m_{i_k}(\alpha_k) m k = m i k ( α k ) and allocate item f k f_k f k to agent i k i_k i k to satisfy α k \alpha_k α k . As m k ≥ f k m_k\ge f_k m k ≥ f k , it must be that v i k ( f k ) ≥ α k v_{i_k}(f_k)\ge\alpha_k v i k ( f k ) ≥ α k . We do so for every 1 ≤ k ≤ K 1\le k\le K 1 ≤ k ≤ K . Since we will always use distinct items, and K ≤ ∣ F ∣ K\le|F| K ≤ ∣ F ∣ , we will use only the first K K K items of F F F . The lemma follows. □ \square □
Recall that in Observation 2.1, however, we seek for a set F ⊆ M F\subseteq M F ⊆ M such that prefix load of F F F is ∣ F ∩ [ ℓ ] ∣ ≤ η ℓ |F\cap[\ell]|\le\eta\ell ∣ F ∩ [ ℓ ] ∣ ≤ η ℓ , while Lemma 2.2 guarantees only a trivial bound of ℓ \ell ℓ . A slight modification of the proof of Lemma 2.2 allows us to get the desired set F ⊆ M F\subseteq M F ⊆ M , provided that the given collection of profiles Π I \Pi_I Π I satisfies a stronger prefix load condition.
Corollary 2.2 (Refinement of Lemma 2.2). Let I ⊆ N I\subseteq\mathbb{N} I ⊆ N , let π i \pi_i π i be some demand profile of agent i ∈ I i\in I i ∈ I , and let Π I : = { π i } i ∈ I \Pi_I:=\{\pi_i\}_{i\in I} Π I := { π i } i ∈ I . Let η ∈ ( 0 , 1 ] \eta\in(0,1] η ∈ ( 0 , 1 ] , and suppose that for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m it holds
P ( Π I , ℓ ) ≤ η ℓ . \mathcal{P}(\Pi_I,\ell)\le\eta\ell. P ( Π I , ℓ ) ≤ η ℓ . Then, all profiles of Π I \Pi_I Π I can be simultaneously satisfied using distinct items of F ⊆ M F\subseteq M F ⊆ M such that
∣ F ∩ [ ℓ ] ∣ ≤ η ℓ , ∀ 0 ≤ ℓ ≤ m . |F\cap[\ell]|\le\eta\ell,\qquad\forall0\le\ell\le m. ∣ F ∩ [ ℓ ] ∣ ≤ η ℓ , ∀0 ≤ ℓ ≤ m . Proof. List all demands α ∈ Π I \alpha\in\Pi_I α ∈ Π I as pairs ( i , α ) (i,\alpha) ( i , α ) where α ∈ π i \alpha\in\pi_i α ∈ π i , including repetitions, and sort them according to breakpoint values m i ( α ) m_i(\alpha) m i ( α ) . We obtain a sorted list of K = ∑ i ∈ I ∣ π i ∣ = P ( Π I , m ) K=\sum_{i\in I}|\pi_i|=\mathcal{P}(\Pi_I,m) K = ∑ i ∈ I ∣ π i ∣ = P ( Π I , m ) pairs
( i 1 , α 1 ) , … , ( i K , α K ) , 1 ≤ m i 1 ( α 1 ) ≤ ⋯ ≤ m i K ( α K ) ≤ m . (i_1,\alpha_1),\ldots,(i_K,\alpha_K),\qquad1\le m_{i_1}(\alpha_1)\le\cdots\le m_{i_K}(\alpha_K)\le m. ( i 1 , α 1 ) , … , ( i K , α K ) , 1 ≤ m i 1 ( α 1 ) ≤ ⋯ ≤ m i K ( α K ) ≤ m . Denote m k : = m i k ( α k ) m_k:=m_{i_k}(\alpha_k) m k := m i k ( α k ) , m 1 ≤ ⋯ ≤ m K m_1\le\cdots\le m_K m 1 ≤ ⋯ ≤ m K . Following the proof of Lemma 2.2, we have for every k ∈ [ K ] k\in[K] k ∈ [ K ] that k ≤ P ( Π I , m k ) ≤ η m k k\le\mathcal{P}(\Pi_I,m_k)\le\eta m_k k ≤ P ( Π I , m k ) ≤ η m k . Take this m k = m i k ( α k ) m_k=m_{i_k}(\alpha_k) m k = m i k ( α k ) , and allocate item f k : = ⌈ k / η ⌉ f_k:=\lceil k/\eta\rceil f k := ⌈ k / η ⌉ to agent i k i_k i k . Note that 1 ≤ f k ≤ m k ≤ m 1\le f_k\le m_k\le m 1 ≤ f k ≤ m k ≤ m , so f k ∈ M f_k\in M f k ∈ M and satisfies α k \alpha_k α k . Since η ≤ 1 \eta\le1 η ≤ 1 , f k + 1 ≥ f k + 1 f_{k+1}\ge f_k+1 f k + 1 ≥ f k + 1 , hence such allocation will use distinct items for every demand.
Let F = { f k } k ∈ [ K ] F=\{f_k\}_{k\in[K]} F = { f k } k ∈ [ K ] be the set of allocated items. We immediately obtain for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m :
∣ F ∩ [ ℓ ] ∣ = ∣ { k ∈ [ K ] : ⌈ k / η ⌉ ≤ ℓ } ∣ = ∣ { k ∈ [ K ] : k ≤ η ℓ } ∣ = min { K , ⌊ η ℓ ⌋ } ≤ η ℓ . |F\cap[\ell]|=|\{k\in[K]:\lceil k/\eta\rceil\le\ell\}|=|\{k\in[K]:k\le\eta\ell\}|=\min\{K,\lfloor\eta\ell\rfloor\}\le\eta\ell. ∣ F ∩ [ ℓ ] ∣ = ∣ { k ∈ [ K ] : ⌈ k / η ⌉ ≤ ℓ } ∣ = ∣ { k ∈ [ K ] : k ≤ η ℓ } ∣ = min { K , ⌊ η ℓ ⌋} ≤ η ℓ . □ \square □
Head and tail profiles So, to find a set F ⊆ M F\subseteq M F ⊆ M with bounded prefix loads, it suffices to find a collection Π I \Pi_I Π I of demand profiles of some agents I ⊆ N I\subseteq\mathbb{N} I ⊆ N with bounded prefix loads. A natural starting point would be the profiles of i ∈ N i\in\mathbb{N} i ∈ N induced by its MMS bundles B i = { B i , 1 , … , B i , d } \mathcal{B}_i=\{B_{i,1},\ldots,B_{i,d}\} B i = { B i , 1 , … , B i , d } . That is, some π i , j = { v i ( e ) : e ∈ B i , j and v i ( e ) > 0 } \pi_{i,j}=\{v_i(e):e\in B_{i,j}\text{ and }v_i(e)>0\} π i , j = { v i ( e ) : e ∈ B i , j and v i ( e ) > 0 } . The issue here is that the total number of demands in π i , j \pi_{i,j} π i , j can be as large as m m m . For this reason, we will split each profile π \pi π into two: a head profile with bounded number of demands, and a tail profile .
Head and tail profiles
As per Corollary 2.2, we would like to find a set I ⊆ N I \subseteq N I ⊆ N of agents and assign to them some value-1 profiles with bounded total prefix load. If ∣ I ∣ |I| ∣ I ∣ is sufficiently large, Corollary 2.1 guarantees that unassigned agents will be able to receive a bundle of value at least 1.
Instead of finding a collection of full profiles of value 1 for some subset I I I of agents, at once, we will split the task and separately find a collection Π I \Pi_I Π I of head profiles π i ∈ Π I \pi_i \in\Pi_I π i ∈ Π I and a collection Ψ I \Psi_I Ψ I of tail profiles ψ i ∈ Ψ I \psi_i \in\Psi_I ψ i ∈ Ψ I . Agent i ∈ I i \in I i ∈ I in this case receives a full profile { π i , ψ i } \{\pi_i,\psi_i\} { π i , ψ i } .
Definition 2.6. For h ∈ [ m ] h \in[m] h ∈ [ m ] , we call { 1 , … , h } \{1,\ldots,h\} { 1 , … , h } head items , and { h + 1 , … , m } \{h+1,\ldots,m\} { h + 1 , … , m } tail items . For agent i ∈ N i \in N i ∈ N , the tail value of i i i is
T i = ∑ e > h v i ( e ) . T_i = \sum_{e>h} v_i(e). T i = e > h ∑ v i ( e ) .
Definition 2.7. For an agent i ∈ N i \in N i ∈ N , we call a demand profile π \pi π a head profile for i i i , if every α ∈ π \alpha\in\pi α ∈ π satisfies α = v i ( e ) \alpha= v_i(e) α = v i ( e ) for some head item e ≤ h e \le h e ≤ h . Similarly, we call a demand profile ψ \psi ψ a tail profile for i i i , if every β ∈ ψ \beta\in\psi β ∈ ψ satisfies β = v i ( e ) \beta= v_i(e) β = v i ( e ) for some tail item e > h e > h e > h .
We will also need two additional conventions.
Definition 2.8. An empty profile is ∅ \varnothing ∅ . If agent i ∈ N i \in N i ∈ N is assigned an empty head profile π = ∅ \pi= \varnothing π = ∅ or an empty tail profile ψ = ∅ \psi= \varnothing ψ = ∅ , it means that he may receive no items from head or tail. It always holds P i ( ∅ , ℓ ) = 0 \mathcal{P}_i(\varnothing,\ell) = 0 P i ( ∅ , ℓ ) = 0 for all 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m .
We allow an agent i ∈ N i \in N i ∈ N to be one of I I I assigned ones, but get an empty profile π i = ∅ \pi_i = \varnothing π i = ∅ or an empty tail profile ψ i = ∅ \psi_i = \varnothing ψ i = ∅ .
We will also define a “no-profile” ⊥ \bot ⊥ , which corresponds to an option of not choosing i ∈ N i \in N i ∈ N into the final set of agents I I I .
Definition 2.9. A no-profile is ⊥ \bot ⊥ . If agent i ∈ N i \in N i ∈ N is assigned ⊥ \bot ⊥ , it means that we do not select this agent, and he receives no items at all. It always holds P i ( ⊥ , ℓ ) = 0 \mathcal{P}_i(\bot,\ell) = 0 P i ( ⊥ , ℓ ) = 0 for all 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m .
Our approach is to first find a sufficiently large set I ⊆ N I \subseteq N I ⊆ N of agents and assign to them only head profiles Π I = { π i } i ∈ I \Pi_I = \{\pi_i\}_{i\in I} Π I = { π i } i ∈ I , that use only items of [ h ] [h] [ h ] . All the other N − I N-I N − I agents will get ⊥ \bot ⊥ , and will get a bundle from Corollary 2.1 later. After each i ∈ I i \in I i ∈ I gets a head profile π i \pi_i π i , we will find a corresponding tail profile ψ i \psi_i ψ i so that v ( π i ) + v ( ψ i ) ≥ 1 v(\pi_i) + v(\psi_i) \ge1 v ( π i ) + v ( ψ i ) ≥ 1 . Corollary 2.2 then guarantees that i i i will get a bundle of value at least 1.
Since profiles Π I \Pi_I Π I are not using all items of M M M , many profiles π i ∈ Π I \pi_i \in\Pi_I π i ∈ Π I may have v ( π i ) < 1 v(\pi_i) < 1 v ( π i ) < 1 . We introduce a notion of profile deficit, to measure much value i ∈ I i \in I i ∈ I misses from π i \pi_i π i .
Definition 2.10. For a head profile π ≠ ⊥ \pi\ne\bot π = ⊥ , its deficit is
Δ ( π ) : = ( 1 − v ( π ) ) + . \Delta(\pi) := (1-v(\pi))_+. Δ ( π ) := ( 1 − v ( π ) ) + . Here ( ⋅ ) + : = max { 0 , ⋅ } (\cdot)_+ := \max\{0,\cdot\} ( ⋅ ) + := max { 0 , ⋅ } .
Suppose that agent i ∈ N i \in N i ∈ N gets assigned a head profile π i ≠ ⊥ \pi_i \ne\bot π i = ⊥ . If Δ ( π i ) > 0 \Delta(\pi_i) > 0 Δ ( π i ) > 0 , then satisfying π i \pi_i π i with a subset of head items [ h ] [h] [ h ] does not guarantee that i i i gets a bundle of value 1. So, we will need to use some items from the tail { h + 1 , … , m } \{h+1,\ldots,m\} { h + 1 , … , m } to compensate for the missing value.
We do so using an approach inspired by faithful rounding method, which also appeared in [5 , 12 ] . Suppose that, in addition to head items satisfying π i \pi_i π i , agent i i i could take the same Δ ( π i ) T i \frac{\Delta(\pi_i)}{T_i} T i Δ ( π i ) -fraction from every tail item e > h e > h e > h . Then, i i i is guaranteed to receive a value at least
v ( π i ) + Δ ( π i ) T i ∑ e > h v i ( e ) = v ( π i ) + Δ ( π i ) ≥ 1. v(\pi_i) + \frac{\Delta(\pi_i)}{T_i}\sum_{e>h}v_i(e) = v(\pi_i) + \Delta(\pi_i) \ge1. v ( π i ) + T i Δ ( π i ) e > h ∑ v i ( e ) = v ( π i ) + Δ ( π i ) ≥ 1.
In essence, value Δ ( π i ) T i \frac{\Delta(\pi_i)}{T_i} T i Δ ( π i ) defines a “fractional allocation” of the tail items to agent i i i . While it is known how to round a fractional allocation by sacrificing at most one item, we would like to give each agent total value 1 exactly, so giving up items is not an option here. We will provide sufficient conditions on the prefix load of head profiles π i \pi_i π i that allows “rounding” this fractional allocation without any loss.
Definition 2.11. For agent i ∈ N i \in N i ∈ N and head profile π \pi π , let
τ i ( π ) : = { Δ ( π ) T i , π ≠ ⊥ and T i > 0 ; 0 , otherwise. \tau_i(\pi) :=
\begin{cases}
\frac{\Delta(\pi)}{T_i}, & \pi\ne\perp\text{ and } T_i > 0;\\
0, & \text{otherwise.}
\end{cases} τ i ( π ) := { T i Δ ( π ) , 0 , π = ⊥ and T i > 0 ; otherwise.
Consider some prefix ℓ > h \ell> h ℓ > h , where we potentially may use tail items. Taking the same τ i ( π i ) \tau_i(\pi_i) τ i ( π i ) -fraction from every tail item e > h e > h e > h can be viewed as generating only a τ i ( π i ) \tau_i(\pi_i) τ i ( π i ) -fraction of a demand per item taken. So, for a prefix ℓ > h \ell> h ℓ > h , the total additional load agent i i i generated via this process, i.e. the amount of added demands, is “essentially” τ i ( π i ) ( ℓ − h ) \tau_i(\pi_i)(\ell-h) τ i ( π i ) ( ℓ − h ) . This gives an idea on how much slackness the head profiles will need to allow completing the tail profiles.
Lemma 2.3 (Tail completion). Let I ⊆ N I \subseteq N I ⊆ N , let π i \pi_i π i be a head profile assigned to agent i ∈ I i \in I i ∈ I , and let Π I = { π i } i ∈ I \Pi_I = \{\pi_i\}_{i\in I} Π I = { π i } i ∈ I . Assume that T i = 0 T_i = 0 T i = 0 implies Δ ( π i ) = 0 \Delta(\pi_i) = 0 Δ ( π i ) = 0 for every i ∈ I i \in I i ∈ I . For η ∈ ( 0 , 1 ] \eta\in(0,1] η ∈ ( 0 , 1 ] , suppose that for every 0 ≤ ℓ ≤ h 0 \leq\ell\leq h 0 ≤ ℓ ≤ h we have P ( Π I , ℓ ) ≤ η ℓ \mathcal{P}(\Pi_I,\ell) \leq\eta\ell P ( Π I , ℓ ) ≤ η ℓ , and for every h + 1 ≤ ℓ ≤ m h+1 \leq\ell\leq m h + 1 ≤ ℓ ≤ m we have
P ( Π I , ℓ ) ≤ η ℓ − ( ℓ − h ) ∑ i ∈ I τ i ( π i ) − ∣ I ∣ . \mathcal{P}(\Pi_I,\ell) \leq\eta\ell- (\ell-h)\sum_{i\in I}\tau_i(\pi_i) - |I|. P ( Π I , ℓ ) ≤ η ℓ − ( ℓ − h ) i ∈ I ∑ τ i ( π i ) − ∣ I ∣. There exists a collection Ψ I : = { ψ i } i ∈ I \Psi_I := \{\psi_i\}_{i\in I} Ψ I := { ψ i } i ∈ I of tail profiles, where agent i i i is assigned ψ i \psi_i ψ i , such that
∀ 0 ≤ ℓ ≤ m : P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ η ℓ , \forall0 \leq\ell\leq m:\quad\mathcal{P}(\Pi_I,\ell) + \mathcal{P}(\Psi_I,\ell) \leq\eta\ell, ∀0 ≤ ℓ ≤ m : P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ η ℓ , and for every i ∈ I i \in I i ∈ I it holds $v(\pi_i) + v(\psi_i) \geq 1.
Proof. Consider i ∈ I i \in I i ∈ I , and denote τ i : = τ i ( π i ) \tau_i := \tau_i(\pi_i) τ i := τ i ( π i ) . Construct the tail profile ψ i \psi_i ψ i as follows. We break the tail { h + 1 , … , m } \{h+1,\ldots,m\} { h + 1 , … , m } into segments of length roughly 1 / τ i 1/\tau_i 1/ τ i , and in each segment add the value of the first item to ψ i \psi_i ψ i . That is, for every t = 1 , … , ⌈ τ i ⋅ ( m − h ) ⌉ t = 1,\ldots,\lceil\tau_i\cdot(m-h)\rceil t = 1 , … , ⌈ τ i ⋅ ( m − h )⌉ add v i ( e i , t ) v_i(e_{i,t}) v i ( e i , t ) to ψ i \psi_i ψ i , where
e i , t = h + 1 + ⌊ t − 1 τ i ⌋ . e_{i,t}=h+1+\left\lfloor\frac{t-1}{\tau_i}\right\rfloor. e i , t = h + 1 + ⌊ τ i t − 1 ⌋ .
The intuition behind this construction is straightforward: after taking the first item of every segment of length 1 / τ i 1/\tau_i 1/ τ i , the total value of selected items is at least as large as if we took a τ i \tau_i τ i -fraction of every tail item. If τ i = 0 \tau_i = 0 τ i = 0 , then we simply put ψ i = ∅ \psi_i = \varnothing ψ i = ∅ .
We can describe this construction equivalently as follows. For 1 ≤ k ≤ m − h 1 \leq k \leq m-h 1 ≤ k ≤ m − h , let β i , k : = v i ( h + k ) \beta_{i,k}:=v_i(h+k) β i , k := v i ( h + k ) , i.e the value of k k k -th tail item for agent i i i . Then, for every k ∈ [ m − h ] k \in[m-h] k ∈ [ m − h ] , we add exactly
⌈ τ i ⋅ k ⌉ − ⌈ τ i ⋅ ( k − 1 ) ⌉ \lceil\tau_i\cdot k\rceil-\lceil\tau_i\cdot(k-1)\rceil ⌈ τ i ⋅ k ⌉ − ⌈ τ i ⋅ ( k − 1 )⌉
copies of β i , k \beta_{i,k} β i , k to the profile ψ i \psi_i ψ i . To see this, observe that
e i , t ≤ h + k ⟺ ⌊ t − 1 τ i ⌋ ≤ k − 1 ⟺ t − 1 < τ i ⋅ k ⟺ t ≤ ⌈ τ i ⋅ k ⌉ . e_{i,t}\leq h+k \Longleftrightarrow\left\lfloor\frac{t-1}{\tau_i}\right\rfloor\leq k-1 \Longleftrightarrow t-1<\tau_i\cdot k \Longleftrightarrow t\leq\lceil\tau_i\cdot k\rceil. e i , t ≤ h + k ⟺ ⌊ τ i t − 1 ⌋ ≤ k − 1 ⟺ t − 1 < τ i ⋅ k ⟺ t ≤ ⌈ τ i ⋅ k ⌉ .
So, the first k k k tail items contain exactly ⌈ τ i ⋅ k ⌉ \lceil\tau_i\cdot k\rceil ⌈ τ i ⋅ k ⌉ selected items from ψ i \psi_i ψ i , and the number of copies of tail item k k k is exactly ⌈ τ i ⋅ k ⌉ − ⌈ τ i ⋅ ( k − 1 ) ⌉ \lceil\tau_i\cdot k\rceil-\lceil\tau_i\cdot(k-1)\rceil ⌈ τ i ⋅ k ⌉ − ⌈ τ i ⋅ ( k − 1 )⌉ . Note that both constructions allow τ i > 1 \tau_i>1 τ i > 1 , in which case agent i i i adds to ψ i \psi_i ψ i multiple copies of the same demand. In our actual applications of this lemma, however, we will have τ i ≤ 1 \tau_i\leq1 τ i ≤ 1 , so each item will add at most one demand copy to ψ i \psi_i ψ i .
It is easy to see that such choice of ψ i \psi_i ψ i covers the entire deficit of agent i i i :
v ( ψ i ) = ∑ k = 1 m − h β i , k ⋅ ( ⌈ τ i ⋅ k ⌉ − ⌈ τ i ⋅ ( k − 1 ) ⌉ ) = ∑ k = 1 m − h ⌈ τ i ⋅ k ⌉ ⋅ ( β i , k − β i , k + 1 ) ≥ τ i ∑ k = 1 m − h k ⋅ ( β i , k − β i , k + 1 ) = τ i ∑ k = 1 m − h β i , k = τ i T i = Δ ( π i ) . \begin{aligned}
v(\psi_i) = \sum_{k=1}^{m-h} \beta_{i,k} \cdot\left(\lceil\tau_i \cdot k \rceil- \lceil\tau_i \cdot(k-1) \rceil\right) = \sum_{k=1}^{m-h} \lceil\tau_i \cdot k \rceil\cdot\left(\beta_{i,k} - \beta_{i,k+1}\right) \\
&\ge\tau_i \sum_{k=1}^{m-h} k \cdot\left(\beta_{i,k} - \beta_{i,k+1}\right) = \tau_i \sum_{k=1}^{m-h} \beta_{i,k} = \tau_i T_i = \Delta(\pi_i).
\end{aligned} v ( ψ i ) = k = 1 ∑ m − h β i , k ⋅ ( ⌈ τ i ⋅ k ⌉ − ⌈ τ i ⋅ ( k − 1 )⌉ ) = k = 1 ∑ m − h ⌈ τ i ⋅ k ⌉ ⋅ ( β i , k − β i , k + 1 ) ≥ τ i k = 1 ∑ m − h k ⋅ ( β i , k − β i , k + 1 ) = τ i k = 1 ∑ m − h β i , k = τ i T i = Δ ( π i ) .
Since Δ ( π i ) = ( 1 − v ( π i ) ) + \Delta(\pi_i) = (1-v(\pi_i))_+ Δ ( π i ) = ( 1 − v ( π i ) ) + , it immediately follows that v ( π i ) + ψ ( π i ) ≥ 1 v(\pi_i) + \psi(\pi_i) \ge1 v ( π i ) + ψ ( π i ) ≥ 1 .
It remains to bound the additional prefix load generated by Ψ I = { ψ i } i ∈ I \Psi_I = \{\psi_i\}_{i\in I} Ψ I = { ψ i } i ∈ I . Note that for every i ∈ I i \in I i ∈ I , the breakpoint of β i , k ∈ ψ i \beta_{i,k} \in\psi_i β i , k ∈ ψ i is at least h + k h+k h + k . Hence, for every 0 ≤ ℓ ≤ h 0 \le\ell\le h 0 ≤ ℓ ≤ h we have
P i ( ψ i , ℓ ) = ∑ β ∈ ψ i 1 { m i ( β ) ≤ ℓ } = 0. \mathcal{P}_i(\psi_i,\ell) = \sum_{\beta\in\psi_i} \mathbf{1}\{m_i(\beta) \le\ell\} = 0. P i ( ψ i , ℓ ) = β ∈ ψ i ∑ 1 { m i ( β ) ≤ ℓ } = 0.
for every i ∈ I i \in I i ∈ I , and thus P ( Ψ I , ℓ ) = 0 \mathcal{P}(\Psi_I,\ell) = 0 P ( Ψ I , ℓ ) = 0 . For ℓ > h \ell> h ℓ > h , as mentioned earlier the number of selected items from ψ i \psi_i ψ i within the first k = ℓ − h k=\ell-h k = ℓ − h tail items is exactly ⌈ τ i ⋅ ( ℓ − h ) ⌉ ≤ τ i ⋅ ( ℓ − h ) + 1 \lceil\tau_i\cdot(\ell-h)\rceil\le\tau_i\cdot(\ell-h)+1 ⌈ τ i ⋅ ( ℓ − h )⌉ ≤ τ i ⋅ ( ℓ − h ) + 1 . So, the additional load generated by tail profiles Ψ I \Psi_I Ψ I at prefix ℓ > h \ell> h ℓ > h is at most
P ( Ψ I , ℓ ) ≤ ∑ i ∈ I ( τ i ⋅ ( ℓ − h ) + 1 ) = ( ℓ − h ) ∑ i ∈ I τ i + ∣ I ∣ . \mathcal{P}(\Psi_I,\ell) \le\sum_{i\in I}(\tau_i\cdot(\ell-h)+1) = (\ell-h)\sum_{i\in I}\tau_i + |I|. P ( Ψ I , ℓ ) ≤ i ∈ I ∑ ( τ i ⋅ ( ℓ − h ) + 1 ) = ( ℓ − h ) i ∈ I ∑ τ i + ∣ I ∣.
The lemma follows.
Thus, in order to get a set I ⊆ N I \subseteq N I ⊆ N of agents with a collection of full profiles satisfying Corollary 2.2, it suffices to find I ⊆ N I \subseteq N I ⊆ N and a collection of only head profiles Π I = { π i } i ∈ I \Pi_I=\{\pi_i\}_{i\in I} Π I = { π i } i ∈ I satisfying Lemma 2.3. We explain how to choose a sufficiently large set I ⊆ N I \subseteq N I ⊆ N (of size roughly n − O ( log 2 n ) n-O(\log^2 n) n − O ( log 2 n ) ) and corresponding profiles Π I \Pi_I Π I with these properties in the following subsection.
Fractional head profiles
We will first define a collection of head profiles that agents i ∈ N i \in N i ∈ N will choose from.
Definition 2.12. For every agent i ∈ N i \in N i ∈ N , let B i = { B i , 1 , … , B i , d } \mathcal{B}_i=\{B_{i,1},\ldots,B_{i,d}\} B i = { B i , 1 , … , B i , d } denote the d d d -partition of M M M witnessing MMS ( M , v i , d ) \operatorname{MMS}(M,v_i,d) MMS ( M , v i , d ) , for every B i , j ∈ B i B_{i,j}\in\mathcal{B}_i B i , j ∈ B i it holds v i ( B i , j ) = 1 v_i(B_{i,j})=1 v i ( B i , j ) = 1 . For every j ∈ [ d ] j\in[d] j ∈ [ d ] , define
π i , j : = { v i ( e ) : e ∈ B i , j ∩ [ h ] , v i ( e ) > 0 } . \pi_{i,j}:=\{v_i(e):e\in B_{i,j}\cap[h],v_i(e)>0\}. π i , j := { v i ( e ) : e ∈ B i , j ∩ [ h ] , v i ( e ) > 0 } .
Let Π : = { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ] } \Pi:=\{\varnothing,\bot\}+\bigcup_{i\in N}\{\pi_{i,j}:j\in[d]\} Π := { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ]} .
Instead of considering these profiles directly, for every agent i ∈ N i \in N i ∈ N we will define a distribution over profiles Π \Pi Π . We will refer to these distributions as fractional profiles . Our goal then will be first to define a collection of fractional profiles that satisfy the prefix load condition of Lemma 2.3, and then round it to an integral collection while preserving every prefix constraint.
Definition 2.13. Let Π \Pi Π be a collection of head profiles , containing ∅ \varnothing ∅ and ⊥ \bot ⊥ . A fractional head profile of agent i ∈ N i \in N i ∈ N is a pair ( x i , Π ) (x_i,\Pi) ( x i , Π ) , where x i ( π ) ≥ 0 x_i(\pi)\ge0 x i ( π ) ≥ 0 for every π ∈ Π \pi\in\Pi π ∈ Π and ∑ π ∈ Π x i ( π ) = 1 \sum_{\pi\in\Pi}x_i(\pi)=1 ∑ π ∈ Π x i ( π ) = 1 .
We naturally extend the definition of (head) prefix load to fractional profiles.
Definition 2.14. For agent i ∈ N i \in N i ∈ N with fractional head profile ( x i , Π ) (x_i,\Pi) ( x i , Π ) , his fractional ℓ \ell ℓ -prefix head load of Π \Pi Π for 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m is
H i ( x i , Π , ℓ ) : = ∑ π ∈ Π x i ( π ) ⋅ P i ( π , ℓ ) . \mathcal{H}_i(x_i,\Pi,\ell):=\sum_{\pi\in\Pi}x_i(\pi)\cdot\mathcal{P}_i(\pi,\ell). H i ( x i , Π , ℓ ) := π ∈ Π ∑ x i ( π ) ⋅ P i ( π , ℓ ) .
Assume that every agent i ∈ N i \in N i ∈ N has fractional head profile ( x i , Π ) (x_i,\Pi) ( x i , Π ) for the shared set of profiles Π \Pi Π , and let x = { x i } i ∈ N x=\{x_i\}_{i\in N} x = { x i } i ∈ N . For 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m , the total fractional ℓ \ell ℓ -prefix head load of Π \Pi Π for x x x is
H ( x , Π , ℓ ) : = ∑ i ∈ N H i ( x i , Π , ℓ ) = ∑ i ∈ N ∑ π ∈ Π x i ( π ) ⋅ P i ( π , ℓ ) . \mathcal{H}(x,\Pi,\ell):=\sum_{i\in N}\mathcal{H}_i(x_i,\Pi,\ell)=\sum_{i\in N}\sum_{\pi\in\Pi}x_i(\pi)\cdot\mathcal{P}_i(\pi,\ell). H ( x , Π , ℓ ) := i ∈ N ∑ H i ( x i , Π , ℓ ) = i ∈ N ∑ π ∈ Π ∑ x i ( π ) ⋅ P i ( π , ℓ ) .
In addition to the fractional head load, we will also consider the fractional tail load . As all agents share a common tail { h + 1 , … , m } \{h+1,\ldots,m\} { h + 1 , … , m } , instead of defining the fractional tail load for every prefix ℓ \ell ℓ , we omit the multiplier ( ℓ − h ) (\ell-h) ( ℓ − h ) from the definition and consider one common term.
Definition 2.15. For agent i ∈ N i \in N i ∈ N with fractional head profile ( x i , Π ) (x_i,\Pi) ( x i , Π ) , his fractional tail load of Π \Pi Π is
τ i ( x i , Π ) : = ∑ π ∈ Π x i ( π ) ⋅ τ i ( π ) . \tau_i(x_i,\Pi) := \sum_{\pi\in\Pi} x_i(\pi)\cdot\tau_i(\pi). τ i ( x i , Π ) := π ∈ Π ∑ x i ( π ) ⋅ τ i ( π ) .
Assume that every agent i ∈ N i \in N i ∈ N has fractional head profile ( x i , Π ) (x_i,\Pi) ( x i , Π ) for the shared set of profiles Π \Pi Π , and let x = { x i } i ∈ N x=\{x_i\}_{i\in N} x = { x i } i ∈ N . The total fractional tail load of Π \Pi Π for x x x is
τ ( x , Π ) : = ∑ i ∈ N τ i ( x i , Π ) = ∑ i ∈ N ∑ π ∈ Π x i ( π ) ⋅ τ i ( π ) . \tau(x,\Pi):=\sum_{i\in N}\tau_i(x_i,\Pi)=\sum_{i\in N}\sum_{\pi\in\Pi}x_i(\pi)\cdot\tau_i(\pi). τ ( x , Π ) := i ∈ N ∑ τ i ( x i , Π ) = i ∈ N ∑ π ∈ Π ∑ x i ( π ) ⋅ τ i ( π ) .
Finally, we will be interested in the expected number of agents i ∈ N i\in N i ∈ N that are assigned a non-⊥ \perp ⊥ profile according with respect to fractional profiles ( x i , Π ) (x_i,\Pi) ( x i , Π ) .
Definition 2.16. Assume that every agent i ∈ N i\in N i ∈ N has fractional head profile ( x i , Π ) (x_i,\Pi) ( x i , Π ) for the shared set of profiles Π \Pi Π , and let x = { x i } i ∈ N x=\{x_i\}_{i\in N} x = { x i } i ∈ N . The fractional number of assigned profiles with respect to ( x , Π ) (x,\Pi) ( x , Π ) is
I ( x , Π ) : = ∑ i ∈ N ∑ π ≠ ⊥ x i ( π ) . I(x,\Pi):=\sum_{i\in N}\sum_{\pi\ne\perp}x_i(\pi). I ( x , Π ) := i ∈ N ∑ π = ⊥ ∑ x i ( π ) .
For every agent i ∈ N i\in N i ∈ N , our starting fractional head profile ( x i , Π ) (x_i,\Pi) ( x i , Π ) will simply be a uniform distribution over agent i i i ’s MMS profiles.
Definition 2.17. Let Π : = { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ] } \Pi:=\{\varnothing,\perp\}+\bigcup_{i\in N}\{\pi_{i,j}:j\in[d]\} Π := { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ]} . For every agent i ∈ N i\in N i ∈ N , consider the following fractional head profile ( x i ∗ , Π ) (x_i^*,\Pi) ( x i ∗ , Π ) : for every π ∈ Π \pi\in\Pi π ∈ Π let
x i ∗ ( π ) = ∣ { j ∈ [ d ] : π i , j = π } ∣ d . x_i^*(\pi)=\frac{|\{j\in[d]:\pi_{i,j}=\pi\}|}{d}. x i ∗ ( π ) = d ∣ { j ∈ [ d ] : π i , j = π } ∣ .
We will refer to ( x i ∗ , Π ) (x_i^*,\Pi) ( x i ∗ , Π ) as a fractional MMS head profile of agent i i i .
We will now show that the MMS profiles π i , j \pi_{i,j} π i , j of agents i ∈ N i\in N i ∈ N satisfy the conditions of Lemma 2.3 fractionally with respect to profiles ( x i ∗ , Π ) (x_i^*,\Pi) ( x i ∗ , Π ) .
Lemma 2.4. Consider the fractional MMS head profiles ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) of agents i ∈ N i\in N i ∈ N . It holds that
∀ 0 ≤ ℓ ≤ m : H ( x ∗ , Π , ℓ ) ≤ n d min { ℓ , h } ; τ ( x ∗ , Π ) ≤ n d , I ( x ∗ , Π ) = n . \forall0\le\ell\le m:\ \mathcal{H}(x^*,\Pi,\ell)\le\frac{n}{d}\min\{\ell,h\};\qquad\tau(x^*,\Pi)\le\frac{n}{d},\qquad I(x^*,\Pi)=n. ∀0 ≤ ℓ ≤ m : H ( x ∗ , Π , ℓ ) ≤ d n min { ℓ , h } ; τ ( x ∗ , Π ) ≤ d n , I ( x ∗ , Π ) = n . As a corollary, for η = ( n + 1 ) / d \eta=(n+1)/d η = ( n + 1 ) / d and h = min { n d , m } h=\min\{nd,m\} h = min { n d , m } we have for every 0 ≤ ℓ ≤ h 0\le\ell\le h 0 ≤ ℓ ≤ h that H ( x ∗ , Π , ℓ ) ≤ η ℓ \mathcal{H}(x^*,\Pi,\ell)\le\eta\ell H ( x ∗ , Π , ℓ ) ≤ η ℓ , and for every h + 1 ≤ ℓ ≤ m h+1\le\ell\le m h + 1 ≤ ℓ ≤ m that
H ( x ∗ , Π , ℓ ) ≤ η ℓ − ( ℓ − h ) ⋅ τ ( x ∗ , Π ) − I ( x ∗ , Π ) . \mathcal{H}(x^*,\Pi,\ell)\le\eta\ell-(\ell-h)\cdot\tau(x^*,\Pi)-I(x^*,\Pi). H ( x ∗ , Π , ℓ ) ≤ η ℓ − ( ℓ − h ) ⋅ τ ( x ∗ , Π ) − I ( x ∗ , Π ) . Proof. We first observe that for every agent i ∈ N i\in N i ∈ N and every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m it holds that
∑ j = 1 d P i ( π i , j , ℓ ) ≤ min { ℓ , h } . \sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j},\ell)\le\min\{\ell,h\}. j = 1 ∑ d P i ( π i , j , ℓ ) ≤ min { ℓ , h } . By definition P i ( π i , j , ℓ ) \mathcal{P}_i(\pi_{i,j},\ell) P i ( π i , j , ℓ ) counts how many demands in π i , j \pi_{i,j} π i , j can be satisfied only by the first ℓ \ell ℓ items, and the sum above counts the total number of such demands for agent i i i . Note that every demand in π i , j \pi_{i,j} π i , j comes from a unique item of B i , j B_{i,j} B i , j , and MMS allocation B i = { B i , 1 , … , B i , d } B_i=\{B_{i,1},\ldots,B_{i,d}\} B i = { B i , 1 , … , B i , d } cannot use more than ℓ \ell ℓ items in every ℓ \ell ℓ -prefix. Hence, are at most ℓ \ell ℓ such demands across all profiles
{ π i , 1 , … , π i , d } \{\pi_{i,1},\ldots,\pi_{i,d}\} { π i , 1 , … , π i , d } . Since demands in every π i , j \pi_{i,j} π i , j correspond only to head items in [ h ] [h] [ h ] , there cannot be more than h h h total demands for i i i . Combining two bounds gives ∑ j = 1 d P i ( π i , j , ℓ ) ≤ min ( ℓ , h ) \sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j},\ell)\leq\min(\ell,h) ∑ j = 1 d P i ( π i , j , ℓ ) ≤ min ( ℓ , h ) .
It immediately follows that
H ( x ∗ , Π , ℓ ) = 1 d ∑ i ∈ N ∑ j = 1 d P i ( π i , j , ℓ ) ≤ n d min { ℓ , h } . \mathcal{H}(x^*,\Pi,\ell)=\frac{1}{d}\sum_{i\in N}\sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j},\ell)\leq\frac{n}{d}\min\{\ell,h\}. H ( x ∗ , Π , ℓ ) = d 1 i ∈ N ∑ j = 1 ∑ d P i ( π i , j , ℓ ) ≤ d n min { ℓ , h } .
Next, for every i ∈ N i\in N i ∈ N and j ∈ [ d ] j\in[d] j ∈ [ d ] we have
Δ ( π i , j ) = 1 − v ( π i , j ) = v ( B i , j ∩ { h + 1 , … , m } ) , \Delta(\pi_{i,j})=1-v(\pi_{i,j})=v(B_{i,j}\cap\{h+1,\ldots,m\}), Δ ( π i , j ) = 1 − v ( π i , j ) = v ( B i , j ∩ { h + 1 , … , m }) ,
so by additivity it holds ∑ j = 1 d Δ ( π i , j ) = T i \sum_{j=1}^{d}\Delta(\pi_{i,j})=T_i ∑ j = 1 d Δ ( π i , j ) = T i and
τ ( x ∗ , Π ) = 1 d ∑ i ∈ N T i > 0 ∑ j = 1 d Δ ( π i , j ) T i ≤ n d . \tau(x^*,\Pi)=\frac{1}{d}\sum_{\substack{i\in N\\T_i>0}}\sum_{j=1}^{d}\frac{\Delta(\pi_{i,j})}{T_i}\leq\frac{n}{d}. τ ( x ∗ , Π ) = d 1 i ∈ N T i > 0 ∑ j = 1 ∑ d T i Δ ( π i , j ) ≤ d n .
The equality I ( x ∗ , Π ) = n \mathcal{I}(x^*,\Pi)=n I ( x ∗ , Π ) = n follows from ∑ π ≠ ⊥ x i ∗ ( π i , j ) = 1 \sum_{\pi\ne\perp}x_i^*(\pi_{i,j})=1 ∑ π = ⊥ x i ∗ ( π i , j ) = 1 for every i ∈ N i\in N i ∈ N . Now, put η = ( n + 1 ) / d \eta=(n+1)/d η = ( n + 1 ) / d and h = min { n d , m } h=\min\{nd,m\} h = min { n d , m } . If h = m h=m h = m , there is no tail, and H ( x ∗ , Π , ℓ ) ≤ η ℓ \mathcal{H}(x^*,\Pi,\ell)\leq\eta\ell H ( x ∗ , Π , ℓ ) ≤ η ℓ for all 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m is automatic. If h = n d < m h=nd<m h = n d < m , then for every ℓ > h \ell>h ℓ > h it holds n < ℓ / d n<\ell/d n < ℓ / d . For this ℓ \ell ℓ ,
H ( x ∗ , Π , ℓ ) + ( ℓ − h ) ⋅ τ ( x ∗ , Π ) + I ( x ∗ , Π ) ≤ n d ⋅ h + ( ℓ − h ) ⋅ n d + n < n d ⋅ ℓ + ℓ d = n + 1 d ⋅ ℓ = η ℓ . \begin{aligned}
\mathcal{H}(x^*,\Pi,\ell)+(\ell-h)\cdot\tau(x^*,\Pi)+\mathcal{I}(x^*,\Pi)\leq\frac{n}{d}\cdot h+(\ell-h)\cdot\frac{n}{d}+n \\
&<\frac{n}{d}\cdot\ell+\frac{\ell}{d}=\frac{n+1}{d}\cdot\ell=\eta\ell.
\end{aligned} H ( x ∗ , Π , ℓ ) + ( ℓ − h ) ⋅ τ ( x ∗ , Π ) + I ( x ∗ , Π ) ≤ d n ⋅ h + ( ℓ − h ) ⋅ d n + n < d n ⋅ ℓ + d ℓ = d n + 1 ⋅ ℓ = η ℓ .
The lemma follows.
The path forward is now clear: set h = min { n d , m } h=\min\{nd,m\} h = min { n d , m } and round the fractional MMS profiles ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) to some integral collection of profiles Π I = { π i } i ∈ I \Pi_I=\{\pi_i\}_{i\in I} Π I = { π i } i ∈ I for sufficiently large set of agents I ⊆ N I\subseteq N I ⊆ N . Specifically, to prove Theorem 2.1 via Corollary 2.1, we will need ∣ I ∣ ≥ n − O ( log 2 n ) |I|\geq n-O(\log^2 n) ∣ I ∣ ≥ n − O ( log 2 n ) . So, starting from I ( x ∗ , Π ) = n \mathcal{I}(x^*,\Pi)=n I ( x ∗ , Π ) = n , we are allowed to lose at most O ( log 2 n ) O(\log^2 n) O ( log 2 n ) agents in the rounding. Specifically, we establish the following theorem.
Theorem 2.2 (Head rounding). Let Π \Pi Π be a shared set of head profiles, such that ∣ π ∣ ≤ h |\pi|\leq h ∣ π ∣ ≤ h for some integer h ≥ 1 h\geq1 h ≥ 1 . For every i ∈ N i\in N i ∈ N , let ( x i , Π ) (x_i,\Pi) ( x i , Π ) be a fractional profile, denote x = { x i } i ∈ N x=\{x_i\}_{i\in N} x = { x i } i ∈ N . There exists a collection y = { y i } i ∈ N y=\{y_i\}_{i\in N} y = { y i } i ∈ N of integer head profiles ( y i , Π ) (y_i,\Pi) ( y i , Π ) , such that for every i , π i,\pi i , π we have y i ( π ) ∈ { 0 , 1 } y_i(\pi)\in\{0,1\} y i ( π ) ∈ { 0 , 1 } and y i ( π ) = 1 y_i(\pi)=1 y i ( π ) = 1 for π ≠ ⊥ \pi\ne\perp π = ⊥ only if x i ( π ) > 0 x_i(\pi)>0 x i ( π ) > 0 , and
H ( y , Π , ℓ ) ≤ H ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{H}(y,\Pi,\ell)\leq\mathcal{H}(x,\Pi,\ell),\qquad\forall\,0\leq\ell\leq m, H ( y , Π , ℓ ) ≤ H ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , τ ( y , Π ) ≤ τ ( x , Π ) , \tau(y,\Pi)\leq\tau(x,\Pi), τ ( y , Π ) ≤ τ ( x , Π ) , I ( y , Π ) ≤ I ( x , Π ) , \mathcal{I}(y,\Pi)\leq\mathcal{I}(x,\Pi), I ( y , Π ) ≤ I ( x , Π ) , I ( y , Π ) ≥ I ( x , Π ) − ρ ( h , X ) , \mathcal{I}(y,\Pi)\geq\mathcal{I}(x,\Pi)-\rho(h,X), I ( y , Π ) ≥ I ( x , Π ) − ρ ( h , X ) , where X = ∣ { ( i , π ) : 0 < x i ( π ) < 1 } ∣ X=|\{(i,\pi):0<x_i(\pi)<1\}| X = ∣ {( i , π ) : 0 < x i ( π ) < 1 } ∣ and
ρ ( h , X ) : = 8 + 4 log max { 1 , X } ⋅ ( 1 + ln h + ln max { 1 , X } ) . \rho(h,X):=8+4\log\max\{1,X\}\cdot(1+\ln h+\ln\max\{1,X\}). ρ ( h , X ) := 8 + 4 log max { 1 , X } ⋅ ( 1 + ln h + ln max { 1 , X }) .
We prove Theorem 2.2 in Appendix § 9 (Theorem A.1 ), and use it to prove Theorem 2.1.
Proof of Theorem 2.1. Take h = min { n d , m } h=\min\{nd,m\} h = min { n d , m } and construct MMS head profiles π i , j \pi_{i,j} π i , j for every i ∈ N i\in N i ∈ N , j ∈ [ d ] j\in[d] j ∈ [ d ] , and let Π : = { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ] } \Pi:=\{\varnothing,\perp\}+\bigcup_{i\in N}\{\pi_{i,j}:j\in[d]\} Π := { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ]} . Consider the fractional MMS head profiles ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) . By definition of π i , j \pi_{i,j} π i , j , we automatically have for every π ∈ Π \pi\in\Pi π ∈ Π that ∣ π ∣ ≤ h |\pi|\leq h ∣ π ∣ ≤ h .
( 1 − ) (1 - ) ( 1 − ) -MMS allocation for ( 1 − ) n (1 - )n ( 1 − ) n agents
Note that the total number of strictly fractional entries in x ∗ x^* x ∗ is at most X ∗ ≤ n d X^* \le nd X ∗ ≤ n d . Apply Theorem 2.2 to ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) . By Lemma 2.4, obtain integral head profiles ( y , Π ) (y,\Pi) ( y , Π ) such that
H ( y , Π , ℓ ) ≤ H ( x ∗ , Π , ℓ ) ≤ n d min { ℓ , h } , ∀ 0 ≤ ℓ ≤ m , \mathcal{H}(y,\Pi,\ell) \le\mathcal{H}(x^*,\Pi,\ell) \le\frac{n}{d}\min\{\ell,h\}, \qquad\forall0 \le\ell\le m, H ( y , Π , ℓ ) ≤ H ( x ∗ , Π , ℓ ) ≤ d n min { ℓ , h } , ∀0 ≤ ℓ ≤ m ,
τ ( y , Π ) ≤ τ ( x ∗ , Π ) ≤ n d \tau(y,\Pi) \le\tau(x^*,\Pi) \le\frac{n}{d} τ ( y , Π ) ≤ τ ( x ∗ , Π ) ≤ d n
I ( y , Π ) ≤ I ( x ∗ , Π ) = n , \mathcal{I}(y,\Pi) \le\mathcal{I}(x^*,\Pi)=n, I ( y , Π ) ≤ I ( x ∗ , Π ) = n ,
I ( y , Π ) ≥ I ( x ∗ , Π ) − ρ ( h , X ∗ ) ≥ n − ρ ( h , n d ) . \mathcal{I}(y,\Pi) \ge\mathcal{I}(x^*,\Pi)-\rho(h,X^*) \ge n-\rho(h,nd). I ( y , Π ) ≥ I ( x ∗ , Π ) − ρ ( h , X ∗ ) ≥ n − ρ ( h , n d ) .
Let I ⊆ N I \subseteq N I ⊆ N be a set of size I ( y , Π ) \mathcal{I}(y,\Pi) I ( y , Π ) , where i ∈ I i \in I i ∈ I if and only if y i ( ⊥ ) = 0 y_i(\bot)=0 y i ( ⊥ ) = 0 . Let π i ∈ Π − ⊥ \pi_i \in\Pi-\bot π i ∈ Π − ⊥ be the profile such that y i ( π i ) = 1 y_i(\pi_i)=1 y i ( π i ) = 1 , and Π I : = { π i } i ∈ I \Pi_I:=\{\pi_i\}_{i\in I} Π I := { π i } i ∈ I . Taking η = ( n + 1 ) / d \eta=(n+1)/d η = ( n + 1 ) / d , we have for every 0 ≤ ℓ ≤ h 0\le\ell\le h 0 ≤ ℓ ≤ h that P ( Π I , ℓ ) = H ( y , Π , ℓ ) ≤ H ( x ∗ , Π , ℓ ) ≤ η ℓ \mathcal{P}(\Pi_I,\ell)=\mathcal{H}(y,\Pi,\ell)\le\mathcal{H}(x^*,\Pi,\ell)\le\eta\ell P ( Π I , ℓ ) = H ( y , Π , ℓ ) ≤ H ( x ∗ , Π , ℓ ) ≤ η ℓ , and for every h + 1 ≤ ℓ ≤ m h+1\le\ell\le m h + 1 ≤ ℓ ≤ m that
P ( Π I , ℓ ) + ( ℓ − h ) ∑ i ∈ I τ i ( π i ) + ∣ I ∣ = H ( y , Π , ℓ ) + ( ℓ − h ) τ ( y , Π ) + I ( y , Π ) ≤ H ( x ∗ , Π , ℓ ) + ( ℓ − h ) ⋅ τ ( x ∗ , Π ) + I ( x ∗ , Π ) ≤ n d ⋅ h + ( ℓ − h ) ⋅ n d + n < n d ⋅ ℓ + ℓ d = n + 1 d ⋅ ℓ = η ℓ . \begin{aligned}
\mathcal{P}(\Pi_I,\ell)+(\ell-h)\sum_{i\in I}\tau_i(\pi_i)+|I|=\mathcal{H}(y,\Pi,\ell)+(\ell-h)\tau(y,\Pi)+\mathcal{I}(y,\Pi) \\
&\le\mathcal{H}(x^*,\Pi,\ell)+(\ell-h)\cdot\tau(x^*,\Pi)+\mathcal{I}(x^*,\Pi)\le\frac{n}{d}\cdot h+(\ell-h)\cdot\frac{n}{d}+n \\
&<\frac{n}{d}\cdot\ell+\frac{\ell}{d}=\frac{n+1}{d}\cdot\ell=\eta\ell.
\end{aligned} P ( Π I , ℓ ) + ( ℓ − h ) i ∈ I ∑ τ i ( π i ) + ∣ I ∣ = H ( y , Π , ℓ ) + ( ℓ − h ) τ ( y , Π ) + I ( y , Π ) ≤ H ( x ∗ , Π , ℓ ) + ( ℓ − h ) ⋅ τ ( x ∗ , Π ) + I ( x ∗ , Π ) ≤ d n ⋅ h + ( ℓ − h ) ⋅ d n + n < d n ⋅ ℓ + d ℓ = d n + 1 ⋅ ℓ = η ℓ .
By construction, for every i ∈ I i\in I i ∈ I we have that T i = 0 T_i=0 T i = 0 implies Δ ( π i ) = 0 \Delta(\pi_i)=0 Δ ( π i ) = 0 , as y i ( π i ) = 1 y_i(\pi_i)=1 y i ( π i ) = 1 implies x i ( π i ) > 0 x_i(\pi_i)>0 x i ( π i ) > 0 , hence π i \pi_i π i must be some MMS profile of agent i i i . Then, we can apply Lemma 2.3 and obtain a collection Ψ I = { ψ i } i ∈ I \Psi_I=\{\psi_i\}_{i\in I} Ψ I = { ψ i } i ∈ I of tail profiles such that for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m we have
P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ η ℓ , \mathcal{P}(\Pi_I,\ell)+\mathcal{P}(\Psi_I,\ell)\le\eta\ell, P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ η ℓ ,
and for every i ∈ I i\in I i ∈ I it holds v ( π i ) + v ( ψ i ) ≥ 1 v(\pi_i)+v(\psi_i)\ge1 v ( π i ) + v ( ψ i ) ≥ 1 . Hence, Corollary 2.2 applied to ( I , Π I , Ψ I ) (I,\Pi_I,\Psi_I) ( I , Π I , Ψ I ) produces some set F ⊆ M F\subseteq M F ⊆ M , such that all profiles { π i , ψ i } i ∈ I \{\pi_i,\psi_i\}_{i\in I} { π i , ψ i } i ∈ I are simultaneously satisfied using distinct items of F F F , and for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m it holds ∣ F ∩ [ ℓ ] ∣ ≤ η ℓ |F\cap[\ell]|\le\eta\ell ∣ F ∩ [ ℓ ] ∣ ≤ η ℓ .
Every agent i ∈ I i\in I i ∈ I receives a disjoint bundle F i ⊆ F F_i\subseteq F F i ⊆ F such that v i ( F i ) ≥ v ( π i ) + v ( ψ i ) ≥ 1 v_i(F_i)\ge v(\pi_i)+v(\psi_i)\ge1 v i ( F i ) ≥ v ( π i ) + v ( ψ i ) ≥ 1 . It remains to allocate the agents in U : = N − I U:=N-I U := N − I . Since ∣ I ∣ = I ( y , Π ) ≥ n − ρ ( h , n d ) |I|=\mathcal{I}(y,\Pi)\ge n-\rho(h,nd) ∣ I ∣ = I ( y , Π ) ≥ n − ρ ( h , n d ) , we have ∣ U ∣ ≤ ρ ( h , n d ) |U|\le\rho(h,nd) ∣ U ∣ ≤ ρ ( h , n d ) . At the same time, Observation 2.1 guarantees us that for every u ∈ U u\in U u ∈ U it holds v u ( F ) ≤ η d = n + 1 v_u(F)\le\eta d=n+1 v u ( F ) ≤ η d = n + 1 . Hence, as long as ∣ U ∣ ≤ ( d − n ) / 2 |U|\le(d-n)/2 ∣ U ∣ ≤ ( d − n ) /2 , Corollary 2.1 allocates agents U U U with items M − F M-F M − F so that every u ∈ U u\in U u ∈ U receives a bundle of value at least 1. Then, to guarantee ∣ U ∣ ≤ ( d − n ) / 2 |U|\le(d-n)/2 ∣ U ∣ ≤ ( d − n ) /2 it suffices to take d d d such that
ρ ( h , n d ) ≤ ( d − n ) / 2 ⟺ d ≥ n + 2 ρ ( h , n d ) . \rho(h,nd)\le(d-n)/2 \Longleftrightarrow d\ge n+2\rho(h,nd). ρ ( h , n d ) ≤ ( d − n ) /2 ⟺ d ≥ n + 2 ρ ( h , n d ) .
We now estimate ρ ( h , n d ) \rho(h,nd) ρ ( h , n d ) . Since h , X ∗ ≤ n d h,X^*\le nd h , X ∗ ≤ n d and d ≤ 2 n − 1 d\le2n-1 d ≤ 2 n − 1 (Lemma 2.1 solves d > 2 n − 1 d>2n-1 d > 2 n − 1 ),
ρ ( h , n d ) = 8 + 4 log ( n d ) ⋅ ( 1 + ln ( n d ) + ln ( n d ) ) \rho(h,nd)=8+4\log(nd)\cdot(1+\ln(nd)+\ln(nd)) ρ ( h , n d ) = 8 + 4 log ( n d ) ⋅ ( 1 + ln ( n d ) + ln ( n d ))
≤ 8 + 4 log ( n d ) + 8 ln 2 log 2 ( n d ) ≤ 8 + 4 log ( 2 n 2 ) + 8 ln 2 log 2 ( 2 n 2 ) . \le8+4\log(nd)+8\ln2\log^2(nd)\le8+4\log(2n^2)+8\ln2\log^2(2n^2). ≤ 8 + 4 log ( n d ) + 8 ln 2 log 2 ( n d ) ≤ 8 + 4 log ( 2 n 2 ) + 8 ln 2 log 2 ( 2 n 2 ) .
Setting z = 1 + log n z=1+\log n z = 1 + log n , the bound above is
ρ ( h , n d ) ≤ 8 + 4 ( 2 z − 1 ) + 8 ln 2 ( 2 z − 1 ) 2 = 32 ln 2 z 2 + ( 8 − 32 ln 2 ) z + 4 + 8 ln 2 < 32 ln 2 z 2 < 23 ( 1 + log n ) 2 . \begin{aligned}
\rho(h,nd)\le8+4(2z-1)+8\ln2(2z-1)^2 \\
&=32\ln2z^2+(8-32\ln2)z+4+8\ln2<32\ln2z^2<23(1+\log n)^2.
\end{aligned} ρ ( h , n d ) ≤ 8 + 4 ( 2 z − 1 ) + 8 ln 2 ( 2 z − 1 ) 2 = 32 ln 2 z 2 + ( 8 − 32 ln 2 ) z + 4 + 8 ln 2 < 32 ln 2 z 2 < 23 ( 1 + log n ) 2 .
As a result, taking d ≥ n + 46 ( 1 + log n ) 2 d\ge n+46(1+\log n)^2 d ≥ n + 46 ( 1 + log n ) 2 suffices.
( 1 − δ ) (1-\delta) ( 1 − δ ) -MMS allocation for ( 1 − ε ) n (1-\varepsilon)n ( 1 − ε ) n agents
In this section, we prove Theorem 1.1. We assume m ≥ n m \ge n m ≥ n , otherwise pad items with zeroes.
Theorem 3.1 (Theorem 1.1 restated). For every fixed ε ∈ ( 0 , 1 ) \varepsilon\in(0,1) ε ∈ ( 0 , 1 ) and integer q ≥ 3 q \ge3 q ≥ 3 , there exists n ( ε , q ) n(\varepsilon,q) n ( ε , q ) such that for every n ≥ n ( ε , q ) n \ge n(\varepsilon,q) n ≥ n ( ε , q ) the following holds.
Consider a fair allocation instance with m m m items M M M and n n n agents N N N , where for every i ∈ N i \in N i ∈ N valuation v i v_i v i is additive. Suppose that every agent i ∈ N i \in N i ∈ N has MMS ( M , v i , d ) = 1 \operatorname{MMS}(M,v_i,d)=1 MMS ( M , v i , d ) = 1 , where 1 ≤ d ≤ ( 1 − ε ) n 1 \le d \le(1-\varepsilon)n 1 ≤ d ≤ ( 1 − ε ) n . Then there exists a choice I = { i 1 , … , i d } ⊆ N I=\{i_1,\ldots,i_d\} \subseteq N I = { i 1 , … , i d } ⊆ N of ∣ I ∣ = d |I|=d ∣ I ∣ = d distinct agents and an allocation ( B i 1 , … , B i d ) (B_{i_1},\ldots,B_{i_d}) ( B i 1 , … , B i d ) of M M M to I I I , such that for every i ∈ I i \in I i ∈ I it holds v i ( B i ) ≥ 1 − 2 / q v_i(B_i) \ge1-2/q v i ( B i ) ≥ 1 − 2/ q .
The core of our approach will be essentially the same as in the proof of Theorem 2.1. That is, we would like to find a collection of profiles Π I = { π i } i ∈ I \Pi_I=\{\pi_i\}_{i\in I} Π I = { π i } i ∈ I assigned to agent I ⊆ N I \subseteq N I ⊆ N , such that ∣ I ∣ ≥ d |I| \ge d ∣ I ∣ ≥ d , for every i ∈ I i \in I i ∈ I we have v ( π i ) ≥ 1 − 2 / q v(\pi_i) \ge1-2/q v ( π i ) ≥ 1 − 2/ q , and for every 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m it holds
P ( Π I , ℓ ) ≤ ℓ . \mathcal{P}(\Pi_I,\ell) \le\ell. P ( Π I , ℓ ) ≤ ℓ .
Then, we obtain the desired ( 1 − 2 / q ) (1-2/q) ( 1 − 2/ q ) -MMS allocation by applying Lemma 2.2 to I , Π I I,\Pi_I I , Π I .
Head and tail profiles with different thresholds
As before, we will first find a collection Π I \Pi_I Π I of head profiles π i ∈ Π I \pi_i \in\Pi_I π i ∈ Π I , and then complete it to full profiles with a collection of tail profiles ψ i ∈ Ψ I \psi_i \in\Psi_I ψ i ∈ Ψ I , so that for every i ∈ I i \in I i ∈ I we have v ( π i ) + ψ ( π i ) ≥ 1 − 2 / q v(\pi_i)+\psi(\pi_i) \ge1-2/q v ( π i ) + ψ ( π i ) ≥ 1 − 2/ q , and agent i i i gets { π i , ψ i } \{\pi_i,\psi_i\} { π i , ψ i } . However, unlike the proof of Theorem 2.1, each agent i ∈ N i \in N i ∈ N now will have an individual head threshold h i h_i h i .
Definition 3.1. For an integer q > 0 q>0 q > 0 , ordered items M = [ m ] M=[m] M = [ m ] and agent i ∈ N i \in N i ∈ N , let
h i : = ∣ { e ∈ M : v i ( e ) ≥ 1 / q } ∣ . h_i:=\lvert\{e \in M:v_i(e)\ge1/q\}\rvert. h i := ∣{ e ∈ M : v i ( e ) ≥ 1/ q }∣ . We refer to items { 1 , … , h i } \{1,\ldots,h_i\} { 1 , … , h i } as head items of agent i i i , and items { h i + 1 , … , m } \{h_i+1,\ldots,m\} { h i + 1 , … , m } as tail items . For agent i ∈ N i \in N i ∈ N , the tail value of i i i is
T i = ∑ e > h i v i ( e ) . T_i=\sum_{e>h_i}v_i(e). T i = e > h i ∑ v i ( e ) .
In the proof of Theorem 2.1, it was of no difference for us how many different head profiles there are for agents i ∈ N i \in N i ∈ N , and how large these profiles can be. Each head demand could take essentially arbitrary value in ( 0 , 1 ] (0,1] ( 0 , 1 ] , and there could be up to n d = O ( n 2 ) n^d=O(n^2) n d = O ( n 2 ) different demands in a head profile. However, for the proof of Theorem 3.1, it will be crucial for us that 1) each head profile has at most constant size, and 2) there is only a constant number of different head demands. We achieve this by rounding down the values of head items to multiples of 1 / q 2 1/q^2 1/ q 2 .
Definition 3.2. For an integer q > 0 q>0 q > 0 , a head demand is a positive value α ∈ ( 0 , 1 ] \alpha\in(0,1] α ∈ ( 0 , 1 ] such that
α = q + k q 2 \alpha=\frac{q+k}{q^2} α = q 2 q + k for integer k ∈ { 0 , 1 , 2 , … , q 2 − q } k \in\{0,1,2,\ldots,q^2-q\} k ∈ { 0 , 1 , 2 , … , q 2 − q } . That is, a head demand α \alpha α takes values in
1 q , 1 q + 1 q 2 , 1 q + 2 q 2 , … , 1 q + k q 2 , … , 1. \frac{1}{q},\ \frac{1}{q}+\frac{1}{q^2},\ \frac{1}{q}+\frac{2}{q^2},\ \ldots,\ \frac{1}{q}+\frac{k}{q^2},\ \ldots,\ 1. q 1 , q 1 + q 2 1 , q 1 + q 2 2 , … , q 1 + q 2 k , … , 1. A head profile is a finite multiset π = { α 1 , … , α ∣ π ∣ } \pi=\{\alpha_1,\ldots,\alpha_{|\pi|}\} π = { α 1 , … , α ∣ π ∣ } of head demands. Similarly, a tail demand is a positive value β ∈ ( 0 , 1 ] \beta\in(0,1] β ∈ ( 0 , 1 ] such that β ≤ 1 / q \beta\le1/q β ≤ 1/ q (we allow β = 1 / q \beta=1/q β = 1/ q ). A tail profile is a finite multiset ψ = { β 1 , … , β ∣ ψ ∣ } \psi=\{\beta_1,\ldots,\beta_{|\psi|}\} ψ = { β 1 , … , β ∣ ψ ∣ } of tail demands.
Note that for every agent i ∈ N i \in N i ∈ N , a bundle B ⊆ M B \subseteq M B ⊆ M such that v i ( B ) = 1 v_i(B)=1 v i ( B ) = 1 can contain at most q q q head items. Hence, if we round down all head items of B B B to the multiple of 1 / q 2 1/q^2 1/ q 2 , its value remains at least 1 − q ⋅ ( 1 / q 2 ) = 1 − 1 / q 1-q\cdot(1/q^2)=1-1/q 1 − q ⋅ ( 1/ q 2 ) = 1 − 1/ q . So, these head profiles cost us only 1 / q 1/q 1/ q loss so far. Due to rounding down, we will measure our deficit with respect to 1 − 1 / q 1-1/q 1 − 1/ q instead of 1 1 1 .
Definition 3.3. A deficit of a head profile π \pi π is
Δ ( π ) : = ( 1 − 1 / q − v ( π ) ) + . \Delta(\pi) := (1-1/q-v(\pi))_+. Δ ( π ) := ( 1 − 1/ q − v ( π ) ) + .
As in the proof of Theorem 2.1, if an agent i ∈ N i \in N i ∈ N gets assigned a head profile π i ≠ ⊥ \pi_i \ne\bot π i = ⊥ with deficit Δ ( π i ) > 0 \Delta(\pi_i)>0 Δ ( π i ) > 0 , we will need to compensate for the missing value using the tail. We prove an analogue of Lemma 2.3, giving sufficient conditions on the prefix load of the head profiles π i \pi_i π i that allows adding tail profiles ψ i \psi_i ψ i without violating the total prefix load constraints.
There are two key differences from the original Lemma 2.3. First, for every agent i ∈ I i \in I i ∈ I there is a different head threshold h i h_i h i and tail, so instead of a common tail-load multiple ( ℓ − h ) (\ell-h) ( ℓ − h ) we will have individual tail multiples ( ℓ − h i ) (\ell-h_i) ( ℓ − h i ) . Second, we relax the slackness requirements by removing the term ∣ I ∣ |I| ∣ I ∣ . Since now the prefix load of head profiles can be larger, we have less room and will have to “sacrifice” up to one tail item, similar to faithful rounding [5 , 12 ] . We achieve this by taking the last item in each segment of length 1 / τ i ( π i ) 1/\tau_i(\pi_i) 1/ τ i ( π i ) instead of the first, which causes one less unit of load per agent of I I I , but costs us another additive term of 1 / q 1/q 1/ q .
Lemma 3.1 (Tail completion). Let I ⊆ N I \subseteq N I ⊆ N , let π i \pi_i π i be a head profile assigned to agent i ∈ I i \in I i ∈ I , and let Π I = { π i } i ∈ I \Pi_I=\{\pi_i\}_{i\in I} Π I = { π i } i ∈ I . Assume that T i = 0 T_i=0 T i = 0 implies Δ ( π i ) = 0 \Delta(\pi_i)=0 Δ ( π i ) = 0 for every i ∈ I i \in I i ∈ I . If for every 0 ≤ ℓ ≤ m 0 \leq\ell\leq m 0 ≤ ℓ ≤ m :
P ( Π I , ℓ ) ≤ ℓ − ∑ i ∈ I τ i ( π i ) ( ℓ − h i ) + , \mathcal{P}(\Pi_I,\ell) \leq\ell-\sum_{i\in I}\tau_i(\pi_i)(\ell-h_i)_+, P ( Π I , ℓ ) ≤ ℓ − i ∈ I ∑ τ i ( π i ) ( ℓ − h i ) + , there exists a collection Ψ I : = { ψ i } i ∈ I \Psi_I:=\{\psi_i\}_{i\in I} Ψ I := { ψ i } i ∈ I of tail profiles, where agent i i i is assigned ψ i \psi_i ψ i , such that
∀ 0 ≤ ℓ ≤ m : P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ ℓ \forall0 \leq\ell\leq m:\quad\mathcal{P}(\Pi_I,\ell)+\mathcal{P}(\Psi_I,\ell)\leq\ell ∀0 ≤ ℓ ≤ m : P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ ℓ and v ( π i ) + v ( ψ i ) ≥ 1 − 2 / q v(\pi_i)+v(\psi_i)\geq1-2/q v ( π i ) + v ( ψ i ) ≥ 1 − 2/ q for every i ∈ I i \in I i ∈ I .
Proof. Consider i ∈ I i \in I i ∈ I , and denote τ i : = τ i ( π i ) \tau_i:=\tau_i(\pi_i) τ i := τ i ( π i ) . If τ i = 0 \tau_i=0 τ i = 0 , put ψ i = ∅ \psi_i=\varnothing ψ i = ∅ . Otherwise, we construct the tail profile ψ i \psi_i ψ i similarly to Lemma 2.3: break the agent i i i ’s tail { h i + 1 , … , m } \{h_i+1,\ldots,m\} { h i + 1 , … , m } into segments of length roughly 1 / τ i 1/\tau_i 1/ τ i , and in each segment add the value of the last item to ψ i \psi_i ψ i . That is, for every t = 1 , … , ⌊ τ i ⋅ ( m − h i ) ⌋ t=1,\ldots,\lfloor\tau_i\cdot(m-h_i)\rfloor t = 1 , … , ⌊ τ i ⋅ ( m − h i )⌋ , add v i ( e i , t ) v_i(e_{i,t}) v i ( e i , t ) to ψ i \psi_i ψ i , where
e i , t = h i + ⌈ t τ i ⌉ . e_{i,t}=h_i+\left\lceil\frac{t}{\tau_i}\right\rceil. e i , t = h i + ⌈ τ i t ⌉ .
Note that in this construction, for every item we take, its value is at least as large as if we took a τ i \tau_i τ i -fraction of every tail item in the segment of length 1 / τ i 1/\tau_i 1/ τ i immediately after the taken item. So, the total value of selected items is at least as large as the τ i \tau_i τ i -fraction of the total tail value T i T_i T i , minus the very first segment, from which we lose at most 1 / q 1/q 1/ q (the first tail item).
We will now prove this formally. Similar to Lemma 2.3, the construction of ψ i \psi_i ψ i can equivalently be described as follows. For 1 ≤ k ≤ m − h i 1\leq k\leq m-h_i 1 ≤ k ≤ m − h i , let β i , k : = v i ( h i + k ) \beta_{i,k}:=v_i(h_i+k) β i , k := v i ( h i + k ) . Then, for every k ∈ [ m − h i ] k\in[m-h_i] k ∈ [ m − h i ] , we add exactly
⌊ τ i ⋅ k ⌋ − ⌊ τ i ⋅ ( k − 1 ) ⌋ \left\lfloor\tau_i\cdot k\right\rfloor-\left\lfloor\tau_i\cdot(k-1)\right\rfloor ⌊ τ i ⋅ k ⌋ − ⌊ τ i ⋅ ( k − 1 ) ⌋
copies of β i , k \beta_{i,k} β i , k to the profile ψ i \psi_i ψ i . To see this, observe that
e i , t ≤ h i + k ⟺ ⌈ t τ i ⌉ ≤ k ⟺ t ≤ τ i ⋅ k ⟺ t ≤ ⌊ τ i ⋅ k ⌋ . e_{i,t}\leq h_i+k\Longleftrightarrow\left\lceil\frac{t}{\tau_i}\right\rceil\leq k\Longleftrightarrow t\leq\tau_i\cdot k\Longleftrightarrow t\leq\left\lfloor\tau_i\cdot k\right\rfloor. e i , t ≤ h i + k ⟺ ⌈ τ i t ⌉ ≤ k ⟺ t ≤ τ i ⋅ k ⟺ t ≤ ⌊ τ i ⋅ k ⌋ .
So, the first k k k tail items contain exactly ⌊ τ i ⋅ k ⌋ \lfloor\tau_i \cdot k \rfloor ⌊ τ i ⋅ k ⌋ selected items from ψ i \psi_i ψ i , and the number of copies of tail item k k k is exactly ⌊ τ i ⋅ k ⌋ − ⌊ τ i ⋅ ( k − 1 ) ⌋ \lfloor\tau_i \cdot k \rfloor- \lfloor\tau_i \cdot(k - 1) \rfloor ⌊ τ i ⋅ k ⌋ − ⌊ τ i ⋅ ( k − 1 )⌋ . We note that here τ i > 1 \tau_i > 1 τ i > 1 is allowed, in which case agent i i i adds to ψ i \psi_i ψ i multiple copies of the same demand. Furthermore, later in the proof of Theorem 3.1 we will see that it will indeed happen for some i ∈ I i \in I i ∈ I that τ i > 1 \tau_i > 1 τ i > 1 substantially. For example, if agent i ∈ I i \in I i ∈ I gets assigned π i = ∅ \pi_i = \varnothing π i = ∅ , while T i > 0 T_i > 0 T i > 0 is extremely small. This is still allowed, because we are working with value profiles and not actual items. As long as the conditions on the total prefix load are preserved, Lemma 2.2 eventually produces an allocation satisfying all the profiles. So, in case π i = ∅ \pi_i = \varnothing π i = ∅ , the tail profile ψ i \psi_i ψ i will have to compensate almost all the value, and may as well get satisfied by some head items (while having only tail demands).
A straightforward computation shows that our choice of ψ i \psi_i ψ i covers the deficit of agent i i i :
v ( ψ i ) = ∑ k = 1 m − h i β i , k ⋅ ( ⌊ τ i ⋅ k ⌋ − ⌊ τ i ⋅ ( k − 1 ) ⌋ ) = ∑ k = 1 m − h i ⌊ τ i ⋅ k ⌋ ⋅ ( β i , k − β i , k + 1 ) ≥ ∑ k = 1 m − h i ( τ i ⋅ k − 1 ) ⋅ ( β i , k − β i , k + 1 ) = τ i ∑ k = 1 m − h i β i , k − β i , 1 = Δ ( π i ) − β i , 1 ≥ Δ ( π i ) − 1 / q . \begin{aligned}
v(\psi_i) = \sum_{k=1}^{m-h_i} \beta_{i,k} \cdot\left(\left\lfloor\tau_i \cdot k \right\rfloor- \left\lfloor\tau_i \cdot(k - 1) \right\rfloor\right) = \sum_{k=1}^{m-h_i} \left\lfloor\tau_i \cdot k \right\rfloor\cdot(\beta_{i,k} - \beta_{i,k+1}) \\
&\ge\sum_{k=1}^{m-h_i} (\tau_i \cdot k - 1) \cdot(\beta_{i,k} - \beta_{i,k+1}) = \tau_i \sum_{k=1}^{m-h_i} \beta_{i,k} - \beta_{i,1} = \Delta(\pi_i) - \beta_{i,1} \ge\Delta(\pi_i) - 1/q.
\end{aligned} v ( ψ i ) = k = 1 ∑ m − h i β i , k ⋅ ( ⌊ τ i ⋅ k ⌋ − ⌊ τ i ⋅ ( k − 1 ) ⌋ ) = k = 1 ∑ m − h i ⌊ τ i ⋅ k ⌋ ⋅ ( β i , k − β i , k + 1 ) ≥ k = 1 ∑ m − h i ( τ i ⋅ k − 1 ) ⋅ ( β i , k − β i , k + 1 ) = τ i k = 1 ∑ m − h i β i , k − β i , 1 = Δ ( π i ) − β i , 1 ≥ Δ ( π i ) − 1/ q .
Since Δ ( π i ) = ( 1 − 1 / q − v ( π i ) ) + \Delta(\pi_i) = (1 - 1/q - v(\pi_i))^+ Δ ( π i ) = ( 1 − 1/ q − v ( π i ) ) + , it immediately follows that v ( π i ) + v ( ψ i ) ≥ 1 − 2 / q v(\pi_i) + v(\psi_i) \ge1 - 2/q v ( π i ) + v ( ψ i ) ≥ 1 − 2/ q .
We will now bound the additional prefix load generated by Ψ I = { ψ i } i ∈ I \Psi_I = \{\psi_i\}_{i \in I} Ψ I = { ψ i } i ∈ I . As in Lemma 2.3, for every 0 ≤ ℓ ≤ h i 0 \le\ell\le h_i 0 ≤ ℓ ≤ h i we have P i ( ψ i , ℓ ) = 0 \mathcal{P}_i(\psi_i,\ell) = 0 P i ( ψ i , ℓ ) = 0 , for every agent i ∈ I i \in I i ∈ I . When ℓ > h i \ell> h_i ℓ > h i , as shown earlier the number of selected items from ψ i \psi_i ψ i within the first k = ℓ − h i k = \ell- h_i k = ℓ − h i tail items is exactly ⌊ τ i ⋅ k ⌋ ≤ τ i ⋅ k \lfloor\tau_i \cdot k \rfloor\le\tau_i \cdot k ⌊ τ i ⋅ k ⌋ ≤ τ i ⋅ k . Hence, the additional load generated by tail profiles Ψ I \Psi_I Ψ I at prefix ℓ \ell ℓ is
P ( Ψ I , ℓ ) = ∑ i ∈ I P i ( ψ i , ℓ ) ≤ ∑ i ∈ I τ i ⋅ ( ℓ − h i ) + . \mathcal{P}(\Psi_I,\ell) = \sum_{i \in I} \mathcal{P}_i(\psi_i,\ell) \le\sum_{i \in I} \tau_i \cdot(\ell- h_i)_+. P ( Ψ I , ℓ ) = i ∈ I ∑ P i ( ψ i , ℓ ) ≤ i ∈ I ∑ τ i ⋅ ( ℓ − h i ) + .
The lemma follows.
Note that the main difference of Lemma 3.1 from the usual faithful rounding setting is that every agent i ∈ I i \in I i ∈ I has a different tail, which can overlap heads of other agents in I I I . Nevertheless, our methods of Lemma 2.3 extend to the different tails in Lemma 3.1.
Fractional head profiles and the large tail case
We now focus on finding a collection of head profiles Π I \Pi_I Π I of agents I ⊆ N I \subseteq N I ⊆ N satisfying the requirements of Lemma 3.1. As in the proof of Theorem 2.1, MMS partitions of agents i ∈ N i \in N i ∈ N induce a collection of head profiles from which the agents will choose from. The profiles will differ slightly, as now 1) head thresholds are different across different across the agents, and 2) we will have to round the items down to the multiples of 1 / q 2 1/q^2 1/ q 2 .
Definition 3.4. For every agent i ∈ N i \in N i ∈ N , let B i = { B i , 1 , … , B i , d } \mathcal{B}_i = \{B_{i,1}, \ldots, B_{i,d}\} B i = { B i , 1 , … , B i , d } denote the d d d -partition of M M M witnessing MMS ( M , v i , d ) \operatorname{MMS}(M,v_i,d) MMS ( M , v i , d ) , for every B i , j ∈ B i B_{i,j} \in\mathcal{B}_i B i , j ∈ B i it holds v i ( B i , j ) = 1 v_i(B_{i,j}) = 1 v i ( B i , j ) = 1 . For every j ∈ [ d ] j \in[d] j ∈ [ d ] , define
π i , j : = { ⌊ q 2 ⋅ v i ( e ) ⌋ q 2 : e ∈ B i , j , v i ( e ) ≥ 1 / q } . \pi_{i,j} := \left\{\frac{\left\lfloor q^2 \cdot v_i(e) \right\rfloor}{q^2} : e \in B_{i,j},\ v_i(e) \ge1/q\right\}. π i , j := { q 2 ⌊ q 2 ⋅ v i ( e ) ⌋ : e ∈ B i , j , v i ( e ) ≥ 1/ q } . Let Π : = { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ] } \Pi:= \{\varnothing,\bot\} + \bigcup_{i \in N} \{\pi_{i,j} : j \in[d]\} Π := { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ]} .
As in the proof of Theorem 2.1, we will move to fractional head profiles and use rounding to get an integral collection. All the definitions of fractional head profiles ( x , Π ) (x,\Pi) ( x , Π ) , fractional ℓ \ell ℓ -prefix head load H ( x , Π , ℓ ) \mathcal{H}(x,\Pi,\ell) H ( x , Π , ℓ ) and fractional number of assigned profiles I ( x , Π ) \mathcal{I}(x,\Pi) I ( x , Π ) are exactly the same as in § 2.4 . However, due to the fact that instead of a common head threshold h h h we have separate head thresholds h i h_i h i , we will need to define fractional tail load separately for every agent i ∈ N i \in N i ∈ N and every prefix 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m .
Definition 3.5. For agent i ∈ N i \in N i ∈ N with fractional head profile ( x i , Π ) (x_i,\Pi) ( x i , Π ) , his fractional ℓ \ell ℓ -prefix tail load of Π \Pi Π is
T i ( x i , Π , ℓ ) : = ∑ π ∈ Π x i ( π ) ⋅ τ i ( π ) ( ℓ − h i ) + = τ i ( x i , Π ) ⋅ ( ℓ − h i ) + . \mathcal{T}_i(x_i,\Pi,\ell) := \sum_{\pi\in\Pi} x_i(\pi)\cdot\tau_i(\pi)(\ell-h_i)_+ = \tau_i(x_i,\Pi)\cdot(\ell-h_i)_+. T i ( x i , Π , ℓ ) := π ∈ Π ∑ x i ( π ) ⋅ τ i ( π ) ( ℓ − h i ) + = τ i ( x i , Π ) ⋅ ( ℓ − h i ) + . Assume that every agent i ∈ N i \in N i ∈ N has fractional head profile ( x i , Π ) (x_i,\Pi) ( x i , Π ) for the shared set of profiles Π \Pi Π , and let x = { x i } i ∈ N x=\{x_i\}_{i\in N} x = { x i } i ∈ N . For 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m , the total fractional ℓ \ell ℓ -prefix tail load of Π \Pi Π for x x x is
T ( x , Π , ℓ ) : = ∑ i ∈ N T i ( x i , Π , ℓ ) = ∑ i ∈ N τ i ( x i , Π ) ⋅ ( ℓ − h i ) + . \mathcal{T}(x,\Pi,\ell) := \sum_{i\in N}\mathcal{T}_i(x_i,\Pi,\ell)=\sum_{i\in N}\tau_i(x_i,\Pi)\cdot(\ell-h_i)_+. T ( x , Π , ℓ ) := i ∈ N ∑ T i ( x i , Π , ℓ ) = i ∈ N ∑ τ i ( x i , Π ) ⋅ ( ℓ − h i ) + .
We define the fractional MMS head profiles a bit differently from § 2.4 : instead of taking a uniform distribution over π i , j \pi_{i,j} π i , j for every agent i ∈ N i\in N i ∈ N , a profile π i , j \pi_{i,j} π i , j is picked with probability 1 / n 1/n 1/ n , and the remaining weight 1 − d / n 1-d/n 1 − d / n goes into the no-profile ⊥ \perp ⊥ .
Definition 3.6. Let Π : = { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ] } \Pi:=\{\varnothing,\perp\}+\bigcup_{i\in N}\{\pi_{i,j}:j\in[d]\} Π := { ∅ , ⊥ } + ⋃ i ∈ N { π i , j : j ∈ [ d ]} . For every agent i ∈ N i\in N i ∈ N , consider the following fractional head profile ( x i ∗ , Π ) (x_i^*,\Pi) ( x i ∗ , Π ) : set x i ( ⊥ ) = 1 − d / n x_i(\perp)=1-d/n x i ( ⊥ ) = 1 − d / n , and for every π ∈ Π − ⊥ \pi\in\Pi-\perp π ∈ Π − ⊥ let
x i ∗ ( π ) = ∣ { j ∈ [ d ] : π i , j = π } ∣ n . x_i^*(\pi)=\frac{|\{j\in[d]:\pi_{i,j}=\pi\}|}{n}. x i ∗ ( π ) = n ∣ { j ∈ [ d ] : π i , j = π } ∣ .
We will refer to ( x i ∗ , Π ) (x_i^*,\Pi) ( x i ∗ , Π ) as a fractional MMS head profile of agent i i i .
We prove an analogue of Lemma 2.4, showing that ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) satisfy Lemma 3.1 fractionally.
Lemma 3.2. Consider the fractional MMS head profiles ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) of agents i ∈ N i\in N i ∈ N . It holds that
I ( x ∗ , Π ) = d \mathcal{I}(x^*,\Pi)=d I ( x ∗ , Π ) = d ;
for every 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m ,
H ( x ∗ , Π , ℓ ) ≤ ℓ − 1 n ∑ i ∈ N ( ℓ − h i ) + ; \mathcal{H}(x^*,\Pi,\ell)\leq\ell-\frac{1}{n}\sum_{i\in N}(\ell-h_i)_+; H ( x ∗ , Π , ℓ ) ≤ ℓ − n 1 i ∈ N ∑ ( ℓ − h i ) + ; for every i ∈ N i\in N i ∈ N ,
∑ j = 1 d Δ ( π i , j ) ≤ ( 1 − 1 / q ) T i ; \sum_{j=1}^{d}\Delta(\pi_{i,j})\leq(1-1/q)T_i; j = 1 ∑ d Δ ( π i , j ) ≤ ( 1 − 1/ q ) T i ;
The ( 1 − 1 / q ) (1-1/q) ( 1 − 1/ q ) -fraction in tail load appears due to rounding head values down to multiples of 1 / q 2 1/q^2 1/ q 2 , and deficit counting from 1 − 1 / q 1-1/q 1 − 1/ q . This extra slackness will be useful later in the rounding.
Proof. The identity I ( x ∗ , Π ) = d \mathcal{I}(x^*,\Pi)=d I ( x ∗ , Π ) = d is trivial: the total sum of non-⊥ \perp ⊥ weights of every agent is d / n d/n d / n . Next, by the same reasoning as in Lemma 2.4, for every i ∈ N i\in N i ∈ N and every 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m we have
∑ j = 1 d P i ( π i , j , ℓ ) ≤ min { ℓ , h i } , \sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j},\ell)\leq\min\{\ell,h_i\}, j = 1 ∑ d P i ( π i , j , ℓ ) ≤ min { ℓ , h i } ,
which immediately gives by definition of H ( x ∗ , Π , ℓ ) = 1 n ∑ i ∈ N ∑ j = 1 d P i ( π i , j , ℓ ) \mathcal{H}(x^*,\Pi,\ell)=\frac{1}{n}\sum_{i\in N}\sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j},\ell) H ( x ∗ , Π , ℓ ) = n 1 ∑ i ∈ N ∑ j = 1 d P i ( π i , j , ℓ ) that
1 n ∑ i ∈ N ∑ j = 1 d P i ( π i , j , ℓ ) + 1 n ∑ i ∈ N ( ℓ − h i ) + ≤ 1 n ∑ i ∈ N ( min { ℓ , h i } + ( ℓ − h i ) + ) = ℓ . \frac{1}{n}\sum_{i\in N}\sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j},\ell)+\frac{1}{n}\sum_{i\in N}(\ell-h_i)_+
\leq\frac{1}{n}\sum_{i\in N}\left(\min\{\ell,h_i\}+(\ell-h_i)_+\right)=\ell. n 1 i ∈ N ∑ j = 1 ∑ d P i ( π i , j , ℓ ) + n 1 i ∈ N ∑ ( ℓ − h i ) + ≤ n 1 i ∈ N ∑ ( min { ℓ , h i } + ( ℓ − h i ) + ) = ℓ .
Now, fix agent i ∈ N i \in N i ∈ N . Recall that for every j ∈ [ d ] j \in[d] j ∈ [ d ] we have v ( B i , j ) = 1 v(B_{i,j}) = 1 v ( B i , j ) = 1 , so the non-rounded head items of B i , j B_{i,j} B i , j have total value 1 − T i , j 1 - T_{i,j} 1 − T i , j , where
T i , j : = ∑ e ∈ B i , j e > h i v i ( e ) . T_{i,j} := \sum_{\substack{e \in B_{i,j} \\ e > h_i}} v_i(e). T i , j := e ∈ B i , j e > h i ∑ v i ( e ) .
Since each demand in π i , j \pi_{i,j} π i , j is at least 1 / q 1/q 1/ q , we have
∣ π i , j ∣ q ≤ v ( π i , j ) ≤ 1 − T i , j . \frac{|\pi_{i,j}|}{q} \le v(\pi_{i,j}) \le1 - T_{i,j}. q ∣ π i , j ∣ ≤ v ( π i , j ) ≤ 1 − T i , j .
For every head item e ∈ [ h i ] e \in[h_i] e ∈ [ h i ] consider its rounded value
v ^ i ( e ) : = ⌊ q 2 ⋅ v i ( e ) ⌋ q 2 . \hat{v}_i(e) := \frac{\left\lfloor q^2 \cdot v_i(e) \right\rfloor}{q^2}. v ^ i ( e ) := q 2 ⌊ q 2 ⋅ v i ( e ) ⌋ .
We round each v i ( e ) v_i(e) v i ( e ) for e ≤ h i e \le h_i e ≤ h i down to the multiple of 1 / q 2 1/q^2 1/ q 2 , hence 0 ≤ v i ( e ) − v ^ i ( e ) ≤ 1 / q 2 0 \le v_i(e) - \hat{v}_i(e) \le1/q^2 0 ≤ v i ( e ) − v ^ i ( e ) ≤ 1/ q 2 , and the total loss from rounding down head items to their demands in π i , j \pi_{i,j} π i , j is
ρ i , j : = ∑ e ∈ B i , j e ≤ h i ( v i ( e ) − v ^ i ( e ) ) ≤ ∣ π i , j ∣ q 2 ≤ 1 − T i , j q . \rho_{i,j} := \sum_{\substack{e \in B_{i,j} \\ e \le h_i}} \left(v_i(e) - \hat{v}_i(e)\right) \le\frac{|\pi_{i,j}|}{q^2} \le\frac{1 - T_{i,j}}{q}. ρ i , j := e ∈ B i , j e ≤ h i ∑ ( v i ( e ) − v ^ i ( e ) ) ≤ q 2 ∣ π i , j ∣ ≤ q 1 − T i , j .
At the same time,
v ( π i , j ) = v ^ i ( B i , j ) = ∑ e ∈ B i , j e ≤ h i v ^ i ( e ) = ∑ e ∈ B i , j e ≤ h i v i ( e ) − ρ i , j = 1 − T i , j − ρ i , j . v(\pi_{i,j}) = \hat{v}_i(B_{i,j}) = \sum_{\substack{e \in B_{i,j} \\ e \le h_i}} \hat{v}_i(e) = \sum_{\substack{e \in B_{i,j} \\ e \le h_i}} v_i(e) - \rho_{i,j} = 1 - T_{i,j} - \rho_{i,j}. v ( π i , j ) = v ^ i ( B i , j ) = e ∈ B i , j e ≤ h i ∑ v ^ i ( e ) = e ∈ B i , j e ≤ h i ∑ v i ( e ) − ρ i , j = 1 − T i , j − ρ i , j .
As a result, the deficit of π i , j \pi_{i,j} π i , j is
Δ ( π i , j ) = ( 1 − 1 / q − v ( π i , j ) ) + = ( T i , j + ρ i , j − 1 / q ) + ≤ ( T i , j + 1 − T i , j q − 1 q ) + = ( 1 − 1 / q ) T i , j \Delta(\pi_{i,j}) = (1 - 1/q - v(\pi_{i,j}))_+ = (T_{i,j} + \rho_{i,j} - 1/q)_+ \le\left(T_{i,j} + \frac{1 - T_{i,j}}{q} - \frac{1}{q}\right)_+ = (1 - 1/q)T_{i,j} Δ ( π i , j ) = ( 1 − 1/ q − v ( π i , j ) ) + = ( T i , j + ρ i , j − 1/ q ) + ≤ ( T i , j + q 1 − T i , j − q 1 ) + = ( 1 − 1/ q ) T i , j
and the total deficit of MMS profiles of agent i ∈ N i \in N i ∈ N is
∑ j = 1 d Δ ( π i , j ) ≤ ( 1 − 1 / q ) ∑ j = 1 d T i , j = ( 1 − 1 / q ) T i . \sum_{j=1}^{d} \Delta(\pi_{i,j}) \le(1 - 1/q)\sum_{j=1}^{d} T_{i,j} = (1 - 1/q)T_i. j = 1 ∑ d Δ ( π i , j ) ≤ ( 1 − 1/ q ) j = 1 ∑ d T i , j = ( 1 − 1/ q ) T i .
It immediately follows that
T ( x ∗ , Π , ℓ ) = 1 n ∑ i ∈ N ∑ j = 1 d τ i ( π i , j ) ( ℓ − h i ) + = 1 n ∑ i ∈ N T i > 0 ( ℓ − h i ) + T i ∑ j = 1 d Δ ( π i , j ) ≤ 1 − 1 / q n ∑ i ∈ N ( ℓ − h i ) + . \mathcal{T}(x^*,\Pi,\ell) = \frac{1}{n}\sum_{i \in N}\sum_{j=1}^{d} \tau_i(\pi_{i,j})(\ell- h_i)_+ = \frac{1}{n}\sum_{\substack{i \in N \\ T_i > 0}} \frac{(\ell- h_i)_+}{T_i}\sum_{j=1}^{d}\Delta(\pi_{i,j}) \le\frac{1 - 1/q}{n}\sum_{i \in N}(\ell- h_i)_+. T ( x ∗ , Π , ℓ ) = n 1 i ∈ N ∑ j = 1 ∑ d τ i ( π i , j ) ( ℓ − h i ) + = n 1 i ∈ N T i > 0 ∑ T i ( ℓ − h i ) + j = 1 ∑ d Δ ( π i , j ) ≤ n 1 − 1/ q i ∈ N ∑ ( ℓ − h i ) + .
□ \square □
As in § 2.4 , we will round the fractional MMS head profiles ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) to some integral collection of profiles Π I = { π i } i ∈ I \Pi_I = \{\pi_i\}_{i \in I} Π I = { π i } i ∈ I . The rounding algorithm will be slightly different. On the one hand, the size of the profiles π ∈ Π \pi\in\Pi π ∈ Π is bounded by constant q q q , which allows stronger bounds. On the other hand, instead of a single tail load constraint, we have additional m + 1 m + 1 m + 1 . Because of this, unlike Theorem 2.2, in this case we will not preserve all tail load constraints exactly. Our rounding algorithm will 1) keep all head load constraints satisfied, 2) violate all tail load constraints by at most a small factor of λ > 1 \lambda> 1 λ > 1 , and 3) select at least I ( x ∗ , Π ) − O q ( log n ) \mathcal{I}(x^*,\Pi) - O_q(\log n) I ( x ∗ , Π ) − O q ( log n ) agents with assigned profiles. The additional slackness of ( 1 − 1 / q ) (1 - 1/q) ( 1 − 1/ q ) in the fractional tail load of ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) will absorb the factor λ \lambda λ , and the rounded solution will satisfy the requirements of Lemma 2.2.
Theorem 3.2 (Head and tail rounding). Let Π \Pi Π be a shared set of head profiles, such that ∣ π ∣ ≤ q |\pi| \le q ∣ π ∣ ≤ q for some integer q ≥ 3 q \ge3 q ≥ 3 . For every i ∈ N i \in\mathbb{N} i ∈ N , let ( x i , Π ) (x_i,\Pi) ( x i , Π ) be a fractional profile, denote x = { x i } i ∈ N x = \{x_i\}_{i\in\mathbb{N}} x = { x i } i ∈ N . Suppose that for every π ∈ Π − ⊥ \pi\in\Pi- \bot π ∈ Π − ⊥ , either Δ ( π ) = 0 \Delta(\pi) = 0 Δ ( π ) = 0 or Δ ( π ) ≥ δ > 0 \Delta(\pi) \ge\delta> 0 Δ ( π ) ≥ δ > 0 for some δ ∈ ( 0 , 1 ] \delta\in(0,1] δ ∈ ( 0 , 1 ] . For any λ > 1 \lambda> 1 λ > 1 , there exists a collection y = { y i } i ∈ N y = \{y_i\}_{i\in\mathbb{N}} y = { y i } i ∈ N of integer head profiles ( y i , Π ) (y_i,\Pi) ( y i , Π ) , such that for every i , π i,\pi i , π we have y i ( π ) ∈ { 0 , 1 } y_i(\pi) \in\{0,1\} y i ( π ) ∈ { 0 , 1 } and y i ( π ) = 1 y_i(\pi) = 1 y i ( π ) = 1 for π ≠ ⊥ \pi\ne\bot π = ⊥ only if x i ( π ) > 0 x_i(\pi) > 0 x i ( π ) > 0 , and
H ( y , Π , ℓ ) ≤ H ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{H}(y,\Pi,\ell) \le\mathcal{H}(x,\Pi,\ell), \qquad\forall0 \le\ell\le m, H ( y , Π , ℓ ) ≤ H ( x , Π , ℓ ) , ∀0 ≤ ℓ ≤ m , T ( y , Π , ℓ ) ≤ λ T ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{T}(y,\Pi,\ell) \le\lambda\mathcal{T}(x,\Pi,\ell), \qquad\forall0 \le\ell\le m, T ( y , Π , ℓ ) ≤ λ T ( x , Π , ℓ ) , ∀0 ≤ ℓ ≤ m , I ( y , Π ) ≥ I ( x , Π ) − ρ ( q , δ , X ) , \mathcal{I}(y,\Pi) \ge\mathcal{I}(x,\Pi) - \rho(q,\delta,X), I ( y , Π ) ≥ I ( x , Π ) − ρ ( q , δ , X ) , where, for τ ( x , Π ) = ∑ i ∈ N ∑ π ∈ Π x i ( π ) ⋅ τ i ( π ) \tau(x,\Pi) = \sum_{i\in\mathbb{N}}\sum_{\pi\in\Pi} x_i(\pi)\cdot\tau_i(\pi) τ ( x , Π ) = ∑ i ∈ N ∑ π ∈ Π x i ( π ) ⋅ τ i ( π ) and X = ∣ { ( i , π ) : 0 < x i ( π ) < 1 } ∣ X = |\{(i,\pi): 0 < x_i(\pi) < 1\}| X = ∣ {( i , π ) : 0 < x i ( π ) < 1 } ∣ ,
ρ ( q , δ , X ) = 8 + 4 log λ max { 1 , 1 δ h max T max X τ ( x , Π ) } + 8 q log max { 1 , X } . \rho(q,\delta,X) = 8 + 4\log\lambda\max\left\{1,\frac{1}{\delta}h_{\max}T_{\max}X\tau(x,\Pi)\right\} + 8q\log\max\{1,X\}. ρ ( q , δ , X ) = 8 + 4 log λ max { 1 , δ 1 h m a x T m a x X τ ( x , Π ) } + 8 q log max { 1 , X } . Here h max : = max i ∈ N h i h_{\max} := \max_{i\in\mathbb{N}} h_i h m a x := max i ∈ N h i and T max : = max i ∈ N T i T_{\max} := \max_{i\in\mathbb{N}} T_i T m a x := max i ∈ N T i .
We prove Theorem 3.2 in Appendix § 10 (Theorem B.1), similarly to Theorem 2.2.
We will show that combining Lemma 3.2 with Theorem 3.2 guarantees us a set of at least d − O ε , q ( log n ) d-O_{\varepsilon,q}(\log n) d − O ε , q ( log n ) agents I I I satisfying the requirements of Lemma 2.2. The reader may have noticed an arising issue: we have not explained at all how we would allocate the missing O q ( log n ) O_q(\log n) O q ( log n ) agents, for the promised total of d d d . Unlike in the proof of Theorem 2.2 for MMS( d ) (d) ( d ) , we do not have additional η \eta η -slackness in the prefix loads, so we cannot use the earlier method.
We resolve this by splitting Theorem 3.1 into two cases, based on the average tail value
T ‾ : = 1 n ∑ i ∈ N T i . \overline{T} := \frac{1}{n}\sum_{i\in\mathbb{N}}T_i. T := n 1 i ∈ N ∑ T i .
when T ‾ \overline{T} T is large, we will modify the fractional MMS profiles ( x i ∗ , Π ) (x_i^*,\Pi) ( x i ∗ , Π ) by shifting some probability from ⊥ \bot ⊥ to empty head profile ∅ \varnothing ∅ , as long as agent i i i has T i > 0 T_i > 0 T i > 0 . This creates a new solution x ^ \hat{x} x ^ . The weight we give to ∅ \varnothing ∅ is chosen so that in total, the fractional number of assigned profiles w.r.t x ^ \hat{x} x ^ is I ( x ^ , Π ) ≥ d + O ε , q ( log n ) \mathcal{I}(\hat{x},\Pi) \ge d + O_{\varepsilon,q}(\log n) I ( x ^ , Π ) ≥ d + O ε , q ( log n ) , enough to compensate for the rounding loss of Theorem 3.2 and get at least d d d agents in the integral solution. The tradeoff is that in the rounding, some of the d d d chosen agents i ∈ I i \in I i ∈ I will be assigned an empty profile π i = ∅ \pi_i = \varnothing π i = ∅ . However, since average tail T ‾ \overline{T} T is large, and we assign ∅ \varnothing ∅ only to agents with nonempty tail, we should be able to accommodate selected agents with ∅ \varnothing ∅ by giving them enough value with tail items only in tail completion Lemma 3.1.
the case then T ‾ \overline{T} T is small is significantly more complicated. First, we will split item set into M = E + S M = E + S M = E + S , where ∣ S ∣ = O ε , q ( log n ) |S| = O_{\varepsilon,q}(\log n) ∣ S ∣ = O ε , q ( log n ) , and put items S S S aside. We will use Theorem 3.2 on the remaining items E E E in order to obtain d − ∣ S ∣ − O ε , q ( log n ) d - |S| - O_{\varepsilon,q}(\log n) d − ∣ S ∣ − O ε , q ( log n ) agents with profiles that have no deficit and are satisfied exclusively by items E E E . After that, we will choose a small set of unselected agents and allow them to use saved items S S S in their profiles, to get a collection of d d d agents satisfying the analogue of tail completion Lemma 3.1. The main complication with this approach is to guarantee that newly selected agents 1) fit together with the agents selected by the rounding in terms of E E E -prefix loads, and 2) their S S S -demands can be simultaneously satisfied by distinct items of S S S .
To prove Theorem 3.1 in the case of large T ‾ \overline{T} T , we use Theorem 3.3 below with Lemma 3.1.
Theorem 3.3 (Large tail). Let γ : = min ( ε , 1 / ( 2 q ) ) \gamma:= \min(\varepsilon,1/(2q)) γ := min ( ε , 1/ ( 2 q )) and λ = 2 q 2 q − 1 \lambda= \frac{2q}{2q-1} λ = 2 q − 1 2 q . Suppose that agents N N N satisfy
T ‾ : = 1 n ∑ i ∈ N T i ≥ ρ q , n γ , \overline{T} := \frac{1}{n}\sum_{i\in\mathbb{N}}T_i \ge\frac{\rho_{q,n}}{\gamma}, T := n 1 i ∈ N ∑ T i ≥ γ ρ q , n ,
where
ρ q , n = 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) . \rho_{q,n}=8+4\log_{\lambda}\left(q^{3}d^{2}(d+2)n\right)+8q\log\left((d+2)n\right). ρ q , n = 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) .
There exists I ⊆ N I\subseteq N I ⊆ N of size ∣ I ∣ ≥ d |I|\ge d ∣ I ∣ ≥ d and head profiles Π I : = { π i } i ∈ I \Pi_I:=\{\pi_i\}_{i\in I} Π I := { π i } i ∈ I , where agent i ∈ I i\in I i ∈ I is assigned π i \pi_i π i , such that for every i i i with T i = 0 T_i=0 T i = 0 we have Δ ( π i ) = 0 \Delta(\pi_i)=0 Δ ( π i ) = 0 , and for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m it holds
P ( Π I , ℓ ) ≤ ℓ − ∑ i ∈ I τ i ( π i ) ⋅ ( ℓ − h i ) + . \mathcal{P}(\Pi_I,\ell)\le\ell-\sum_{i\in I}\tau_i(\pi_i)\cdot(\ell-h_i)_+. P ( Π I , ℓ ) ≤ ℓ − i ∈ I ∑ τ i ( π i ) ⋅ ( ℓ − h i ) + .
Proof. Construct MMS head profiles π i , j \pi_{i,j} π i , j for every i ∈ N , j ∈ [ d ] i\in N,j\in[d] i ∈ N , j ∈ [ d ] , and let Π : = { ∅ , ⊥ } ∪ ⋃ i ∈ N { π i , j : j ∈ [ d ] } \Pi:=\{\varnothing,\bot\}\mathbin{\cup}\bigcup_{i\in N}\{\pi_{i,j}:j\in[d]\} Π := { ∅ , ⊥ } ∪ ⋃ i ∈ N { π i , j : j ∈ [ d ]} . Consider the fractional MMS head profiles ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) as defined earlier. We modify these fractional profiles by transferring some weight from ⊥ \bot ⊥ to the empty profile ∅ \varnothing ∅ .
More specifically, for every agent i ∈ N i\in N i ∈ N we create a fractional profile ( x ^ i , Π ) (\hat{x}_i,\Pi) ( x ^ i , Π ) , where
x ^ i ( ∅ ) = x i ∗ ( ∅ ) + γ T i n , x ^ i ( ⊥ ) = x i ∗ ( ⊥ ) − γ T i n , ∀ π ∉ { ∅ , ⊥ } : x ^ i ( π ) = x i ∗ ( π ) . \hat{x}_i(\varnothing)=x_i^*(\varnothing)+\frac{\gamma T_i}{n},\qquad
\hat{x}_i(\bot)=x_i^*(\bot)-\frac{\gamma T_i}{n},\qquad
\forall\pi\notin\{\varnothing,\bot\}:\ \hat{x}_i(\pi)=x_i^*(\pi). x ^ i ( ∅ ) = x i ∗ ( ∅ ) + n γ T i , x ^ i ( ⊥ ) = x i ∗ ( ⊥ ) − n γ T i , ∀ π ∈ / { ∅ , ⊥ } : x ^ i ( π ) = x i ∗ ( π ) .
These are valid fractional profiles: ∑ π ∈ Π x ^ i = 1 \sum_{\pi\in\Pi}\hat{x}_i=1 ∑ π ∈ Π x ^ i = 1 , and, since d ≤ ( 1 − ε ) n d\le(1-\varepsilon)n d ≤ ( 1 − ε ) n and T i ≤ v i ( M ) = d T_i\le v_i(M)=d T i ≤ v i ( M ) = d ,
x ^ i ( ⊥ ) = 1 − d n − γ T i n ≥ ε − γ T i n ≥ γ ( 1 − T i n ) ≥ 0. \hat{x}_i(\bot)=1-\frac{d}{n}-\frac{\gamma T_i}{n}\ge\varepsilon-\frac{\gamma T_i}{n}\ge\gamma\left(1-\frac{T_i}{n}\right)\ge0. x ^ i ( ⊥ ) = 1 − n d − n γ T i ≥ ε − n γ T i ≥ γ ( 1 − n T i ) ≥ 0.
Note that only the agents i ∈ N i\in N i ∈ N with T i > 0 T_i>0 T i > 0 are allowed to choose π = ∅ \pi=\varnothing π = ∅ . If T i = 0 T_i=0 T i = 0 , then all positive-valued items in M M M are head items for i i i , and (by Lemma 3.2) every MMS profile of agent i i i has Δ ( π i , j ) = 0 \Delta(\pi_{i,j})=0 Δ ( π i , j ) = 0 . As a result, if T i = 0 T_i=0 T i = 0 then for every profile π ∈ Π − ⊥ \pi\in\Pi-\bot π ∈ Π − ⊥ with x ^ i ( π ) > 0 \hat{x}_i(\pi)>0 x ^ i ( π ) > 0 it holds Δ ( π ) = 0 \Delta(\pi)=0 Δ ( π ) = 0 — exactly the property we need in Lemma 3.1.
It is easy to see that
I ( x ^ , Π ) = ∑ i ∈ N ∑ π ≠ ⊥ x ^ i ( π ) = ∑ i ∈ N ( d n + γ T i n ) = d + γ T ‾ ≥ d + ρ q , n . \mathcal{I}(\hat{x},\Pi)=\sum_{i\in N}\sum_{\pi\ne\bot}\hat{x}_i(\pi)=\sum_{i\in N}\left(\frac{d}{n}+\frac{\gamma T_i}{n}\right)=d+\gamma\overline{T}\ge d+\rho_{q,n}. I ( x ^ , Π ) = i ∈ N ∑ π = ⊥ ∑ x ^ i ( π ) = i ∈ N ∑ ( n d + n γ T i ) = d + γ T ≥ d + ρ q , n .
In addition, since P i ( ∅ , ℓ ) = 0 = P i ( ⊥ , ℓ ) \mathcal{P}_i(\varnothing,\ell)=0=\mathcal{P}_i(\bot,\ell) P i ( ∅ , ℓ ) = 0 = P i ( ⊥ , ℓ ) for every i , ℓ i,\ell i , ℓ , it holds H ( x ^ , Π , ℓ ) = H ( x ∗ , Π , ℓ ) \mathcal{H}(\hat{x},\Pi,\ell)=\mathcal{H}(x^*,\Pi,\ell) H ( x ^ , Π , ℓ ) = H ( x ∗ , Π , ℓ ) for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m . When it comes to tail load, by Lemma 3.2 for every i ∈ N i\in N i ∈ N with T i > 0 T_i>0 T i > 0 :
τ i ( x ^ i , Π ) = ∑ π ∈ Π x ^ i ( π ) ⋅ τ i ( π ) = 1 n T i ∑ j = 1 d Δ ( π i , j ) + γ T i n ⋅ Δ ( ∅ ) T i ≤ 1 − 1 / q n + γ ( 1 − 1 / q ) n ≤ 1 n ( 1 − 1 2 q − 1 2 q 2 ) ≤ 1 λ n , \begin{aligned}
\tau_i(\hat{x}_i,\Pi)=\sum_{\pi\in\Pi}\hat{x}_i(\pi)\cdot\tau_i(\pi)=\frac{1}{nT_i}\sum_{j=1}^{d}\Delta(\pi_{i,j})+\frac{\gamma T_i}{n}\cdot\frac{\Delta(\varnothing)}{T_i}\le\frac{1-1/q}{n}+\frac{\gamma(1-1/q)}{n} \\
&\le\frac{1}{n}\left(1-\frac{1}{2q}-\frac{1}{2q^2}\right)\le\frac{1}{\lambda n},
\end{aligned} τ i ( x ^ i , Π ) = π ∈ Π ∑ x ^ i ( π ) ⋅ τ i ( π ) = n T i 1 j = 1 ∑ d Δ ( π i , j ) + n γ T i ⋅ T i Δ ( ∅ ) ≤ n 1 − 1/ q + n γ ( 1 − 1/ q ) ≤ n 1 ( 1 − 2 q 1 − 2 q 2 1 ) ≤ λn 1 ,
using γ ≤ 1 / ( 2 q ) \gamma\le1/(2q) γ ≤ 1/ ( 2 q ) and λ = 2 q 2 q − 1 \lambda=\frac{2q}{2q-1} λ = 2 q − 1 2 q . So, τ ( x ^ , Π ) = ∑ i ∈ N τ i ( x ^ i , Π ) ≤ 1 / λ \tau(\hat{x},\Pi)=\sum_{i\in N}\tau_i(\hat{x}_i,\Pi)\le1/\lambda τ ( x ^ , Π ) = ∑ i ∈ N τ i ( x ^ i , Π ) ≤ 1/ λ and for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m ,
T ( x ^ , Π , ℓ ) = ∑ i ∈ N τ i ( x ^ i , Π ) ⋅ ( ℓ − h i ) + ≤ 1 λ n ∑ i ∈ N ( ℓ − h i ) + . \mathcal{T}(\hat{x},\Pi,\ell)=\sum_{i\in N}\tau_i(\hat{x}_i,\Pi)\cdot(\ell-h_i)_+\le\frac{1}{\lambda n}\sum_{i\in N}(\ell-h_i)_+. T ( x ^ , Π , ℓ ) = i ∈ N ∑ τ i ( x ^ i , Π ) ⋅ ( ℓ − h i ) + ≤ λn 1 i ∈ N ∑ ( ℓ − h i ) + .
By construction, for every π ∈ Π \pi\in\Pi π ∈ Π we have ∣ π ∣ ≤ q |\pi|\le q ∣ π ∣ ≤ q (as each demand in π i , j \pi_{i,j} π i , j -s is at least 1 / q 1/q 1/ q ). In addition, for every π ∈ Π − ⊥ \pi\in\Pi-\bot π ∈ Π − ⊥ , both v ( π ) v(\pi) v ( π ) and 1 − 1 / q 1-1/q 1 − 1/ q are integer multiples of 1 / q 2 1/q^2 1/ q 2 . So, if Δ ( π ) = ( 1 − 1 / q − v ( π ) ) > 0 \Delta(\pi)=(1-1/q-v(\pi))>0 Δ ( π ) = ( 1 − 1/ q − v ( π )) > 0 , then it must hold Δ ( π ) ≥ 1 / q 2 \Delta(\pi)\ge1/q^2 Δ ( π ) ≥ 1/ q 2 . We apply Theorem 3.2 to ( x ^ , Π ) (\hat{x},\Pi) ( x ^ , Π ) with λ = 2 q 2 q − 1 \lambda=\frac{2q}{2q-1} λ = 2 q − 1 2 q and δ = 1 / q 2 \delta=1/q^2 δ = 1/ q 2 , and obtain integral profiles ( y , Π ) (y,\Pi) ( y , Π ) such that
H ( y , Π , ℓ ) ≤ H ( x ^ , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{H}(y,\Pi,\ell)\le\mathcal{H}(\hat{x},\Pi,\ell),\qquad\forall0\le\ell\le m, H ( y , Π , ℓ ) ≤ H ( x ^ , Π , ℓ ) , ∀0 ≤ ℓ ≤ m ,
T ( y , Π , ℓ ) ≤ λ T ( x ^ , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{T}(y,\Pi,\ell)\le\lambda\mathcal{T}(\hat{x},\Pi,\ell),\qquad\forall0\le\ell\le m, T ( y , Π , ℓ ) ≤ λ T ( x ^ , Π , ℓ ) , ∀0 ≤ ℓ ≤ m ,
I ( y , Π ) ≥ I ( x ^ , Π ) − ρ ( q , 1 / q 2 , X ^ ) , \mathcal{I}(y,\Pi)\ge\mathcal{I}(\hat{x},\Pi)-\rho(q,1/q^2,\widehat{X}), I ( y , Π ) ≥ I ( x ^ , Π ) − ρ ( q , 1/ q 2 , X ) ,
where X ^ = ∣ { ( i , π ) : 0 < x ^ i ( π ) < 1 } ∣ \widehat{X}=|\{(i,\pi):0<\hat{x}_i(\pi)<1\}| X = ∣ {( i , π ) : 0 < x ^ i ( π ) < 1 } ∣ . Let I ⊆ N I \subseteq N I ⊆ N be a set of size I ( y , Π ) \mathcal{I}(y,\Pi) I ( y , Π ) , where i ∈ I i \in I i ∈ I if and only if y i ( ⊥ ) = 0 y_i(\perp)=0 y i ( ⊥ ) = 0 . Let π i ∈ Π − ⊥ \pi_i \in\Pi-\perp π i ∈ Π − ⊥ be the profile such that y i ( π i ) = 1 y_i(\pi_i)=1 y i ( π i ) = 1 , and Π I : = { π i } i ∈ I \Pi_I := \{\pi_i\}_{i\in I} Π I := { π i } i ∈ I . Theorem 3.2 guarantees us that if T i = 0 T_i=0 T i = 0 then Δ ( π i ) = 0 \Delta(\pi_i)=0 Δ ( π i ) = 0 , as T i = 0 T_i=0 T i = 0 implies x ^ i ( π ) > 0 \hat{x}_i(\pi)>0 x ^ i ( π ) > 0 only if Δ ( π ) = 0 \Delta(\pi)=0 Δ ( π ) = 0 , and y i ( π ) > 0 y_i(\pi)>0 y i ( π ) > 0 only when x i ( π ) > 0 x_i(\pi)>0 x i ( π ) > 0 . In addition, for every prefix 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m , using H ( x ^ , Π , ℓ ) = H ( x ∗ , Π , ℓ ) \mathcal{H}(\hat{x},\Pi,\ell)=\mathcal{H}(x^*,\Pi,\ell) H ( x ^ , Π , ℓ ) = H ( x ∗ , Π , ℓ ) and Lemma 3.2,
P ( Π I , ℓ ) + ∑ i ∈ I τ i ( π i ) ⋅ ( ℓ − h i ) + = H ( y , Π , ℓ ) + ∑ i ∈ I ∑ π y i ( π ) ⋅ τ i ( π ) ( ℓ − h i ) + = H ( y , Π , ℓ ) + T ( y , Π , ℓ ) ≤ H ( x ^ , Π , ℓ ) + λ T ( x ^ , Π , ℓ ) ≤ ℓ − 1 n ∑ i ∈ N ( ℓ − h i ) + + 1 n ∑ i ∈ N ( ℓ − h i ) + = ℓ . \begin{aligned}
\mathcal{P}(\Pi_I,\ell)+\sum_{i\in I}\tau_i(\pi_i)\cdot(\ell-h_i)_+
=\mathcal{H}(y,\Pi,\ell)+\sum_{i\in I}\sum_{\pi}y_i(\pi)\cdot\tau_i(\pi)(\ell-h_i)_+ \\
&=\mathcal{H}(y,\Pi,\ell)+\mathcal{T}(y,\Pi,\ell)\le\mathcal{H}(\hat{x},\Pi,\ell)+\lambda\mathcal{T}(\hat{x},\Pi,\ell) \\
&\le\ell-\frac{1}{n}\sum_{i\in N}(\ell-h_i)_++\frac{1}{n}\sum_{i\in N}(\ell-h_i)_+=\ell.
\end{aligned} P ( Π I , ℓ ) + i ∈ I ∑ τ i ( π i ) ⋅ ( ℓ − h i ) + = H ( y , Π , ℓ ) + i ∈ I ∑ π ∑ y i ( π ) ⋅ τ i ( π ) ( ℓ − h i ) + = H ( y , Π , ℓ ) + T ( y , Π , ℓ ) ≤ H ( x ^ , Π , ℓ ) + λ T ( x ^ , Π , ℓ ) ≤ ℓ − n 1 i ∈ N ∑ ( ℓ − h i ) + + n 1 i ∈ N ∑ ( ℓ − h i ) + = ℓ .
It remains to estimate the number of selected agents ∣ I ∣ |I| ∣ I ∣ . Clearly,
∣ I ∣ = I ( y , Π ) ≥ I ( x ^ , Π ) − ρ ( q , 1 / q 2 , X ^ ) ≥ d + ρ q , n − ρ ( q , 1 / q 2 , X ^ ) . |I|=\mathcal{I}(y,\Pi)\ge\mathcal{I}(\hat{x},\Pi)-\rho(q,1/q^2,\hat{X})\ge d+\rho_{q,n}-\rho(q,1/q^2,\hat{X}). ∣ I ∣ = I ( y , Π ) ≥ I ( x ^ , Π ) − ρ ( q , 1/ q 2 , X ^ ) ≥ d + ρ q , n − ρ ( q , 1/ q 2 , X ^ ) .
The total number X ^ \hat{X} X ^ of strictly fractional entries in x ^ \hat{x} x ^ is at most ( d + 2 ) ⋅ n (d+2)\cdot n ( d + 2 ) ⋅ n , as every agent contributes at most d d d from MMS profiles π i , j \pi_{i,j} π i , j , as well as ∅ \varnothing ∅ and ⊥ \perp ⊥ . In addition, for every agent i ∈ N i\in N i ∈ N it holds h i ≤ q d h_i\le qd h i ≤ q d , as v i ( M ) = d v_i(M)=d v i ( M ) = d and every head item has value at least 1 / q 1/q 1/ q . Combining this with T i ≤ v i ( M ) ≤ d T_i\le v_i(M)\le d T i ≤ v i ( M ) ≤ d , we get
ρ ( q , 1 / q 2 , X ^ ) = 8 + 4 log λ max { q 2 h max T max X ^ τ ( x ^ , Π ) } + 8 q log max { 1 , X ^ } \rho(q,1/q^2,\hat{X})=8+4\log_{\lambda}\max\left\{q^2h_{\max}T_{\max}\hat{X}\tau(\hat{x},\Pi)\right\}+8q\log\max\{1,\hat{X}\} ρ ( q , 1/ q 2 , X ^ ) = 8 + 4 log λ max { q 2 h m a x T m a x X ^ τ ( x ^ , Π ) } + 8 q log max { 1 , X ^ }
≤ 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) = ρ q , n . \le8+4\log_{\lambda}\left(q^3d^2(d+2)n\right)+8q\log\left((d+2)n\right)=\rho_{q,n}. ≤ 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) = ρ q , n .
Thus, ∣ I ∣ ≥ d + ρ q , n − ρ ( q , 1 / q 2 , X ^ ) ≥ d |I|\ge d+\rho_{q,n}-\rho(q,1/q^2,\hat{X})\ge d ∣ I ∣ ≥ d + ρ q , n − ρ ( q , 1/ q 2 , X ^ ) ≥ d . This finishes the proof.
Small tail case
When average tail T ‾ \overline{T} T is small, i.e T ‾ ≤ O ε , q ( log n ) \overline{T}\le O_{\varepsilon,q}(\log n) T ≤ O ε , q ( log n ) , the available tail value may not be enough to compensate a selected the agent i ∈ N i\in N i ∈ N if we assign him an empty profile ∅ \varnothing ∅ . For example, if T ‾ = 0 \overline{T}=0 T = 0 , i.e there are no tail items at all, using the rounding of Theorem 3.2 on the fractional MMS profiles ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) will leave us with only d − O ε , q ( log n ) d-O_{\varepsilon,q}(\log n) d − O ε , q ( log n ) agents. We will have to somehow get another O ε , q ( log n ) O_{\varepsilon,q}(\log n) O ε , q ( log n ) agents for the desired d d d , without violating the prefix load constraints. Nevertheless, Theorem 3.2 provides us with a good starting point, as we can get integral profiles for most agents by rounding the fractional MMS profiles. As we will show below, it is actually possible to guarantee something even stronger: Theorem 3.2 can give most agents profiles with deficit 0, while using only a subset of items.
As mentioned earlier, on a high level our approach in the small case is as follows. First, we will split the item set M M M into M = E + S M=E+S M = E + S , where S S S is relatively small, and put items S S S aside. Then, we will use Theorem 3.2 to choose d − O ε , q ( log n ) d-O_{\varepsilon,q}(\log n) d − O ε , q ( log n ) agents with profiles that are satisfied exclusively by items E E E , and have no deficit. After that, we will choose a small set of unselected agents to get a total of d d d . These agents will be selected carefully, so that 1) there additional prefix load w.r.t items E E E fits together with agents assigned earlier, and 2) all their S S S demands can be satisfied using distinct items of S S S .
Partial assignment
First, consider an arbitrary partition M = E + S M=E+S M = E + S . We extend the definition of MMS profiles π i , j \pi_{i,j} π i , j to sub-profiles that use only items from E E E or S S S respectively.
Definition 4.1. For every agent i ∈ N i \in N i ∈ N , let B i = { B i , 1 , … , B i , d } B_i = \{B_{i,1}, \ldots, B_{i,d}\} B i = { B i , 1 , … , B i , d } denote the d d d -partition of M M M witnessing MMS ( M , v i , d ) \operatorname{MMS}(M,v_i,d) MMS ( M , v i , d ) , for every B i , j ∈ B i B_{i,j} \in B_i B i , j ∈ B i it holds v i ( B i , j ) = 1 v_i(B_{i,j}) = 1 v i ( B i , j ) = 1 . For a given partition M = E + S M = E + S M = E + S , for every j ∈ [ d ] j \in[d] j ∈ [ d ] , define
π i , j E : = { ⌊ q 2 ⋅ v i ( e ) q 2 ⌋ : e ∈ B i , j ∩ E , v i ( e ) ≥ 1 / q } , \pi_{i,j}^{E} := \left\{ \left\lfloor\frac{q^2 \cdot v_i(e)}{q^2} \right\rfloor: e \in B_{i,j} \cap E, v_i(e) \ge1/q \right\}, π i , j E := { ⌊ q 2 q 2 ⋅ v i ( e ) ⌋ : e ∈ B i , j ∩ E , v i ( e ) ≥ 1/ q } ,
π i , j S : = { ⌊ q 2 ⋅ v i ( e ) q 2 ⌋ : e ∈ B i , j ∩ S , v i ( e ) ≥ 1 / q } . \pi_{i,j}^{S} := \left\{ \left\lfloor\frac{q^2 \cdot v_i(e)}{q^2} \right\rfloor: e \in B_{i,j} \cap S, v_i(e) \ge1/q \right\}. π i , j S := { ⌊ q 2 q 2 ⋅ v i ( e ) ⌋ : e ∈ B i , j ∩ S , v i ( e ) ≥ 1/ q } .
It is clear that for every π i , j \pi_{i,j} π i , j it holds π i , j = π i , j E ⊎ π i , j S \pi_{i,j} = \pi_{i,j}^{E} \uplus\pi_{i,j}^{S} π i , j = π i , j E ⊎ π i , j S , where ⊎ \uplus ⊎ is union with multiplicities.
Let V ⊆ N V \subseteq N V ⊆ N be an arbitrary set of at least d d d agents. The following theorem establishes that, as long as the average tail is small, for any partition M = E + S M = E + S M = E + S it is always possible to select at least d − ∣ S ∣ − O ε , q ( log n ) d - |S| - O_{\varepsilon,q}(\log n) d − ∣ S ∣ − O ε , q ( log n ) agents A ⊆ V A \subseteq V A ⊆ V and assign to them head profiles so that
all profiles have zero deficit (so agents are satisfied already from the head items only);
all profiles are simultaneously satisfiable using distinct items of set E E E only.
We prove it by observing that, in the small tail case, the number of MMS-profiles with positive deficit is small, and then apply of the rounding Theorem 3.2 to the profiles π i , j \pi_{i,j} π i , j that 1) have zero deficit and 2) consist of only E E E -demands, i.e π i , j = π i , j E \pi_{i,j} = \pi_{i,j}^{E} π i , j = π i , j E .
Theorem 4.1 (Partial selection). Let M = E + S M = E + S M = E + S be any partition of the items, and let V ⊆ N V \subseteq N V ⊆ N satisfy ∣ V ∣ ≥ d |V| \ge d ∣ V ∣ ≥ d . There exists set A ⊆ V A \subseteq V A ⊆ V , and for every i ∈ A i \in A i ∈ A a profile choice j i ∈ [ d ] j_i \in[d] j i ∈ [ d ] , such that
profile π i : = π i , j i \pi_i := \pi_{i,j_i} π i := π i , j i assigned to i i i satisfies Δ ( π i , j i ) = 0 \Delta(\pi_{i,j_i}) = 0 Δ ( π i , j i ) = 0 and π i , j i S = ∅ \pi_{i,j_i}^{S} = \varnothing π i , j i S = ∅ (i.e, π i , j i E = π i , j i \pi_{i,j_i}^{E} = \pi_{i,j_i} π i , j i E = π i , j i );
∑ i ∈ A P i ( π i , ℓ ) ≤ 1 ∣ V ∣ ∑ i ∈ V ∑ j = 1 d P i ( π i , j E , ℓ ) ; \sum_{i\in A} \mathcal{P}_i(\pi_i,\ell) \le\frac{1}{|V|}\sum_{i\in V}\sum_{j=1}^{d} \mathcal{P}_i(\pi_{i,j}^{E},\ell); i ∈ A ∑ P i ( π i , ℓ ) ≤ ∣ V ∣ 1 i ∈ V ∑ j = 1 ∑ d P i ( π i , j E , ℓ ) ; ∣ A ∣ ≥ d − ∣ S ∣ − q ( q − 1 ) ∣ V ∣ ∑ i ∈ V T i − ρ A . |A| \ge d - |S| - \frac{q(q-1)}{|V|}\sum_{i\in V} T_i - \rho_A. ∣ A ∣ ≥ d − ∣ S ∣ − ∣ V ∣ q ( q − 1 ) i ∈ V ∑ T i − ρ A . I.e, when ∣ S ∣ = O ε , q ( log n ) |S| = O_{\varepsilon,q}(\log n) ∣ S ∣ = O ε , q ( log n ) , T ‾ = O ε , q ( log n ) \overline{T} = O_{\varepsilon,q}(\log n) T = O ε , q ( log n ) and ∣ V ∣ ≥ 3 n / 4 |V| \ge3n/4 ∣ V ∣ ≥ 3 n /4 have ∣ A ∣ ≥ d − O ε , q ( log n ) |A| \ge d - O_{\varepsilon,q}(\log n) ∣ A ∣ ≥ d − O ε , q ( log n ) .
Proof. For every agent i ∈ V i \in V i ∈ V , take the set J i J_i J i of zero deficit profiles π i , j \pi_{i,j} π i , j that only use items E E E :
J i : = { j ∈ [ d ] : Δ ( π i , j ) = 0 and π i , j S = 0 } . J_i := \{j \in[d] : \Delta(\pi_{i,j}) = 0 \text{ and } \pi_{i,j}^{S} = 0\}. J i := { j ∈ [ d ] : Δ ( π i , j ) = 0 and π i , j S = 0 } .
First we bound the size of J i J_i J i . If π i , j S ≠ ∅ \pi_{i,j}^{S} \ne\varnothing π i , j S = ∅ , then B i , j B_{i,j} B i , j contains an item from S S S . Since all bundles B i , j B_{i,j} B i , j are disjoint, removing all profiles j j j with π i , j S ≠ ∅ \pi_{i,j}^{S} \ne\varnothing π i , j S = ∅ leaves us with at least d − ∣ S ∣ d-|S| d − ∣ S ∣ profiles. Next, since both v ( π i , j ) v(\pi_{i,j}) v ( π i , j ) and 1 − 1 / q 1-1/q 1 − 1/ q are integer multiples of 1 / q 2 1/q^2 1/ q 2 , if Δ ( π i , j ) = ( 1 − 1 / q − v ( π i , k ) ) > 0 \Delta(\pi_{i,j}) = (1-1/q-v(\pi_{i,k})) > 0 Δ ( π i , j ) = ( 1 − 1/ q − v ( π i , k )) > 0 , then necessarily Δ ( π i , j ) ≥ 1 / q 2 \Delta(\pi_{i,j}) \ge1/q^2 Δ ( π i , j ) ≥ 1/ q 2 . By Lemma 3.2 we have ∑ j = 1 d Δ ( π i , j ) ≤ ( 1 − 1 / q ) T i \sum_{j=1}^{d}\Delta(\pi_{i,j}) \le(1-1/q)T_i ∑ j = 1 d Δ ( π i , j ) ≤ ( 1 − 1/ q ) T i , implying that the number of j ∈ [ d ] j \in[d] j ∈ [ d ] such that Δ ( π i , j ) > 0 \Delta(\pi_{i,j}) > 0 Δ ( π i , j ) > 0 is at most q 2 ( 1 − 1 / q ) T i = q ( q − 1 ) T i q^2(1-1/q)T_i = q(q-1)T_i q 2 ( 1 − 1/ q ) T i = q ( q − 1 ) T i . Thus,
∣ J i ∣ ≥ d − ∣ S ∣ − q ( q − 1 ) T i . |J_i| \ge d - |S| - q(q-1)T_i. ∣ J i ∣ ≥ d − ∣ S ∣ − q ( q − 1 ) T i .
We now construct the fractional profiles ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) , where Π = { ∅ , 1 } + ⋃ i ∈ N { π i , j : j ∈ [ d ] } \Pi= \{\varnothing,\mathbf{1}\} + \bigcup_{i\in N}\{\pi_{i,j}:j\in[d]\} Π = { ∅ , 1 } + ⋃ i ∈ N { π i , j : j ∈ [ d ]} is the common set of profiles of all agents N N N . We define x ∗ x^* x ∗ so that the rounding algorithm may choose only agents from V V V , and each of these agents i i i can be assigned only a profile from J i \mathcal{J}_i J i . First, for i ∉ V i \notin V i ∈ / V , set x i ∗ ( ⊥ ) = 1 x_i^*(\perp)=1 x i ∗ ( ⊥ ) = 1 and x i ∗ ( π ) = 0 x_i^*(\pi)=0 x i ∗ ( π ) = 0 for every other π ≠ ⊥ \pi\ne\perp π = ⊥ — this ensures that we only choose agents from V V V . Then, for i ∈ V i \in V i ∈ V , set
x i ∗ ( ⊥ ) = 1 − ∣ J i ∣ ∣ V ∣ , ∀ π ≠ ⊥ : x i ∗ ( π ) = ∣ { j ∈ J i : π i , j = π } ∣ ∣ V ∣ . x_i^*(\perp)=1-\frac{|\mathcal{J}_i|}{|V|}, \qquad\forall\pi\ne\perp:\ x_i^*(\pi)=\frac{|\{j\in\mathcal{J}_i:\pi_{i,j}=\pi\}|}{|V|}. x i ∗ ( ⊥ ) = 1 − ∣ V ∣ ∣ J i ∣ , ∀ π = ⊥: x i ∗ ( π ) = ∣ V ∣ ∣ { j ∈ J i : π i , j = π } ∣ .
As ∣ J i ∣ ≤ d ≤ ∣ V ∣ |\mathcal{J}_i|\le d\le|V| ∣ J i ∣ ≤ d ≤ ∣ V ∣ , these are valid fractional profiles. The expected number of selected agents is
I ( x ∗ , Π ) = ∑ i ∈ N ∑ π ≠ ⊥ x i ∗ ( π ) = ∑ i ∈ V ∣ J i ∣ ∣ V ∣ ≥ d − ∣ S ∣ − q ( q − 1 ) V ∑ i ∈ V T i . \mathcal{I}(x^*,\Pi)=\sum_{i\in N}\sum_{\pi\ne\perp}x_i^*(\pi)=\sum_{i\in V}\frac{|\mathcal{J}_i|}{|V|}\ge d-|S|-\frac{q(q-1)}{V}\sum_{i\in V}T_i. I ( x ∗ , Π ) = i ∈ N ∑ π = ⊥ ∑ x i ∗ ( π ) = i ∈ V ∑ ∣ V ∣ ∣ J i ∣ ≥ d − ∣ S ∣ − V q ( q − 1 ) i ∈ V ∑ T i .
Next, let i ∈ V i\in V i ∈ V and 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m . Consider some demand α ∈ π i , j \alpha\in\pi_{i,j} α ∈ π i , j for j ∈ J i j\in\mathcal{J}_i j ∈ J i , the item e ∈ B i , j e\in B_{i,j} e ∈ B i , j inducing this α \alpha α belongs E E E . Every demand α \alpha α counted in P i ( π i , j , ℓ ) = ∣ { α ∈ π i , j : m i ( α ) ≤ ℓ } ∣ \mathcal{P}_i(\pi_{i,j},\ell)=|\{\alpha\in\pi_{i,j}:m_i(\alpha)\le\ell\}| P i ( π i , j , ℓ ) = ∣ { α ∈ π i , j : m i ( α ) ≤ ℓ } ∣ has breakpoint at most ℓ \ell ℓ , so the item e e e inducing this α \alpha α also lies in { 1 , … , ℓ } \{1,\ldots,\ell\} { 1 , … , ℓ } . Since all such items e e e are different across the MMS bundles B i , j B_{i,j} B i , j , we get that
∑ j ∈ J i P i ( π i , j , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ . \sum_{j\in\mathcal{J}_i}\mathcal{P}_i(\pi_{i,j},\ell)\le|E\cap[\ell]|. j ∈ J i ∑ P i ( π i , j , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣.
Averaging over V V V , we get that for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m the fractional ℓ \ell ℓ -prefix head load of x ∗ x^* x ∗ satisfies
H ( x ∗ , Π , ℓ ) = 1 ∣ V ∣ ∑ i ∈ V ∑ j ∈ J i P i ( π i , j , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ . \mathcal{H}(x^*,\Pi,\ell)=\frac{1}{|V|}\sum_{i\in V}\sum_{j\in\mathcal{J}_i}\mathcal{P}_i(\pi_{i,j},\ell)\le|E\cap[\ell]|. H ( x ∗ , Π , ℓ ) = ∣ V ∣ 1 i ∈ V ∑ j ∈ J i ∑ P i ( π i , j , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣.
As all deficits are zero, ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) generates no tail load at all, and τ ( x , Π ) = 0 \tau(x,\Pi)=0 τ ( x , Π ) = 0 as well as T ( x ∗ , Π , ℓ ) = 0 \mathcal{T}(x^*,\Pi,\ell)=0 T ( x ∗ , Π , ℓ ) = 0 for all 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m . We apply the rounding Theorem 3.2 to ( x ∗ , Π ) (x^*,\Pi) ( x ∗ , Π ) . The number X ∗ X^* X ∗ of strictly fractional entries of x ∗ x^* x ∗ is at most ( d + 1 ) ⋅ ∣ V ∣ ≤ ( d + 1 ) n ≤ n 2 (d+1)\cdot|V|\le(d+1)n\le n^2 ( d + 1 ) ⋅ ∣ V ∣ ≤ ( d + 1 ) n ≤ n 2 . So, Theorem 3.2 produces an integral profile ( y , Π ) (y,\Pi) ( y , Π ) such that, taking ρ ( q , 1 / q 2 , X ∗ ) ≤ 8 + 16 q log n = : ρ A \rho(q,1/q^2,X^*)\le8+16q\log n=:\rho_A ρ ( q , 1/ q 2 , X ∗ ) ≤ 8 + 16 q log n =: ρ A ,
∀ 0 ≤ ℓ ≤ m : H ( y , Π , ℓ ) ≤ H ( x ∗ , Π , ℓ ) and I ( y , Π ) ≥ I ( x , Π ) − ρ A . \forall0\le\ell\le m:\ \mathcal{H}(y,\Pi,\ell)\le\mathcal{H}(x^*,\Pi,\ell)\qquad\text{and}\qquad\mathcal{I}(y,\Pi)\ge\mathcal{I}(x,\Pi)-\rho_A. ∀0 ≤ ℓ ≤ m : H ( y , Π , ℓ ) ≤ H ( x ∗ , Π , ℓ ) and I ( y , Π ) ≥ I ( x , Π ) − ρ A .
Let A = { i ∈ N : y i ( ⊥ ) = 0 } A=\{i\in N:y_i(\perp)=0\} A = { i ∈ N : y i ( ⊥ ) = 0 } be the set of I ( y , Π ) \mathcal{I}(y,\Pi) I ( y , Π ) selected agents. Since y y y preserves the support of x ∗ x^* x ∗ , we must have A ⊆ V A\subseteq V A ⊆ V , and the profile π i ∈ Π \pi_i\in\Pi π i ∈ Π such that y i ( π i ) = 1 y_i(\pi_i)=1 y i ( π i ) = 1 must be of the form π i = π i , j i \pi_i=\pi_{i,j_i} π i = π i , j i for some j i ∈ J i j_i\in\mathcal{J}_i j i ∈ J i . Denoting Π A : = { π i , j i : i ∈ A } \Pi_A:=\{\pi_{i,j_i}:i\in A\} Π A := { π i , j i : i ∈ A } , we have for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m :
P ( Π A , ℓ ) = H ( y , Π , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ , \mathcal{P}(\Pi_A,\ell)=\mathcal{H}(y,\Pi,\ell)\le|E\cap[\ell]|, P ( Π A , ℓ ) = H ( y , Π , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ ,
so by Lemma 2.2 we can satisfy Π A \Pi_A Π A by distinct items of E E E . In addition, for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m ,
∑ i ∈ A P i ( π i , ℓ ) ≤ 1 ∣ V ∣ ∑ i ∈ V ∑ j = 1 d P i ( π i , j E , ℓ ) . \sum_{i\in A}\mathcal{P}_i(\pi_i,\ell)\le\frac{1}{|V|}\sum_{i\in V}\sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j}^{E},\ell). i ∈ A ∑ P i ( π i , ℓ ) ≤ ∣ V ∣ 1 i ∈ V ∑ j = 1 ∑ d P i ( π i , j E , ℓ ) .
Consider some partition M = E + S M=E+S M = E + S and some large set V ⊆ N V\subseteq N V ⊆ N , and apply Theorem 4.1. If the resulting set A ⊆ V A\subseteq V A ⊆ V satisfies ∣ A ∣ ≥ d |A|\ge d ∣ A ∣ ≥ d , we are done. Unfortunately, we do not know how to pick such E E E and V V V , and after the rounding we will most likely have ∣ A ∣ < d |A|<d ∣ A ∣ < d . However, assuming ∣ S ∣ |S| ∣ S ∣ and T ‾ \overline{T} T are at most O ε , q ( log n ) O_{\varepsilon,q}(\log n) O ε , q ( log n ) , we have d − ∣ A ∣ ≤ O ε , q ( log n ) d-|A|\le O_{\varepsilon,q}(\log n) d − ∣ A ∣ ≤ O ε , q ( log n ) too, so we need to add at most O ε , q ( log n ) O_{\varepsilon,q}(\log n) O ε , q ( log n ) additional agents to reach d d d . We will do it as follows.
Before applying Theorem 4.1, we will fix some set U ⊆ N − V U\subseteq N-V U ⊆ N − V of unused agents. Then, having obtained agents A ⊆ V A\subseteq V A ⊆ V , we will select some set A 0 ⊆ A A_0\subseteq A A 0 ⊆ A of them with assigned profiles { π i } i ∈ A 0 \{\pi_i\}_{i\in A_0} { π i } i ∈ A 0 from rounding, and add a small set of agents U 0 ⊆ U U_0\subseteq U U 0 ⊆ U with assigned profiles { π u } u ∈ U 0 \{\pi_u\}_{u\in U_0} { π u } u ∈ U 0 . These A 0 , U 0 A_0,U_0 A 0 , U 0 will satisfy ∣ A 0 ∣ + ∣ U 0 ∣ = d |A_0|+|U_0|=d ∣ A 0 ∣ + ∣ U 0 ∣ = d , and for every prefix 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m we will have
∑ i ∈ A 0 P i ( π i , ℓ ) + ∑ u ∈ U 0 P u ( π u , ℓ ) ≤ ℓ . \sum_{i\in A_0}\mathcal{P}_i(\pi_i,\ell)+\sum_{u\in U_0}\mathcal{P}_u(\pi_u,\ell)\le\ell. i ∈ A 0 ∑ P i ( π i , ℓ ) + u ∈ U 0 ∑ P u ( π u , ℓ ) ≤ ℓ .
For now we will not worry about additional slackness for tail completion, this will be handled later. The main question is, even without tails, how to select agents U 0 U_0 U 0 and assign to them profiles to guarantee the prefix load bound above, so that to ensure that both A 0 , U 0 A_0,U_0 A 0 , U 0 can be simultaneously satisfied using distinct items (i.e the condition of Lemma 2.2).
The key point is that agents A 0 A_0 A 0 will use only items from E E E , so it suffices to ensure that the E E E -demands of added agents U 0 U_0 U 0 fit together with A 0 A_0 A 0 . At the same time, agents U 0 U_0 U 0 will be able to use items S = M − E S=M-E S = M − E freely, and we need to pick U 0 U_0 U 0 so that their S S S -demands can be simultaneously satisfied by S S S . In the following subsection, we explain how exactly we define the partitions M = E + S M=E+S M = E + S and N = U + V + W N=U+V+W N = U + V + W to guarantee us such set U 0 ⊆ U U_0\subseteq U U 0 ⊆ U of sufficient size.
Saved items
Suppose that we selected agents A 0 ⊆ A A_0\subseteq A A 0 ⊆ A , keeping their profiles from Theorem 4.1, and additional agents U 0 ⊆ U U_0\subseteq U U 0 ⊆ U with newly assigned profiles { π u } u ∈ U 0 \{\pi_u\}_{u\in U_0} { π u } u ∈ U 0 , so that ∣ A 0 ∣ + ∣ U 0 ∣ = d |A_0|+|U_0|=d ∣ A 0 ∣ + ∣ U 0 ∣ = d . As mentioned earlier, for the profiles of A 0 , U 0 A_0,U_0 A 0 , U 0 together to be simultaneously satisfiable by distinct head items, these agents must preserve the prefix load condition. That is, for every 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m ,
∑ i ∈ A 0 P i ( π i , ℓ ) + ∑ u ∈ U 0 P u ( π u , ℓ ) ≤ ℓ . \sum_{i\in A_0}\mathcal{P}_i(\pi_i,\ell)+\sum_{u\in U_0}\mathcal{P}_u(\pi_u,\ell)\leq\ell. i ∈ A 0 ∑ P i ( π i , ℓ ) + u ∈ U 0 ∑ P u ( π u , ℓ ) ≤ ℓ .
Jumping ahead, for every agent u ∈ U 0 u\in U_0 u ∈ U 0 the assigned profile will be of the form π u ∗ , j \pi_{u_*,j} π u ∗ , j for some special agent u ∗ ∈ U u_*\in U u ∗ ∈ U (not necessarily u ∗ = u u_*=u u ∗ = u ) and some j ∈ [ d ] j\in[d] j ∈ [ d ] . Because of this, the decomposition π u : = π u E ⊎ π u S \pi_u:=\pi_u^E\mathbin{\uplus}\pi_u^S π u := π u E ⊎ π u S is well-defined also for profiles of agents u ∈ U 0 u\in U_0 u ∈ U 0 .
Observe that, for the demands of A 0 A_0 A 0 and U 0 U_0 U 0 to fit together into a prefix ℓ \ell ℓ , it suffices that the E E E -parts of their profiles fit in E ∩ [ ℓ ] E\cap[\ell] E ∩ [ ℓ ] , and the S S S -parts of their profiles fit in S ∩ [ ℓ ] S\cap[\ell] S ∩ [ ℓ ] . To see this, recall that agents i ∈ A 0 i\in A_0 i ∈ A 0 keep their assigned profiles π i = π i , j i \pi_i=\pi_{i,j_i} π i = π i , j i such that π i , j i S = ∅ \pi_{i,j_i}^S=\varnothing π i , j i S = ∅ (i.e π i = π i E \pi_i=\pi_i^E π i = π i E ), so they will only use items from E ∩ [ ℓ ] E\cap[\ell] E ∩ [ ℓ ] . Then, writing separate prefix load conditions on E E E -parts of A 0 , U 0 A_0,U_0 A 0 , U 0 and S S S -parts of U 0 U_0 U 0 only, we have for every 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m ,
∑ i ∈ A 0 P i ( π i E , ℓ ) + ∑ u ∈ U 0 P u ( π u E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ ; \sum_{i\in A_0}\mathcal{P}_i(\pi_i^E,\ell)+\sum_{u\in U_0}\mathcal{P}_u(\pi_u^E,\ell)\leq|E\cap[\ell]|; i ∈ A 0 ∑ P i ( π i E , ℓ ) + u ∈ U 0 ∑ P u ( π u E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ ;
∑ u ∈ U 0 P u ( π u S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ . \sum_{u\in U_0}\mathcal{P}_u(\pi_u^S,\ell)\leq|S\cap[\ell]|. u ∈ U 0 ∑ P u ( π u S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣.
Since M = E + S M=E+S M = E + S and P u ( π u , ℓ ) = P u ( π u E , ℓ ) + P u ( π u S , ℓ ) \mathcal{P}_u(\pi_u,\ell)=\mathcal{P}_u(\pi_u^E,\ell)+\mathcal{P}_u(\pi_u^S,\ell) P u ( π u , ℓ ) = P u ( π u E , ℓ ) + P u ( π u S , ℓ ) , together (E) and (S) imply
∑ i ∈ A 0 P i ( π i , ℓ ) + ∑ u ∈ U 0 P u ( π u , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ + ∣ S ∩ [ ℓ ] ∣ = ℓ . \sum_{i\in A_0}\mathcal{P}_i(\pi_i,\ell)+\sum_{u\in U_0}\mathcal{P}_u(\pi_u,\ell)\leq|E\cap[\ell]|+|S\cap[\ell]|=\ell. i ∈ A 0 ∑ P i ( π i , ℓ ) + u ∈ U 0 ∑ P u ( π u , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ + ∣ S ∩ [ ℓ ] ∣ = ℓ .
We will first focus on condition (E). Theorem 4.1 guarantees us that for every 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m ,
∑ i ∈ A 0 P i ( π i E , ℓ ) ≤ 1 ∣ V ∣ ∑ i ∈ V ∑ j = 1 d P i ( π i , j E , ℓ ) . \sum_{i\in A_0}\mathcal{P}_i(\pi_i^E,\ell)\leq\frac{1}{|V|}\sum_{i\in V}\sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j}^E,\ell). i ∈ A 0 ∑ P i ( π i E , ℓ ) ≤ ∣ V ∣ 1 i ∈ V ∑ j = 1 ∑ d P i ( π i , j E , ℓ ) .
We would like to pick sets E ⊆ M E\subseteq M E ⊆ M and V ⊆ N V\subseteq N V ⊆ N in such a way, that the expression above has enough slackness with respect to ∣ E ∩ [ ℓ ] ∣ |E\cap[\ell]| ∣ E ∩ [ ℓ ] ∣ to absorb additional load ∑ u ∈ U 0 P u ( π u E , ℓ ) \sum_{u\in U_0}\mathcal{P}_u(\pi_u^E,\ell) ∑ u ∈ U 0 P u ( π u E , ℓ ) . We can give the following crude upper bound on the additional load of U 0 U_0 U 0 . For every 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m ,
∑ u ∈ U 0 P u ( π u E , ℓ ) ≤ ∑ u ∈ U 0 ∣ π u E ∣ ≤ q ∣ U 0 ∣ , \sum_{u\in U_0}\mathcal{P}_u(\pi_u^E,\ell)\leq\sum_{u\in U_0}|\pi_u^E|\leq q|U_0|, u ∈ U 0 ∑ P u ( π u E , ℓ ) ≤ u ∈ U 0 ∑ ∣ π u E ∣ ≤ q ∣ U 0 ∣ ,
since MMS profiles have at most q q q head demands. Then, to ensure condition (E), it suffices to pick E ⊆ M E\subseteq M E ⊆ M and V ⊆ N V\subseteq N V ⊆ N , and then select set U 0 ⊆ U U_0\subseteq U U 0 ⊆ U , so that for all 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m , there is sufficient slackness at prefix ℓ \ell ℓ :
1 ∣ V ∣ ∑ i ∈ V ∑ j = 1 d P i ( π i , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ − q ∣ U 0 ∣ . (1) \frac{1}{|V|}\sum_{i\in V}\sum_{j=1}^{d}\mathcal{P}_i(\pi_{i,j}^E,\ell)\leq|E\cap[\ell]|-q|U_0|. \tag*{(1)} ∣ V ∣ 1 i ∈ V ∑ j = 1 ∑ d P i ( π i , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ − q ∣ U 0 ∣. (1)
This condition turns out to be too strong. While the demands of P i , j E \mathcal{P}^{E}_{i,j} P i , j E originate from items of E E E , they need not have their breakpoints in E E E . So, as ℓ \ell ℓ increases, the lefthand side of the expression above may increase substantially, while the righthand side stays unchanged (i.e, when ℓ ∈ S \ell\in S ℓ ∈ S ). Here is when the choice of S S S comes into play. Using S S S , we will define a special set L S ⊂ S L_S \subset S L S ⊂ S of protected prefixes , of size at most 2 q 2 2q^2 2 q 2 . For each prefix ℓ s ∈ L S \ell_s \in L_S ℓ s ∈ L S , we will enforce
∑ i ∈ A 0 P i E ( π , ℓ s ) + ∑ u ∈ U 0 P u E ( π , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ . (2) \sum_{i\in A_0}\mathcal{P}_{i}^{E}(\pi,\ell_s)+\sum_{u\in U_0}\mathcal{P}_{u}^{E}(\pi,\ell_s)\le|E\cap[\ell_s]|. \tag*{(2)} i ∈ A 0 ∑ P i E ( π , ℓ s ) + u ∈ U 0 ∑ P u E ( π , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣. (2)
The sets S S S and L S L_S L S will be chosen in such a way that, as long as the prefix load is preserved at every protected prefix ℓ s ∈ L S \ell_s \in L_S ℓ s ∈ L S , for some integer η ≃ q 2 q 2 ∣ S ∣ \eta\simeq q^{2q^2}|S| η ≃ q 2 q 2 ∣ S ∣ we have the following. For every ℓ ∈ E \ell\in E ℓ ∈ E that is a breakpoint of some agent i ∈ V i \in V i ∈ V , we get a lot of slackness in the fractional solution:
1 ∣ V ∣ ∑ i ∈ V ∑ j = 1 d P i ( π i , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ − η 3 . \frac{1}{|V|}\sum_{i\in V}\sum_{j=1}^{d}\mathcal{P}_{i}(\pi^{E}_{i,j},\ell)\le|E\cap[\ell]|-\frac{\eta}{3}. ∣ V ∣ 1 i ∈ V ∑ j = 1 ∑ d P i ( π i , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ − 3 η .
We will show that, with this choice of S S S and L S L_S L S , in order to guarantee that condition (E) holds for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m it suffices to choose U 0 ⊆ U U_0\subseteq U U 0 ⊆ U of size ∣ U 0 ∣ ≤ η / ( 3 q ) |U_0|\le\eta/(3q) ∣ U 0 ∣ ≤ η / ( 3 q ) that satisfies (*) for all protected prefixes ℓ s ∈ L S \ell_s\in L_S ℓ s ∈ L S . At the same time, we will need ∣ U 0 ∣ = d − ∣ A 0 ∣ ≥ d − ∣ A ∣ |U_0|=d-|A_0|\ge d-|A| ∣ U 0 ∣ = d − ∣ A 0 ∣ ≥ d − ∣ A ∣ . When ∣ S ∣ |S| ∣ S ∣ and T ‾ \overline{T} T are O ε , q ( log n ) O_{\varepsilon,q}(\log n) O ε , q ( log n ) , we get d − ∣ A ∣ ≤ c ε , q log n d-|A|\le c_{\varepsilon,q}\log n d − ∣ A ∣ ≤ c ε , q log n for some constant c ε , q c_{\varepsilon,q} c ε , q , so we need U 0 U_0 U 0 such that c ε , q log n ≤ ∣ U 0 ∣ ≤ η / 3 q = O ε , q ( ∣ S ∣ ) c_{\varepsilon,q}\log n\le|U_0|\le\eta/3q=O_{\varepsilon,q}(|S|) c ε , q log n ≤ ∣ U 0 ∣ ≤ η /3 q = O ε , q ( ∣ S ∣ ) . Taking n n n large enough will guarantee that such U 0 U_0 U 0 exists.
Construction of item/agent partitions
Our set S ⊆ M S\subseteq M S ⊆ M will be of the form
S = { a 1 , a 1 + 1 , … , b 1 } ∪ … ∪ { a t , a t + 1 , … , b t } . S=\{a_1,a_1+1,\ldots,b_1\}\cup\ldots\cup\{a_t,a_t+1,\ldots,b_t\}. S = { a 1 , a 1 + 1 , … , b 1 } ∪ … ∪ { a t , a t + 1 , … , b t } .
where each [ a s , b s ] [a_s,b_s] [ a s , b s ] for s ∈ [ t ] s\in[t] s ∈ [ t ] is a maximal consecutive interval of items from S S S . We will have that t ≤ 2 q 2 t\le2q^2 t ≤ 2 q 2 , and the length of each consecutive interval and the total size of S S S are both at most O ε , q ( log n ) O_{\varepsilon,q}(\log n) O ε , q ( log n ) . In addition, it will hold that a 1 = 1 a_1=1 a 1 = 1 , i.e S S S includes some prefix { 1 , … , b 1 } \{1,\ldots,b_1\} { 1 , … , b 1 } . The protected prefixes L S L_S L S will be the endpoints b s b_s b s for s ∈ [ t ] s\in[t] s ∈ [ t ] .
Put E = M − S E=M-S E = M − S . What is arguably more important for slackness bound is not necessarily the S S S itself, but a breakpoint-free region F ⊆ E F\subseteq E F ⊆ E defined by S S S . Specifically, after every interval [ a s , b s ] ⊆ S [a_s,b_s]\subseteq S [ a s , b s ] ⊆ S , s ∈ [ t ] s\in[t] s ∈ [ t ] , we will have another interval { b s + 1 , … , b s + η } \{b_s+1,\ldots,b_s+\eta\} { b s + 1 , … , b s + η } of length η ≥ q 2 q 2 ∣ S ∣ \eta\ge q^{2q^2}|S| η ≥ q 2 q 2 ∣ S ∣ , and
F = E ∩ ( { b 1 + 1 , … , b 1 + η } ∪ … ∪ { b t + 1 , … , b t + η } ) . F=E\cap(\{b_1+1,\ldots,b_1+\eta\}\cup\ldots\cup\{b_t+1,\ldots,b_t+\eta\}). F = E ∩ ({ b 1 + 1 , … , b 1 + η } ∪ … ∪ { b t + 1 , … , b t + η }) .
The set S S S and parameter η \eta η are picked in such a way that
the set of agents W ⊆ N W\subseteq N W ⊆ N that have any breakpoint in F F F satisfies ∣ W ∣ ≤ ε n / 8 |W|\le\varepsilon n/8 ∣ W ∣ ≤ ε n /8 ;
if ℓ ∈ E − F \ell\in E-F ℓ ∈ E − F is a breakpoint of some agent from N − W N-W N − W , then the whole interval ( ℓ − η , ℓ ] = { ℓ − η + 1 , … , ℓ } (\ell-\eta,\ell]=\{\ell-\eta+1,\ldots,\ell\} ( ℓ − η , ℓ ] = { ℓ − η + 1 , … , ℓ } lies in E E E , and there are at most n / 2 n/2 n /2 agents with breakpoints in ( ℓ − η , ℓ ] (\ell-\eta,\ell] ( ℓ − η , ℓ ] .
In a sense, set of saved items S S S defines a breakpoint-free region F ⊆ E F\subseteq E F ⊆ E that serves as a “buffer” for prefix load with respect to items E E E . The last property essentially says that the E E E -demands of agents from N − W N-W N − W are “well-spread” across the whole set of items E E E . It is exactly this property that will ensure that the total fractional load of agents V ⊆ N − W V\subseteq N-W V ⊆ N − W has slackness at least η / 3 \eta/3 η /3 .
We will also have partition agents N N N into sets N = U + V + W N=U+V+W N = U + V + W , where
W W W contains all agents with breakpoints in F F F , ∣ W ∣ ≤ ε n / 8 |W|\le\varepsilon n/8 ∣ W ∣ ≤ ε n /8 . We throw W W W away.
U U U contains ε n / 8 \varepsilon n/8 ε n /8 agents of N − W N-W N − W with largest heads h i h_i h i . The heads property will be needed later for tail completion, if there are no tails, U U U can be arbitrary subset of $N-W.
V = N − U − W V = N - U - W V = N − U − W contains most of the agents, i.e. ∣ V ∣ ≥ ( 1 − ε / 4 ) n |V| \ge(1 - \varepsilon/4)n ∣ V ∣ ≥ ( 1 − ε /4 ) n , and will participate in Theorem 4.1 together with E = M − S E = M - S E = M − S , which gives us the set A ⊆ V A \subseteq V A ⊆ V described earlier.
We will now establishes our choices of set W ⊂ N W \subset N W ⊂ N and S ⊂ M S \subset M S ⊂ M with desired properties. Consider the set Q Q Q of possible values of head demands:
Q : = { q + k q 2 : k ∈ { 0 , 1 , 2 , … , q 2 − q } } . Q := \left\{ \frac{q+k}{q^2} : k \in\{0,1,2,\ldots,q^2-q\} \right\}. Q := { q 2 q + k : k ∈ { 0 , 1 , 2 , … , q 2 − q } } .
Lemma 4.1 (Saved items). Let ε ∈ ( 0 , 1 ) \varepsilon\in(0,1) ε ∈ ( 0 , 1 ) , and let r 1 , C 1 ≥ 2 r_1, C_1 \ge2 r 1 , C 1 ≥ 2 , r 1 ≤ n r_1 \le n r 1 ≤ n be integers. There exist a set W ⊂ N W \subset N W ⊂ N of size ∣ W ∣ ≤ ε n / 8 |W| \le\varepsilon n/8 ∣ W ∣ ≤ ε n /8 and a set S ⊂ M S \subset M S ⊂ M of size r 1 ≤ ∣ S ∣ ≤ 2 q 2 C 1 8 q 2 / ε r 1 r_1 \le|S| \le2q^2 C_1^{8q^2/\varepsilon}r_1 r 1 ≤ ∣ S ∣ ≤ 2 q 2 C 1 8 q 2 / ε r 1 and of the form
S = { a 1 , a 1 + 1 , … , b 1 } ∪ ⋯ ∪ { a t , a t + 1 , … , b t } S = \{a_1,a_1+1,\ldots,b_1\} \cup\cdots\cup\{a_t,a_t+1,\ldots,b_t\} S = { a 1 , a 1 + 1 , … , b 1 } ∪ ⋯ ∪ { a t , a t + 1 , … , b t } for t ≤ 2 q 2 t \le2q^2 t ≤ 2 q 2 , where 1 ∈ S 1 \in S 1 ∈ S and each [ a s , b s ] ⊂ S [a_s,b_s] \subset S [ a s , b s ] ⊂ S , s ∈ [ t ] s \in[t] s ∈ [ t ] , is a maximal consecutive interval, with the following property. Let E = M − S E = M - S E = M − S . There exists integer η \eta η satisfying
η ≥ C 1 − 1 2 q 2 ∣ S ∣ , \eta\ge\frac{C_1-1}{2q^2}|S|, η ≥ 2 q 2 C 1 − 1 ∣ S ∣ , such that for every i ∈ N − W i \in N - W i ∈ N − W and every α ∈ Q \alpha\in Q α ∈ Q , if the breakpoint ℓ : = m i ( α ) \ell:= m_i(\alpha) ℓ := m i ( α ) belongs to E E E , then
ℓ ≥ η \ell\ge\eta ℓ ≥ η , and the η \eta η preceding items all belong to E E E , i.e. { ℓ − η + 1 , … , ℓ } ⊆ E \{\ell-\eta+1,\ldots,\ell\} \subseteq E { ℓ − η + 1 , … , ℓ } ⊆ E ;
the interval ( ℓ − η , ℓ ] (\ell-\eta,\ell] ( ℓ − η , ℓ ] contains at most n / 2 n/2 n /2 breakpoint occurrences, with repetitions. I.e.,
∣ { ( i , α ) : i ∈ N , α ∈ Q and ℓ − η < m i ( α ) ≤ ℓ } ∣ ≤ n / 2. |\{(i,\alpha): i \in N,\ \alpha\in Q\ \text{and}\ \ell-\eta< m_i(\alpha) \le\ell\}| \le n/2. ∣ {( i , α ) : i ∈ N , α ∈ Q and ℓ − η < m i ( α ) ≤ ℓ } ∣ ≤ n /2.
Proof. For every agent i ∈ N i \in N i ∈ N , we list all possible positive breakpoints of i i i , i.e. all m i ( α ) > 0 m_i(\alpha)>0 m i ( α ) > 0 for α ∈ Q \alpha\in Q α ∈ Q , and combine them into a multiset M ( Q ) \mathcal{M}(Q) M ( Q ) :
M ( Q ) : = ⨄ i ∈ N α ∈ Q m i ( α ) > 0 { ( i , m i ( α ) ) } . \mathcal{M}(Q) := \biguplus_{\substack{i\in N\\ \alpha\in Q\\m_i(\alpha)>0}}\{(i,m_i(\alpha))\}. M ( Q ) := i ∈ N α ∈ Q m i ( α ) > 0 ⨄ {( i , m i ( α ))} .
Since ∣ Q ∣ ≤ q 2 |Q| \le q^2 ∣ Q ∣ ≤ q 2 , ∣ M ( Q ) ∣ ≤ q 2 n |\mathcal{M}(Q)| \le q^2n ∣ M ( Q ) ∣ ≤ q 2 n . We sort M ( Q ) \mathcal{M}(Q) M ( Q ) in non-decreasing order w.r.t m i ( α ) m_i(\alpha) m i ( α ) , and mark every ( ⌊ n / 2 ⌋ + 1 ) (\lfloor n/2\rfloor+1) (⌊ n /2 ⌋ + 1 ) -th breakpoint. That is, we create a set of marked breakpoints
M 0 = { ( i k ( ⌊ n / 2 ⌋ + 1 ) , m k ( ⌊ n / 2 ⌋ + 1 ) ) : k = 1 , 2 , … } . \mathcal{M}_0 = \{(i_{k(\lfloor n/2\rfloor+1)},m_{k(\lfloor n/2\rfloor+1)}): k=1,2,\ldots\}. M 0 = {( i k (⌊ n /2 ⌋ + 1 ) , m k (⌊ n /2 ⌋ + 1 ) ) : k = 1 , 2 , … } .
Clearly, ∣ M 0 ∣ ≤ 2 q 2 − 1 |\mathcal{M}_0| \le2q^2-1 ∣ M 0 ∣ ≤ 2 q 2 − 1 . Note that any sub-interval of M ( Q ) \mathcal{M}(Q) M ( Q ) with no marked breakpoints has length at most n / 2 n/2 n /2 . Let set S 0 S_0 S 0 contain { 1 } \{1\} { 1 } and every unique position in M M M marked by M 0 \mathcal{M}_0 M 0 , i.e.
S 0 = { 1 } ∪ { s ∈ { 1 , … , m } : ( i , s ) ∈ M 0 for some i ∈ N } . S_0 = \{1\} \cup\{s \in\{1,\ldots,m\} : (i,s) \in\mathcal{M}_0\text{ for some }i\in N\}. S 0 = { 1 } ∪ { s ∈ { 1 , … , m } : ( i , s ) ∈ M 0 for some i ∈ N } .
As ∣ M 0 ∣ ≤ 2 q 2 − 1 |\mathcal{M}_0| \le2q^2-1 ∣ M 0 ∣ ≤ 2 q 2 − 1 , we have ∣ S 0 ∣ ≤ 2 q 2 |S_0| \le2q^2 ∣ S 0 ∣ ≤ 2 q 2 .
We will now construct a sequence of saved regions . For integer radius r ≥ 1 r \ge1 r ≥ 1 , saved region S ( r ) S(r) S ( r ) will contain all items of M M M within distance r r r from S 0 S_0 S 0 (to the right):
S ( r ) : = ⋃ s ∈ S 0 { s , s + 1 , … , s + r − 1 } ∩ M . S(r) := \bigcup_{s\in S_0}\{s,s+1,\ldots,s+r-1\}\cap M. S ( r ) := s ∈ S 0 ⋃ { s , s + 1 , … , s + r − 1 } ∩ M .
We will also have a sequence of protected regions F ( r ) : = S ( C 1 ⋅ r ) − S ( r ) F(r) := S(C_1\cdot r)-S(r) F ( r ) := S ( C 1 ⋅ r ) − S ( r ) . In addition, let
M F ( r ) : = { ( i k , m i k ) ∈ M ( Q ) : m i k ∈ F ( r ) } \mathcal{M}_F(r) := \{(i_k,m_{i_k}) \in\mathcal{M}(Q):m_{i_k}\in F(r)\} M F ( r ) := {( i k , m i k ) ∈ M ( Q ) : m i k ∈ F ( r )}
be the multiset of all breakpoints in M ( Q ) \mathcal{M}(Q) M ( Q ) whose value falls into the protected region F ( r ) F(r) F ( r ) .
We start with S ( r 1 ) S(r_1) S ( r 1 ) for then given radius r 1 r_1 r 1 , and for k ≥ 1 k \ge1 k ≥ 1 keep increasing radius multiplicatively by a given factor of C 1 C_1 C 1 , i.e. r k + 1 = C 1 ⋅ r k r_{k+1}=C_1\cdot r_k r k + 1 = C 1 ⋅ r k . So, by definition, S ( r k + 1 ) = S ( r k ) + F ( r k ) S(r_{k+1})=S(r_k)+F(r_k) S ( r k + 1 ) = S ( r k ) + F ( r k ) . We keep increasing r k → r k + 1 r_k \to r_{k+1} r k → r k + 1 until we reach some k ∗ k^* k ∗ such that at most ⌊ ε n / 8 ⌋ \lfloor\varepsilon n/8\rfloor ⌊ ε n /8 ⌋ breakpoints fall into the k ∗ k^* k ∗ -th protected region F ( r k ∗ ) F(r_{k^*}) F ( r k ∗ ) , i.e. until
∣ M F ( r k ∗ ) ∣ ≤ ⌊ ε n / 8 ⌋ . |\mathcal{M}_{F}(r_{k^*})|\le\lfloor\varepsilon n/8\rfloor. ∣ M F ( r k ∗ ) ∣ ≤ ⌊ ε n /8 ⌋ .
Since ∣ M ( Q ) ∣ ≤ q 2 n |\mathcal{M}(Q)|\le q^2n ∣ M ( Q ) ∣ ≤ q 2 n , we will increase radius at most ⌊ 8 q 2 / ε ⌋ \lfloor8q^2/\varepsilon\rfloor ⌊ 8 q 2 / ε ⌋ times, so r ∗ : = r k ∗ r_*:=r_{k^*} r ∗ := r k ∗ satisfies
r ∗ ≤ C 1 8 q 2 / ε r 1 . r_*\le C_1^{8q^2/\varepsilon}r_1. r ∗ ≤ C 1 8 q 2 / ε r 1 .
For this r ∗ r_* r ∗ , we define set S S S as S = S ( r ∗ ) S=S(r_*) S = S ( r ∗ ) , set F F F as F = F ( r ∗ ) F=F(r_*) F = F ( r ∗ ) , and set W W W as
W = { i ∈ N : ∃ α ∈ Q such that m i ( α ) ∈ F } . W=\{i\in N:\exists\alpha\in Q\text{ such that }m_i(\alpha)\in F\}. W = { i ∈ N : ∃ α ∈ Q such that m i ( α ) ∈ F } .
Clearly, ∣ W ∣ ≤ ∣ M F ( r ∗ ) ∣ ≤ ε n / 8 |W|\le|\mathcal{M}_{F}(r_*)|\le\varepsilon n/8 ∣ W ∣ ≤ ∣ M F ( r ∗ ) ∣ ≤ ε n /8 . In addition,
S = ⋃ s ∈ S 0 { s , s + 1 , … , s + r ∗ − 1 } ∩ M , S=\bigcup_{s\in S_0}\{s,s+1,\ldots,s+r_*-1\}\cap M, S = s ∈ S 0 ⋃ { s , s + 1 , … , s + r ∗ − 1 } ∩ M ,
so S S S is a union of at most ∣ S 0 ∣ ≤ 2 q 2 |S_0|\le2q^2 ∣ S 0 ∣ ≤ 2 q 2 consecutive intervals, each of length at most r ∗ r_* r ∗ , and S S S contains at least S ( r 1 ) S(r_1) S ( r 1 ) . Hence, r 1 ≤ ∣ S ∣ ≤ 2 q 2 r ∗ ≤ 2 q 2 C 1 8 q 2 / ε r 1 r_1\le|S|\le2q^2r_*\le2q^2C_1^{8q^2/\varepsilon}r_1 r 1 ≤ ∣ S ∣ ≤ 2 q 2 r ∗ ≤ 2 q 2 C 1 8 q 2 / ε r 1 , and taking η : = ( C 1 − 1 ) ⋅ r ∗ \eta:=(C_1-1)\cdot r_* η := ( C 1 − 1 ) ⋅ r ∗ gives
η ≥ C 1 − 1 2 q 2 ∣ S ∣ . \eta\ge\frac{C_1-1}{2q^2}|S|. η ≥ 2 q 2 C 1 − 1 ∣ S ∣.
We will now prove that integer η = ( C 1 − 1 ) ⋅ r ∗ \eta=(C_1-1)\cdot r_* η = ( C 1 − 1 ) ⋅ r ∗ has the desired property. Take representation
S = { a 1 , a 1 + 1 , … , b 1 } ∪ … ∪ { a t , a t + 1 , … , b t } S=\{a_1,a_1+1,\ldots,b_1\}\cup\ldots\cup\{a_t,a_t+1,\ldots,b_t\} S = { a 1 , a 1 + 1 , … , b 1 } ∪ … ∪ { a t , a t + 1 , … , b t }
for t ≤ 2 q 2 t\le2q^2 t ≤ 2 q 2 , where each [ a s , b s ] ⊂ S [a_s,b_s]\subset S [ a s , b s ] ⊂ S , s ∈ [ t ] s\in[t] s ∈ [ t ] , is a maximal consecutive interval. Observe that
S ( C 1 ⋅ r ∗ ) = S ( r ∗ + η ) = M ∩ ⋃ s = 1 t { a s , a s + 1 , … , b s , b s + 1 , … , b s + η } , S(C_1\cdot r_*)=S(r_*+\eta)=M\cap\bigcup_{s=1}^{t}\{a_s,a_s+1,\ldots,b_s,b_s+1,\ldots,b_s+\eta\}, S ( C 1 ⋅ r ∗ ) = S ( r ∗ + η ) = M ∩ s = 1 ⋃ t { a s , a s + 1 , … , b s , b s + 1 , … , b s + η } ,
therefore
F = F ( r ∗ ) = S ( C 1 ⋅ r ∗ ) − S ( r ∗ ) = E ∩ ⋃ s = 1 t { b s + 1 , … , b s + η } . F=F(r_*)=S(C_1\cdot r_*)-S(r_*)=E\cap\bigcup_{s=1}^{t}\{b_s+1,\ldots,b_s+\eta\}. F = F ( r ∗ ) = S ( C 1 ⋅ r ∗ ) − S ( r ∗ ) = E ∩ s = 1 ⋃ t { b s + 1 , … , b s + η } .
Consider some agent i ∈ N − W i\in N-W i ∈ N − W and a demand α ∈ Q \alpha\in Q α ∈ Q whose breakpoint ℓ = m i ( α ) \ell=m_i(\alpha) ℓ = m i ( α ) belongs to E E E . Let [ a s , b s ] ⊂ S [a_s,b_s]\subset S [ a s , b s ] ⊂ S be the last maximal interval of S S S preceding ℓ \ell ℓ , i.e. such that b s < ℓ b_s<\ell b s < ℓ and b s b_s b s is the largest possible. Such interval exists, as 1 ∈ S 0 ⊆ S 1\in S_0\subseteq S 1 ∈ S 0 ⊆ S .
By definition of W W W , we have ℓ ∉ F \ell\notin F ℓ ∈ / F . Then, it must also hold ℓ > b s + η \ell>b_s+\eta ℓ > b s + η , as otherwise ℓ ∈ E ∩ { b s + 1 , … , b s + η } ⊆ F \ell\in E\cap\{b_s+1,\ldots,b_s+\eta\}\subseteq F ℓ ∈ E ∩ { b s + 1 , … , b s + η } ⊆ F . Choice of [ a s , b s ] [a_s,b_s] [ a s , b s ] implies { b s + 1 , … , b s + η , … , ℓ } ⊆ E \{b_s+1,\ldots,b_s+\eta,\ldots,\ell\}\subseteq E { b s + 1 , … , b s + η , … , ℓ } ⊆ E , and
{ ℓ − η + 1 , … , ℓ } ⊆ { b s + 1 , … , b s + η , … , ℓ } ⊆ E . \{\ell-\eta+1,\ldots,\ell\}\subseteq\{b_s+1,\ldots,b_s+\eta,\ldots,\ell\}\subseteq E. { ℓ − η + 1 , … , ℓ } ⊆ { b s + 1 , … , b s + η , … , ℓ } ⊆ E .
In particular, ℓ − η + 1 ≥ 1 ⟹ ℓ ≥ η \ell-\eta+1\ge1\Longrightarrow\ell\ge\eta ℓ − η + 1 ≥ 1 ⟹ ℓ ≥ η .
It remains to bound the number of different breakpoint occurrences in ( ℓ − η , ℓ ] (\ell-\eta,\ell] ( ℓ − η , ℓ ] . The breakpoints of M ( Q ) \mathcal{M}(Q) M ( Q ) that fall into ( ℓ − η , ℓ ] (\ell-\eta,\ell] ( ℓ − η , ℓ ] form a consecutive block in M ( Q ) \mathcal{M}(Q) M ( Q ) . If this block contained at least ⌊ n / 2 ⌋ + 1 \lfloor n/2\rfloor+1 ⌊ n /2 ⌋ + 1 breakpoints, then by construction it would contain at least one marked breakpoint from M 0 \mathcal{M}_0 M 0 . But then, the position of this marked breakpoint would be in S 0 ∩ ( ℓ − η , ℓ ] S_0\cap(\ell-\eta,\ell] S 0 ∩ ( ℓ − η , ℓ ] , which is impossible as ( ℓ − η , ℓ ] (\ell-\eta,\ell] ( ℓ − η , ℓ ] lies entirely in E E E . It follows that
∣ { ( i , α ) : i ∈ N , α ∈ Q and ℓ − η < m i ( α ) ≤ ℓ } ∣ ≤ ⌊ n / 2 ⌋ ≤ n / 2. |\{(i,\alpha):i\in N,\alpha\in Q\text{ and }\ell-\eta<m_i(\alpha)\le\ell\}|\le\lfloor n/2\rfloor\le n/2. ∣ {( i , α ) : i ∈ N , α ∈ Q and ℓ − η < m i ( α ) ≤ ℓ } ∣ ≤ ⌊ n /2 ⌋ ≤ n /2.
Note that all repetitions are counted separately. Breakpoints that fall on the same position cause no issue, as ( ℓ − η , ℓ ] (\ell-\eta,\ell] ( ℓ − η , ℓ ] would include either all breakpoint occurrences or none of them. ∞
Protected prefixes
Given Lemma 4.1, we define the partitions M = E + S M = E + S M = E + S and N = U + V + W N = U + V + W N = U + V + W explicitly.
Definition 4.2. Given the sets W W W and S S S from Lemma 4.1, we define E : = M − S E := M - S E := M − S , U U U as the set of ⌊ ε n / 8 ⌋ \lfloor\varepsilon n/8 \rfloor ⌊ ε n /8 ⌋ agents i ∈ N − W i \in N - W i ∈ N − W with the largest head thresholds h i h_i h i , and V : = N − U − W V := N - U - W V := N − U − W .
In addition, we will explicitly define the set of protected prefixes L S ⊂ S \mathcal{L}_S \subset S L S ⊂ S and rigorously prove that, for A 0 ⊆ A A_0 \subseteq A A 0 ⊆ A and U 0 ⊆ U U_0 \subseteq U U 0 ⊆ U to satisfy prefix load constraints (E) for every prefix 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m , it suffices to satisfy them only on protected prefixes ℓ s ∈ L S \ell_s \in\mathcal{L}_S ℓ s ∈ L S , provided that ∣ U 0 ∣ |U_0| ∣ U 0 ∣ is not too large.
Definition 4.3. Decompose set S S S from Lemma 4.1 as
S = { a 1 , a 1 + 1 , … , b 1 } ∪ … ∪ { a t , a t + 1 , … , b t } , S = \{a_1, a_1 + 1, \ldots, b_1\} \cup\ldots\cup\{a_t, a_t + 1, \ldots, b_t\}, S = { a 1 , a 1 + 1 , … , b 1 } ∪ … ∪ { a t , a t + 1 , … , b t } ,
where each [ a s , b s ] [a_s, b_s] [ a s , b s ] for s ∈ [ t ] s \in[t] s ∈ [ t ] is a maximal list of consecutive integers from { 1 , … , m } \{1, \ldots, m\} { 1 , … , m } . We define a set L S ⊂ S \mathcal{L}_S \subset S L S ⊂ S of protected prefixes as
L S : = { b s : s ∈ [ t ] } . \mathcal{L}_S := \{b_s : s \in[t]\}. L S := { b s : s ∈ [ t ]} .
Note that as t ≤ 2 q 2 t \le2q^2 t ≤ 2 q 2 , we have ∣ L S ∣ ≤ 2 q 2 |\mathcal{L}_S| \le2q^2 ∣ L S ∣ ≤ 2 q 2 — a constant number of prefixes.
Corollary 4.1. Let A ⊆ V A \subseteq V A ⊆ V be agents with assigned profiles { π i } i ∈ A \{\pi_i\}_{i \in A} { π i } i ∈ A , obtained from Theorem 4.1 applied to the defined E E E , S S S and V V V , and let A 0 ⊆ A A_0 \subseteq A A 0 ⊆ A . Let U 0 ⊆ U U_0 \subseteq U U 0 ⊆ U be some additional set of agents with assigned integral profiles { π u } u ∈ U 0 \{\pi_u\}_{u \in U_0} { π u } u ∈ U 0 . Suppose that for every ℓ s ∈ L S \ell_s \in\mathcal{L}_S ℓ s ∈ L S ,
∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ u ∈ U 0 P u ( π u E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ . (3) \sum_{i \in A_0} \mathcal{P}_i(\pi_i^E, \ell_s) + \sum_{u \in U_0} \mathcal{P}_u(\pi_u^E, \ell_s) \le|E \cap[\ell_s]|. \tag*{(3)} i ∈ A 0 ∑ P i ( π i E , ℓ s ) + u ∈ U 0 ∑ P u ( π u E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣. (3)
as well as ∣ U 0 ∣ ≤ η / ( 3 q ) |U_0| \le\eta/(3q) ∣ U 0 ∣ ≤ η / ( 3 q ) for η \eta η defined in Lemma 4.1. Then, for every 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m it holds
∑ i ∈ A 0 P i ( π i E , ℓ ) + ∑ u ∈ U 0 P u ( π u E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ . (4) \sum_{i \in A_0} \mathcal{P}_i(\pi_i^E, \ell) + \sum_{u \in U_0} \mathcal{P}_u(\pi_u^E, \ell) \le|E \cap[\ell]|. \tag*{(4)} i ∈ A 0 ∑ P i ( π i E , ℓ ) + u ∈ U 0 ∑ P u ( π u E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣. (4)
Proof. We will prove the statement separately for prefixes from E E E and from S S S . First, take ℓ ∈ S \ell\in S ℓ ∈ S . If ℓ ∈ L S \ell\in\mathcal{L}_S ℓ ∈ L S , condition (E) is already satisfied by assumption (EL S _{\mathcal{L}_S} L S ), so let ℓ ∉ L S \ell\notin\mathcal{L}_S ℓ ∈ / L S . In this case, ℓ ∈ [ a s , b s ] \ell\in[a_s, b_s] ℓ ∈ [ a s , b s ] for some maximal consecutive interval [ a s , b s ] ⊂ S [a_s, b_s] \subset S [ a s , b s ] ⊂ S . Then,
∀ i ∈ A 0 : P i ( π i E , ℓ ) ≤ P i ( π i E , b s ) and ∀ u ∈ U 0 : P u ( π u E , ℓ ) ≤ P u ( π u E , b s ) . \forall i \in A_0:\ \mathcal{P}_i(\pi_i^E, \ell) \le\mathcal{P}_i(\pi_i^E, b_s)
\quad\text{and}\quad
\forall u \in U_0:\ \mathcal{P}_u(\pi_u^E, \ell) \le\mathcal{P}_u(\pi_u^E, b_s). ∀ i ∈ A 0 : P i ( π i E , ℓ ) ≤ P i ( π i E , b s ) and ∀ u ∈ U 0 : P u ( π u E , ℓ ) ≤ P u ( π u E , b s ) .
Since b s ∈ L S b_s \in\mathcal{L}_S b s ∈ L S by definition, and every item in ( ℓ , b s ] (\ell, b_s] ( ℓ , b s ] belongs to S S S , it holds
∑ i ∈ A 0 P i ( π i E , ℓ ) + ∑ u ∈ U 0 P u ( π u E , ℓ ) ≤ ∣ E ∩ [ b s ] ∣ = ∣ E ∩ [ ℓ ] ∣ . \sum_{i \in A_0} \mathcal{P}_i(\pi_i^E, \ell) + \sum_{u \in U_0} \mathcal{P}_u(\pi_u^E, \ell) \le|E \cap[b_s]| = |E \cap[\ell]|. i ∈ A 0 ∑ P i ( π i E , ℓ ) + u ∈ U 0 ∑ P u ( π u E , ℓ ) ≤ ∣ E ∩ [ b s ] ∣ = ∣ E ∩ [ ℓ ] ∣.
Next, consider ℓ ∈ E \ell\in E ℓ ∈ E . Assume first that ℓ \ell ℓ is a breakpoint of some agent i ∈ N − W i \in N - W i ∈ N − W . In this case, by Lemma 4.1 it holds { ℓ − η + 1 , ℓ } ⊆ E \{\ell- \eta+ 1, \ell\} \subseteq E { ℓ − η + 1 , ℓ } ⊆ E and interval ( ℓ − η , ℓ ] (\ell- \eta, \ell] ( ℓ − η , ℓ ] contains at most n / 2 n/2 n /2 breakpoint occurrences. In addition, the rounding of Theorem 4.1 guarantees that
∑ i ∈ A 0 P i ( π i E , ℓ ) ≤ 1 ∣ V ∣ ∑ i ∈ V ∑ j = 1 d P i ( π i , j E , ℓ ) . \sum_{i \in A_0} \mathcal{P}_i(\pi_i^E, \ell)
\le\frac{1}{|V|} \sum_{i \in V} \sum_{j=1}^{d} \mathcal{P}_i(\pi_{i,j}^E, \ell). i ∈ A 0 ∑ P i ( π i E , ℓ ) ≤ ∣ V ∣ 1 i ∈ V ∑ j = 1 ∑ d P i ( π i , j E , ℓ ) .
Let V η , ℓ ⊂ V V_{\eta,\ell} \subset V V η , ℓ ⊂ V be the set of agents i ∈ V i \in V i ∈ V that have a breakpoint in ( ℓ − η , ℓ ] (\ell- \eta, \ell] ( ℓ − η , ℓ ] , it holds ∣ V η , ℓ ∣ ≤ n / 2 |V_{\eta,\ell}| \le n/2 ∣ V η , ℓ ∣ ≤ n /2 . For every i ∈ V η , ℓ i \in V_{\eta,\ell} i ∈ V η , ℓ we have (say, by Lemma 3.2 or Theorem 4.1) that
∑ j = 1 d P i ( π i , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ . \sum_{j=1}^{d} \mathcal{P}_i(\pi_{i,j}^E, \ell) \le|E \cap[\ell]|. j = 1 ∑ d P i ( π i , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣.
On the other hand, for every agent i ∈ V − V η , ℓ i \in V - V_{\eta,\ell} i ∈ V − V η , ℓ , as there are no breakpoints in ( ℓ − η , ℓ ] (\ell-\eta,\ell] ( ℓ − η , ℓ ] , it holds
∑ j = 1 d P i ( π i , j E , ℓ ) = ∑ j = 1 d P i ( π i , j E , ℓ − η ) ≤ ∣ E ∩ [ ℓ − η ] ∣ = ∣ E ∩ [ ℓ ] ∣ − η . \sum_{j=1}^{d} \mathcal{P}_{i}(\pi^{E}_{i,j},\ell)=\sum_{j=1}^{d}\mathcal{P}_{i}(\pi^{E}_{i,j},\ell-\eta)\leq|E\cap[\ell-\eta]|=|E\cap[\ell]|-\eta. j = 1 ∑ d P i ( π i , j E , ℓ ) = j = 1 ∑ d P i ( π i , j E , ℓ − η ) ≤ ∣ E ∩ [ ℓ − η ] ∣ = ∣ E ∩ [ ℓ ] ∣ − η .
The last equality is due to ( ℓ − η , ℓ ] ⊂ E (\ell-\eta,\ell]\subset E ( ℓ − η , ℓ ] ⊂ E . Combining the bounds for V η , ℓ V_{\eta,\ell} V η , ℓ and V − V η , ℓ V-V_{\eta,\ell} V − V η , ℓ , we get
1 ∣ V ∣ ∑ i ∈ V ∑ j = 1 d P i ( π i , j E , ℓ ) ≤ ∣ V ∣ − ∣ V η , ℓ ∣ ∣ V ∣ ⋅ ( ∣ E ∩ [ ℓ ] ∣ − η ) + ∣ V η , ℓ ∣ ∣ V ∣ ⋅ ∣ E ∩ [ ℓ ] ∣ = ∣ E ∩ [ ℓ ] ∣ − η ⋅ ( 1 − ∣ V η , ℓ ∣ ∣ V ∣ ) ≤ ∣ E ∩ [ ℓ ] ∣ − η 3 . \begin{aligned}
\frac{1}{|V|}\sum_{i\in V}\sum_{j=1}^{d}\mathcal{P}_{i}(\pi^{E}_{i,j},\ell)\leq\frac{|V|-|V_{\eta,\ell}|}{|V|}\cdot\left(|E\cap[\ell]|-\eta\right)+\frac{|V_{\eta,\ell}|}{|V|}\cdot|E\cap[\ell]| \\
&=|E\cap[\ell]|-\eta\cdot\left(1-\frac{|V_{\eta,\ell}|}{|V|}\right)\leq|E\cap[\ell]|-\frac{\eta}{3}.
\end{aligned} ∣ V ∣ 1 i ∈ V ∑ j = 1 ∑ d P i ( π i , j E , ℓ ) ≤ ∣ V ∣ ∣ V ∣ − ∣ V η , ℓ ∣ ⋅ ( ∣ E ∩ [ ℓ ] ∣ − η ) + ∣ V ∣ ∣ V η , ℓ ∣ ⋅ ∣ E ∩ [ ℓ ] ∣ = ∣ E ∩ [ ℓ ] ∣ − η ⋅ ( 1 − ∣ V ∣ ∣ V η , ℓ ∣ ) ≤ ∣ E ∩ [ ℓ ] ∣ − 3 η .
We used the fact that ∣ V η , ℓ ∣ ≤ n / 2 |V_{\eta,\ell}|\leq n/2 ∣ V η , ℓ ∣ ≤ n /2 and ∣ V ∣ ≥ ( 1 − ε / 4 ) n ≥ 3 n / 4 |V|\geq(1-\varepsilon/4)n\geq3n/4 ∣ V ∣ ≥ ( 1 − ε /4 ) n ≥ 3 n /4 . As mentioned earlier,
∑ u ∈ U 0 P u ( π u E , ℓ ) ≤ ∑ u ∈ U 0 ∣ π u E ∣ ≤ q U 0 , \sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},\ell)\leq\sum_{u\in U_{0}}|\pi^{E}_{u}|\leq qU_{0}, u ∈ U 0 ∑ P u ( π u E , ℓ ) ≤ u ∈ U 0 ∑ ∣ π u E ∣ ≤ q U 0 ,
hence under the assumption ∣ U 0 ∣ ≤ η / ( 3 q ) |U_{0}|\leq\eta/(3q) ∣ U 0 ∣ ≤ η / ( 3 q ) we get condition (E) at ℓ \ell ℓ , combining the bounds:
∑ i ∈ A 0 P i ( π i E , ℓ ) + ∑ u ∈ U 0 P u ( π u E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ . \sum_{i\in A_{0}}\mathcal{P}_{i}(\pi^{E}_{i},\ell)+\sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},\ell)\leq|E\cap[\ell]|. i ∈ A 0 ∑ P i ( π i E , ℓ ) + u ∈ U 0 ∑ P u ( π u E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣.
Now, consider ℓ ∈ E \ell\in E ℓ ∈ E that is not a breakpoint of any agent i ∈ N − W i\in N-W i ∈ N − W . Let ℓ s ∈ L S \ell_{s}\in\mathcal{L}_{S} ℓ s ∈ L S be the largest protected prefix preceding ℓ \ell ℓ (such exists as 1 ∈ S 1\in S 1 ∈ S ). If there is some ℓ ∗ ∈ ( ℓ s , ℓ ] \ell_{*}\in(\ell_{s},\ell] ℓ ∗ ∈ ( ℓ s , ℓ ] that is a breakpoint of some i ∈ N − W i\in N-W i ∈ N − W , then
∑ i ∈ A 0 P i ( π i E , ℓ ) + ∑ u ∈ U 0 P u ( π u E , ℓ ) = ∑ i ∈ A 0 P i ( π i E , ℓ ∗ ) + ∑ u ∈ U 0 P u ( π u E , ℓ ∗ ) ≤ ∣ E ∩ [ ℓ ∗ ] ∣ ≤ ∣ E ∩ [ ℓ ] ∣ , \sum_{i\in A_{0}}\mathcal{P}_{i}(\pi^{E}_{i},\ell)+\sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},\ell)=\sum_{i\in A_{0}}\mathcal{P}_{i}(\pi^{E}_{i},\ell_{*})+\sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},\ell_{*})\leq|E\cap[\ell_{*}]|\leq|E\cap[\ell]|, i ∈ A 0 ∑ P i ( π i E , ℓ ) + u ∈ U 0 ∑ P u ( π u E , ℓ ) = i ∈ A 0 ∑ P i ( π i E , ℓ ∗ ) + u ∈ U 0 ∑ P u ( π u E , ℓ ∗ ) ≤ ∣ E ∩ [ ℓ ∗ ] ∣ ≤ ∣ E ∩ [ ℓ ] ∣ ,
since prefix load of an agent is constant between consecutive breakpoints. If there are no breakpoints in ( ℓ s , ℓ ] (\ell_{s},\ell] ( ℓ s , ℓ ] , then the load at ℓ \ell ℓ is the same as the load at ℓ s \ell_{s} ℓ s , hence
∑ i ∈ A 0 P i ( π i E , ℓ ) + ∑ u ∈ U 0 P u ( π u E , ℓ ) = ∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ u ∈ U 0 P u ( π u E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ ≤ ∣ E ∩ [ ℓ ] ∣ , \sum_{i\in A_{0}}\mathcal{P}_{i}(\pi^{E}_{i},\ell)+\sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},\ell)=\sum_{i\in A_{0}}\mathcal{P}_{i}(\pi^{E}_{i},\ell_{s})+\sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},\ell_{s})\leq|E\cap[\ell_{s}]|\leq|E\cap[\ell]|, i ∈ A 0 ∑ P i ( π i E , ℓ ) + u ∈ U 0 ∑ P u ( π u E , ℓ ) = i ∈ A 0 ∑ P i ( π i E , ℓ s ) + u ∈ U 0 ∑ P u ( π u E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ ≤ ∣ E ∩ [ ℓ ] ∣ ,
by assumption ( E L S ) (E_{\mathcal{L}_{S}}) ( E L S ) . Finally, for ℓ = 0 \ell=0 ℓ = 0 , since the first interval of S S S is [ 1 , b 1 ] [1,b_{1}] [ 1 , b 1 ] for b 1 ∈ L S b_{1}\in\mathcal{L}_{S} b 1 ∈ L S , it holds ∣ E ∩ [ b 1 ] ∣ = 0 |E\cap[b_{1}]|=0 ∣ E ∩ [ b 1 ] ∣ = 0 . As a result, by ( E L S ) (E_{\mathcal{L}_{S}}) ( E L S ) we have
∑ i ∈ A 0 P i ( π i E , 0 ) + ∑ u ∈ U 0 P u ( π u E , 0 ) ≤ ∑ i ∈ A 0 P i ( π i E , b 1 ) + ∑ u ∈ U 0 P u ( π u E , b 1 ) ≤ ∣ E ∩ [ b 1 ] ∣ = 0. \sum_{i\in A_{0}}\mathcal{P}_{i}(\pi^{E}_{i},0)+\sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},0)\leq\sum_{i\in A_{0}}\mathcal{P}_{i}(\pi^{E}_{i},b_{1})+\sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},b_{1})\leq|E\cap[b_{1}]|=0. i ∈ A 0 ∑ P i ( π i E , 0 ) + u ∈ U 0 ∑ P u ( π u E , 0 ) ≤ i ∈ A 0 ∑ P i ( π i E , b 1 ) + u ∈ U 0 ∑ P u ( π u E , b 1 ) ≤ ∣ E ∩ [ b 1 ] ∣ = 0.
We show how to find sets A 0 ⊆ A A_{0}\subseteq A A 0 ⊆ A and U 0 ⊆ U U_{0}\subseteq U U 0 ⊆ U satisfying Corollary 4.1 in the next section.
Supplier and recipients
Following Corollary 4.1, we now have a concrete goal to satisfy conditions (E) and (S): find sets A 0 ⊆ A A_{0}\subseteq A A 0 ⊆ A and U 0 ⊆ U U_{0}\subseteq U U 0 ⊆ U , such that ∣ A 0 ∣ + ∣ U 0 ∣ = d |A_{0}|+|U_{0}|=d ∣ A 0 ∣ + ∣ U 0 ∣ = d as well as
∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ u ∈ U 0 P u ( π u E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S \sum_{i\in A_{0}}\mathcal{P}_{i}(\pi^{E}_{i},\ell_{s})+\sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{E}_{u},\ell_{s})\leq|E\cap[\ell_{s}]|,\qquad\forall\ell_{s}\in\mathcal{L}_{S} i ∈ A 0 ∑ P i ( π i E , ℓ s ) + u ∈ U 0 ∑ P u ( π u E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S
∣ U 0 ∣ ≤ η 3 q , |U_{0}|\leq\frac{\eta}{3q}, ∣ U 0 ∣ ≤ 3 q η ,
∑ u ∈ U 0 P u ( π u S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀ 0 ≤ ℓ ≤ m . \sum_{u\in U_{0}}\mathcal{P}_{u}(\pi^{S}_{u},\ell)\leq|S\cap[\ell]|,\qquad\forall0\leq\ell\leq m. u ∈ U 0 ∑ P u ( π u S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀0 ≤ ℓ ≤ m .
Our key idea is the following. Instead of directly choosing agents U 0 ⊆ U U_0 \subseteq U U 0 ⊆ U satisfying conditions ( E L S ) (E_{\mathcal{L}_S}) ( E L S ) , ( U ) (U) ( U ) and ( S ) (S) ( S ) , we will first pick a single supplier agent u ∗ ∈ U u_* \in U u ∗ ∈ U , and fill existing agents A A A up to d d d total agents by using different copies of u ∗ u_* u ∗ .
More specifically, let { π u ∗ , j : j ∈ [ d ] } \{\pi_{u_*,j}:j\in[d]\} { π u ∗ , j : j ∈ [ d ]} be the MMS profiles of the agent u ∗ ∈ U u_* \in U u ∗ ∈ U . We want to select a set J 0 ⊆ [ d ] J_0 \subseteq[d] J 0 ⊆ [ d ] and create ∣ J 0 ∣ |J_0| ∣ J 0 ∣ copies of agent u ∗ u_* u ∗ , each copy j ∈ J 0 j \in J_0 j ∈ J 0 gets assigned a distinct supplier profile π u ∗ , j \pi_{u_*,j} π u ∗ , j . Then, we select A 0 ⊆ A A_0 \subseteq A A 0 ⊆ A such that ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|J_0|=d ∣ A 0 ∣ + ∣ J 0 ∣ = d and analogous conditions ( E L S ) (E_{\mathcal{L}_S}) ( E L S ) , ( U ) (U) ( U ) and ( S ) (S) ( S ) hold for A 0 A_0 A 0 and the copies J 0 J_0 J 0 of supplier u ∗ ∈ U u_* \in U u ∗ ∈ U . That is,
∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ j ∈ J 0 P u ∗ ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S ; \sum_{i\in A_0}\mathcal{P}_i(\pi_i^E,\ell_s)+\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j}^E,\ell_s)\leq|E\cap[\ell_s]|,\qquad\forall\ell_s\in\mathcal{L}_S; i ∈ A 0 ∑ P i ( π i E , ℓ s ) + j ∈ J 0 ∑ P u ∗ ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S ;
∣ J 0 ∣ ≤ η 3 q , |J_0|\leq\frac{\eta}{3q}, ∣ J 0 ∣ ≤ 3 q η ,
∑ j ∈ J 0 P u ∗ ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀ 0 ≤ ℓ ≤ m . \sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j}^S,\ell)\leq|S\cap[\ell]|,\qquad\forall0\leq\ell\leq m. j ∈ J 0 ∑ P u ∗ ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀0 ≤ ℓ ≤ m .
Note that condition ( S ∗ ) (S^*) ( S ∗ ) holds automatically. Indeed, for every j ∈ J 0 j\in J_0 j ∈ J 0 , demands of π u ∗ , j S \pi_{u_*,j}^S π u ∗ , j S are satisfied by their originating items from B u ∗ , j ∩ S B_{u_*,j}\cap S B u ∗ , j ∩ S . Since all MMS bundles B u ∗ , j B_{u_*,j} B u ∗ , j for j ∈ J 0 j\in J_0 j ∈ J 0 are disjoint, for every ℓ \ell ℓ -prefix profiles { π u ∗ , j : j ∈ J 0 } \{\pi_{u_*,j}:j\in J_0\} { π u ∗ , j : j ∈ J 0 } will use at most ℓ \ell ℓ distinct items from S ∩ [ ℓ ] S\cap[\ell] S ∩ [ ℓ ] . So, the total S S S -load at ℓ \ell ℓ is at most ∣ S ∩ [ ℓ ] ∣ |S\cap[\ell]| ∣ S ∩ [ ℓ ] ∣ , and we only need to control ( E L S ∗ ) (E_{\mathcal{L}_S}^*) ( E L S ∗ ) and ( U ∗ ) (U^*) ( U ∗ ) .
Given such set A 0 ⊆ A A_0\subseteq A A 0 ⊆ A and a supplier u ∗ ∈ U u_*\in U u ∗ ∈ U with copies J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] , we then pick a set of recipients U 0 ⊆ U U_0\subseteq U U 0 ⊆ U of size ∣ J 0 ∣ |J_0| ∣ J 0 ∣ . Each of recipients u ∈ U 0 u\in U_0 u ∈ U 0 will receive a designated copy of the supplier’s profile π u ∗ , j \pi_{u_*,j} π u ∗ , j , for different j ∈ J 0 j\in J_0 j ∈ J 0 . The supplier agent u ∗ ∈ U u_*\in U u ∗ ∈ U will be chosen in such a way that there exists a sufficiently large set of recipients U 0 ⊆ U U_0\subseteq U U 0 ⊆ U that can accept distinct copies J 0 J_0 J 0 of u ∗ u_* u ∗ , while satisfying all the conditions ( E L S ) (E_{\mathcal{L}_S}) ( E L S ) , ( U ) (U) ( U ) and ( S ) (S) ( S ) with the assigned supplier profiles.
Selecting supplier and recipients
Assume ∣ A ∣ < d |A|<d ∣ A ∣ < d . We will now show that, given an arbitrary supplier agent u ∗ ∈ U u_*\in U u ∗ ∈ U , we can pick copies J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] of u ∗ u_* u ∗ and agents A 0 ⊆ A A_0\subseteq A A 0 ⊆ A so that ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|J_0|=d ∣ A 0 ∣ + ∣ J 0 ∣ = d , condition ( E L S ∗ ) (E_{\mathcal{L}_S}^*) ( E L S ∗ ) holds and a variation of condition ( U ∗ ) (U^*) ( U ∗ ) holds. We refer to it as a “single supplier” theorem.
Theorem 5.1 (Single Supplier). There exists a global constant C t , q C_{t,q} C t , q such that the following holds. For u ∗ ∈ U u_*\in U u ∗ ∈ U , let { π u ∗ , j : j ∈ [ d ] } \{\pi_{u_*,j}:j\in[d]\} { π u ∗ , j : j ∈ [ d ]} be his MMS profiles. In addition, let L S ⊆ { 0 , 1 , … , m } \mathcal{L}_S\subseteq\{0,1,\ldots,m\} L S ⊆ { 0 , 1 , … , m } be a set of t t t protected prefixes . There exist A 0 ⊆ A A_0\subseteq A A 0 ⊆ A and J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] such that ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|J_0|=d ∣ A 0 ∣ + ∣ J 0 ∣ = d and
∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) |J_0|\leq C_{t,q}(d-|A|) ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) , and
for every protected prefix ℓ s ∈ L S \ell_s\in\mathcal{L}_S ℓ s ∈ L S , the E E E -load is
∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ j ∈ J 0 P u ∗ ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ . \sum_{i\in A_0}\mathcal{P}_i(\pi_i^E,\ell_s)+\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j}^E,\ell_s)\leq|E\cap[\ell_s]|. i ∈ A 0 ∑ P i ( π i E , ℓ s ) + j ∈ J 0 ∑ P u ∗ ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣.
We prove Theorem 5.1 in Appendix § 11 (Theorem C.1).
Note that the bound given by Theorem 5.1 on ∣ J 0 ∣ |J_0| ∣ J 0 ∣ is C t , q ( d − ∣ A ∣ ) C_{t,q}(d-|A|) C t , q ( d − ∣ A ∣ ) for some constant C t , q C_{t,q} C t , q , while the desired condition ( U ∗ ) (U^*) ( U ∗ ) needs ∣ J 0 ∣ ≤ η / ( 3 q ) |J_0|\leq\eta/(3q) ∣ J 0 ∣ ≤ η / ( 3 q ) . This will not be an issue. We will show that in the small tail case, for an appropriate choice of values r 1 , C 1 r_1,C_1 r 1 , C 1 in Lemma 4.1, we can guarantee that d − ∣ A ∣ ≤ 2 ∣ S ∣ d-|A|\leq2|S| d − ∣ A ∣ ≤ 2∣ S ∣ . Since η ≥ C 1 − 1 2 q 2 ∣ S ∣ \eta\geq\frac{C_1-1}{2q^2}|S| η ≥ 2 q 2 C 1 − 1 ∣ S ∣ , as long as constants match, we will get the desired upper bound on ∣ J 0 ∣ |J_0| ∣ J 0 ∣ in terms of η \eta η .
We will now describe how to replace the J 0 J_0 J 0 copies of a single agent u ∗ u_* u ∗ with distinct recipient agents U 0 ⊆ U U_0\subseteq U U 0 ⊆ U , and assign them certain profiles. Our plan is to choose for every j ∈ J 0 j\in J_0 j ∈ J 0 some recipient u ( j ) ∈ U u(j)\in U u ( j ) ∈ U and assign him the supplier’s profile:
∀ j ∈ J 0 : take u ( j ) ∈ U 0 and assign π u ( j ) : = π u ∗ , j . (5) \forall j\in J_0:\ \text{take }u(j)\in U_0\text{ and assign }\pi_{u(j)}:=\pi_{u_*,j}. \tag*{(5)} ∀ j ∈ J 0 : take u ( j ) ∈ U 0 and assign π u ( j ) := π u ∗ , j . (5)
This automatically gives
∣ U 0 ∣ = ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) , |U_0|=|J_0|\le C_{t,q}(d-|A|), ∣ U 0 ∣ = ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) ,
and we only need to worry about the two following conditions. First, we need to ensure that the prefix load of π u ∗ , j \pi_{u_*,j} π u ∗ , j for agent u ( j ) u(j) u ( j ) still satisfies the bound (E_{\mathcal{L}_S}) for protected prefixes:
∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S . \sum_{i\in A_0}\mathcal{P}_i(\pi^E_i,\ell_s)+\sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi^E_{u_*,j},\ell_s)\le|E\cap[\ell_s]|,\qquad\forall\ell_s\in\mathcal{L}_S. i ∈ A 0 ∑ P i ( π i E , ℓ s ) + j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S .
{#eq:E_{\mathcal{L}_S}}
By Theorem 5.1, this bound is guaranteed to hold if we consider the prefix load of a single agent u ∗ u_* u ∗ (condition (E_{\mathcal{L}_S}*)). However, swapping u ∗ u_* u ∗ with u ( j ) u(j) u ( j ) affects the demand breakpoints, which can change the prefix load drastically if u ∗ u_* u ∗ and u ( j ) u(j) u ( j ) are not chosen carefully. So, condition (E_{\mathcal{L}_S}) is not guaranteed to hold if we just give profiles π u ∗ , j \pi_{u_*,j} π u ∗ , j to arbitrary u ( j ) u(j) u ( j ) for every j ∈ J 0 j\in J_0 j ∈ J 0 .
Second, when we considered copies J 0 J_0 J 0 of a single agent u ∗ u_* u ∗ , condition (S*) held automatically, as all π u ∗ , j \pi_{u_*,j} π u ∗ , j originate from different bundles of u ∗ u_* u ∗ 's MMS partition:
∑ j ∈ J 0 P u ∗ ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀ 0 ≤ ℓ ≤ m . (6) \sum_{j\in J_0}\mathcal{P}_{u_*}(\pi^S_{u_*,j},\ell)\le|S\cap[\ell]|,\qquad\forall0\le\ell\le m. \tag*{(6)} j ∈ J 0 ∑ P u ∗ ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀0 ≤ ℓ ≤ m . (6)
This does not necessarily hold when we give profiles π u ∗ , j \pi_{u_*,j} π u ∗ , j to u ( j ) u(j) u ( j ) , as agents u ( j ) u(j) u ( j ) for j ∈ J 0 j\in J_0 j ∈ J 0 most likely will have different MMS partitions. So, we still need to ensure that we can simultaneously satisfy the S S S -parts of profiles π u ∗ , j \pi_{u_*,j} π u ∗ , j for j ∈ J 0 j\in J_0 j ∈ J 0 when treated as profiles of different recipient agents u ( j ) u(j) u ( j ) , which is exactly the original condition (S):
∑ j ∈ J 0 P u ( j ) ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀ 0 ≤ ℓ ≤ m . (7) \sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi^S_{u_*,j},\ell)\le|S\cap[\ell]|,\qquad\forall0\le\ell\le m. \tag*{(7)} j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀0 ≤ ℓ ≤ m . (7)
Finally, U 0 U_0 U 0 must contain exactly ∣ J 0 ∣ |J_0| ∣ J 0 ∣ different eligible agents that would get a supplier profile, so that ∣ A 0 ∣ + ∣ U 0 ∣ = ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|U_0|=|A_0|+|J_0|=d ∣ A 0 ∣ + ∣ U 0 ∣ = ∣ A 0 ∣ + ∣ J 0 ∣ = d . The following lemma establishes how to choose a supplier u ∗ ∈ U u_*\in U u ∗ ∈ U , a set of ∣ J 0 ∣ |J_0| ∣ J 0 ∣ recipient agents U 0 ⊆ U U_0\subseteq U U 0 ⊆ U , and how to assign supplier profiles to different recipients, so that we can guarantee that conditions (E_{\mathcal{L}_S}) and (S) hold.
Lemma 5.1 (Supplier and recipients choice). Let L S ⊆ { 0 , 1 , … , m } \mathcal{L}_S\subseteq\{0,1,\ldots,m\} L S ⊆ { 0 , 1 , … , m } be the set of t t t protected prefixes. There exists a set U 0 U_0 U 0 of size at least
∣ U 0 ∣ ≥ ⌊ ∣ U ∣ ( t + ∣ S ∣ + 1 ) q 2 ⌋ |U_0|\ge\left\lfloor\frac{|U|}{(t+|S|+1)^{q^2}}\right\rfloor ∣ U 0 ∣ ≥ ⌊ ( t + ∣ S ∣ + 1 ) q 2 ∣ U ∣ ⌋ with the following property. Let u ∗ ∈ U 0 u_*\in U_0 u ∗ ∈ U 0 be arbitrary, and let J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] be any set of size ∣ J 0 ∣ ≤ ∣ U 0 ∣ |J_0|\le|U_0| ∣ J 0 ∣ ≤ ∣ U 0 ∣ . Consider MMS profiles { π u ∗ , j : j ∈ J 0 } \{\pi_{u_*,j}:j\in J_0\} { π u ∗ , j : j ∈ J 0 } of u ∗ u_* u ∗ , and assign them arbitrarily to ∣ J 0 ∣ |J_0| ∣ J 0 ∣ distinct agents of U 0 U_0 U 0 , where agent u ( j ) ∈ U 0 u(j)\in U_0 u ( j ) ∈ U 0 receives π u ∗ , j \pi_{u_*,j} π u ∗ , j . Then
∑ j ∈ J 0 P u ( j ) ( π u ∗ , j E , ℓ s ) = ∑ j ∈ J 0 P u ∗ ( π u ∗ , j E , ℓ s ) , ∀ ℓ s ∈ L S , \sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi^E_{u_*,j},\ell_s)=\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi^E_{u_*,j},\ell_s),\qquad\forall\ell_s\in\mathcal{L}_S, j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j E , ℓ s ) = j ∈ J 0 ∑ P u ∗ ( π u ∗ , j E , ℓ s ) , ∀ ℓ s ∈ L S , ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀ 0 ≤ ℓ ≤ m . \sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi^S_{u_*,j},\ell)\le|S\cap[\ell]|,\qquad\forall0\le\ell\le m. j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀0 ≤ ℓ ≤ m .
Proof. For each agent u ∈ U u\in U u ∈ U and each possible head value α ∈ Q \alpha\in Q α ∈ Q , we record
whether m u ( α ) ≤ ℓ s m_u(\alpha)\le\ell_s m u ( α ) ≤ ℓ s , for each protected prefix ℓ s ∈ L S \ell_s\in\mathcal{L}_S ℓ s ∈ L S , maintaining a binary vector
1 { m u ( α ) ≤ ℓ 1 } , … , 1 { m u ( α ) ≤ ℓ t } ; \mathbb{1}\{m_u(\alpha)\le\ell_1\},\ldots,\mathbb{1}\{m_u(\alpha)\le\ell_t\}; 1 { m u ( α ) ≤ ℓ 1 } , … , 1 { m u ( α ) ≤ ℓ t } ;
which items of S S S can satisfy demand α \alpha α for u u u , i.e set
S ∩ [ m u ( α ) ] . S\cap[m_u(\alpha)]. S ∩ [ m u ( α )] .
It is easy to see that for every fixed α ∈ Q \alpha\in Q α ∈ Q , there are t + ∣ S ∣ + 1 t+|S|+1 t + ∣ S ∣ + 1 possible combined records (w.r.t L S \mathcal{L}_S L S and S S S ). Indeed, take prefixes { 0 , 1 , … , m } \{0,1,\ldots,m\} { 0 , 1 , … , m } and keep increasing m u ( α ) m_u(\alpha) m u ( α ) , starting from 0. A record will change only when m u ( α ) m_u(\alpha) m u ( α ) crosses one of the protected prefixes ℓ s ∈ L S \ell_s \in\mathcal{L}_S ℓ s ∈ L S , or when it crosses one of the items in S S S . Hence, there can be at most t + ∣ S ∣ t+|S| t + ∣ S ∣ changes in the combined record, and t + ∣ S ∣ + 1 t+|S|+1 t + ∣ S ∣ + 1 total possible records, for a fixed α ∈ Q \alpha\in Q α ∈ Q . There are ∣ Q ∣ ≤ q 2 |Q| \leq q^2 ∣ Q ∣ ≤ q 2 possible values of α \alpha α , so in total there are at most ( t + ∣ S ∣ + 1 ) q 2 (t+|S|+1)^{q^2} ( t + ∣ S ∣ + 1 ) q 2 possible records overall.
We partition all agents U U U into groups, two agents are in the same group if their records above are exactly the same. Now, when it comes to satisfying just constraints on protected prefixes L S \mathcal{L}_S L S and on prefix loads for S S S , all agents within the same group look identical from our perspective. There are at most ( t + ∣ S ∣ + 1 ) q 2 (t+|S|+1)^{q^2} ( t + ∣ S ∣ + 1 ) q 2 different groups, hence taking U 0 U_0 U 0 as the largest such group gives
∣ U 0 ∣ ≥ ⌈ ∣ U ∣ ( t + ∣ S ∣ + 1 ) q 2 ⌉ . |U_0| \geq\left\lceil\frac{|U|}{(t+|S|+1)^{q^2}} \right\rceil. ∣ U 0 ∣ ≥ ⌈ ( t + ∣ S ∣ + 1 ) q 2 ∣ U ∣ ⌉ .
For completeness, we show rigorously that all agents within group U 0 U_0 U 0 can indeed be replaced with copies of just one arbitrary group representative, i.e supplier, and vice-versa.
Pick and arbitrary u ∗ ∈ U 0 u_* \in U_0 u ∗ ∈ U 0 , any J 0 ⊆ [ d ] J_0 \subseteq[d] J 0 ⊆ [ d ] satisfying ∣ J 0 ∣ ≤ ∣ U 0 ∣ |J_0| \leq|U_0| ∣ J 0 ∣ ≤ ∣ U 0 ∣ , and assign each of the profiles π u ∗ , j \pi_{u_*,j} π u ∗ , j to arbitrary distinct agents u ( j ) u(j) u ( j ) for j ∈ J 0 j \in J_0 j ∈ J 0 . Since u ∗ u_* u ∗ and u ( j ) u(j) u ( j ) belong to the same group, for every α ∈ Q \alpha\in Q α ∈ Q we have
m u ( j ) ( α ) ≤ ℓ s ⟺ m u ∗ ( α ) ≤ ℓ s , ∀ ℓ s ∈ L S . m_{u(j)}(\alpha) \leq\ell_s \Longleftrightarrow m_{u_*}(\alpha) \leq\ell_s,\qquad\forall\ell_s \in\mathcal{L}_S. m u ( j ) ( α ) ≤ ℓ s ⟺ m u ∗ ( α ) ≤ ℓ s , ∀ ℓ s ∈ L S .
It follows that, for every protected prefix ℓ s ∈ L S \ell_s \in\mathcal{L}_S ℓ s ∈ L S ,
∑ j ∈ J 0 P u ( j ) ( π u ∗ , j E , ℓ s ) = ∑ j ∈ J 0 ∑ α ∈ π u ∗ , j E 1 { m u ( j ) ( α ) ≤ ℓ s } = ∑ j ∈ J 0 ∑ α ∈ π u ∗ , j E 1 { m u ∗ ( α ) ≤ ℓ s } = ∑ j ∈ J 0 P u ∗ ( π u ∗ , j E , ℓ s ) . \sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi^E_{u_*,j},\ell_s)
=
\sum_{j\in J_0}\sum_{\alpha\in\pi^E_{u_*,j}} \mathbf{1}\{m_{u(j)}(\alpha)\leq\ell_s\}
=
\sum_{j\in J_0}\sum_{\alpha\in\pi^E_{u_*,j}} \mathbf{1}\{m_{u_*}(\alpha)\leq\ell_s\}
=
\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi^E_{u_*,j},\ell_s). j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j E , ℓ s ) = j ∈ J 0 ∑ α ∈ π u ∗ , j E ∑ 1 { m u ( j ) ( α ) ≤ ℓ s } = j ∈ J 0 ∑ α ∈ π u ∗ , j E ∑ 1 { m u ∗ ( α ) ≤ ℓ s } = j ∈ J 0 ∑ P u ∗ ( π u ∗ , j E , ℓ s ) .
Next, consider some α ∈ Q \alpha\in Q α ∈ Q and items S ∩ [ m u ( j ) ( α ) ] S \cap[m_{u(j)}(\alpha)] S ∩ [ m u ( j ) ( α )] . Every demand in π u ∗ , j S \pi^S_{u_*,j} π u ∗ , j S originates from a distinct item e ∈ B u ∗ , j ∩ S e \in B_{u_*,j} \cap S e ∈ B u ∗ , j ∩ S . If v u ∗ ( e ) ≥ α v_{u_*}(e) \geq\alpha v u ∗ ( e ) ≥ α , then e ∈ S ∩ [ m u ∗ ( α ) ] e \in S \cap[m_{u_*}(\alpha)] e ∈ S ∩ [ m u ∗ ( α )] and hence e ∈ S ∩ [ m u ( j ) ( α ) ] e \in S \cap[m_{u(j)}(\alpha)] e ∈ S ∩ [ m u ( j ) ( α )] . Assigning these distinct items e ∈ B u ∗ , j ∩ S e \in B_{u_*,j} \cap S e ∈ B u ∗ , j ∩ S to corresponding recipients u ( j ) u(j) u ( j ) , then all profiles π u ( j ) S = π u ∗ , j S \pi^S_{u(j)}=\pi^S_{u_*,j} π u ( j ) S = π u ∗ , j S are simultaneously satisfied for all agents u ( j ) u(j) u ( j ) , j ∈ J 0 j \in J_0 j ∈ J 0 , by distinct items of S S S . Then, every demand counted in P u ( j ) ( π u ∗ , j S , ℓ ) \mathcal{P}_{u(j)}(\pi^S_{u_*,j},\ell) P u ( j ) ( π u ∗ , j S , ℓ ) must receive a distinct item from S ∩ [ ℓ ] S \cap[\ell] S ∩ [ ℓ ] . It follows that
∑ j ∈ J 0 P u ( j ) ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀ 0 ≤ ℓ ≤ m . \sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi^S_{u_*,j},\ell)\leq|S\cap[\ell]|,\qquad\forall0\leq\ell\leq m. j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀0 ≤ ℓ ≤ m .
□ \square □
Remark 5.1. The denominator in Lemma 5.1 can be improved to O ( ( t ∣ S ∣ ) q ) O((t|S|)^{q}) O (( t ∣ S ∣ ) q ) . In order to achieve this, instead of classifying just u ∈ U u\in U u ∈ U , we classify pairs of agents u ∈ U u\in U u ∈ U and their MMS profiles π u , j \pi_{u,j} π u , j for j ∈ [ d ] j\in[d] j ∈ [ d ] . Two pairs are in the same group if and only if both of their E E E and S S S profile parts are the same, their profile E E E -prefix loads are the same, and their S S S -demands can be satisfied by the same items of S S S . This splits U U U into a roughly G = O ( ( t ∣ S ∣ ) q ) G=O((t|S|)^q) G = O (( t ∣ S ∣ ) q ) groups. Within each group, reserve up to ∣ U ∣ / G |U|/G ∣ U ∣/ G agents, and choose some non-reserved supplier u ∗ u_* u ∗ . For every j ∈ J 0 j\in J_0 j ∈ J 0 , take the group of ( u ∗ , j ) (u_*,j) ( u ∗ , j ) and pick an arbitrary agent within this group as u ( j ) u(j) u ( j ) . With this construction, the bound on n ε , q n_{\varepsilon,q} n ε , q in Corollary 5.1 and Appendix § 12 becomes 2 O ( q 5 / ε ) log q 2^{O(q^5/\varepsilon)\log q} 2 O ( q 5 / ε ) l o g q instead of 2 O ( q 6 / ε ) log q 2^{O(q^6/\varepsilon)\log q} 2 O ( q 6 / ε ) l o g q . We do not provide a rigorous proof of this improvement.
It follows that for sufficiently large number of agents n n n , in the small tail case we can always choose a recipient set U 0 ⊆ U U_0\subseteq U U 0 ⊆ U and a supplier u ∗ ∈ U 0 u_*\in U_0 u ∗ ∈ U 0 so that all J 0 J_0 J 0 copies of the supplier that we get from Theorem 5.1 can be assigned to distinct agents of U 0 U_0 U 0 , whole preserving constraints ( E L S ) (E_{\mathcal{L}_S}) ( E L S ) , ( U ) (U) ( U ) and ( S ) (S) ( S ) with corresponding set A 0 ⊆ A A_0\subseteq A A 0 ⊆ A from the single supplier theorem.
Corollary 5.1. For every fixed ε ∈ ( 0 , 1 ) \varepsilon\in(0,1) ε ∈ ( 0 , 1 ) and integer q ≥ 3 q \ge3 q ≥ 3 , there exists n ε , q n_{\varepsilon,q} n ε , q such that the following holds for every n ≥ n ε , q n \ge n_{\varepsilon,q} n ≥ n ε , q . For γ = min ( ε , 1 / ( 2 q ) ) \gamma= \min(\varepsilon,1/(2q)) γ = min ( ε , 1/ ( 2 q )) and λ = ( 1 − 1 / ( 2 q ) ) − 1 \lambda= (1-1/(2q))^{-1} λ = ( 1 − 1/ ( 2 q ) ) − 1 suppose that agents N N N satisfy
T ‾ : = 1 n ∑ i ∈ N T i < ρ q , n γ , \overline{T}:=\frac{1}{n}\sum_{i\in N}T_i<\frac{\rho_{q,n}}{\gamma}, T := n 1 i ∈ N ∑ T i < γ ρ q , n , where
ρ q , n : = 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) . \rho_{q,n}:=8+4\log_{\lambda}\left(q^{3}d^{2}(d+2)n\right)+8q\log\left((d+2)n\right). ρ q , n := 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) . Let A ⊆ V A\subseteq V A ⊆ V be the assigned agents from Theorem 4.1, each receiving some profile π i \pi_i π i , i ∈ A i\in A i ∈ A . If ∣ A ∣ < d |A|<d ∣ A ∣ < d , there exists a choice of U 0 ⊆ U U_0\subseteq U U 0 ⊆ U with the following property. For any u ∗ ∈ U 0 u_*\in U_0 u ∗ ∈ U 0 , consider its MMS profiles { π u ∗ , j : j ∈ [ d ] } \{\pi_{u_*,j}:j\in[d]\} { π u ∗ , j : j ∈ [ d ]} . We can choose A 0 ⊆ A A_0\subseteq A A 0 ⊆ A and J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] with ∣ J 0 ∣ ≤ ∣ U 0 ∣ |J_0|\leq|U_0| ∣ J 0 ∣ ≤ ∣ U 0 ∣ and ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|J_0|=d ∣ A 0 ∣ + ∣ J 0 ∣ = d , and for every j ∈ J 0 j\in J_0 j ∈ J 0 assign π u ∗ , j \pi_{u_*,j} π u ∗ , j to distinct u ( j ) ∈ U 0 u(j)\in U_0 u ( j ) ∈ U 0 , so that
∑ i ∈ A 0 P i ( π i , ℓ ) + ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j , ℓ ) ≤ ℓ , ∀ 0 ≤ ℓ ≤ m . \sum_{i\in A_0}\mathcal{P}_i(\pi_i,\ell)+\sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi_{u_*,j},\ell)\leq\ell,\qquad\forall0\leq\ell\leq m. i ∈ A 0 ∑ P i ( π i , ℓ ) + j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j , ℓ ) ≤ ℓ , ∀0 ≤ ℓ ≤ m .
Proof. We will first bound the number d − ∣ A ∣ d-|A| d − ∣ A ∣ of missing agents after rounding. By Theorem 4.1, taking ρ A = 8 + 16 q log n \rho_A=8+16q\log n ρ A = 8 + 16 q log n and using ∣ V ∣ ≥ ( 1 − ε / 4 ) n ≥ 3 n / 4 |V|\geq(1-\varepsilon/4)n\geq3n/4 ∣ V ∣ ≥ ( 1 − ε /4 ) n ≥ 3 n /4 ,
d − ∣ A ∣ ≤ ∣ S ∣ + q ( q − 1 ) ∣ V ∣ ∑ i ∈ V T i + ρ A ≤ ∣ S ∣ + 2 q ( q − 1 ) T ‾ + ρ A ≤ ∣ S ∣ + 2 q ( q − 1 ) γ ρ q , n + ρ A . d-|A|\leq|S|+\frac{q(q-1)}{|V|}\sum_{i\in V}T_i+\rho_A\leq|S|+2q(q-1)\overline{T}+\rho_A\leq|S|+\frac{2q(q-1)}{\gamma}\rho_{q,n}+\rho_A. d − ∣ A ∣ ≤ ∣ S ∣ + ∣ V ∣ q ( q − 1 ) i ∈ V ∑ T i + ρ A ≤ ∣ S ∣ + 2 q ( q − 1 ) T + ρ A ≤ ∣ S ∣ + γ 2 q ( q − 1 ) ρ q , n + ρ A .
The number of protected prefixes ∣ L S ∣ |\mathcal{L}_S| ∣ L S ∣ is t ≤ 2 q 2 t\leq2q^2 t ≤ 2 q 2 , and at least 1, so we can pick a global constant
C q : = max { 1 , max 1 ≤ t ≤ 2 q 2 C t , q } , C_q:=\max\left\{1,\max_{1\leq t\leq2q^2}C_{t,q}\right\}, C q := max { 1 , 1 ≤ t ≤ 2 q 2 max C t , q } ,
where each C t , q C_{t,q} C t , q is from Theorem 5.1. Choose integers
C 1 : = 1 + ⌈ 12 q 3 C q ⌉ and r 1 : = 1 + ⌈ ( 2 q ( q − 1 ) γ + 2 ) ρ q , n ⌉ . C_1:=1+\left\lceil12q^3C_q\right\rceil\qquad\text{and}\qquad r_1:=1+\left\lceil\left(\frac{2q(q-1)}{\gamma}+2\right)\rho_{q,n}\right\rceil. C 1 := 1 + ⌈ 12 q 3 C q ⌉ and r 1 := 1 + ⌈ ( γ 2 q ( q − 1 ) + 2 ) ρ q , n ⌉ .
Using ρ A ≤ 2 ρ q , n \rho_A\leq2\rho_{q,n} ρ A ≤ 2 ρ q , n and the parameters above, we get
d − ∣ A ∣ ≤ ∣ S ∣ + 2 q ( q − 1 ) γ ρ q , n + ρ A ≤ ∣ S ∣ + r 1 − 1. d-|A|\leq|S|+\frac{2q(q-1)}{\gamma}\rho_{q,n}+\rho_A\leq|S|+r_1-1. d − ∣ A ∣ ≤ ∣ S ∣ + γ 2 q ( q − 1 ) ρ q , n + ρ A ≤ ∣ S ∣ + r 1 − 1.
By Lemma 4.1, ∣ S ∣ ≥ r 1 |S|\geq r_1 ∣ S ∣ ≥ r 1 , hence d − ∣ A ∣ ≤ 2 ∣ S ∣ d-|A|\leq2|S| d − ∣ A ∣ ≤ 2∣ S ∣ and
η ≥ C 1 − 1 2 q 2 ∣ S ∣ , ⟹ C q ( d − ∣ A ∣ ) ≤ 2 C q ∣ S ∣ ≤ C 1 − 1 6 q 3 ∣ S ∣ ≤ η 3 q . \eta\geq\frac{C_1-1}{2q^2}|S|,\qquad\Longrightarrow\qquad C_q(d-|A|)\leq2C_q|S|\leq\frac{C_1-1}{6q^3}|S|\leq\frac{\eta}{3q}. η ≥ 2 q 2 C 1 − 1 ∣ S ∣ , ⟹ C q ( d − ∣ A ∣ ) ≤ 2 C q ∣ S ∣ ≤ 6 q 3 C 1 − 1 ∣ S ∣ ≤ 3 q η .
We will now find large enough set of recipients U 0 U_0 U 0 to accommodate any ∣ J 0 ∣ ≤ C q ( d − ∣ A ∣ ) |J_0|\leq C_q(d-|A|) ∣ J 0 ∣ ≤ C q ( d − ∣ A ∣ ) copies supplied by Theorem 5.1. Since C 1 = O q ( 1 ) C_1=O_q(1) C 1 = O q ( 1 ) and r 1 = O ε , q ( log n ) r_1=O_{\varepsilon,q}(\log n) r 1 = O ε , q ( log n ) , we have ∣ S ∣ = O ε , q ( log n ) |S|=O_{\varepsilon,q}(\log n) ∣ S ∣ = O ε , q ( log n ) , thus d − ∣ A ∣ = O ε , q ( log n ) d-|A|=O_{\varepsilon,q}(\log n) d − ∣ A ∣ = O ε , q ( log n ) . Hence, there exists constant C ∗ = C ∗ ( ε , q ) ≥ 1 C_*=C_*(\varepsilon,q)\geq1 C ∗ = C ∗ ( ε , q ) ≥ 1 such that
t + ∣ S ∣ + 1 ≤ C ∗ log n , and C q ( d − ∣ A ∣ ) ≤ C ∗ log n . t+|S|+1\leq C_*\log n,\qquad\text{and}\qquad C_q(d-|A|)\leq C_*\log n. t + ∣ S ∣ + 1 ≤ C ∗ log n , and C q ( d − ∣ A ∣ ) ≤ C ∗ log n .
Choose n ε , q ≥ 16 / ε n_{\varepsilon,q}\geq16/\varepsilon n ε , q ≥ 16/ ε sufficiently large so that for all n ≥ n ε , q n\geq n_{\varepsilon,q} n ≥ n ε , q it holds
n ( log n ) q 2 + 1 ≥ 16 C ∗ q 2 + 1 ε . \frac{n}{(\log n)^{q^2+1}}\geq\frac{16C_*^{q^2+1}}{\varepsilon}. ( log n ) q 2 + 1 n ≥ ε 16 C ∗ q 2 + 1 .
Next, by definition, ∣ U ∣ = ⌊ ε n / 8 ⌋ ≥ ε n / 16 |U|=\lfloor\varepsilon n/8\rfloor\geq\varepsilon n/16 ∣ U ∣ = ⌊ ε n /8 ⌋ ≥ ε n /16 . Applying Lemma 5.1, we get U 0 ⊆ U U_0\subseteq U U 0 ⊆ U of size
∣ U 0 ∣ ≥ ∣ U ∣ ( t + ∣ S ∣ + 1 ) q 2 ≥ ε n 16 ( C ∗ log n ) q 2 ≥ C ∗ log n ≥ C q ( d − ∣ A ∣ ) . |U_0|\geq\frac{|U|}{(t+|S|+1)^{q^2}}\geq\frac{\varepsilon n}{16(C_*\log n)^{q^2}}\geq C_*\log n\geq C_q(d-|A|). ∣ U 0 ∣ ≥ ( t + ∣ S ∣ + 1 ) q 2 ∣ U ∣ ≥ 16 ( C ∗ log n ) q 2 ε n ≥ C ∗ log n ≥ C q ( d − ∣ A ∣ ) .
Fix an arbitrary supplier u ∗ ∈ U 0 u_* \in U_0 u ∗ ∈ U 0 . Apply Theorem 5.1 to A A A and u ∗ u_* u ∗ , obtaining A 0 ⊆ A A_0 \subseteq A A 0 ⊆ A and J 0 ⊆ [ d ] J_0 \subseteq[d] J 0 ⊆ [ d ] such that
∣ A 0 ∣ + ∣ J 0 ∣ = d , and ∣ J 0 ∣ ≤ C q ( d − ∣ A ∣ ) ≤ min { ∣ U 0 ∣ , η / ( 3 q ) } , |A_0| + |J_0| = d, \qquad\text{and} \qquad|J_0| \le C_q(d-|A|) \le\min\{|U_0|,\eta/(3q)\}, ∣ A 0 ∣ + ∣ J 0 ∣ = d , and ∣ J 0 ∣ ≤ C q ( d − ∣ A ∣ ) ≤ min { ∣ U 0 ∣ , η / ( 3 q )} ,
where for every protected prefix ℓ s ∈ L S \ell_s \in\mathcal{L}_S ℓ s ∈ L S it holds
∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ j ∈ J 0 P u ∗ ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ . \sum_{i\in A_0} \mathcal{P}_i(\pi_i^E,\ell_s) + \sum_{j\in J_0} \mathcal{P}_{u_*}(\pi_{u_*,j}^E,\ell_s) \le|E \cap[\ell_s]|. i ∈ A 0 ∑ P i ( π i E , ℓ s ) + j ∈ J 0 ∑ P u ∗ ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣.
Since ∣ J 0 ∣ ≤ ∣ U 0 ∣ |J_0| \le|U_0| ∣ J 0 ∣ ≤ ∣ U 0 ∣ , we can assign each supplier copy π u ∗ , j \pi_{u_*,j} π u ∗ , j for j ∈ J 0 j \in J_0 j ∈ J 0 to a distinct recipient u ( j ) ∈ U 0 u(j) \in U_0 u ( j ) ∈ U 0 , setting π u ( j ) = π u ∗ , j \pi_{u(j)}=\pi_{u_*,j} π u ( j ) = π u ∗ , j . As shown in Lemma 5.1, replacing the supplier copies with u ( j ) u(j) u ( j ) -s preserves all E E E -loads, as well as guarantees feasibility at S S S -prefixes. So,
∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S , \sum_{i\in A_0} \mathcal{P}_i(\pi_i^E,\ell_s) + \sum_{j\in J_0} \mathcal{P}_{u(j)}(\pi_{u_*,j}^E,\ell_s) \le|E \cap[\ell_s]|, \qquad\forall\ell_s \in\mathcal{L}_S, i ∈ A 0 ∑ P i ( π i E , ℓ s ) + j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S ,
∑ j ∈ J 0 P u ( j ) ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀ 0 ≤ ℓ ≤ m . \sum_{j\in J_0} \mathcal{P}_{u(j)}(\pi_{u_*,j}^S,\ell) \le|S \cap[\ell]|, \qquad\forall0 \le\ell\le m. j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ , ∀0 ≤ ℓ ≤ m .
Let U 0 ( J 0 ) : = { u ( j ) : j ∈ J 0 } U_0(J_0):=\{u(j):j\in J_0\} U 0 ( J 0 ) := { u ( j ) : j ∈ J 0 } . Since ∣ U 0 ( J 0 ) ∣ = ∣ J 0 ∣ ≤ η / ( 3 q ) |U_0(J_0)|=|J_0|\le\eta/(3q) ∣ U 0 ( J 0 ) ∣ = ∣ J 0 ∣ ≤ η / ( 3 q ) , applying Corollary 4.1 with A 0 A_0 A 0 and U 0 ( J 0 ) U_0(J_0) U 0 ( J 0 ) we get that for every prefix 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m ,
∑ i ∈ A 0 P i ( π i E , ℓ ) + ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ . \sum_{i\in A_0} \mathcal{P}_i(\pi_i^E,\ell) + \sum_{j\in J_0} \mathcal{P}_{u(j)}(\pi_{u_*,j}^E,\ell) \le|E\cap[\ell]|. i ∈ A 0 ∑ P i ( π i E , ℓ ) + j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣.
Since for every i ∈ A 0 i\in A_0 i ∈ A 0 we have π i E = π i \pi_i^E=\pi_i π i E = π i , and for every j ∈ J 0 j\in J_0 j ∈ J 0 we have π u ∗ , j E ⊔ π u ∗ , j S = π u ∗ , j \pi_{u_*,j}^E \mathbin{\mathop{\sqcup}} \pi_{u_*,j}^S=\pi_{u_*,j} π u ∗ , j E ⊔ π u ∗ , j S = π u ∗ , j , combining the individual bounds on E E E -loads and S S S -loads we get
∑ i ∈ A 0 P i ( π i , ℓ ) + ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ + ∣ S ∩ [ ℓ ] ∣ = ℓ \sum_{i\in A_0} \mathcal{P}_i(\pi_i,\ell) + \sum_{j\in J_0} \mathcal{P}_{u(j)}(\pi_{u_*,j},\ell) \le|E\cap[\ell]|+|S\cap[\ell]|=\ell i ∈ A 0 ∑ P i ( π i , ℓ ) + j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ + ∣ S ∩ [ ℓ ] ∣ = ℓ
for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m , as desired. Note that ∣ A 0 ∣ + ∣ U ( J 0 ) ∣ = ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|U(J_0)|=|A_0|+|J_0|=d ∣ A 0 ∣ + ∣ U ( J 0 ) ∣ = ∣ A 0 ∣ + ∣ J 0 ∣ = d by construction. □
Common tail completion
For sets U 0 ⊆ U U_0\subseteq U U 0 ⊆ U , J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] and supplier u ∗ ∈ U 0 u_*\in U_0 u ∗ ∈ U 0 from Corollary 5.1, denote by U 0 ( J 0 ) U_0(J_0) U 0 ( J 0 ) the chosen collection of agents u ( j ) ∈ U 0 u(j)\in U_0 u ( j ) ∈ U 0 , such that for j ∈ J 0 j\in J_0 j ∈ J 0 agent u ( j ) u(j) u ( j ) is assigned a supplier profile π u ∗ , j \pi_{u_*,j} π u ∗ , j . Corollary 5.1 gives us a set of d d d agents I = A 0 + U ( J 0 ) I=A_0+U(J_0) I = A 0 + U ( J 0 ) and a collection of head profiles Π I = { π i : i ∈ A 0 } + { π u ∗ , j : j ∈ J 0 } \Pi_I=\{\pi_i:i\in A_0\}+\{\pi_{u_*,j}:j\in J_0\} Π I = { π i : i ∈ A 0 } + { π u ∗ , j : j ∈ J 0 } , such that
∑ i ∈ A 0 P i ( π i , ℓ ) + ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j , ℓ ) ≤ ℓ , ∀ 0 ≤ ℓ ≤ m . \sum_{i\in A_0}\mathcal{P}_i(\pi_i,\ell)+\sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi_{u_*,j},\ell)\le\ell,\qquad\forall0\le\ell\le m. i ∈ A 0 ∑ P i ( π i , ℓ ) + j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j , ℓ ) ≤ ℓ , ∀0 ≤ ℓ ≤ m .
So, by Lemma 2.2, we can simultaneously satisfy all demands in Π I \Pi_I Π I via distinct items of M M M . If for every agent i ∈ I i\in I i ∈ I we have Δ ( π i ) = 0 \Delta(\pi_i)=0 Δ ( π i ) = 0 , this would automatically produce an allocation where each i i i receives a bundle of value at least 1 − 1 / q 1-1/q 1 − 1/ q .
This may not be the case: our construction guarantees only for agents i ∈ A 0 i\in A_0 i ∈ A 0 that Δ ( π i ) = 0 \Delta(\pi_i)=0 Δ ( π i ) = 0 , while the copied supplier profiles π u ∗ , j \pi_{u_*,j} π u ∗ , j may still have positive deficit. Recall that in the large tail case, the rounding of Theorem 3.2 produced a collection of integral profiles that had enough slackness, for every prefix ℓ \ell ℓ , to allow additional tail load of
∑ i ∈ I Δ ( π i ) T i ( ℓ − h i ) + . \sum_{i\in I}\frac{\Delta(\pi_i)}{T_i}(\ell-h_i)_+. i ∈ I ∑ T i Δ ( π i ) ( ℓ − h i ) + .
Even if for some Δ ( π i ) > 0 \Delta(\pi_i)>0 Δ ( π i ) > 0 the tail value T i T_i T i is very small, in the large tail case the number of such agents is limited (since the average tail is large), hence the total fractional tail load is bounded. However, when all tails are small with positive deficits, terms Δ ( π i ) T i \frac{\Delta(\pi_i)}{T_i} T i Δ ( π i ) and the fractional tail load of profiles Π I \Pi_I Π I may be unbounded. To make things worse, at first glance it seems as if in our construction of I = A 0 + U 0 ( J 0 ) I = A_0 + U_0(J_0) I = A 0 + U 0 ( J 0 ) and Π I \Pi_I Π I , we did not control the fractional tail load at all.
In reality, the choice of the original set U U U , as well as the construction of U 0 ( J 0 ) U_0(J_0) U 0 ( J 0 ) , gives us some tail guarantees. In particular, it ensures that all agents in I = A 0 + U 0 ( J 0 ) I = A_0 + U_0(J_0) I = A 0 + U 0 ( J 0 ) have a common tail.
Corollary 5.2. All demands in Π I = { π i : i ∈ A 0 } + { π u ∗ , j : j ∈ J 0 } \Pi_I = \{\pi_i : i \in A_0\} + \{\pi_{u_*,j} : j \in J_0\} Π I = { π i : i ∈ A 0 } + { π u ∗ , j : j ∈ J 0 } can be simultaneously satisfied by distinct items in { 1 , … , h ∗ } \{1,\ldots,h_*\} { 1 , … , h ∗ } , where h ∗ h_* h ∗ is the head threshold of the supplier u ∗ u_* u ∗ . Furthermore, if T ∗ T_* T ∗ is the total tail value of u ∗ u_* u ∗ , it holds
∑ i ∈ A 0 Δ ( π i ) + ∑ j ∈ J 0 Δ ( π u ∗ , j ) ≤ T ∗ . \sum_{i\in A_0}\Delta(\pi_i)+\sum_{j\in J_0}\Delta(\pi_{u_*,j})\le T_*. i ∈ A 0 ∑ Δ ( π i ) + j ∈ J 0 ∑ Δ ( π u ∗ , j ) ≤ T ∗ .
Proof. The bound on the total deficit follows by recalling that Δ ( π i ) = 0 \Delta(\pi_i) = 0 Δ ( π i ) = 0 for all i ∈ A 0 i \in A_0 i ∈ A 0 , and then applying Lemma 3.2 applied to a subset of MMS profiles of the supplier u ∗ u_* u ∗ .
Now, consider the proof of Corollary 5.1. After applying Theorem 5.1 to agent u ∗ ∈ U 0 u_* \in U_0 u ∗ ∈ U 0 and A A A , the resulting copies J 0 ⊆ [ d ] J_0 \subseteq[d] J 0 ⊆ [ d ] of u ∗ u_* u ∗ satisfied the property ( E L S ∗ ) (\mathrm{ELS}_*) ( ELS ∗ ) :
∑ i ∈ A 0 P i ( π i E , ℓ s ) + ∑ j ∈ J 0 P u ∗ ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S ; (8) \sum_{i\in A_0}\mathcal{P}_i(\pi_i^E,\ell_s)+\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j}^E,\ell_s)\le|E\cap[\ell_s]|,\qquad\forall\ell_s\in\mathcal{L}_S; \tag*{(8)} i ∈ A 0 ∑ P i ( π i E , ℓ s ) + j ∈ J 0 ∑ P u ∗ ( π u ∗ , j E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ , ∀ ℓ s ∈ L S ; (8)
Furthermore, Theorem 5.1 guarantees ∣ J 0 ∣ ≤ C q ( d − ∣ A ∣ ) |J_0| \le C_q(d-|A|) ∣ J 0 ∣ ≤ C q ( d − ∣ A ∣ ) , while Corollary 5.1 chose C q , C 1 , r 1 C_q,C_1,r_1 C q , C 1 , r 1 so that C q ( d − ∣ A ∣ ) ≤ η / ( 3 q ) C_q(d-|A|) \le\eta/(3q) C q ( d − ∣ A ∣ ) ≤ η / ( 3 q ) . Hence, we can apply Corollary 4.1 to the set of agents A 0 A_0 A 0 as well as a supplier set U ∗ U_* U ∗ which consists of ∣ J 0 ∣ |J_0| ∣ J 0 ∣ copies of u ∗ u_* u ∗ with profiles π u ∗ , j \pi_{u_*,j} π u ∗ , j for j ∈ J 0 j \in J_0 j ∈ J 0 , with the exact same construction of all partitions and choice of parameters. Indeed, the proof of Corollary 4.1 applies equally to copies of the exactly same agent with different profiles, as long as the corresponding bounds apply. Therefore, for every prefix 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m we have
∑ i ∈ A 0 P i ( π i E , ℓ ) + ∑ j ∈ J 0 P u ∗ ( π u ∗ , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ ; (9) \sum_{i\in A_0}\mathcal{P}_i(\pi_i^E,\ell)+\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j}^E,\ell)\le|E\cap[\ell]|; \tag*{(9)} i ∈ A 0 ∑ P i ( π i E , ℓ ) + j ∈ J 0 ∑ P u ∗ ( π u ∗ , j E , ℓ ) ≤ ∣ E ∩ [ ℓ ] ∣ ; (9)
∑ j ∈ J 0 P u ∗ ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣ . (10) \sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j}^S,\ell)\le|S\cap[\ell]|. \tag*{(10)} j ∈ J 0 ∑ P u ∗ ( π u ∗ , j S , ℓ ) ≤ ∣ S ∩ [ ℓ ] ∣. (10)
Constraints ( S ∗ ) (S_*) ( S ∗ ) hold automatically as all π u ∗ , j \pi_{u_*,j} π u ∗ , j are MMS profiles of agent u ∗ u_* u ∗ .
Let h ∗ : = h u ∗ h_* := h_{u_*} h ∗ := h u ∗ . Recall U U U was selected as the ⌊ ε n / 8 ⌋ \lfloor\varepsilon n/8\rfloor ⌊ ε n /8 ⌋ agents of N − W = U + V N-W=U+V N − W = U + V with largest head thresholds h u h_u h u . Then, as u ∗ ∈ U u_* \in U u ∗ ∈ U , for every i ∈ A 0 i \in A_0 i ∈ A 0 we have h i ≤ h ∗ h_i \le h_* h i ≤ h ∗ , which implies that any demand α ∈ Q \alpha\in Q α ∈ Q satisfies m i ( α ) ≤ h ∗ m_i(\alpha) \le h_* m i ( α ) ≤ h ∗ . As every demand of u ∗ u_* u ∗ has breakpoint at most h ∗ h_* h ∗ ,
∑ i ∈ A 0 ∣ π i E ∣ + ∑ j ∈ J 0 ∣ π u ∗ , j E ∣ = ∑ i ∈ A 0 P i ( π i E , h ∗ ) + ∑ j ∈ J 0 P u ∗ ( π u ∗ , j E , h ∗ ) ≤ ∣ E ∩ [ h ∗ ] ∣ . \sum_{i\in A_0}|\pi_i^E|+\sum_{j\in J_0}|\pi_{u_*,j}^E|
=\sum_{i\in A_0}\mathcal{P}_i(\pi_i^E,h_*)+\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j}^E,h_*)\le|E\cap[h_*]|. i ∈ A 0 ∑ ∣ π i E ∣ + j ∈ J 0 ∑ ∣ π u ∗ , j E ∣ = i ∈ A 0 ∑ P i ( π i E , h ∗ ) + j ∈ J 0 ∑ P u ∗ ( π u ∗ , j E , h ∗ ) ≤ ∣ E ∩ [ h ∗ ] ∣.
as well as
∑ j ∈ J 0 ∣ π u ∗ , j S ∣ = ∑ j ∈ J 0 P u ∗ ( π u ∗ , j S , h ∗ ) ≤ ∣ S ∩ [ h ∗ ] ∣ . \sum_{j\in J_0}|\pi_{u_*,j}^S|
=\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j}^S,h_*)\le|S\cap[h_*]|. j ∈ J 0 ∑ ∣ π u ∗ , j S ∣ = j ∈ J 0 ∑ P u ∗ ( π u ∗ , j S , h ∗ ) ≤ ∣ S ∩ [ h ∗ ] ∣.
Hence, the total number of demands in Π I \Pi_I Π I is
K : = ∑ i ∈ A 0 ∣ π i ∣ + ∑ j ∈ J 0 ∣ π u ∗ , j ∣ ≤ ∣ E ∩ [ h ∗ ] ∣ + ∣ S ∩ [ h ∗ ] ∣ = h ∗ . K:=\sum_{i\in A_0}|\pi_i|+\sum_{j\in J_0}|\pi_{u_*,j}|\le|E\cap[h_*]|+|S\cap[h_*]|=h_*. K := i ∈ A 0 ∑ ∣ π i ∣ + j ∈ J 0 ∑ ∣ π u ∗ , j ∣ ≤ ∣ E ∩ [ h ∗ ] ∣ + ∣ S ∩ [ h ∗ ] ∣ = h ∗ .
When assigning profiles π u ∗ , j \pi_{u_*,j} π u ∗ , j to recipients u ( j ) u(j) u ( j ) for j ∈ J 0 j \in J_0 j ∈ J 0 , the total number of demands does not change, and by Corollary 5.1 the collection Π I \Pi_I Π I still remains feasible with agents u ( j ) u(j) u ( j ) , j ∈ J 0 j \in J_0 j ∈ J 0 :
∑ i ∈ A 0 P i ( π i , ℓ ) + ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j , ℓ ) ≤ ℓ , ∀ 0 ≤ ℓ ≤ m . \sum_{i\in A_0}\mathcal{P}_i(\pi_i,\ell)+\sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi_{u_*,j},\ell)\le\ell,\qquad\forall0\le\ell\le m. i ∈ A 0 ∑ P i ( π i , ℓ ) + j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j , ℓ ) ≤ ℓ , ∀0 ≤ ℓ ≤ m .
As a result, applying Lemma 2.2 with K ≤ h ∗ K \le h_* K ≤ h ∗ , we get that all profiles Π I \Pi_I Π I can be simultaneously satisfied using distinct items in { 1 , … , h ∗ } \{1,\ldots,h_*\} { 1 , … , h ∗ } .
Given Corollary 5.2, our next step is to complete head profiles Π I = { π i } i ∈ I \Pi_I=\{\pi_i\}_{i\in I} Π I = { π i } i ∈ I of agents I = A 0 + U 0 ( J 0 ) I=A_0+U_0(J_0) I = A 0 + U 0 ( J 0 ) with appropriate tail profiles Ψ I = { ψ i } i ∈ I \Psi_I=\{\psi_i\}_{i\in I} Ψ I = { ψ i } i ∈ I , so that for every i ∈ I i\in I i ∈ I we have v ( π i ) + v ( ψ i ) ≥ 1 − 2 / q v(\pi_i)+v(\psi_i)\ge1-2/q v ( π i ) + v ( ψ i ) ≥ 1 − 2/ q . If T ∗ = 0 T_*=0 T ∗ = 0 , Corollary 5.2 guarantees that all deficits are 0, and we are done. Suppose that T ∗ > 0 T_*>0 T ∗ > 0 . We will first try to do something similar to Lemma 3.1.
In the large tail case, agent i i i with profile π i \pi_i π i tried to compensate for his deficit Δ ( π i ) \Delta(\pi_i) Δ ( π i ) by taking a τ i : = τ i ( π i ) \tau_i:=\tau_i(\pi_i) τ i := τ i ( π i ) -fraction of every tail item, where
τ i ( π i ) : = { Δ ( π i ) / T i , π ≠ ⊥ and T i > 0 ; 0 , otherwise. \tau_i(\pi_i):=
\begin{cases}
\Delta(\pi_i)/T_i, & \pi\ne\bot\text{ and }T_i>0;\\
0, & \text{otherwise.}
\end{cases} τ i ( π i ) := { Δ ( π i ) / T i , 0 , π = ⊥ and T i > 0 ; otherwise.
So, we construct a tail profile by taking the last item in each tail segment of length roughly 1 / τ i 1/\tau_i 1/ τ i . This costs at most the value of one tail item, which is at most 1 / q 1/q 1/ q .
We would like to repeat this construction on the common tail { h ∗ + 1 , … , m } \{h_*+1,\ldots,m\} { h ∗ + 1 , … , m } . However, an item after h ∗ h_* h ∗ may still be a head item for some agent i ∈ I i\in I i ∈ I , hence have value greater than 1 / q 1/q 1/ q . So, using the old construction directly risks losing more than 1 / q 1/q 1/ q value total.
Note that from the perspective of tail profiles, all items of value more than 1 / q 1/q 1/ q are essentially the same, as any tail demand is at most 1 / q 1/q 1/ q . This gives us the following idea. In order to keep loss at 1 / q 1/q 1/ q , we will cap the values of all head items to 1 / q 1/q 1/ q , just for the sake of the tail completion step. Concretely, for every agent i ∈ I i\in I i ∈ I and item e ∈ M e\in M e ∈ M , define valuation
v ˉ i ( e ) : = min { v i ( e ) , 1 / q } . \bar{v}_i(e):=\min\{v_i(e),1/q\}. v ˉ i ( e ) := min { v i ( e ) , 1/ q } .
and extend it additively. We will construct tail demands based off the item values according to capped valuations v ˉ i \bar{v}_i v ˉ i . Note that all the definitions of head profiles, breakpoints and prefix loads still refer to original uncapped valuations v i v_i v i .
Observe that for every i ∈ I i\in I i ∈ I it holds
v ˉ i ( M ) = ∑ e = 1 m min { v i ( e ) , 1 / q } = h i q + T i . \bar{v}_i(M)=\sum_{e=1}^{m}\min\{v_i(e),1/q\}=\frac{h_i}{q}+T_i. v ˉ i ( M ) = e = 1 ∑ m min { v i ( e ) , 1/ q } = q h i + T i .
This is the total capped value of items M M M for agent i i i that can in theory be used for his tail profile, however, in our case we can only use items { h ∗ + 1 , … , m } \{h_*+1,\ldots,m\} { h ∗ + 1 , … , m } of the common tail. Depending on h i h_i h i and h ∗ h_* h ∗ , common tail may contain some head items of agent i i i , or exclude some tail items of agent i i i . The value h i / q + T i h_i/q+T_i h i / q + T i in a sense captures the available “tail completion budget”, and allows us to compare between the two cases.
At the same time, for every agent i ∈ I i\in I i ∈ I the first h ∗ h_* h ∗ items have capped value at most h ∗ / q h_*/q h ∗ / q . So, the the tail completion budget of i i i , i.e the capped value of the common tail, is at least
∑ e > h ∗ v ˉ i ( e ) = v ˉ i ( M ) − v ˉ i ( { 1 , … , h ∗ } ) ≥ h i q + T i − h ∗ q . \sum_{e>h_*}\bar{v}_i(e)=\bar{v}_i(M)-\bar{v}_i(\{1,\ldots,h_*\})\ge\frac{h_i}{q}+T_i-\frac{h_*}{q}. e > h ∗ ∑ v ˉ i ( e ) = v ˉ i ( M ) − v ˉ i ({ 1 , … , h ∗ }) ≥ q h i + T i − q h ∗ .
By Corollary 5.2, the total deficit of agents i ∈ I i\in I i ∈ I satisfies ∑ i ∈ I Δ ( π i ) ≤ T ∗ \sum_{i\in I}\Delta(\pi_i)\le T_* ∑ i ∈ I Δ ( π i ) ≤ T ∗ . Hence, in order to guarantee that every agent i ∈ I i\in I i ∈ I has large enough tail completion budget to cover the whole deficit, it suffices to ensure that he values the common tail { h ∗ + 1 , … , m } \{h_*+1,\ldots,m\} { h ∗ + 1 , … , m } at least T ∗ T_* T ∗ . In particular, this is guaranteed when
h i q + T i ≥ h ∗ q + T ∗ . \frac{h_i}{q}+T_i\ge\frac{h_*}{q}+T_*. q h i + T i ≥ q h ∗ + T ∗ .
This is exactly the condition that defines our choice of supplier u ∗ ∈ U 0 u_*\in U_0 u ∗ ∈ U 0 in Corollary 5.1. Since both Corollary 5.1 and Corollary 5.2 apply to any choice of supplier u ∗ ∈ U 0 u_*\in U_0 u ∗ ∈ U 0 , we take
u ∗ = argmin u ∈ U 0 ( h u q + T u ) . u_*=\underset{u\in U_0}{\operatorname{argmin}}\left(\frac{h_u}{q}+T_u\right). u ∗ = u ∈ U 0 argmin ( q h u + T u ) .
Since all i ∈ A 0 i \in A_0 i ∈ A 0 have deficit Δ ( π i ) = 0 \Delta(\pi_i) = 0 Δ ( π i ) = 0 , the only i ∈ I i \in I i ∈ I that have positive deficit come from U 0 ( J 0 ) ⊆ U 0 U_0(J_0) \subseteq U_0 U 0 ( J 0 ) ⊆ U 0 . So, choosing u ∗ u_* u ∗ as above, we guarantee that for any agent i ∈ I i \in I i ∈ I with Δ ( π i ) > 0 \Delta(\pi_i) > 0 Δ ( π i ) > 0 ,
v ‾ i ( { h ∗ + 1 , … , m } ) ≥ h i q + T i − h ∗ q ≥ T ∗ . \overline{v}_i(\{h_*+1,\ldots,m\}) \ge\frac{h_i}{q}+T_i-\frac{h_*}{q} \ge T_*. v i ({ h ∗ + 1 , … , m }) ≥ q h i + T i − q h ∗ ≥ T ∗ .
It follows that, in order to cover the deficit Δ ( π i ) > 0 \Delta(\pi_i)>0 Δ ( π i ) > 0 of agent i ∈ I i \in I i ∈ I , instead of picking τ i \tau_i τ i -fraction of every common tail item, he can pick τ i , ∗ \tau_{i,*} τ i , ∗ -fraction, where
τ i , ∗ : = Δ ( π i ) T ∗ . \tau_{i,*} := \frac{\Delta(\pi_i)}{T_*}. τ i , ∗ := T ∗ Δ ( π i ) .
Indeed, the derivations above imply
∑ e > h ∗ τ i , ∗ ⋅ v ‾ i ( e ) ≥ τ i , ∗ ⋅ T ∗ = Δ ( π i ) . \sum_{e>h_*}\tau_{i,*}\cdot\overline{v}_i(e)\ge\tau_{i,*}\cdot T_*=\Delta(\pi_i). e > h ∗ ∑ τ i , ∗ ⋅ v i ( e ) ≥ τ i , ∗ ⋅ T ∗ = Δ ( π i ) .
Furthermore, Corollary 5.2 guarantees us that
∑ i ∈ I τ i , ∗ = ∑ i ∈ I Δ ( π i ) T ∗ ≤ 1 , \sum_{i\in I}\tau_{i,*}=\sum_{i\in I}\frac{\Delta(\pi_i)}{T_*}\le1, i ∈ I ∑ τ i , ∗ = i ∈ I ∑ T ∗ Δ ( π i ) ≤ 1 ,
so all fractional choices of all agents i ∈ I i \in I i ∈ I fit within the common tail. This is essentially the classical setting of faithful rounding ([5 , 12 ] ), where one would assign every tail item e > h ∗ e>h_* e > h ∗ to agent i ∈ I i\in I i ∈ I with probability τ i , ∗ \tau_{i,*} τ i , ∗ , and get an integral allocation while losing up to the value of one item, in our case at most 1 / q 1/q 1/ q .
To keep the proof self-contained, instead of relying on faithful rounding we will prove the common tail version of earlier Lemma 3.1, which gives us exactly the same guarantees.
Lemma 5.2 (Lemma 3.1 for a common tail). Let I ⊆ N I\subseteq N I ⊆ N , let π i \pi_i π i be some head profile of agent i ∈ I i\in I i ∈ I , and let Π I : = { π i } i ∈ I \Pi_I:=\{\pi_i\}_{i\in I} Π I := { π i } i ∈ I . If there exist integer 0 ≤ h ∗ ≤ m 0\le h_*\le m 0 ≤ h ∗ ≤ m and value T ∗ ≥ 0 T_*\ge0 T ∗ ≥ 0 such that
all demands in Π I \Pi_I Π I can be simultaneously satisfied by distinct items in { 1 , … , h ∗ } \{1,\ldots,h_*\} { 1 , … , h ∗ } ;
for every i ∈ I i\in I i ∈ I with Δ ( π i ) > 0 \Delta(\pi_i)>0 Δ ( π i ) > 0 it holds h i / q + T i ≥ h ∗ / q + T ∗ h_i/q+T_i\ge h_*/q+T_* h i / q + T i ≥ h ∗ / q + T ∗ ;
∑ i ∈ I Δ ( π i ) ≤ T ∗ \sum_{i\in I}\Delta(\pi_i)\le T_* ∑ i ∈ I Δ ( π i ) ≤ T ∗ ;
there exists a collection Ψ I : = { ψ i } i ∈ I \Psi_I:=\{\psi_i\}_{i\in I} Ψ I := { ψ i } i ∈ I of tail profiles, where agent i i i is assigned ψ i \psi_i ψ i , such that
∀ 0 ≤ ℓ ≤ m : P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ ℓ \forall0\le\ell\le m:\quad\mathcal{P}(\Pi_I,\ell)+\mathcal{P}(\Psi_I,\ell)\le\ell ∀0 ≤ ℓ ≤ m : P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ ℓ and v ( π i ) + v ( ψ i ) ≥ 1 − 2 / q v(\pi_i)+v(\psi_i)\ge1-2/q v ( π i ) + v ( ψ i ) ≥ 1 − 2/ q for every i ∈ I i\in I i ∈ I .
Proof. If T ∗ = 0 T_*=0 T ∗ = 0 , we can take ψ i = ∅ \psi_i=\varnothing ψ i = ∅ for every i ∈ I i\in I i ∈ I and we are done, so suppose T ∗ > 0 T_*>0 T ∗ > 0 . Consider i ∈ I i\in I i ∈ I , and denote τ i , ∗ : = Δ ( π i ) / T ∗ \tau_{i,*}:=\Delta(\pi_i)/T_* τ i , ∗ := Δ ( π i ) / T ∗ . If τ i , ∗ = 0 \tau_{i,*}=0 τ i , ∗ = 0 , also take ψ i = ∅ \psi_i=\varnothing ψ i = ∅ , so assume τ i , ∗ > 0 \tau_{i,*}>0 τ i , ∗ > 0 .
Note that T ∗ > 0 T_*>0 T ∗ > 0 implies h ∗ < m h_*<m h ∗ < m . We construct the tail profile ψ i \psi_i ψ i exactly the same way as in Lemma 3.1, but with respect to common tail and τ i , ∗ \tau_{i,*} τ i , ∗ . That is, we break the common tail { h ∗ + 1 , … , m } \{h_*+1,\ldots,m\} { h ∗ + 1 , … , m } into segments of length roughly 1 / τ i , ∗ 1/\tau_{i,*} 1/ τ i , ∗ , and in each segment add the capped value v ‾ i \overline{v}_i v i of the last item to ψ i \psi_i ψ i . That is, for every t = 1 , … , ⌊ τ i , ∗ ⋅ ( m − h ∗ ) ⌋ t=1,\ldots,\lfloor\tau_{i,*}\cdot(m-h_*)\rfloor t = 1 , … , ⌊ τ i , ∗ ⋅ ( m − h ∗ )⌋ , if add v ‾ i ( e i , t ) \overline{v}_i(e_{i,t}) v i ( e i , t ) to ψ i \psi_i ψ i , where
e i , t = h ∗ + ⌈ t τ i , ∗ ⌉ . e_{i,t}=h_*+\left\lceil\frac{t}{\tau_{i,*}}\right\rceil. e i , t = h ∗ + ⌈ τ i , ∗ t ⌉ . As in Lemma 3.1, we can represent this construction equivalently as follows. For 1 ≤ k ≤ m − h ∗ 1\le k\le m-h_* 1 ≤ k ≤ m − h ∗ , let β i , k : = v ‾ i ( h ∗ + k ) \beta_{i,k}:=\overline{v}_i(h_*+k) β i , k := v i ( h ∗ + k ) . Then, for every k ∈ [ m − h ∗ ] k\in[m-h_*] k ∈ [ m − h ∗ ] , we add exactly
⌊ τ i , ∗ ⋅ k ⌋ − ⌊ τ i , ∗ ⋅ ( k − 1 ) ⌋ \lfloor\tau_{i,*}\cdot k\rfloor-\lfloor\tau_{i,*}\cdot(k-1)\rfloor ⌊ τ i , ∗ ⋅ k ⌋ − ⌊ τ i , ∗ ⋅ ( k − 1 )⌋
copies of β i , k \beta_{i,k} β i , k to the profile ψ i \psi_i ψ i . This way, the first k k k common tail items contain exactly ⌊ τ i , ∗ ⋅ k ⌋ \lfloor\tau_{i,*} \cdot k \rfloor ⌊ τ i , ∗ ⋅ k ⌋ selected items from ψ i \psi_i ψ i . Therefore,
v ( ψ i ) = ∑ k = 1 m − h ∗ β i , k ⋅ ( ⌊ τ i , ∗ ⋅ k ⌋ − ⌊ τ i , ∗ ⋅ ( k − 1 ) ⌋ ) = ∑ k = 1 m − h ∗ ⌊ τ i , ∗ ⋅ k ⌋ ⋅ ( β i , k − β i , k + 1 ) ≥ ∑ k = 1 m − h ∗ ( τ i , ∗ k − 1 ) ⋅ ( β i , k − β i , k + 1 ) = τ i , ∗ ∑ k = 1 m − h ∗ β i , k − β i , 1 . \begin{aligned}
v(\psi_i) = \sum_{k=1}^{m-h_*} \beta_{i,k} \cdot\left(\lfloor\tau_{i,*} \cdot k \rfloor- \lfloor\tau_{i,*} \cdot(k-1) \rfloor\right) = \sum_{k=1}^{m-h_*} \lfloor\tau_{i,*} \cdot k \rfloor\cdot\left(\beta_{i,k} - \beta_{i,k+1}\right) \\
&\ge\sum_{k=1}^{m-h_*} (\tau_{i,*} k - 1) \cdot\left(\beta_{i,k} - \beta_{i,k+1}\right) = \tau_{i,*} \sum_{k=1}^{m-h_*} \beta_{i,k} - \beta_{i,1}.
\end{aligned} v ( ψ i ) = k = 1 ∑ m − h ∗ β i , k ⋅ ( ⌊ τ i , ∗ ⋅ k ⌋ − ⌊ τ i , ∗ ⋅ ( k − 1 )⌋ ) = k = 1 ∑ m − h ∗ ⌊ τ i , ∗ ⋅ k ⌋ ⋅ ( β i , k − β i , k + 1 ) ≥ k = 1 ∑ m − h ∗ ( τ i , ∗ k − 1 ) ⋅ ( β i , k − β i , k + 1 ) = τ i , ∗ k = 1 ∑ m − h ∗ β i , k − β i , 1 .
As we derived earlier, under the condition h i / q + T i ≥ h ∗ / q + T ∗ h_i/q + T_i \ge h_*/q + T_* h i / q + T i ≥ h ∗ / q + T ∗ , we have
τ i , ∗ ∑ k = 1 m − h ∗ β i , k = τ i , ∗ ⋅ v ˉ i ( { h ∗ + 1 , … , m } ) ≥ τ i , ∗ ⋅ T ∗ = Δ ( π i ) , \tau_{i,*} \sum_{k=1}^{m-h_*} \beta_{i,k} = \tau_{i,*} \cdot\bar{v}_i(\{h_*+1,\ldots,m\}) \ge\tau_{i,*} \cdot T_* = \Delta(\pi_i), τ i , ∗ k = 1 ∑ m − h ∗ β i , k = τ i , ∗ ⋅ v ˉ i ({ h ∗ + 1 , … , m }) ≥ τ i , ∗ ⋅ T ∗ = Δ ( π i ) ,
therefore, using β i , 1 = v ˉ i ( h ∗ + 1 ) ≤ 1 / q \beta_{i,1} = \bar{v}_i(h_*+1) \le1/q β i , 1 = v ˉ i ( h ∗ + 1 ) ≤ 1/ q ,
v ( ψ i ) ≥ Δ ( π i ) − β i , 1 ≥ Δ ( π i ) − 1 / q . v(\psi_i) \ge\Delta(\pi_i) - \beta_{i,1} \ge\Delta(\pi_i) - 1/q. v ( ψ i ) ≥ Δ ( π i ) − β i , 1 ≥ Δ ( π i ) − 1/ q .
Since Δ ( π i ) = ( 1 − 1 / q − v ( π i ) ) + \Delta(\pi_i) = (1 - 1/q - v(\pi_i))_+ Δ ( π i ) = ( 1 − 1/ q − v ( π i ) ) + , we get v ( π i ) + v ( ψ i ) ≥ 1 − 2 / q v(\pi_i) + v(\psi_i) \ge1 - 2/q v ( π i ) + v ( ψ i ) ≥ 1 − 2/ q .
It remains to bound the additional prefix load generated by Ψ I = { ψ i } i ∈ I \Psi_I = \{\psi_i\}_{i\in I} Ψ I = { ψ i } i ∈ I . As in Lemma 3.1, for every 0 ≤ ℓ ≤ h ∗ 0 \le\ell\le h_* 0 ≤ ℓ ≤ h ∗ we have P i ( ψ i , ℓ ) = 0 \mathcal{P}_i(\psi_i,\ell) = 0 P i ( ψ i , ℓ ) = 0 , for every agent i ∈ I i \in I i ∈ I . When ℓ > h ∗ \ell> h_* ℓ > h ∗ , the number of selected items from ψ i \psi_i ψ i within the first k = ℓ − h ∗ k = \ell- h_* k = ℓ − h ∗ common tail items is exactly ⌊ τ i , ∗ ⋅ k ⌋ ≤ τ i , ∗ ⋅ k \lfloor\tau_{i,*} \cdot k \rfloor\le\tau_{i,*} \cdot k ⌊ τ i , ∗ ⋅ k ⌋ ≤ τ i , ∗ ⋅ k . In addition, since β i , k = v ˉ i ( h ∗ + k ) ≤ v i ( h ∗ + k ) \beta_{i,k} = \bar{v}_i(h_*+k) \le v_i(h_*+k) β i , k = v ˉ i ( h ∗ + k ) ≤ v i ( h ∗ + k ) , every selected tail demand that is nonzero satisfies m i ( β i , k ) ≥ h ∗ + k m_i(\beta_{i,k}) \ge h_*+k m i ( β i , k ) ≥ h ∗ + k . Hence, only demands originating from items at most ℓ \ell ℓ can contribute to the prefix load at ℓ \ell ℓ , and the additional load generated by tail profiles Ψ I \Psi_I Ψ I at prefix ℓ \ell ℓ is
P ( Ψ I , ℓ ) = ∑ i ∈ I P i ( ψ i , ℓ ) ≤ ∑ i ∈ I τ i , ∗ ⋅ ( ℓ − h ∗ ) + = ( ℓ − h ∗ ) + ∑ i ∈ I Δ ( π i ) T ∗ ≤ ( ℓ − h ∗ ) + . \mathcal{P}(\Psi_I,\ell) = \sum_{i\in I} \mathcal{P}_i(\psi_i,\ell) \le\sum_{i\in I} \tau_{i,*} \cdot(\ell-h_*)_+ = (\ell-h_*)_+ \sum_{i\in I} \frac{\Delta(\pi_i)}{T_*} \le(\ell-h_*)_+. P ( Ψ I , ℓ ) = i ∈ I ∑ P i ( ψ i , ℓ ) ≤ i ∈ I ∑ τ i , ∗ ⋅ ( ℓ − h ∗ ) + = ( ℓ − h ∗ ) + i ∈ I ∑ T ∗ Δ ( π i ) ≤ ( ℓ − h ∗ ) + .
Since all demands in Π I \Pi_I Π I can be simultaneously satisfied by distinct items in { 1 , … , h ∗ } \{1,\ldots,h_*\} { 1 , … , h ∗ } , it holds
P ( Π I , ℓ ) ≤ min { ℓ , h ∗ } . \mathcal{P}(\Pi_I,\ell) \le\min\{\ell,h_*\}. P ( Π I , ℓ ) ≤ min { ℓ , h ∗ } .
for every 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m . Consequently,
P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ min { ℓ , h ∗ } + ( ℓ − h ∗ ) + = ℓ \mathcal{P}(\Pi_I,\ell) + \mathcal{P}(\Psi_I,\ell) \le\min\{\ell,h_*\} + (\ell-h_*)_+ = \ell P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ min { ℓ , h ∗ } + ( ℓ − h ∗ ) + = ℓ
for every $0 ≤ ℓ ≤ m \le\ell\le m ≤ ℓ ≤ m , as desired.
Lemma 5.2 gives us the particular choice of supplier u ∗ ∈ U 0 u_* \in U_0 u ∗ ∈ U 0 needed to complete the tail profiles: take u ∗ ∈ U 0 u_* \in U_0 u ∗ ∈ U 0 so that for every agent i ∈ I = A 0 ∪ U 0 ( J 0 ) i \in I = A_0 \cup U_0(J_0) i ∈ I = A 0 ∪ U 0 ( J 0 ) with Δ ( π i ) > 0 \Delta(\pi_i) > 0 Δ ( π i ) > 0 it holds h i / q + T i ≥ h ∗ / q + T ∗ h_i/q + T_i \ge h_*/q + T_* h i / q + T i ≥ h ∗ / q + T ∗ . Since all agents i ∈ A 0 i \in A_0 i ∈ A 0 have Δ ( π i ) = 0 \Delta(\pi_i) = 0 Δ ( π i ) = 0 , it suffices to choose
u ∗ = argmin u ∈ U 0 ( h u q + T u ) . u_* = \underset{u\in U_0}{\operatorname{argmin}}\left(\frac{h_u}{q} + T_u\right). u ∗ = u ∈ U 0 argmin ( q h u + T u ) .
All previous conclusions of Theorem 5.1, Corollary 5.1 and Corollary 5.2 still apply. We can now give a full proof of the small-tail case.
Theorem 5.2 (Small tail). For every fixed ε ∈ ( 0 , 1 ) \varepsilon\in(0,1) ε ∈ ( 0 , 1 ) and integer q ≥ 3 q \ge3 q ≥ 3 , there exists n ε , q n_{\varepsilon,q} n ε , q such that for every n ≥ n ( ε , q ) n \ge n(\varepsilon,q) n ≥ n ( ε , q ) the following holds. Let γ : = min ( ε , 1 / ( 2 q ) ) \gamma:= \min(\varepsilon,1/(2q)) γ := min ( ε , 1/ ( 2 q )) , λ = 2 q 2 q − 1 \lambda= \frac{2q}{2q-1} λ = 2 q − 1 2 q and
ρ q , n : = 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) . \rho_{q,n} := 8 + 4\log_{\lambda}\left(q^3d^2(d+2)n\right) + 8q\log\left((d+2)n\right). ρ q , n := 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) .
If
T ‾ : = 1 n ∑ i ∈ N T i < ρ q , n γ , \overline{T} := \frac{1}{n}\sum_{i\in N} T_i < \frac{\rho_{q,n}}{\gamma}, T := n 1 i ∈ N ∑ T i < γ ρ q , n ,
there exists I ⊆ N I\subseteq N I ⊆ N of size ∣ I ∣ ≥ d |I|\ge d ∣ I ∣ ≥ d and a collections Π I = { π i } i ∈ I \Pi_I=\{\pi_i\}_{i\in I} Π I = { π i } i ∈ I and Ψ I = { ψ i } i ∈ I \Psi_I=\{\psi_i\}_{i\in I} Ψ I = { ψ i } i ∈ I of head and tail profiles respectively, where agent i ∈ I i\in I i ∈ I is assigned ( π i , ψ i ) (\pi_i,\psi_i) ( π i , ψ i ) , such that for all i ∈ I i\in I i ∈ I :
v ( π i ) + v ( ψ i ) ≥ 1 − 2 / q v(\pi_i)+v(\psi_i)\ge1-2/q v ( π i ) + v ( ψ i ) ≥ 1 − 2/ q
and for every prefix 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m it holds
P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ ℓ . \mathcal{P}(\Pi_I,\ell)+\mathcal{P}(\Psi_I,\ell)\le\ell. P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ ℓ .
Proof. Choose n ε , q n_{\varepsilon,q} n ε , q as in Corollary 5.1, and construct partitions N = U + V + W N=U+V+W N = U + V + W and M = E + S M=E+S M = E + S according to Corollary 5.1, using corresponding parameters. Apply Theorem 4.1 to agents V V V and items E E E , obtaining a set A ⊆ V A\subseteq V A ⊆ V with assigned profiles { π i } i ∈ A \{\pi_i\}_{i\in A} { π i } i ∈ A . These profiles can be simultaneously satisfied by distinct items of E E E , and Δ ( π i ) = 0 \Delta(\pi_i)=0 Δ ( π i ) = 0 for all i ∈ A i\in A i ∈ A . If ∣ A ∣ ≥ d |A|\ge d ∣ A ∣ ≥ d , any subset of I ⊆ A I\subseteq A I ⊆ A of size d d d suffices. Assign ψ i = ∅ \psi_i=\varnothing ψ i = ∅ to every i ∈ I i\in I i ∈ I , and we are done.
Suppose that ∣ A ∣ < d |A|<d ∣ A ∣ < d . Corollary 5.1 gives U 0 ⊆ U U_0\subseteq U U 0 ⊆ U . Choose supplier u ∗ ∈ U 0 u_*\in U_0 u ∗ ∈ U 0 such that
u ∗ = arg min u ∈ U 0 ( h u q + T u ) . u_*=\underset{u\in U_0}{\arg\min}\left(\frac{h_u}{q}+T_u\right). u ∗ = u ∈ U 0 arg min ( q h u + T u ) .
For this supplier, Corollary 5.1 provides sets A 0 ⊆ A A_0\subseteq A A 0 ⊆ A and J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] , together with assignment u ( j ) u(j) u ( j ) of copies of u ∗ u_* u ∗ to agents u ( j ) ∈ U 0 u(j)\in U_0 u ( j ) ∈ U 0 , such that ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|J_0|=d ∣ A 0 ∣ + ∣ J 0 ∣ = d and
∑ i ∈ A 0 P i ( π i , ℓ ) + ∑ j ∈ J 0 P u ( j ) ( π u ∗ , j , ℓ ) ≤ ℓ , ∀ 0 ≤ ℓ ≤ m . \sum_{i\in A_0}\mathcal{P}_i(\pi_i,\ell)+\sum_{j\in J_0}\mathcal{P}_{u(j)}(\pi_{u_*,j},\ell)\le\ell,\qquad\forall0\le\ell\le m. i ∈ A 0 ∑ P i ( π i , ℓ ) + j ∈ J 0 ∑ P u ( j ) ( π u ∗ , j , ℓ ) ≤ ℓ , ∀0 ≤ ℓ ≤ m .
Set U 0 ( J 0 ) : = { u ( j ) : j ∈ J 0 } U_0(J_0):=\{u(j):j\in J_0\} U 0 ( J 0 ) := { u ( j ) : j ∈ J 0 } , and I = A 0 ∪ U 0 ( J 0 ) I=A_0\cup U_0(J_0) I = A 0 ∪ U 0 ( J 0 ) . Assign π u ( j ) : = π u ∗ , j \pi_{u(j)}:=\pi_{u_*,j} π u ( j ) := π u ∗ , j for all j ∈ J 0 j\in J_0 j ∈ J 0 , and write Π I : = { π i } i ∈ I \Pi_I:=\{\pi_i\}_{i\in I} Π I := { π i } i ∈ I . By Corollary 5.2, all demands in Π I \Pi_I Π I can be simultaneously satisfied by distinct items in { 1 , … , h ∗ } \{1,\ldots,h_*\} { 1 , … , h ∗ } , where h ∗ = h u ∗ h_*=h_{u_*} h ∗ = h u ∗ . Moreover, writing T ∗ = T u ∗ T_*=T_{u_*} T ∗ = T u ∗ , we have
∑ i ∈ I Δ ( π i ) = ∑ i ∈ A 0 Δ ( π i ) + ∑ j ∈ J 0 Δ ( π u ∗ , j ) ≤ T ∗ . \sum_{i\in I}\Delta(\pi_i)=\sum_{i\in A_0}\Delta(\pi_i)+\sum_{j\in J_0}\Delta(\pi_{u_*,j})\le T_*. i ∈ I ∑ Δ ( π i ) = i ∈ A 0 ∑ Δ ( π i ) + j ∈ J 0 ∑ Δ ( π u ∗ , j ) ≤ T ∗ .
Since Δ ( π i ) = 0 \Delta(\pi_i)=0 Δ ( π i ) = 0 for all i ∈ A 0 i\in A_0 i ∈ A 0 , every agent with positive deficit belongs to U 0 ( J 0 ) ⊆ U 0 U_0(J_0)\subseteq U_0 U 0 ( J 0 ) ⊆ U 0 . By the choice of u ∗ u_* u ∗ , every such agent satisfies
h i q + T i ≥ h u ∗ q + T u ∗ = h ∗ q + T ∗ . \frac{h_i}{q}+T_i\ge\frac{h_{u_*}}{q}+T_{u_*}=\frac{h_*}{q}+T_*. q h i + T i ≥ q h u ∗ + T u ∗ = q h ∗ + T ∗ .
So, we can apply Lemma 5.2. We obtain a collection Ψ I = { ψ i } i ∈ I \Psi_I=\{\psi_i\}_{i\in I} Ψ I = { ψ i } i ∈ I of tail profiles, such that
P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ ℓ , ∀ 0 ≤ ℓ ≤ m , \mathcal{P}(\Pi_I,\ell)+\mathcal{P}(\Psi_I,\ell)\le\ell,\qquad\forall0\le\ell\le m, P ( Π I , ℓ ) + P ( Ψ I , ℓ ) ≤ ℓ , ∀0 ≤ ℓ ≤ m ,
and v ( π i ) + v ( ψ i ) ≥ 1 − 2 / q v(\pi_i)+v(\psi_i)\ge1-2/q v ( π i ) + v ( ψ i ) ≥ 1 − 2/ q for every i ∈ I i\in I i ∈ I . Noticing ∣ I ∣ = ∣ A 0 ∣ + ∣ J 0 ∣ = d |I|=|A_0|+|J_0|=d ∣ I ∣ = ∣ A 0 ∣ + ∣ J 0 ∣ = d finishes the proof. □
Combining Theorem 5.2 with Lemma 2.2 proves Theorem 3.1 in the small tail case.
Concluding thoughts
In the previous sections, we proved our main result Theorem 1.1, which we restate below.
Theorem 6.1 (Theorem 1.1 restated). For every fixed ε ∈ ( 0 , 1 ) \varepsilon\in(0,1) ε ∈ ( 0 , 1 ) and integer q ≥ 3 q \ge3 q ≥ 3 , there exists n ( ε , q ) n(\varepsilon,q) n ( ε , q ) such that for every n ≥ n ( ε , q ) n \ge n(\varepsilon,q) n ≥ n ( ε , q ) the following holds.
Consider a fair allocation instance with m m m items M M M and n n n agents N N N , where for every i ∈ N i \in N i ∈ N valuation v i v_i v i is additive. Suppose that every agent i ∈ N i \in N i ∈ N has MMS ( M , v i , d ) = 1 \operatorname{MMS}(M,v_i,d)=1 MMS ( M , v i , d ) = 1 , where 1 ≤ d ≤ ( 1 − ε ) n 1 \le d \le(1-\varepsilon)n 1 ≤ d ≤ ( 1 − ε ) n . Then there exists a choice I = { i 1 , … , i d } ⊆ N I=\{i_1,\ldots,i_d\}\subseteq N I = { i 1 , … , i d } ⊆ N of ∣ I ∣ = d |I|=d ∣ I ∣ = d distinct agents and an allocation ( B i 1 , … , B i d ) (B_{i_1},\ldots,B_{i_d}) ( B i 1 , … , B i d ) of M M M to I I I , such that for every i ∈ I i \in I i ∈ I it holds v i ( B i ) ≥ 1 − 2 / q v_i(B_i)\ge1-2/q v i ( B i ) ≥ 1 − 2/ q .
An immediate corollary of Theorem 6.1 is that there always exist ( 1 − δ ) (1-\delta) ( 1 − δ ) -MMS allocations when the number of items m m m is at most ( 2 − ε ) n (2-\varepsilon)n ( 2 − ε ) n , for sufficiently large number of agents n ≥ n ε , δ n \ge n_{\varepsilon,\delta} n ≥ n ε , δ .
Corollary 6.1 (Corollary 1.1 restated). For every fixed ε , δ ∈ ( 0 , 1 ) \varepsilon,\delta\in(0,1) ε , δ ∈ ( 0 , 1 ) , there exists n ε , δ n_{\varepsilon,\delta} n ε , δ such that for every n ≥ n ε , δ n \ge n_{\varepsilon,\delta} n ≥ n ε , δ the following holds. Consider a fair allocation instance with m m m items M M M and n n n agents N N N , where for every i ∈ N i \in N i ∈ N valuation v i v_i v i is additive. If m ≤ ( 2 − ε ) n m \le(2-\varepsilon)n m ≤ ( 2 − ε ) n , then there exists an allocation ( A 1 , … , A n ) (A_1,\ldots,A_n) ( A 1 , … , A n ) of M M M to N N N such that for every agent i ∈ N i \in N i ∈ N ,
v i ( A i ) ≥ ( 1 − δ ) ⋅ MMS ( M , v i , n ) . v_i(A_i) \ge(1-\delta)\cdot\operatorname{MMS}(M,v_i,n). v i ( A i ) ≥ ( 1 − δ ) ⋅ MMS ( M , v i , n ) .
Proof. Using standard reductions, without loss of generality we can assume that
for every agent i ∈ N i \in N i ∈ N and item e ∈ M e \in M e ∈ M it holds v i ( e ) ∈ [ 0 , 1 ] v_i(e) \in[0,1] v i ( e ) ∈ [ 0 , 1 ] ;
for every i ∈ N i \in N i ∈ N , n n n -partition B i : = ( B i , 1 , … , B i , n ) \mathcal{B}_i := (B_{i,1},\ldots,B_{i,n}) B i := ( B i , 1 , … , B i , n ) of M M M witnessing MMS ( M , v i , n ) \operatorname{MMS}(M,v_i,n) MMS ( M , v i , n ) satisfies
∀ j ∈ [ n ] : v i ( B i , j ) = 1 ; \forall j \in[n]:\quad v_i(B_{i,j})=1; ∀ j ∈ [ n ] : v i ( B i , j ) = 1 ; items M = { e 1 , … , e m } M=\{e_1,\ldots,e_m\} M = { e 1 , … , e m } are ordered so that for every agent i ∈ N i \in N i ∈ N it simultaneously holds
v i ( e 1 ) ≥ v i ( e 2 ) ≥ ⋯ ≥ v i ( e m ) . v_i(e_1)\ge v_i(e_2)\ge\cdots\ge v_i(e_m). v i ( e 1 ) ≥ v i ( e 2 ) ≥ ⋯ ≥ v i ( e m ) .
For every i ∈ N i \in N i ∈ N , consider his MMS partition B i = ( B i , 1 , … , B i , n ) \mathcal{B}_i=(B_{i,1},\ldots,B_{i,n}) B i = ( B i , 1 , … , B i , n ) . Observe that if s i s_i s i bundles of B i \mathcal{B}_i B i are singletons, i.e. have exactly one positive item, then every other bundle has at least two positive items, so for every i ∈ N i \in N i ∈ N ,
s i + 2 ( n − s i ) ≤ m ⟹ s i ≥ 2 n − m ≥ ε n . s_i+2(n-s_i)\le m \qquad\Longrightarrow\qquad s_i\ge2n-m\ge\varepsilon n. s i + 2 ( n − s i ) ≤ m ⟹ s i ≥ 2 n − m ≥ ε n .
Each item of value 1 produces a singleton bundle in agent i i i ’s MMS partition, thus the first s i s_i s i items of M M M have value 1 for i i i . Let s ∗ : = min i ∈ [ n ] s i s_*:=\min_{i\in[n]}s_i s ∗ := min i ∈ [ n ] s i , then items { 1 , … , s ∗ } \{1,\ldots,s_*\} { 1 , … , s ∗ } have value 1 for every agent i ∈ N i \in N i ∈ N . If s ∗ = n s_*=n s ∗ = n , we can give a separate item to each agent. Otherwise, remove first s ∗ s_* s ∗ items from M M M , and set d : = n − s ∗ d:=n-s_* d := n − s ∗ . It is clear that for every i ∈ N i \in N i ∈ N , after removing the singleton bundles from B i \mathcal{B}_i B i corresponding to [ s ∗ ] [s_*] [ s ∗ ] , the remaining bundles form a d d d -partition of { s ∗ + 1 , … , m } \{s_*+1,\ldots,m\} { s ∗ + 1 , … , m } of value 1. As d ≤ ( 1 − ε ) n d\le(1-\varepsilon)n d ≤ ( 1 − ε ) n , we can apply Theorem 6.1 with agents N N N and items { s ∗ + 1 , … , m } \{s_*+1,\ldots,m\} { s ∗ + 1 , … , m } , values ε \varepsilon ε and q : = ⌈ 2 / δ ⌉ q:=\lceil2/\delta\rceil q := ⌈ 2/ δ ⌉ , and give some d d d agents bundles of value at least 1 − 2 / q ≥ 1 − δ 1-2/q\ge1-\delta 1 − 2/ q ≥ 1 − δ . The remaining n − d = s ∗ n-d=s_* n − d = s ∗ agents each get a single item from [ s ∗ ] [s_*] [ s ∗ ] of value 1. □
On a separate topic, in [ABE+26] the authors related the guarantees for the 1-out-of-d d d MMS allocations to the number of duplicated items needed for the exact original MMS. Applying their construction ([ABE+26], Lemma 3.10) to our MMS( d ) (d) ( d ) result (Theorem 2.1), we get the following corollary.
Corollary 6.2. Consider a fair allocation instance with items M M M and n n n additive agents n n n with valuations { v i } i ∈ N \{v_i\}_{i\in N} { v i } i ∈ N . It suffices to add one copy of each of at most
O ( m log 2 n n ) O\left(\frac{m\log^2 n}{n}\right) O ( n m log 2 n ) items to guarantee that, for the new instance with extra items, there exists an allocation that gives every agent i ∈ N i\in N i ∈ N a bundle of value at least MMS ( M , v i , n ) \operatorname{MMS}(M,v_i,n) MMS ( M , v i , n ) .
In particular, when m = O ( n ) m=O(n) m = O ( n ) it suffices to add only O ( log 2 n ) O(\log^2 n) O ( log 2 n ) copies. This connection has been previously observed in the work of [12 ] , who obtained a similar implication from their 1-out-of-d d d MMS result with a bound of O ( m log n n ) O\left(m\sqrt{\frac{\log n}{n}}\right) O ( m n l o g n ) on the number of copies.
AI Usage Disclosure
The authors used OpenAI’s ChatGPT-6.1 Sol as a research assistant in some parts of the proof. In particular, it suggested using Dickson’s lemma argument to prove the existence of a replacement step of a constant size in the proof of Theorem 5.1 (Theorem C.1), as well as Onn’s lemma (Theorem D.2 ) to simplify the computation of the corresponding constant C t , q C_{t,q} C t , q . In addition, it was used to help the authors refine the construction of the set S S S of saved items in § 5.2 (Lemma 4.1). All mathematical arguments, statements, proofs and exposition in the paper were written and verified by the authors, who take full responsibility for the content of this work.
Proof of the unbounded head rounding theorem
Theorem A.1 (Theorem 2.2 restated). Let Π \Pi Π be a shared set of head profiles, such that ∣ π ∣ ≤ h |\pi| \le h ∣ π ∣ ≤ h for some integer h ≥ 1 h \ge1 h ≥ 1 . For every i ∈ N i \in\mathbb{N} i ∈ N , let ( x i , Π ) (x_i, \Pi) ( x i , Π ) be a fractional profile, denote x = { x i } i ∈ N x = \{x_i\}_{i \in\mathbb{N}} x = { x i } i ∈ N .
There exists a collection y = { y i } i ∈ N y = \{y_i\}_{i\in\mathbb{N}} y = { y i } i ∈ N of integer head profiles ( y i , Π ) (y_i,\Pi) ( y i , Π ) , such that for every i , π i,\pi i , π we have y i ( π ) ∈ { 0 , 1 } y_i(\pi) \in\{0,1\} y i ( π ) ∈ { 0 , 1 } and y i ( π ) = 1 y_i(\pi) = 1 y i ( π ) = 1 for π ≠ ⊥ \pi\ne\perp π = ⊥ only if x i ( π ) > 0 x_i(\pi) > 0 x i ( π ) > 0 , and
H ( y , Π , ℓ ) ≤ H ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{H}(y,\Pi,\ell) \le\mathcal{H}(x,\Pi,\ell), \qquad\forall0 \le\ell\le m, H ( y , Π , ℓ ) ≤ H ( x , Π , ℓ ) , ∀0 ≤ ℓ ≤ m , T ( y , Π ) ≤ T ( x , Π ) , \mathcal{T}(y,\Pi) \le\mathcal{T}(x,\Pi), T ( y , Π ) ≤ T ( x , Π ) , I ( y , Π ) ≤ I ( x , Π ) , \mathcal{I}(y,\Pi) \le\mathcal{I}(x,\Pi), I ( y , Π ) ≤ I ( x , Π ) , I ( y , Π ) ≥ I ( x , Π ) − ρ ( h , X ) , \mathcal{I}(y,\Pi) \ge\mathcal{I}(x,\Pi) - \rho(h,X), I ( y , Π ) ≥ I ( x , Π ) − ρ ( h , X ) , where X = ∣ { ( i , π ) : 0 < x i ( π ) < 1 } ∣ X = |\{(i,\pi): 0 < x_i(\pi) < 1\}| X = ∣ {( i , π ) : 0 < x i ( π ) < 1 } ∣ and
ρ ( h , X ) : = 8 + 4 log X ⋅ ( 1 + ln h + ln X ) . \rho(h,X) := 8 + 4\log X \cdot(1 + \ln h + \ln X). ρ ( h , X ) := 8 + 4 log X ⋅ ( 1 + ln h + ln X ) .
Proof. If X = 0 X = 0 X = 0 , x x x is already integral, so we can take y = x y = x y = x . From now on, assume X ≥ 2 X \ge2 X ≥ 2 . We will round the starting fractional profiles x x x (which we will refer to as a “solution”) to an integral y y y . The rounding algorithm will operate in phases, each phase k k k will start with the current solution x k x^k x k and obtain x k + 1 x^{k+1} x k + 1 . Every entry in x k + 1 x^{k+1} x k + 1 corresponding to some profile π ≠ ⊥ \pi\ne\perp π = ⊥ that reaches 0 or 1 will be fixed for subsequent phases. Throughout the phase, we maintain for every i ∈ N i \in\mathbb{N} i ∈ N that x i k ( π ) ≥ 0 x_i^k(\pi) \ge0 x i k ( π ) ≥ 0 for all π ∈ Π \pi\in\Pi π ∈ Π , and ∑ π ∈ Π x i k ( π ) = 1 \sum_{\pi\in\Pi} x_i^k(\pi) = 1 ∑ π ∈ Π x i k ( π ) = 1 . Let X k : = { ( i , π ) : 0 < x i k ( π ) < 1 } \mathcal{X}_k := \{(i,\pi): 0 < x_i^k(\pi) < 1\} X k := {( i , π ) : 0 < x i k ( π ) < 1 } be the set of strictly fractional entries in x k x^k x k at the beginning of phase k k k , and let X k : = ∣ X k ∣ X_k := |\mathcal{X}_k| X k := ∣ X k ∣ . Initially, we start with x 1 : = x x^1 := x x 1 := x and X k : = X X_k := X X k := X .
Suppose that X k > 16 X_k > 16 X k > 16 . Before rounding some of the entries of x k x^k x k to 0 or 1, we will create additional slackness in every prefix 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m , that can absorb potential increase in the prefix load caused by the rounding. Denote
p k : = 4 ( 1 + ln ( h X k ) ) X k . p_k := \frac{4(1+\ln(hX_k))}{X_k}. p k := X k 4 ( 1 + ln ( h X k )) .
We create an intermediate solution x ~ k \widetilde{x}^k x k as follows. For every ( i , π ) ∈ X k (i,\pi) \in\mathcal{X}_k ( i , π ) ∈ X k , where π ≠ ⊥ \pi\ne\perp π = ⊥ , we transfer min { x i k ( π ) , p k } \min\{x_i^k(\pi),p_k\} min { x i k ( π ) , p k } weight from x i k ( π ) x_i^k(\pi) x i k ( π ) into x i k ( ⊥ ) x_i^k(\perp) x i k ( ⊥ ) . That is,
∀ ( i , π ) ∈ X k : x ~ i k ( π ) = x i k ( π ) − min { x i k ( π ) , p k } , x ~ i k ( ⊥ ) = x i k ( ⊥ ) + ∑ ( i , π ) ∈ X k π ≠ ⊥ min { x i k ( π ) , p k } . \forall(i,\pi)\in\mathcal{X}_k:\quad\widetilde{x}_i^k(\pi) = x_i^k(\pi) - \min\{x_i^k(\pi),p_k\}, \qquad\widetilde{x}_i^k(\perp) = x_i^k(\perp) + \sum_{\substack{(i,\pi)\in\mathcal{X}_k\\\pi\ne\perp}} \min\{x_i^k(\pi),p_k\}. ∀ ( i , π ) ∈ X k : x i k ( π ) = x i k ( π ) − min { x i k ( π ) , p k } , x i k ( ⊥ ) = x i k ( ⊥ ) + ( i , π ) ∈ X k π = ⊥ ∑ min { x i k ( π ) , p k } .
Let X ~ k = { ( i , π ) : 0 < x ~ i k ( π ) < 1 } \widetilde{\mathcal{X}}_k = \{(i,\pi): 0 < \widetilde{x}_i^k(\pi) < 1\} X k = {( i , π ) : 0 < x i k ( π ) < 1 } be the strictly fractional entries in x ~ k \widetilde{x}^k x k . If X ~ k = ∅ \widetilde{\mathcal{X}}_k = \varnothing X k = ∅ , then all entries of x ~ k \widetilde{x}^k x k are integral. Then we set x k + 1 = x ~ k x^{k+1} = \widetilde{x}^k x k + 1 = x k and move to the next phase.
If X ~ k ≠ ∅ \widetilde{\mathcal{X}}_k \ne\varnothing X k = ∅ , every pair ( i , π ) ∈ X ~ k (i,\pi) \in\widetilde{\mathcal{X}}_k ( i , π ) ∈ X k with π ≠ ⊥ \pi\ne\perp π = ⊥ had x i k ( π ) > p k x_i^k(\pi) > p_k x i k ( π ) > p k , and lost exactly p k p_k p k when moving to x ~ k \widetilde{x}^k x k . For ( i , π ) ∈ X ~ k (i,\pi) \in\widetilde{\mathcal{X}}_k ( i , π ) ∈ X k with π ≠ ⊥ \pi\ne\perp π = ⊥ , we list all the breakpoints of i i i for all demands α ∈ π \alpha\in\pi α ∈ π , and combine them into a multiset M k \mathcal{M}_k M k :
M k : = ⊎ ( i , π ) ∈ X ~ k π ≠ ⊥ { m i ( α ) : α ∈ π } . \mathcal{M}_k := \mathop{\uplus}_{\substack{(i,\pi)\in\widetilde{\mathcal{X}}_k\\\pi\ne\perp}} \{m_i(\alpha):\alpha\in\pi\}. M k := ⊎ ( i , π ) ∈ X k π = ⊥ { m i ( α ) : α ∈ π } .
Lemma A.1. It holds I ( x ~ k , Π ) ≥ I ( x k , Π ) − p k X k \mathcal{I}(\widetilde{x}^k,\Pi) \ge\mathcal{I}(x^k,\Pi) - p_kX_k I ( x k , Π ) ≥ I ( x k , Π ) − p k X k and T ( x ~ k , Π ) ≤ T ( x k , Π ) \mathcal{T}(\widetilde{x}^k,\Pi) \le\mathcal{T}(x^k,\Pi) T ( x k , Π ) ≤ T ( x k , Π ) . Furthermore,
∀ 0 ≤ ℓ ≤ m : H ( x ~ k , Π , ℓ ) + p k P k ( ℓ ) ≤ H ( x k , Π , ℓ ) , \forall0 \le\ell\le m:\qquad\mathcal{H}(\widetilde{x}^k,\Pi,\ell) + p_k\mathcal{P}_k(\ell) \le\mathcal{H}(x^k,\Pi,\ell), ∀0 ≤ ℓ ≤ m : H ( x k , Π , ℓ ) + p k P k ( ℓ ) ≤ H ( x k , Π , ℓ ) , where for every − 1 ≤ ℓ ≤ m -1 \le\ell\le m − 1 ≤ ℓ ≤ m ,
P k ( ℓ ) = ∑ ( i , π ) ∈ X ~ k P i ( π , ℓ ) \mathcal{P}_k(\ell) = \sum_{(i,\pi)\in\widetilde{\mathcal{X}}_k} \mathcal{P}_i(\pi,\ell) P k ( ℓ ) = ( i , π ) ∈ X k ∑ P i ( π , ℓ ) is the total number of breakpoints in M k \mathcal{M}_k M k that are at most ℓ \ell ℓ , with a convention P k ( − 1 ) = 0 \mathcal{P}_k(-1) = 0 P k ( − 1 ) = 0 .
Proof. Since each non-⊥ \perp ⊥ entry in x k x^k x k loses at most p k p_k p k , the bound I ( x ~ k , Π ) ≥ I ( x k , Π ) − p k X k \mathcal{I}(\widetilde{x}^k,\Pi) \ge\mathcal{I}(x^k,\Pi)-p_kX_k I ( x k , Π ) ≥ I ( x k , Π ) − p k X k is immediate. Similarly, moving weight to ⊥ \perp ⊥ can only decrease prefix loads, so τ ( x ~ k , Π ) ≤ τ ( x k , Π ) \tau(\widetilde{x}^k,\Pi) \le\tau(x^k,\Pi) τ ( x k , Π ) ≤ τ ( x k , Π ) .
Finally, by construction of x ~ k \widetilde{x}^k x k , for every 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m we have
H ( x k , Π , ℓ ) − H ( x ~ k , Π , ℓ ) = ∑ i ∈ N π ≠ ⊥ ( x i k ( π ) − x ~ i k ( π ) ) ⋅ P i ( π , ℓ ) ≥ ∑ ( i , π ) ∈ X ~ k p k ⋅ P i ( π , ℓ ) . \mathcal{H}(x^k,\Pi,\ell)-\mathcal{H}(\widetilde{x}^k,\Pi,\ell)=\sum_{\substack{i\in N\\ \pi\ne\perp}}(x_i^k(\pi)-\widetilde{x}_i^k(\pi))\cdot\mathcal{P}_i(\pi,\ell)\ge\sum_{(i,\pi)\in\widetilde{X}_k}p_k\cdot\mathcal{P}_i(\pi,\ell). H ( x k , Π , ℓ ) − H ( x k , Π , ℓ ) = i ∈ N π = ⊥ ∑ ( x i k ( π ) − x i k ( π )) ⋅ P i ( π , ℓ ) ≥ ( i , π ) ∈ X k ∑ p k ⋅ P i ( π , ℓ ) .
which is exactly p k ⋅ P k ( ℓ ) p_k\cdot\mathcal{P}_k(\ell) p k ⋅ P k ( ℓ ) by definition.
Next, we will create a small set of head checkpoints , i.e a subset of prefixes ℓ \ell ℓ for which we would like to preserve the inequality H ( x k + 1 , Π , ℓ ) ≤ H ( x k , Π , ℓ ) \mathcal{H}(x^{k+1},\Pi,\ell)\le\mathcal{H}(x^k,\Pi,\ell) H ( x k + 1 , Π , ℓ ) ≤ H ( x k , Π , ℓ ) no matter what happens in the rounding. We do it as follows. First, sort all the breakpoints in M k \mathcal{M}_k M k in non-decreasing order, and let m i j m_{ij} m ij denote the j j j -th breakpoint in M k \mathcal{M}_k M k . For every 1 ≤ j ≤ ∣ M k ∣ 1\le j\le|\mathcal{M}_k| 1 ≤ j ≤ ∣ M k ∣ , we associate a weight 1 / j 1/j 1/ j with a breakpoint m i j m_{ij} m ij . We start with a virtual checkpoint t = − 1 t=-1 t = − 1 . Then, we find a smallest prefix ℓ ∈ { 0 , … , m } \ell\in\{0,\ldots,m\} ℓ ∈ { 0 , … , m } such that ℓ > t \ell>t ℓ > t and the total weight of breakpoints between t + 1 t+1 t + 1 and ℓ \ell ℓ in M k \mathcal{M}_k M k is at least p k p_k p k . That is, ℓ > t \ell>t ℓ > t is the smallest satisfying
∑ j = P k ( t ) + 1 P k ( ℓ ) 1 j > p k . \sum_{j=\mathcal{P}_k(t)+1}^{\mathcal{P}_k(\ell)}\frac{1}{j}>p_k. j = P k ( t ) + 1 ∑ P k ( ℓ ) j 1 > p k .
We put a checkpoint at ℓ \ell ℓ , increase t t t to ℓ \ell ℓ , and repeat the process until no such ℓ > t \ell>t ℓ > t exists. We denote the set of obtained checkpoints as L k \mathcal{L}_k L k (we do not include − 1 -1 − 1 ).
Lemma A.2. The total number of checkpoints at phase k k k is ∣ L k ∣ ≤ X k / 4 |\mathcal{L}_k|\le X_k/4 ∣ L k ∣ ≤ X k /4 . In addition, for any solution z z z satisfying z i ( π ) = x ~ i k ( π ) z_i(\pi)=\widetilde{x}_i^k(\pi) z i ( π ) = x i k ( π ) for all ( i , π ) (i,\pi) ( i , π ) such that x ~ i k ( π ) ∈ { 0 , 1 } \widetilde{x}_i^k(\pi)\in\{0,1\} x i k ( π ) ∈ { 0 , 1 } , the following holds. Suppose that for every ℓ k ∈ L k \ell_k\in\mathcal{L}_k ℓ k ∈ L k we have H ( z , Π , ℓ k ) ≤ H ( x ~ k , Π , ℓ k ) \mathcal{H}(z,\Pi,\ell_k)\le\mathcal{H}(\widetilde{x}^k,\Pi,\ell_k) H ( z , Π , ℓ k ) ≤ H ( x k , Π , ℓ k ) . Then, for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m ,
H ( z , Π , ℓ ) ≤ H ( x ~ k , Π , ℓ ) + p k P k ( ℓ ) . \mathcal{H}(z,\Pi,\ell)\le\mathcal{H}(\widetilde{x}^k,\Pi,\ell)+p_k\mathcal{P}_k(\ell). H ( z , Π , ℓ ) ≤ H ( x k , Π , ℓ ) + p k P k ( ℓ ) .
Proof. If M k = ∅ \mathcal{M}_k=\varnothing M k = ∅ , take L k = ∅ \mathcal{L}_k=\varnothing L k = ∅ , then all ( i , π ) ∈ X ~ k (i,\pi)\in\widetilde{X}_k ( i , π ) ∈ X k have no breakpoints at any prefix ℓ \ell ℓ , in which case lemma holds trivially. From now on, assume M k ≠ ∅ \mathcal{M}_k\ne\varnothing M k = ∅ , so P k ( m ) ≥ 1 \mathcal{P}_k(m)\ge1 P k ( m ) ≥ 1 . We will start with the number of checkpoints. By construction of L k \mathcal{L}_k L k , we have
∣ L k ∣ ⋅ p k ≤ ∑ j = 1 P k ( m ) 1 j ≤ 1 + ln P k ( m ) ⟹ ∣ L k ∣ ≤ 1 + ln P k ( m ) p k . |\mathcal{L}_k|\cdot p_k\le\sum_{j=1}^{\mathcal{P}_k(m)}\frac{1}{j}\le1+\ln\mathcal{P}_k(m)\quad\Longrightarrow\quad|\mathcal{L}_k|\le\frac{1+\ln\mathcal{P}_k(m)}{p_k}. ∣ L k ∣ ⋅ p k ≤ j = 1 ∑ P k ( m ) j 1 ≤ 1 + ln P k ( m ) ⟹ ∣ L k ∣ ≤ p k 1 + ln P k ( m ) .
By assumption, every profile π ∈ Π − ⊥ \pi\in\Pi-\perp π ∈ Π − ⊥ has ∣ π ∣ ≤ h |\pi|\le h ∣ π ∣ ≤ h . In addition, every coordinate ( i , π ) ∈ X ~ k (i,\pi)\in\widetilde{X}_k ( i , π ) ∈ X k with π ≠ ⊥ \pi\ne\perp π = ⊥ was strictly fractional in solution x k x^k x k as well. Therefore
P k ( m ) = ∣ M k ∣ = ∑ ( i , π ) ∈ X ~ k π ≠ ⊥ ∣ π ∣ ≤ ∑ ( i , π ) ∈ X k π ≠ ⊥ ∣ π ∣ ≤ h X k , \mathcal{P}_k(m)=|\mathcal{M}_k|=\sum_{\substack{(i,\pi)\in\widetilde{X}_k\\ \pi\ne\perp}}|\pi|\le\sum_{\substack{(i,\pi)\in X_k\\ \pi\ne\perp}}|\pi|\le hX_k, P k ( m ) = ∣ M k ∣ = ( i , π ) ∈ X k π = ⊥ ∑ ∣ π ∣ ≤ ( i , π ) ∈ X k π = ⊥ ∑ ∣ π ∣ ≤ h X k ,
and substituting the definition of p k = ( 1 / X k ) ⋅ 4 ( 1 + ln ( h X k ) ) p_k=(1/X_k)\cdot4(1+\ln(hX_k)) p k = ( 1/ X k ) ⋅ 4 ( 1 + ln ( h X k )) , we get
∣ L k ∣ ≤ 1 + ln P k ( m ) p k ≤ X k ( 1 + ln ( h X k ) ) 4 ( 1 + ln ( h X k ) ) = X k 4 . |\mathcal{L}_k|\le\frac{1+\ln\mathcal{P}_k(m)}{p_k}\le\frac{X_k(1+\ln(hX_k))}{4(1+\ln(hX_k))}=\frac{X_k}{4}. ∣ L k ∣ ≤ p k 1 + ln P k ( m ) ≤ 4 ( 1 + ln ( h X k )) X k ( 1 + ln ( h X k )) = 4 X k .
Next, for 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m , let ℓ k ∈ L k \ell_k\in\mathcal{L}_k ℓ k ∈ L k be the largest checkpoint preceding ℓ \ell ℓ , i.e satisfying ℓ k ≤ ℓ \ell_k\le\ell ℓ k ≤ ℓ (set ℓ k = − 1 \ell_k=-1 ℓ k = − 1 if none exists). Since z z z coincides with x ~ k \widetilde{x}^k x k on all coordinates outside of X ~ k \widetilde{X}_k X k , it holds
H ( z , Π , ℓ ) − H ( x ~ k , Π , ℓ ) = H ( z , Π , ℓ k ) − H ( x ~ k , Π , ℓ k ) + ∑ ( i , π ) ∈ X ~ k ( z i ( π ) − x ~ i k ( π ) ) ⋅ ( P i ( π , ℓ ) − P i ( π , ℓ k ) ) . \mathcal{H}(z,\Pi,\ell)-\mathcal{H}(\widetilde{x}^k,\Pi,\ell)=\mathcal{H}(z,\Pi,\ell_k)-\mathcal{H}(\widetilde{x}^k,\Pi,\ell_k)
+\sum_{(i,\pi)\in\widetilde{X}_k}(z_i(\pi)-\widetilde{x}_i^k(\pi))\cdot\left(\mathcal{P}_i(\pi,\ell)-\mathcal{P}_i(\pi,\ell_k)\right). H ( z , Π , ℓ ) − H ( x k , Π , ℓ ) = H ( z , Π , ℓ k ) − H ( x k , Π , ℓ k ) + ( i , π ) ∈ X k ∑ ( z i ( π ) − x i k ( π )) ⋅ ( P i ( π , ℓ ) − P i ( π , ℓ k ) ) .
By assumption, H ( z , Π , ℓ k ) ≤ H ( x ~ k , Π , ℓ k ) \mathcal{H}(z,\Pi,\ell_k) \le\mathcal{H}(\widetilde{x}^{k},\Pi,\ell_k) H ( z , Π , ℓ k ) ≤ H ( x k , Π , ℓ k ) . As both z i ( π ) z_i(\pi) z i ( π ) and x ~ i k ( π ) \widetilde{x}^{k}_i(\pi) x i k ( π ) lie in [ 0 , 1 ] [0,1] [ 0 , 1 ] , we have
H ( z , Π , ℓ ) − H ( x ~ k , Π , ℓ ) ≤ ∑ ( i , π ) ∈ X ~ k ∣ z i ( π ) − x ~ i k ( π ) ∣ ⋅ ( P i ( π , ℓ ) − P i ( π , ℓ k ) ) ≤ ∑ ( i , π ) ∈ X ~ k ( P i ( π , ℓ ) − P i ( π , ℓ k ) ) = P k ( ℓ ) − P k ( ℓ k ) . \begin{aligned}
\mathcal{H}(z,\Pi,\ell)-\mathcal{H}(\widetilde{x}^{k},\Pi,\ell)
\le\sum_{(i,\pi)\in\widetilde{\mathcal{X}}_k}|z_i(\pi)-\widetilde{x}^{k}_i(\pi)|\cdot\left(\mathcal{P}_i(\pi,\ell)-\mathcal{P}_i(\pi,\ell_k)\right) \\
&\le\sum_{(i,\pi)\in\widetilde{\mathcal{X}}_k}\left(\mathcal{P}_i(\pi,\ell)-\mathcal{P}_i(\pi,\ell_k)\right)
=\mathcal{P}_k(\ell)-\mathcal{P}_k(\ell_k).
\end{aligned} H ( z , Π , ℓ ) − H ( x k , Π , ℓ ) ≤ ( i , π ) ∈ X k ∑ ∣ z i ( π ) − x i k ( π ) ∣ ⋅ ( P i ( π , ℓ ) − P i ( π , ℓ k ) ) ≤ ( i , π ) ∈ X k ∑ ( P i ( π , ℓ ) − P i ( π , ℓ k ) ) = P k ( ℓ ) − P k ( ℓ k ) .
If ℓ k = ℓ \ell_k=\ell ℓ k = ℓ then P k ( ℓ ) − P k ( ℓ k ) = 0 \mathcal{P}_k(\ell)-\mathcal{P}_k(\ell_k)=0 P k ( ℓ ) − P k ( ℓ k ) = 0 , and we are done. Otherwise, by construction of L k \mathcal{L}_k L k we have
∑ j = P k ( ℓ k ) + 1 P k ( ℓ ) 1 j ≤ p k . \sum_{j=\mathcal{P}_k(\ell_k)+1}^{\mathcal{P}_k(\ell)}\frac{1}{j}\le p_k. j = P k ( ℓ k ) + 1 ∑ P k ( ℓ ) j 1 ≤ p k .
When P k ( ℓ ) > 0 \mathcal{P}_k(\ell)>0 P k ( ℓ ) > 0 , each summand above is at least 1 / P k ( ℓ ) 1/\mathcal{P}_k(\ell) 1/ P k ( ℓ ) , hence
P k ( ℓ ) − P k ( ℓ k ) P k ( ℓ ) ≤ ∑ j = P k ( ℓ k ) + 1 P k ( ℓ ) 1 j ≤ p k ⟹ P k ( ℓ ) − P k ( ℓ k ) ≤ p k P k ( ℓ ) . \frac{\mathcal{P}_k(\ell)-\mathcal{P}_k(\ell_k)}{\mathcal{P}_k(\ell)}
\le\sum_{j=\mathcal{P}_k(\ell_k)+1}^{\mathcal{P}_k(\ell)}\frac{1}{j}
\le p_k
\quad\Longrightarrow\quad
\mathcal{P}_k(\ell)-\mathcal{P}_k(\ell_k)\le p_k\mathcal{P}_k(\ell). P k ( ℓ ) P k ( ℓ ) − P k ( ℓ k ) ≤ j = P k ( ℓ k ) + 1 ∑ P k ( ℓ ) j 1 ≤ p k ⟹ P k ( ℓ ) − P k ( ℓ k ) ≤ p k P k ( ℓ ) .
We conclude that H ( z , Π , ℓ ) − H ( x ~ k , Π , ℓ ) ≤ p k P k ( ℓ ) \mathcal{H}(z,\Pi,\ell)-\mathcal{H}(\widetilde{x}^{k},\Pi,\ell)\le p_k\mathcal{P}_k(\ell) H ( z , Π , ℓ ) − H ( x k , Π , ℓ ) ≤ p k P k ( ℓ ) , which finishes the proof.
It follows from Lemma A.1 and Lemma A.2 that, to preserve the prefix load constraints at every prefix 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m at phase k k k , it suffices to preserve only the checkpoint prefixes L k \mathcal{L}_k L k . We will now construct an auxiliary polytope (P) with a relatively small number of constraints, and partially round the solution x ~ k \widetilde{x}^{k} x k to one of its extreme points, i.e some z ∗ z^* z ∗ , that will satisfy Lemma A.2. The polytope (P) is defined by the following constraints.
∑ π ∈ Π z i ( π ) = 1 , ∀ i ∈ N , z i ( π ) = x ~ i k ( π ) , ∀ ( i , π ) : x ~ i k ( π ) ∈ { 0 , 1 } , τ ( z , Π ) ≤ τ ( x ~ k , Π ) , H ( z , Π , ℓ k ) ≤ H ( x ~ k , Π , ℓ k ) , ∀ ℓ k ∈ L k , 0 ≤ z i ( π ) ≤ 1 , ∀ i ∈ N , π ∈ Π . \begin{aligned}
\sum_{\pi\in\Pi}z_i(\pi)&=1, &&\forall i\in N,\\
z_i(\pi)&=\widetilde{x}^{k}_i(\pi), &&\forall(i,\pi):\widetilde{x}^{k}_i(\pi)\in\{0,1\},\\
\tau(z,\Pi)&\le\tau(\widetilde{x}^{k},\Pi),\\
\mathcal{H}(z,\Pi,\ell_k)&\le\mathcal{H}(\widetilde{x}^{k},\Pi,\ell_k), &&\forall\ell_k\in\mathcal{L}_k,\\
0&\le z_i(\pi)\le1, &&\forall i\in N,\pi\in\Pi.
\end{aligned} π ∈ Π ∑ z i ( π ) z i ( π ) τ ( z , Π ) H ( z , Π , ℓ k ) 0 = 1 , = x i k ( π ) , ≤ τ ( x k , Π ) , ≤ H ( x k , Π , ℓ k ) , ≤ z i ( π ) ≤ 1 , ∀ i ∈ N , ∀ ( i , π ) : x i k ( π ) ∈ { 0 , 1 } , ∀ ℓ k ∈ L k , ∀ i ∈ N , π ∈ Π.
Clearly, z = x ~ k z=\widetilde{x}^{k} z = x k is feasible for (P). We choose an extreme point z ∗ z^* z ∗ of (P) maximizing
I ( z ∗ , Π ) = ∑ i ∈ N ∑ π ≠ ⊥ z i ∗ ( π ) . \mathcal{I}(z^*,\Pi)=\sum_{i\in N}\sum_{\pi\ne\bot}z_i^*(\pi). I ( z ∗ , Π ) = i ∈ N ∑ π = ⊥ ∑ z i ∗ ( π ) .
Such an extreme point must exist, because (P) is nonempty and compact, i.e bounded and closed. Then, by maximality I ( z ∗ , Π ) ≥ I ( x ~ k , Π ) \mathcal{I}(z^*,\Pi)\ge\mathcal{I}(\widetilde{x}^{k},\Pi) I ( z ∗ , Π ) ≥ I ( x k , Π ) .
Lemma A.3. Let z ∗ z^* z ∗ be an extreme point of the polytope (P). Then, the number of strictly fractional entries in z ∗ z^* z ∗ is at most $X_k/2+2.
Proof. Let Z ∗ : = ∣ { ( i , π ) : 0 < z i ∗ ( π ) < 1 } ∣ Z^*:=|\{(i,\pi):0<z_i^*(\pi)<1\}| Z ∗ := ∣ {( i , π ) : 0 < z i ∗ ( π ) < 1 } ∣ be the total number of strictly fractional coordinates in z ∗ z^* z ∗ . Note that if for some i ∈ N i\in N i ∈ N we have 0 < z i ∗ ( π ′ ) < 1 0<z_i^*(\pi')<1 0 < z i ∗ ( π ′ ) < 1 for some π ′ ∈ Π \pi'\in\Pi π ′ ∈ Π , there must be another π ′ ′ ∈ Π \pi''\in\Pi π ′′ ∈ Π with 0 < z i ∗ ( π ′ ′ ) < 1 0<z_i^*(\pi'')<1 0 < z i ∗ ( π ′′ ) < 1 , as ∑ π ∈ Π z i ∗ ( π ) = 1 \sum_{\pi\in\Pi}z_i^*(\pi)=1 ∑ π ∈ Π z i ∗ ( π ) = 1 . Hence, there can be at most Z ∗ / 2 Z^*/2 Z ∗ /2 different agents i ∈ N i\in N i ∈ N with 0 < z i ∗ ( π ) < 1 0<z_i^*(\pi)<1 0 < z i ∗ ( π ) < 1 for some π ∈ Π \pi\in\Pi π ∈ Π , and for the remaining agents z i ∗ ( π ) ∈ { 0 , 1 } z_i^*(\pi)\in\{0,1\} z i ∗ ( π ) ∈ { 0 , 1 } for every coordinate ( i , π ) (i,\pi) ( i , π ) .
Suppose that Z ∗ > X k / 2 + 2 Z^*>X_k/2+2 Z ∗ > X k /2 + 2 . Restrict the equation-matrix of the polytope (P) to the entries ( i , π ) (i,\pi) ( i , π ) with 0 < z i ∗ ( π ) < 1 0<z_i^*(\pi)<1 0 < z i ∗ ( π ) < 1 , it is a system of equations with Z ∗ Z^* Z ∗ variables. It has at most Z ∗ / 2 Z^*/2 Z ∗ /2 constraints of the form ∑ π ∈ Π z i ∗ ( π ) = 1 \sum_{\pi\in\Pi}z_i^*(\pi)=1 ∑ π ∈ Π z i ∗ ( π ) = 1 for some i ∈ N i\in N i ∈ N . We have an additional constraint on τ ( z ∗ , Π ) \tau(z^*,\Pi) τ ( z ∗ , Π ) , and the number of constraints on H ( z ∗ , Π , ℓ k ) \mathcal{H}(z^*,\Pi,\ell_k) H ( z ∗ , Π , ℓ k ) for ℓ k ∈ L k \ell_k \in L_k ℓ k ∈ L k is ∣ L k ∣ ≤ X k / 4 |L_k| \le X_k/4 ∣ L k ∣ ≤ X k /4 by Lemma A.2. So, if Z ∗ > X k / 2 + 2 Z^* > X_k/2+2 Z ∗ > X k /2 + 2 , the total number of constraints in this restriction is at most
Z ∗ 2 + 1 + ∣ L k ∣ ≤ Z ∗ 2 + 4 + X k 4 < Z ∗ 2 + 2 Z ∗ 4 = Z ∗ . \frac{Z^*}{2}+1+|L_k|\le\frac{Z^*}{2}+\frac{4+X_k}{4}<\frac{Z^*}{2}+\frac{2Z^*}{4}=Z^*. 2 Z ∗ + 1 + ∣ L k ∣ ≤ 2 Z ∗ + 4 4 + X k < 2 Z ∗ + 4 2 Z ∗ = Z ∗ .
Therefore, the restricted matrix has rank less than Z ∗ Z^* Z ∗ , implying that there is a non-zero solution supported on strictly fractional entries of z ∗ z^* z ∗ that preserves all constraints. All these entries are strictly between 0 and 1, hence small perturbations of both signs still keep z ∗ z^* z ∗ inside the polytope. This contradicts the extremality of z ∗ z^* z ∗ . The lemma follows.
Take this extreme point z ∗ z^* z ∗ of (P) and set x k + 1 = z ∗ x^{k+1}=z^* x k + 1 = z ∗ . By Lemma A.1 and Lemma A.2,
∀ 0 ≤ ℓ ≤ m : H ( x k + 1 , Π , ℓ ) ≤ H ( x k , Π , ℓ ) , and τ ( x k + 1 , Π ) ≤ τ ( x k , Π ) , \forall0\le\ell\le m:\ \mathcal{H}(x^{k+1},\Pi,\ell)\le\mathcal{H}(x^k,\Pi,\ell),\qquad\text{and}\qquad\tau(x^{k+1},\Pi)\le\tau(x^k,\Pi), ∀0 ≤ ℓ ≤ m : H ( x k + 1 , Π , ℓ ) ≤ H ( x k , Π , ℓ ) , and τ ( x k + 1 , Π ) ≤ τ ( x k , Π ) ,
as well as
I ( x k , Π ) − I ( x k + 1 , Π ) ≤ p k X k = 4 ( 1 + ln ( h X k ) ) . \mathcal{I}(x^k,\Pi)-\mathcal{I}(x^{k+1},\Pi)\le p_kX_k=4(1+\ln(hX_k)). I ( x k , Π ) − I ( x k + 1 , Π ) ≤ p k X k = 4 ( 1 + ln ( h X k )) .
By Lemma A.3 , X k + 1 ≤ X k / 2 + 2 X_{k+1}\le X_k/2+2 X k + 1 ≤ X k /2 + 2 , hence by induction on k k k it holds for every k ≥ 1 k\ge1 k ≥ 1 that
X k ≤ 4 + ( X − 4 ) ⋅ 2 − ( k − 1 ) . X_k\le4+(X-4)\cdot2^{-(k-1)}. X k ≤ 4 + ( X − 4 ) ⋅ 2 − ( k − 1 ) .
Then, if at phase K + 1 K+1 K + 1 we have X K + 1 ≤ 16 X_{K+1}\le16 X K + 1 ≤ 16 , it must hold K ≤ log X K\le\log X K ≤ log X . At this phase, solution x K + 1 x^{K+1} x K + 1 has at most 16 strictly fractional coordinates, hence there are at most 8 agents with a strictly fractional coordinate. We create a new solution y y y as follows: for every i ∈ N i\in N i ∈ N with 0 < x i K + 1 ( π ) < 1 0<x_i^{K+1}(\pi)<1 0 < x i K + 1 ( π ) < 1 for some π ∈ Π \pi\in\Pi π ∈ Π , set y i ( ⊥ ) = 1 y_i(\perp)=1 y i ( ⊥ ) = 1 , i.e throw these agents away. For every other agent i ∈ N i\in N i ∈ N set y i ( π ) = x i K + 1 ( π ) y_i(\pi)=x_i^{K+1}(\pi) y i ( π ) = x i K + 1 ( π ) for all π ∈ Π \pi\in\Pi π ∈ Π . Clearly, y y y is integral, every head/tail load can only decrease, and
I ( y , Π ) ≥ I ( x K + 1 , Π ) − 8. \mathcal{I}(y,\Pi)\ge\mathcal{I}(x^{K+1},\Pi)-8. I ( y , Π ) ≥ I ( x K + 1 , Π ) − 8.
Summing up the loss in I ( x k , Π ) \mathcal{I}(x^k,\Pi) I ( x k , Π ) over all phases k ∈ [ K ] k\in[K] k ∈ [ K ] , we get (using X k ≤ X X_k\le X X k ≤ X )
I ( x , Π ) − I ( y , Π ) ≤ 8 + ∑ k = 1 K ( I ( x k , Π ) − I ( x k + 1 , Π ) ) ≤ 8 + 4 ∑ k = 1 K ( 1 + ln ( h X k ) ) \mathcal{I}(x,\Pi)-\mathcal{I}(y,\Pi)\le8+\sum_{k=1}^{K}\left(\mathcal{I}(x^k,\Pi)-\mathcal{I}(x^{k+1},\Pi)\right)\le8+4\sum_{k=1}^{K}(1+\ln(hX_k)) I ( x , Π ) − I ( y , Π ) ≤ 8 + k = 1 ∑ K ( I ( x k , Π ) − I ( x k + 1 , Π ) ) ≤ 8 + 4 k = 1 ∑ K ( 1 + ln ( h X k ))
≤ 8 + 4 log X ⋅ ( 1 + ln ( h X ) ) = ρ ( h , X ) . \le8+4\log X\cdot(1+\ln(hX))=\rho(h,X). ≤ 8 + 4 log X ⋅ ( 1 + ln ( h X )) = ρ ( h , X ) .
To ensure that I ( y , Π ) ≤ I ( x , Π ) \mathcal{I}(y,\Pi)\le\mathcal{I}(x,\Pi) I ( y , Π ) ≤ I ( x , Π ) , in case I ( y , Π ) > I ( x , Π ) \mathcal{I}(y,\Pi)>\mathcal{I}(x,\Pi) I ( y , Π ) > I ( x , Π ) we retain any ⌊ I ( x , Π ) ⌋ \lfloor\mathcal{I}(x,\Pi)\rfloor ⌊ I ( x , Π )⌋ agents assigned by y y y , and give ⊥ \perp ⊥ to the rest. Removing agents preserves prefix load constraints, and we still have at least I ( x , Π ) − 1 \mathcal{I}(x,\Pi)-1 I ( x , Π ) − 1 selected agents. Finally, by construction the agents i ∈ N i\in N i ∈ N with y i ( π ) = 1 y_i(\pi)=1 y i ( π ) = 1 for some π ≠ ⊥ \pi\ne\perp π = ⊥ must have had x i ( π ) > 0 x_i(\pi)>0 x i ( π ) > 0 . This finishes the proof.
Proof of the bounded head and tail rounding theorem
Theorem B.1 (Theorem 3.2 restated). Let Π \Pi Π be a shared set of head profiles, such that ∣ π ∣ ≤ q |\pi|\le q ∣ π ∣ ≤ q for some integer q ≥ 3 q\ge3 q ≥ 3 . For every i ∈ N i\in N i ∈ N , let ( x i , Π ) (x_i,\Pi) ( x i , Π ) be a fractional profile, denote x = { x i } i ∈ N x=\{x_i\}_{i\in N} x = { x i } i ∈ N . Suppose that for every π ∈ Π − ⊥ \pi\in\Pi-\perp π ∈ Π − ⊥ , either Δ ( π ) = 0 \Delta(\pi)=0 Δ ( π ) = 0 or Δ ( π ) ≥ δ > 0 \Delta(\pi)\ge\delta>0 Δ ( π ) ≥ δ > 0 for some δ ∈ ( 0 , 1 ] \delta\in(0,1] δ ∈ ( 0 , 1 ] . For any λ > 1 \lambda>1 λ > 1 , there exists a collection y = { y i } i ∈ N y=\{y_i\}_{i\in N} y = { y i } i ∈ N of integer head profiles ( y i , Π ) (y_i,\Pi) ( y i , Π ) , such that for every i , π i,\pi i , π we have y i ( π ) ∈ { 0 , 1 } y_i(\pi)\in\{0,1\} y i ( π ) ∈ { 0 , 1 } and y i ( π ) = 1 y_i(\pi)=1 y i ( π ) = 1 for π ≠ ⊥ \pi\ne\perp π = ⊥ only if x i ( π ) > 0 x_i(\pi)>0 x i ( π ) > 0 , and
H ( y , Π , ℓ ) ≤ H ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{H}(y,\Pi,\ell)\le\mathcal{H}(x,\Pi,\ell),\qquad\forall\,0\le\ell\le m, H ( y , Π , ℓ ) ≤ H ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , T ( y , Π , ℓ ) ≤ λ T ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{T}(y,\Pi,\ell)\le\lambda\mathcal{T}(x,\Pi,\ell),\qquad\forall\,0\le\ell\le m, T ( y , Π , ℓ ) ≤ λ T ( x , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , I ( y , Π ) ≥ I ( x , Π ) − ρ ( q , X ) , \mathcal{I}(y,\Pi)\ge\mathcal{I}(x,\Pi)-\rho(q,X), I ( y , Π ) ≥ I ( x , Π ) − ρ ( q , X ) ,
where, for τ ( x , Π ) = ∑ i ∈ N ∑ π ∈ Π x i ( π ) ⋅ τ i ( π ) \tau(x,\Pi)=\sum_{i\in N}\sum_{\pi\in\Pi}x_i(\pi)\cdot\tau_i(\pi) τ ( x , Π ) = ∑ i ∈ N ∑ π ∈ Π x i ( π ) ⋅ τ i ( π ) and X = ∣ { ( i , π ) : 0 < x i ( π ) < 1 } ∣ X=|\{(i,\pi):0<x_i(\pi)<1\}| X = ∣ {( i , π ) : 0 < x i ( π ) < 1 } ∣ ,
ρ ( q , X ) = 8 + 4 log λ max { 1 , 1 δ h max T max X τ ( x , Π ) } + 8 q log X . \rho(q,X)=8+4\log_{\lambda}\max\left\{1,\frac{1}{\delta}h_{\max}T_{\max}X\tau(x,\Pi)\right\}+8q\log X. ρ ( q , X ) = 8 + 4 log λ max { 1 , δ 1 h m a x T m a x X τ ( x , Π ) } + 8 q log X .
Here h max : = max i ∈ N h i h_{\max}:=\max_{i\in N}h_i h m a x := max i ∈ N h i and T max : = max i ∈ N T i T_{\max}:=\max_{i\in N}T_i T m a x := max i ∈ N T i .
Proof. Both the statement and the proof of this theorem are very similar to Theorem A.1 . There are three key differences. First, instead of one tail load constraint, we have m + 1 m+1 m + 1 tail constraints, which we will have to take care off. Second, we require every positive deficit to be separated from 0 0 0 by some value δ ∈ ( 0 , 1 ] \delta\in(0,1] δ ∈ ( 0 , 1 ] . We need this in order to guarantee that tail constraints are violated by at most a factor of λ \lambda λ , while keeping the I \mathcal{I} I -value loss logarithmic in X X X . Third, the number of demands in every π ∈ Π \pi\in\Pi π ∈ Π is at most q q q , which is a constant in our setting, while in Theorem A.1 the bound was h = O ( n 2 ) h=O(n^2) h = O ( n 2 ) . In the proof of Theorem A.1 , we had to put h h h under log-factor, and lost O ( log ( h X ) ) = O ( log n ) O(\log(hX))=O(\log n) O ( log ( h X )) = O ( log n ) agents per phase of the rounding algorithm because of this. In the rounding algorithm of Theorem B.1, however, we will allow a loss of O ( q ) O(q) O ( q ) agents per phase, which allows us to avoid an additional O ( log X ) O(\log X) O ( log X ) factor.
Assume X ≥ 2 X\ge2 X ≥ 2 , otherwise x x x is already integral. Unlike in Theorem A.1 , we will slightly modify the starting solution x x x before the actual rounding. Our first step is to remove all entries x i ( π ) x_i(\pi) x i ( π ) with π ≠ ⊥ \pi\ne\perp π = ⊥ that are too small. Specifically, for every ( i , π ) (i,\pi) ( i , π ) such that π ≠ ⊥ \pi\ne\perp π = ⊥ and 0 < x i ( π ) < 1 / X 0<x_i(\pi)<1/X 0 < x i ( π ) < 1/ X , we transfer all the weight x i ( π ) x_i(\pi) x i ( π ) into x i ( ⊥ ) x_i(\perp) x i ( ⊥ ) . For the new solution, which we denote by x 1 x^1 x 1 , it trivially holds for all 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m :
H ( x 1 , Π , ℓ ) ≤ H ( x , Π , ℓ ) and T ( x 1 , Π , ℓ ) ≤ T ( x , Π , ℓ ) . \mathcal{H}(x^1,\Pi,\ell)\le\mathcal{H}(x,\Pi,\ell)
\qquad\text{and}\qquad
\mathcal{T}(x^1,\Pi,\ell)\le\mathcal{T}(x,\Pi,\ell). H ( x 1 , Π , ℓ ) ≤ H ( x , Π , ℓ ) and T ( x 1 , Π , ℓ ) ≤ T ( x , Π , ℓ ) .
Since we cannot remove more than X X X entries in total, and each removed entry is at most 1 / X 1/X 1/ X ,
I ( x 1 , Π ) = ∑ i ∈ N ∑ π ≠ ⊥ x i 1 ( π ) = ∑ i ∈ N ∑ π ≠ ⊥ x i ( π ) − ∑ ( i , π ) 0 < x i ( π ) < 1 / X x i ( π ) ≥ I ( x , Π ) − 1. \mathcal{I}(x^1,\Pi)=\sum_{i\in N}\sum_{\pi\ne\perp}x_i^1(\pi)
=\sum_{i\in N}\sum_{\pi\ne\perp}x_i(\pi)
-\sum_{\substack{(i,\pi)\\0<x_i(\pi)<1/X}}x_i(\pi)
\ge\mathcal{I}(x,\Pi)-1. I ( x 1 , Π ) = i ∈ N ∑ π = ⊥ ∑ x i 1 ( π ) = i ∈ N ∑ π = ⊥ ∑ x i ( π ) − ( i , π ) 0 < x i ( π ) < 1/ X ∑ x i ( π ) ≥ I ( x , Π ) − 1.
Let X 1 : = { ( i , π ) : 0 < x i 1 ( π ) < 1 } \mathcal{X}_1:=\{(i,\pi):0<x_i^1(\pi)<1\} X 1 := {( i , π ) : 0 < x i 1 ( π ) < 1 } and X 1 : = ∣ X 1 ∣ X_1:=|\mathcal{X}_1| X 1 := ∣ X 1 ∣ . Note that X 1 ≤ X X_1\le X X 1 ≤ X , as a new entry 0 < x i 1 ( ⊥ ) < 1 0<x_i^1(\perp)<1 0 < x i 1 ( ⊥ ) < 1 can appear for an agent i ∈ N i\in N i ∈ N only if we set x i ( π ) = 0 x_i(\pi)=0 x i ( π ) = 0 for some π ≠ ⊥ \pi\ne\perp π = ⊥ with 0 < x i ( π ) < 1 0<x_i(\pi)<1 0 < x i ( π ) < 1 . Hence, the number of strictly fractional entries cannot increase.
Replacing x x x with x 1 x^1 x 1 allows us to lower bound T ( x 1 , Π , ℓ ) \mathcal{T}(x^1,\Pi,\ell) T ( x 1 , Π , ℓ ) for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m . Recall that
τ i ( π ) : = { Δ ( π ) / T i , π ≠ ⊥ and T i > 0 ; 0 , otherwise . \tau_i(\pi):=
\begin{cases}
\Delta(\pi)/T_i, & \pi\ne\perp\text{ and }T_i>0;\\
0, & \text{otherwise}.
\end{cases} τ i ( π ) := { Δ ( π ) / T i , 0 , π = ⊥ and T i > 0 ; otherwise .
By assumption, for every π ∈ Π − ⊥ \pi\in\Pi-\perp π ∈ Π − ⊥ either Δ ( π ) = 0 \Delta(\pi)=0 Δ ( π ) = 0 or Δ ( π ) ≥ δ > 0 \Delta(\pi)\ge\delta>0 Δ ( π ) ≥ δ > 0 . Let T max : = max i ∈ N T i T_{\max}:=\max_{i\in N}T_i T m a x := max i ∈ N T i . If T max = 0 T_{\max}=0 T m a x = 0 , then all τ i ( π ) \tau_i(\pi) τ i ( π ) are 0 0 0 , and we do not need to consider the tail loads. Otherwise
τ i ( π ) > 0 ⟹ τ i ( π ) ≥ δ T max . \tau_i(\pi)>0\quad\Longrightarrow\quad\tau_i(\pi)\ge\frac{\delta}{T_{\max}}. τ i ( π ) > 0 ⟹ τ i ( π ) ≥ T m a x δ .
If T ( x 1 , Π , ℓ ) > 0 \mathcal{T}(x^1,\Pi,\ell)>0 T ( x 1 , Π , ℓ ) > 0 , its positive summands must have positive x i 1 ( π ) x_i^1(\pi) x i 1 ( π ) , τ i ( π ) \tau_i(\pi) τ i ( π ) and ( ℓ − h i ) + (\ell-h_i)_+ ( ℓ − h i ) + . Thus
T ( x 1 , Π , ℓ ) > 0 ⟹ T ( x 1 , Π , ℓ ) = ∑ i ∈ N ∑ π ≠ ⊥ x i 1 ( π ) ⋅ τ i ( π ) ( ℓ − h i ) + ≥ δ T max X = : θ . \mathcal{T}(x^1,\Pi,\ell)>0\quad\Longrightarrow\quad
\mathcal{T}(x^1,\Pi,\ell)=\sum_{i\in N}\sum_{\pi\ne\perp}x_i^1(\pi)\cdot\tau_i(\pi)(\ell-h_i)_+
\ge\frac{\delta}{T_{\max}X}=:\theta. T ( x 1 , Π , ℓ ) > 0 ⟹ T ( x 1 , Π , ℓ ) = i ∈ N ∑ π = ⊥ ∑ x i 1 ( π ) ⋅ τ i ( π ) ( ℓ − h i ) + ≥ T m a x X δ =: θ .
In order to preserve the tail load constraints (or at least, not violate them by too much), we will do a trick similar to Lemma A.2. Specifically, before we even start rounding, we will create a set of tail checkpoints . That is, a subset of prefixes r r r for which we will preserve the inequality T ( x k + 1 , Π , r ) ≤ T ( x k , Π , r ) \mathcal{T}(x^{k+1},\Pi,r)\le\mathcal{T}(x^k,\Pi,r) T ( x k + 1 , Π , r ) ≤ T ( x k , Π , r ) at every iteration k ≥ 1 k\ge1 k ≥ 1 , without multiplicative error λ \lambda λ .
We do it as follows. Let h max : = max i ∈ N h i h_{\max}:=\max_{i\in N}h_i h m a x := max i ∈ N h i . For every integer t ≥ 0 t\ge0 t ≥ 0 , consider the largest prefix 0 ≤ r ≤ h max 0\le r\le h_{\max} 0 ≤ r ≤ h m a x such that T ( x 1 , Π , r ) / θ \mathcal{T}(x^1,\Pi,r)/\theta T ( x 1 , Π , r ) / θ is in [ λ t , λ t + 1 ) [\lambda^t,\lambda^{t+1}) [ λ t , λ t + 1 ) . That is, we consider a set of prefixes
R t : = { r ∈ { 0 , 1 , … , h max } : θ λ t ≤ T ( x 1 , Π , r ) < θ λ t + 1 } , \mathcal{R}_t:=\left\{r\in\{0,1,\ldots,h_{\max}\}:\theta\lambda^t\le\mathcal{T}(x^1,\Pi,r)<\theta\lambda^{t+1}\right\}, R t := { r ∈ { 0 , 1 , … , h m a x } : θ λ t ≤ T ( x 1 , Π , r ) < θ λ t + 1 } ,
and take checkpoint r t = max r ∈ R t r r_t=\max_{r\in\mathcal{R}_t}r r t = max r ∈ R t r . Denote the set of tail checkpoints by R \mathcal{R} R , with R : = ∣ R ∣ R:=|\mathcal{R}| R := ∣ R ∣ .
We will now show an analogue of Lemma A.2: in order to obtain the desired guarantees for y y y on T ( y , Π , ℓ ) \mathcal{T}(y,\Pi,\ell) T ( y , Π , ℓ ) , it suffices to preserve the fractional prefix tail load only tail checkpoints r ∈ R r\in\mathcal{R} r ∈ R .
Lemma B.1. Suppose that a solution z z z satisfies z i ( π ) > 0 z_i(\pi)>0 z i ( π ) > 0 for π ≠ ⊥ \pi\ne\bot π = ⊥ only if x i 1 ( π ) > 0 x_i^1(\pi)>0 x i 1 ( π ) > 0 , as well as τ ( z , Π ) ≤ τ ( x 1 , Π ) \tau(z,\Pi)\le\tau(x^1,\Pi) τ ( z , Π ) ≤ τ ( x 1 , Π ) and T ( z , Π , r ) ≤ T ( x 1 , Π , r ) \mathcal{T}(z,\Pi,r)\le\mathcal{T}(x^1,\Pi,r) T ( z , Π , r ) ≤ T ( x 1 , Π , r ) for every r ∈ R r\in\mathcal{R} r ∈ R . Then, for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m ,
T ( z , Π , ℓ ) ≤ λ T ( x 1 , Π , ℓ ) , \mathcal{T}(z,\Pi,\ell)\le\lambda\mathcal{T}(x^1,\Pi,\ell), T ( z , Π , ℓ ) ≤ λ T ( x 1 , Π , ℓ ) , and in fact T ( z , Π , ℓ ) ≤ T ( x 1 , Π , ℓ ) \mathcal{T}(z,\Pi,\ell)\le\mathcal{T}(x^1,\Pi,\ell) T ( z , Π , ℓ ) ≤ T ( x 1 , Π , ℓ ) whenever ℓ ≥ h max \ell\ge h_{\max} ℓ ≥ h m a x . In addition, R = ∣ R ∣ R=|\mathcal{R}| R = ∣ R ∣ satisfies
R ≤ 1 + log λ max { 1 , h max τ ( x , Π ) θ } . R\le1+\log_{\lambda}\max\left\{1,\frac{h_{\max}\tau(x,\Pi)}{\theta}\right\}. R ≤ 1 + log λ max { 1 , θ h m a x τ ( x , Π ) } .
Proof. If h max = 0 h_{\max}=0 h m a x = 0 , then every tail is exactly the same, and a single inequality τ ( z , Π ) ≤ τ ( x 1 , Π ) \tau(z,\Pi)\le\tau(x^1,\Pi) τ ( z , Π ) ≤ τ ( x 1 , Π ) preserves all tail loads exactly. From now on, assume h max > 0 h_{\max}>0 h m a x > 0 .
Suppose that T ( x 1 , Π , ℓ ) = 0 \mathcal{T}(x^1,\Pi,\ell)=0 T ( x 1 , Π , ℓ ) = 0 . Its every summand is non-negative, so every π ∈ Π \pi\in\Pi π ∈ Π with x i 1 ( π ) > 0 x_i^1(\pi)>0 x i 1 ( π ) > 0 contributes 0. Since z i ( π ) > 0 z_i(\pi)>0 z i ( π ) > 0 for π ≠ ⊥ \pi\ne\bot π = ⊥ only if x i 1 ( π ) > 0 x_i^1(\pi)>0 x i 1 ( π ) > 0 , then T ( z , Π , ℓ ) = 0 \mathcal{T}(z,\Pi,\ell)=0 T ( z , Π , ℓ ) = 0 too.
Next, consider ℓ < h max \ell<h_{\max} ℓ < h m a x such that T ( x 1 , Π , ℓ ) > 0 \mathcal{T}(x^1,\Pi,\ell)>0 T ( x 1 , Π , ℓ ) > 0 . By construction, prefix ℓ \ell ℓ belongs to R t \mathcal{R}_t R t for t ≥ 0 t\ge0 t ≥ 0 such that θ λ t ≤ T ( x 1 , Π , ℓ ) < θ λ t + 1 \theta\lambda^t\le\mathcal{T}(x^1,\Pi,\ell)<\theta\lambda^{t+1} θ λ t ≤ T ( x 1 , Π , ℓ ) < θ λ t + 1 . Since r t = max r ∈ R t r r_t=\max_{r\in\mathcal{R}_t}r r t = max r ∈ R t r , we have ℓ ≤ r t \ell\le r_t ℓ ≤ r t and
T ( z , Π , ℓ ) ≤ T ( z , Π , r t ) ≤ T ( x 1 , Π , r t ) ≤ θ λ t + 1 ≤ λ T ( x 1 , Π , ℓ ) . \mathcal{T}(z,\Pi,\ell)\le\mathcal{T}(z,\Pi,r_t)\le\mathcal{T}(x^1,\Pi,r_t)\le\theta\lambda^{t+1}\le\lambda\mathcal{T}(x^1,\Pi,\ell). T ( z , Π , ℓ ) ≤ T ( z , Π , r t ) ≤ T ( x 1 , Π , r t ) ≤ θ λ t + 1 ≤ λ T ( x 1 , Π , ℓ ) .
Note that if T ( x 1 , Π , h max ) > 0 \mathcal{T}(x^1,\Pi,h_{\max})>0 T ( x 1 , Π , h m a x ) > 0 , then h max ∈ R h_{\max}\in\mathcal{R} h m a x ∈ R , and T ( z , Π , h max ) ≤ T ( x 1 , Π , h max ) \mathcal{T}(z,\Pi,h_{\max})\le\mathcal{T}(x^1,\Pi,h_{\max}) T ( z , Π , h m a x ) ≤ T ( x 1 , Π , h m a x ) . Similarly, if T ( x 1 , Π , h max ) = 0 \mathcal{T}(x^1,\Pi,h_{\max})=0 T ( x 1 , Π , h m a x ) = 0 , support preservation gives T ( z , Π , h max ) = 0 \mathcal{T}(z,\Pi,h_{\max})=0 T ( z , Π , h m a x ) = 0 . Then, for every ℓ ≥ h max \ell\ge h_{\max} ℓ ≥ h m a x ,
T ( z , Π , ℓ ) = ∑ i ∈ N τ i ( z i , Π ) ⋅ ( ℓ − h i ) = ∑ i ∈ N τ i ( z i , Π ) ⋅ ( h max − h i ) + ∑ i ∈ N τ i ( z i , Π ) ⋅ ( ℓ − h max ) = T ( z , Π , h max ) + ( ℓ − h max ) τ ( z , Π ) ≤ T ( x 1 , Π , h max ) + ( ℓ − h max ) τ ( x 1 , Π ) = T ( x 1 , Π , ℓ ) . \begin{aligned}
\mathcal{T}(z,\Pi,\ell)
&=\sum_{i\in N}\tau_i(z_i,\Pi)\cdot(\ell-h_i)\\
&=\sum_{i\in N}\tau_i(z_i,\Pi)\cdot(h_{\max}-h_i)+\sum_{i\in N}\tau_i(z_i,\Pi)\cdot(\ell-h_{\max})\\
&=\mathcal{T}(z,\Pi,h_{\max})+(\ell-h_{\max})\tau(z,\Pi)\\
&\le\mathcal{T}(x^1,\Pi,h_{\max})+(\ell-h_{\max})\tau(x^1,\Pi)=\mathcal{T}(x^1,\Pi,\ell).
\end{aligned} T ( z , Π , ℓ ) = i ∈ N ∑ τ i ( z i , Π ) ⋅ ( ℓ − h i ) = i ∈ N ∑ τ i ( z i , Π ) ⋅ ( h m a x − h i ) + i ∈ N ∑ τ i ( z i , Π ) ⋅ ( ℓ − h m a x ) = T ( z , Π , h m a x ) + ( ℓ − h m a x ) τ ( z , Π ) ≤ T ( x 1 , Π , h m a x ) + ( ℓ − h m a x ) τ ( x 1 , Π ) = T ( x 1 , Π , ℓ ) .
We now bound R R R . We have τ ( x 1 , Π ) ≤ τ ( x , Π ) \tau(x^1,\Pi)\le\tau(x,\Pi) τ ( x 1 , Π ) ≤ τ ( x , Π ) (only ⊥ \bot ⊥ -entries gained), so for every ℓ ≤ h max \ell\le h_{\max} ℓ ≤ h m a x ,
T ( x 1 , Π , ℓ ) = ∑ i ∈ N τ i ( x i 1 , Π ) ⋅ ( ℓ − h i ) + ≤ ℓ ⋅ τ ( x 1 , Π ) ≤ h max τ ( x , Π ) . \mathcal{T}(x^1,\Pi,\ell)=\sum_{i\in N}\tau_i(x_i^1,\Pi)\cdot(\ell-h_i)_+\le\ell\cdot\tau(x^1,\Pi)\le h_{\max}\tau(x,\Pi). T ( x 1 , Π , ℓ ) = i ∈ N ∑ τ i ( x i 1 , Π ) ⋅ ( ℓ − h i ) + ≤ ℓ ⋅ τ ( x 1 , Π ) ≤ h m a x τ ( x , Π ) .
If h max τ ( x , Π ) < θ h_{\max}\tau(x,\Pi)<\theta h m a x τ ( x , Π ) < θ , all R t \mathcal{R}_t R t are empty and R = 0 R=0 R = 0 . Otherwise, for every t ≥ 0 t\ge0 t ≥ 0 such that R t ≠ ∅ \mathcal{R}_t\ne\varnothing R t = ∅ ,
θ λ t ≤ h max τ ( x , Π ) ⟹ t ≤ log λ max { 1 , h max τ ( x , Π ) θ } . \theta\lambda^t\le h_{\max}\tau(x,\Pi)\quad\Longrightarrow\quad t\le\log_{\lambda}\max\left\{1,\frac{h_{\max}\tau(x,\Pi)}{\theta}\right\}. θ λ t ≤ h m a x τ ( x , Π ) ⟹ t ≤ log λ max { 1 , θ h m a x τ ( x , Π ) } .
There is at most one tail checkpoint for each such t ≥ 0 t\ge0 t ≥ 0 . The lemma follows. □ \square □
We now proceed to actual rounding. As in Theorem A.1 , we start with a solution x 1 x^1 x 1 and will round it to integral y y y over multiple phases, fixing non-⊥ \bot ⊥ entries of current solution x k x^k x k that reach 0 or 1 and maintaining for every i ∈ N i\in N i ∈ N that x i k ( π ) ≥ 0 x_i^k(\pi)\ge0 x i k ( π ) ≥ 0 for all π ∈ Π \pi\in\Pi π ∈ Π and ∑ π ∈ Π x i k ( π ) = 1 \sum_{\pi\in\Pi}x_i^k(\pi)=1 ∑ π ∈ Π x i k ( π ) = 1 . Once again, let X k : = { ( i , π ) : 0 < x i k ( π ) < 1 } \mathcal{X}_k:=\{(i,\pi):0<x_i^k(\pi)<1\} X k := {( i , π ) : 0 < x i k ( π ) < 1 } be strictly fractional entries of x k x^k x k , and X k : = ∣ X k ∣ X_k:=|\mathcal{X}_k| X k := ∣ X k ∣ .
Suppose that X k > 8 ( R + 1 ) X_k>8(R+1) X k > 8 ( R + 1 ) . In addition to the tail checkpoints R \mathcal{R} R that are the same at every phase k k k , during the phase k k k we create a set of head checkpoints ℓ \ell ℓ , for which we would preserve the inequality H ( x k + 1 , Π , ℓ ) ≤ H ( x k , Π , ℓ ) \mathcal{H}(x^{k+1},\Pi,\ell)\le\mathcal{H}(x^k,\Pi,\ell) H ( x k + 1 , Π , ℓ ) ≤ H ( x k , Π , ℓ ) without any error. Instead of a per-phase loss O ( log q X ) O(\log qX) O ( log q X ) in Theorem A.1 , we will save a log X \log X log X -factor by allowing an additive loss of O ( q ) O(q) O ( q ) .
We create additional slackness in every prefix 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m that will absorb potential rounding loss. Define intermediate solution x ~ k \tilde{x}^{k} x ~ k as follows. For every ( i , π ) ∈ X k (i,\pi) \in\mathcal{X}_{k} ( i , π ) ∈ X k , π ∉ { ∅ , ⊥ } \pi\notin\{\varnothing,\bot\} π ∈ / { ∅ , ⊥ } , let
b i ( π ) : = min α ∈ π m i ( α ) b_i(\pi) := \min_{\alpha\in\pi} m_i(\alpha) b i ( π ) := α ∈ π min m i ( α )
be the earliest breakpoint of agent i i i in profile π \pi π . We sort all pairs ( i , π ) ∈ X k (i,\pi) \in\mathcal{X}_{k} ( i , π ) ∈ X k with respect to b i ( π ) b_i(\pi) b i ( π ) . Then, starting from the first pair, we keep transferring weight x i k ( π ) x_i^k(\pi) x i k ( π ) to x i k ( ⊥ ) x_i^k(\bot) x i k ( ⊥ ) until either a total weight of 8 q 8q 8 q has been transferred, or all non-⊥ \bot ⊥ weights are set to 0 0 0 . Every transfer, except for possibly the last one, completely exhausts the corresponding coordinate x i k ( π ) x_i^k(\pi) x i k ( π ) . We denote the resulting solution by x ~ k \tilde{x}^{k} x ~ k , and X ~ k : = { ( i , π ) : 0 < x ~ i k ( π ) < 1 } \widetilde{\mathcal{X}}_{k} := \{(i,\pi) : 0 < \tilde{x}_i^k(\pi) < 1\} X k := {( i , π ) : 0 < x ~ i k ( π ) < 1 } and X ~ k : = ∣ X ~ k ∣ \widetilde{X}_{k} := |\widetilde{\mathcal{X}}_{k}| X k := ∣ X k ∣ .
As in the proof of Theorem A.1 , for ( i , π ) ∈ X ~ k (i,\pi) \in\widetilde{\mathcal{X}}_{k} ( i , π ) ∈ X k with π ≠ ⊥ \pi\ne\bot π = ⊥ , we list all the breakpoints of i i i for all demands α ∈ π \alpha\in\pi α ∈ π , and combine them into a multiset M k \mathcal{M}_{k} M k :
\mathcal{M}_{k} := \mathbin{\mathaccent\cdot\cup}_{\substack{(i,\pi)\in\widetilde{\mathcal{X}}_{k}\\ \pi\ne\bot}} \{m_i(\alpha) : \alpha\in\pi\}.
As before, for − 1 ≤ ℓ ≤ m -1 \le\ell\le m − 1 ≤ ℓ ≤ m we denote by
P k ( ℓ ) = ∑ ( i , π ) ∈ X ~ k P i ( π , ℓ ) > 0 \mathcal{P}_{k}(\ell) = \sum_{(i,\pi)\in\widetilde{\mathcal{X}}_{k}} \mathcal{P}_{i}(\pi,\ell) > 0 P k ( ℓ ) = ( i , π ) ∈ X k ∑ P i ( π , ℓ ) > 0
the total number of breakpoints in M k \mathcal{M}_{k} M k that are at most ℓ \ell ℓ , with P k ( − 1 ) = 0 P_k(-1) = 0 P k ( − 1 ) = 0 .
Lemma B.2. It holds I ( x ~ k , Π ) ≥ I ( x k , Π ) − 8 q \mathcal{I}(\tilde{x}^{k},\Pi) \ge\mathcal{I}(x^{k},\Pi)-8q I ( x ~ k , Π ) ≥ I ( x k , Π ) − 8 q and τ ( x ~ k , Π ) ≤ τ ( x k , Π ) \tau(\tilde{x}^{k},\Pi) \le\tau(x^{k},\Pi) τ ( x ~ k , Π ) ≤ τ ( x k , Π ) , as well as T ( x ~ k , Π , ℓ ) ≤ T ( x k , Π , ℓ ) \mathcal{T}(\tilde{x}^{k},\Pi,\ell) \le\mathcal{T}(x^{k},\Pi,\ell) T ( x ~ k , Π , ℓ ) ≤ T ( x k , Π , ℓ ) and H ( x ~ k , Π , ℓ ) ≤ H ( x k , Π , ℓ ) \mathcal{H}(\tilde{x}^{k},\Pi,\ell) \le\mathcal{H}(x^{k},\Pi,\ell) H ( x ~ k , Π , ℓ ) ≤ H ( x k , Π , ℓ ) for every 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m . In addition, if P k ( ℓ ) > 0 P_k(\ell) > 0 P k ( ℓ ) > 0 , then
H ( x ~ k , Π , ℓ ) + 8 q ≤ H ( x k , Π , ℓ ) . \mathcal{H}(\tilde{x}^{k},\Pi,\ell) + 8q \le\mathcal{H}(x^{k},\Pi,\ell). H ( x ~ k , Π , ℓ ) + 8 q ≤ H ( x k , Π , ℓ ) .
Proof. Every claim except for the last bound on head prefix loads is immediate. Let ℓ \ell ℓ be a prefix such that P k ( ℓ ) > 0 P_k(\ell) > 0 P k ( ℓ ) > 0 . Then, there exists ( i ∗ , π ∗ ) ∈ X ~ k (i_*,\pi_*) \in\widetilde{\mathcal{X}}_{k} ( i ∗ , π ∗ ) ∈ X k such that P i ∗ ( π ∗ , ℓ ) > 0 \mathcal{P}_{i_*}(\pi_*,\ell) > 0 P i ∗ ( π ∗ , ℓ ) > 0 , and the earliest breakpoint of π ∗ \pi_* π ∗ satisfies b i ∗ ( π ∗ ) ≤ ℓ b_{i_*}(\pi_*) \le\ell b i ∗ ( π ∗ ) ≤ ℓ . As x ~ i ∗ k ( π ∗ ) > 0 \tilde{x}_{i_*}^k(\pi_*) > 0 x ~ i ∗ k ( π ∗ ) > 0 , we must have x i ∗ k ( π ∗ ) > 0 x_{i_*}^k(\pi_*) > 0 x i ∗ k ( π ∗ ) > 0 , and every pair ( i , π ) ∈ X k (i,\pi) \in\mathcal{X}_{k} ( i , π ) ∈ X k from which positive weight was transferred into ⊥ \bot ⊥ must have occurred before ( i ∗ , π ∗ ) (i_*,\pi_*) ( i ∗ , π ∗ ) (or ended at ( i ∗ , π ∗ ) (i_*,\pi_*) ( i ∗ , π ∗ ) ). Then, for every ( i , π ) (i,\pi) ( i , π ) such that x i k ( π ) − x ~ i k ( π ) > 0 x_i^k(\pi)-\tilde{x}_i^k(\pi)>0 x i k ( π ) − x ~ i k ( π ) > 0 it holds b i ( π ) ≤ b i ∗ ( π ∗ ) ≤ ℓ b_i(\pi) \le b_{i_*}(\pi_*) \le\ell b i ( π ) ≤ b i ∗ ( π ∗ ) ≤ ℓ , and P i ( π , ℓ ) ≥ 1 \mathcal{P}_i(\pi,\ell) \ge1 P i ( π , ℓ ) ≥ 1 for every such pair ( i , π ) (i,\pi) ( i , π ) . Hence,
H ( x k , Π , ℓ ) − H ( x ~ k , Π , ℓ ) = ∑ i ∈ N ∑ π ≠ ⊥ ( x i k ( π ) − x ~ i k ( π ) ) ⋅ P i ( π , ℓ ) ≥ 8 q . \mathcal{H}(x^k,\Pi,\ell)-\mathcal{H}(\tilde{x}^k,\Pi,\ell)=\sum_{i\in N}\sum_{\pi\ne\bot}(x_i^k(\pi)-\tilde{x}_i^k(\pi))\cdot\mathcal{P}_i(\pi,\ell)\ge8q. H ( x k , Π , ℓ ) − H ( x ~ k , Π , ℓ ) = i ∈ N ∑ π = ⊥ ∑ ( x i k ( π ) − x ~ i k ( π )) ⋅ P i ( π , ℓ ) ≥ 8 q .
It is at least 8 q 8q 8 q as x ~ i ∗ k ( π ∗ ) > 0 \tilde{x}_{i_*}^k(\pi_*)>0 x ~ i ∗ k ( π ∗ ) > 0 implies that the transfer stopped before zeroing-out all weights. □ \square □
We now construct head checkpoints . Sort M k \mathcal{M}_{k} M k in non-decreasing order, and then choose every 8 q 8q 8 q -th breakpoint in M k \mathcal{M}_{k} M k as a head checkpoint. Let L k \mathcal{L}_{k} L k be the set of chosen checkpoints.
Lemma B.3. The total number of head checkpoints at phase k k k is ∣ L k ∣ ≤ X k / 8 |\mathcal{L}_{k}| \le X_{k}/8 ∣ L k ∣ ≤ X k /8 . In addition, for any solution z z z satisfying z i ( π ) = x ~ i k ( π ) z_i(\pi)=\tilde{x}_i^k(\pi) z i ( π ) = x ~ i k ( π ) for all ( i , π ) (i,\pi) ( i , π ) with x ~ i k ( π ) ∈ { 0 , 1 } \tilde{x}_i^k(\pi)\in\{0,1\} x ~ i k ( π ) ∈ { 0 , 1 } , the following holds. Suppose that for every ℓ k ∈ L k \ell_k\in\mathcal{L}_{k} ℓ k ∈ L k we have H ( z , Π , ℓ k ) ≤ H ( x ~ k , Π , ℓ k ) \mathcal{H}(z,\Pi,\ell_k)\le\mathcal{H}(\tilde{x}^{k},\Pi,\ell_k) H ( z , Π , ℓ k ) ≤ H ( x ~ k , Π , ℓ k ) . Then, for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m ,
H ( z , Π , ℓ ) ≤ H ( x ~ k , Π , ℓ ) + 8 q 1 { P k ( ℓ ) > 0 } . \mathcal{H}(z,\Pi,\ell)\le\mathcal{H}(\tilde{x}^{k},\Pi,\ell)+8q\mathbf{1}\{P_k(\ell)>0\}. H ( z , Π , ℓ ) ≤ H ( x ~ k , Π , ℓ ) + 8 q 1 { P k ( ℓ ) > 0 } .
Proof. This is an analogue of Lemma A.2 for heads. By construction, every fractional coordinate in x ~ k \tilde{x}^{k} x ~ k was fractional in x k x^{k} x k . Hence, using the assumption ∣ π ∣ ≤ q |\pi|\le q ∣ π ∣ ≤ q for π ∈ Π \pi\in\Pi π ∈ Π , we have
∣ M k ∣ = ∑ ( i , π ) ∈ X ~ k π ≠ ⊥ ∣ π ∣ ≤ q X k ⟹ ∣ L k ∣ ≤ ⌈ ∣ M k ∣ 8 q ⌉ ≤ X k 8 . |\mathcal{M}_{k}|=\sum_{\substack{(i,\pi)\in\widetilde{\mathcal{X}}_{k}\\ \pi\ne\bot}}|\pi|\le qX_{k}\quad\Longrightarrow\quad|\mathcal{L}_{k}|\le\left\lceil\frac{|\mathcal{M}_{k}|}{8q}\right\rceil\le\frac{X_{k}}{8}. ∣ M k ∣ = ( i , π ) ∈ X k π = ⊥ ∑ ∣ π ∣ ≤ q X k ⟹ ∣ L k ∣ ≤ ⌈ 8 q ∣ M k ∣ ⌉ ≤ 8 X k .
Next, let 0 ≤ ℓ ≤ m 0 \le\ell\le m 0 ≤ ℓ ≤ m . If P k ( ℓ ) = 0 P_k(\ell)=0 P k ( ℓ ) = 0 , every fractional entry of x ~ k \tilde{x}^k x ~ k contributes 0 0 0 to H ( x ~ k , Π , ℓ ) \mathcal{H}(\tilde{x}^k,\Pi,\ell) H ( x ~ k , Π , ℓ ) . Since z z z coincides with x ~ k \tilde{x}^k x ~ k on all coordinates outside of X k X_k X k , we must have H ( z , Π , ℓ ) = H ( x ~ k , Π , ℓ ) \mathcal{H}(z,\Pi,\ell)=\mathcal{H}(\tilde{x}^k,\Pi,\ell) H ( z , Π , ℓ ) = H ( x ~ k , Π , ℓ ) .
If P k ( ℓ ) > 0 P_k(\ell)>0 P k ( ℓ ) > 0 , let ℓ k ∈ L k \ell_k \in L_k ℓ k ∈ L k be the largest checkpoint preceding ℓ \ell ℓ , i.e. satisfying ℓ k ≤ ℓ \ell_k \le\ell ℓ k ≤ ℓ (set ℓ k = − 1 \ell_k=-1 ℓ k = − 1 if none exists). The exact same reasoning as in Lemma A.2 gives
H ( z , Π , ℓ ) − H ( x ~ k , Π , ℓ ) ≤ P k ( ℓ ) − P k ( ℓ k ) . \mathcal{H}(z,\Pi,\ell)-\mathcal{H}(\tilde{x}^k,\Pi,\ell)\le P_k(\ell)-P_k(\ell_k). H ( z , Π , ℓ ) − H ( x ~ k , Π , ℓ ) ≤ P k ( ℓ ) − P k ( ℓ k ) .
If ℓ k = ℓ \ell_k=\ell ℓ k = ℓ , P k ( ℓ ) − P k ( ℓ k ) = 0 P_k(\ell)-P_k(\ell_k)=0 P k ( ℓ ) − P k ( ℓ k ) = 0 and we are done. Otherwise, by construction of L k L_k L k there are at most 8 q 8q 8 q breakpoints of M k M_k M k in ( ℓ k , ℓ ] (\ell_k,\ell] ( ℓ k , ℓ ] . Thus, P k ( ℓ ) − P k ( ℓ k ) ≤ 8 q P_k(\ell)-P_k(\ell_k)\le8q P k ( ℓ ) − P k ( ℓ k ) ≤ 8 q , and the lemma follows.
It follows from Lemma B.1, Lemma B.2 and Lemma B.3 that, in order to preserve all head and tail load constraints at every prefix 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m at phase k k k , it suffices to preserve only tail checkpoints R \mathcal{R} R , head checkpoints L k L_k L k and inequality τ ( x k + 1 , Π ) ≤ τ ( x k , Π ) \tau(x^{k+1},\Pi)\le\tau(x^k,\Pi) τ ( x k + 1 , Π ) ≤ τ ( x k , Π ) .
Similar to Theorem 2.2, we construct a polytope (P):
∑ π ∈ Π z i ( π ) = 1 , ∀ i ∈ N , z i ( π ) = x ~ i k ( π ) , ∀ ( i , π ) : x ~ i k ( π ) ∈ { 0 , 1 } , τ ( z , Π ) ≤ τ ( x ~ k , Π ) , T ( z , Π , r ) ≤ T ( x ~ k , Π , r ) , ∀ r ∈ R , H ( z , Π , ℓ k ) ≤ H ( x ~ k , Π , ℓ k ) , ∀ ℓ k ∈ L k , 0 ≤ z i ( π ) ≤ 1 , ∀ i ∈ N , π ∈ Π . \begin{aligned}
\sum_{\pi\in\Pi} z_i(\pi) &= 1, && \forall i\in N,\\
z_i(\pi) &= \tilde{x}_i^k(\pi), && \forall(i,\pi):\tilde{x}_i^k(\pi)\in\{0,1\},\\
\tau(z,\Pi) &\le\tau(\tilde{x}^k,\Pi),\\
\mathcal{T}(z,\Pi,r) &\le\mathcal{T}(\tilde{x}^k,\Pi,r), && \forall r\in\mathcal{R},\\
\mathcal{H}(z,\Pi,\ell_k) &\le\mathcal{H}(\tilde{x}^k,\Pi,\ell_k), && \forall\ell_k\in L_k,\\
0\le z_i(\pi)&\le1, && \forall i\in N,\ \pi\in\Pi.
\end{aligned} π ∈ Π ∑ z i ( π ) z i ( π ) τ ( z , Π ) T ( z , Π , r ) H ( z , Π , ℓ k ) 0 ≤ z i ( π ) = 1 , = x ~ i k ( π ) , ≤ τ ( x ~ k , Π ) , ≤ T ( x ~ k , Π , r ) , ≤ H ( x ~ k , Π , ℓ k ) , ≤ 1 , ∀ i ∈ N , ∀ ( i , π ) : x ~ i k ( π ) ∈ { 0 , 1 } , ∀ r ∈ R , ∀ ℓ k ∈ L k , ∀ i ∈ N , π ∈ Π.
Clearly, z = x ~ k z=\tilde{x}^k z = x ~ k is feasible for (P). We choose an extreme point z ∗ z^* z ∗ of (P) maximizing
I ( z ∗ , Π ) = ∑ i ∈ N ∑ π ≠ ⊥ z i ∗ ( π ) . \mathcal{I}(z^*,\Pi)=\sum_{i\in N}\sum_{\pi\ne\bot}z_i^*(\pi). I ( z ∗ , Π ) = i ∈ N ∑ π = ⊥ ∑ z i ∗ ( π ) .
It exists, since (P) is nonempty and compact. By maximality, I ( z ∗ , Π ) ≥ I ( x ~ k , Π ) \mathcal{I}(z^*,\Pi)\ge\mathcal{I}(\tilde{x}^k,\Pi) I ( z ∗ , Π ) ≥ I ( x ~ k , Π ) .
Lemma B.4. Let z ∗ z^* z ∗ be an extreme point of the polytope (P). Then, the number of strictly fractional entries in z ∗ z^* z ∗ is at most X k / 2 X_k/2 X k /2 .
Proof. The proof is completely analogous to the proof of Lemma A.3. If Z ∗ Z^* Z ∗ is the total number of strictly fractional coordinates in z ∗ z^* z ∗ , then there can be at most Z ∗ / 2 Z^*/2 Z ∗ /2 different agents i ∈ N i\in N i ∈ N with fractional z i ∗ ( π ) z_i^*(\pi) z i ∗ ( π ) for some π ∈ Π \pi\in\Pi π ∈ Π .
Suppose that Z ∗ > X k / 2 Z^*>X_k/2 Z ∗ > X k /2 and restrict the equation-matrix of (P) to the fractional entries of z ∗ z^* z ∗ . There are Z ∗ Z^* Z ∗ variables, at most Z ∗ / 2 Z^*/2 Z ∗ /2 constraints of the form ∑ π ∈ Π z i ( π ) = 1 \sum_{\pi\in\Pi}z_i(\pi)=1 ∑ π ∈ Π z i ( π ) = 1 for some i ∈ N i\in N i ∈ N , R R R tail load constraints and at most ∣ L k ∣ ≤ X k / 8 |L_k|\le X_k/8 ∣ L k ∣ ≤ X k /8 head load constraints, as well as τ ( z , Π ) ≤ τ ( x k , Π ) \tau(z,\Pi)\le\tau(x^k,\Pi) τ ( z , Π ) ≤ τ ( x k , Π ) . Hence, under the assumption X k > 8 ( R + 1 ) X_k>8(R+1) X k > 8 ( R + 1 ) , the number of constraints in this restriction is
Z ∗ 2 + R + X k 8 + 1 ≤ Z ∗ 2 + X k 4 < Z ∗ , \frac{Z^*}{2}+R+\frac{X_k}{8}+1\le\frac{Z^*}{2}+\frac{X_k}{4}<Z^*, 2 Z ∗ + R + 8 X k + 1 ≤ 2 Z ∗ + 4 X k < Z ∗ ,
where we used Z ∗ > X k / 2 Z^*>X_k/2 Z ∗ > X k /2 . As in Lemma A.3, this contradicts extremality of z ∗ z^* z ∗ .
We take this extreme point z ∗ z^* z ∗ of (P) and set x k + 1 = z ∗ x^{k+1}=z^* x k + 1 = z ∗ . It follows from the lemmas above that X k + 1 ≤ X k / 2 X_{k+1}\le X_k/2 X k + 1 ≤ X k /2 , τ ( x k + 1 , Π ) ≤ τ ( x k , Π ) \tau(x^{k+1},\Pi)\le\tau(x^k,\Pi) τ ( x k + 1 , Π ) ≤ τ ( x k , Π ) , I ( x k + 1 , Π ) ≥ I ( x k , Π ) − 8 q \mathcal{I}(x^{k+1},\Pi)\ge\mathcal{I}(x^k,\Pi)-8q I ( x k + 1 , Π ) ≥ I ( x k , Π ) − 8 q , as well as for every 0 ≤ ℓ ≤ m 0\le\ell\le m 0 ≤ ℓ ≤ m that H ( x k + 1 , Π , ℓ ) ≤ H ( x k , Π , ℓ ) \mathcal{H}(x^{k+1},\Pi,\ell)\le\mathcal{H}(x^k,\Pi,\ell) H ( x k + 1 , Π , ℓ ) ≤ H ( x k , Π , ℓ ) and for every r ∈ R r\in\mathcal{R} r ∈ R that T ( x k + 1 , Π , r ) ≤ T ( x k , Π , r ) \mathcal{T}(x^{k+1},\Pi,r)\le\mathcal{T}(x^k,\Pi,r) T ( x k + 1 , Π , r ) ≤ T ( x k , Π , r ) .
We repeat the process until at some phase K + 1 K+1 K + 1 we have X K + 1 ≤ 8 ( R + 1 ) X_{K+1}\le8(R+1) X K + 1 ≤ 8 ( R + 1 ) . For this K K K ,
I ( x K + 1 , Π ) ≥ I ( x 1 , Π ) − 8 q K , \mathcal{I}(x^{K+1},\Pi)\ge\mathcal{I}(x^1,\Pi)-8qK, I ( x K + 1 , Π ) ≥ I ( x 1 , Π ) − 8 q K ,
τ ( x K + 1 , Π ) ≤ τ ( x 1 , Π ) , \tau(x^{K+1},\Pi)\le\tau(x^1,\Pi), τ ( x K + 1 , Π ) ≤ τ ( x 1 , Π ) ,
H ( x K + 1 , Π , ℓ ) ≤ H ( x 1 , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m , \mathcal{H}(x^{K+1},\Pi,\ell)\le\mathcal{H}(x^1,\Pi,\ell),\qquad\forall\,0\le\ell\le m, H ( x K + 1 , Π , ℓ ) ≤ H ( x 1 , Π , ℓ ) , ∀ 0 ≤ ℓ ≤ m ,
T ( x K + 1 , Π , r ) ≤ T ( x 1 , Π , r ) , ∀ r ∈ R . \mathcal{T}(x^{K+1},\Pi,r)\le\mathcal{T}(x^1,\Pi,r),\qquad\forall r\in\mathcal{R}. T ( x K + 1 , Π , r ) ≤ T ( x 1 , Π , r ) , ∀ r ∈ R .
In addition, at most X K + 1 / 2 ≤ 4 ( R + 1 ) X_{K+1}/2 \le4(R+1) X K + 1 /2 ≤ 4 ( R + 1 ) agents have fractional coordinates. We assign ⊥ \bot ⊥ to every such agent, while keeping all integral weights unchanged. We take y y y as the resulting integral solution. All prefix loads can only decrease, and applying Lemma B.1 to y y y , we have
∀ 0 ≤ ℓ ≤ m : T ( y , Π , ℓ ) ≤ λ T ( x 1 , Π , ℓ ) ≤ λ T ( x , Π , ℓ ) . \forall0 \le\ell\le m:\quad\mathcal{T}(y,\Pi,\ell) \le\lambda\mathcal{T}(x^{1},\Pi,\ell) \le\lambda\mathcal{T}(x,\Pi,\ell). ∀0 ≤ ℓ ≤ m : T ( y , Π , ℓ ) ≤ λ T ( x 1 , Π , ℓ ) ≤ λ T ( x , Π , ℓ ) .
At the same time,
I ( y , Π ) ≥ I ( x K + 1 , Π ) − 4 ( R + 1 ) ≥ I ( x 1 , Π ) − 8 q K − 4 ( R + 1 ) ≥ I ( x , Π ) − 1 − 8 q K − 4 ( R + 1 ) . \begin{aligned}
\mathcal{I}(y,\Pi) \ge\mathcal{I}(x^{K+1},\Pi) - 4(R+1) \ge\mathcal{I}(x^{1},\Pi) - 8qK - 4(R+1) \\
&\ge\mathcal{I}(x,\Pi) - 1 - 8qK - 4(R+1).
\end{aligned} I ( y , Π ) ≥ I ( x K + 1 , Π ) − 4 ( R + 1 ) ≥ I ( x 1 , Π ) − 8 q K − 4 ( R + 1 ) ≥ I ( x , Π ) − 1 − 8 q K − 4 ( R + 1 ) .
The last phase K K K starts with
8 ( R + 1 ) < X K ≤ X ⋅ 2 − ( K − 1 ) , 8(R+1) < X_K \le X\cdot2^{-(K-1)}, 8 ( R + 1 ) < X K ≤ X ⋅ 2 − ( K − 1 ) ,
implying K ≤ log X − 1 K \le\log X - 1 K ≤ log X − 1 . Using the bound from Lemma B.1 and substituting all parameters,
1 + 8 q K + 4 ( R + 1 ) ≤ 9 + 4 log λ max { 1 , h max τ ( x , Π ) θ } + 8 q ( log X − 1 ) 1 + 8qK + 4(R+1) \le9 + 4\log_{\lambda}\max\left\{1,\frac{h_{\max}\tau(x,\Pi)}{\theta}\right\} + 8q(\log X - 1) 1 + 8 q K + 4 ( R + 1 ) ≤ 9 + 4 log λ max { 1 , θ h m a x τ ( x , Π ) } + 8 q ( log X − 1 )
≤ 8 + 4 log λ max { 1 , 1 δ h max T max X τ ( x , Π ) } + 8 q log X . \le8 + 4\log_{\lambda}\max\left\{1,\frac{1}{\delta}h_{\max}T_{\max}X\tau(x,\Pi)\right\} + 8q\log X. ≤ 8 + 4 log λ max { 1 , δ 1 h m a x T m a x X τ ( x , Π ) } + 8 q log X .
By construction, the agents i ∈ N i \in N i ∈ N with y i ( π ) = 1 y_i(\pi)=1 y i ( π ) = 1 for some π ≠ ⊥ \pi\ne\bot π = ⊥ must have had x i ( π ) > 0 x_i(\pi)>0 x i ( π ) > 0 . This finishes the proof.
Proof of the single supplier theorem
Theorem C.1 (Theorem 5.1 restated). For some global constant C t , q C_{t,q} C t , q , the following holds. For u ∗ ∈ U u_* \in U u ∗ ∈ U , let { π u ∗ , j : j ∈ [ d ] } \{\pi_{u_*,j}:j \in[d]\} { π u ∗ , j : j ∈ [ d ]} be his MMS profiles. In addition, let L S ⊆ { 0 , 1 , … , m } \mathcal{L}_S \subseteq\{0,1,\ldots,m\} L S ⊆ { 0 , 1 , … , m } be a set of t t t protected prefixes . There exist A 0 ⊆ A A_0 \subseteq A A 0 ⊆ A and J 0 ⊆ [ d ] J_0 \subseteq[d] J 0 ⊆ [ d ] such that ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|J_0|=d ∣ A 0 ∣ + ∣ J 0 ∣ = d and
∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) |J_0| \le C_{t,q}(d-|A|) ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) , and the total number of added E E E -demands is
∑ j ∈ J 0 ∣ π u ∗ , j E ∣ ≤ q C t , q ( d − ∣ A ∣ ) ; \sum_{j\in J_0}|\pi^E_{u_*,j}| \le qC_{t,q}(d-|A|); j ∈ J 0 ∑ ∣ π u ∗ , j E ∣ ≤ q C t , q ( d − ∣ A ∣ ) ; for every protected prefix ℓ s ∈ L S \ell_s \in\mathcal{L}_S ℓ s ∈ L S , the E E E -load is
∑ i ∈ A 0 P i ( π i , ℓ s ) + ∑ j ∈ J 0 P u ∗ ( π u ∗ , j , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ . \sum_{i\in A_0}\mathcal{P}_i(\pi_i,\ell_s)+\sum_{j\in J_0}\mathcal{P}_{u_*}(\pi_{u_*,j},\ell_s)\le|E\cap[\ell_s]|. i ∈ A 0 ∑ P i ( π i , ℓ s ) + j ∈ J 0 ∑ P u ∗ ( π u ∗ , j , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣.
Proof. Note that the bound on ∑ j ∈ J 0 ∣ π u ∗ , j E ∣ \sum_{j\in J_0}|\pi^E_{u_*,j}| ∑ j ∈ J 0 ∣ π u ∗ , j E ∣ follows automatically from ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) |J_0|\le C_{t,q}(d-|A|) ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) . Indeed, each MMS profile π u ∗ , j \pi_{u_*,j} π u ∗ , j contains at most q q q demands, and we add ∣ J 0 ∣ |J_0| ∣ J 0 ∣ new profiles. Thus, we will focus on showing that there exist A 0 ⊆ A A_0\subseteq A A 0 ⊆ A and J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] such that
∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|J_0|=d ∣ A 0 ∣ + ∣ J 0 ∣ = d and ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) |J_0|\le C_{t,q}(d-|A|) ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) ; and
the E E E -load at every protected prefix ℓ s ∈ L S \ell_s\in\mathcal{L}_S ℓ s ∈ L S is at most ∣ E ∩ [ ℓ s ] ∣ |E\cap[\ell_s]| ∣ E ∩ [ ℓ s ] ∣ ;
for some global constant C t , q C_{t,q} C t , q .
The key idea to proving the theorem is to observe that, even though the number of agents in A A A and the number d d d of copies of u ∗ u_* u ∗ are quite large (both order n n n ), the actual number of possible load configurations is significantly smaller, i.e only a constant number. More concretely, for each agent i ∈ A i \in A i ∈ A , its load configuration p i p_i p i is a length-t t t vector
p i : = { P i ( π i , ℓ 1 ) , … , P i ( π i , ℓ t ) } , p_i := \{\mathcal{P}_i(\pi_i,\ell_1),\ldots,\mathcal{P}_i(\pi_i,\ell_t)\}, p i := { P i ( π i , ℓ 1 ) , … , P i ( π i , ℓ t )} ,
where { ℓ 1 , … , ℓ t } = L S \{\ell_1,\ldots,\ell_t\}=\mathcal{L}_S { ℓ 1 , … , ℓ t } = L S are protected prefixes. Similarly, a load configuration p ∗ , j p_{\ast,j} p ∗ , j of a copy j ∈ [ d ] j\in[d] j ∈ [ d ] of the supplier u ∗ u_\ast u ∗ is
p ∗ , j : = { P u ∗ ( π u ∗ , j E , ℓ 1 ) , … , P u ∗ ( π u ∗ , j E , ℓ t ) } . p_{\ast,j} := \{\mathcal{P}_{u_\ast}(\pi^{E}_{u_\ast,j},\ell_1),\ldots,\mathcal{P}_{u_\ast}(\pi^{E}_{u_\ast,j},\ell_t)\}. p ∗ , j := { P u ∗ ( π u ∗ , j E , ℓ 1 ) , … , P u ∗ ( π u ∗ , j E , ℓ t )} .
Note that both p i p_i p i and p ∗ , j p_{\ast,j} p ∗ , j are non-decreasing in its coordinates, due to the fact that ℓ 1 < ⋯ < ℓ t \ell_1<\cdots<\ell_t ℓ 1 < ⋯ < ℓ t . In addition, each of the coordinates can be at most q q q , as every profile contains at most q q q demands. Hence, every p i , p ∗ , j p_i,p_{\ast,j} p i , p ∗ , j belongs to the set
P = { p ∈ Z ≥ 0 t : 0 ≤ p 1 ≤ ⋯ ≤ p t ≤ q } . P=\{p\in\mathbb{Z}_{\geq0}^{t}:0\leq p_1\leq\cdots\leq p_t\leq q\}. P = { p ∈ Z ≥ 0 t : 0 ≤ p 1 ≤ ⋯ ≤ p t ≤ q } .
We also define the load capacity vector as
E : = { ∣ E ∩ [ ℓ 1 ] ∣ , … , ∣ E ∩ [ ℓ t ] ∣ } . \mathcal{E}:=\{|E\cap[\ell_1]|,\ldots,|E\cap[\ell_t]|\}. E := { ∣ E ∩ [ ℓ 1 ] ∣ , … , ∣ E ∩ [ ℓ t ] ∣ } .
We would like to find subsets A 0 ⊆ A A_0\subseteq A A 0 ⊆ A and J 0 ⊆ [ d ] J_0\subseteq[d] J 0 ⊆ [ d ] such that
∣ A 0 ∣ + ∣ J 0 ∣ = d , and P ( A 0 , J 0 ) : = ∑ i ∈ A 0 p i + ∑ j ∈ J 0 p ∗ , j ≤ E , |A_0|+|J_0|=d,\qquad\text{and}\qquad\mathcal{P}(A_0,J_0):=\sum_{i\in A_0}p_i+\sum_{j\in J_0}p_{\ast,j}\leq\mathcal{E}, ∣ A 0 ∣ + ∣ J 0 ∣ = d , and P ( A 0 , J 0 ) := i ∈ A 0 ∑ p i + j ∈ J 0 ∑ p ∗ , j ≤ E ,
where the last inequality is component-wise.
We do this iteratively. At the beginning of each iteration k ≥ 1 k\geq1 k ≥ 1 , we have candidate sets A k ⊆ A A^k\subseteq A A k ⊆ A and J k ⊆ [ d ] J^k\subseteq[d] J k ⊆ [ d ] , satisfying the condition P ( A k , J k ) ≤ E \mathcal{P}(A^k,J^k)\leq\mathcal{E} P ( A k , J k ) ≤ E . We select a set of agents A ′ ⊆ A k A'\subseteq A^k A ′ ⊆ A k to remove from A k A^k A k , and a set of copies J ′ ⊆ [ d ] − J k J'\subseteq[d]-J^k J ′ ⊆ [ d ] − J k to add to J k J^k J k , so that ∣ J ′ ∣ = ∣ A ′ ∣ + 1 |J'|=|A'|+1 ∣ J ′ ∣ = ∣ A ′ ∣ + 1 and
P ( A k − A ′ , J k + J ′ ) ≤ E . \mathcal{P}(A^k-A',J^k+J')\leq\mathcal{E}. P ( A k − A ′ , J k + J ′ ) ≤ E .
After this, we move to iteration k + 1 k+1 k + 1 with A k + 1 = A k − A ′ A^{k+1}=A^k-A' A k + 1 = A k − A ′ and J k + 1 = J k + J ′ J^{k+1}=J^k+J' J k + 1 = J k + J ′ . Initially, we start with A 1 = A A^1=A A 1 = A and J 1 = ∅ J^1=\varnothing J 1 = ∅ , note that these sets are feasible, as by Theorem 4.1 we have
P ( A , ∅ ) [ ℓ s ] = ∑ i ∈ A P i ( π i E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ = E [ ℓ s ] , ∀ ℓ s ∈ L S . \mathcal{P}(A,\varnothing)[\ell_s]=\sum_{i\in A}\mathcal{P}_i(\pi_i^E,\ell_s)\leq|E\cap[\ell_s]|=\mathcal{E}[\ell_s],\qquad\forall\ell_s\in\mathcal{L}_S. P ( A , ∅ ) [ ℓ s ] = i ∈ A ∑ P i ( π i E , ℓ s ) ≤ ∣ E ∩ [ ℓ s ] ∣ = E [ ℓ s ] , ∀ ℓ s ∈ L S .
Suppose at iteration k k k we have ∣ A k ∣ + ∣ J k ∣ < d |A^k|+|J^k|<d ∣ A k ∣ + ∣ J k ∣ < d , and P ( A k , J k ) ≤ E \mathcal{P}(A^k,J^k)\leq\mathcal{E} P ( A k , J k ) ≤ E . Then, we can choose a set J ⊆ [ d ] − J k J\subseteq[d]-J^k J ⊆ [ d ] − J k of unused copies, such that ∣ J ∣ = ∣ A k ∣ + 1 |J|=|A^k|+1 ∣ J ∣ = ∣ A k ∣ + 1 — this is possible as d − ∣ J k ∣ ≥ ∣ A k ∣ + 1 d-|J^k|\geq|A^k|+1 d − ∣ J k ∣ ≥ ∣ A k ∣ + 1 . Observe that if we add J J J to J k J^k J k and remove all of A k A^k A k , we obtain a feasible collection ( ∅ , J k + J ) (\varnothing,J^k+J) ( ∅ , J k + J ) .
P ( ∅ , J k + J ) = ∑ j ∈ J k + J p ∗ , j ≤ ∑ j = 1 d p ∗ , j = P ( ∅ , [ d ] ) ≤ E . \mathcal{P}(\varnothing,J^k+J)=\sum_{j\in J^k+J}p_{\ast,j}\leq\sum_{j=1}^{d}p_{\ast,j}=\mathcal{P}(\varnothing,[d])\leq\mathcal{E}. P ( ∅ , J k + J ) = j ∈ J k + J ∑ p ∗ , j ≤ j = 1 ∑ d p ∗ , j = P ( ∅ , [ d ]) ≤ E .
The last inequality follows from the fact that all profiles { π u ∗ , j E : j ∈ [ d ] } \{\pi^E_{u_\ast,j}:j\in[d]\} { π u ∗ , j E : j ∈ [ d ]} correspond to MMS bundles { B u ∗ , j : j ∈ [ d ] } \{B_{u_\ast,j}:j\in[d]\} { B u ∗ , j : j ∈ [ d ]} , and their originating items partition E ∩ [ ℓ ] E\cap[\ell] E ∩ [ ℓ ] into disjoint subsets satisfying corresponding profiles, for every 0 ≤ ℓ ≤ m 0\leq\ell\leq m 0 ≤ ℓ ≤ m .
The problem with replacement A k → ∅ A^k\to\varnothing A k → ∅ and J k → J k + J J^k\to J^k+J J k → J k + J is that the set J J J is of unbounded size, up to d = Θ ( n ) d=\Theta(n) d = Θ ( n ) . We, on the other hand, want to add at most a constant number of copies of u ∗ u_\ast u ∗ at every iteration. We manage to do so by applying Dickson’s lemma, as explained below.
Lemma C.1. For a global constant C ( t , q ) C(t,q) C ( t , q ) , there exist subsets A ′ ⊆ A k A'\subseteq A^k A ′ ⊆ A k and J ′ ⊆ J J'\subseteq J J ′ ⊆ J such that ∣ J ′ ∣ = ∣ A ′ ∣ + 1 |J'|=|A'|+1 ∣ J ′ ∣ = ∣ A ′ ∣ + 1 and ∣ J ′ ∣ ≤ C t , q |J'|\leq C_{t,q} ∣ J ′ ∣ ≤ C t , q , as well as
P ( A k − A ′ , J k + J ′ ) ≤ max { P ( A k , J k ) , P ( ∅ , J k + J ) } ≤ E . \mathcal{P}(A^k-A',J^k+J')\leq\max\{\mathcal{P}(A^k,J^k),\mathcal{P}(\varnothing,J^k+J)\}\leq\mathcal{E}. P ( A k − A ′ , J k + J ′ ) ≤ max { P ( A k , J k ) , P ( ∅ , J k + J )} ≤ E .
Proof. We will first define an abstract set of integral vectors, that depends only on values t , q t, q t , q .
Let x , y ∈ Z ≥ 0 P x,y \in\mathbb{Z}_{\geq0}^{P} x , y ∈ Z ≥ 0 P be non-negative integer vectors, indexed by load configurations p ∈ P p \in P p ∈ P . For every pair x , y ∈ Z ≥ 0 P x,y \in\mathbb{Z}_{\geq0}^{P} x , y ∈ Z ≥ 0 P , let z + = z + ( x , y ) ∈ Z ≥ 0 t z_{+}=z_{+}(x,y)\in\mathbb{Z}_{\geq0}^{t} z + = z + ( x , y ) ∈ Z ≥ 0 t be
z + : = ( ∑ p ∈ P p ⋅ y p − ∑ p ∈ P p ⋅ x p ) + . z_{+}:=\left(\sum_{p\in P}p\cdot y_{p}-\sum_{p\in P}p\cdot x_{p}\right)_{+}. z + := p ∈ P ∑ p ⋅ y p − p ∈ P ∑ p ⋅ x p + .
Denote by R ( t , q ) \mathcal{R}(t,q) R ( t , q ) the set of all such triples ( x , y , z + ) (x,y,z_{+}) ( x , y , z + ) satisfying
∑ p ∈ P y p = ∑ p ∈ P x p + 1. \sum_{p\in P}y_{p}=\sum_{p\in P}x_{p}+1. p ∈ P ∑ y p = p ∈ P ∑ x p + 1.
Observe that R ( t , q ) \mathcal{R}(t,q) R ( t , q ) is a subset of Z ≥ 0 2 ∣ P ∣ + t \mathbb{Z}_{\geq0}^{2|P|+t} Z ≥ 0 2∣ P ∣ + t . Furthermore, even though elements its are unbounded, R ( t , q ) \mathcal{R}(t,q) R ( t , q ) is determined entirely by the values of t , q t,q t , q , as P = { p ∈ Z ≥ 0 t : 0 ≤ p 1 ≤ … ≤ p t ≤ q } P=\{p\in\mathbb{Z}_{\geq0}^{t}:0\leq p_{1}\leq\ldots\leq p_{t}\leq q\} P = { p ∈ Z ≥ 0 t : 0 ≤ p 1 ≤ … ≤ p t ≤ q } .
While vectors x , y x,y x , y themselves can be arbitrary, we are interested in particular realizations that corresponds to our instance. More specifically, vector x x x will represent the changes in the load configuration of A k A^{k} A k induced by removing A ′ ⊆ A k A'\subseteq A^{k} A ′ ⊆ A k . In turn, vector y y y will represent the changes in the load configuration of J k J^{k} J k induced by adding J ′ ⊆ J J'\subseteq J J ′ ⊆ J . That is, for every p ∈ P p\in P p ∈ P :
x p x_{p} x p will count how many agents i ∈ A k i\in A^{k} i ∈ A k with load configuration p p p we remove from A k A^{k} A k ;
y p y_{p} y p will count how many copies j ∈ J j\in J j ∈ J of u ∗ u_{*} u ∗ with load configuration p p p we add to J k J^{k} J k .
In this case, vector z + z_{+} z + corresponds to the load added to ( A k , J k ) (A^{k},J^{k}) ( A k , J k ) by performing this replacement.
Note that R ( t , q ) \mathcal{R}(t,q) R ( t , q ) contains the vector ( x ∗ , y ∗ , z + ∗ ) (x^{*},y^{*},z^{*}_{+}) ( x ∗ , y ∗ , z + ∗ ) corresponding to the earlier mentioned replacement ( ∅ , J k + J ) (\varnothing,J^{k}+J) ( ∅ , J k + J ) : for every p ∈ P p\in P p ∈ P , set
x p ∗ = ∣ { i ∈ A k : p i = p } ∣ , and y p ∗ = ∣ { j ∈ J : p ∗ , j = p } ∣ , x_{p}^{*}=|\{i\in A^{k}:p_{i}=p\}|,\qquad\text{and}\qquad y_{p}^{*}=|\{j\in J:p_{*,j}=p\}|, x p ∗ = ∣ { i ∈ A k : p i = p } ∣ , and y p ∗ = ∣ { j ∈ J : p ∗ , j = p } ∣ ,
and
z + ∗ = ( ∑ p ∈ P p ⋅ y p ∗ − ∑ p ∈ P p ⋅ x p ∗ ) + = ( ∑ j ∈ J p ∗ , j − ∑ i ∈ A k p i ) + = ( P ( ∅ , J ∪ J k ) − P ( A k , J k ) ) + . z_{+}^{*}=\left(\sum_{p\in P}p\cdot y_{p}^{*}-\sum_{p\in P}p\cdot x_{p}^{*}\right)_{+}
=\left(\sum_{j\in J}p_{*,j}-\sum_{i\in A^{k}}p_{i}\right)_{+}
=\left(\mathcal{P}(\varnothing,J\cup J^{k})-\mathcal{P}(A^{k},J^{k})\right)_{+}. z + ∗ = p ∈ P ∑ p ⋅ y p ∗ − p ∈ P ∑ p ⋅ x p ∗ + = j ∈ J ∑ p ∗ , j − i ∈ A k ∑ p i + = ( P ( ∅ , J ∪ J k ) − P ( A k , J k ) ) + .
Since ∣ J ∣ = ∣ A k ∣ + 1 |J|=|A^{k}|+1 ∣ J ∣ = ∣ A k ∣ + 1 , we have ∑ p ∈ P y p ∗ = ∑ p ∈ P x p ∗ + 1 \sum_{p\in P}y_{p}^{*}=\sum_{p\in P}x_{p}^{*}+1 ∑ p ∈ P y p ∗ = ∑ p ∈ P x p ∗ + 1 , so ( x ∗ , y ∗ , z + ∗ ) ∈ R ( t , q ) (x^{*},y^{*},z_{+}^{*})\in\mathcal{R}(t,q) ( x ∗ , y ∗ , z + ∗ ) ∈ R ( t , q ) .
We would like an element of R ( t , q ) \mathcal{R}(t,q) R ( t , q ) that 1) matches our particular instance, i.e sets A k A^{k} A k and J k J^{k} J k , 2) the added load in z z z fits into the E \mathcal{E} E -bound, and 3) the total number of copies added to J k J^{k} J k , i.e ∑ p ∈ P y p \sum_{p\in P}y_{p} ∑ p ∈ P y p , is only a constant. Dickson’s lemma says that such element necessarily must exist.
Lemma C.2 ([11 , 10 ] ). For K ≥ 1 K\geq1 K ≥ 1 , every subset of Z ≥ 0 K \mathbb{Z}_{\geq0}^{K} Z ≥ 0 K has finitely many component-wise minimal elements, and every element of the subset dominates some minimal element.
For completeness, a short proof of Lemma C.2 is given below (Lemma C.3).
Since R ( t , q ) \mathcal{R}(t,q) R ( t , q ) is a subset of Z ≥ 0 ∣ P ∣ + t \mathbb{Z}_{\geq0}^{|P|+t} Z ≥ 0 ∣ P ∣ + t , by Lemma C.2 R ( t , q ) \mathcal{R}(t,q) R ( t , q ) has only finitely many component-wise minimal elements, let them be { ( x r , y r , z + r ) } r = 1 R \{(x^{r},y^{r},z_{+}^{r})\}_{r=1}^{R} {( x r , y r , z + r ) } r = 1 R . Since R ( t , q ) \mathcal{R}(t,q) R ( t , q ) is determined entirely by the values of t t t and q q q , the number R R R of minimal elements is some function of t t t and q q q . Furthermore the coordinates of each ( x r , y r , z + r ) (x^{r},y^{r},z_{+}^{r}) ( x r , y r , z + r ) for r ∈ R r\in R r ∈ R are also bounded by some function of t , q t,q t , q (otherwise we would obtain an infinite sequence of minimal elements). Take C t , q : = max r ∈ [ R ] ∑ p ∈ P y p r C_{t,q}:=\max_{r\in[R]}\sum_{p\in P}y_{p}^{r} C t , q := max r ∈ [ R ] ∑ p ∈ P y p r . Note that this is a global constant, dependent only on R ( t , q ) \mathcal{R}(t,q) R ( t , q ) .
Let ( x ∗ , y ∗ , z + ∗ ) ∈ R ( t , q ) (x^{*},y^{*},z_{+}^{*})\in\mathcal{R}(t,q) ( x ∗ , y ∗ , z + ∗ ) ∈ R ( t , q ) be defined from A k A^{k} A k and J J J as above. By Lemma C.2, there exists a minimal element ( x r , y r , z + r ) ∈ R ( t , q ) (x^{r},y^{r},z_{+}^{r})\in\mathcal{R}(t,q) ( x r , y r , z + r ) ∈ R ( t , q ) such that ( x r , y r , z + r ) ≤ ( x ∗ , y ∗ , z + ∗ ) (x^{r},y^{r},z_{+}^{r})\leq(x^{*},y^{*},z_{+}^{*}) ( x r , y r , z + r ) ≤ ( x ∗ , y ∗ , z + ∗ ) component-wise and
∑ p ∈ P y p r ≤ C t , q . \sum_{p\in P}y_{p}^{r}\leq C_{t,q}. p ∈ P ∑ y p r ≤ C t , q .
Since x r ≤ x ∗ x^{r} \leq x^{*} x r ≤ x ∗ , for every load configuration p ∈ P p \in P p ∈ P we have x p r ≤ x p ∗ x^{r}_{p} \leq x^{*}_{p} x p r ≤ x p ∗ . In other words, if x r x^{r} x r removes some agent with load configuration p p p , he can remove only agents from A k A^{k} A k with configuration p p p (0-s remain 0-s), and he can remove no more than the number of corresponding agents in A k A^{k} A k . Then there exists a subset A ′ ⊆ A k A' \subseteq A^{k} A ′ ⊆ A k containing exactly x p r x^{r}_{p} x p r agents i ∈ A k i \in A^{k} i ∈ A k with load configuration p p p , for every p ∈ P p \in P p ∈ P . Similarly, y r ≤ y ∗ y^{r} \leq y^{*} y r ≤ y ∗ implies that there exists a subset J ′ ⊆ J J' \subseteq J J ′ ⊆ J containing exactly y p r y^{r}_{p} y p r copies j ∈ J j \in J j ∈ J with load configuration p p p , for every p ∈ P p \in P p ∈ P . These subsets satisfy ∣ J ′ ∣ = ∣ A ′ ∣ + 1 |J'| = |A'| + 1 ∣ J ′ ∣ = ∣ A ′ ∣ + 1 , ∣ J ′ ∣ = ∑ p ∈ P y p r ≤ C ( t , q ) |J'| = \sum_{p \in P} y^{r}_{p} \leq C(t,q) ∣ J ′ ∣ = ∑ p ∈ P y p r ≤ C ( t , q ) , and (by z + r ≤ z + ∗ z^{r}_{+} \leq z^{*}_{+} z + r ≤ z + ∗ )
( ∑ j ∈ J ′ p ∗ , j − ∑ i ∈ A ′ p i ) + ≤ ( P ( ∅ , J k + J ) − P ( A k , J k ) ) + . \left(\sum_{j\in J'}p_{*,j}-\sum_{i\in A'}p_i\right)_{+}\leq\left(\mathcal{P}(\varnothing,J^k+J)-\mathcal{P}(A^k,J^k)\right)_{+}. j ∈ J ′ ∑ p ∗ , j − i ∈ A ′ ∑ p i + ≤ ( P ( ∅ , J k + J ) − P ( A k , J k ) ) + .
It follows that
P ( A k − A ′ , J k + J ′ ) ≤ P ( A k , J k ) + ( ∑ j ∈ J ′ p ∗ , j − ∑ i ∈ A ′ p i ) + = P ( A k , J k ) + ( P ( ∅ , J k + J ) − P ( A k , J k ) ) + = max { P ( A k , J k ) , P ( ∅ , J k + J ) } ≤ E . \begin{aligned}
\mathcal{P}(A^k-A',J^k+J')&\leq\mathcal{P}(A^k,J^k)+\left(\sum_{j\in J'}p_{*,j}-\sum_{i\in A'}p_i\right)_{+}\\
&=\mathcal{P}(A^k,J^k)+\left(\mathcal{P}(\varnothing,J^k+J)-\mathcal{P}(A^k,J^k)\right)_{+}\\
&=\max\{\mathcal{P}(A^k,J^k),\mathcal{P}(\varnothing,J^k+J)\}\leq\mathcal{E}.
\end{aligned} P ( A k − A ′ , J k + J ′ ) ≤ P ( A k , J k ) + j ∈ J ′ ∑ p ∗ , j − i ∈ A ′ ∑ p i + = P ( A k , J k ) + ( P ( ∅ , J k + J ) − P ( A k , J k ) ) + = max { P ( A k , J k ) , P ( ∅ , J k + J )} ≤ E .
At iteration k ≥ 1 k \geq1 k ≥ 1 , given current sets ( A k , J k ) (A^k,J^k) ( A k , J k ) , we apply Lemma C.1 and obtain sets A ′ ⊆ A k A' \subseteq A^k A ′ ⊆ A k , J ′ ⊆ J ⊆ [ d ] − J k J' \subseteq J \subseteq[d]-J^k J ′ ⊆ J ⊆ [ d ] − J k such that ∣ J ′ ∣ = ∣ A ′ ∣ + 1 |J'| = |A'|+1 ∣ J ′ ∣ = ∣ A ′ ∣ + 1 and ∣ J ′ ∣ ≤ C t , q |J'| \leq C_{t,q} ∣ J ′ ∣ ≤ C t , q , as well as P ( A k − A ′ , J k + J ′ ) ≤ E \mathcal{P}(A^k-A',J^k+J') \leq\mathcal{E} P ( A k − A ′ , J k + J ′ ) ≤ E . Then, by setting A k + 1 = A k − A ′ A^{k+1}=A^k-A' A k + 1 = A k − A ′ and J k + 1 = J k + J ′ J^{k+1}=J^k+J' J k + 1 = J k + J ′ , we preserve load feasibility and increase the total number of selected profiles by 1, while adding at most C t , q C_{t,q} C t , q copies of u ∗ u_{*} u ∗ . Thus, after exactly d − ∣ A ∣ d-|A| d − ∣ A ∣ iterations, we obtain sets A 0 : = A d − ∣ A ∣ + 1 A_0:=A^{d-|A|+1} A 0 := A d − ∣ A ∣ + 1 and J 0 : = J d − ∣ A ∣ + 1 J_0:=J^{d-|A|+1} J 0 := J d − ∣ A ∣ + 1 such that P ( A 0 , J 0 ) ≤ E \mathcal{P}(A_0,J_0)\leq\mathcal{E} P ( A 0 , J 0 ) ≤ E and ∣ A 0 ∣ + ∣ J 0 ∣ = d |A_0|+|J_0|=d ∣ A 0 ∣ + ∣ J 0 ∣ = d , with a total number of added supplier copies at most ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) |J_0|\leq C_{t,q}(d-|A|) ∣ J 0 ∣ ≤ C t , q ( d − ∣ A ∣ ) .
Lemma C.3 (Short proof of Dickson’s lemma, [11 , 10 ] ). For K ≥ 1 K \geq1 K ≥ 1 , every subset of Z ≥ 0 K \mathbb{Z}_{\geq0}^{K} Z ≥ 0 K has finitely many component-wise minimal elements, and every element of the subset dominates some minimal element.
Proof. Let S ⊆ Z ≥ 0 K S \subseteq\mathbb{Z}_{\geq0}^{K} S ⊆ Z ≥ 0 K . Element y ∈ S y \in S y ∈ S is minimal if there is no x ∈ S − { y } x \in S-\{y\} x ∈ S − { y } satisfying x ≤ y x \leq y x ≤ y .
It is well-known that every infinite sequence of non-negative integers has an infinite non-decreasing subsequence. Then, every infinite sequence x 1 , x 2 , … ∈ Z ≥ 0 K x^1,x^2,\ldots\in\mathbb{Z}_{\geq0}^{K} x 1 , x 2 , … ∈ Z ≥ 0 K has an infinite subsequence that is non-decreasing in every coordinate: choose an infinite subsequence non-decreasing in the first coordinate, then its infinite sub-sequence non-decreasing in the second coordinate, and so on, up until the K K K -th coordinate. This gives an infinite sub-sequence x i 1 ≤ x i 2 ≤ … ∈ Z ≥ 0 K x^{i_1}\leq x^{i_2}\leq\ldots\in\mathbb{Z}_{\geq0}^{K} x i 1 ≤ x i 2 ≤ … ∈ Z ≥ 0 K .
Suppose that S S S has infinitely many component-wise minimal elements. Choose an infinite sequence of distinct minimal elements. Then, we can obtain its infinite sub-sequence non-decreasing in every coordinate. This subsequence then contains two distinct minimal elements x , y ∈ S x,y\in S x , y ∈ S with x ≤ y x\leq y x ≤ y , which is not possible. Hence, S S S must have finitely many minimal elements.
Next, fix x ∈ S x\in S x ∈ S and consider S x : = { y ∈ S : y ≤ x } S_x:=\{y\in S:y\leq x\} S x := { y ∈ S : y ≤ x } . This set is nonempty (x ∈ S x x\in S_x x ∈ S x ) and finite, as every coordinate of y ∈ S x y\in S_x y ∈ S x is an integer between 0 and corresponding coordinate of x x x , and there are K K K coordinates. Choose y ∈ S x y\in S_x y ∈ S x minimizing ∑ k = 1 K y k \sum_{k=1}^{K}y_k ∑ k = 1 K y k . If some z ∈ S − { y } z\in S-\{y\} z ∈ S − { y } satisfied z ≤ y z\leq y z ≤ y , then z ≤ x z\leq x z ≤ x and z ∈ S x z\in S_x z ∈ S x . Furthermore, every coordinate of z z z would be at most the corresponding coordinate of y y y , with at least one strict inequality. Hence, ∑ k = 1 K z k ≤ ∑ k = 1 K y k \sum_{k=1}^{K}z_k\leq\sum_{k=1}^{K}y_k ∑ k = 1 K z k ≤ ∑ k = 1 K y k , leading to a contradiction. Thus, y y y is minimal in S S S , and y ≤ x y\leq x y ≤ x . The lemma follows.
Constant estimate
Theorem D.1. For t ≥ 1 t \geq1 t ≥ 1 and q ≥ 2 q \geq2 q ≥ 2 , the constant C t , q C_{t,q} C t , q in Theorem C.1 can be chosen as
C t , q = ( t + q q ) ( t + 1 ) q t . C_{t,q}=\binom{t+q}{q}(t+1)q^{t}. C t , q = ( q t + q ) ( t + 1 ) q t .
Proof. Let P = { p ∈ Z ≥ 0 t : 0 ≤ p 1 ≤ … ≤ p t ≤ q } P = \{p \in\mathbb{Z}_{\geq0}^{t} : 0 \leq p_1 \leq\ldots\leq p_t \leq q\} P = { p ∈ Z ≥ 0 t : 0 ≤ p 1 ≤ … ≤ p t ≤ q } be the set of all possible load configurations, and let L S = { ℓ 1 , … , ℓ t } \mathcal{L}_S = \{\ell_1, \ldots, \ell_t\} L S = { ℓ 1 , … , ℓ t } be the set of t t t protected prefixes from Theorem C.1. It is clear that
∣ P ∣ = ( t + q q ) . |P| = \binom{t+q}{q}. ∣ P ∣ = ( q t + q ) .
Recall from Lemma C.1 that set R ( x , y ) \mathcal{R}(x,y) R ( x , y ) contains all triples ( x , y , z + ) (x,y,z_+) ( x , y , z + ) such that
∑ p ∈ P y p = ∑ p ∈ P x p + 1 , z + = ( ∑ p ∈ P p ⋅ y p − ∑ p ∈ P p ⋅ x p ) + . \sum_{p\in P} y_p = \sum_{p\in P} x_p + 1, \qquad z_+ = \left(\sum_{p\in P} p\cdot y_p - \sum_{p\in P} p\cdot x_p\right)_+. p ∈ P ∑ y p = p ∈ P ∑ x p + 1 , z + = p ∈ P ∑ p ⋅ y p − p ∈ P ∑ p ⋅ x p + .
It suffices to show that every minimal element ( x r , y r , z + r ) (x^r,y^r,z^r_+) ( x r , y r , z + r ) of R ( t , q ) \mathcal{R}(t,q) R ( t , q ) satisfies
∑ p ∈ P y p r ≤ ( t + q q ) ( t + 1 ) q t . \sum_{p\in P} y^r_p \leq\binom{t+q}{q}(t+1)q^t. p ∈ P ∑ y p r ≤ ( q t + q ) ( t + 1 ) q t .
To prove this bound, we will need the following result on norm of indecomposable kernel vectors.
Theorem D.2 ([23 ] , Lemma 3.20). Let M M M be an integer matrix with k k k columns and rank t t t . Define
Δ ( M ) : = max { ∣ det M ′ ∣ : M ′ is a square submatrix of M } . \Delta(M) := \max\{|\det M'| : M' \text{ is a square submatrix of } M\}. Δ ( M ) := max { ∣ det M ′ ∣ : M ′ is a square submatrix of M } . Suppose some v ∈ Z ≥ 0 k v \in\mathbb{Z}_{\geq0}^{k} v ∈ Z ≥ 0 k , v ≠ 0 v \ne0 v = 0 satisfies M v = 0 Mv = 0 M v = 0 and is indecomposable, meaning that if for some u ∈ Z ≥ 0 k u \in\mathbb{Z}_{\geq0}^{k} u ∈ Z ≥ 0 k such that 0 ≤ u ≤ v 0 \leq u \leq v 0 ≤ u ≤ v it also holds M u = 0 Mu = 0 M u = 0 , then u = 0 u = 0 u = 0 or u = v u = v u = v . Then
∥ v ∥ 1 ≤ ( k − t ) ( t + 1 ) Δ ( M ) . \lVert v\rVert_1 \leq(k-t)(t+1)\Delta(M). ∥ v ∥ 1 ≤ ( k − t ) ( t + 1 ) Δ ( M ) .
We will define a certain matrix M M M with k = ∣ P ∣ + t k = |P|+t k = ∣ P ∣ + t columns and rank t t t , such that Δ ( M ) ≤ q t \Delta(M) \leq q^t Δ ( M ) ≤ q t . Then, we will show that every minimal element of R ( t , q ) \mathcal{R}(t,q) R ( t , q ) corresponds to some indecomposable kernel vector of M M M , which will allow us to use the bound of Theorem D.2 .
Fix the minimal element ( x r , y r , z + r ) ∈ R ( t , q ) (x^r,y^r,z^r_+) \in\mathcal{R}(t,q) ( x r , y r , z + r ) ∈ R ( t , q ) . First, observe that for every p ∈ P p \in P p ∈ P we have x p r y p r = 0 x^r_p y^r_p = 0 x p r y p r = 0 , otherwise we can change both coordinates by 1 and obtain a smaller vector in R ( t , q ) \mathcal{R}(t,q) R ( t , q ) . Let z r = ∑ p ∈ P p ⋅ y p r − ∑ p ∈ P p ⋅ x p r z^r = \sum_{p\in P} p\cdot y^r_p - \sum_{p\in P} p\cdot x^r_p z r = ∑ p ∈ P p ⋅ y p r − ∑ p ∈ P p ⋅ x p r , so ( z r ) + = z + r (z^r)_+ = z^r_+ ( z r ) + = z + r . For each p ∈ P p \in P p ∈ P , define
a p : = { − p , x p r > 0 ; p , x p r = 0. a_p := \begin{cases}
-p, & x^r_p > 0;\\
p, & x^r_p = 0.
\end{cases} a p := { − p , p , x p r > 0 ; x p r = 0.
Note that ( x p r + y p r ) ⋅ a p = ( y p r − x p r ) ⋅ p (x^r_p+y^r_p)\cdot a_p = (y^r_p-x^r_p)\cdot p ( x p r + y p r ) ⋅ a p = ( y p r − x p r ) ⋅ p . In addition, for every s ∈ [ t ] s \in[t] s ∈ [ t ] , let e s e_s e s be the s s s -th standard basis vector, and define
b s : = { − e s , z s r > 0 ; e s , z s r ≤ 0. b_s := \begin{cases}
-e_s, & z^r_s > 0;\\
e_s, & z^r_s \leq0.
\end{cases} b s := { − e s , e s , z s r > 0 ; z s r ≤ 0.
This way, ∑ s = 1 t b s ⋅ ∣ z s r ∣ = − z r \sum_{s=1}^{t} b_s\cdot|z^r_s| = -z^r ∑ s = 1 t b s ⋅ ∣ z s r ∣ = − z r . Define the ∣ P ∣ + t |P|+t ∣ P ∣ + t columns of integer matrix M 0 M_0 M 0 and vector v v v as
M 0 = [ { a p } p ∈ P , b 1 , … , b t ] , v = [ { x p r + y p r } p ∈ P , ∣ z 1 r ∣ , … , ∣ z t r ∣ ] . M_0 = [\{a_p\}_{p\in P},b_1,\ldots,b_t], \qquad v = [\{x^r_p+y^r_p\}_{p\in P}, |z^r_1|,\ldots,|z^r_t|]. M 0 = [{ a p } p ∈ P , b 1 , … , b t ] , v = [{ x p r + y p r } p ∈ P , ∣ z 1 r ∣ , … , ∣ z t r ∣ ] .
The vector v v v is non-zero, and by construction, M 0 v = 0 M_0v = 0 M 0 v = 0 and the rank of M 0 M_0 M 0 is t t t .
Lemma D.1. Vector v v v is indecomposable w.r.t M 0 M_0 M 0 (as per Theorem D.2 ).
Proof. Suppose the contrary, i.e that v = v ′ + v ′ ′ v = v' + v'' v = v ′ + v ′′ , where both v ′ , v ′ ′ ≠ 0 v',v'' \ne0 v ′ , v ′′ = 0 are non-negative integer vectors satisfying M 0 v ′ = 0 = M 0 v ′ ′ M_0v' = 0 = M_0v'' M 0 v ′ = 0 = M 0 v ′′ . We will show that this must contradict the minimality of ( x r , y r , z + r ) (x^r,y^r,z^r_+) ( x r , y r , z + r ) , by presenting a triple ( x ^ , y ^ , z ^ + ) ∈ R ( t , q ) (\hat{x},\hat{y},\hat{z}_+) \in\mathcal{R}(t,q) ( x ^ , y ^ , z ^ + ) ∈ R ( t , q ) strictly smaller than ( x r , y r , z + r ) (x^r,y^r,z^r_+) ( x r , y r , z + r ) . We do it as follows. For p ∈ P p \in P p ∈ P , define vectors x ′ , x ′ ′ x^\prime,x^{\prime\prime} x ′ , x ′′ and y ′ , y ′ ′ y^\prime,y^{\prime\prime} y ′ , y ′′ as
x p ′ = v p ′ 1 { x p r > 0 } , x p ′ ′ = v p ′ ′ 1 { x p r > 0 } , y p ′ = v p ′ 1 { y p r > 0 } , y p ′ ′ = v p ′ ′ 1 { y p r > 0 } . x^\prime_p=v^\prime_p\mathbf{1}\{x^r_p>0\},\qquad x^{\prime\prime}_p=v^{\prime\prime}_p\mathbf{1}\{x^r_p>0\},\qquad y^\prime_p=v^\prime_p\mathbf{1}\{y^r_p>0\},\qquad y^{\prime\prime}_p=v^{\prime\prime}_p\mathbf{1}\{y^r_p>0\}. x p ′ = v p ′ 1 { x p r > 0 } , x p ′′ = v p ′′ 1 { x p r > 0 } , y p ′ = v p ′ 1 { y p r > 0 } , y p ′′ = v p ′′ 1 { y p r > 0 } .
It is clear that x ′ + x ′ ′ = x r x^\prime+x^{\prime\prime}=x^r x ′ + x ′′ = x r and y ′ + y ′ ′ = y r y^\prime+y^{\prime\prime}=y^r y ′ + y ′′ = y r . Next, define vectors z ′ , z ′ ′ ∈ Z t z^\prime,z^{\prime\prime}\in\mathbb{Z}^t z ′ , z ′′ ∈ Z t as
z ′ = ∑ p ∈ P p ⋅ y p ′ − ∑ p ∈ P p ⋅ x p ′ , z ′ ′ = ∑ p ∈ P p ⋅ y p ′ ′ − ∑ p ∈ P p ⋅ x p ′ ′ . z^\prime=\sum_{p\in P}p\cdot y^\prime_p-\sum_{p\in P}p\cdot x^\prime_p,\qquad z^{\prime\prime}=\sum_{p\in P}p\cdot y^{\prime\prime}_p-\sum_{p\in P}p\cdot x^{\prime\prime}_p. z ′ = p ∈ P ∑ p ⋅ y p ′ − p ∈ P ∑ p ⋅ x p ′ , z ′′ = p ∈ P ∑ p ⋅ y p ′′ − p ∈ P ∑ p ⋅ x p ′′ .
Since M 0 v ′ = 0 = M 0 v ′ ′ M_0v^\prime=0=M_0v^{\prime\prime} M 0 v ′ = 0 = M 0 v ′′ , by definition of b s b_s b s for every s ∈ [ t ] s\in[t] s ∈ [ t ] we have
z s ′ = { v s ′ , z s r > 0 ; − v s ′ , z s r ≤ 0 , z s ′ ′ = { v s ′ ′ , z s r > 0 ; − v s ′ ′ , z s r ≤ 0. z^\prime_s=
\begin{cases}
v^\prime_s,&z^r_s>0;\\
-v^\prime_s,&z^r_s\leq0,
\end{cases}
\qquad
z^{\prime\prime}_s=
\begin{cases}
v^{\prime\prime}_s,&z^r_s>0;\\
-v^{\prime\prime}_s,&z^r_s\leq0.
\end{cases} z s ′ = { v s ′ , − v s ′ , z s r > 0 ; z s r ≤ 0 , z s ′′ = { v s ′′ , − v s ′′ , z s r > 0 ; z s r ≤ 0.
Since v s ′ ≤ v s = ∣ z s r ∣ v^\prime_s\leq v_s=|z^r_s| v s ′ ≤ v s = ∣ z s r ∣ and v s ′ ′ ≤ v s = ∣ z s r ∣ v^{\prime\prime}_s\leq v_s=|z^r_s| v s ′′ ≤ v s = ∣ z s r ∣ , it holds ( z ′ ) + ≤ ( z r ) + (z^\prime)_+\leq(z^r)_+ ( z ′ ) + ≤ ( z r ) + and ( z ′ ′ ) + ≤ ( z r ) + (z^{\prime\prime})_+\leq(z^r)_+ ( z ′′ ) + ≤ ( z r ) + .
Next, we claim that v ′ v^\prime v ′ satisfies v p ′ ≥ 1 v^\prime_p\geq1 v p ′ ≥ 1 for some p ∈ P p\in P p ∈ P . Indeed, otherwise v ′ = [ 0 , v 1 ′ , … , v t ′ ] v^\prime=[0,v^\prime_1,\ldots,v^\prime_t] v ′ = [ 0 , v 1 ′ , … , v t ′ ] and 0 = M 0 v ′ = ∑ s = 1 t v s ′ ⋅ b s 0=M_0v^\prime=\sum_{s=1}^t v^\prime_s\cdot b_s 0 = M 0 v ′ = ∑ s = 1 t v s ′ ⋅ b s . Since each of b s b_s b s is ± e s \pm e_s ± e s , the equality above implies v s ′ = 0 v^\prime_s=0 v s ′ = 0 for all s ∈ [ t ] s\in[t] s ∈ [ t ] , making v ′ = 0 v^\prime=0 v ′ = 0 . By the same reasoning, v ′ ′ v^{\prime\prime} v ′′ satisfies v p ′ ′ ≥ 1 v^{\prime\prime}_p\geq1 v p ′′ ≥ 1 for some p ∈ P p\in P p ∈ P . Consequently,
∑ p ∈ P ( x p ′ + y p ′ ) ≥ 1 , ∑ p ∈ P ( x p ′ ′ + y p ′ ′ ) ≥ 1. \sum_{p\in P}(x^\prime_p+y^\prime_p)\geq1,\qquad\sum_{p\in P}(x^{\prime\prime}_p+y^{\prime\prime}_p)\geq1. p ∈ P ∑ ( x p ′ + y p ′ ) ≥ 1 , p ∈ P ∑ ( x p ′′ + y p ′′ ) ≥ 1.
Define (possibly negative) integers
g ′ : = ∑ p ∈ P y p ′ − ∑ p ∈ P x p ′ , g ′ ′ : = ∑ p ∈ P y p ′ ′ − ∑ p ∈ P x p ′ ′ . g^\prime:=\sum_{p\in P}y^\prime_p-\sum_{p\in P}x^\prime_p,\qquad g^{\prime\prime}:=\sum_{p\in P}y^{\prime\prime}_p-\sum_{p\in P}x^{\prime\prime}_p. g ′ := p ∈ P ∑ y p ′ − p ∈ P ∑ x p ′ , g ′′ := p ∈ P ∑ y p ′′ − p ∈ P ∑ x p ′′ .
Since x ′ + x ′ ′ = x x^\prime+x^{\prime\prime}=x x ′ + x ′′ = x , y ′ + y ′ ′ = y y^\prime+y^{\prime\prime}=y y ′ + y ′′ = y and ∑ p ∈ P y p = ∑ p ∈ P x p + 1 \sum_{p\in P}y_p=\sum_{p\in P}x_p+1 ∑ p ∈ P y p = ∑ p ∈ P x p + 1 , it holds g ′ + g ′ ′ = 1 g^\prime+g^{\prime\prime}=1 g ′ + g ′′ = 1 .
Without loss of generality, assume g ′ ≥ 1 g^\prime\geq1 g ′ ≥ 1 , then g ′ ′ = 1 − g ′ ≤ 0 g^{\prime\prime}=1-g^\prime\leq0 g ′′ = 1 − g ′ ≤ 0 , implying
∑ p ∈ P y p ′ ′ ≤ ∑ p ∈ P x p ′ ′ . \sum_{p\in P}y^{\prime\prime}_p\leq\sum_{p\in P}x^{\prime\prime}_p. p ∈ P ∑ y p ′′ ≤ p ∈ P ∑ x p ′′ .
Since ∑ p ∈ P ( x p ′ ′ + y p ′ ′ ) ≥ 1 \sum_{p\in P}(x^{\prime\prime}_p+y^{\prime\prime}_p)\geq1 ∑ p ∈ P ( x p ′′ + y p ′′ ) ≥ 1 , it must be the case that ∑ p ∈ P x p ′ ′ ≥ 1 \sum_{p\in P}x^{\prime\prime}_p\geq1 ∑ p ∈ P x p ′′ ≥ 1 , so for some p ∈ P p\in P p ∈ P we have x p ′ ′ > 0 x^{\prime\prime}_p>0 x p ′′ > 0 , and x p ′ = x p r − x p ′ ′ < x p r x^\prime_p=x^r_p-x^{\prime\prime}_p<x^r_p x p ′ = x p r − x p ′′ < x p r . Then, the inequality x ′ ≤ x r x^\prime\leq x^r x ′ ≤ x r is strict for at least one p ∈ P p\in P p ∈ P .
It remains to create an element of R ( t , q ) \mathcal{R}(t,q) R ( t , q ) with the first part x ′ x^\prime x ′ that is dominated by ( x r , y r , z + r ) (x^r,y^r,z^r_+) ( x r , y r , z + r ) . We do it as follows. Remove g ′ − 1 g^\prime-1 g ′ − 1 additions from y ′ y^\prime y ′ , it is always possible as ∑ p ∈ P y p ′ = ∑ p ∈ P x p ′ + g ′ \sum_{p\in P}y^\prime_p=\sum_{p\in P}x^\prime_p+g^\prime ∑ p ∈ P y p ′ = ∑ p ∈ P x p ′ + g ′ and g ′ ≥ 1 g^\prime\geq1 g ′ ≥ 1 . The resulting non-negative integer vector y ^ ≤ y ′ \hat{y}\leq y^\prime y ^ ≤ y ′ satisfies
∑ p ∈ P y ^ p = ∑ p ∈ P x p ′ + 1. \sum_{p\in P}\hat{y}_p=\sum_{p\in P}x^\prime_p+1. p ∈ P ∑ y ^ p = p ∈ P ∑ x p ′ + 1.
Since removing y y y -additions only decreases z z z -coordinates, we have
z ^ : = ∑ p ∈ P p ⋅ y ^ p − ∑ p ∈ P p ⋅ x p ′ ≤ z ′ , \hat{z}:=\sum_{p\in P}p\cdot\hat{y}_p-\sum_{p\in P}p\cdot x^\prime_p\leq z^\prime, z ^ := p ∈ P ∑ p ⋅ y ^ p − p ∈ P ∑ p ⋅ x p ′ ≤ z ′ ,
It follows that ( z ^ ) + ≤ ( z ′ ) + ≤ ( z r ) + = z + r (\hat{z})_+\leq(z^\prime)_+\leq(z^r)_+=z^r_+ ( z ^ ) + ≤ ( z ′ ) + ≤ ( z r ) + = z + r . As a result, we have a triple ( x ′ , y ^ , z ^ + ) ∈ R ( t , q ) (x^\prime,\hat{y},\hat{z}_+)\in\mathcal{R}(t,q) ( x ′ , y ^ , z ^ + ) ∈ R ( t , q ) such that ( x ′ , y ^ , z ^ + ) ≤ ( x r , y r , z + r ) (x^\prime,\hat{y},\hat{z}_+)\leq(x^r,y^r,z^r_+) ( x ′ , y ^ , z ^ + ) ≤ ( x r , y r , z + r ) , and there is at least one p ∈ P p\in P p ∈ P where x p ′ < x p r x^\prime_p<x^r_p x p ′ < x p r . So, ( x ′ , y ^ , z ^ + ) (x^\prime,\hat{y},\hat{z}_+) ( x ′ , y ^ , z ^ + ) is strictly dominated by ( x r , y r , z + r ) (x^r,y^r,z^r_+) ( x r , y r , z + r ) in R ( t , q ) \mathcal{R}(t,q) R ( t , q ) , contradicting the minimality of ( x r , y r , z + r ) (x^r,y^r,z^r_+) ( x r , y r , z + r ) .
We will now deal with matrix M 0 M_0 M 0 . First, we change M 0 M_0 M 0 into a matrix M M M with small column norms. Define an invertible matrix L L L so that for any vector u u u ,
L u = [ u 1 , u 2 − u 1 , … , u t − u t − 1 ] , Lu=[u_1,u_2-u_1,\ldots,u_t-u_{t-1}], Lu = [ u 1 , u 2 − u 1 , … , u t − u t − 1 ] ,
and set M : = L M 0 M := LM_0 M := L M 0 . The rank of M M M is still t t t , and ker M = ker M 0 \ker M = \ker M_0 ker M = ker M 0 . So, vector v v v remains indecomposable w.r.t matrix M M M as well. For every p ∈ P p \in P p ∈ P vector L p = ( p 1 , p 2 − p 1 , … , p t − p t − 1 ) Lp = (p_1, p_2 - p_1, \ldots, p_t - p_{t-1}) L p = ( p 1 , p 2 − p 1 , … , p t − p t − 1 ) has non-negative coordinates summing up to p t ≤ q p_t \le q p t ≤ q , hence for every p ∈ P p \in P p ∈ P we have
∥ L ⋅ a p ∥ 2 = ∥ L ⋅ p ∥ 2 ≤ ∥ L ⋅ p ∥ 1 = p t ≤ q . \lVert L \cdot a_p\rVert_2 = \lVert L \cdot p\rVert_2 \le\lVert L \cdot p\rVert_1 = p_t \le q. ∥ L ⋅ a p ∥ 2 = ∥ L ⋅ p ∥ 2 ≤ ∥ L ⋅ p ∥ 1 = p t ≤ q .
For the remaining columns, for every s ∈ [ t ] s \in[t] s ∈ [ t ] we have
L e s = { e s − e s + 1 , s < t , e t , s = t . Le_s =
\begin{cases}
e_s-e_{s+1}, & s<t,\\
e_t, & s=t.
\end{cases} L e s = { e s − e s + 1 , e t , s < t , s = t .
So, L b s = ± L e s Lb_s = \pm Le_s L b s = ± L e s and ∥ L b s ∥ 2 ≤ 2 ≤ q \lVert Lb_s\rVert_2 \le\sqrt{2} \le q ∥ L b s ∥ 2 ≤ 2 ≤ q . Thus, the norm of every column of M M M is at most q q q . Applying the bound of Theorem D.2 , we have
∥ v ∥ 1 ≤ ( ( ∣ P ∣ + t ) − t ) ( t + 1 ) Δ ( M ) = ∣ P ∣ ( t + 1 ) Δ ( M ) . \lVert v\rVert_1 \le((|P|+t)-t)(t+1)\Delta(M)=|P|(t+1)\Delta(M). ∥ v ∥ 1 ≤ (( ∣ P ∣ + t ) − t ) ( t + 1 ) Δ ( M ) = ∣ P ∣ ( t + 1 ) Δ ( M ) .
By definition, Δ ( M ) \Delta(M) Δ ( M ) is the largest absolute value of a determinant of a square submatrix of M M M . By Hadamard’s inequality, for any matrix A A A with k k k columns ( A 1 , … , A k ) (A^1,\ldots,A^k) ( A 1 , … , A k ) we have
∣ det A ∣ ≤ ∏ j = 1 k ∥ A j ∥ 2 . |\det A| \le\prod_{j=1}^{k}\lVert A^j\rVert_2. ∣ det A ∣ ≤ j = 1 ∏ k ∥ A j ∥ 2 .
Let M ′ M' M ′ be some square submatrix of M M M . If M ′ M' M ′ has more than t t t columns, then det M ′ = 0 \det M'=0 det M ′ = 0 , since M M M has rank t t t . If M ′ M' M ′ has size at most t t t , then, since the norm of a submatrix column cannot exceed the norm of the original column, Hadamard inequality gives ∣ det M ′ ∣ ≤ q t |\det M'| \le q^t ∣ det M ′ ∣ ≤ q t . Therefore
∥ v ∥ 1 ≤ ∣ P ∣ ( t + 1 ) Δ ( M ) ≤ ( t + q q ) ( t + 1 ) q t . \lVert v\rVert_1 \le|P|(t+1)\Delta(M) \le\binom{t+q}{q}(t+1)q^t. ∥ v ∥ 1 ≤ ∣ P ∣ ( t + 1 ) Δ ( M ) ≤ ( q t + q ) ( t + 1 ) q t .
Finally, by definition of v v v , ∑ p ∈ P y p r ≤ ∥ v ∥ 1 \sum_{p\in P}y_p^r \le\lVert v\rVert_1 ∑ p ∈ P y p r ≤ ∥ v ∥ 1 , which finishes the proof.
Corollary D.1. For every ε ∈ ( 0 , 1 ) \varepsilon\in(0,1) ε ∈ ( 0 , 1 ) and q ≥ 3 q \ge3 q ≥ 3 , we can choose n ε , q n_{\varepsilon,q} n ε , q in Corollary 5.1 as
n ε , q = ⌈ 2 64 K ⌉ for K = q 6 log q ε . n_{\varepsilon,q}=\left\lceil2^{64K}\right\rceil
\qquad\text{for}\qquad
K=\frac{q^6\log q}{\varepsilon}. n ε , q = ⌈ 2 64 K ⌉ for K = ε q 6 log q . Proof. The estimates will be crude. Recall our parameters γ = min ( ε , 1 / ( 2 q ) ) \gamma=\min(\varepsilon,1/(2q)) γ = min ( ε , 1/ ( 2 q )) , λ = 2 q 2 q − 1 \lambda=\frac{2q}{2q-1} λ = 2 q − 1 2 q and
ρ q , n : = 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) . \rho_{q,n}:=8+4\log_{\lambda}\left(q^3d^2(d+2)n\right)+8q\log\left((d+2)n\right). ρ q , n := 8 + 4 log λ ( q 3 d 2 ( d + 2 ) n ) + 8 q log ( ( d + 2 ) n ) . Assume for now that n ≥ max { q , 16 / ε } n\ge\max\{q,16/\varepsilon\} n ≥ max { q , 16/ ε } . The number of protected prefixes ∣ L S ∣ |\mathcal{L}_S| ∣ L S ∣ is t ≤ 2 q 2 t\le2q^2 t ≤ 2 q 2 , so by Theorem D.1 the constant C q C_q C q in Corollary 5.1 can be chosen as
C q = ( 2 q 2 + q q ) ( 2 q 2 + 1 ) q 2 q 2 . C_q=\binom{2q^2+q}{q}(2q^2+1)q^{2q^2}. C q = ( q 2 q 2 + q ) ( 2 q 2 + 1 ) q 2 q 2 . For q ≥ 3 q\ge3 q ≥ 3 , ( 2 q 2 + q q ) ≤ q 3 q \binom{2q^2+q}{q}\le q^{3q} ( q 2 q 2 + q ) ≤ q 3 q and 2 q 2 + 1 ≤ q 3 2q^2+1\le q^3 2 q 2 + 1 ≤ q 3 , consequently by the choice of C 1 C_1 C 1 ,
C q ≤ q 4 q 2 and C 1 = 1 + ⌈ 12 q 3 C q ⌉ ≤ q 5 q 2 . C_q\le q^{4q^2}
\qquad\text{and}\qquad
C_1=1+\lceil12q^3C_q\rceil\le q^{5q^2}. C q ≤ q 4 q 2 and C 1 = 1 + ⌈ 12 q 3 C q ⌉ ≤ q 5 q 2 . Since d ≤ n d\le n d ≤ n , q 3 d 2 ( d + 2 ) n ≤ 2 q 3 n 4 q^3d^2(d+2)n\le2q^3n^4 q 3 d 2 ( d + 2 ) n ≤ 2 q 3 n 4 and ( d + 2 ) n ≤ 2 n 2 (d+2)n\le2n^2 ( d + 2 ) n ≤ 2 n 2 . Using this with log λ ≥ 1 / ( 2 q ) \log\lambda\ge1/(2q) log λ ≥ 1/ ( 2 q ) , we have
ρ q , n ≤ 9 + 8 q log ( 2 q 3 n 4 ) + 8 q ( 2 log n + 2 ) ≤ 80 q log n . \rho_{q,n}\le9+8q\log(2q^3n^4)+8q(2\log n+2)\le80q\log n. ρ q , n ≤ 9 + 8 q log ( 2 q 3 n 4 ) + 8 q ( 2 log n + 2 ) ≤ 80 q log n .
Therefore, by the choice of r 1 r_1 r 1 ,
r 1 : = 1 + ⌈ ( 2 q ( q − 1 ) γ + 2 ) ρ q , n ⌉ ≤ 256 q 2 ( q − 1 ) γ log n ≤ 512 q 4 ε log n . r_1 := 1 + \left\lceil\left(\frac{2q(q-1)}{\gamma}+2\right)\rho_{q,n}\right\rceil\le\frac{256q^2(q-1)}{\gamma}\log n \le\frac{512q^4}{\varepsilon}\log n. r 1 := 1 + ⌈ ( γ 2 q ( q − 1 ) + 2 ) ρ q , n ⌉ ≤ γ 256 q 2 ( q − 1 ) log n ≤ ε 512 q 4 log n .
By Lemma 4.1 we have the bound on ∣ S ∣ |S| ∣ S ∣ :
∣ S ∣ ≤ 2 q 2 C 1 8 q 2 / ε r 1 ≤ 1024 q 6 ε ⋅ q 4 q 4 / ε log n ≤ q 42 q 4 / ε log n . |S| \le2q^2 C_1^{8q^2/\varepsilon}r_1 \le\frac{1024q^6}{\varepsilon}\cdot q^{4q^4/\varepsilon}\log n \le q^{42q^4/\varepsilon}\log n. ∣ S ∣ ≤ 2 q 2 C 1 8 q 2 / ε r 1 ≤ ε 1024 q 6 ⋅ q 4 q 4 / ε log n ≤ q 42 q 4 / ε log n .
where we used
1024 q 6 ε ≤ q 14 / ε ≤ q 2 q 4 / ε . \frac{1024q^6}{\varepsilon}\le q^{14/\varepsilon}\le q^{2q^4/\varepsilon}. ε 1024 q 6 ≤ q 14/ ε ≤ q 2 q 4 / ε .
Now, as t ≤ ∣ S ∣ t\le|S| t ≤ ∣ S ∣ and d − ∣ A ∣ ≤ 2 ∣ S ∣ d-|A|\le2|S| d − ∣ A ∣ ≤ 2∣ S ∣ , to guarantee in Corollary 5.1 that both
t + ∣ S ∣ + 1 ≤ C ∗ log n and C q ( d − ∣ A ∣ ) ≤ C ∗ log n , t+|S|+1\le C_*\log n \qquad\text{and}\qquad C_q(d-|A|)\le C_*\log n, t + ∣ S ∣ + 1 ≤ C ∗ log n and C q ( d − ∣ A ∣ ) ≤ C ∗ log n ,
due to C q ≤ q 5 q 2 C_q\le q^{5q^2} C q ≤ q 5 q 2 we can choose C ∗ C_* C ∗ as
C ∗ = q 48 q 4 / ε . C_* = q^{48q^4/\varepsilon}. C ∗ = q 48 q 4 / ε .
By Lemma 5.1 , the set U 0 ⊆ U U_0\subseteq U U 0 ⊆ U satisfies
∣ U 0 ∣ ≥ ε n 16 ( C ∗ log n ) q 2 , |U_0|\ge\frac{\varepsilon n}{16(C_*\log n)^{q^2}}, ∣ U 0 ∣ ≥ 16 ( C ∗ log n ) q 2 ε n ,
so in Corollary 5.1 it suffices to ensure
n ≥ 16 ε ( C ∗ log n ) q 2 + 1 . n\ge\frac{16}{\varepsilon}(C_*\log n)^{q^2+1}. n ≥ ε 16 ( C ∗ log n ) q 2 + 1 .
We will compute the logarithms of the righthand side expression, to estimate the value of n n n . That is, we need to find some value n 0 n_0 n 0 such that
log n 0 ≥ log ( 16 / ε ) + ( q 2 + 1 ) log C ∗ + ( q 2 + 1 ) log log n 0 . \log n_0\ge\log(16/\varepsilon)+(q^2+1)\log C_*+(q^2+1)\log\log n_0. log n 0 ≥ log ( 16/ ε ) + ( q 2 + 1 ) log C ∗ + ( q 2 + 1 ) log log n 0 .
Take
K : = q 6 log q ε , n 0 = 2 64 K . K:=\frac{q^6\log q}{\varepsilon},\qquad n_0=2^{64K}. K := ε q 6 log q , n 0 = 2 64 K .
Since q ≥ 3 q\ge3 q ≥ 3 , we have q 2 + 1 ≤ 5 4 q 2 q^2+1\le\frac{5}{4}q^2 q 2 + 1 ≤ 4 5 q 2 , hence
( q 2 + 1 ) log C ∗ ≤ 5 4 q 2 ⋅ 48 q 4 log q ε = 60 K . (q^2+1)\log C_*\le\frac{5}{4}q^2\cdot\frac{48q^4\log q}{\varepsilon}=60K. ( q 2 + 1 ) log C ∗ ≤ 4 5 q 2 ⋅ ε 48 q 4 log q = 60 K .
In addition, log ( 16 / ε ) ≤ K \log(16/\varepsilon)\le K log ( 16/ ε ) ≤ K and
log log n 0 = log ( 64 K ) = 6 + 6 log q + log log q + log ( 1 / ε ) ≤ 11 log q + log ( 1 / ε ) ≤ 12 log q ε , \log\log n_0=\log(64K)=6+6\log q+\log\log q+\log(1/\varepsilon)\le11\log q+\log(1/\varepsilon)\le\frac{12\log q}{\varepsilon}, log log n 0 = log ( 64 K ) = 6 + 6 log q + log log q + log ( 1/ ε ) ≤ 11 log q + log ( 1/ ε ) ≤ ε 12 log q ,
hence
( q 2 + 1 ) log log n 0 ≤ 15 q 2 log q ε ≤ K . (q^2+1)\log\log n_0\le\frac{15q^2\log q}{\varepsilon}\le K. ( q 2 + 1 ) log log n 0 ≤ ε 15 q 2 log q ≤ K .
It follows that
log ( 16 ε ( C ∗ log n 0 ) q 2 + 1 ) ≤ K + 60 K + K ≤ 64 K = log n 0 . \log\left(\frac{16}{\varepsilon}(C_*\log n_0)^{q^2+1}\right)\le K+60K+K\le64K=\log n_0. log ( ε 16 ( C ∗ log n 0 ) q 2 + 1 ) ≤ K + 60 K + K ≤ 64 K = log n 0 .
Clearly, n 0 ≥ max { q , 16 / ε } n_0\ge\max\{q,16/\varepsilon\} n 0 ≥ max { q , 16/ ε } . Monotonicity implies that any n ≥ ⌈ n 0 ⌉ = ⌈ 2 64 K ⌉ n\ge\lceil n_0\rceil=\lceil2^{64K}\rceil n ≥ ⌈ n 0 ⌉ = ⌈ 2 64 K ⌉ suffices.