В информатике, то метод четыре россиян является методом для ускорения алгоритмов, связанных с булевыми матрицами, или, в более общем алгоритмах, включающие матрицы, в которой каждая ячейка может принимать лишь ограниченное число возможных значений.
Основная идея метода состоит в том, чтобы разбить матрицу на маленькие квадратные блоки размером t × t для некоторого параметра t и использовать таблицу поиска для быстрого выполнения алгоритма в каждом блоке. Индекс в поисковой таблице кодирует значения ячеек матрицы в верхнем левом углу границы блока до некоторой операции алгоритма, а результат поисковой таблицы кодирует значения граничных ячеек в нижнем правом углу блока. после операции. Таким образом, общий алгоритм может выполняться, работая только с ( n / t ) 2 блоками вместо n 2 ячеек матрицы, где n - длина стороны матрицы. Чтобы сохранить размер таблиц поиска (и время, необходимое для их инициализации) достаточно малым, t обычно выбирается равным O (log n ).
Алгоритмы, к которым может быть применен метод четырех русских, включают:
В каждом из этих случаев он ускоряет алгоритм на один или два логарифмических множителя.
Алгоритм обращения матриц «Метод четырех русских», опубликованный Бардом, реализован в библиотеке M4RI для быстрой арифметики с плотными матрицами над F 2. M4RI используется SageMath и библиотекой PolyBoRi.
Алгоритм был предложен В.Л. Арлазаровым, Е.А. Диничем, М.А. Кронродом и И.А. Фараджевым в 1970 году. Происхождение названия неизвестно; Ахо, Хопкрофт и Ульман (1974) объясняют:
Все четыре автора работали в то время в Москве, Россия.