Вы находитесь на странице: 1из 5

Исследование приведенного компетентного алгоритма над множеством алгоритмов вычисления свертки А.Ю. Баврина, В.В.

Мясников

ОБРАБОТКА ИЗОБРАЖЕНИЙ, РАСПОЗНАВАНИЕ ОБРАЗОВ

ИССЛЕДОВАНИЕ ПРИВЕДЕННОГО КОМПЕТЕНТНОГО АЛГОРИТМА


НАД МНОЖЕСТВОМ АЛГОРИТМОВ ВЫЧИСЛЕНИЯ СВЕРТКИ
А.Ю. Баврина, В.В. Мясников
Институт систем обработки изображений РАН,
Самарский государственный аэрокосмический университет им. С.П. Королева
Аннотация
В работе исследуются операция приведения и операция построения приведенного компе-
тентного алгоритма над множеством известных алгоритмов постоянной сложности. В каче-
стве известных алгоритмов опорного множества используются алгоритм прямого вычисления
свертки и наиболее известные алгоритмы на основе быстрых дискретных ортогональных пре-
образований (с декомпозицией Кули-Тьюки и Гуда-Томаса, алгоритм Рейдера для коротких
длин). Показано, что совместное их использование, которое дает приведенный компетентный
алгоритм, позволяет снизить вычислительную сложность формируемого алгоритма вычисле-
ния свертки даже по отношению к наилучшим алгоритмам опорного множества.
Введение
 ( M , N ) = par ( Z ) ∧ 
Рассмотрим задачу вычисления свертки:  
 u A* ( M , N ) = 
M −1 A ( Z ) ≡ A* ( Z ) if  .
y ( n ) = h ( n) * x ( n) = ∑ h(m) x (n − m) . (1)  =

min
{A}∧ 
u A ( M , N ) 
m=0  A∈(AM: ,NA∈)∈ℵ  
  A( M , N ) 
 
Здесь {x ( n)}n=0 – входной сигнал, {h ( m )}m = 0 – конеч-
N−1 M −1
Очевидно, компетентный алгоритм для решения
конкретной задачи вычисления свертки использует
{ y ( n )}
N − M +1
ная импульсная характеристика, - вы- тот алгоритм из опорного множества, сложность ко-
n =0

ходной сигнал. Обозначим задачу (1) через торого при решении данной задачи минимальна.

( {
Z = Z ℑ0 , x ( n ) }
N −1

n =0 ) , где ℑ = ({h ( n )}
0
M −1

n =0
,( N ,∅) – ) Предложение 1 [1] Компетентный алгоритм A⊕
над множеством алгоритмов постоянной слож-
априорная информация о задаче.
ности { A} является алгоритмом постоянной
Компетентный алгоритм сложности.
Введем функцию: Приведенный алгоритм
Определение 3 Функция сложности u A ( M , N )
( )
 
par  Z ℑ0 ,{ x ( n )}
N −1
 = ( M, N ) .
 ℑ0 = ({h ( n )} ,( N ,ℑ( x ) ) ) 
n =0 M −1
алгоритма A постоянной сложности называется
 n=0 
корректной, если выполняется неравенство:
Определение 1 Алгоритм A называется алгорит-
мом постоянной сложности, если для любой зада- ∀ ( M , N ) ∈ℵA( M , N ) u A ( M , N ) ≤
чи Z выражение для его вычислительной сложно-  
сти имеет вид аналитической функции, зависящей  
 uA ( m, N − ( M − m ) ) + 
только от величины par ( Z ) , то есть:    
  uA ( M − m, N − m ) +  , 
 m =1,M − 2 min 
 
U ( A(Z )) ≡ u A ( par (Z )) = u A (M , N ) .  (m , N − ( M − m ))∈ℵA(M ,N ) ,  ξadd  
 (M − m , N − m )∈ℵA( M ,N )   
Обозначим ℵA( M , N ) область определения алго-  
  u A ( M + m, N + m + n ) ⋅  
 
ритма постоянной сложности. ≤ min 
 mn==0,1,2,...
0,1,2...
min  ( N − M + n + 1)  , .

Определение 2 Компетентным алгоритмом 
 (M + m , N + m + n )∈ℵA( M ,N )  ( N − M + 1) 
 
