О ГЕНЕРИЧЕСКОЙ СЛОЖНОСТИ ПРОБЛЕМЫ О СУММЕ ПОДМНОЖЕСТВ ДЛЯ ПОЛУГРУПП ЦЕЛОЧИСЛЕННЫХ МАТРИЦ

2020 Математические основы информатики и программирования №50

УДК 510.52

О ГЕНЕРИЧЕСКОЙ СЛОЖНОСТИ ПРОБЛЕМЫ О СУММЕ ПОДМНОЖЕСТВ ДЛЯ ПОЛУГРУПП ЦЕЛОЧИСЛЕННЫХ МАТРИЦ1

А. Н. Рыбалов

Институт математики им. С. Л. Соболева СО РАН, г. Омск, Россия

В 2003 г. Каповичем, Мясниковым, Шуппом и Шпильрайном была предложена теория генерической вычислимости и сложности вычислений. В рамках этого подхода алгоритмическая проблема рассматривается не на всём множестве входов, а на некотором подмножестве «почти всех» входов. Проблема о сумме подмножеств является классической комбинаторной проблемой, изучаемой многие десятилетия. Мясников, Николаев и Ушаков в 2015 г. ввели аналог этой проблемы для произвольных групп (полугрупп). Оказалось, что для некоторых классов групп, таких, как гиперболические и нильпотентные группы, эта проблема разрешима за полиномиальное время. Для других, например групп Баумслага — Солитера и группы унимодулярных целочисленных матриц второго порядка SL2(Z), эта проблема NP-полна. Из работ Гуревича, Каи, Фукса, Козена и Лиу следует, что проблема о сумме подмножеств для группы SL2(Z) и для моноида SL2(N) полиномиально разрешима для почти всех входов. В работе изучается генерическая сложность проблемы о сумме подмножеств для полугрупп матриц произвольного порядка с целыми неотрицательными элементами. Эта проблема является NP-полной, а потому при условии P = NP нет полиномиального алгоритма, решающего её для всех входов. Доказывается, что проблема является генерически разрешимой за полиномиальное время. Предлагается полиномиальный генерический алгоритм, основанный на методе динамического программирования.

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

DOI 10.17223/20710410/50/9

ON GENERIC COMPLEXITY OF THE SUBSET SUM PROBLEM FOR SEMIGROUPS OF INTEGER MATRICES

A. N. Rybalov Sobolev Institute of Mathematics, Omsk, Russia E-mail: alexander.rybalov@gmail.com

Generic-case approach to algorithmic problems was suggested by Miasnikov, Kapovich, Schupp, and Shpilrain in 2003. This approach studies behavior of an algorithm on typical (almost all) inputs and ignores the rest of inputs. The subset sum problem is a classic combinatorial problem that has been studied for many decades. Myas-nikov, Nikolaev and Ushakov in 2015 introduced an analogue of this problem for arbitrary groups (semigroups). For some classes of groups, such as hyperbolic and nilpotent groups, this problem is solvable in polynomial time. For others, for example, Baumslag — Solitaire groups, group of second order integer unimodular matrices SL2(Z), this problem is NP-complete. From the works of Gurevich, Kai, Fuchs,

1 Работа поддержана грантом РНФ №18-71-10028.

Cosen, and Liu, it follows that the subset sum problem for the group SL2 (Z) and for the monoid SL2 (N) is polynomially solvable for almost all inputs. In the paper, we study the generic complexity of the subset sum problem for semigroups of matrices of arbitrary order with integer non-negative elements. This problem is NP-complete, and therefore for it, provided P = NP, there is no polynomial algorithm that solves it for all inputs. We present a polynomial generic algorithm based on the dynamic programming and prove that this problem is generically solvable in polynomial time.

Keywords: generic complexity, the subset sum problem, integer matrix semigroups.

Введение

