boolean matrix product
for
and boolean matrices
, the boolean matrix product results in a boolean matrix
of size
, defined by
for
and
. let the binary function
denote this operation.
[cite:;taken from @complexity_wegener_2009 chapter 6.8 boolean matrix product]
[cite:;taken from @complexity_wegener_2009 chapter 6.8 boolean matrix product]
a broken link: blk:monotone boolean function that computes
reqires
AND gates and
OR gates.
[cite:;found in @computation_savage_1998 lemma 9.6.3]
[cite:;found in @complexity_wegener_2009 chapter 6.8 boolean matrix product; theorem 8.1]
the notation [cite:;found in @computation_savage_1998 lemma 9.6.3]
[cite:;found in @complexity_wegener_2009 chapter 6.8 boolean matrix product; theorem 8.1]
the definition can be used as an algorithm to compute
for
, from the entries in matrices
and
. we call this the standard matrix-multiplication algorithm. it uses
ANDs and
ORs. we now show that every monotone circuit for matrix multiplication requires at least this many ANDs and ORs.
every monotone circuit for boolean matrix multiplication
requires at least
OR gates.
[cite:;taken from @computation_savage_1998 chapter 9.6 lower-bound methods for monotone circuits; lemma 9.6.3]
[cite:;taken from @computation_savage_1998 chapter 9.6 lower-bound methods for monotone circuits; lemma 9.6.3]
in monotone_boolean_function.html we identified a set
of gates called the bottleneck associated with each input variable
. we demonstrated that each of these gates can be eliminated by setting
and that
has at least
gates, where
is the number of circuit outputs that depend essentially on
and have at least two prime implicants. these results were shown by proving that all gates in
are OR gates and that the
-th of these gates' associated function contains a prime implicant of the form
for
. we then demonstrated that the dependence of the outputs in
on the input
can be eliminated by setting
for
, but this contradicts the definition of a semi-definite bilinear form if
. finally, we proved that by setting
each of the gates in
could be eliminated. for this lemma, we need only strengthen the lower bound on
for matrix multiplication.
consider a minimal circuit. the proof is by induction on
, with the base case being
. in the base case
for
and
and no ORs are needed. as inductive hypothesis we assume that
requires at least
OR gates. we show that setting any column of
in
to 0 eliminates
OR gates and reduces the problem to an instance of
. it follows that
requires
OR gates.
when
, each output function
has at least two prime implicants. we apply the bottleneck argument to this case. consider the bottleneck
associated with input variable
. we show that
, from which it follows that at least
OR gates can be eliminated by setting
. this reduces the problem to another set of bilinear forms. repeating this for
, we eliminate
OR gates, one column of
, and one row of
. let
be the outputs that depend on
.
to show that
, let the gate of
compute
for
. here
and
for some
and
. if we set all entries in
to 1, we eliminate all dependence of outputs in
on
. however, since
, the set
must contain at least one variable used in
for each
. thus,
.
consider a minimal circuit. the proof is by induction on
when
to show that
every monotone circuit for Boolean matrix multiplication
requires at least
AND gates.
consider a minimal circuit. the proof is by induction on
, the base case being
. in the base case
for
and
and
ANDs are needed, since
results must be computed, each requiring one AND, and all functions are different. as inductive hypothesis we assume that
requires at least
AND gates. we show that setting any column of
in
to 1 and the corresponding row of
to 0 eliminates
AND gates and reduces the problem to an instance of
. it follows that
requires
AND gates.
for arbitrary
let
be a gate closest to inputs computing a function
such that
contains
. since the gate associated with
has
as a prime implicant, there is such a gate
. furthermore,
must be an
gate because
gates cannot generate new prime implicants. let
and
be gates generating inputs for
. let them compute functions
and
. it follows from the definition of
that
and
or vice versa. let the former hold. if
,
and
can be eliminated. we now show that
for
. suppose not. since
or
, there are at least three distinct variables among
,
,
, and
. therefore either
or
has at least two of these variables as prime implicants. by boolean_formula.html this circuit is not minimal, a contradiction.
[cite:;taken from @computation_savage_1998 chapter 9 circuit complexity]for arbitrary