boolean function
a boolean function is a function
for some
. they are binary functions whose codomain is
.
[cite:;taken from @complexity_vollmer_1999 chapter 1.2 circuit size and depth; definition 1.1]
[cite:;taken from @complexity_vollmer_1999 chapter 1.2 circuit size and depth; definition 1.1]
since we have
vectors in
, the total number of boolean functions
is doubly exponential in
, i.e.
.
[cite:;taken from @complexity_jukna_2012 chapter 1.1 boolean functions]
[cite:;taken from @complexity_jukna_2012 chapter 1.1 boolean functions]
since we have
vectors in
, we can represent a boolean function
by its
possible outputs corresponding to all possible input vectors.
a family of boolean functions is a sequence
, where
is an
-ary boolean function.
[cite:;taken from @complexity_vollmer_1999 chapter 1.2 circuit size and depth; definition 1.3]
[cite:;taken from @complexity_vollmer_1999 chapter 1.2 circuit size and depth; definition 1.3]
every boolean function defines a corresponding broken link: blk:def-lang. given a function
, we can identify it with the language
this way we can use boolean function or boolean circuit in the analysis of decision problems and use the theorems interchangably.
[cite:;found in @computability_arora_2009 chapter 0.2 decision problems/languages]
[cite:;found in @computability_arora_2009 chapter 0.2 decision problems/languages]
let
denote the set of all
-ary boolean functions.
[cite:;taken from @complexity_vollmer_1999 chapter chapter 1.5 asymptotic complexity]
[cite:;taken from @complexity_vollmer_1999 chapter chapter 1.5 asymptotic complexity]
a boolean function
is degenerated, if there is an
,
, such that for all
we have
. in this case
is called an inessential variable of
.
[cite:;taken from @complexity_vollmer_1999 definition 3.2]
[cite:;taken from @complexity_vollmer_1999 definition 3.2]
when we want to give lower bounds for the complexity of a function
measured in
, it suffices to consider only non-degenerated functions.
let
be non-degenerated. then
.
[cite:;taken from @complexity_vollmer_1999 theorem 3.3]
let
[cite:;taken from @complexity_vollmer_1999 theorem 3.3]
let
. a subfunction
of
is a function obtained by assigning values to some of the input variables of
, assigning (not necessarily unique) variable names to the rest, deleting andor permuting some of its output variables. we say that
is a reduction to
via the subfunction relationship/.
[cite:;taken from @computation_savage_1998 chapter 2.4 reductions between functions; definition 2.4.2]
[cite:;taken from @computation_savage_1998 chapter 2.4 reductions between functions; definition 2.4.2]
a boolean function is symmetric if it depends only on the number of ones in the input, and not on positions in which these ones actually reside. we thus have only
such functions of
variables, examples of symmetric boolean functions are:
- threshold function
.
- majority function
.
- parity function
.
- modular functions
.