Нумерация инволюций

Тип работы:
Реферат
Предмет:
Физико-математические науки


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ПРИЛОЖЕНИЕ
Сентябрь 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-
иначе если г & lt- п — 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 + (& lt-21 — 2) г*_2, г = г — 2.
3. г = 1.
4. Если г = п, то переход в п. 6,
иначе если 2 = г, то г = г — 1 и переход в п. 5,
иначе если 2 & gt- г, то I = I + г4−1 + (^ - п + г — 1) г4, г = г — 2 и переход в п. 5.
5. г = г + 1 и переход в п. 4.
6. I — результат.
Приведённые алгоритмы реализованы программно на языке Си±+ с использованием процессора 1п1е1(И.) Реп1шш (И,) 4СРи, работающего с частотой 300 ГГц. В таблице приведено усреднённое по 10 000 случайных примеров время работы алгоритмов для 25 & lt- п & lt- 31.
n Время работы алгоритма 1, с Время работы алгоритма 2, с
25 0,0055 0,1 261
26 0,8 729 0,1 902
27 0,13 972 0,0032
28 0,22 783 0,5 199
29 0,37 049 0,8 263
30 0,57 267 0,13 038
31 0,91 838 0,21 003
ЛИТЕРАТУРА
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 условных операций в секунду (опер/с),

ПоказатьСвернуть
Заполнить форму текущей работой