A⊕ ∉ { A} над опорным множеством { A} алго-  
  uA ( M , n )(n − M + 1) + 
  
 u ( M , N − n + M − 1)( N − n )  
ритмов постоянной сложности называется алго-
ритм вида:   A  
 n=1,[ N /min
2] N − M +1 
 (M ,n )∈ℵA( M ,N ) , 
ℵA⊕ ( M , N ) = ∪ℵ( A M ,N )
, ∀ Z ∈ℵA* ( M , N )  (MN−, n+ M −1)∈ℵA( M ,N ) 
A∈{ A}  

64
2008 Компьютерная оптика, том 32, №1

Определение 4 Алгоритм постоянной сложности ность алгоритмов быстрой свертки. В том числе на
с корректной функцией сложности называется те, в которых используется секционирование вход-
приведенным. ного сигнала. Результаты исследования представле-
ны на рисунках 1 и 2 и таблице. Поскольку функция
Теорема 1 [1] Для любого алгоритма постоянной сложности u• ( M , N ) зависит от двух координат M
сложности A , заданного на ℵA( M , N ) , существует и N , на рисунках представлены только «сечения»
(может быть сконструирован) приведенный ал- этой функции для значения M = 60 .

горитм A : По результатам этого направления исследований
можно сделать следующие выводы:
ℵA⌣( M , N ) = ℵA( M , N ) , − функция сложности алгоритмов вычисления
∀ ( M , N ) ∈ℵA( M , N ) u A⌣ ( M , N ) ≤ u A( M , N ) . свертки на основе ДОП и с секционированием, и
без секционирования не является корректной;
− использование операции приведения для алго-
Теорема 2 [1] Пусть { A} – множество алгорит- ритмов вычисления свертки, основанных на ДОП
мов постоянной сложности, из которых построе- с декомпозицией Кули-Тьюки по различным ос-

{}
но множество A приведенных алгоритмов по-

нованиям с секционированием сигнала и без не-
го, позволяет уменьшить сложность решения
стоянной сложности. Пусть A1⊕ – приведенный большинства задач (50-56%) в области опреде-
компетентный алгоритм над множеством { A} с ления соответствующих алгоритмов (рис.1, 2);
⌣ − значительное снижение сложности для указан-
областью определения ℵA⌣⊕ , а A1⊕ – приведенный
1
⌣ ных алгоритмов происходит для задач с пара-
компетентный алгоритм над множеством A с {} метрами (M,N), у которых длина сигнала N чуть
областью определения ℵ . Тогда выполняются ⌣
больше степени основания декомпозиции Кули-
A2⊕
Тьюки (рис.1, 2). Для таких задач возможно сни-
соотношения: жение сложности более чем на порядок (показа-
(
ℵA⌣⊕ = ℵA⌣ ⊕ ≡ ℵA⌣⊕ ,
1 2
) тель (2б) в таблице).
⌣ ⌣
(
∀Z ∈ℵA⌣⊕ U A1⊕ (Z ) = U A2⊕ ( Z ) .) ( )
Исследование приведенного компетентного
алгоритма
Исследование проводилось для наиболее извест-
ных алгоритмов вычисления сверток, формирующих
множество:
{A DC , A2 , A2 _ S , A3 , A4 , AGT . } (2) Рис. 1. Функция сложности после операции приведения