Проблема о сумме подмножеств является классической комбинаторной проблемой, изучаемой многие десятилетия. Она содержится в классическом списке из двадцати одной NP-полной проблемы в знаменитой работе [1]. Её формулировка состоит в следующем. Дано множество натуральных чисел A = {ai,... , an} и натуральное число S. Все числа записаны в двоичном виде. Необходимо определить, можно ли в множестве A выбрать подмножество чисел, которые в сумме дают число S. Эта задача имеет родство с другой классической проблемой оптимизации — о рюкзаке, её иногда считают частным случаем проблемы о рюкзаке. Большую популярность проблема о сумме подмножеств приобрела в криптографии, где неоднократно предлагались криптосистемы, основанные на ней [2, 3]. Отметим, что Н. Н. Кузюрин доказал полиномиальную разрешимость в среднем некоторых проблем рюкзачного типа [4].

А. Мясников, А. Николаев и А. Ушаков ввели аналоги проблем о рюкзаке и о сумме подмножеств для произвольных групп (полугрупп) [5]. Это является некоторым обобщением классических проблем, так как в классическом случае входные данные берутся из группы целых чисел Z с операцией сложения, заданной с помощью бесконечной системы порождающих {2m : m = 0,1, 2,...}. В [5] изучена вычислительная сложность этих проблем для различных групп: доказаны полиномиальная разрешимость для гиперболических групп и NP-полнота для групп Баумслага — Солитера. Отмечена связь с классической проблемой о вхождении в подгруппу. Сложность в среднем ограниченной проблемы вхождения для группы SL2 (Z) унимодулярных целочисленных (2 х 2)-матриц изучалась А. Блассом и Ю. Гуревичем [6]. С использованием идей Гуревича из [7] в [8] предложен полиномиальный в среднем алгоритм для ограниченной проблемы вхождения в модулярной группе PSL2 (Z). Полиномиальный в среднем алгоритм для ограниченной проблемы вхождения для полугруппы унимодулярных натураль-нозначных (2 х 2)-матриц SL2(N) предложен в [9]. Эти алгоритмы без особого труда могут быть переделаны в эффективные алгоритмы, решающие проблемы рюкзака и суммы подмножеств для упомянутых групп и полугрупп матриц. Однако они не работают для полугрупп неунимодулярных матриц и матриц порядка больше 2, так как существенно используют структуру полугруппы SL2 (N) как свободного двупорождён-ного моноида.

В 2003 г. в [10] предложена теория генерической вычислимости и сложности вычислений. В рамках этого подхода алгоритмическая проблема рассматривается не на всём множестве входов, а на некотором подмножестве «почти всех» входов. Такие входы образуют генерическое множество; понятие «почти все» формализуется введением естественной меры на множестве входных данных. С точки зрения практики алгоритмы, быстро решающие проблему на генерическом множестве, так же хороши, как и быстрые алгоритмы для всех входов.

В данной работе изучается генерическая сложность проблемы о сумме подмножеств для полугрупп матриц произвольного порядка с целыми неотрицательными элементами. Эта проблема в классическом смысле является NP-полной, а потому при условии P = NP нет полиномиального алгоритма, решающего её для всех входов. Доказывается, что проблема является генерически разрешимой за полиномиальное время. Предлагается полиномиальный генерический алгоритм, основанный на методе динамического программирования.

1. Генерические алгоритмы

Пусть I — множество всех входов, In — множество входов размера ^ п. Для любого подмножества S С I определим последовательность

Pn(S) = ^, п =1, 2, 3,...,

где Sn = S П In — множество входов из S размера ^ п. Асимптотической плотностью S назовём предел

p(S) = lim Pn(S).

n—y^o

Множество S называется генерическим, если p(S) = 1, и пренебрежимым, если p(S) = 0. Очевидно, что S генерическое тогда и только тогда, когда его дополнение I\S пренебрежимо.

Алгоритм A с множеством входов I и множеством выходов J U {?} (? (j J) называется генерическим, если

1) A останавливается на всех входах из I;

