The Minimum Circuit Size Problem #
The Minimum Circuit Size Problem (MCSP) asks, given the truth table of a Boolean function f
on n inputs and a number s, whether f has a circuit with at most s gates
[KC00]. Its gap version GapMCSP[s₁, s₂] is the promise problem of telling, for each
n, the truth tables of functions with circuits of at most s₁ n gates from those of functions
that need more than s₂ n gates [OliveiraPichSanthanam2019, Definition 2.4].
The truth table of f lists its 2 ^ n values in the order of BitString.equivFin. Circuits are
De Morgan circuits, and their size counts every AND, OR, NOT and constant gate, so the measure is
cslib's complexity interpretation (single f); see Cslib.Computability.Circuit.Boolean.Basic.
Only the semantics of the problems is defined here. An encoding of the instances of MCSP as
strings, and the proof that MCSP is in NP for it, are in Complexity.Computability.MCSP.NP.
The yes-instances of MCSP on functions of n inputs at threshold s are the truth tables of
cslib's computableFunctions n s, so there are as many of them as such functions
(MCSP.ncard_setOf_mem).
Main definitions #
Cslib.MCSP.truthTable: truth tables of Boolean functions.Cslib.MCSP.Instance,Cslib.MCSP: the instances and the yes-instances of MCSP.Cslib.GapMCSP.yes,Cslib.GapMCSP.no: the two sides ofGapMCSP[s₁, s₂].
Main results #
Cslib.MCSP.mem_iff_exists_circuit,Cslib.MCSP.mem_iff_mem_computableFunctions: the yes- instances of MCSP, as circuits and as computable functions.Cslib.MCSP.ncard_setOf_mem: the number of yes-instances of a given arity and threshold.Cslib.GapMCSP.disjoint_yes_no: the promise ofGapMCSP[s₁, s₂]is consistent whens₁ ≤ s₂, andCslib.GapMCSP.no_eq_compl_yes:GapMCSP[s, s]is MCSP at thresholds.
References #
The truth table of a Boolean function on n inputs: its values on the 2 ^ n inputs, in the
order of BitString.equivFin.
Instances For
The Boolean function whose truth table an instance gives.
Instances For
The truth table of f with threshold s is a yes-instance exactly when f has complexity at
most s.
The truth table of f with threshold s is a yes-instance exactly when f is computable
with at most s gates.
An instance is a yes-instance exactly when some circuit with at most threshold gates
computes its function.