← back to the atlas

Approximation Algorithm for Computing Budget-Feasible EF1 Allocations (aamas23-00027)

Answer: Polynomial-time solvable in \(m,\tau,L\), retaining budget-aware \(\tfrac12\)-EF1.

The anchor (named result in the paper)

Theorem 4.4 — class: algorithmic

PDF text-layer excerpt — equations and symbol order may be approximateAlgorithm 1 computes a 1/2-EF1 allocation in poly- nomial time. Note that TryFit (refer to Algorithm 2) runs in polynomial time because in each while loop, if the algorithm does not terminate (in Line 10), then the value of 𝑡 increases by at least one (in Line 6 or Line 8).

statement extracted from the paper’s text layer; consult the paper for the exact wording

The continuous mirror question, as graded

Given rational type masses \(\mu_b\) with \(\sum_b\mu_b=1\), budgets \(B_b\), item classes \(g\in[r]\) with sizes \(s_g\), values \(v_g\), and per-capita copy supplies \(q_g\), find masses \(x_{b,k}\ge0\) over integral bundles \(k\in\mathbb Z_{\ge0}^r\) satisfying \(\sum_kx_{b,k}=\mu_b\) and \(\sum_{b,k}k_gx_{b,k}\le q_g\), such that every positive-mass type-bundle pair satisfies budget-aware \(1/2\)-EF1 against every occupied bundle and every admissible subbundle of the residual charity stock: for each comparison subbundle \(u\) with \(s(u)\le B_b\), some item copy \(e\in u\) obeys \(v(k)\ge\frac12v(u-e)\).

Packaged proof task (what the prover saw — nothing else)

A society is given by its support: the list of \(\tau\ge1\) types with positive masses \(\mu_b\), each a binary rational, with \(\sum_b\mu_b=1\). Here \(\tau\) is the support size, not the number of possible types; type \(b\) has budget \(B_b>0\).
There are \(m=r\ge1\) item classes, with sizes \(s_g>0\), common additive values \(v_g\ge0\), and per-capita supplies \(q_g\ge0\). All numerical inputs are binary rationals; \(L\) is their total encoding length.
For an integral bundle \(k\in\mathbb Z_{\ge0}^{m}\), write \(s(k)=\sum_gs_gk_g\) and \(v(k)=\sum_gv_gk_g\). An allocation consists of finitely supported rational masses \(x_{b,k}\ge0\), with \(x_{b,k}>0\) only when \(s(k)\le B_b\), satisfying \(\sum_kx_{b,k}=\mu_b\) and \(\sum_{b,k}k_gx_{b,k}\le q_g\).
The charity receives the residual stock \(c_g=q_g-\sum_{b,k}k_gx_{b,k}\). Its admissible subbundles are integral vectors \(u\in\mathbb Z_{\ge0}^{m}\) with \(u\le c\) componentwise.
The allocation is budget-aware \(\tfrac12\)-EF1 if, for every \(x_{b,k}>0\) and every nonzero integral \(u\) with \(s(u)\le B_b\) that satisfies either \(u\le h\) for some occupied bundle \(h\), or \(u\le c\), there is a class \(g\) with \(u_g>0\) such that \(v(k)\ge\tfrac12\bigl(v(u)-v_g\bigr)\). Empty comparison bundles impose no condition; the charity has no fairness obligations.
Find such an allocation, or determine that none exists.

Can this continuous allocation problem, retaining the \(\tfrac12\)-EF1 guarantee, be solved in time polynomial in \(m,\tau,L\), or is it NP-hard?