2) множество {x ( I : A(x) = ?} является пренебрежимым.

Здесь через A(x) обозначается результат работы алгоритма A на входе x. Генерический алгоритм A вычисляет функцию f : I ^ J, если для всех x ( I имеет место

A(x) = ? ^ f (x) = A(x).

Ситуация A(x) = ? означает, что A не может вычислить функцию f на аргументе x. Но условие 2 гарантирует, что A корректно вычисляет f на почти всех входах (входах из генерического множества).

2. Полугруппа натуральнозначных матриц

Обозначим через N множество натуральных чисел, начинающееся с единицы, а через ш — множество натуральных чисел с нулём. Будем работать в основном с полугруппой матриц Mat(k, ш) порядка k с целыми неотрицательными элементами с обычной операцией умножения матриц. Иногда будем использовать полугруппу Mat(k, N). Порядок матриц k фиксирован. Очевидно, Mat(k, N) С Mat(k^). Элементы Mat(k, ш) будем представлять матрицами из целых неотрицательных чисел. Размер целого положительного числа a, обозначаемый size(a), — это длина его двоичной записи. Таким образом, size(a) = п, если 2n-1 ^ a < 2n. Отдельно положим size(0) = 0. Легко видеть, что для любых натуральных a,b = 0 выполнено size(ab) = size(a) + size(b) и size(a) ^ size(a + b). Под размером матрицы M = ||aj|| будем понимать size(M) =

= max {size(aj)}. i,j=1,...,k

Лемма 1. Для любого n имеет место

lMat(k,u)nl = 2nfc2, lMat(k, N)ra| = (2n - 1)*2.

Доказательство. На каждом из k2 мест матрицы из множества Mat(k,u)n может стоять число от 0 до (2n — 1), то есть 2n вариантов. Всего получаем 2nk различных матриц. Аналогично производится подсчёт lMat(k, N)n|.

Докажем несколько фактов о полугруппах матриц, которые используются при построении и обосновании генерического полиномиального алгоритма для проблемы о сумме подмножеств.

Лемма 2.

1) Пусть Z — множество матриц в Mat(k,u), содержащих хотя бы один нулевой элемент. Тогда Z пренебрежимо в Mat(k,u).

2) Пусть S С Mat(k, N). Если S пренебрежимо в Mat(k, N), то S пренебрежимо в Mat(k, ш).

Доказательство.

1) Оценим число матриц из Zn. Нуль можно поставить на одно из k2 мест, остальные k2 — 1 мест заполняются произвольно. Таким образом, |Zn| ^ k22n(k2-1) и

|Zn| k22n(fc2-1) k2

p(Z) = lim -——-г——- ^ lim -p.-= lim — = 0.

f K ' n^ Mat^^)^ n^ 2nk2 n^^ 2n

2) Пусть

p(S) = lim . ^ | "L^ i = lim -1 n| ,2 = 0.

, y ' n^^ Mat(k, N)n| n^ (2n — 1)k2

Тогда

p(S) = lim = lim ^ ^ Hm |Sn| 2 = 0. n^^ |Mat(k,w)n| n^ro 2nk n^^ (2n — 1)k

Лемма 2 доказана.

Лемма 3. Множество матриц из Mat(k,u) с определителем 0 пренебрежимо.

Доказательство. Рассмотрим сначала множество Mat(k, GF(p)) квадратных

матриц порядка k с элементами из поля GF(p), где p — простое число. Очевидно, что

|Mat(k, GF(p))| = pk . Найдём среди всех таких матриц долю обратимых матриц, у

которых определитель отличен от нуля в GF(p). Такие матрицы образуют группу

k

GL(k, GF(p)). Известно [11], что |GL(k, GF(p))| = П(Рк — Pi-1). Отсюда искомая доля

г=1

равна

k

= lGL(k, GF(p))| = Д(рк — pi-1) = * ( р-г) Mat(k, GF(p))| pk2 /=1( Р ).

