Оптимизация метода Питасси вычисления свертки

Предложенный метод расширяет диапазон используемых разрядностей циклической свертки за счет применения эффективного метода вычисления циклической свертки разрядностью 2К, где К – нечетное. Показано, что для вычисления свертки такой разрядности достаточно вычислить только две свертки половиной (от...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2009
Автор: Терещенко, А.Н.
Формат: Стаття
Мова:Російська
Опубліковано: Інститут проблем штучного інтелекту МОН України та НАН України 2009
Теми:
Онлайн доступ:https://nasplib.isofts.kiev.ua/handle/123456789/7827
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Оптимизация метода Питасси вычисления свертки / А.Н. Терещенко // Штучний інтелект. — 2009. — № 1. — С. 204-212. — Бібліогр.: 6 назв. — рос.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859608519353827328
author Терещенко, А.Н.
author_facet Терещенко, А.Н.
citation_txt Оптимизация метода Питасси вычисления свертки / А.Н. Терещенко // Штучний інтелект. — 2009. — № 1. — С. 204-212. — Бібліогр.: 6 назв. — рос.
collection DSpace DC
description Предложенный метод расширяет диапазон используемых разрядностей циклической свертки за счет применения эффективного метода вычисления циклической свертки разрядностью 2К, где К – нечетное. Показано, что для вычисления свертки такой разрядности достаточно вычислить только две свертки половиной (от начальной) разрядности, при большем количестве пред- и поствычислений в виде циклических сдвигов по сравнению с методом Питасси. Представлены в общем виде формулы вычисления циклической свертки. Приведена реализация операции многоразрядного умножения на основе циклической свертки. В виде таблицы приведены оценки сложности вычисления свертки большой разрядности вида N=K*2^n , n>1 для K=3,5,7,9. Запропонований метод розширює діапазон використовуваних розрядностей циклічної згортки за рахунок застосування ефективного методу обчислення циклічної згортки розрядністю 2К, де К – непарне. Показано, що для обчислення згортки такої розрядності достатньо обчислити тільки дві згортки половинної (від начальної) розрядності, при більшій кількості перед- та постобчислень у вигляді циклічних зсувів. Представлені в загальному вигляді формули обчислення циклічної згортки. Наведена реалізації операції багаторозрядного множення на основі циклічної згортки. У вигляді таблиці наведені оцінки складності обчислення циклічної згортки великої розрядності виду N=K*2^n , n>1 для K=3,5,7,9. The suggested method extends the range of used measurements of cyclic convolutions with using of effective calculation method of cyclic convolutions with measurement 2K then K is odd. It is shown for convolution calculation with that measurement it is enough to calculate only 2 convolutions half-measurement with more number of pre- and post-calculations like cyclic shifts. It is given in general the calculation formulas of cyclic convolution. It is given the building of multi-digit multiplication with using cyclic convolution. The complexities of cyclic convolution calculation with measurement N=K*2^n , n>1 for K=3,5,7,9 are given in table.
first_indexed 2025-11-28T08:59:42Z
format Article
fulltext «Искусственный интеллект» 1’2009 204 4Т УДК 681.3:519 А.Н. Терещенко Институт кибернетики им. В.М. Глушкова НАН Украины, г. Киев teramidi@ukr.net Оптимизация метода Питасси вычисления свертки Предложенный метод расширяет диапазон используемых разрядностей циклической свертки за счет применения эффективного метода вычисления циклической свертки разрядностью 2К, где К – нечетное. Показано, что для вычисления свертки такой разрядности достаточно вычислить только две свертки половиной (от начальной) разрядности, при большем количестве пред- и поствычислений в виде циклических сдвигов по сравнению с методом Питасси. Представлены в общем виде формулы вычисления циклической свертки. Приведена реализация операции многоразрядного умножения на основе циклической свертки. В виде таблицы приведены оценки сложности вычисления свертки большой разрядности вида nKN 2 , 1n для .9,7,5,3K Введение В последнее время большее внимание уделяется вопросам цифровой обработки сигналов и методам оптимизации вычислений, связанных с этой обработкой [1-6]. В статье особое внимание уделяется методам вычисления циклической свертки, которая широко применяется в построении цифровых фильтров, асимметричной криптографии и т.д. Как известно, выбор метода зависит от его области эффективного использования. Цик- лическая свертка применяется при реализации быстрой операции умножения. Операция умножения занимает большую часть вычислительного времени в операциях асим- метричной криптографии, таких, как генерация и распределение секретного ключа, шифрование и дешифрование информации, проверка и наложение цифровой подпи- си и т.д. Целью данной статьи является оптимизация вычисления свертки. Основное внимание уделяется уменьшению сложности алгоритма за счет уменьшения числа вычислений сверток меньшей разрядности. В данной работе приводится применение циклической свертки для реализации операции умножения. Как известно, эффектив- ность операции умножения больших чисел зависит от метода реализации, а точнее, от количества операций умножения однократной точности, поэтому основной целью статьи является уменьшение общего числа операций умножений. Ниже описан метод, при котором для вычисления свертки разрядностью 2К, где К – нечетное, достаточно вычислить 2 свертки разрядностью К. Приведем вна- чале эффективный алгоритм вычисления свертки разрядностью 2К, где К – четное, предложенный Питасси, который требует вычисления 3 сверток меньшей разряд- ности на всех итерациях. Оптимизация метода Питасси вычисления свертки «Штучний інтелект» 1’2009 205 4Т Операторы и условные обозначения Последовательности разрядности N могут быть представ- лены в виде векторов:              1 1 0 Nx x x x  ,              1 1 0 Ny y y y  . Циклическую свертку двух последовательностей x и y обозначим оператором  : yxr  , )...( 10  Nrrr ,     1 0 mod)( N p Nkppk yxr , 1,0  Nk , что равносильно записи: 3210 21033 10322 03211 32100 rrrr yyyyx yyyyx yyyyx yyyyx 3210 01233 30122 23011 12300 rrrr xxxxy xxxxy xxxxy xxxxy . Далее будет использоваться именно это представление. Рассматривается циклическая (или еще известная как арифметическая) свертка, поэтому слово «циклическая» в дальнейшем опускается. Операторы ULOE ,,, (E-Even (четный), O-Odd (нечетный), L-Lower (нижний), U-Upper (верхний)) определим следующим образом: kk xxE 2)(  , 12)(  kk xxO , kk xxL )( , kNk xxU  2/)( , 12,0  Nk . Циклический сдвиг влево элементов обозначим через   vz : Nkk vz mod)1(  , 1,0  Nk . Циклический сдвиг вправо элементов обозначим через   vz : NNkk vz mod)1(  , 1,0  Nk . Проиллюстрируем вид операторов для случая 8N :              6 4 2 0 x x x x xE ,              7 5 3 1 x x x x xO ,              3 2 1 0 x x x x xL ,              7 6 5 4 x x x x xU ,                0 6 4 2 y y y y yE ,                4 2 0 6 y y y y yE . Циклический сдвиг влево элементов n раз обозначим через   n vz       . Циклический сдвиг вправо элементов n раз обозначим через   n vz       . Терещенко А.Н. «Искусственный интеллект» 1’2009 206 4Т Метод парисекции Рассмотрим метод, предложенный Питасси [3] и обобщенный Девисом [6]. Лемма 1 [3]. Входящие и исходящие последовательности свертки yxr  могут быть расщеплены на равные группы в соответствии с четностью элементов последователь- ностей: yOxOyExErE  ,   yExOyOxErO . (1) 76543210 012345677 701234566 670123455 567012344 456701233 345670122 234567011 123456700 rrrrrrrr xxxxxxxxy xxxxxxxxy xxxxxxxxy xxxxxxxxy xxxxxxxxy xxxxxxxxy xxxxxxxxy xxxxxxxxy OrEr rrrrrrrr xxxxxxxxy xxxxxxxxy xxxxxxxxyOy xxxxxxxxy xxxxxxxxy xxxxxxxxy xxxxxxxxyEy xxxxxxxxy 75316420 024613577 602471355 460257133 246035711 713502466 571360244 357146022 135724600 Рисунок 1 – Вычисление свертки для 8N стандартным методом Рисунок 2 – Вычисление свертки для 8N методом парисекции Из выражений: )()( yOyExOxEa  , )()( yOyExOxEb  ,        yEyExOc , )(21 barE  , cbarO  )(21 (2) можно получить соотношения (1). С более детальным выводом формул (2) можно ознакомиться в [3]. Перейдем к вычислению свертки разрядностью KN 2 , где K – нечетное. Рассмотрим пример свертки разрядностью 326 N : 543210 0123455 5012344 4501233 3450122 2345011 1234500 rrrrrr xxxxxxy xxxxxxy xxxxxxy xxxxxxy xxxxxxy xxxxxxy rOrE rrrrrr xxxxxxy xxxxxxyyO xxxxxxy xxxxxxy xxxxxxyyE xxxxxxy 531420 0245355 4021133 2403511 5130244 3514022 1352400 Рисунок 3 – Вычисление свертки для 6N стандартным методом Рисунок 4 – Вычисление свертки для 6N методом парисекции Оптимизация метода Питасси вычисления свертки «Штучний інтелект» 1’2009 207 4Т Воспользуемся тем свойством свертки нечетной разрядности, что циклический сдвиг нечетное число раз в одном направлении дает результат четного сдвига в дру- гом направлении.              yOyExOxEd ,              yOyExOxEe . (3)       yOxOyExEyOxOyExEedrE  21 , (4)                 yExOyOxEyExOyOxEedrO 21 . (5) Лемма 2. Имеют место соотношения:     yOxOyOxO  ,     yOxEyOxE , (6)     yExOyExO  . (7) Рассмотрим последовательно каждое соотношение на примере 6N . Начнем с     yOxOyOxO  . zE zzz xxxy xxxyyO xxxy 420 1355 5133 3511   zE zzz xxxy xxxyyO xxxy 420 3511 1355 5133  yOxOzE      yOxOzE Теперь рассмотрим     yOxEyOxE . zO zzz xxxy xxxyyO xxxy 531 0245 4023 2401      zO zzz xxxy xxxyyO xxxy 153 0241 4025 2403 yOxEzO      yOxEzO Аналогично можно показать, что     yExOyExO . Из (6) следует, что:     yOxEyOxEyOxE                . В заключении рассмотрим     yExOyExO  . zO zzz xxxy xxxyyE xxxy 531 1354 5132 3510      zO zzz xxxy xxxyyE xxxy 315 1352 5130 3514  zO zzz xxxy xxxyyE xxxy 315 3514 1352 5130 yExOzO      yExOzO     yExOzO  Терещенко А.Н. «Искусственный интеллект» 1’2009 208 4Т Аналогично можно показать, что верно соотношение     xEyOyExO . С учетом формул (6), (7) соотношение (5) примет вид:         2              yExOyExOyExO . (8) С учетом того, что два циклических сдвига вправо можно заменить одним сдвигом влево, соотношение в формуле (8) примет вид:          yExOyExO 2 . Продемонстрируем более подробно, в чем состоит предложенный метод. rOrE rrrrrr xxxxxxy xxxxxxyyO xxxxxxy xxxxxxy xxxxxxyyE xxxxxxy 531420 0245355 4021133 2403511 5130244 3514022 1352400      rOrE rrrrrr xxxxxxy xxxxxxyyO xxxxxxy xxxxxxy xxxxxxyyE xxxxxxy 153420 0243511 4021355 2405133 3510244 1354022 5132400 Рисунок 5 – Вычисление свертки методом парисекции Рисунок 6 – Вычисление свертки предложенным методом Из рисунков видно, что результат совпадает. Так, например, при использова- нии обоих методов 1r равно: 0145233412501 xyxyxyxyxyxyr  , 0554433221101 yxyxyxyxyxyxr  ,    5 0 6mod)1(1 i ii yxr . Видно, что в методе парисекции (рис. 5) нужно делать циклический сдвиг толь- ко в векторе  Ox , тогда как в предложенном методе, согласно соотношению (3), нужно циклически сдвигать в противоположную сторону оба вектора  xO ,  yO перед вычислением свертки. Из рис. 6 также видно, что для получения корректного резуль- тата нужно сдвинуть вектор   rOrO         . Предложенный метод требует больше пред- и поствычислений в виде цикли- ческих сдвигов, но позволяет вычислить свертку за счет только 2 сверток меньшей размерности вместо 3 согласно стандартному методу парисекции. Достаточно 10 умножений для вычисления свертки разрядностью 5N [2] и соответственно 20 умножений для вычисления свертки разрядностью 5210 N . Оптимизация метода Питасси вычисления свертки «Штучний інтелект» 1’2009 209 4Т В этом случае формулы (3) – (5) примут вид:                            22 yOyExOxEd ,                            22 yOyExOxEe ,  edrE  21 ,   2 21         edrO . Из формул видно, что нужно сдвинуть нечетные элементы на 2 позиции. rOrE rrrrrrrrrr xxxxxxxxxxy xxxxxxxxxxy xxxxxxxxxxyyO xxxxxxxxxxy xxxxxxxxxxy xxxxxxxxxxy xxxxxxxxxxy xxxxxxxxxxyyE xxxxxxxxxxy xxxxxxxxxxy 8753186420 02468135799 80246913577 68024791355 46802579133 24680357911 91357024688 79135802466 57913680244 35791468022 13579246800 Рисунок 7 – Вычисление свертки разрядностью 10N методом парисекции Продемонстрируем, что, используя всего две матрицы меньшей разрядности,                  02468 80246 68024 46802 24680 xxxxx xxxxx xxxxx xxxxx xxxxx xE                         57913 35791 13579 91357 79135 2 xxxxx xxxxx xxxxx xxxxx xxxxx xO можно представить свертку разрядностью 5210 N :     2 3197586420 02468579133 80246357911 68024135799 2 46802913577 24680791355 57913024688 35791802466 13579680244 91357468022 79135246800             rOrE rrrrrrrrrr xxxxxxxxxxy xxxxxxxxxxy xxxxxxxxxxyyO xxxxxxxxxxy xxxxxxxxxxy xxxxxxxxxxy xxxxxxxxxxy xxxxxxxxxxyyE xxxxxxxxxxy xxxxxxxxxxy Терещенко А.Н. «Искусственный интеллект» 1’2009 210 4Т Количество сдвигов равно  2Kn  , где K – нечетное число и множитель разрядности свертки KN 2 . Теперь можно выразить в общем виде формулы для вычисления свертки разрядностью KN 2 , где K – нечетное число.                            nn yOyExOxEd ,                            nn yOyExOxEe ,  edrE  21 ,   n edrO         21 . Покажем практическое применение свертки для вычисления операции умножения многоразрядных чисел, которая широко используется при реализации алгоритмов асим- метричной криптографии. Покажем вначале на примере свертки разрядностью 2К, где К – четное. Умножение двух чисел  3210 ,,, xxxxx  ,  3210 ,,, yyyyy  разрядностью 4 с ис- пользованием свертки можно представить в виде:    01233210 ,,,,0,0,0,00,0,0,0,,,, yyyyxxxxr  . 01234567 1230 2301 3012 0123 01233 01232 01231 01230 00000 00000 00000 00000 0000 0000 0000 0000 rrrrrrrr yyyy yyyy yyyy yyyy yyyyx yyyyx yyyyx yyyyx 01234567 01233 01232 01231 01230 000000000 000000000 000000000 000000000 0000 0000 0000 0000 rrrrrrrr yyyyx yyyyx yyyyx yyyyx Рисунок 8 – Вычисление свертки стандартным методом при реализации операции умножения двух чисел разрядностью 4 Рисунок 9 – Вычисление свертки стандартным методом при реализации операции умножения двух чисел разрядностью 4 с учетом нулевых элементов Окончательно получаем: 01234567 01233 01232 01231 01230 rrrrrrrr yyyyx yyyyx yyyyx yyyyx 01234567 03132333 02122232 01112131 00102030 0123 0123 rrrrrrrr yxyxyxyx yxyxyxyx yxyxyxyx yxyxyxyx xxxx yyyy Рисунок 10 – Умножение двух чисел с использование свертки без нулевых элементов Рисунок 11 – Умножение двух чисел в столбик Оптимизация метода Питасси вычисления свертки «Штучний інтелект» 1’2009 211 4Т Из рис. 10 и 11 видно, что использованная таким образом свертка реализует стандартный метод умножения в столбик, за исключением того, что результат получается в обратном порядке. Приведем пошаговое описание алгоритма реализации операции умножения К- разрядных чисел с использованием свертки: Шаг 1. ii xa  , 1,0  Ki , 0ia , 1,  NKi . Шаг 2. 0ib , 1,0  Ki , iNi yb  1 , 1,  NKi . Шаг 3. bar  . Шаг 4. iNi rw  1 , 1,0  Ni . Вектор w разрядностью KN 2 будет содержать результат операции умно- жения чисел, представленных в виде вектров x и y разрядностью К. Данный алгоритм справедлив и для сверток рязрядностью KN 2 , где К – нечетное. Заметим, что для вычисления операции умножения К-разрядных чисел с использованием алгоритма быстрого преобразования Фурье необходимо вычислять циклическую свертку также с разрядностью 2К. Это связано с тем, что при умно- жении двух К-разрядных чисел, результат умножения получается разрядностью 2К. Количество операций умножения при вычислении свертки разрядностью nN 2 , 2n методом парисекции выражается следующим соотношением: 235  n NM , (9) где М – количество операций умножения, N – разрядность свертки. Количество операций умножения М при вычислении свертки большой разрядности вида nKN 2 , 1n , где K – нечетное, приведено ниже в виде таблицы. Таблица 1 Значение К в (9) Количество операций умножения KM для вычисления свертки разрядности К Разрядность свертки nKN 2 , 1n Количество операций умножения М при вычислении свертки разрядности nKN 2 , 1n 3 4 nN 23  138  nM 5 10 nN 25  1320  nM 7 16 nN 27  1332  nM 9 19 nN 29  1338  nM Из табл. 1 видно, что можно конструировать свертки размерностью, отличной от nN 2 , 2n , что является одним из преимуществ предложенного метода. Вто- рым преимуществом является то, что в некоторых случаях эффективнее использо- вать свертку большей разрядности вида nKN 2 , 1n , где K – нечетное, вместо Терещенко А.Н. «Искусственный интеллект» 1’2009 212 4Т свертки разрядностью nN 2 , 2n . Так, например, для вычисления свертки раз- рядности 18N требуется всего 38 умножений согласно таблице, тогда как для вычисления свертки 16N методом парисекции необходимо 45 умножений по формуле (9). Заключение В данной работе приведен эффективный метод вычисления свертки разрядностью 2К, где К – нечетное. В общем виде приведены формулы вычисления циклической свертки разрядностью 2К, где К – нечетное. Приведен алгоритм реализации операции умножения с использованием циклической свертки. В виде таблицы приведены оценки сложности вычисления свертки большой разрядности вида nKN 2 , 1n , где .9,7,5,3K Литература 1. Задірака В.К., Олексюк О.С. Комп’ютерна арифметика багаторозрядних чисел. – К.: Наук. думка, 2003. – 263 с. 2. Нуссбаумер Г. Быстрое преобразование Фурье и алгоритмы вычисления сверток: Пер. с англ. – М: Радио и связь, 1985. – С. 66. 3. Pitassi D.A. Fast convolution using the Walsh transform // Applicat. Walsh Functions. – 1971. – Apr. – P. 130-133. 4. Ахмед Н., Рао К.Р. Ортогональные преобразования при обработке цифровых сигналов. – М.: Связь, 1980. – 248 с. 5. Хармут Х. Теория секветного анализа: Основы и применение. – М.: Мир, 1980. – 574. 6. Davis W.F. A class of efficient convolution algorithms // Applicat. Walsh Functions. – 1972. – March. – P. 318-329. А.М. Терещенко Оптимізація методу Пітассі обчислення згортки Запропонований метод розширює діапазон використовуваних розрядностей циклічної згортки за рахунок застосування ефективного методу обчислення циклічної згортки розрядністю 2К, де К – непарне. Показано, що для обчислення згортки такої розрядності достатньо обчислити тільки дві згортки половинної (від начальної) розрядності, при більшій кількості перед- та постобчислень у вигляді циклічних зсувів. Представлені в загальному вигляді формули обчислення циклічної згортки. Наведена реалізації операції багаторозрядного множення на основі циклічної згортки. У вигляді таблиці наведені оцінки складності обчислення циклічної згортки великої розрядності виду nKN 2 , 1n для .9,7,5,3K A.N. Tereshcеnko The suggested method extends the range of used measurements of cyclic convolutions with using of effective calculation method of cyclic convolutions with measurement 2K then K is odd. It is shown for convolution calculation with that measurement it is enough to calculate only 2 convolutions half-measurement with more number of pre- and post-calculations like cyclic shifts. It is given in general the calculation formulas of cyclic convolution. It is given the building of multi-digit multiplication with using cyclic convolution. The complexities of cyclic convolution calculation with measurement nKN 2 , 1n for .9,7,5,3K are given in table. Статья поступила в редакцию 21.07.2008.
id nasplib_isofts_kiev_ua-123456789-7827
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn 1561-5359
language Russian
last_indexed 2025-11-28T08:59:42Z
publishDate 2009
publisher Інститут проблем штучного інтелекту МОН України та НАН України
record_format dspace
spelling Терещенко, А.Н.
2010-04-19T11:43:33Z
2010-04-19T11:43:33Z
2009
Оптимизация метода Питасси вычисления свертки / А.Н. Терещенко // Штучний інтелект. — 2009. — № 1. — С. 204-212. — Бібліогр.: 6 назв. — рос.
1561-5359
https://nasplib.isofts.kiev.ua/handle/123456789/7827
681.3:519
Предложенный метод расширяет диапазон используемых разрядностей циклической свертки за счет применения эффективного метода вычисления циклической свертки разрядностью 2К, где К – нечетное. Показано, что для вычисления свертки такой разрядности достаточно вычислить только две свертки половиной (от начальной) разрядности, при большем количестве пред- и поствычислений в виде циклических сдвигов по сравнению с методом Питасси. Представлены в общем виде формулы вычисления циклической свертки. Приведена реализация операции многоразрядного умножения на основе циклической свертки. В виде таблицы приведены оценки сложности вычисления свертки большой разрядности вида N=K*2^n , n>1 для K=3,5,7,9.
Запропонований метод розширює діапазон використовуваних розрядностей циклічної згортки за рахунок застосування ефективного методу обчислення циклічної згортки розрядністю 2К, де К – непарне. Показано, що для обчислення згортки такої розрядності достатньо обчислити тільки дві згортки половинної (від начальної) розрядності, при більшій кількості перед- та постобчислень у вигляді циклічних зсувів. Представлені в загальному вигляді формули обчислення циклічної згортки. Наведена реалізації операції багаторозрядного множення на основі циклічної згортки. У вигляді таблиці наведені оцінки складності обчислення циклічної згортки великої розрядності виду N=K*2^n , n>1 для K=3,5,7,9.
The suggested method extends the range of used measurements of cyclic convolutions with using of effective calculation method of cyclic convolutions with measurement 2K then K is odd. It is shown for convolution calculation with that measurement it is enough to calculate only 2 convolutions half-measurement with more number of pre- and post-calculations like cyclic shifts. It is given in general the calculation formulas of cyclic convolution. It is given the building of multi-digit multiplication with using cyclic convolution. The complexities of cyclic convolution calculation with measurement N=K*2^n , n>1 for K=3,5,7,9 are given in table.
ru
Інститут проблем штучного інтелекту МОН України та НАН України
Архитектура, алгоритмическое и программное обеспечение интеллектуальных многопроцессорных систем
Оптимизация метода Питасси вычисления свертки
Оптимізація методу Пітассі обчислення згортки
Article
published earlier
spellingShingle Оптимизация метода Питасси вычисления свертки
Терещенко, А.Н.
Архитектура, алгоритмическое и программное обеспечение интеллектуальных многопроцессорных систем
title Оптимизация метода Питасси вычисления свертки
title_alt Оптимізація методу Пітассі обчислення згортки
title_full Оптимизация метода Питасси вычисления свертки
title_fullStr Оптимизация метода Питасси вычисления свертки
title_full_unstemmed Оптимизация метода Питасси вычисления свертки
title_short Оптимизация метода Питасси вычисления свертки
title_sort оптимизация метода питасси вычисления свертки
topic Архитектура, алгоритмическое и программное обеспечение интеллектуальных многопроцессорных систем
topic_facet Архитектура, алгоритмическое и программное обеспечение интеллектуальных многопроцессорных систем
url https://nasplib.isofts.kiev.ua/handle/123456789/7827
work_keys_str_mv AT tereŝenkoan optimizaciâmetodapitassivyčisleniâsvertki
AT tereŝenkoan optimízacíâmetodupítassíobčislennâzgortki