EconCSLib.SocialChoice.FairDivision.Indivisible.SocialWelfare #
Utilitarian and egalitarian social welfare for indivisible goods allocation.
Main definitions #
FairDivision.utilitarianWelfare v A— sum of all agents' bundle values:∑ i, v_i(A_i)FairDivision.egalitarianWelfare v A— minimum over agents of bundle value:min_i v_i(A_i)FairDivision.IsUtilitarianOptimal— no complete allocation achieves higher utilitarian welfareFairDivision.IsMaxmin— no complete allocation achieves higher egalitarian welfare
Design #
Social welfare functions are the natural objectives for optimization-based allocation rules.
utilitarianWelfare requires [Fintype N].
egalitarianWelfare requires [Fintype N] [Nonempty N] — the Nonempty N
constraint ensures the minimum over agents is well-defined (avoids min over an empty set).
Both are noncomputable because they sum/minimize over abstract types using Finset.univ.
Egalitarian welfare and MMS: IsMaxmin (egalitarian optimality) is a social optimality
notion (maximize the minimum across all agents simultaneously), whereas IsMaxminShare
(in Fairness.lean) is a per-agent guarantee (each agent could guarantee themselves at least
this much). These two notions are generally incomparable.
References #
- Bouveret, Chevaleyre, Maudet — "Fair Allocation of Indivisible Goods" (COMSOC Handbook, Ch. 12)
- Nisan et al., Algorithmic Game Theory, Ch. 11–12
Utilitarian social welfare #
Utilitarian social welfare: the sum of all agents' bundle values.
sw_U(A) = ∑_{i ∈ N} v_i(A_i).
Maximizing utilitarian welfare produces utilitarian optimal allocations — generally not fair, since all value may concentrate on one agent. The ratio between utilitarian optimal welfare and the welfare of the best fair allocation is the price of fairness.
Requires [Fintype N] to sum over all agents.
[BCM Ch.12]
Equations
Instances For
Egalitarian (maximin) social welfare #
Egalitarian social welfare: the minimum of all agents' bundle values.
sw_E(A) = min_{i ∈ N} v_i(A_i).
Maximizing egalitarian welfare yields the maximin allocation: it makes the worst-off agent as well off as possible. For this to be meaningful, agent valuations should be comparable (e.g., all normalized to total value 1 over all goods).
Requires [Fintype N] [Nonempty N] so the minimum is taken over a nonempty set.
[BCM Ch.12, Def 12.6]
Equations
Instances For
Optimality notions #
Utilitarian optimal: no complete allocation of allGoods achieves strictly higher
utilitarian (sum) social welfare.
[Fintype N] [DecidableEq G] are required by IsAllocation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Maximin (egalitarian) optimal: no complete allocation of allGoods achieves higher
egalitarian (minimum-agent) welfare.
A maximin allocation makes the worst-off agent as well off as possible. This is the
egalitarian counterpart to utilitarian optimality, and is distinct from the per-agent
maximin share guarantee (IsMaxminShare in Fairness.lean):
IsMaxminis a global property: it is the best possible for the social minimum.IsMaxminShareis per-agent: each agent individually gets at least their MMS value.
[Nonempty N] ensures egalitarianWelfare is well-defined.
[BCM Ch.12, Def 12.6]
Equations
- One or more equations did not get rendered due to their size.
Instances For
Basic lemmas #
Utilitarian welfare is monotone: pointwise improvement implies welfare improvement.
The valuation codomain is fixed to ℝ, so no ordered-algebra assumptions are needed.
The utilitarian welfare of an allocation with a unique agent equals that agent's value.
Egalitarian welfare is bounded above by any agent's bundle value.
Egalitarian welfare is bounded above by utilitarian welfare divided by n, informally.
Formally (without division): n • egalitarianWelfare v A ≤ utilitarianWelfare v A
for nonneg-valued additive allocations.
The valuation codomain is fixed to ℝ, so no ordered-algebra assumptions are needed.