Быстрые алгоритмы

Быстрые алгоритмы

Быстрые алгоритмы — это область вычислительной математики, которая изучает алгоритмы вычисления заданной функции с заданной точностью с использованием как можно меньшего числа битовых операций.

Содержание

Битовая операция

Будем считать, что числа записаны в двоичной системе счисления, знаки которой 0 и 1 называются битами.

Определение. Запись знаков 0,\;1,\;+,\;-,\;(,), сложение, вычитание и умножение двух битов назовём одной элементарной или битовой операцией.

Сложность вычисления (битовая)

Для оценки качества быстрого метода или алгоритма используется функция битовая сложность вычисления которая обозначается через

s_f(n)=s_{f,\;x_0}(n).

Функция сложности умножения имеет специальное обозначение

M(n).

Наилучшая известная в настоящее время оценка сложности умножения есть M(n)=O(n\log n\log\log n).

Быстрый алгоритм вычисления функции

Назовём алгоритм вычисления функции f=f(x) быстрым, если, предполагая наилучшую оценку для M(n), для этого алгоритма битовая сложность вычисления имеет вид:

s_f(n)=O(M(n)\log^cn),

где c есть константа.

История вопроса

Первые задачи по битовой сложности вычисления были поставлены А.Н. Колмогоровым[1], который при этом ссылался на работы Клода Шеннона и Норберта Винера, возбудившие его интерес к информатике.

Область быстрые алгоритмы появилась в 1960 году[2], когда был найден первый быстрый метод — метод умножения Карацубы. Впоследствии метод Карацубы был обобщён до парадигмы «Разделяй и властвуй», другими важными примерами которой являются метод двоичного разбиения (англ. binary splitting), двоичный поиск, метод бисекции и др.

После метода Карацубы было построено много других быстрых методов, включая алгоритм Штрассена для быстрого умножения матриц[3] (обобщение идеи Карацубы на матрицы), метод умножения Шёнхаге — Штрассена[4][5], метод БВЕ[6] для вычисления простейших и высших трансцендентных функций. и т. д. Некоторые старые методы становятся быстрыми вычислительными методами, если использовать в них один из быстрых алгоритмов умножения, например, метод Ньютона для вычисления элементарных алгебраических функций и АГС метод Гаусса для вычисления простейших трансцендентных функций.

См. также

Примечания

  1. А. Н. Колмогоров, {{{заглавие}}} // Теория информации и теория алгоритмов.. — Москва: Наука, 1987.
  2. Карацуба А. А. Сложность вычислений // Труды Математического института им. Стеклова. — 1995. — Т. 211.
  3. Strassen V. Gaussian elimination is not optimal // Journal of Numerical Mathematics. — 1969. — № 13.
  4. Schönhage A., Strassen V. Schnelle Multiplikation großer Zahlen // Computing. — 1971. — № 7. — P. 281—292.
  5. Schönhage A., Grotefeld A. F. W., Vetter E. Fast algorithms: A multitape Turing machine implementation. — Zürich: B. I. Wissenschaftsverlag, 1994. — ISBN 3411168919.
  6. Карацуба Е. А. Быстрое вычисление трансцендентных функций // Проблемы передачи информации. — 1991. — Т. 27. — № 4.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Быстрые алгоритмы" в других словарях:

  • Алгоритмы кэширования — В информатике под алгоритмами кэширования (часто называемыми алгоритмами вытеснения или политиками вытеснения, а также «алгоритмами/политиками замещения») понимают оптимизацию инструкций  алгоритмы  особая компьютерная программа или… …   Википедия

  • Быстрые криптосистемы с открытым ключом — Быстрая криптосистема с открытым ключом (англ. Fast public key cryptosystem) или лёгкая криптосистема с открытым ключом (англ. Lightweight public key cryptosystem)  асимметричная криптосистема, используемая в устройствах с… …   Википедия

  • Программируемые алгоритмы —       Служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавл …   Википедия

  • Карацуба — Карацуба, Анатолий Алексеевич Карацуба Анатолий Алексеевич Дата рождения: 31 января 1937(1937 01 31) …   Википедия

  • Карацуба, Анатолий Алексеевич — Карацуба Анатолий Алексеевич Дата рождения: 31 января 1937 …   Википедия

  • Обнаружение столкновений — (англ. Collision detection)  вычислительная проблема обнаружения пересечений между собой двух или больше объектов. Тема чаще всего связана с её использованием в физических движках, компьютерной анимации и робототехнике. В дополнение к… …   Википедия

  • Алгоритм — У этого термина существуют и другие значения, см. Алгоритм (значения). Для улучшения этой статьи желательно?: Переработать оформление в соответствии с правил …   Википедия

  • Электронная цифровая подпись — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. Электронная подпись (ЭП) информация в электронной форме, присоединенная к другой информации в электронной… …   Википедия

  • Недетерминированная машина Тьюринга — Машина Тьюринга Варианты машин Универсальная машина Тьюринга Квантовая машина Тьюринга en:Read only Turing machine en:Read only right moving Turing Machines Вероятностная машина Тьюринга Недетер …   Википедия

  • Класс P — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отр …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»