EconCSLib.SocialChoice.FairDivision.Indivisible.MMS #
Maximin share (MMS) value and α-MMS approximations for indivisible goods.
Valuations and approximation ratios are real-valued throughout this file.
The full-MMS predicate ("Is allocation A fair under MMS?") is IsMaxminShare, defined
in Fairness.lean alongside EF, EF1, EFX, and PROP. This file adds:
- the numerical MMS value
mmsValue(the actual worst-bundle value an agent can guarantee by self-partitioning), - the α-MMS approximation predicate
IsAlphaMMS(every agent receives ≥ α fraction of their MMS value), and - basic results connecting these to
IsMaxminShareand to each other.
Main definitions #
FairDivision.mmsValue v allGoods i— the MMS value of agenti:sup_{B : n-partition} inf_{j : N} v_i(B_j).FairDivision.IsAlphaMMS α v allGoods A— α-MMS: every agent receives ≥αtimes their MMS value.
Key results #
Proved:
iInf_partition_le_mmsValue— min-bundle of any complete allocation ≤ MMS value.mmsValue_le_of_forall— MMS value ≤ any upper bound on partition minimums.mmsValue_nonneg— MMS value is nonneg for nonneg valuations ([Fintype G]).mmsValue_le_proportional_share_additive—n * mmsValue ≤ v_i(G).isMaxminShare_iff_isAlphaMMS_one—IsMaxminSharecoincides withIsAlphaMMS 1.isAlphaMMS_zero— 0-MMS is trivially satisfied for nonneg valuations.isAlphaMMS_mono_alpha— α-MMS is monotone decreasing in α.IsMaxminShare.isAlphaMMS— full MMS implies α-MMS for0 ≤ α ≤ 1.IsProportional.isAlphaMMS_additive— PROP implies α-MMS for all0 ≤ α ≤ 1.
Fairness hierarchy #
For additive valuations with complete allocations:
EF → EFX → EF1 → PROP → MMS → α-MMS (0 ≤ α ≤ 1)
Unlike EF, EF1, and PROP, full MMS is not always achievable for n ≥ 3 agents [Procaccia-Wang 2014]. However, (3/4)-MMS is always achievable [Garg-Taki 2021].
References #
- Budish — "The Combinatorial Assignment Problem" (JPE 2011) [MMS concept]
- Procaccia, Wang — "Fair Enough: Guaranteeing Approximate Maximin Shares" (EC 2014)
- Amanatidis, Markakis, Nikzad, Saberi — "Approximation Algorithms for Computing Maximin Share Allocations" (ACM TALG 2017)
- Garg, Taki — "An Improved Approximation Algorithm for Maximin Shares" (EC 2021)
MMS value #
The maximin share (MMS) value of agent i with respect to valuation v
and good set allGoods.
mmsValue v allGoods i = sup_{B : n-partition} inf_{j : N} v_i(B_j).
Intuitively: the best (highest) minimum-bundle value agent i can guarantee by
proposing a complete n-partition of allGoods. The outer iSup ranges over all
complete allocations {B // IsAllocation allGoods B}; the inner iInf ranges over
all agent indices j : N (the bundle labels).
The corresponding predicate ("did agent i receive at least their MMS value?") is
IsMaxminShare in Fairness.lean. See isMaxminShare_iff_isAlphaMMS_one for the
connection.
If no complete allocation exists (e.g., N = ∅), iSup over the empty subtype
yields sSup ∅ = 0 in ℝ. Use [Nonempty N] to ensure a complete allocation exists.
[Budish 2011; AGT Ch.11]
Equations
- One or more equations did not get rendered due to their size.
Instances For
IsAlphaMMS — approximate MMS allocation #
An allocation A is α-MMS if every agent receives at least α times their
MMS value.
IsAlphaMMS α v allGoods A ↔ ∀ i, α * mmsValue v allGoods i ≤ v.val i (A i).
The scalar α : ℝ quantifies approximation quality:
α = 1: full MMS, equivalent toIsMaxminSharefromFairness.lean(seeisMaxminShare_iff_isAlphaMMS_one).α = 3/4: always achievable for additive valuations (seeexists_isAlphaMMS_threefourths).α = 0: trivially satisfied for nonneg valuations (seeisAlphaMMS_zero).
[Budish 2011; Amanatidis et al. 2017; Garg-Taki 2021]
Equations
- SocialChoice.FairDivision.Indivisible.IsAlphaMMS α v allGoods A = ∀ (i : N), α * SocialChoice.FairDivision.Indivisible.mmsValue v allGoods i ≤ v.val i (A i)
Instances For
Properties of mmsValue #
The min-bundle value of any complete allocation is at most the MMS value.
For any complete allocation B:
iInf_{j : N} v_i(B_j) ≤ mmsValue v allGoods i.
Requires BddAbove of the range of all per-allocation minimums, which holds
when [Fintype G] (finitely many partitions).
[Budish 2011]
The MMS value is at most any upper bound on all per-allocation minimum bundle values.
If ub is an upper bound — for every complete allocation B,
iInf_j v_i(B_j) ≤ ub — then mmsValue v allGoods i ≤ ub.
hne is needed because ciSup_le requires the index type to be nonempty.
For nonneg valuations with at least one complete allocation, the MMS value is nonneg.
hne ensures the iSup is nonempty. [Fintype G] makes the allocation subtype
[Finite], enabling Finite.le_ciSup without a separate BddAbove hypothesis.
Connection to IsMaxminShare and α-MMS #
Monotonicity and basic implications for α-MMS #
α-MMS is monotone decreasing in α: if A is α-MMS and β ≤ α, then A is β-MMS.
Proof: β * mmsValue ≤ α * mmsValue ≤ v_i(A_i) since β ≤ α and mmsValue ≥ 0.
Every allocation trivially satisfies 0-MMS for nonneg valuations.
Proportionality implies α-MMS #
PROP implies α-MMS for additive valuations and α ≤ 1.
Follows by chaining:
IsProportional.isMaxminShare → isMaxminShare_iff_isAlphaMMS_one.mp
→ IsMaxminShare.isAlphaMMS.
[Budish 2011]