Polynomial-time approximation of the clique number
Lax253009.Approximation · concepts/Lax253009/Approximation.lean · lax-253009
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
A polynomial-time -approximation of Max-Clique is a single deterministic polynomial-time algorithm returning an integer such that on every nonempty -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 is fixed before choosing the algorithm.
Concept map
Lean source view on GitHub
| 1 | import Lax253009.Graphs |
| 2 | import Lax434930.PolynomialTime |
| 3 | import Mathlib.Analysis.SpecialFunctions.Pow.Real |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Polynomial-time approximation of the clique number |
| 8 | type: definition |
| 9 | --- |
| 10 | A polynomial-time -approximation of Max-Clique is a |
| 11 | single deterministic polynomial-time algorithm returning an integer |
| 12 | such that |
| 13 | on every nonempty |
| 14 | -vertex graph. The algorithm estimates the optimum; it is not required |
| 15 | to return a clique. This is the convention in the introduction of |
| 16 | Håstad's paper. |
| 17 | |
| 18 | The input uses the binary graph encoding and the output uses mathlib's |
| 19 | binary encoding of natural numbers. Polynomial time is certified by a |
| 20 | fixed finite stack machine. The exponent is fixed before |
| 21 | choosing the algorithm. |
| 22 | -/ |
| 23 | |
| 24 | namespace Lax253009.Approximation |
| 25 | |
| 26 | open Graphs |
| 27 | open Lax434930.PolynomialTime |
| 28 | |
| 29 | def 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 | |
| 36 | end Lax253009.Approximation |
| 37 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments