1984 santoro - an improved algorithm for boolean matrix multiplication

9
Computing 36, 375 382 (1986) Computing 9 by Springer-Verlag1986 An Improved Algorithm for Boolean Matrix Multiplication* N. Santoro and J. Urrutia, Ottawa Received December 17, 1984 Abstract -- Zusammenfassung An Improved Algorithm for Boolean Matrix Multiplication. A new algori hm for computing the product of two arbitrary N x N Boolean matrices is presented. The algorithm requires O (N3/logN) bit operati ons and only O (Nlog N) bits o f additi onal storage. This represents an improvement on the Four Russians' m ethod which requires the same num ber o f operations bu t uses O (N3/log 37 ) bits of additional storage. Key words: Boolean matrix multiplication, analysis of algorithms. E in verbesserter Algorithmus fiir die Multiplikafion Booleseher Matrizen. In dieser Arbeit ist ein neuer Algorithmus zur Berechnung des Produktes von N x N Matrizen mit Booleschen Koeffizienten beschrieben. Die Anza hl der Operationen betr~igt O (N3/log N), w obei lediglich O (N log N) zus~itzlicher Speicherplatz benOtigt wird. D as ist eine Verbesserung gegeniiber der ,,Vier-Russen"-M ethode, die bei gleicher Anzahl yon Operati onen O (N3/logN) Speicherplatz ben6tigt. I. Introduction In parallel with the analysis of asymptotically fast methods, the research on Boolean matrix multiplication has also focused on the determination of "efficient" bounds; that is, finding non-optimal but practical algorithms that outperform the asymptotic algorithms for a bounded matrix size or for special classes of matrices. Examples of these results are the O(N 2) algorithms for multiplying N x N sparse or dense Boolean matrices [2, 3], and the O (N3/log N) algorithm for multiplying arbitrary N x N Boolean matrices [1]. The latter algorithm, known as the "Four Russians' Method", unfortunately requires O(N3/logN) additional bits to store the O (N/log N) sets, each containing N rows of N bits each. In this paper, a new algorithm for Boolean matrix multiplication is presented; this algorithm is based on some properties of the product matrix, and it is shown to require O (N3/log N) bit operations (thus, achieving the Four Russian' bound) but only O (N log N) bits of additional storage. * This work was supported in part by the Natural Sciences and Engineering Research Council of Canada under Grant No. A.2415.

Upload: padma-venu

Post on 07-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

8/6/2019 1984 Santoro - An Improved Algorithm for Boolean Matrix Multiplication

http://slidepdf.com/reader/full/1984-santoro-an-improved-algorithm-for-boolean-matrix-multiplication 1/8

8/6/2019 1984 Santoro - An Improved Algorithm for Boolean Matrix Multiplication

http://slidepdf.com/reader/full/1984-santoro-an-improved-algorithm-for-boolean-matrix-multiplication 2/8

8/6/2019 1984 Santoro - An Improved Algorithm for Boolean Matrix Multiplication

http://slidepdf.com/reader/full/1984-santoro-an-improved-algorithm-for-boolean-matrix-multiplication 3/8

8/6/2019 1984 Santoro - An Improved Algorithm for Boolean Matrix Multiplication

http://slidepdf.com/reader/full/1984-santoro-an-improved-algorithm-for-boolean-matrix-multiplication 4/8

8/6/2019 1984 Santoro - An Improved Algorithm for Boolean Matrix Multiplication

http://slidepdf.com/reader/full/1984-santoro-an-improved-algorithm-for-boolean-matrix-multiplication 5/8

8/6/2019 1984 Santoro - An Improved Algorithm for Boolean Matrix Multiplication

http://slidepdf.com/reader/full/1984-santoro-an-improved-algorithm-for-boolean-matrix-multiplication 6/8

8/6/2019 1984 Santoro - An Improved Algorithm for Boolean Matrix Multiplication

http://slidepdf.com/reader/full/1984-santoro-an-improved-algorithm-for-boolean-matrix-multiplication 7/8

8/6/2019 1984 Santoro - An Improved Algorithm for Boolean Matrix Multiplication

http://slidepdf.com/reader/full/1984-santoro-an-improved-algorithm-for-boolean-matrix-multiplication 8/8