Научная статья на тему 'Нумерация инволюций'

Нумерация инволюций Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Андреева Людмила Николаевна, Потеряева Валентина Александровна

Two algorithms for involutions numeration are proposed in this paper: an algorithm finding index of the given involution and an algorithm constructing involution by means of the given index.

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

Involutions numeration

Two algorithms for involutions numeration are proposed in this paper: an algorithm finding index of the given involution and an algorithm constructing involution by means of the given index.

Текст научной работы на тему «Нумерация инволюций»

ПРИЛОЖЕНИЕ

Сентябрь 2012

Секция 6

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

УДК 519.1

НУМЕРАЦИЯ ИНВОЛЮЦИЙ

Л. Н. Андреева, В. А. Потеряева

Пусть задано конечное множество X. Отображение д : X ^ X со свойством ин-волютивности Ух, у Е X(д(х) = у ^ д(у) = х) называется инволюцией. Представим инволюцию

вектором (д^ д2,... , дп), где п = IX|. Зададим на множестве всех инволюций на X лексикографический порядок, согласно которому каждой инволюции можно сопоставить порядковый номер. Возникают две задачи: построить инволюцию по заданному номеру и вычислить номер заданной инволюции [1].

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

В данной работе предлагаются алгоритмы решения поставленных задач и приводятся результаты их испытаний.

Алгоритм 1 построения инволюции по заданному номеру

Вход: п — длина инволюции, I — номер инволюции.

Выход: вектор (д^ д2,... , дп), представляющий I-ю (в лексикографическом порядке) инволюцию.

Число всех инволюций длины п вычисляется по рекуррентной формуле Гп = Гп-1 + + (п - 1)Гп-2, где Г1 = 1 и Г2 = 2 [2].

1. у = {1,2,..., п}, г = 1.

2. Если г = п, то переход в п. 5.

3. Если I ^ Гп-*, то дУ1 = у1, У = У \ {у1}, г = г + 1 и переход в п. 2;

иначе если г < п — 1, то к = [(I — Гп-*)/гп-*-1~\ + 1, иначе к = 2.

4. д* = ук.

Если д* = г, то г = г + 1, I = I — Гп-* — (к — 2)гп-*-1, У = У \ {ук},

иначе дук = г, I = I — Гп-* — (к — 2)гп-*-1, г = г + 2, У = У \ {ук, г} и переход

в п. 2.

5. д* = у1.

Алгоритм 2 вычисления номера заданной инволюции

Вход: п — длина инволюции, вектор (д1,д2,... ,дп), представляющий инволюцию.

Выход: I — искомый номер инволюции.

9

1 2 ... і

9і 92 ... 9

1. I =1, г = п.

2. Если = 1, то г = г — 1,

иначе I = I + Г—1 + (<21 — 2)г*_2, г = г — 2.

3. г = 1.

4. Если г = п, то переход в п. 6,

иначе если 2 = г, то г = г — 1 и переход в п. 5,

иначе если 2 > г, то I = I + г4-1 + (^ — п + г — 1)г4, г = г — 2 и переход в п. 5.

5. г = г + 1 и переход в п. 4.

6. I — результат.

Приведённые алгоритмы реализованы программно на языке Си+—+ с использованием процессора 1п1е1(И.) Реп1шш(И,) 4СРи, работающего с частотой 300 ГГц. В таблице приведено усреднённое по 10000 случайных примеров время работы алгоритмов для 25 < п < 31.

n Время работы алгоритма 1, с Время работы алгоритма 2, с

25 0,0055 0,001261

26 0,008729 0,001902

27 0,013972 0,0032

28 0,022783 0,005199

29 0,037049 0,008263

30 0,057267 0,013038

31 0,091838 0,021003

ЛИТЕРАТУРА

1. Тимошевская Н. Е. Разработка и исследование параллельных комбинаторных алгоритмов // Прикладная дискретная математика. 2009. №2(4). С. 96-103.

2. Андреева Л. Н. К криптоанализу инволютивных шифров инволюционной подстановки // Вестник Томского госуниверситета. Приложение. 2005. №14. С. 43-44.

УДК 519.61

ОТСУТСТВИЕ ДИНАМИЧНОСТИ У МЕТОДА РЕШЕТА

ЧИСЛОВОГО ПОЛЯ

Ю.Л. Зачёсов, А. М. Гришин

Под динамичностью метода будем понимать способность сохранять свои основные характеристики при существенном изменении входных параметров. Основными характеристиками являются трудоёмкость выполнения алгоритма, ограничения на требуемые вычислительные ресурсы и другие параметры. Характеристика входных параметров— это, как правило, их длина.

На сайте [1] можно найти данные об изменении трудоёмкости выполнения этапов алгоритма факторизации методом квадратичного решета [2] и NFS [3] с 1990 г. в зависимости от размера модуля факторизации. По представленным данным видно, что рассматриваемые алгоритмы требуют для своего выполнения существенных вычислительных ресурсов. Трудоёмкость выполнения алгоритма измеряется в MIPS years или в 1 ГГц CPU years. На сайте [4] можно посмотреть динамику изменения характеристик лучших мировых суперкомпьютеров. Их мощность измеряется в TFlop/s. Для того чтобы можно было сравнивать предлагаемые ресурсы и потребность в них алгоритмов, переведём всё в оценки, измеряемые в 10k условных операций в секунду (опер/с),

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