Здесь:
− ADC – алгоритм прямого вычисления свертки [2]
согласно формуле (1);
− A2 , A3 , A4 – вычисления свертки с использовани-
ем декомпозиции Кули-Тьюки по основаниям
«2», «3» и «4» соответственно (используется до-
полнение входного сигнала нулями до степени
соответствующего основания) [3]; Рис. 2. Функция сложности после операции приведения
− A2 _ S – с декомпозицией Кули-Тьюки по основа- для алгоритма с секционированием
нию «2», дополнением нулями до степени «2» и Вторым направлением является исследование
секционированием [3, 4]; приведенного компетентного алгоритма. Для этого
− AGT –с декомпозицией Гуда-Томаса и алгоритма из указанного в (2) множества алгоритмов постоян-
Рейдера для вычисления малоточечных ДПФ (с ной сложности выбиралось некоторое подмноже-
использованием дополнения входного сигнала ство Α , называемое опорным. Сложность каждого
нулями до длины, раскладывающейся на взаимно алгоритма опорного множества определялась на об-
простые сомножители) [3]. ласти ℵ( M ,N ) = [1, 512 ] × [1, 512] . Над опорным под-
Исследование проводилось в двух направлениях. множеством Α строился компетентный алгоритм
A⊕ . Для него выполнялась операция приведения,
Первое направление – это определение влияния результатом которой⌣ являлся приведенный компе-
операции приведения на вычислительную слож- тентный алгоритм A⊕ . На рисунках 3-5 (по мере

65
Исследование приведенного компетентного алгоритма над множеством алгоритмов вычисления свертки А.Ю. Баврина, В.В. Мясников

увеличения числа алгоритмов опорного множества) той же причине, и процесс синтеза новых алго-
приведены функции сложности для алгоритмов ритмов вычисления сверток, которые по пока-
опорного множества и построенного над ними при- зателю сложности не превосходят радикально
веденного компетентного алгоритма. существующие, с практической точки зрения яв-
По представленным результатам можно сделать ляется нецелесообразным.
следующие выводы:
− независимо от числа алгоритмов опорного мно-
жества, можно рассчитывать на снижение слож-
ности в относительно большом (более 30%) чис-
ле отсчетов области определения;
− для отсчетов области определения, в которых
произошли изменения функции сложности в ре-
зультате операции приведения, можно рассчиты-
вать на снижение сложности в среднем на 10- Рис. 3. Функция сложности для приведенного
30% (от сложности компетентного алгоритма). компетентного алгоритма, A = { ADC , A2 }
− как число отсчетов области определения, в которых
операция приведения снижает сложность компе-
тентного алгоритма, так и собственно величина
этого снижения зависит не только (а с учетом пред-
ставленных результатов, не столько) от числа алго-
ритмов опорного множества, а в значительной сте-
пени от вида функции сложности этих алгоритмов.
То есть, в общем случае нет монотонного поведе-
ния ни одного показателя от числа алгоритмов
опорного множества (таблица), кроме средней

сложности итогового алгоритма A⊕ ;
− по мере наращивания мощности опорного мно- Рис. 4. Функция сложности для приведенного
жества алгоритмов, величина снижения средней компетентного алгоритма, A = { ADC , A2 , A4 }
сложности и компетентного, и приведенного
компетентного алгоритма оказывается все мень-
ше (см. поведение показателей (5) и (6) в табли-
це). В частности, при переходе от трех к пяти ал-
горитмам в опорном множестве показатель (6)
снижается всего на 10% (с 113 до 102 операций)
по сравнению с почти 30% снижения (со 165 до
117) при переходе от одного алгоритма к двум.
Поэтому на практике представляется малоэф-
фективным процесс бесконечного наращивания
мощности опорного множества алгоритмов.
Практически тех же результатов (по сложности
решения задач свертки) можно добиться и при Рис. 5. Функция сложности для приведенного
сравнительно малом количестве алгоритмов. По компетентного алгоритма, A = { ADC , A2 , A3 , A4 , AGT }

Таблица 1. Сводные характеристики изменения сложности алгоритмов решения задачи Z


при использовании операции приведения
Алгоритм
⊕ ⊕
Показатель  ADC , A2 ,   ADC , A2 , A3 , 
{ ADC , A2 }

A2 _ S A2    
 A4   A4 , AGT 
(1) относительное число отсчетов области
определения, в которых произошло сни- 0.499 0.563 0.348 0.394 0.423
жение сложности алгоритма
(2а) максимальное абсолютное уменьше-
17863 17863 77.717 88.478 91.944
ние сложности алгоритма
(2б) максимальное относительное
12.102 12.603 1.929 2.132 1.323
уменьшение сложности алгоритма

66
2008 Компьютерная оптика, том 32, №1

(3а) среднее абсолютное уменьшение