Обозначим через Mat0(k, GF(p)) множество матриц из Mat(k, GF(p)) с определителем 0. Доля таких матриц равна

GF(P))| р Л . p-i) Mat(k, GF(p))| i=11( P ).

Вернёмся к Mat(fc,w). Согласно лемме 2, достаточно доказать, что матрицы из Mat(k, N) с нулевым определителем образуют пренебрежимое множество в Mat(k, N).

Зафиксируем размер матриц n. Выберем простое число р, являющееся делителем 2n — 1. Пусть ^р : {1,... , 2n — 1} ^ GF(p) — отображение, определяемое для любого a G {0,... , 2n — 1} как <£p(a) = a mod p. Соответствующее индуцированное отображение для матриц тоже будем обозначать <^р. Заметим, что прообраз каждого элемента из GF(p) при отображении состоит ровно из (2n — 1)/р чисел из отрезка 1,... , 2n — 1. Поэтому для любого множества матриц S С Mat(k, GF(p)) имеет место

_! , /2n — 1 \ k2

/2"' — I \ k )l = (—) lSl.

р

Пусть теперь 2 — множество матриц из Ма^(к, М)га с определителем 0. Так как 2 С С ^-1(Ма£0(к, СЕ(р)), имеем

'2n — 1 \ k2

|Z| |V"1(Mo(k,GF(p))| _ (—) lMat"<k'GF(p))|

|Mai(t, N),,r |Mat(k, N)..J — ^k2 |Mat(t, GF(p))|

р

= |Ма<о(к, СЕ(р))| = * ( _г) |Ма*(к, СЕ(р))| /=11( Р )-

При увеличении р значение справа стремится к нулю. Осталось доказать, при увеличении размера п значение р тоже увеличивается. Напомним, что простое число р выбиралось как делитель 2П — 1. По классической теореме Жигмонди [12], начиная с т > 6 каждый элемент последовательности {2т — 1: т =1, 2,...} имеет простой делитель, на который не делятся предыдущие члены этой последовательности. Поэтому с ростом п можно выбирать простые делители р числа 2П — 1 так, чтобы значение р неограничено увеличивалось.

Лемма 4. Пусть для матриц А = ||а^ || и В = ||6у || из Ма£(к,ш) имеет место з1ге(А), з1ге(В) ^ п и з1ге(АВ) ^ п. Тогда для любых 1 ^ г, ^ & имеет место 81ге(ау) + + 81ге(6^) ^ п.

Доказательство. Пусть АВ = ||су ||. Тогда для любого г = 1,..., к сгг а ¿1&1г + ай&2г + ... + а^ 6^ + ... + а^ 6^.

Так как 81ге(сй) ^ п, для каждого = 1,...,к и положительных а^, 6-д имеем в12е(а„6^) ^ п, т.е. в12е(а„) + 81ге(6^) ^ п. Если а^ = 0 или 6^ = 0, то требуемое неравенство следует из условия 81ге(ау), 81ге(6^) ^ п.

Лемма 5. Пусть — множество матриц М из Ма£(к,ш) размера п, таких, что матричное уравнение М = ХУ имеет более р(п) = (2(п + 1))к +1 различных решений X, У € Ма£(к,ш), таких, что в1ге(Х), в1ге(У) ^ п. Тогда

|Маг(к,и)га| 2(п +1)'

Доказательство. Пусть К — число различных пар матриц X, У, таких, что в1ге(Х), в1ге(У) ^ п и в1ге(ХУ) ^ п. Тогда из определения множества следует

Оценим сверху число К. Пусть X = ||ху||, У = ||уу||. По лемме 4 для любых г,] выполнено ) + 81ге(у.д) ^ п. Поэтому число К не превосходит числа пар таких

матриц Х,У, что 81ге(ху) + 81ге(у^) ^ п для 1 ^ г,] ^ к, т.е.

