Theorem 3.4 — given , the algorithm never fails, covers every element of weight , and pays
ProvedOnlineSetCover.Weighted.theorem_3_4Consider weighted online set cover on a ground set with elements and a family of sets with costs , and run the deterministic algorithm of Section 3 with guess on an arrival sequence . Assume the normalized instance of p. 365:
- and for every set ;
- a family covers every element of , and ;
- and are large enough that (for instance and ).
Then every configuration the algorithm reaches is a running state, never FAIL, and in it
(i) every element of weight is covered by the current cover ;
(ii) the cost of the current cover satisfies
The logarithm is natural. The paper writes (ii) as with as ; the displayed expression is what its proof yields from Lemma 3.2 and is because .
Together with the doubling over guesses of (not part of this statement), this gives the paper's deterministic -competitive algorithm for weighted online set cover.
Formalization Note "Throughout the algorithm" is every configuration reachable from the initial state (, empty cover), including those between the per-set substeps of an augmentation step, for every order in which a step visits . Part (i) is asserted for every element of , not only for arrived ones. The size condition is the inequality the proof uses for the initial potential; the paper only says that and are large.
import Mathlib import Definitions.Def_OnlinePrimalDual_OnlineSetCover_SetCoverInstance import Definitions.Def_OnlinePrimalDual_OnlineSetCover_elementWeight import Definitions.Def_OnlinePrimalDual_OnlineSetCover_coveredBy import Definitions.Def_OnlineSetCover_Weighted_Run open OnlinePrimalDual.OnlineSetCover
namespace OnlineSetCover.Weighted
/-- **Theorem 3.4** (Alon, Awerbuch, Azar, Buchbinder, Naor 2009, p. 367). On the normalized
instance of p. 365 (`1 ≤ c_S ≤ m` and `c_S ≤ α` for every set), with `Copt` covering every
arriving element and `c(Copt) ≤ α`, and with `n, m` large in the sense the proof uses
(`n · n^(2/m) + n < n²`): every configuration the algorithm reaches on `σ` is a running state
(never `FAIL`) in which
(i) every element `j ∈ X` with `w_j ≥ 1` is covered, and
(ii) `∑_{S ∈ C} c_S ≤ 3 log n (1 + (1 + 1/n) α log(m² (1 + 1/n))) + 2 α log n`,
the explicit form of the paper's `(6 + o(1)) α log m log n`. -/
theorem theorem_3_4 {X T : Type*} [Fintype X] [Fintype T] [DecidableEq T]
(inst : SetCoverInstance X T) (α : ℝ) (Copt : Finset T) (σ : List X)
(hc_one : ∀ S, 1 ≤ inst.c S)
(hc_m : ∀ S, inst.c S ≤ (Fintype.card T : ℝ))
(hc_α : ∀ S, inst.c S ≤ α)
(hcov : ∀ j ∈ σ, coveredBy inst Copt j)
(hopt : ∑ S ∈ Copt, inst.c S ≤ α)
(hsize : (Fintype.card X : ℝ) * (Fintype.card X : ℝ) ^ ((2 : ℝ) / (Fintype.card T : ℝ)) +
(Fintype.card X : ℝ) < (Fintype.card X : ℝ) ^ 2)
(c : Config X T) (hc : Reachable inst α σ c) :
∃ s : AlgState X T, c = .ok s ∧
(∀ j : X, 1 ≤ elementWeight inst s.w j → coveredBy inst s.C j) ∧
∑ S ∈ s.C, inst.c S ≤
3 * Real.log (Fintype.card X : ℝ) *
(1 + (1 + 1 / (Fintype.card X : ℝ)) * α *
Real.log ((Fintype.card T : ℝ) ^ 2 * (1 + 1 / (Fintype.card X : ℝ)))) +
2 * α * Real.log (Fintype.card X : ℝ) := by sorry
end OnlineSetCover.Weighted
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.