События

Алгоритм умножения чисел и три ананке

1-й алгоритм умножения (оптимизация следствия)

Он связан с именем советского и российского математика Анатолия Алексеевича Карацуба. В 1960 году ему пришла в голову мысль, что можно оптимизировать имеющийся алгоритм умножения чисел. Он нашел способ перемножения чисел за 2n шагов вместо n2, предложив вместо большого количества умножений провести меньшее количество сложений и вычитаний. Метод Карацубы сделал возможным умножать числа с использованием лишь n1,58 умножений на однозначное число. Для умножения двух чисел из миллиарда знаков каждое метод Карацубы потребует 165 трлн шагов. Его преимущество проявляется, начиная с чисел, имеющих не менее 10 000 десятичных разрядов.

2-й алгоритм умножения (оптимизация процесса)

1971 г. Два немецких математика Арнольд Шёнхаге и Фолькер Штрассен опубликовали метод, позволяющий умножать большие числа за n × log n × log(log n) небольших умножений. Они же предположили существование более эффективного алгоритма, требующего всего n × log n умножений на один знак. В 2007 г. швейцарский математик Мартин Фюрер из университета штата Пенсильвания в США предложил асимптотически более быстрый метод с числом шагов на знак n × log n × 2log*n, где log*n – итерированный алгоритм n. 

3-й алгоритм умножения (изменение причины, выход на новый уровень)

За последнее десятилетие математики находили всё более быстрые алгоритмы умножения, каждый из которых постепенно подползал к отметке в n × log n, не совсем достигая её. В марте 2019 г. появляется алгоритм Харви и ван дер Хувена. Он доказывает, что умножение можно провести за n × log n шагов на один знак.

“Я был очень удивлен, что это было сделано”, – говорит ученый-теоретик Мартин Фюрер of Penn State. из Пенсильванского университета. Он обнаружил еще одно ускорение умножения в 2007 году, но отказался от дальнейшего совершенствования. – “Мне это казалось совершенно безнадежным.” (из ScienceNews)

Из публикаций в СМИ: Насколько подобные математические приемы способны ускорить реальные вычисления? По словам Харви, чтобы перемножить два числа с миллиардом десятичных знаков, современному компьютеру понадобится около месяца. Применение алгоритма Шёнхаге-Штрассена позволит уложиться в 30 секунд. Алгоритм, способ построения которого предлагает сам Харви, справится с задачей еще быстрее.

Но для текущих задач: «Всё, на что мы можем надеяться, это на трёхкратное ускорение, — сказал ван дер Хувен. – Ничего запредельного».

«В физике есть важные константы типа скорости света, позволяющие вам описывать всякие явления, — сказал ван дер Хувен. – Если вы хотите знать, насколько быстро компьютеры могут решать определённые математические задачи, тогда перемножение целых чисел возникает в виде некоего базового строительного блока, по отношению к которому можно выразить такую скорость».

Страницы: 1 2 3

Страницы ( 2 из 3 ): « Предыдущая1 2 3Следующая »

Комментарии: