While this submission is a draft, it cannot be used by other submissions.

Polynomial-time approximation of the clique number

Lax253009.Approximation · concepts/Lax253009/Approximation.lean · lax-253009

definition

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Natural Language Statement

    Definition

    A polynomial-time n1−εn^{1-\varepsilon}-approximation of Max-Clique is a single deterministic polynomial-time algorithm returning an integer a(G)a(G) such that a(G)≤ω(G)≤n1−εa(G)a(G)\leq\omega(G)\leq n^{1-\varepsilon}a(G) on every nonempty nn-vertex graph. The algorithm estimates the optimum; it is not required to return a clique. This is the convention in the introduction of Håstad's paper.

    The input uses the binary graph encoding and the output uses mathlib's binary encoding of natural numbers. Polynomial time is certified by a fixed finite stack machine. The exponent ε\varepsilon is fixed before choosing the algorithm.

    Concept map
    3 concepts; 9 descendants hidden
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Lean source view on GitHub

    1import Lax253009.Graphs
    2import Lax434930.PolynomialTime
    3import Mathlib.Analysis.SpecialFunctions.Pow.Real
    4
    5/-!
    6---
    7title: Polynomial-time approximation of the clique number
    8type: definition
    9---
    10A polynomial-time n1−εn^{1-\varepsilon}-approximation of Max-Clique is a
    11single deterministic polynomial-time algorithm returning an integer a(G)a(G)
    12such that
    13a(G)≤ω(G)≤n1−εa(G)a(G)\leq\omega(G)\leq n^{1-\varepsilon}a(G) on every nonempty
    14nn-vertex graph. The algorithm estimates the optimum; it is not required
    15to return a clique. This is the convention in the introduction of
    16Håstad's paper.
    17
    18The input uses the binary graph encoding and the output uses mathlib's
    19binary encoding of natural numbers. Polynomial time is certified by a
    20fixed finite stack machine. The exponent ε\varepsilon is fixed before
    21choosing the algorithm.
    22-/
    23
    24namespace Lax253009.Approximation
    25
    26open Graphs
    27open Lax434930.PolynomialTime
    28
    29def Approximable (ε : ℝ) : Prop :=
    30 ∃ estimate : Word → ℕ,
    31 Nonempty (Turing.TM2ComputableInPolyTime id Computability.encodeNat estimate) ∧
    32 ∀ (n : ℕ), 0 < n → ∀ G : Graph n,
    33 estimate G.encode ≤ G.cliqueNumber ∧
    34 (G.cliqueNumber : ℝ) ≤ Real.rpow (n : ℝ) (1 - ε) * (estimate G.encode : ℝ)
    35
    36end Lax253009.Approximation
    37

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…