К ^ |{(Х,У) : 81ге(ху) + 81ге(у.д) ^ п, 1 ^ г,] ^ к}| =

/ хк2

П |{(а,Ь) : з1ге(а) + з1ге(Ь) ^ п}| = ( |{(а, Ь) : з1ге(а) + з1ге(Ь) ^ п}|

( ^ |{(а, Ь) : 81ге(а) + з1ге(Ь) = т}|

^т=0

к2

( п т \ к

^ ^ |{(а, Ь) : й1ге(а) = I, з1ге(Ь) = т — /}| 1 =

т=0 г=о '

/ п т ч к2 ✓ п ч к2 ✓ п чк2

= ЕЕ21  2т-м = (£ т2т) < 1(п + 1)£2т) =

^т=0 1=0 ' ^т=0 ' ^ т=0 '

= ((п + 1)(2п+1 — 1))к < (2(п + 1))к22пк2 = (2(п + 1))к2|Ма*(к,^)га|.

Таким образом, получили оценку

К < (2(п + 1))к2|Ма*(к,^)„|.

Допустим теперь противное, то есть чт^-—— > - . Тогда

(2(п +1))к2+1|5„| > (2(п +1))к2|Ма*(к,^)га|. Но это неравенство и оценки (1) и (2) дают противоречие

(2(п + 1))к2|Ма*(к,и)га| < (2(п + 1))к2+1|£п| ^ К < (2(п + 1))к2|Ма*(к,и)га|.

Лемма 5 доказана.

3. Проблема о сумме подмножеств над Ма1

Сформулируем проблему о сумме подмножеств для полугруппы МаЬ(к,ш). Даны матрицы М1, М2,..., Мп из МаЬ(к, ш), каждая размером не более п, и матрица М из М размера не более п2. Определить, существуют ли степени £1,£2,...,£п ^ {0,1}, такие, что имеет место

М11 м|2 ...мпп = М.

Размер входа (М1, М2,... , Мп, М) полагаем равным п. Условимся, что если матрица М = Е (единичная), то М есть произведение пустого подмножества матриц, а потому проблема суммы подмножеств с такой матрицей М разрешима. Это допущение послужит для удобства описания генерического алгоритма в дальнейшем.

Следующее утверждение говорит, что для этой проблемы при условии Р = КР не существует полиномиального алгоритма, который решает её для всех входов. Лемма 6. Проблема о сумме подмножеств для МаЬ(к,ш) КР-полна.

Доказательство. Докажем, что к данной проблеме полиномиально сводится классическая проблема о сумме подмножеств для натуральных чисел. Определим

функцию Р : ш ^ Ма£(к,ш) следующим образом. Для любого а € ш положим

( 1 0 0 ... 0 а\ 0 10 ... 0 0 0 0 1 ... 0 0

0 0 0 ... 1 0 0 0 0 .. . 0 1

Соответствующая полиномиальная сводимость сопоставляет входу (а1, а2,... , ап, Б) классической проблемы о сумме подмножеств вход (Р(а1), Р(а2),... , Р(ап), Р(Б)) проблемы о сумме подмножеств для Ма£(к,ш). Легко проверить, что для любого набора чисел е1, е2,..., ега € {0,1} равенство

а^1 + а2^2 + ... + а„е„ = Б

выполняется тогда и только тогда, когда Р(а1)£1 Р(а2)£2 ... Р(ага)£п = Р(Б).

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

Теорема 1. Проблема о сумме подмножеств для полугруппы Ма£(к,ш) является генерически разрешимой за полиномиальное время.

Доказательство. Опишем, как работает генерический полиномиальный алгоритм А на входе (М1,..., Мп, М) размера п.

1) Вычисляем определитель матрицы М. Если он равен 0, выдаём ответ «?». Из леммы 3 следует, что множество входов (М1,...,МП,М), у которых det(M) = 0, пренебрежимо.

2) Вычисляем определители матриц М1,... , Мп. Выбрасывам те матрицы, у которых определитель равен 0, — они не могут участвовать в произведении, которое равно М, так как det(M) = 0. На последующих шагах считаем, что все матрицы М1,..., Мп, М невырождены.

3) В дальнейшей работе алгоритм А осуществляет рекурсивные вызовы алгоритма А на других входных данных. Будем контролировать число таких вызовов, для чего заведём счётчик вызовов Я, который сначала равен 0.

