# HD-Combinatorics: Eli Shamir, "Almost optimal Boolean matrix multiplication[BMM] - By Multi-encoding of rows and columns"

Computing R=P.Q ,the product of two mXm Boolean matrices [BMM] is an ingredient of many combinatorial algorithms. Many efforts were made to speed it beyond the standard m^3 steps, without using the algebraic multiplication. To divide the computation task, encoding of the rows and column indices were used (1.1) j by (j1,j2) k by (k1,k2) e.g. using integer p j2=j mod p ,j1=ceiling of j/p. Clearly, the product of the ranges of the digits= m1.m2 - is approximately m. L.Lee’s article reduced BMM to parsing substrings of a fixed string u with respect to a context-free grammar G. But the cubic complexity persisted. The reduction here is to a family of bi-graphs bunches, each consisting of directed graphs. The family is obtained from r distinct encodings (1.1) of the indices - and invoking the Chinese remainder theorem to produce the BMM R=P.Q. If r is an integer, e=1/r ,m2=m^(e) then the total number of steps is 2r.m^(2+e). E.g. if r=10 it is 20m^(2.1). This almost optimal BMM [and simple extensions] replaces the recourse to complicated algebraic matrix multiplications . It renders its improved complexity to graph property tests which include BMM as a sub-routine: Finding all edges which belong to triangles in a graph, using it to reduce complexity of existence of k-cliques, or edges in 4 vertex diamonds and some other semi-cliques; Finding all pairs shortest walks in a graph and other applications: Using Valiant’s reduction of context-free parsing to BMM, the complexity exponent three in standard parsing is reduced to 2+e with small e.

## Date:

Mon, 04/06/2018 - 09:00 to 09:50

## Location:

Feldman Building, Givat Ram