Jump to content

Вычислительная сложность математических операций

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

В следующих таблицах перечислена вычислительная сложность различных алгоритмов для распространенных математических операций .

Здесь сложность относится к временной сложности выполнения вычислений на многоленточной машине Тьюринга . [1] См. обозначение большой буквы O для объяснения используемых обозначений.

Примечание. Из-за разнообразия алгоритмов умножения ниже обозначает сложность выбранного алгоритма умножения.

Арифметические функции [ править ]

В этой таблице указана сложность математических операций с целыми числами.

Операция Вход Выход Алгоритм Сложность
Добавление Два -значные числа Один -значное число Дополнение к учебнику с переноской
Вычитание Два -значные числа Один -значное число Вычитание учебника с заимствованием
Умножение Два -значные числа
Один -значное число Учебник длинного умножения
Алгоритм Карацубы
Трехстороннее умножение Тума – Кука
-способ умножения Тума-Кука
Тум-Кук смешанного уровня (Кнут 4.3.3-T) [2]
Алгоритм Шёнхаге – Штрассена
Алгоритм Харви-Хувена [3] [4]
Разделение Два -значные числа Один -значное число Учебник длинного деления
Подразделение Бурникеля-Зиглера «Разделяй и властвуй» [5]
Подразделение Ньютона-Рафсона
Квадратный корень Один -значное число Один -значное число метод Ньютона
Модульное возведение в степень Два -цифровые целые числа и -битная экспонента Один -цифровое целое число Повторное умножение и сокращение
Возведение в степень возведением в степень
Возведение в степень с сокращением Монтгомери

В более сильных вычислительных моделях, в частности, в указательной машине и, следовательно, в машине произвольного доступа с единичной стоимостью, можно умножить два n -битных числа за время O ( n ). [6]

Алгебраические функции [ править ]

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

Операция Вход Выход Алгоритм Сложность
Полиномиальная оценка Один многочлен степени с целыми коэффициентами Один номер Прямая оценка
метод Горнера
Полиномиальный НОД (более или ) Два многочлена степени с целыми коэффициентами Один многочлен степени не более Евклидов алгоритм
Быстрый алгоритм Евклида (Лемера) [ нужна ссылка ]

Специальные функции [ править ]

Многие из методов в этом разделе приведены в Borwein & Borwein. [7]

Элементарные функции [ править ]

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

Ниже размер относится к количеству цифр точности, с которой должна быть вычислена функция.

Алгоритм Применимость Сложность
серия Тейлора ; повторное сокращение аргументов (например, ) и прямое суммирование
серия Тейлора; БПФ Ускорение на основе
серия Тейлора; двоичное разделение + алгоритм пакетной передачи битов [8]
Среднеарифметико-геометрическая итерация [9]

Неизвестно, является ли – оптимальная сложность элементарных функций. Самая известная нижняя оценка — это тривиальная оценка .

Неэлементарные функции [ править ]

Функция Вход Алгоритм Сложность
Гамма-функция -значное число Рядовая аппроксимация неполной гамма-функции
Фиксированное рациональное число Гипергеометрическая серия
, для целое число. Средняя арифметико-геометрическая итерация
Гипергеометрическая функция -значное число (Как описано в Borwein & Borwein)
Фиксированное рациональное число Гипергеометрическая серия

Математические константы [ править ]

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

Постоянный Алгоритм Сложность
Золотое сечение , метод Ньютона
Квадратный корень из 2 , метод Ньютона
число Эйлера , Бинарное расщепление ряда Тейлора для показательной функции
Ньютоновское обращение натурального логарифма
Пи , Бинарное расщепление арктанса в формуле Мачина [10]
Алгоритм Гаусса – Лежандра [10]
постоянная Эйлера , Метод Суини (приближение экспоненциальным интегралом )

Теория чисел [ править ]

Алгоритмы теоретико-числовых расчетов изучаются в вычислительной теории чисел .