4) Если счётчик Я стал равен пр(п2), где р — полином из леммы 5, то останавливаем все рекурсивные вызовы и выдаём ответ «?».

5) Если М = Е, то останавливаем все запущенные рекурсивные вызовы алгоритма А и выдаём ответ «ДА».

6) Для каждой матрицы М^, г = 1,... , п, решаем матричное уравнение М^Х = М. Оно сводится к системе линейных уравнений, которое решаем методом Гаусса в рациональных числах. Если решение получается в натуральных числах, то делаем следующее:

а) проверяем, был ли запущен рекурсивный вызов А(М^+1,... , МП,Х) ранее;

б) если нет, то запускаем рекурсивно алгоритм А на входе (М^+1,..., Мп, X) и увеличиваем счетчик рекурсивных вызовов: Я := Я + 1 .

Это делаем для каждого матричного уравнения М^Х = М, разрешимого в натуральных числах.

Р (а) =

7) Если ни одна из этих систем неразрешима в натуральных числах, то останавливаем текущий рекурсивный вызов алгоритма A и выдаем ответ «НЕТ РЕШЕНИЯ НА ДАННОЙ ПОДЗАДАЧЕ».

8) Если все запущенные рекурсивные вызовы в какой-то момент остановились и выдали ответ «НЕТ РЕШЕНИЯ НА ДАННОЙ ПОДЗАДАЧЕ», то выдаём ответ «НЕТ».

Докажем полиномиальность алгоритма A. Каждая вычислительная процедура (метод Гаусса, вычисление определителя), используемая внутри алгоритма, работает за полиномиальное время. Кроме того, число рекурсивных вызовов алгоритма A ограничено полиномиально — оно не превосходит np(n2), где p — полином из леммы 5.

