4501
правка
Irina (обсуждение | вклад) (Новая страница: «== Ключевые слова и синонимы == Проверка матричного произведения == Постановка задачи == Пу…») |
Irina (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
== Постановка задачи == | == Постановка задачи == | ||
Пусть A, B, C – три заданные матрицы размерности n x n над полем, где C – матричное произведение AB. Прямолинейный метод проверки того, что С = AB, заключается в перемножении матриц A и B и поэлементном сравнении полученного результата с C. Это занимает время O(n | Пусть A, B, C – три заданные матрицы размерности n x n над полем, где C – матричное произведение AB. Прямолинейный метод проверки того, что С = AB, заключается в перемножении матриц A и B и поэлементном сравнении полученного результата с C. Это занимает время <math>O(n^{\omega})</math>, где <math>\omega</math> – «экспонента матричного умножения». Из определения операции умножения матриц следует, что <math>2 \le \omega \le 3</math>. Наилучшая известная нижняя граница <math>\omega</math> составляет 2,376 [4]. | ||
Строка 9: | Строка 9: | ||
Удивительно, но без умножения матриц можно обойтись, если использовать рандомизированный метод «снятия отпечатков пальцев», предложенный Фрейвальдсом [ ], и произведение матриц можно проверить за время O( | Удивительно, но без умножения матриц можно обойтись, если использовать рандомизированный метод «снятия отпечатков пальцев», предложенный Фрейвальдсом [5], и произведение матриц можно проверить за время <math>O(n^2)</math> с ограниченной вероятностью односторонней ошибки. Этот алгоритм фактически распространяется на матрицы над любой ''целочисленной областью'' [3], а количество используемых случайных бит может быть уменьшено до <math>log \frac{n}{\epsilon} + O(1)</math> для алгоритма с односторонней вероятностной ошибкой не более <math>\epsilon</math> [8]. (Все логарифмы в данной статье приведены к основанию 2). Техника «снятия отпечатков пальцев» нашла множество других применений в теоретической информатике (см., например, [10]). | ||
Строка 15: | Строка 15: | ||
Задача 1 (проверка матричного произведения) | '''Задача 1 (проверка матричного произведения)''' | ||
Дано: матрицы A, B, C размерности n х n над целочисленной областью. | '''Дано:''' матрицы A, B, C размерности n х n над целочисленной областью. | ||
Требуется: выдать EQUAL, если C = AB, и NOT EQUAL в противном случае. | '''Требуется:''' выдать EQUAL, если C = AB, и NOT EQUAL в противном случае. | ||
Строка 33: | Строка 33: | ||
Требуется: найти матричное произведение C = AB над целочисленной областью или булевой алгеброй. | Требуется: найти матричное произведение C = AB над целочисленной областью или булевой алгеброй. | ||
== Основные результаты == | == Основные результаты == |
правка