Documentation

Complexity.Computability.PCP.Approximation.LabelCover

Label Cover and the Unique Games Conjecture #

Both problems are binary constraint satisfaction problems on executable constraint graphs (Cslib.PCP.Encoded.Graph), whose edges carry the table of a function.

The value of an instance is the largest proportion of its edges that a labelling satisfies, and GapLabelCover β γ c s and GapUniqueGames α c s are the gap problems separating value at least c from value at most s.

The Unique Games Conjecture [Kho02] says that for all ε, δ > 0 there is a number L of labels for which GapUniqueGames (Fin L) (1 - ε) δ is NP-hard. It is stated here as the proposition UniqueGamesConjecture, for the parameters with δ < 1 - ε: for the others the two thresholds do not separate the instances, and GapUniqueGames has no no-instances. The library states the conjecture and does not prove it.

Main definitions #

Main results #

References #

Label Cover #

def Cslib.Complexity.projectionEval {β γ : Type} [DecidableEq γ] (π : β → γ) (x y : β × γ) :

The projection constraint π on the pairs of labels x of the left end and y of the right end of an edge: it holds when π x.1 = y.2.

Instances For
    theorem Cslib.Complexity.satisfies_toGraph_projectionEval_iff {β γ : Type} [DecidableEq γ] (g : PCP.Encoded.Graph (β → γ)) (σ : ℕ → β × γ) (i : Fin g.edges.length) :
    (g.toGraph projectionEval).Satisfies σ i ↔ (g.edges.get i).constraint (σ (g.edges.get i).src).1 = (σ (g.edges.get i).dst).2

    A labelling satisfies an edge of a Label Cover instance when the projection maps the first label of its left end to the second label of its right end.

    theorem Cslib.Complexity.satisfiable_toGraph_projectionEval_iff {β γ : Type} [DecidableEq γ] (g : PCP.Encoded.Graph (β → γ)) :
    (g.toGraph projectionEval).Satisfiable ↔ ∃ (ℓ : ℕ → β) (r : ℕ → γ), ∀ d ∈ g.edges, d.constraint (ℓ d.src) = r d.dst

    A Label Cover instance is satisfiable exactly when some labelling ℓ of its left vertices and r of its right vertices satisfies every projection.

    noncomputable def Cslib.Complexity.GapLabelCover (β γ : Type) [DecidableEq γ] (c s : ℝ) :

    The gap problem of Label Cover with left labels β and right labels γ, completeness c and soundness s. Each edge goes from a left vertex src to a right vertex dst and carries the table of a projection β → γ. The value of an instance is the largest proportion of the edges that labellings of the left and the right vertices satisfy. The yes-instances have value at least c, the no-instances value at most s.

    Instances For

      Unique Games #

      def Cslib.Complexity.permutationEval {α : Type} [DecidableEq α] (π : α → α) (a b : α) :

      The constraint of a function π on the labels a of the first end and b of the second end of an edge: it holds when π a = b.

      Instances For

        A unique game: the table on every edge is a bijection.

        Instances For
          noncomputable def Cslib.Complexity.GapUniqueGames (α : Type) [DecidableEq α] (c s : ℝ) :

          The gap problem of Unique Games with labels α, completeness c and soundness s. The instances are unique games: constraint graphs whose edges carry bijections π : α → α, an edge from u to v being satisfied when π maps the label of u to that of v. The value of an instance is the largest proportion of the edges that a labelling satisfies. The yes-instances have value at least c, the no-instances value at most s.

          Instances For
            theorem Cslib.Complexity.GapUniqueGames_mono {α : Type} [DecidableEq α] {c c' s s' : ℝ} (hc : c' ≤ c) (hs : s ≤ s') (hsc : s' < c') :
            (GapUniqueGames α c s).yes ⊆ (GapUniqueGames α c' s').yes ∧ (GapUniqueGames α c s).no ⊆ (GapUniqueGames α c' s').no

            Weakening the gap of GapUniqueGames enlarges its promise.

            The Unique Games Conjecture [Kho02]: for all ε, δ > 0 with δ < 1 - ε, there is a number L of labels such that distinguishing unique games on the labels Fin L of value at least 1 - ε from those of value at most δ is NP-hard. Instances are encoded by their vertex counts and edge lists, with constraint tables listing ranks of labels. The constraint graphs need not be bipartite. This is a conjecture, stated and not assumed.

            Instances For
              theorem Cslib.Complexity.UniqueGamesConjecture.npHard_of_le (h : UniqueGamesConjecture) {ε δ : ℝ} (hε : 0 < ε) (hδ : 0 < δ) (hεδ : δ < 1 - ε) :

              Under the Unique Games Conjecture, for every ε, δ > 0 with δ < 1 - ε there is a number L of labels such that every weaker gap problem on Fin L, with completeness at most 1 - ε and soundness at least δ, is NP-hard.