Theorem 5.6 — the Compensation-and-Bonus mechanism based on a non-optimal approximation algorithm is not truthful
ProvedAlgMechDesign.NonOptimal.comp_bonus_nonoptimal_not_truthfulConsider task scheduling with verification with agents and tasks. Let be an allocation algorithm, mapping every declared type vector to an allocation, and suppose that
- is an approximation algorithm: there is a real constant such that for every positive type vector and every allocation ,
- is not optimal: there are a positive type vector and an allocation with .
Then the Compensation-and-Bonus mechanism based on — the mechanism of Definition 24 with the optimal algorithm replaced by — is not truthful: there are an agent and a positive type such that no strategy of the form (declare , execute according to some feasible plan) is dominant.
Together with Theorem 5.1 (the Compensation-and-Bonus mechanism with an optimal algorithm is strongly truthful), this shows that the truthfulness of that mechanism rests on exact optimization: it cannot be combined with an arbitrary approximation algorithm, which motivates the separate rounding-based mechanism for bounded scheduling.
Formalization Note "Approximation algorithm" is encoded as a finite approximation ratio (existentially quantified, not fixed); "non-optimal" as the existence of one positive type vector on which the algorithm's make-span is not the minimum. The number of agents is at least one ([NeZero n]); with no agents there is no allocation algorithm meeting the hypotheses. Truthfulness is Definition 19 for mechanisms with verification: dominance is tested against all positive declarations and all execution plans of the other agents, and against all positive declarations and feasible execution plans of the agent itself. Running time is not modelled.
import Mathlib import Definitions.Def_AlgMechDesign_NonOptimal_Model open Finset
namespace AlgMechDesign.NonOptimal
/-- Theorem 5.6 (Nisan–Ronen, p. 191). Let `alloc` be an approximation algorithm for task
scheduling (make-span within some finite factor `c` of every allocation, on every positive type
vector) that is not optimal (on some positive type vector some allocation has strictly smaller
make-span than the one `alloc` chooses). Then the Compensation-and-Bonus mechanism based on
`alloc` is not truthful. -/
theorem comp_bonus_nonoptimal_not_truthful {n k : ℕ} [NeZero n]
(alloc : (Fin n → Fin k → ℝ) → (Fin k → Fin n))
(happrox : ∃ c : ℝ, ∀ t : Fin n → Fin k → ℝ, IsType t → ∀ y : Fin k → Fin n,
makespan t (alloc t) ≤ c * makespan t y)
(hnonopt : ∃ t : Fin n → Fin k → ℝ, IsType t ∧ ∃ y : Fin k → Fin n,
makespan t y < makespan t (alloc t)) :
¬ Truthful alloc := by sorry
end AlgMechDesign.NonOptimal
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.