For explicitly listed finite agents and item copies with identical additive valuations and heterogeneous budgets, a budget-feasible \(\tfrac12\)-EF1 allocation can be computed in polynomial time, including comparisons with charity ([Gan, Li and Wu](https://www.ifaamas.org/Proceedings/aamas2023/pdfs/p170.pdf)).
No result settling exactly the support-encoded continuous model above was located.

Modeling choices made when packaging the task

Prover output (gpt-6.1-sol / high, Bolzano prover prompt)

Result

The problem is polynomial-time solvable. Every instance admits a budget-aware \(\tfrac12\)-EF1 allocation with exactly one occupied bundle per type.

The construction uses the integer inventory \(n_g=\lfloor q_g\rfloor\). Every type independently chooses a density-greedy bundle from this same inventory. Because the type masses sum to one, these choices respect aggregate supply.

If every \(q_g<1\), the empty allocation already satisfies the stated charity rule. The proof below handles arbitrary supplies and heterogeneous budgets.

1. A universal greedy lemma

Fix an integer inventory \(n\in\mathbb Z_{\ge0}^{m}\) and a budget \(B>0\). Order the classes by nonincreasing density:

\(\rho_1\ge\rho_2\ge\cdots\ge\rho_m,\qquad \rho_g=v_g/s_g.\)

Ties may be broken arbitrarily. Starting with remaining budget \(R_0=B\), construct \(k\) by

\(k_g=\min\{n_g,\lfloor R_{g-1}/s_g\rfloor\},\qquad R_g=R_{g-1}-s_gk_g,\quad g=1,\ldots,m.\)

Thus \(k\le n\) and \(s(k)\le B\).

Lemma. For every nonzero integral \(u\le n\) with \(s(u)\le B\), there is a class \(g\) with \(u_g>0\) such that

\(v(u)-v_g\le 2v(k).\)

Proof. First consider any class \(g\) for which \(k_g<n_g\). At its processing step, the budget bound determined its chosen count, so

\(k_g=\lfloor R_{g-1}/s_g\rfloor,\qquad 0\le R_g<s_g.\)

Let \(p^{(g)}\) be the selected prefix: its coordinates are \(k_j\) for \(j\le g\), and zero otherwise. Then

\(s(p^{(g)})=B-R_g>B-s_g.\)

Every class in this prefix has density at least \(\rho_g\). Since values are nonnegative and \(p^{(g)}\le k\), it follows that

\(v(k)\ge v(p^{(g)})\ge \rho_gs(p^{(g)})\ge \rho_g(B-s_g).\qquad (1)\)

The last inequality remains valid when \(\rho_g=0\).

Now fix the comparison bundle \(u\). Define its overlap with \(k\) and its remaining part by

\(a_j=\min\{u_j,k_j\},\qquad d_j=u_j-a_j.\)

These vectors satisfy

\(u=a+d,\qquad a\le k,\qquad d\le n-k,\qquad s(d)\le s(u)\le B.\)

There are two cases.

\(v(d-e_g)\le \rho_gs(d-e_g)\le \rho_g(B-s_g)\le v(k).\)

Also, \(a\le k\) implies \(v(a)\le v(k)\). Consequently,

\(v(u)-v_g=v(a)+v(d-e_g)\le 2v(k).\)

The chosen class satisfies \(u_g\ge d_g>0\), as required.

This proves the lemma. \(\square\)

2. Construction of the allocation

Set

\(n_g=\lfloor q_g\rfloor\quad\text{for every class }g.\)

Sort classes by density once. For each type \(b\), run the greedy construction from Section 1 with inventory \(n\) and budget \(B_b\), obtaining \(k^{(b)}\).

Define the allocation by

\(x_{b,k^{(b)}}=\mu_b,\)

with all other masses zero.

These masses are rational and give every type its required total mass. The greedy construction guarantees \(s(k^{(b)})\le B_b\).

For each class \(g\), its aggregate consumption satisfies

\(\sum_b\mu_bk^{(b)}_g\le \sum_b\mu_bn_g=n_g\le q_g,\)

where the equality uses \(\sum_b\mu_b=1\). Hence the allocation respects supply, and its charity residual \(c\) is nonnegative.

3. Verification of all fairness comparisons

Fix any type \(b\), whose occupied bundle is \(k^{(b)}\), and any nonzero integral comparison bundle \(u\) with \(s(u)\le B_b\).

If \(u\le h\) for an occupied bundle \(h\), then \(h=k^{(b')}\le n\) for some type \(b'\). Thus \(u\le n\).

If instead \(u\le c\), then \(c\le q\). Since \(u\) is integral, each coordinate satisfies

\(u_g\le\lfloor q_g\rfloor=n_g.\)

Thus, in either permitted comparison, \(u\le n\). Applying the universal greedy lemma with budget \(B_b\) gives a class \(g\) with \(u_g>0\) for which

\(v(k^{(b)})\ge\tfrac12\bigl(v(u)-v_g\bigr).\)

This is precisely the required budget-aware \(\tfrac12\)-EF1 condition. It covers every occupied bundle and every admissible charity subbundle.

4. Polynomial running time and output size

The algorithm performs one density sort and then one pass through the classes for each type: \(O(m\log m+\tau m)\) arithmetic operations.

These operations have polynomial bit complexity. To see this explicitly, let \(D\) be the product of the denominators occurring in the sizes and budgets, and set

\(S_g=Ds_g,\qquad C_b=DB_b.\)

These are positive integers with \(O(L)\)-bit encodings. The greedy pass can maintain an integer remainder \(T\), initially \(C_b\), and compute

\(k^{(b)}_g=\min\{n_g,\lfloor T/S_g\rfloor\},\qquad T\leftarrow T-S_gk^{(b)}_g.\)

Throughout the pass, \(0\le T\le C_b\). Each chosen count also satisfies \(k^{(b)}_g\le\lfloor B_b/s_g\rfloor\), so it has \(O(L)\) bits. Density comparisons use exact rational cross multiplication, likewise with polynomial bit complexity.

The output contains \(\tau\) type–bundle pairs, with their original masses \(\mu_b\), and has polynomial encoding length. No item copies or replicated agents need to be enumerated.

Therefore the stated search problem is solvable in time polynomial in \(m,\tau,L\); under its hypotheses, the “none exists” outcome never occurs.

⟨structured verdict parsed — rendered above⟩

Adversarial review (gpt-6.1-sol / medium, Bolzano verifier prompt)

The prover’s claim is proved. The construction satisfies the exact support-encoded model, and the argument establishes polynomial running time. No mathematical gaps or false statements were found.

This checks the central argument without requiring any external theorem.

The preliminary statement about an “empty allocation” is consistent with the later construction: when every \(q_g<1\), all types receive the zero bundle with their prescribed masses. No nonzero integral charity subbundle then exists.

The proof resolves existence and computation for every allowed instance. No additional clarification or repair is needed.

⟨structured verdict parsed — rendered above⟩

Tier: machine-proved, adversarially reviewed by an independent model. No human has checked this proof. Generated from pipeline artifacts by tools/atlas_build.py.