Операция Вход Выход Алгоритм Сложность
Наибольший общий делитель Два -цифровые целые числа Одно целое число, не более цифры Евклидов алгоритм
Бинарный алгоритм НОД
Левый/правый k -арный двоичный алгоритм НОД [11]
Алгоритм Стеле – Циммермана [12]
Алгоритм Евклидова спуска, управляемый Шёнхаге [13]
Символ Якоби Два -цифровые целые числа , или Алгоритм Евклидова спуска, управляемый Шёнхаге [14]
Алгоритм Стеле – Циммермана [15]
Факториал Положительное целое число, меньшее Один -цифровое целое число Умножение снизу вверх
Бинарное расщепление
Возведение в степень простых множителей , [16]
[1]
Тест на примитивность А -цифровое целое число Правда или ложь Тест на простоту AKS [17] [18]
, предполагая гипотезу Агравала
Доказательство простоты эллиптической кривой эвристически [19]
Тест на простоту Бэйли – PSW [20] [21]
Тест на простоту Миллера – Рабина [22]
Тест на простоту Соловея – Штрассена [22]
Целочисленная факторизация А -битовое входное целое число Набор факторов Сито общего числового поля [номер 1]
Алгоритм Шора , на квантовом компьютере

Матричная алгебра [ править ]

Следующие цифры сложности предполагают, что арифметика с отдельными элементами имеет сложность O (1), как и в случае с арифметикой с плавающей запятой фиксированной точности или операциями над конечным полем .

Операция Вход Выход Алгоритм Сложность
Умножение матрицы Два матрицы Один матрица Умножение матрицы школьного учебника
Уличный алгоритм
Алгоритм Копперсмита – Винограда ( галактический алгоритм )
Оптимизированные CW-подобные алгоритмы [23] [24] [25] [26] ( галактические алгоритмы )
Умножение матрицы Один матрица и
один матрица
Один матрица Умножение матрицы школьного учебника
Умножение матрицы Один матрица и
один матрица, для некоторых
Один матрица Алгоритмы, приведенные в [27] , где верхние границы даны в [27]
Инверсия матрицы Один матрица Один матрица Элиминация Гаусса – Джордана
Уличный алгоритм
Алгоритм Копперсмита – Винограда
Оптимизированные CW-подобные алгоритмы
Разложение по сингулярным значениям Один матрица Один матрица,
один матрица и
один матрица
Двудиагонализация и QR-алгоритм
( )
Один матрица,
один матрица и
один матрица
Двудиагонализация и QR-алгоритм
( )
QR-разложение Один матрица Один матрица и
один матрица
Алгоритмы в [28]
( )
Определитель Один матрица Один номер Расширение Лапласа
Алгоритм без деления [29]
LU-разложение
Алгоритм Барейсса
Быстрое умножение матриц [30]
Обратная замена Треугольная матрица решения Обратная замена [31]

В 2005 году Генри Кон , Роберт Кляйнберг , Балаж Сегеди и Крис Уманс показали, что любая из двух разных гипотез будет означать, что показатель умножения матриц равен 2. [32]


Трансформирует [ править ]

Алгоритмы вычисления преобразований функций (в частности, интегральных преобразований ) широко используются во всех областях математики, в частности в анализе и обработке сигналов .

Операция Вход Выход Алгоритм Сложность
Дискретное преобразование Фурье Конечная последовательность данных размера Набор комплексных чисел Учебник
Быстрое преобразование Фурье

Примечания [ править ]

  1. ^ Эта форма субэкспоненциального времени действительна для всех . Более точную форму сложности можно представить как

