Научная статья на тему 'Быстрый алгоритм восстановления истинного решения фиксированного веса системы линейных булевых уравнений с искажённой правой частью'

Быстрый алгоритм восстановления истинного решения фиксированного веса системы линейных булевых уравнений с искажённой правой частью Текст научной статьи по специальности «Математика»

CC BY
246
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СИСТЕМА БУЛЕВЫХ УРАВНЕНИЙ С ИСКАЖЕННОЙ ПРАВОЙ ЧАСТЬЮ / ВЕРОЯТНОСТНЫЙ АЛГОРИТМ. ВВЕДЕНИЕ / SYSTEM OF BOOLEAN LINEAR EQUATIONS WITH NOISED RIGHT-HAND SIDE / PROBABILISTIC ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Алексейчук Антон Николаевич, Грязнухин Александр Юрьевич

Рассматривается система линейных булевых уравнений с искажённой правой частью, истинное решение которой имеет заданный вес, не зависящий от числа неизвестных в системе. Предлагается вероятностный алгоритм нахождения этого решения, имеющий меньшую временную сложность по сравнению с методом максимума правдоподобия. В отличие от известных алгоритмов, обладающих указанным свойством, предложенный алгоритм использует только операции сравнения и (поразрядного и арифметического) сложения двоичных целых чисел, что позволяет применять его на практике в случае, когда другие алгоритмы оказываются менее эффективными.

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

Похожие темы научных работ по математике , автор научной работы — Алексейчук Антон Николаевич, Грязнухин Александр Юрьевич

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

Fast algorithm for recovering the true solution with fixed weight of a system of linear Boolean equations with noised right-hand side

A system of linear Boolean equations with noised right-hand side is considered. It is assumed that the true solution of the system has a predetermined weight that is independent of the number of variables in the system. A probabilistic algorithm for finding this solution is proposed. The time complexity of our algorithm is less than the time complexity of maximum likelihood method, and in contrast to the known algorithms with this property, our algorithm uses only comparisons and (bitwise and arithmetic) additions of binary integers. The proposed algorithm can be used in practice in some cases when other algorithms are less efficient.

Текст научной работы на тему «Быстрый алгоритм восстановления истинного решения фиксированного веса системы линейных булевых уравнений с искажённой правой частью»

2013

Вычислительные методы в дискретной математике

№2(20)

ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ

УДК 631.391:519.2

БЫСТРЫЙ АЛГОРИТМ ВОССТАНОВЛЕНИЯ ИСТИННОГО РЕШЕНИЯ ФИКСИРОВАННОГО ВЕСА СИСТЕМЫ ЛИНЕЙНЫХ БУЛЕВЫХ УРАВНЕНИЙ С ИСКАЖЁННОЙ ПРАВОЙ ЧАСТЬЮ

А. Н. Алексейчук, А. Ю. Грязнухин

Институт специальной связи и защиты информации Национального технического университета Украины «Киевский политехнический институт», г. Киев, Украина

Рассматривается система линейных булевых уравнений с искажённой правой частью, истинное решение которой имеет заданный вес, не зависящий от числа неизвестных в системе. Предлагается вероятностный алгоритм нахождения этого решения, имеющий меньшую временную сложность по сравнению с методом максимума правдоподобия. В отличие от известных алгоритмов, обладающих указанным свойством, предложенный алгоритм использует только операции сравнения и (поразрядного и арифметического) сложения двоичных целых чисел, что позволяет применять его на практике в случае, когда другие алгоритмы оказываются менее эффективными.

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

Введение

Рассмотрим систему булевых уравнений

где А — случайная равновероятная матрица размера т х к над полем из двух элемен-

Система уравнений (СУ) (1) называется системой линейных булевых уравнений с искажённой правой частью, а вектор х0 — её истинным решением [1].

Предположим, что вес (количество ненулевых координат) вектора х0 равен фиксированному числу р ^ 3. Требуется восстановить этот вектор по известным значениям А, Ь, р и р.

Как правило, данную задачу решают в предположении, что число неизвестных к в системе (1) принимает любые достаточно большие натуральные значения, а вероятность искажения р не зависит от к. При этом требуется разработать алгоритм, позволяющий для любых наперёд заданных р Є (0,1/2) и р Є {3, 4,...} находить истинное

Е-шаі1: alex-crypto@mail.ru, x67mail@gmail.com

Ах = Ь = Ах0 Ф С,

(1)

решение этой системы уравнений с любой наперёд заданной надёжностью при всех достаточно больших значениях k и m [1-3].

