Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Алгоритм Фрейвалдса (назван по имени Русиньша Мартыньша Фрейвалдса) — это вероятностный рандомизированный алгоритм, используемый для верификации матричного произведения. По трём матрицам , и размера необходимо проверить, что . Наивный алгоритм решения данной задачи заключается в том, чтобы посчитать в явном виде и поэлементно сравнить получившуюся матрицу с . Однако наилучший известный алгоритм умножения матриц работает за время [1]. Алгоритм Фрейвалдса использует рандомизацию чтобы снизить данную оценку до [2] с высокой вероятностью. За время алгоритм может проверить матричное произведение с вероятностью ошибки, не превосходящей .

Алгоритм

Ввод

Три матрицы , и размера .

Вывод

«Да» если ; «Нет» в противном случае.

Процедура

  1. Сгенерировать случайный вектор из нулей и единиц размера .
  2. Вычислить .
  3. Вывести «Да» если ; «Нет» в противном случае.

Вероятность ошибки

Если , то алгоритм всегда возвращает «Да». Если , то вероятность того, что алгоритм вернёт «Да» не больше .

Если выполнить алгоритм раз и возвращать «Да» только если на каждой итерации был получен ответ «Да», будет получен алгоритм со временем работы и вероятностью ошибки .

Пример

Пусть нужно проверить, что:

Выбирается случайный вектор из нулей и единиц, например, , после чего он используется для вычислений:

То, что получен нулевой вектор указывает на то, что . Однако, если на второй итерации использовать вектор , то будет получен следующий результат:

Полученный вектор не нулевой, что доказывает, что .

В рассмотренном случае есть всего четыре двухэлементных векторов из нулей и единиц, и на половине из них получается нулевой вектор ( и ), таким образом вероятность того, что оба раза будет выбран один из этих векторов (что повлечёт ложный вывод о том, что ) равна или . В общем случае доля векторов , влекущих нулевой вектор может быть меньше , и использование нескольких итераций (например, 20) сделает вероятность ошибки пренебрежимо малой.

Анализ алгоритма

Пусть вероятность ошибки равна . Если , то , если же , то .

Случай A × B = C

Полученный результат не зависит от , так как здесь используется лишь то, что . Таким образом, вероятность ошибки в данном случае:

Случай A × BC

Пусть матрица такова, что

Где

.

Так как , некоторые элементы матрицы не равны нулю. Пусть . По определению матричного произведения:

.

Для некоторой константы . Используя теорему Байеса, можно разложить вероятность по :

.

Указанные вероятности можно оценить следующим образом:

Подставляя эти выражения в исходное равенство, можно прийти к:

Таким образом,

См. также

Ссылки

  1. Virginia Vassilevska Williams. Breaking the Coppersmith-Winograd barrier. Дата обращения: 11 ноября 2019. Архивировано 30 апреля 2013 года.
  2. Raghavan, Prabhakar. Randomized algorithms (англ.) // ACM Computing Surveys[англ.] : journal. — 1997. — Vol. 28. — P. 33. — doi:10.1145/234313.234327.
  • Freivalds, R. (1977), «Probabilistic Machines Can Use Less Running Time», IFIP Congress 1977, pp. 839—842.
Эта страница в последний раз была отредактирована 28 мая 2022 в 17:24.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).