Method of Four Russians
In computer science, the Method of Four Russians is a technique for speeding up algorithms involving Boolean matrices, or more generally algorithms involving matrices in which each cell may take on only a bounded number of possible values.
Idea
The main idea of the method is to partition the matrix into small square blocks of size t × t for some parameter t, and to use a lookup table to perform the algorithm quickly within each block. The index into the lookup table encodes the values of the matrix cells on the block boundary prior to some operation of the algorithm, and the result of the lookup table encodes the values of the boundary cells after the operation. Thus, the overall algorithm may be performed by operating on only (n/t)2 blocks instead of on n2 matrix cells, where n is the side length of the matrix. In order to keep the size of the lookup tables (and the time needed to initialize them) sufficiently small, t is typically chosen to be O(log n).
Applications
Algorithms to which the Method of Four Russians may be applied include:
- computing the transitive closure of a graph,
- Boolean matrix multiplication,
- edit distance calculation,
- sequence alignment,
- index calculation for binary jumbled pattern matching.
In each of these cases it speeds up the algorithm by one or two logarithmic factors.
The Method of Four Russians matrix inversion algorithm published by Bard is implemented in M4RI library for fast arithmetic with dense matrices over F2. M4RI is used by SageMath and the PolyBoRi library.[1]
History
The algorithm was introduced by V. L. Arlazarov, E. A. Dinic, M. A. Kronrod, and I. A. Faradzev in 1970.[2] The origin of the name is unknown; Aho, Hopcroft & Ullman (1974) explain:
- The second method, often called the "Four Russians'" algorithm, after the cardinality and nationality of its inventors, is somewhat more "practical" than the algorithm in Theorem 6.9.[3]
It is unclear whether all the four authors were in fact Russian at the moment of publishing the paper. It is known that at least two of the four authors (Arlazarov and Kronrod) were actually born in Moscow. While Kronrod died in Moscow in 1986, Arlazarov still lives and works in Moscow as of 2016.
Notes
References
- Arlazarov, V.; Dinic, E.; Kronrod, M.; Faradzev, I. (1970), "On economical construction of the transitive closure of a directed graph", Dokl. Akad. Nauk., 194 (11). Original title: "Об экономном построении транзитивного замыкания ориентированного графа", published in Доклады Академии Наук СССР 134 (3), 1970.
- Aho, Alfred V.; Hopcroft, John E.; Ullman, Jeffrey D. (1974), The design and analysis of computer algorithms, Addison-Wesley
- Bard, Gregory V. (2009), Algebraic Cryptanalysis, Springer, ISBN 978-0-387-88756-2