Ссылки [ править ]

  1. ^ Jump up to: Перейти обратно: а б Шёнхаге, А.; Гротефельд, AFW; Веттер, Э. (1994). Быстрые алгоритмы — реализация многоленточной машины Тьюринга . Издательство BI Science. ISBN  978-3-411-16891-0 . ОСЛК   897602049 .
  2. ^ Кнут 1997
  3. ^ Харви, Д.; Ван дер Хувен, Дж. (2021). «Целое умножение за время O (n log n)» (PDF) . Анналы математики . 193 (2): 563–617. дои : 10.4007/анналы.2021.193.2.4 . S2CID   109934776 .
  4. ^ Кларрайх, Эрика (декабрь 2019 г.). «Умножение достигает предела скорости». Коммун. АКМ . 63 (1): 11–13. дои : 10.1145/3371387 . S2CID   209450552 .
  5. ^ Бурникель, Кристоф; Зиглер, Иоахим (1998). Быстрое рекурсивное деление . Отчеты об исследованиях Института компьютерных наук Макса Планка. Саарбрюккен: Библиотека компьютерных наук и документация MPI. OCLC   246319574 . МПИИ-98-1-022.
  6. ^ Шенхаге, Арнольд (1980). «Машины для модификации хранилища». SIAM Journal по вычислительной технике . 9 (3): 490–508. дои : 10.1137/0209036 .
  7. ^ Борвейн, Дж.; Борвейн, П. (1987). Пи и AGM: исследование аналитической теории чисел и сложности вычислений . Уайли. ISBN  978-0-471-83138-9 . OCLC   755165897 .
  8. ^ Чудновский, Дэвид; Чудновский, Григорий (1988). «Приближения и комплексное умножение по Рамануджану». Рамануджан вновь посетил: Материалы столетней конференции . Академическая пресса. стр. 375–472. ISBN  978-0-01-205856-5 .
  9. ^ Брент, Ричард П. (2014) [1975]. «Методы нахождения нуля многократной точности и сложность вычисления элементарных функций» . В Траубе, Дж. Ф. (ред.). Аналитическая вычислительная сложность . Эльзевир. стр. 151–176. arXiv : 1004.3412 . ISBN  978-1-4832-5789-1 .
  10. ^ Jump up to: Перейти обратно: а б Ричард П. Брент (2020), Братья Борвейн, Пи и годовое собрание акционеров , Springer Proceedings in Mathematics & Статистика, vol. 313, arXiv : 1802.07558 , doi : 10.1007/978-3-030-36568-4 , ISBN  978-3-030-36567-7 , S2CID   214742997
  11. ^ Соренсон, Дж. (1994). «Два быстрых алгоритма НОД». Журнал алгоритмов . 16 (1): 110–144. дои : 10.1006/jagm.1994.1006 .
  12. ^ Крэндалл, Р.; Померанс, К. (2005). «Алгоритм 9.4.7 (двоично-рекурсивный НОД Стеле-Циммермана)» . Простые числа - вычислительная перспектива (2-е изд.). Спрингер. стр. 471–3. ISBN  978-0-387-28979-3 .
  13. ^ Мёллер Н (2008). «Об алгоритме Шёнхаге и вычислении субквадратичных целых НОД» (PDF) . Математика вычислений . 77 (261): 589–607. Бибкод : 2008MaCom..77..589M . дои : 10.1090/S0025-5718-07-02017-0 .
  14. ^ Бернштейн, DJ «Более быстрые алгоритмы для поиска неквадратных чисел по модулю наихудших целых чисел» .
  15. ^ Брент, Ричард П.; Циммерманн, Пол (2010). "Ан Алгоритм для символа Якоби» . Международный симпозиум по алгоритмической теории чисел . Springer. стр. 83–95. arXiv : 1004.2091 . doi : 10.1007/978-3-642-14518-6_10 . ISBN  978-3-642-14518-6 . S2CID   7632655 .
  16. ^ Борвейн, П. (1985). «О сложности вычисления факториалов». Журнал алгоритмов . 6 (3): 376–380. дои : 10.1016/0196-6774(85)90006-9 .
  17. ^ Ленстра-младший, HW ; Померанс, Карл (2019). «Тестирование простоты с гауссовскими периодами» (PDF) . Журнал Европейского математического общества . 21 (4): 1229–69. дои : 10.4171/JEMS/861 . hdl : 21.11116/0000-0005-717D-0 .
  18. ^ Тао, Теренс (2010). «1.11 Тест на простоту АКС» . Эпсилон комнаты, II: Страницы третьего года математического блога . Аспирантура по математике. Том. 117. Американское математическое общество. стр. 82–86. дои : 10.1090/gsm/117 . ISBN  978-0-8218-5280-4 . МР   2780010 .
  19. ^ Морейн, Ф. (2007). «Реализация асимптотически быстрой версии алгоритма доказательства простоты эллиптической кривой». Математика вычислений . 76 (257): 493–505. arXiv : math/0502097 . Бибкод : 2007MaCom..76..493M . дои : 10.1090/S0025-5718-06-01890-4 . МР   2261033 . S2CID   133193 .
  20. ^ Померанс, Карл ; Селфридж, Джон Л .; Вагстафф-младший, Сэмюэл С. (июль 1980 г.). «Псевдопростые числа до 25·10 9 Математика (PDF) . вычислений . 35 (151): 1003–26. doi : 10.1090/S0025-5718-1980-0572872-7 . JSTOR   2006210 .
  21. ^ Бэйли, Роберт; Вагстафф-младший, Сэмюэл С. (октябрь 1980 г.). «Лукас Псевдопраймс» (PDF) . Математика вычислений . 35 (152): 1391–1417. дои : 10.1090/S0025-5718-1980-0583518-6 . JSTOR   2006406 . МР   0583518 .
  22. ^ Jump up to: Перейти обратно: а б Монье, Луи (1980). «Оценка и сравнение двух эффективных алгоритмов вероятностного тестирования простоты» . Теоретическая информатика . 12 (1): 97–108. дои : 10.1016/0304-3975(80)90007-9 . МР   0582244 .
  23. ^ Алман, Джош; Уильямс, Вирджиния Василевска (2020), «Усовершенствованный лазерный метод и более быстрое умножение матриц», 32-й ежегодный симпозиум ACM-SIAM по дискретным алгоритмам (SODA 2021) , arXiv : 2010.05846 , doi : 10.1137/1.9781611976465.32 , S2CID   2 22290442
  24. ^ Дэви, AM; Стотерс, AJ (2013), «Улучшенная оценка сложности матричного умножения», Proceedings of the Royal Society of Edinburgh , 143A (2): 351–370, doi : 10.1017/S0308210511001648 , S2CID   113401430
  25. ^ Василевска Уильямс, Вирджиния (2014), Преодоление барьера Копперсмита-Винограда: умножение матриц в O (n 2.373 ) время
  26. ^ Ле Галль, Франсуа (2014), «Степень тензоров и быстрое умножение матриц», Труды 39-го Международного симпозиума по символическим и алгебраическим вычислениям — ISSAC '14 , стр. 23, arXiv : 1401.7714 , Bibcode : 2014arXiv1401.7714L , doi : 10.1145/2608628.2627493 , ISBN  9781450325011 , S2CID   353236
  27. ^ Jump up to: Перейти обратно: а б Ле Галль, Франсуа; Уррутия, Флорен (2018). «Улучшенное умножение прямоугольных матриц с использованием степеней тензора Копперсмита-Винограда». В Чумае, Артур (ред.). Материалы двадцать девятого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам . Общество промышленной и прикладной математики. дои : 10.1137/1.9781611975031.67 . ISBN  978-1-61197-503-1 . S2CID   33396059 .
  28. ^ Найт, Филип А. (май 1995 г.). «Быстрое умножение прямоугольной матрицы и QR-разложение» . Линейная алгебра и ее приложения . 221 : 69–81. дои : 10.1016/0024-3795(93)00230-w . ISSN   0024-3795 .
  29. ^ Роте, Г. (2001). «Алгоритмы без делений для определителя и пфаффиана: алгебраические и комбинаторные подходы» (PDF) . Вычислительная дискретная математика . Спрингер. стр. 119–135. ISBN  3-540-45506-Х .
  30. ^ Ахо, Альфред В .; Хопкрофт, Джон Э .; Уллман, Джеффри Д. (1974). «Теорема 6.6». Проектирование и анализ компьютерных алгоритмов . Аддисон-Уэсли. п. 241. ИСБН  978-0-201-00029-0 .
  31. ^ Фрели, Дж. Б.; Борегар, РА (1987). Линейная алгебра (3-е изд.). Аддисон-Уэсли. п. 95. ИСБН  978-0-201-15459-7 .
  32. ^ Кон, Генри; Кляйнберг, Роберт; Сегеди, Балаж; Уманс, Крис (2005). «Теоретико-групповые алгоритмы умножения матриц». Материалы 46-го ежегодного симпозиума по основам информатики . IEEE. стр. 379–388. arXiv : math.GR/0511460 . дои : 10.1109/SFCS.2005.39 . ISBN  0-7695-2468-0 . S2CID   6429088 .

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 04c65564fbad327dc20aac09f84c967b__1713760680
URL1:https://arc.ask3.ru/arc/aa/04/7b/04c65564fbad327dc20aac09f84c967b.html
Заголовок, (Title) документа по адресу, URL1:
Computational complexity of mathematical operations - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)