Научная статья на тему 'Реализация параллельного алгоритма поиска кратчайшего вектора в блочном методе Коркина — Золотарева'

Реализация параллельного алгоритма поиска кратчайшего вектора в блочном методе Коркина — Золотарева Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
274
38
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РЕШЁТКА / ПРОБЛЕМА ПОИСКА КРАТЧАЙШЕГО ВЕКТОРА / БЛОЧНЫЙ МЕТОД КОРКИНА — ЗОЛОТАРЕВА / BLOCK KORKIN — ZOLOTAREV / SHORTEST VECTOR PROBLEM / SVP / BKZ / LATTICES / PARALLEL ALGORITHMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Усатюк Василий Станиславович

Предложена параллельная реализация алгоритма Каннана для решения задач поиска кратчайшего и короткого векторов в решётке. Алгоритм может применяться как в составе блочного метода Коркина — Золотарева, так и независимо. Эксперимент показал трёхкратное ускорение работы блочного метода Коркина — Золотарева на четырёхъядерной системе.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Implementation of the parallel shortest vector enumeration in the block Korkin — Zolotarev method

A parallel CPU implementation of Kannan algorithm is presented for solving shortest vector problem in block Korkin — Zolotarev lattice reduction method. The implementation is based on Native POSIX Thread Library and shows the linear decrease of runtime with the number of threads.

Текст научной работы на тему «Реализация параллельного алгоритма поиска кратчайшего вектора в блочном методе Коркина — Золотарева»

УДК 511.9

РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО АЛГОРИТМА ПОИСКА КРАТЧАЙШЕГО ВЕКТОРА В БЛОЧНОМ МЕТОДЕ КОРКИНА — ЗОЛОТАРЕВА

В. С. Усатюк

Предложена параллельная реализация алгоритма Каннана для решения задач поиска кратчайшего и короткого векторов в решётке. Алгоритм может применяться как в составе блочного метода Коркина — Золотарева, так и независимо. Эксперимент показал трёхкратное ускорение работы блочного метода Коркина — Золотарева на четырёхъядерной системе.

Ключевые слова: решётка, проблема поиска кратчайшего вектора, блочный метод Коркина — Золотарева.

Определение 1. Базис B = {Ъ1,Ъ2,... , Ъm} решётки L С Rn приведён блочным методом Коркина — Золотарева (BKZ, Block Korkin — Zolotarev method [І]) с блоком в, если:

1) базис B приведён по длине;

2) ||Ъ^|| = Л1^і), i = І,... ,m, где Л1^і) — длина кратчайшего вектора в обратной (сопряжённой) решётке Li, образованной ортогональным дополнением векторного пространства с базисом Ъ^ ..., Ъ^^+в-^).

BKZ-метод содержит две основные процедуры, которые могут быть распараллелены: ортогонализация базиса решётки и поиск кратчайшего вектора. Вопрос распараллеливания алгоритмов ортогонализации базиса рассматривался в работе [2].

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

На начальном этапе можно принять A = min yJYm ■ (det L)m , ||Ъ*|| j- , где Ym —

константа Эрмита; Ъ* — наименьший по норме вектор в исходном базисе решётки.

Можно показать [3, 4], что координаты кратчайшего вектора удовлетворяют следующей системе неравенств:

x;

\Ъ±

(xm-1 +

i-1xm) ||Ъ^ 1|2 ^ A2 - xm

(x1 + Е xi^i,j)2 ^ i=2

^ A2 -Е j, j=2

(І)

где ™=1 —ортогональный базис решётки, полученный из исходного базиса, напри-

мер в результате процедуры ортогонализации Грама — Шмидта (через ^ обозначены

I т \2 II 2

коэффициенты Грама — Шмидта), = (х^- + Е х^а-1 ||&^|| •

^ г='+1 '

Для решения системы (1) используем метод ветвей и границ, то есть организуем поиск решения в виде дерева. Корень дерева помечен переменной хт. Из корня выходит N ветвей, каждая из которых соответствует конкретному решению первого неравенства в (1). Пусть ат — произвольное решение этого неравенства. Ветвь дерева

2

2

Ъ

2

поиска, соответствующую данному решению, будем называть ат-ветвью. Следующая вершина ат-ветви помечается переменной xm-1. Данная вершина является корнем дерева поиска для системы неравенств, полученной из (1) подстановкой = am. Если хотя бы одно из неравенств в (1) при этом не выполняется, то рассматриваемая ветвь отсекается (поскольку заведомо не содержит решения, дающего меньшую верхнюю границу, чем текущая). Описанный процесс по аналогии продолжается далее. Если найден вектор со значением нормы, меньшим текущей верхней границы, то значение верхней границы (рекорд) обновляется.

Описанный алгоритм реализован с использованием потоковой модели NPTL (Native POSIX Thread Library [5]) под CentOS 6.3. Каждый из потоков осуществляет вычисление своей ат-ветви, исходящей из корня дерева.

На задаче приведения 103-мерной решётки BKZ-методом с размером блока в = 52 на четырёх потоках, выполняемых на AMD Phenom 965/8 Gb DDR2-800, он продемонстрировал трёхкратное ускорение в сравнении с последовательным BKZ-решателем fplll-4.0.1 [6]. Предложенный алгоритм применялся в составе решателя, который занял 1-е и 6-е места на международных конкурсах поиска коротких векторов [7] для

Г (m/2 + 1)1/m

норм A = m • det(L)1/m и A = 1,05-=------------det(L)1/m соответственно.

л/п

ЛИТЕРАТУРА

1. Schnorr C. P. Block reduced lattice bases and successive minima // Combinatorics, Probability and Computing. 1994. V. 3. P. 507-522.

2. Усатюк В. С. Реализация параллельных алгоритмов ортогонализации в задаче поиска кратчайшего базиса целочисленной решетки // Прикладная дискретная математика. Приложение. 2012. №5. С. 120-122.

3. Kannan R. Improved algorithms for integer programming and related lattice problems // Proc. STOC’83. New York, NY, USA, 1983. P. 193-206.

4. Hanrot G. and Stehle D. Improved analysis of Kannan’s shortest lattice vector algorithm // LNCS. 2007. V. 4622. P. 170-186.

5. Kerrisk M. The Linux programming interface: a Linux and UNIX system programming handbook. San Francisko, USA: No Starch Press, 2010. 1552 p.

6. http://perso.ens-lyon.fr/damien.stehle/fplll/index.html — Приложение fplll. 2013.

7. http://www.latticechallenge.org/ideallattice-challenge/index.php — Ideal lattice challenge (SVP, Approx-SVP). 2012.

УДК 004.627

РАСПАРАЛЛЕЛИВАНИЕ АЛГОРИТМА ДЕКОДИРОВАНИЯ СТАНДАРТА СЖАТИЯ ВИДЕОДАННЫХ H.265/HEVC

Р. И. Черняк

Рассматривается возможность параллельной реализации декодера в новом стандарте сжатия цифровых видеопоследовательностей H.265/HEVC. Предложены два способа параллелизации декодера, эффективность которых обоснована теоретически и показана экспериментально.

Ключевые слова: видеокодирование, сжатие цифрового видео, распараллеливание алгоритмов декодирования.

i Надоели баннеры? Вы всегда можете отключить рекламу.