Errorless average-case heuristics -- definitions #
An errorless heuristic answers yes, answers no, or explicitly fails. It may fail on any input but may never return an incorrect Boolean answer. Average-case complexity bounds the probability of the failure event under a distribution ensemble.
The canonical answer codec uses [] for failure, [false] for rejection, and
[true] for acceptance. Consequently, polynomial runtime is stated directly as
membership of the encoded answer function in the existing class FP.
The three possible outputs of an errorless heuristic.
- accept : HeuristicAnswer
Certified yes answer.
- reject : HeuristicAnswer
Certified no answer.
- failure : HeuristicAnswer
Explicit failure to answer.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Canonical output encoding: one Boolean bit for an answer, empty for failure.
Equations
Instances For
Decode one canonical errorless-heuristic answer, rejecting every string of length at least two.
Equations
Instances For
Swap yes and no while preserving failure.
Equations
Instances For
An answer is sound for a proposition. Failure is always sound; the other two cases assert the corresponding truth value.
Equations
- Complexity.HeuristicAnswer.accept.CorrectFor truth = truth
- Complexity.HeuristicAnswer.reject.CorrectFor truth = ¬truth
- Complexity.HeuristicAnswer.failure.CorrectFor truth = True
Instances For
A deterministic semantic heuristic before its efficiency and correctness properties are imposed.
Equations
Instances For
Canonical binary output function computed by a heuristic.
Instances For
A heuristic runs in deterministic polynomial time when its canonical
three-answer encoding belongs to FP.
Equations
- A.IsPolynomialTime = (A.encoded ∈ Complexity.FP)
Instances For
An errorless heuristic never returns an incorrect answer for L.
Equations
- A.IsErrorlessFor L = ∀ (x : List Bool), (A x).CorrectFor (x ∈ L)
Instances For
Complement a heuristic pointwise, swapping acceptance and rejection.
Equations
- A.complement x = (A x).complement
Instances For
Turn a total Boolean decision function into a never-failing heuristic.
Equations
Instances For
Exact probability of one answer on one ensemble slice.
Equations
- Complexity.HeuristicAlgorithm.answerProbability D A answer n = D.probability n fun (x : List Bool) => A x = answer
Instances For
Exact failure probability of a heuristic on one ensemble slice.
Equations
- Complexity.HeuristicAlgorithm.failureProbability D A n = D.probability n fun (x : List Bool) => A x = Complexity.HeuristicAnswer.failure
Instances For
Pointwise failure-probability bound across every ensemble slice.
Equations
- Complexity.HeuristicAlgorithm.FailsWithProbabilityAtMost D A δ = ∀ (n : ℕ), Complexity.HeuristicAlgorithm.failureProbability D A n ≤ δ n
Instances For
Exact mass assigned to a language on one ensemble slice. Classical decidability is confined to this finite semantic enumeration.
Equations
- D.languageProbability L n = D.probability n fun (x : List Bool) => x ∈ L
Instances For
A language together with a parameterized input distribution. No complexity or samplability condition is imposed by the structure itself.
- language : Language
Decision problem being solved.
- ensemble : FiniteEnsemble (List Bool)
Distribution ensemble on inputs.
Instances For
Complement the language while retaining exactly the same input ensemble.
Instances For
Distributional problems admitting a deterministic polynomial-time
errorless heuristic with failure bounded by δ on every slice.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Total inverse-polynomial failure bound. It agrees with n⁻ᶜ for positive
n and assigns the harmless bound one to the zero slice.
Equations
- Complexity.inversePolynomialFailure c n = 1 / ↑(Nat.max 1 n) ^ c
Instances For
Errorless average-case polynomial time: for every inverse-polynomial failure target, a polynomial-time errorless heuristic meets that target.