Exercise 3: farthest-first traversal with nearest-center clusters is a 2-approximation for the k-diam objective max_j diam(C_j)
ProvedUnderstandingML.kdiam_two_approxapproximation-algorithmclusteringk-center
Exercise 3. Given a metric space with and , consider . The algorithm picks , then for , and sets . It is a 2-approximation algorithm: for the optimal .
Formally: for every partition of into clusters and every , some cluster has ; ties in the argmax and argmin are arbitrary.
Preamble
import Definitions.Def_UnderstandingML_Clustering open MeasureTheory
Formal statement
namespace UnderstandingML
/-- **Exercise 3** (p. 321). Given a finite metric space `(X, d)` and `k`, the farthest-first
algorithm (`μ₁ = x`, `μⱼ = argmax_x min_{i<j} d(x, μᵢ)`, clusters by nearest center) is a
2-approximation for the k-diam objective `maxⱼ diam(Cⱼ)`: for every partition `C⋆` into `k`
clusters, `G_{k−diam}(Ĉ) ≤ 2 G_{k−diam}(C⋆)`, stated as: every cluster of `Ĉ` has diameter at
most twice the diameter of some cluster of `C⋆`. -/
theorem kdiam_two_approx {X : Type*} [MetricSpace X] [Fintype X] {k : ℕ} (μ : Fin k → X)
(hμ : IsFarthestFirst μ) (Chat : Fin k → Finset X) (hpart : IsPartition Finset.univ Chat)
(hnear : IsNearestAssignment μ Chat) (Cstar : Fin k → Finset X)
(hstar : IsPartition Finset.univ Cstar) (j : Fin k) :
∃ j' : Fin k, Metric.diam (↑(Chat j) : Set X) ≤ 2 * Metric.diam (↑(Cstar j') : Set X) := by sorry
end UnderstandingML
Source
Shalev-Shwartz and Ben-David, Understanding Machine Learning: From Theory to Algorithms, Cambridge University Press 2014, doi:10.1017/CBO9781107298019, §22.8 p. 321, Exercise 3 with its hint (Gonzalez 1985)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.