сложности алгоритма, нормированное на
271.070 250.367 24.353 29.870 10.932
количество отсчетов, в которых произо-
шло изменение сложности
(3б) среднее относительное уменьшение
сложности алгоритма, нормированное на
1.405 1.650 1.220 1.274 1.104
количество отсчетов, в которых произо-
шло изменение сложности
(4а) среднее абсолютное уменьшение
сложности алгоритма, нормированное на 135.160 140.902 8.4693 11.754 4.620
мощность области определения
(4б) среднее относительное уменьшение
сложности алгоритма, нормированное на 0.701 0.928 0.424 0.501 0.466
мощность области определения
(5) средняя сложность компетентного ал-
299.505 306.115 125.414 124.831 106.618
горитма
(6) средняя сложность приведенного ал-
164.346 165.213 116.944 113.0767 101.998
горитма

а) б) в)

г) д)
Рис. 6. Отсчеты области определения, в которых операция приведения снизила сложность соответствующего алгоритма
решения задачи вычисления свертки: (серым - отсчеты, не входящие в область определения, белым - отсчеты области
определения, в которых операция приведения снизила сложность соответствующего алгоритма, черным - отсчеты
области определения, в которых операция приведения не изменила сложность соответствующего алгоритма)
а) A2 ; б) A2_ S ; в) { ADC , A2 } ; г) { ADC , A2 , A4 } ; д) { ADC , A2 , A3 , A4 , AGT }
⊕ ⊕ ⊕

Благодарности Литература
Работа выполнена при поддержке: [1] Мясников В.В. О синтезе эффективного алгоритма
над множеством алгоритмов вычисления свертки //
• РФФИ (проекты № 06-01-00616-а, Компьютерная оптика, 2006. В. 29. С. 78-117.
№ 07-07-97610-р_офи); [2] L.R. Rabiner, B. Gold Theory and applications of digital
signal processing // New Jersey: Prentice-Hall, Inc. Eng-
• Фонда содействия отечественной науке; lewood Cliffs, 1975.
• российско-американской программы «Фунда- [3] H.J. Nussbaumer Fast Fourier Transform and Convolution
ментальные исследования и высшее образова- Algorithms // Heidelberg, Germany: Springer, 1990. P. 276.
[4] R.E. Blahut Fast Algorithms for Digital Signal Pro-
ние» (CRDF Project RUX0-014-SA-06). cessing // Reading, MA: Addison-Wesley Inc., 1984.

67
STUDY OF THE REDUCED COMPETENT ALGORITHM COMPARED TO A SET OF CONVOLUTION
ALGORITHMS
A.Yu. Bavrina1,2, V.V. Myasnikov1,2
1 Image Processing Systems Institute оf the RAS,
2 Samara State Aerospace University

Abstract
Reduction and build-up operations for the reduced competent algorithm compared to a set
of existing sophisticated algorithms are investigated. As actual reference-set algorithms, we use
a direct convolution algorithm and the best-known algorithms based on discrete fast orthogonal
transformations (with Cooley-Tukey and Good-Thomas decomposition, Raider algorithm for
high-frequency waves.) It is shown that their joint use provided by the reduced competent algo-
rithm may lower computational complexity of the generated convolution algorithm with re-
spect to reference-set algorithms.
Keywords: convolution, computational complexity, fast orthogonal transformations, re-
duced competent algorithm.
Acknowledgements: The work was supported by:
the Russian Foundation for Basic Research (projects No. 06-01-00616-а, No. 07-07-97610-
r_ofi);
the Russian Science Support Foundation;
and the Russian-American Basic Research and Higher Education Program (CRDF Project
RUX0-014-SA-06).
Citation: Bavrina AYu, Myasnikov VV. Study of the reduced competent algorithm com-
pared to a set of convolution algorithms [In Russian]. Computer Optics 2008; 32(1): 64-67.
References
[1] Myasnikov VV. On the synthesis of the efficient algo- [3] Nussbaumer HJ. Fast Fourier Transform and Convolu-
rithm over the set of the convolution algorithms [In tion Algorithms. Heidelberg, Germany: Springer
Russian]. Computer Optics 2006; 29: 78-117. 1990; 276 pp.
[2] Rabiner LRB. Gold Theory and applications of digital [4] Blahut RE. Fast Algorithms for Digital Signal Pro-
signal processing. New Jersey: Prentice-Hall, Inc. cessing. Reading, MA: Addison-Wesley Inc. 1984.
Englewood Cliffs 1975.