Назовём алгоритм A восстановления истинных решений СУ (1) состоятельным, если существует функция mo : Nx (0,1/2) х (0,1/2) х{3, 4,...} —У N, удовлетворяющая следующему условию: для любыхp, 8 G (0,1/2), р G {3, 4,...} существует число k0 G N, такое, что для любого натурального k ^ k0 и произвольного вектора x0 G {0,1}k веса р вероятность правильного восстановления этого вектора с помощью алгоритма A по известной реализации случайной системы (1), состоящей из m = m0(k,p, 8, р) уравнений, больше либо равна 1 — 8.

В дальнейшем рассматриваются только состоятельные алгоритмы. Трудоёмкость (или временная сложность в худшем случае) каждого из них является функцией четырёх параметров: T = T(k,p, 8, р), где m = m0(k,p, 8, р); k ^ k0; p, 8 G (0,1/2); р G {3, 4,...}. Обычно интересуются асимптотическим поведением этой функции при k У то для каждого набора значений (p, 8, р). Наибольший интерес представляют алгоритмы, трудоёмкость которых полиномиально зависит от k, (1 — 2p)-1 и 8-1.

Уточним понятие элементарной операции, необходимое для оценки трудоёмкости алгоритмов. Отметим, что в большинстве работ, посвящённых алгоритмам решения систем булевых уравнений с искажёнными правыми частями, тип используемых операций не оговаривается явно. Как правило, это операции над целыми числами или двоичными векторами произвольной длины. В настоящей работе элементарной называется любая двоичная операция (булева функция двух переменных), а также операция i У i + 1, где i — произвольное целое число. Любые (не обязательно элементарные) операции называются условными.

Остановимся подробнее на известных алгоритмах восстановления истинных решений систем уравнений (1). Наиболее естественный из них состоит в применении метода максимума правдоподобия и сводится к перебору всех k-мерных векторов веса р. Известно [1, теорема5.1], что для любых p G (0,1/2), р G {3,4,...} и m = (1 + Bk) log (k)/(1 — h(p)), где h(p) = —plogp — (1 — p) log(1 — p), lim 9k > 0, метод максимума правдоподобия позволяет восстанавливать истинное решение СУ (1) с вероятностью, стремящейся к 1 при k У то. Нетрудно убедиться, что в этом случае трудоёмкость метода составляет O((1 — 2p)-2kplog k) элементарных операций, где O зависит только от р.

В [2] предложен асимптотически более эффективный алгоритм, основная идея которого заключается в том, чтобы построить таблицы D и D;, состоящие из векторов Ay и Az ф b соответственно, где у и z пробегают все k-мерные булевы векторы веса [р/2] и [р/2] соответственно, и применить к этим таблицам алгоритм решения задачи о ближайшей окрестности (approximate nearest neighbor problem), описанный в [4]. Последний позволяет с некоторой высокой вероятностью найти в таблицах векторы Ay0 и Az0 ф b, расположенные на определённом (не слишком большом) расстоянии Хэмминга. В [2] показано, что для любой последовательности положительных чисел ш1,ш2,..., сходящейся к +то, и произвольных p, 8 G (0,1/2), р G {3, 4,...} при всех достаточно больших k и m = [р(1 — 2p)-2 log(k8-1)wk] истинное решение СУ (1) равно y0 ф z0 с вероятностью не менее 1 — 8. При этом для нахождения этого решения требуется O((1 — 2p)-2krp/2l(1+4p +ak(p)) log(k8-1)wk) условных операций, где lim ak(p) = 0

k^^

для любого p G (0,1/2), а O зависит только от р (отметим, что в формулировках этого результата, приведённых в [2] (см. теорему 5 и следствие 1), имеются неточности и опечатки).

Обратим внимание, что в [4] отсутствуют явные оценки надёжности алгоритма решения задачи о ближайшей окрестности, а в [2] ошибочно предполагается, что этот алгоритм всегда завершается успешно. Поэтому вопрос о том, с какой вероятностью алгоритм из [2] восстановит вектор х0, выполняя указанное выше количество операций, остаётся открытым.

Отметим также, что алгоритм из [4] предназначен для решения задачи о ближайшей окрестности в евклидовом пространстве, а не в пространстве Хэмминга. В результате (при стандартном вложении второго пространства в первое) основная доля вычислений приходится на операции над вещественными числами. Последнее обстоятельство существенно усложняет программную реализацию алгоритма, который становится трудноприменимым на практике, если число неизвестных к заключено в пределах от нескольких сотен до нескольких тысяч, а вероятность р является величиной порядка 10-3. (Отметим, что к решению систем уравнений с такими параметрами приводит задача восстановления некоторых линейных кодов по наборам случайных кодовых слов, искажённых в двоичном симметричном канале связи [5].)

