The independent-set relaxation and its exact hull
Lax263307.LinearRelaxation · concepts/Lax263307/LinearRelaxation.lean · lax-263307
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
For an -vertex graph , target , and level , the relaxation has coordinates for vertex sets and constraints
The exact hull is the convex hull of the vectors over independent sets of size . For , conditioning on gives costs .
Concept map
Lean source view on GitHub
| 1 | import Mathlib.Combinatorics.SimpleGraph.Clique |
| 2 | import Mathlib.Analysis.Convex.Hull |
| 3 | import Mathlib.Data.Real.Basic |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: The independent-set relaxation and its exact hull |
| 8 | type: definition |
| 9 | --- |
| 10 | For an -vertex graph , target , and level , the relaxation |
| 11 | has coordinates for vertex sets and constraints |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | The exact hull is the convex hull of the vectors |
| 17 | over independent sets of size . |
| 18 | For , conditioning on gives costs . |
| 19 | |
| 20 | # Formalization notes |
| 21 | |
| 22 | The coordinate type contains exactly the sets of size at most ; |
| 23 | there are no coordinates for larger sets. The accessor is extended by zero |
| 24 | outside this domain, solely to simplify notation. Every constraint that |
| 25 | uses it supplies a size bound ensuring that it reads an actual coordinate. |
| 26 | The vector space and convex hull are over the reals, as in the paper; |
| 27 | the algorithms will use rational points in this space. |
| 28 | -/ |
| 29 | |
| 30 | namespace Lax263307.LinearRelaxation |
| 31 | |
| 32 | /-- The coordinate sets of the level-`r` relaxation. -/ |
| 33 | abbrev Coordinate (n r : ℕ) := {A : Finset (Fin n) // A.card ≤ r + 2} |
| 34 | |
| 35 | /-- A vector with precisely the coordinates used by the relaxation. -/ |
| 36 | abbrev MomentVector (n r : ℕ) := Coordinate n r → ℝ |
| 37 | |
| 38 | /-- Read a coordinate, returning zero outside the truncated coordinate domain. -/ |
| 39 | def value {n r : ℕ} (y : MomentVector n r) (A : Finset (Fin n)) : ℝ := |
| 40 | if h : A.card ≤ r + 2 then y ⟨A, h⟩ else 0 |
| 41 | |
| 42 | /-- The indicator encoding of a vertex set. -/ |
| 43 | def indicator {n : ℕ} (r : ℕ) (I : Finset (Fin n)) : MomentVector n r := |
| 44 | fun A => if A.val ⊆ I then 1 else 0 |
| 45 | |
| 46 | /-- The five families of linear constraints defining `R_r(G,k)`. -/ |
| 47 | structure IsFeasible {n : ℕ} (G : SimpleGraph (Fin n)) (k r : ℕ) |
| 48 | (y : MomentVector n r) : Prop where |
| 49 | /-- The empty moment is normalized. -/ |
| 50 | normalized : value y ∅ = 1 |
| 51 | /-- Each moment lies in the unit interval. -/ |
| 52 | bounds : ∀ A, 0 ≤ y A ∧ y A ≤ 1 |
| 53 | /-- Adding a vertex cannot increase a moment. -/ |
| 54 | monotone : ∀ A : Finset (Fin n), A.card ≤ r + 1 → |
| 55 | ∀ v, value y (insert v A) ≤ value y A |
| 56 | /-- Nonindependent sets have zero moment. -/ |
| 57 | vanishes : ∀ A : Coordinate n r, ¬G.IsIndepSet (A.val : Set (Fin n)) → y A = 0 |
| 58 | /-- The cardinality constraint remains valid after conditioning. -/ |
| 59 | mass : ∀ A : Finset (Fin n), A.card ≤ r + 1 → |
| 60 | ∑ v : Fin n, value y (insert v A) = (k : ℝ) * value y A |
| 61 | |
| 62 | /-- The convex hull of encodings of size-`k` independent sets. -/ |
| 63 | def independentSetHull {n : ℕ} (G : SimpleGraph (Fin n)) (k r : ℕ) : |
| 64 | Set (MomentVector n r) := |
| 65 | convexHull ℝ {y | ∃ I : Finset (Fin n), |
| 66 | G.IsIndepSet (I : Set (Fin n)) ∧ I.card = k ∧ y = indicator r I} |
| 67 | |
| 68 | /-- Vertex costs after conditioning on inclusion of `A`. -/ |
| 69 | noncomputable def conditioned {n r : ℕ} (y : MomentVector n r) |
| 70 | (A : Finset (Fin n)) (v : Fin n) : ℝ := |
| 71 | value y (insert v A) / value y A |
| 72 | |
| 73 | /-- A certified upper bound on independent sets contained in a vertex set. -/ |
| 74 | def IsIndependenceBound {n : ℕ} (G : SimpleGraph (Fin n)) |
| 75 | (C : Finset (Fin n)) (u : ℕ) : Prop := |
| 76 | ∀ J : Finset (Fin n), J ⊆ C → G.IsIndepSet (J : Set (Fin n)) → J.card ≤ u |
| 77 | |
| 78 | end Lax263307.LinearRelaxation |
| 79 |
Formalization notes
The coordinate type contains exactly the sets of size at most ; there are no coordinates for larger sets. The accessor is extended by zero outside this domain, solely to simplify notation. Every constraint that uses it supplies a size bound ensuring that it reads an actual coordinate. The vector space and convex hull are over the reals, as in the paper; the algorithms will use rational points in this space.
Builds on
none
Used by
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments