FPT-Reductions, FPT, Hardness and Completeness

Lax496464.WH_A2_FptReductions · concepts/Lax496464/WH_A2_FptReductions.lean · lax-496464

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 parameterized problem consists of a set of instances, the yes-instances among them, and a parameter κ\kappa assigning a number to each instance; κ\kappa is required to be computable in polynomial time [FG06, Definition 1.1]. The problem is fixed-parameter tractable if it is decided in time f(κ(x))⋅∣x∣O(1)f(\kappa(x))\cdot|x|^{O(1)} for a computable ff [FG06, Definition 1.4].

    An fpt-reduction from (P,κ)(P, \kappa) to (Q,κ′)(Q, \kappa') is a map RR such that [FG06, Definition 2.1]

    1. xx is a yes-instance of PP if and only if R(x)R(x) is a yes-instance of QQ;
    2. κ′(R(x))≤g(κ(x))\kappa'(R(x)) \le g(\kappa(x)) for a computable function gg;
    3. RR is computable in time f(κ(x))⋅∣x∣O(1)f(\kappa(x))\cdot|x|^{O(1)} for a computable ff.

    For a class CC of parameterized problems, [C]fpt[C]^{\mathrm{fpt}} is the class of parameterized problems that fpt-reduce to a member of CC. A problem is CC-hard if every member of CC fpt-reduces to it, and CC-complete if it is moreover a member of CC [FG06, Chapter 2].

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

    Lean source view on GitHub

    1import Lax496464.WH_A1_FptTime
    2import Lax888481.ParameterizedComplexity
    3
    4/-!
    5---
    6title: FPT-Reductions, FPT, Hardness and Completeness
    7type: definition
    8---
    9A *parameterized problem* consists of a set of instances, the yes-instances among them, and a
    10parameter κ\kappa assigning a number to each instance; κ\kappa is required to be computable in
    11polynomial time [FG06, Definition 1.1]. The problem is **fixed-parameter tractable** if it is
    12decided in time f(κ(x))⋅∣x∣O(1)f(\kappa(x))\cdot|x|^{O(1)} for a computable ff [FG06, Definition 1.4].
    13
    14An **fpt-reduction** from (P,κ)(P, \kappa) to (Q,κ′)(Q, \kappa') is a map RR such that
    15[FG06, Definition 2.1]
    16
    171. xx is a yes-instance of PP if and only if R(x)R(x) is a yes-instance of QQ;
    182. κ′(R(x))≤g(κ(x))\kappa'(R(x)) \le g(\kappa(x)) for a computable function gg;
    193. RR is computable in time f(κ(x))⋅∣x∣O(1)f(\kappa(x))\cdot|x|^{O(1)} for a computable ff.
    20
    21For a class CC of parameterized problems, [C]fpt[C]^{\mathrm{fpt}} is the class of parameterized
    22problems that fpt-reduce to a member of CC. A problem is **CC-hard** if every member of CC
    23fpt-reduces to it, and **CC-complete** if it is moreover a member of CC [FG06, Chapter 2].
    24
    25# Formalization Notes
    26
    27**Problems** are the archive's `Lax888481.ParameterizedComplexity.Problem`: a set `Domain` of words
    28encoding instances, a predicate `Yes`, and the parameter `param`. Reductions and algorithms are
    29constrained on the domain only.
    30
    31**The three conditions** of an fpt-reduction are separate definitions — `IsReduction`,
    32`ParamBounded` and `FptTimeOn` — so that a hardness proof establishes the construction and its
    33correctness, the parameter bound, and the running time one at a time. `IsFptReduction` bundles
    34them, and `P ≤ᶠᵖᵗ Q` (`FptReduces`, scoped notation: `open Lax496464.WH_A2_FptReductions`) states
    35that one exists. Polynomial-time reductions and the archive's strict fpt-reductions are
    36fpt-reductions by `WH_A5_Bridges`.
    37
    38**Classes.** `Closure C` contains only parameterized problems (`IsParameterized`); `Hard` places no
    39such condition on the hard problem. An algorithm witnessing `FPT` writes `[1]` on yes-instances
    40and `[0]` on no-instances.
    41-/
    42
    43namespace Lax496464.WH_A2_FptReductions
    44
    45open Lax888481.ParameterizedComplexity (Problem)
    46open Lax496464.WH_A1_FptTime
    47
    48/-- **Step 1 of a reduction: construction and correctness.** `R` maps instances of `P` to
    49instances of `Q`, yes-instances to yes-instances and no-instances to no-instances. -/
    50structure IsReduction (P Q : Problem) (R : List ℕ → List ℕ) : Prop where
    51 /-- Instances go to instances. -/
    52 maps_domain : ∀ x ∈ P.Domain, R x ∈ Q.Domain
    53 /-- Yes-instances go to yes-instances, and no-instances to no-instances. -/
    54 correct : ∀ x ∈ P.Domain, (P.Yes x ↔ Q.Yes (R x))
    55
    56/-- **Step 2 of a reduction: the parameter bound.** The parameter of `R x` is at most a computable
    57function of the parameter of `x`. -/
    58def ParamBounded (P Q : Problem) (R : List ℕ → List ℕ) : Prop :=
    59 ∃ g : ℕ → ℕ, Computable g ∧ ∀ x ∈ P.Domain, Q.param (R x) ≤ g (P.param x)
    60
    61/-- An **fpt-reduction** [FG06, Definition 2.1]: a reduction with a bounded parameter,
    62computable in fixed-parameter time (**step 3**) on the instances of `P`. -/
    63structure IsFptReduction (P Q : Problem) (R : List ℕ → List ℕ) : Prop where
    64 /-- Construction and correctness. -/
    65 reduction : IsReduction P Q R
    66 /-- The parameter bound. -/
    67 param_bounded : ParamBounded P Q R
    68 /-- The running time. -/
    69 fpt_time : FptTimeOn P.Domain P.param R
    70
    71/-- `P` **fpt-reduces** to `Q`. -/
    72def FptReduces (P Q : Problem) : Prop := ∃ R, IsFptReduction P Q R
    73
    74@[inherit_doc] scoped infix:50 " ≤ᶠᵖᵗ " => FptReduces
    75
    76/-- `P` is a **parameterized problem**: its parameter is computable
    77in polynomial time on its instances [FG06, Definition 1.1]. -/
    78def IsParameterized (P : Problem) : Prop := PolyTimeOn P.Domain fun x => [P.param x]
    79
    80open Classical in
    81/-- **FPT**: the parameterized problems decided in fixed-parameter time, the program writing `[1]`
    82on yes-instances and `[0]` on no-instances [FG06, Definition 1.4]. -/
    83def FPT : Set Problem :=
    84 {P | IsParameterized P ∧ FptTimeOn P.Domain P.param fun x => if P.Yes x then [1] else [0]}
    85
    86/-- `[C]^fpt`: the parameterized problems that fpt-reduce to a member of `C`. -/
    87def Closure (C : Set Problem) : Set Problem :=
    88 {P | IsParameterized P ∧ ∃ Q ∈ C, P ≤ᶠᵖᵗ Q}
    89
    90/-- `Q` is **`C`-hard**: every member of `C` fpt-reduces to it. -/
    91def Hard (C : Set Problem) (Q : Problem) : Prop := ∀ P ∈ C, P ≤ᶠᵖᵗ Q
    92
    93/-- `Q` is **`C`-complete**: it belongs to `C` and is `C`-hard. -/
    94def Complete (C : Set Problem) (Q : Problem) : Prop := Q ∈ C ∧ Hard C Q
    95
    96end Lax496464.WH_A2_FptReductions
    97
    Formalization Notes

    Problems are the archive's Lax888481.ParameterizedComplexity.ProblemLax888481.ParameterizedComplexity.Problem: a set DomainDomain of words encoding instances, a predicate YesYes, and the parameter paramparam. Reductions and algorithms are constrained on the domain only.

    The three conditions of an fpt-reduction are separate definitions — IsReductionIsReduction, ParamBoundedParamBounded and FptTimeOnFptTimeOn — so that a hardness proof establishes the construction and its correctness, the parameter bound, and the running time one at a time. IsFptReductionIsFptReduction bundles them, and P≤fptQP ≤ᶠᵖᵗ Q (FptReducesFptReduces, scoped notation: openLax496464.WHA2FptReductionsopen Lax496464.WH_A2_FptReductions) states that one exists. Polynomial-time reductions and the archive's strict fpt-reductions are fpt-reductions by WHA5BridgesWH_A5_Bridges.

    Classes. ClosureCClosure C contains only parameterized problems (IsParameterizedIsParameterized); HardHard places no such condition on the hard problem. An algorithm witnessing FPTFPT writes [1][1] on yes-instances and [0][0] on no-instances.

    Discussion

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

    Loading discussion…