В [3] предложен другой алгоритм восстановления вектора х0, основанный на быстром умножении некоторых целочисленных матриц, трудоёмкость которого для любых р Е (0,1/2), р Е {3, 4,...} и всех достаточно больших к, т (зависящих от р и р) ограничена сверху величиной ро/у((1 — 2р)-1)к0,8р условных операций, где ро/у — некоторый полином, не зависящий от параметров. Этот алгоритм интересен тем, что в оценке его трудоёмкости отсутствует зависимость от р в показателе степени числа к. Однако при указанных выше значениях к и р алгоритм из [3] практически не превосходит по эффективности метод максимума правдоподобия. При этом для его применения требуется существенно больший объём памяти.

Целью настоящей работы является разработка алгоритма, имеющего меньшую трудоёмкость по сравнению с методом максимума правдоподобия, допускающего простую программную реализацию и позволяющего на практике восстанавливать истинные решения систем уравнений (1) от нескольких сотен или тысяч неизвестных, по крайней мере, при малых значениях р и р. Представленный ниже алгоритм базируется на той же идее, что и алгоритм из [2], но использует только операции сравнения и (поразрядного и арифметического) сложения двоичных целых чисел. Вместо решения задачи о ближайшей окрестности предложено проводить быстрый поиск пары близких векторов в таблицах Б и Б' по критерию совпадения их фрагментов в случайно выбранном множестве координат. Отметим, что эта идея используется в [6-8] и ряде других работ по теории информационного поиска. Получены оценки надёжности и трудоёмкости предложенного алгоритма. Приведены результаты вычислительных экспериментов, показывающие, что средняя трудоёмкость алгоритма заметно меньше её верхней границы в худшем случае.

1. Теоретические результаты

В дальнейшем, если не оговорено противное, символ О обозначает некоторую положительную постоянную, не зависящую от каких-либо параметров. В частности, для любых функций ^ и 0, определённых на некотором множестве X и принимающих вещественные значения, формула <^(х) = О(0(х)), х Е X, означает, что существует такое положительное число С, не зависящее от х, что |<^(х)| ^ С|0(х)| для всех х Е X (см. [9, с. 12]). Если при этом множество X не указано явно, то по умолчанию оно совпадает с пересечением областей определения функций ^ и 0.

Введём следующие обозначения: V; — множество двоичных векторов длины к; ||х|| —вес вектора х Е V;; ^х,у) —расстояние Хэмминга между векторами х,у Е V;;

а, Ь = {и Е Ъ : а ^ и ^ Ь}, а, Ь Е Ъ. Положим

Для любого множества M С 1,m и произвольной матрицы U, строки которой занумерованы числами 1, 2,... ,m, обозначим Um подматрицу матрицы U, содержащуюся в её строках с номерами из M.

Предлагаемый алгоритм восстановления вектора x0 по указанным выше исходным данным A, b,p, p зависит от параметров І Є N, є Є (p, 1/2), t Є N, где t < (1 — e)m, и имеет следующий вид.

Положить Out = «НЕТ».

Для каждого i Є 1, І выполнить следующие действия.

Процедура 1. Сгенерировать случайное равновероятное t-множество Mi С 1,m; построить таблицу Di, состоящую из упорядоченных пар (y, A_m4 y), где y Є V(1); с помощью одного из известных быстрых алгоритмов сортировки построить новую таблицу Di*, расположив пары (y, A^;y) в порядке неубывания t-разрядных целых чисел, соответствующих векторам A^ y, y Є V(1).

Процедура 2. Для каждого z Є V(2)

— положить b(z) = Az ® b;

— используя алгоритм бинарного поиска, проверить по таблице Di*, существует ли

вектор y Є V(1), такой, что A^y = b(z)Mi; если да, то

— найти указанный вектор y;

— если d(Ay, b(z)) ^ me, то положить Out = y ® z и закончить работу.

Прокомментируем описанный алгоритм. Он состоит из І шагов, на каждом из которых выполняются процедуры І и 2. Результатом работы алгоритма является значение Out, равное некоторому k-мерному двоичному вектору, рассматриваемому в качестве оценки истинного решения СУ (І), либо слову «НЕТ», если эту СУ решить не удалось (хотя бы даже ошибочно).

