Об эффективности алгоритмов Рейдера-Винограда
Автор: Чернов Владимир Михайлович
Журнал: Компьютерная оптика @computer-optics
Рубрика: Обработка изображений: Восстановление изображений, выявление признаков, распознавание образов
Статья в выпуске: 4 т.33, 2009 года.
Бесплатный доступ
Доказывается факт существования "исключительных" простых чисел, для которых алгоритмы Рейдера-Винограда вычисления дискретного преобразования Фурье и/или свертки соответствующей длины являются неэффективными. Приводятся достаточные условия "исключительности" в аналитической форме.
Дискретное преобразование фурье, циклическая свертка, алгоритм рейдера-винограда, вычислительная сложность
Короткий адрес: https://sciup.org/14058906
IDR: 14058906
Текст научной статьи Об эффективности алгоритмов Рейдера-Винограда
Хорошо известно [1], что для некоторых простых p = N существуют быстрые алгоритмы дискретного преобразования Фурье (БА ДПФ) с минимальным числом умножений. Синтез таких алгоритмов, как показал Рейдер [2]), сводится к эффективному вычислению циклической свертки длины ( p - 1 ) . Вычисление свертки эквивалентно параллельному вычислению произведений некоторых полиномов по модулям циклотомических полиномов P 1 ( t ) , ..., P d ( t ) , где P ( t ) ... P d ( t ) = t p - 1 - 1.
Полуэвристическое нахождение формул «экономного» умножения в полиномиальных кольцах ( mod P j ( t ) ) является основой метода Винограда [3],[4], в рамках которого получены абсолютные нижние оценки мультипликативной сложности БА ДПФ и лишь для некоторых небольших простых чисел p синтезированы БА с хорошими вычислительными характеристиками [5]. Способ сведения ДПФ с простым числом отсчетов к циклической свертке, использующий цикличность мультипликативной группы простого конечного поля, предложен Ч.Рейдером в 1968 г. Без какой-либо общей теории быстрые алгоритмы коротких сверток были впервые описаны в [3]. В 1976 г. Ш.Виноград [4] предложил метод построения алгоритмов коротких сверток и доказал теоремы о сложности рассмотренных алгоритмов свертки для полей комплексных и вещественных чисел. К сожалению, некритическое прочтение работ Ш.Винограда сформировало у определенной части пользователей представление об оптимальности, неулучшаемости БА Винограда и их существовании для всех простых р . Сам Ш. Виноград показал зависимость сложности вычисления свертки от арифметических свойств поля, в котором производятся вычисления. В настоящее время оптимальные алгоритмы ДПФ известны для простых p = 2, 3, 5, 7, 11, 13, 17, 19 (см., например, [5]).
В данной статье показывается, что уже традиционное сведение вычисления ДПФ простой длины p к свертке длины ( p - 1 ) = 5 , в случае, когда 5 «плохо» факторизуется, может приводить к «быстрым» алгоритмам, сложность которых выше тривиального (непосредственного) вычисления ДПФ.
1. Некоторые примеры
Пример 1. Рассмотрим вычисление дискретной круговой свертки p-i
z(m) = (x*y)(m) = ^x(n) y(m-n) (1)
n = 0
вещественных последовательностей с периодом p =47. Пусть M ( N ) и C ( N ) – мультипликативные сложности вычисления N -точечного ДПФ вещественного массива и N -точечной круговой свертки вещественных последовательностей, соответственно; C *( N ) - мультипликативная сложность вычисления свертки вещественной и комплексной последовательностей. Примем типичное для БА Рейдера-Винограда соглашение, что вычисление ДПФ комплексного массива требует в два раза больше умножений, чем вещественного [1]. Будем также считать, что умножение комплексных чисел реализуется посредством трех вещественных умножений.
-
1. Вычисление 47-точечной свертки по стандартной спектральной схеме требует вычисления двух 47-точечных ДПФ вещественных массивов, одного (обратного) ДПФ комплексного массива и 3 • 47 = 141 вещественных умножений для реализации умножения 47 спектральных компонент. Таким образом, справедливо равенство:
-
2. Вычисление 47-точечного ДПФ, согласно основной идее метода Рейдера, сводится к вычислению 46-точечной свертки вещественной с комплексной последовательностью значений базисных функций ДПФ, что предполагает, по крайней мере, вычисление двух 23-точечных сверток функций указанного вида. Поэтому из (2) следует
-
3. Так как число 23 также простое, то вычисление 23-точечных сверток опять сводится к вычислению 23-точечных ДПФ и дополнительным умножениям спектральных компонент. Так как ДПФ подпоследовательностей значений базисных функций 47-точечного ДПФ могут быть выполнены заранее, то справедливо равенство
C ( 47 ) = 4 M ( 47 ) + 141. (2)
C ( 47 ) = 2 • 4 • C * ( 23 ) + 141.
C *( 23) = 3 M (23) + 3 • 23, откуда, с аналогичной аргументацией, получаем:
C ( 47 ) >
> 24 M ( 23 ) + 141 + 3 • 8 • 23 > 693 + 48 C * ( 11 ) >
> 693 + 48 ( 3 M ( 11 ) + 33 ) = 2277 + 144 C * ( 10 ) > (3)
> 2277 + 288 C ( 5 ) .
Лучший из известных алгоритмов вычисления 5точечной свертки содержит 10 вещественных умножений [6]. Поэтому из (3) следует C ( 47 ) > 5157 . В то же время, прямой метод вычисления правой части равенств (1) для m = 0, ..., 46 требует 47 • 47 = 2209 умножений, то есть приблизительно в 2 раза меньше. Основными причинами парадоксального результата в рассмотренном выше примере является существование «достаточно длинной» цепочки простых чисел
Р1 = 5, p2 = 2Р1 +1 = 11, p3 = 2p2 +1 = 23, p 4 = 2 p 3 +1 = 47 (4)
и практически безальтернативная необходимость вычисления свертки простой длины спектральными методами. Общий результат о «исключительных» простых числах p , для которых, по всей видимости, не существует удовлетворительных алгоритмов вычисления ДПФ и свертки длины p, описывается следующим утверждением.
Теорема 1. Пусть p 0 - простое, d 0 , … , dk -такие натуральные числа, что pt + 1 = dtpt + 1 -также простые числа. Пусть w = dk. - d 0 p 0 . Тогда справедливо неравенство
M ( pk + 1 ) > -Л—Л ( 2 • 4 k - 1 ) . max { d j }
0 < j < k
Доказательство. Аргументация аналогична рассуждениям Примера 1. Для любого t = 1, ..., k справедливы неравенства:
M ( p. + 1 ) = C * ( d t p t ) > d t C * ( p. ) > 4 dM ( p. )+ 3 p. .(6)
Кроме того, для t = 0 аналогично (6) имеем
M ( p ) = C • ( d 0 p 0 ) > d 0 C •( p 0 ) > 2 d 0 C ( p 0 ) . (7)
Нижние оценки Винограда для C ( p 0 ) имеют вид C ( p 0 ) > 2 p 0 - t , где T - число неприводимых многочленов P j ( z ) в разложении многочлена Рейдера [1]:
z p 0 - 1 - 1 = P 1 ( z ) . Pt ( z ) . (8)
Число T зависит от поля, над которым рассматривается разложение (8) (см., например [2]), но в любом случае т < p 0. Поэтому C ( p 0 ) > p 0.
Утверждение теоремы получается редукцией неравенства (6) с учетом соотношений (7)-(8) и очевидного неравенства pt + 1 < dtdt 1 . d 0 p 0.
Действительно
M ( pk + 1 ) > 4 d k M ( pk ) + 3 pk >
-
> 4 d k M ( pk ) + 3 d k - 1 - d 0 p 0 >
-
> 42 d k d k - 1 M ( pk - 1 )+
-
+ 4 • 3 d k d k - 2 . d 0 p 0 + 3 d k - 1 . d 0 p 0 >
-
> 4 k • 3 d k d k - 1 - d 1 M ( p ) +
-
+ 3 § 4 1 ( d k - , )- 1 d k - d 0 p 0 >
-
5 = 0
-
> ( 2 • 4 k - 1 ) .
max { d j }
-
0 < j < k
Проводимое ниже следствие дает достаточно грубые, но легко проверяемые неравенства, характеризующее «исключительные» простые числа, для которых, как и в Примере 1, последовательное применение метода Рейдера приводит к алгоритмам ДПФ (или свертки), мультипликативная сложность которых выше, чем при непосредственном вычислении соответствующих сумм.
Следствие 1. Пусть p 0 - простое, d 0, … , dk -такие натуральные числа, что p t + 1 = dtpt + 1 - также простые числа.
Если справедливо неравенство
-
6 k 4-1 > log 2 pk + 1 , (9)
то справедливо и неравенство
M ( pk + 1 ) > 2 p ^+1 . (10)
Доказательство. Так как max{d,)< w, ,
-
0 < j < kv й p 0 2 k
то
----( 2 • 4 k - 1 ) > p 02 k ( 2 • 4 k - 1 ) > 2 • 2 k • 4 k - 2 k . max { d } 0 < j < k L j J
Поэтому из неравенства
-
8 k > p2+1 + 2 k(11)
следует неравенство (5). Но log 2 ( p 2 + 1 + 2 k ) =
L 2k 1
= 2log 2 pk + 1 + log 2 I 1 + — I < 2log 2 pk + 1 +T
I pk+1 J откуда легко следует (6).
Аналогичное неравенство справедливо и для вычисления p -точечной свертки при «исключительных» простых p .
Следствие 2. Пусть p 0 - простое, d 0, … , d k -такие натуральные числа, что pt +1 = dtpt + 1 - также простые числа, k > 4. Тогда, если справедливо неравенство
6 k + 5 , ...
-
—— > log 2 pk + 1 , (12)
то справедливо и неравенство
C ( pk + 1 ) > pL- (13)
Доказательство. В силу неравенства
C ( pk + i ) = 4 C ( Pk + i )+ Pk + i > 4 M ( Pk + i ) ,
Примера 1, доказательство неравенства (13) проводится аналогично доказательству неравенства (10) предыдущего следствия.
Пример 2. Пусть p 0 = 2 ; pt + 1 = dtpt + 1, где d о = 2 , d 1 = 2 , d 2 = 8, d 3 = d 4 = d 5 = d 6 = d 7 = 2. Тогда p 8 = 2879 - простое число, все pt
( t = 0, ..., 7 ) также простые. Неравенство (12) в этом случае выполняется:
6 k 1 5 = 11,75 > 11,55 > log22879.
2. О плотности исключительных простых чисел в натуральном ряду
Анализируя вышесказанное, автор считает возможным высказать предположение, что «плохих» простых чисел, которые порождают такие натуральные N , что для этих длин не существует эффективных алгоритмов вычисления ДПФ и свертки, бесконечно много, но встречаются они весьма редко. Первая часть предположения базируется исключительно на субъективном авторском мнении.
Гипотеза. Существует бесконечно много конечных множеств натуральных чисел d 0 , … , dk и таких простых p 0 , что числа pt + 1 = dtpt + 1 также являются простыми, причем для pk + 1 выполняются неравенства (9)-(10) или (12)-(13) .
Вторая часть предположения (о редкости «плохих» простых) базируется на вполне определенных количественных результатах.
Определение. Если простое p таково, что число q = 2 p + 1 также простое, то число p называется простым числом Софи Жермен.
Простые числа (4) как раз и являются простыми Софи Жермен. Первыми такими простыми являются числа 2, 3, 5, 11, 23, 29, 41, 53, 83, 89, 113, 131. Конечно или бесконечно множество простых Софи Жермен в настоящее время неизвестно. Известна только гипотетическая асимптотическая оценка количества 5 ( N ) простых Софи Жермен, на превосходящих данного N :
5 ( N ) - 2 C 2
N
( ln N ) 2
где C 2 = 0,6601618158... - так называемая «константа простых близнецов». Оценка (14) достаточно хорошо согласуется с результатами численных экспериментов [10]-[12].
Разумеется, даже в случае справедливости оценки (14) нельзя утверждать бесконечность множества чисел, для которых справедлива Гипотеза (число q = 2p +1 может быть и простым, а для простого p, простого Софи Жермен, «хорошо» факторизуется число (p -1)). Простые числа q = 2p +1 для простых чисел p Софи Жермен можно охарактеризовать и так: число (q -1) имеет «аномально мало» простых делителей (всего два). Простые числа с аномально малым количеством делителей у числа (q -1) рассматривались в работе [7]. Косвенным подтверждением высказанного в Гипотезе предположения о редкости «исключительных» простых и «плохих» натуральных, ими порожденных, явилась бы информация о количестве «обобщенных простых Софи Жермен», при которых q = kp + 1 также простое при некотором четном k и количественная информация о «редкости» простых q с «аномально малым» числом простых делителей у числа (q -1).
Обозначим N ( p < x ; A ) число простых p < x , для которых выполняется условие A . Справедливы следующие утверждения [7],[8].
Теорема 2. Для четного k,2 < k < x справедливо неравенство:
N ( p < x ; p - 1 = kq , q - простое ) = O

Пусть далее v ( n ) - число различных простых делителей числа n . Известно ([8], c.188), что «нормальное» число простых делителей числа n равно lnln n , то есть, за исключением o ( x ) значений n , n < x , выполняются неравенства
(1 - £)lnlnn < v(n) < (1 + £)lnlnn .
Следующая теорема показывает, что числа ( p - 1 ) ведут себя так же, как и все натуральные.
Теорема 3. Для любого £ >0 выполняется асимптотическое равенство