Theorem 3.3 — the greedy price-update algorithm is a 2-approximation for XOS bidders
ProvedComplementFreeCA.XOSGreedy.greedy_two_approximationLet be XOS valuations on the items , each given by an XOS expression (a nonempty set of additive clauses with nonnegative item values, ). Run the greedy price-update algorithm of §3.3: bidders are processed in order ; bidder takes its demand at the current item prices (removing those items from earlier bidders), and the prices of the items of are set to their values in a maximizing clause for in . Let be the resulting allocation. Then, for every demand oracle and every XOS oracle used by the algorithm, and for every allocation ,
In the paper's words, the algorithm provides a 2-approximation to the optimal allocation. It uses only demand queries and XOS queries and, unlike the LP-based algorithms of §3.1–3.2, is combinatorial.
Formalization Note The paper compares with the optimal allocation; the statement quantifies over every allocation, which is equivalent. The oracles are arbitrary functions meeting their specifications, so the guarantee holds for every tie-breaking in the demand and in the choice of maximizing clause. Running time is not modelled.
import Mathlib import Definitions.Def_ComplementFreeCA_XOSGreedy_Model import Definitions.Def_ComplementFreeCA_XOSGreedy_GreedyRun
namespace ComplementFreeCA.XOSGreedy
theorem greedy_two_approximation {n m : ℕ} (E : Fin n → XOSExpr m)
(dem : Fin n → (Fin m → ℝ) → Finset (Fin m)) (cl : Fin n → Finset (Fin m) → (Fin m → ℝ))
(hdem : IsDemandOracle E dem) (hcl : IsXOSOracle E cl)
(O : Fin n → Finset (Fin m)) (hO : IsAllocation O) :
welfare E O ≤ 2 * welfare E (greedyAlloc dem cl) := by sorry
end ComplementFreeCA.XOSGreedy
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.