Процедура І базируется на идее, предложенной в [2], и аналогична этапу предвы-числений в атаках «баланс время — данные — память» [І0, ІІ]. Множества Mi, i Є 1,І, следует выбирать независимо друг от друга, случайно и равновероятно из совокупности всех подмножеств мощности t множества 1, m. Для их генерации можно использовать алгоритм, описанный в [І2, с. 2І2]. Для сортировки таблицы Di следует применять быстрые алгоритмы, трудоёмкость которых составляет O(N log N) операций сравнения в худшем случае [ІЗ].

Процедура 2 состоит в поиске векторов y Є V(1) и z Є V(2) , для которых расстояние Хэмминга между векторами Ay и b(z) не превосходит me. Поиск ведётся до первого успеха: в случае нахождения указанных векторов алгоритм завершает работу. Для ускорения поиска используется следующий приём [6-8]: рассмотрим фрагмент b(z)Mi вектора b(z) и проверим, не встречается ли он среди вторых компонент пар векторов, записанных в таблице Di. Алгоритм бинарного поиска (см., например, [І2, с. 236]) выполняет эту проверку за время O(log N) вместо O(N) операций сравнения, если таблица Di отсортирована по второй компоненте. Отметим также, что алгоритм бинарного

p1 = Lp/2j,p2 = Tp/21,N = ,N =

p1

V(1) = {y Є Vk : ||y|| = p1}, V(2) = {z Є Vk : ||z|| = p2}.

поиска находит ровно один вектор y Е V(1) со свойством AMiУ = b(z)Mi, если такой существует. Поэтому описанный алгоритм решения СУ (1) может совершить ошибку в случае, когда вектор b(z)Mi встречается более одного раза в наборе (AmУ : У Е V(1)), i Е 1, /.

Обозначим Рош вероятность ошибки описанного алгоритма (подчеркнём, что она определяется относительно совместного распределения независимых случайных элементов А, £, Mi,... ,Мг, распределённых по указанным выше законам).

Теорема 1. Для любых k,/,m,t,p Е N, p Е (0,1/2) и e Е (p, 1/2), таких, что 3 ^ р ^ к — 1, t < (1 — e)m, описанный алгоритм выполняет

T = O(/N(t log N + pm)) (3)

элементарных операций и использует память размера

S = O(tN log N + km) бит. (4)

При этом справедливо неравенство

Рош ^ 2-tN+exp{ — 2m(e—p)2}+Nexp{ —2m(1/2—e)2}+exp j—/(1—e—tm-1)* j . (5)

Доказательство. На i-м шаге алгоритма (i Е 1,/) для построения таблицы Di достаточно выполнить не более Ntp1 элементарных операций, а для формирования таблицы D/ — O(Nt log N) операций. Кроме того, для каждого z Е V(2) вычисление вектора b(z), поиск в таблице D/ и (возможная) проверка условия d(Ay,b(z)) ^ me потребуют не более tp2, O(t log N) и O(pm) элементарных операций соответственно. Следовательно, T = O(/(Ntp1 + Nt log N + N(tp2 + t log N + pm))), откуда вытекает справедливость формулы (3).

Далее, для хранения матрицы А и вектора b требуется O(km) бит памяти, а для хранения таблиц Di и D/ — O(tN log N) бит (включая дополнительную память, необходимую для быстрой сортировки). Следовательно, выполняется равенство (4).

Убедимся в справедливости формулы (5). Обозначим

М = (М1,..., Mi),N(£) = {i Е й : £ = 0}, S(xo) = {(y, z) Е V(1) х V(2) : у 0 z = Хо} и рассмотрим следующие события:

^1 = U {d(Ay,Az 0 b) ^ me}, П2 = {||£|| ^ me}, П3 = f| {Mi ^ N(£)}\П2,

(y,z)eS(xo) i=1

П4 = {Out = «НЕТ»}\(П1 U П2 U П3).

Заметим, что если алгоритм совершает ошибку, то либо наступает событие П1, либо выполняется равенство Out = «НЕТ». Следовательно,

Рош ^ Pr(^1) + Рг(^2) + Рг(Оз) + Рг(^4). (6)

Оценим вероятность события П1. Поскольку А — случайная равновероятная матрица, а вектор £ не зависит от А, то в силу равенства (1) для любого (y,z) Е S(x0) случайная величина d(Ay, Az 0 b) = || А(у 0 z 0 x0) 0 £|| распределена по закону Бернулли с параметрами (m, 1/2). Отсюда на основании неравенства для вероятностей больших уклонений (см., например, [14, с. 31]) следует, что

Pr{d(Ay, Az 0 b) ^ me} ^ exp{ —2m(1/2 — e)2}

и, значит,