Докажем теперь генеричность алгоритма A. Из леммы 5 следует, что множество входов (Mi,..., Mn, M) проблемы суммы подмножеств размера n, в которых число решений матричного уравнения M = XY в матрицах из M не превосходит p(n2), является генерическим. Заметим, что для любого такого входа (M1,... , Mn, M) алгоритм A выдаст ответ, отличный от ответа «?». Для того чтобы убедиться в этом, оценим число возможных подзадач (Mi,... , Mn, M'), для которых происходят рекурсивные вызовы алгоритма A. Для всех матриц, кроме последней, имеется не более n вариантов выбора. Для матрицы M' всегда найдётся матрица X, такая, что M = XM'. Значит, число вариантов выбора матрицы M' не может быть больше числа решений матричного уравнения M = XY в матрицах из Mat(k,u), то есть, согласно лемме 5, p(n2). Итого получаем не более np(n2) вариантов для возможных подзадач (Mi,... , Mn, M'). А так как в алгоритме счетчик числа рекурсивных вызовов ограничен как раз значением np(n2), то все эти рекурсивные вызовы происходят и соответствующие подзадачи решаются. Поэтому на таких входах алгоритм обязательно выдаёт ответ, отличный от «?».

ЛИТЕРАТУРА

1. Karp R. Reducibility among combinatorial problems // R. E. Miller and J. W. Thather (eds). Complexity of Computer Computations. IBM Research Symposia Ser. 1972. P. 85-103.

2. Bellman M. and Merhle R. Hiding information and signatures in trapdoor knapsacks // IEEE Trans. Inform. Theory. 1978. V. 24. No. 5. P. 525-530.

3. Chor B. and Rivest R. A knapsack-type public key cryptosystem based on arithmetic in finite fields // IEEE Trans. Inform. Theory. 1988. V. 34. No. 5. P. 901-909.

4. Кузюрин Н. Н. Полиномиальный в среднем алгоритм в целочисленном линейном программировании // Сибирский журнал исследования операций. 1994. Т. 1. №3. С. 38-48.

5. Miasnihov A., Niholaev A., and Ushahov A. Knapsack problems in groups // Math. Comput. 2015. V. 84. P. 987-1016.

6. Blass A. and Gurevich Yu. Matrix transformation is complete for the average case // SIAM J. Computing. 1995. V.24. No. 1. P. 24-39.

7. Gurevich Yu. Matrix decomposition problem is complete for the average case // Proc. 31st Ann. Symp. Foundations of Computer Science. 1990. P. 802-811.

8. Cai J., Fuchs W., Kozen D., and Liu Z. Efficient average-case algorithms for the modular group // Proc. 35th Ann. Symp. Foundations of Computer Science. 1994. P. 143-152.

9. Cai J. and Liu Z. The bounded membership problem of the monoid SL2(N) // Math. Systems Theory. 1996. V. 29. P. 573-587.

10. Kapovichl., Miasnihov A., Schupp P., and Shpilrain V. Generic-case complexity, decision problems in group theory and random walks //J. Algebra. 2003. V. 264. No. 2. P. 665-694.

11. Каргаполов М. И., Мерзляков Ю. И. Основы теории групп. М.: Наука, 1982. 288 с.

12. Zsigmondy K. Zur Theorie der Potenzreste // Monatshefte für Math. u. Phys. 1882. V. 3. P. 265-284.

REFERENCES

1. Karp R. Reducibility among combinatorial problems. R.E. Miller and J.W. Thather (eds.), Complexity of Computer Computations. IBM Research Symposia Ser., 1972, pp. 85-103.

2. Bellman M. and Merkle R. Hiding information and signatures in trapdoor knapsacks. IEEE Trans. Inform. Theory, 1978, vol. 24, no. 5, pp. 525-530.

3. Chor B. and Rivest R. A knapsack-type public key cryptosystem based on arithmetic in finite fields. IEEE Trans. Inform. Theory, 1988, vol. 34, no. 5, pp. 901-909.

4. Kuzyurin N. N. Polinomialnyi v srednem algoritm v tselochilennom lineinom programmirovanii [Polynomial on average algorithm in integer linear programming]. Sib. J. Operation Research, 1994, vol.1, no.3, pp. 38-48.

5. Miasnikov A., Nikolaev A., and Ushakov A. Knapsack problems in groups. Math. Comput., 2015, vol.84, pp. 987-1016.

6. Blass A. and Gurevich Yu. Matrix transformation is complete for the average case. SIAM J. Computing, 1995, vol.24, no. 1, pp. 24-39.

7. Gurevich Yu. Matrix decomposition problem is complete for the average case. Proc. 31st Ann. Symp. Foundations of Computer Science, 1990, pp. 802-811.

8. Cai J., Fuchs W., Kozen D., and Liu Z. Efficient average-case algorithms for the modular group. // Proc. 35th Ann. Symp. Foundations of Computer Science, 1994, pp. 143-152.

9. Cai J. and Liu Z. The bounded membership problem of the monoid SL2(N). Math. Systems Theory, 1996, vol. 29, pp. 573-587.

10. Kapovichl., Miasnikov A., Schupp P., and Shpilrain V. Generic-case complexity, decision problems in group theory and random walks. J. Algebra, 2003, vol.264, no.2, pp. 665-694.

11. Kargapolov M. I. and Merzlyakov Yu. I. Osnovy teorii grupp [Elements of the Group Theory]. Moscow, Nauka Publ., 1982. 288 p.

12. Zsigmondy K. Zur Theorie der Potenzreste. Monatshefte fur Math. u. Phys., 1882, vol.3, pp.265-284.