Рг(^) ^ | V| ■ | V| ехр{ — 2т(1/2 — е)2} ^ N ехр{—2т(1/2 — е)2}. (7)

Аналогично, используя неравенство для вероятностей больших уклонений, получим, что

Рг(П2) ^ ехр{ —2т(е — р)2}. (8)

Далее, в силу независимости случайных равновероятных ^-множеств М1, ..., Мг и вектора £, а также неравенства £ ^ (1 — е)т вероятность события = Р| {М» ^ ^ N(£)} П {^(£)| > (1 — е)т} не превосходит величины

i=1

N

, / \ N і

^ / Г(1 — є)m1 ^ ^

t

1 - '

m t

где (и)* = и(и — 1)... (и — £ +1) для любого и ^ £. Используя неравенства (и — £)* ^ (и)* ^ и*, и > £ ^ 1, получим отсюда, что

/,—.4 і і (1 — є)^, — А *\ ( Z (1 — є)m — t4 *

Pr(Oa) ^ 1 — (--------------------------------)- ^ ex^ —V ( )

mm -1\ t!

= exp {—1(1 — є — tm 1)^ .

Покажем, наконец, что

Pr(n4) ^ 2-tN. (10)

Зафиксируем векторы y0 Є V(1), z0 Є V(2), такие, что x0 = y0 ® z0. Обозначим Ui(£, M) событие, состоящее в том, что i — наименьшее натуральное число от 1 до І со свойством Mi С N(£); V(A, Mi) — событие, состоящее в том, что случайный вектор AMiy0 встречается в наборе (A_^y : y Є V(1)) не менее двух раз. Справедливо равенство

Pr(O0 = Е Pr(^4 n Ui(C, M)). (11)

i=1

Пусть происходит событие П4 П Ui(^, M). Тогда £мі = 0 и вектор A_^z0 ® Ьмі = = AMiy0 присутствует среди вторых компонент пар, записанных в таблице Di. С другой стороны, поскольку алгоритм возвращает значение Out = «НЕТ», на i-м шаге

в результате выполнения процедуры 2 определяется вектор y Є V(1), отличный от y0.

Следовательно, происходит событие V(A, Mi). Итак,

Pr(Oi n Ui(f,M)) ^ Pr(Oi n V(A,Mi)),i Є 1,7. (12)

Далее, для любого фиксированного ^-множества М С 1,т вероятность события V(А, М) = V(А, М,) П (Мі = М} не превосходит среднего числа появлений нулевого вектора в наборе (Ам(у ф у0) : у Є V(1)\(y0}), которое равно 2-*(Ж — 1). Отсюда на

основании формул (11), (12) и независимости случайных элементов A,£ и M следует,

Итак, справедливо неравенство (10), что и требовалось доказать.

Из оценок (6)-(10) непосредственно следует неравенство (5). ■

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

Исследуем асимптотическое поведение трудоёмкости алгоритма при к ^ то для каждого набора значений (р, $, р).

Теорема 2. Пусть $, $!, $2, ^з, ^4 —положительные числа, такие, что

m = max| [1/2 ■ t2 in(i2 , [1/2 ■ (1/2 — є) 2 in(iV2i3 ^l, [t(1 — є) ^ +1}; (15)

Тогда предложенный алгоритм восстанавливает истинное решение СУ (1) с вероятностью не менее 1 — $, а его трудоёмкость при к ^ то составляет

элементарных операций, где O зависит только от 8j (j Е 1,4).

Доказательство. Из соотношений (14), (15) следует, что параметры е и t удовлетворяют ограничениям, указанным в условии теоремы 1. Неравенство Рош ^ 8 вытекает непосредственно из формул (5) и (13)—(16).

Убедимся в справедливости равенства (17) (на протяжении оставшейся части доказательства символ O обозначает некоторую постоянную, зависящую разве что от параметров 8j, j Е 1,4).

Обозначим ^ = е + tm-1, C = 1 + 2/ln(82-1) и зафиксируем число k0 Е N, такое, что 1/2 • log k0 > max{C, 1 + (1/2 — p)-1}. Из определения параметров N и t вытекает, что для любого k ^ k0 справедливы следующие соотношения:

что

Pr(O0 ^Е Е Pr(Ui(e, M) n V(A, Mi) n{Mi = M})

І=і МCl,m:

|М |=t

= E E Pr(Ui(e,M)n{Mi = m})Pr(v(A,m)) ^

І=і МCl,m:

|М | = t

^ 2-tN E E Pr(Ui(C, M) n {Mi = M}) = 2-tN E Pr(Ui(C, M)) ^ 2-tN.

МCl,m:

|М | = t

il + І2 + Із + І4 ^ І < 1/2.

Для любых p Є (0,1/2), p Є {3, 4,...} и k > p положим

t = max {|~log(Nil-1)~| , [(1/2 — p)-1] +1} ,є = p + t-1;

(13)

(14)

(16)

T = O ((1 — 2p)-2krp/2l(1+log(і-p))iog2krp/2lj

(17)

2(1 + (1/2 — р)-1) < logN ^ г = [^^^-1)] ^ log(2N^l-1). (18)

Кроме того, согласно формуле (15), гт-1 ^ 2/(г 1п(£2-1)), откуда следует, что для любого к ^ ко

Оценим сверху значение (1 — ц)-* при к ^ к0. Заметим, что поскольку р < 1/2 и 1/2 ■ ^ N > С, то 1 — ц ^ 1 — р — О/^ N ^ (1 — р) (1 — 2С/к^ N) > 0. Отсюда, используя верхнюю оценку параметра г из формулы (18), получим

(1 — ц)-* ^ (1 — р)-* ^ 1 — = 2*М1-р)-12*М1-2С/1°§^Г1 ^

^ ^ЖГ1)1^1-^1 (2ЖГ1)М1-2С/1^Ю 1 ^

^ Nlog(1 -р)-1 (2$1 -1 )(2Ж1 -1) ^(1 -2С/1^ м)-1.

Наконец, применяя известное неравенство 1п(1—х) ^ — х(1 —ж)-1, х Е (0,1), получим

/ -1 \ // 2С \-

1п ^(2N^l-1)1og(1-2C/1ogм) ) = 1п ( Г1 — ^^) ) <

2С / 2С \-1

^ к^(2^1-1)------- 1 — ----- = 0(1), к —— то>.

61 1 1og ^ 1og N1 1

Итак,

I = О ((1 — ц)-) = О (ПТ М1-^-1) , к — то. (19)

Далее, на основании соотношений (18) для любого к ^ к0 справедливы неравенства г(1/2 — р) > 2(1 + (1/2 — р)-1)(1/2 — р) > 2, из которых следует, что

1/2 — е =1/2 — р — г-1 = (1/2 — р)(1 — г-1(1/2 — р)-1) > 1/2 ■ (1/2 — р).

Отсюда на основании формулы (15) получаем

т = 0((1/2 — р)-21og2 N), к — то. (20)

Кроме того, согласно формуле (14),

г = ^N + 0(1), к — то. (21)

Подставляя выражения в правых частях равенств (19)—(21) в формулу (3) и принимая во внимание соотношения N ^ ^ к^р/2^, рЖ ^ 1/2 ■ к^р/2^, р Е 3, к — 1, получаем

Т = 0(^(г 1og N + рт)) = О ^ ^М1-^-1 (1/2 — р)-21og2 =

= О /(1 — 2р)-2кГр/21(1+М1-рГ1^2кГр/21\ , к — то.

Итак, равенство (17), а вместе с ним и теорема полностью доказаны. ■

Замечание 1. Как видно из доказательства теоремы 2, при выполнении равенств (14)—(16) и $1 = $2 = $3 = $4 = 0,25$ трудоёмкость описанного алгоритма ограничена сверху полиномиальной функцией от $-1 —величины, обратной к верхней границе вероятности ошибки алгоритма. Вопрос о том, обладают ли указанным свойством алгоритмы, изложенные в [2, 3], в этих публикациях не обсуждается.

Замечание 2. Трудоёмкость описанного алгоритма можно уменьшить, если при выполнении процедуры 1 хранить таблицу D в «распределённом» виде, записывая по адресу У номер вектора у Е V(1) (в случае многократного обращения по одному и тому же адресу сохраняется последняя запись). При выполнении процедуры 2 для нахождения вектора у Е V(1) со свойством Am У = &(z)m достаточно обратиться в память по адресу 6(z),m , z Е V(2) , i Е 1,/ . Нетрудно видеть, что вероятность ошибки модифицированного таким образом алгоритма оценивается сверху по формуле (5). При этом его трудоёмкость составляет

T = O(N/pm) (22)

элементарных операций, а объём используемой памяти —

S = O(2*t + km) бит. (23)

2. Вычислительные эксперименты

Описанный алгоритм (в модифицированном виде; см. замечание 2) реализован программно и применён к решению ряда систем уравнений с искажёнными правыми частями. Вычислительные эксперименты проводились на ЭВМ с процессором Intel Core i5-2450 (2,5 ГГц) и объёмом оперативной памяти 6 Гб RAM (DDR3) на базе Windows 7. При этом использовалась среда разработки Microsoft Visual C++ Studio 2008.

В табл. 1 и 2 показаны типичные результаты, полученные в двух сериях экспериментов. Слева в таблицах приведены теоретические значения параметров t, е, / и m, log Т, log S', рассчитанные при 81 = 82 = 83 = 84 = 0,258 по формулам (14)-(16) и (22), (23). Справа указаны значения параметров t;, е;, m/, выбранные для проведения экспериментов, а также результаты, полученные в ходе их выполнения.

Таблица 1

Сравнение теоретических и экспериментальных результатов

(к = 200, р = 4, 5 = 0,1)

p Теория Эксперимент

t є 1 m log T log T t' є' V ‘ср у max m' с ,р Е-н°

0,005 20 0,055 21 738 30,20 24,33 20 0,055 1,15 3 б00 0,0056

0,008 20 0,058 22 738 30,27 24,33 20 0,058 1,20 б б00 0,0082

0,010 20 0,060 2З 738 30,33 24,33 20 0,060 1,27 б б00 0,0089

0,020 20 0,070 29 738 30,67 24,33 20 0,070 1,59 12 б00 0,0215

0,050 20 0,100 ВТ T3S 31,64 24,33 20 0,100 2,66 20 б00 0,0604

Для каждой пары значений (р, т'), приведённых в табл. 1 и 2, 225раз выполнялась следующая процедура: независимо друг от друга, случайно равновероятно генерировались т' х к -матрица А и вектор ж0 веса р, по которым формировалась СУ вида (1) с искажениями в правой части, распределёнными по закону (2). Затем к полученной СУ применялся описанный выше (модифицированный) алгоритм с параметрами /, е; и г;, значения которых приведены в таблицах. В результате выполнения алгоритма для каждой из 225 систем уравнений определялось фактическое число шагов (выбираемых множеств М, г Е 1, /) до нахождения оценки истинного решения этой системы.

Таблица 2

Сравнение теоретических и экспериментальных результатов

(к = 2000, р = 4, 5 = 0,1)

р Теория Эксперимент

Ь £ 1 т ^ Т ^ Б ? £ 1С р у тах т с ,р Тср

0,005 27 0,042 21 1345 37,72 31,76 26 0,042 1,17 4 1000 19,516

0,008 27 0,045 23 1345 37,85 31,76 26 0,045 1,20 4 1000 21,312

0,010 27 0,047 25 1345 37,97 31,76 26 0,047 1,39 7 1000 30,572

0,020 27 0,057 33 1345 38,39 31,76 26 0,057 1,56 5 1000 43,866

0,050 27 0,087 79 1345 39,63 31,76 26 0,087 4,15 31 1000 153,721

Параметры /£р и Гтах в таблицах равны соответственно среднему арифметическому и наибольшему из этих чисел. В последней колонке табл. 1 и 2 приведено среднее время выполнения алгоритма в секундах (при этом надёжность восстановления истинных решений сгененированных СУ составляет 100%).

Как видно из таблиц, значения Гср и Гтах заметно меньше теоретической верхней границы I количества шагов, выполняемых до нахождения оценки истинного решения СУ. Например, согласно табл. 2, истинное решение веса 4 системы из 1000 уравнений от 2000 неизвестных с вероятностью искажения в правой части р = 0,050 находится в среднем не более чем на пятом (а в худшем случае — на тридцать первом) шаге со 100 %-й надёжностью, в то время как теоретическое значение числа шагов I = 79 (при большем количестве уравнений т = 1345 и нижней границе надёжности алгоритма 90%). Среднее время восстановления решения такой СУ составляет около 2,5 мин.

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

В табл. 3-5 приведены результаты сравнения предложенного алгоритма с методом максимума правдоподобия. Данные в табл. 3 получены следующим образом. Сначала экспериментальным путём для каждого значения р, указанного в таблице, были получены оценки т1 (р) и т2(р) наименьшего числа уравнений в (случайно сгенерированной) системе (1), при котором вероятность правильного восстановления её истинного решения с помощью метода максимума правдоподобия и соответственно предложенного алгоритма составляет не менее 90 %. Затем для каждого р 225 раз выполнялась процедура, в ходе которой к случайно сгенерированной СУ (1), состоящей из т2(р) уравнений, применялся предложенный алгоритм. Потом из этой СУ удалялись последние т2 (р) — т1 (р) уравнений и полученная система решалась методом максимума правдоподобия. Данные в табл. 4 и 5 получены аналогично, с тем отличием, что для каждого исходного значения р вместо 225 запусков процедуры выполнялось только 10. Последнее обстоятельство обусловлено заметным увеличением времени решения СУ методом максимума правдоподобия.

Таблица 3

Сравнение алгоритмов решения систем с искажёнными правыми

частями (к = 128, р = 4)

р Метод максимума правдоподобия Предложенный алгоритм

Среднее время выполнения, с Количество уравнений, ші(р) Среднее время выполнения, с Количество уравнений, Ш2 (р)

0,005 3,6795 40 0,0008 56

0,008 3,6923 40 0,0027 56

0,010 3,8418 40 0,0072 56

0,020 3,9712 48 0,0113 160

0,050 5,8443 72 0,0453 200

Таблица 4

Сравнение алгоритмов решения систем с искажёнными правыми

частями (к = 128, р = 5)

Р Метод максимума правдоподобия Предложенный алгоритм

Среднее время выполнения, с Количество уравнений, ті(р) Среднее время выполнения, с Количество уравнений, Ш2 (р)

0,005 94,48 40 0,0732 56

0,008 99,73 40 0,0899 56

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

0,010 105,96 40 0,0995 56

0,020 106,16 48 0,3466 72

0,050 136,60 72 1,4910 160

Таблица 5

Сравнение алгоритмов решения систем с искажёнными правыми

частями (к = 128, р = 6)

Р Метод максимума правдоподобия Предложенный алгоритм

Среднее время выполнения, с Количество уравнений, ті(р) Среднее время выполнения, с Количество уравнений, т2(р)

0,005 2056,94 40 0,4013 56

0,008 2154,86 40 0,4551 64

0,010 2138,73 40 0,4278 64

0,020 2197,63 48 0,7418 120

0,050 3691,22 72 2,7181 200

Как видно из таблиц, предложенный алгоритм в сотни (а в ряде случаев — в тысячи) раз превосходит по эффективности метод максимума правдоподобия, причём с ростом значения р это различие становится всё более заметным.

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

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

ЛИТЕРАТУРА

1. Балакин Г. В. Введение в теорию случайных систем уравнений // Труды по дискретной математике. М.: ТВП, 1997. T. 1. C. 1-18.

2. Grigorescu E., Reysin L., and Vempala S. On noise-tolerant learning of sparse parities and related problems // Proc. 22nd Intern. Conf. of Algorithmic Learning Theory. Berlin, Heidelberg: Springer Verlag, 2011. P. 413-424.

3. Valiant G. Finding correlations in subquadratic time, with applications to learning parities and juntas // Proc. 53rd Annual IEEE Symp. on the Foundations of Computer Science, New Brunswick, New Jersey, October 2-23, 2012. P. 11-20.

4. Andoni А. and Indyk P. Near-optimal hashing algorithms for approximate nearest neighbor in high dimension // Proc. 47th Symp. on Foundations of Computer Science, Berkeley, California, October 21-24, 2006. P. 459-468.

5. Алексейчук А. Н., Грязнухин А. Ю. Метод восстановления систематических линейных кодов по наборам искаженных кодовых слов // Прикладная радиоэлектроника. 2013. T. 12. №2. С. 128-132.

6. Greene D., Parnas M., and Yao F. Multi-index hashing for information retrieval // Proc. 35th Annual IEEE Symp. on the Foundations of Computer Science, Santa Fe, New Mexico, November 20-22, 1994. P. 722-731.

7. Dolev D., Harari Y., and Parnas M. Finding the neighborhood of a query in a dictionary // Proc. 2nd Israel Symp. on Theory and Computing Systems, Natanya, Israel, June 7-9, 1993. P. 33-42.

8. Indyk P. and Motwani R. Approximate nearest neighbors: towards removing the curse of dimensionality // Proc. Symp. on Theory of Computing. New York, NY, USA: ACM, 1998. P. 604-613.

9. Де Брёйн Н. Г. Асимптотические методы в анализе: пер. с англ. М.: ИЛ, 1961. 247с.

10. Babbage S. H. Improved “exhaustive search” attacks on stream ciphers // European Convention on Security and Detection, Brighton, May 16-18, 1995. P. 161-166.

11. GolicJ. Cryptanalysis of alleged A5 stream cipher // Advances in Cryptology. Proc. EUROCRYPT’97. Springer Verlag, 1997. P. 239-255.

12. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика: пер. с англ. М.: Мир, 1980. 476 с.

13. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов: пер. с англ. М.: Мир, 1979. 535 с.

14. Ширяев А. Н. Вероятность: учеб. пособие для вузов. М.: Наука, 1989. 640 с.

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