Научная статья на тему 'Клеточно-автоматные алгоритмы пермутации матриц'

Клеточно-автоматные алгоритмы пермутации матриц Текст научной статьи по специальности «Математика»

CC BY
147
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛЕТОЧНЫЕ АВТОМАТЫ / ПЕРМУТАЦИЯ / ПЕРЕСТАНОВКА / ПСЕВДОСЛУЧАЙНЫЕ ЧИСЛА / КРИПТОГРАФИЯ / МЕТРИКА / CELLULAR AUTOMATA / PERMUTATION / REARRANGEMENT / PSEUDORANDOM NUMBERS / CRYPTOGRAPHY / METRICS

Аннотация научной статьи по математике, автор научной работы — Матюшкин И. В., Кожевников В. С.

В формализации клеточных автоматов описываются четыре алгоритма, перемешивающих элементы матрицы на основе циклических сдвигов строк и столбцов. Один из алгоритмов показывает интересное поведение при нечётном порядке матрицы n, прикотором после пермутаций матрица претерпевает поворот на ±90∘ и на 180∘ (отражение относительно центра), а рост периода N оказывается быстрее экспоненциального. Исходя из соображений индукции короткого ряда n = 3, 5, . . . , 11, высказана гипотеза, что N равно наименьшему общему кратному всех нечётных чисел, не превосходящих 2n, т.е. N = НОК(3, 5, . . . , 2n 1). Приведены аргументы для объяснения гипотезы. Динамика пермутаций анализируется с помощью введенных авторами двух «метрик», отражающих степень перемешанности. Результаты работы могут быть использованы при генерации псевдослучайных чисел.

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

Cellular automata algorithms for matrix permutations

Four algorithms of matrix elements mixture based on cyclic shifts of rows and columns are described by cellular automata formalisation. One of the algorithms shows an interesting behaviour for odd matrix orders, when, as a result of permutations, the matrix undergoes±90∘ and 180∘ (reflection relative to the centre) rotations. The period N growth rate is morethan exponential. Based on the analysis of the short series n = 3, 5, . . . , 11, a hypothesis is proposed that N is equal to the lowest common multiple of the odd numbers less than 2n, i.e. N = LCM(3, 5, . . . , 2n 1). Arguments in favour of the hypothesis are given. The dynamics of permutations are analysed using the two «metrics» introduced by the authors, which reflect the degree of mixedness. The results of this work can be used to generate pseudorandom numbers.

Текст научной работы на тему «Клеточно-автоматные алгоритмы пермутации матриц»

УДК 519.7

И. В. Матюшкин1, В. С. Кожевников2

1НИИ молекулярной электроники Московский физико-технический институт (национальный исследовательский университет)

Клеточно-автоматные алгоритмы пермутации матриц

В формализации клеточных автоматов описываются четыре алгоритма, перемешивающих элементы матрицы на основе циклических сдвигов строк и столбцов. Один из алгоритмов показывает интересное поведение при нечётном порядке матрицы п, при котором после пермутации матрица претерпевает поворот па ±90° и па 180° (отражение относительно центра), а рост периода N оказывается быстрее экспоненциального. Исходя из соображений индукции короткого ряда п = 3, 5,..., 11, высказана гипотеза, что N равно наименьшему общему кратному всех нечётных чисел, не превосходящих 2п, т.е. N = НОК(3, 5,..., 2п — 1). Приведены аргументы для объяснения гипотезы. Динамика пермутации анализируется с помощью введенных авторами двух «метрик», отражающих степень перемешанности. Результаты работы могут быть использованы при генерации псевдослучайных чисел.

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

I. V. Matyushkin1, V. S. Kozhevnikov2

1 Molecular Electronics Research Institute 2 Moscow Institute of Physics and Technology

Cellular automata algorithms for matrix permutations

Four algorithms of matrix elements mixture based on cyclic shifts of rows and columns are described by cellular automata formalisation. One of the algorithms shows an interesting behaviour for odd matrix orders, when, as a result of permutations, the matrix undergoes ±90° Mid 180° (reflection relative to the centre) rotations. The period N growth rate is more than exponential. Based on the analysis of the short series n = 3, 5,..., 11, a hypothesis is proposed that N is equal to the lowest common multiple of the odd numbers less than 2n, i.e. N = LCM(3,5,..., 2n — 1). Arguments in favour of the hypothesis are given. The dynamics of permutations are analysed using the two «metrics» introduced by the authors, which reflect the degree of mixedness. The results of this work can be used to generate pseudorandom numbers.

Key words: cellular automata, permutation, rearrangement, pseudorandom numbers, cryptography, metrics.

1. Введение

Исторически постановка задачи случайным образом возникла при исследовании авторами клеточно-автоматных способов распараллеливания типичных задач программирования. Вначале была дана формализация алгоритма «чёт-нечёт» сортировки символов и строк [8] средствами классических К А, а затем мы модифицировали [2] алгоритм Атрубина умножения двух натуральных чисел одномерным КА. Многие элементарные (типовые) алгоритмы связаны с действиями над матрицами. КА-формализация именно матричных операций, на

@ Матюшкин И. В., Кожевников В. С., 2019

(с) Федеральное государственное автономное образовательное учреждение высшего образования

«Московский физико-технический институт (национальный исследовательский университет)», 2019

наш взгляд, является необходимым и достаточным условием универсальной вычислимости средствами К А. Для примитивных операций, не связанных с изменением самих элементов — отражения относительно вертикальной или горизонтальной оси симметрии и транспонирования, которое есть отражение относительно диагонали, — мы предложили некоторые КА-алгоритмы [13], обладающие линейной сложностью относительно порядка матрицы. Затем искался более эффективный и простой, чем найденные, алгоритм транспонирования. Указанные операции являются частным случаем пермутаций (перестановок). Если раньше мы подбирали алгоритм под задачу, то теперь поставим вопрос иначе: какие пер-мутации матриц способен реализовать предложенный нами простой К А? Заметим, что пер-мутация матрицы — это один из способов генерации псевдослучайного числа. Применение КА для генерации случайных последовательностей и в криптографии вообще известно достаточно давно (см., например, [4]). Исследуемые в данной работе алгоритмы можно использовать в качестве источника детерминированного хаоса, если глобальную функцию перехода соответствующего КА рассматривать как дискретизированное нелинейное отображение, как, например, преобразование пекаря (Baker's map) единичного квадрата [5]. Если элементы матрицы булевы или являются последовательностью нулей и единиц, то вся матрица отождествляется с двоичной записью некоторого числа, причем интерпретация зависит от способа преобразования двумерного индекса в одномерный. Кроме того, К А нашли приложение и в области микроэлектроники [8]. В частности, генерация тестовых последовательностей в логических блоках современных сверхбольших интегральных микросхем (СБИС) может требовать случайной перестановки данных внутри матричного блока, например, схемы с программируемой логикой (ПЛИС) [7]. Поэтому актуальна задача поиска эффективных способов псевдослучайной пермутации матрицы. Цель работы заключается в разработке и исследовании работы КА-алгоритмов на основе применения двух «метрик перемешанности» к проходимой К А цепочке состояний. Выполненное исследование представляет интерес для комбинаторики и метрической теории для пермутаций двумерных объектов.

2. Объект исследования: четыре КА-алгоритма

Квадратная матрица размера n х п помещена в поле КА с замыканием границ (тороидальная решётка). Предлагается группа схожих друг с другом алгоритмов преобразования матрицы с использованием циклических сдвигов строк и столбцов. Рассмотрим четыре из них, обозначаемые соответственно буквами А, Б, В и Г, на качественном уровне (рис. 1). Преобразование матрицы за один этап алгоритма будем называть шагом или тактом, а за все этапы (4 этапа для алгоритма Г и 2 для остальных) — проходом.

1) А — 2 этапа:

• Все столбцы сдвигаются вниз. Очевидно, при этом последний элемент становится первым.

• Все строки сдвигаются вправо.

2) Ь 2 этапа:

• Нечётные столбцы сдвигаются вверх, чётные — вниз.

• Нечётные строки сдвигаются вправо, чётные — влево.

■>) I? 2 этапа:

• Первые столбцы сдвигаются вниз, вторые не двигаются, третьи сдвигаются вверх, четвёртые не двигаются.

• Первые строки сдвигаются влево, вторые не двигаются, третьи сдвигаются вправо, четвёртые не двигаются.

4) Г — 4 этапа:

• Нечётные столбцы сдвигаются вверх, чётные — вниз.

• Нечётные строки сдвигаются вправо, чётные — влево.

• Нечётные столбцы сдвигаются вниз, чётные — вверх.

• Нечётные строки сдвигаются влево, чётные — вправо.

б)

Рис. 1. Графическая схема алгоритмов а) А, б) Б, в) В, г) Г

Приведём более строгое описание алгоритма Г. Используется квадратная решётка размера п х пс замкнутыми границами (нумерация, традиционная для индексов матрицы). Окрестность клетки типа фон Неймана радиуса единица. Состояние клетки определяется двумя компонентами (/, з), см. табл. 1.

Таблица!

Описание компонент клетки (/, s)

Название Флаг перемещения Регистр данных

Обозначение /

Множество значений 1!, 1, Н = {0,1,2,3} Произвольное

Описание Отвечает за перемещение элементов матрицы. Стрелки в основном указывают направление движения Хранит элементы матрицы М = \\mij У

Начальное состояние автомата для матрицы (рис. 2).

Для формулировки локальной функции перехода (ЛФП) введем понятие согласованности. Две клетки называются согласованными, если чётности их флагов совпадают. Число согласованности cons клетки определяется как число согласованных с ней соседей, т.е. cons = |{ fil Д = f (mod2)}|, где fi — локальный индекс клетки. Его значение, как и /, можно указать стрелкой. Например, «ф> — сосед сверху, — сосед справа, а Д — значение флага клетки снизу. Саму центральную клетку индексировать не будем. Знак «:=» имеет смысл присвоения значения, то есть операнд справа от него берётся до перехода, а слева — после перехода. Операция mod возвращает остаток от целочисленного деления (например, 9 mod 4=1 —1 mod 4 = 3). Формальные правила перехода приведены в табл. 2. Нетрудно

видеть, что по флагу / данный К А является циклическим. Блок правил 1 отвечает за перемещение элементов матрицы, а блок 2 — за изменение флага /.

Vi,j е 1,n : Sij = mij j mod 2 = 1 ^ fij = t j mod 2 = 0 Л i mod 2 = 1 j mod 2 = 0 Л i mod 2 = 0

fij fij

= ;

Рис. 2. Начальное состояние флага f при n = 5

Таблица2

ЛФП алгоритма Г

№ Условие перехода Формула перехода

1 ((cons = 0) Л (/ = 0)) V ((cons = 0) Л (/ = 3)) 5 :=

((cons = 0) Л (/ = 1)) V (cons = 0) Л (/ = 0) 5 :=

((cons = 0) Л (/ = 2)) V ((cons = 0) Л (/ = 1)) 5 :=

((cons = 0) Л (/ = 3)) V ((cons = 0) Л (/ = 2)) s := s^

2 (cons = 0) V (cons = 4) f := ( f + 1) mod 4

— ((cons = 0) V (cons = 4)) f := (f — 1) mod 4

3. Результат работы алгоритмов

Матрицу с замкнутыми границами можно представить не только как тороидальную решётку, но и как бесконечную плоскую периодическую решётку (рис. За). Такое представление будем называть развёрнутым.

а)

б)

Рис. 3. Геометрия тора на плоскости (а), объясняющая периодичность алгоритма А (б)

В развёрнутом представлении легко видеть (рис. 36), что алгоритм А через некоторое число проходов (а именно, за п — порядок матрицы) переводит матрицу в исходное состояние. Эмпирически установлено, что тем же свойством обладают и остальные рассматриваемые алгоритмы (Б, В и Г). Это позволяет назвать периодом алгоритма N минимальное (ненулевое) число проходов, через которое начальная конфигурация, содержащая попарно

различные элементы, повторяется. Ясно, что такое определение не зависит от выбранной с этим условием начальной конфигурации. Алгоритм Б является модификацией алгоритма А. Как показывает эксперимент, алгоритм Б имеет период 2 для чётных и (4п — 2) для нечетных п. Такая разница объясняется влиянием граничных условий; изменение флага / можно интерпретировать как бегущую волну, переходящую на другой пространственный период (рис. 36) синфазно или в противофазе (для нечетных п). В алгоритме В предлагается на каждом этапе оставить один неподвижный столбец (строку) между двумя перемещающимися. Однако и этот алгоритм возвращает элементы матрицы в начальное положение через линейное число проходов (табл. 3). Указанная аналогия с волнами справедлива и здесь.

Т а б л и ц а 3

Периоды алгоритма В

Порядок матрицы п Период N

4к,к > 0 6

4к + 3,к> 0 12

4к + 2,к> 0 6п — 6

4к + 1,к = 3т + 1,т ^ 0 4п — 2

4к + 1,к = 3т + 1,к> 0 12п — 6

Примечание: формулы проверены для п ^ 300

Рис. 4. Траектории некоторых элементов матрицы 5 х 5 в развёрнутом представлении. Исходная матрица центральный квадрат. Точками отмечены начальные положения элементов, а для периферийных квадратов места самопересечений траектории. Рядом с каждой точкой указано количество шагов до её достижения элементом

Наибольший интерес представляет собой работа четырехтактового алгоритма Г. Он переводит, как и в случае алгоритмов А, Б, В, матрицу, где все элементы различны, в начальное состояние за целое число проходов. Примечательным является период для матриц нечётных порядков. Для чётных порядков период линеен и равен п/2, а для нечётных имеет скорость роста, превышающую экспоненциальную. В табл. 4 представлены периоды для некоторых порядков п.

Таблица!

Зависимость периода N (п) от порядка матрицы для алгоритма Г

Порядок матрицы п Период N Каноническое разложение N

3 15 3 ■ 5

5 315 3 ■ 3 ■ 5 ■ 7

7 45045 3 ■ 3 ■ 5 ■ 7 ■ 11■13

9 765765 3 ■ 3 ■ 5 ■ 7 ■ 11 ■ 13 ■ 17

11 14549535 3■3 ■ 5 ■ 7■11 ■ 13 ■ 17■19

Таблицаб

Периоды индивидуальных траекторий

26 /100 20 84 36 68 52 27/52 68 36 84 20 100 4

12 70 /100 28 92 44 76 35/60 60 76 44 92 28 100

92 36 34 /100 52 84 68 43/68 84 52 100 36 92 20

28 84 44 62 /100 60 92 51/76 76 92 60 100 44 84

76 52 92 68 42 /100 84 59/84 100 68 92 52 76 36

44 68 60 84 76 54 /100 67/92 92 100 76 84 60 68

33 /60 41 /68 49 /76 57 /84 65 /92 73 /100 25/50/ 75/100 25 /92 25 /84 25 /76 25 /68 25 /60 25 /52

60 52 76 68 92 84 27/100 46 /100 84 92 68 76 52

44 84 60 100 76 92 27/92 76 58 /100 60 84 44 68

76 36 92 52 100 68 27/84 84 68 38 /100 52 92 36

28 100 44 92 60 76 27/76 60 92 44 66 /100 28 84

92 20 100 36 84 52 27/68 68 52 84 36 30 /100 20

12 92 28 76 44 60 27/60 44 76 28 92 12 74 /100

Вычисление последней точки (п = 11) занимает около двух часов на обычном компьютере. Следующая точка (п = 13) потребовала бы около 200 часов, т.е. необходимы параллельные вычисления на суперкомпьютере. Несмотря на быстрый рост периода, число пройденных К А перестановок ничтожно мало по сравнению с их общим числом п2!. Уже при п = 3 просматривается лишь 1, 6 ■ 10-4 от общего числа. Несмотря па короткую длину полученного ряда (табл. 4), обратим внимание, что нечётные простые множители р присутствуют все и входят в каноническое разложение N в первой степени. Первоначально мы предположили, что N = | П Р, п > 3, но затем уточнили эту гипотезу: N есть

р<2п

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

наименьшее общее кратное чисел 3, 5,..., 2п — 1.

На рис. 4 представлены траектории отдельных элементов матрицы в развернутом представлении поля КА. Каждая из них коротко-периодична и напоминает путь бильярдного

шара, но этот период зависит от расположения элемента (в табл. 5 представлена эта зависимость для матрицы 13 х 13). Граница матрицы играет роль стенки. Соответственно период работы алгоритма равен произведению индивидуальных периодов без учета разложения составных чисел на простые. Это в целом объясняет данные табл. 4. Обратим внимание, что возможны самопересечения траектории, когда позиция элемента совпадает с начальной, но направление его движения другое. Возможно, если учесть самопересечения, то и эта гипотеза нуждается в корректировке.

В клетки таблицы записаны номера шагов, на которых происходит возвращение со-

13 х 13

вен индивидуальному периоду и дает следующие значения (в проходах), считая по строкам и без повторов: 25, 5, 21, 9, 17, 13, 1, 3, 7, 23, 11, 19, 15. Таким образом, ожидается N(13) = 32 ■ 52 ■ 7 ■ 11 ■ 13 ■ 17 ■ 19 ■ 23.

4. Используемые «метрики перемешанное™»

Каждый ход КА дает нам пермутацию матрицы относительно начальной (здесь и далее считаем все элементы различными). Для описания динамики К А желательно иметь числовую характеристику, назовем её mixedness, «удалённости» текущей перестановки от начальной конфигурации. Существует большое число разнообразных метрик, определённых на множестве пермутаций массива. Среди них ¿р-метрики, Хэммингова метрика, лексикографическая и другие, которые, однако, все зависят от значений элементов перестановок [6]. Здесь же предлагаются «метрики», характеризующие лишь взаимное расположение элементов. Мы будем использовать две «метрики»: матричную mm (matrix mixedness), которая наследована от манхэттенской метрики на плоскости и является метрикой в математическом смысле, и линейную lm, (linear mixedness), которая адресуется массиву данных. Метрика mm формально схожа с ¿i-метрикой, однако адаптирована специально для матричных перестановок. «Метрика» lm не является математической метрикой, но более эффективна по сравнению с mm в поиске особых конфигураций. Пусть в некоторой матрице А порядка п записаны попарно различные элементы ca, а £ 1,п2, а В является пермутацией А. Тогда определим метрику mm на этих двух матрицах формулой

mm

1

п2

а=1

где 8а = |г2 — ч1 + Ц2 — ,]1|) если (г1,.]1) — это индексы элемента са в матрице Да (12,32) — индексы са в матрице В. Выражение 8а имеет смысл расстояния между положениями элемента са в матриц ах А и В по метрике Манхэттена. Элементы са можно отождествить (поставить во взаимно однозначное соответствие) с парами чисел (к.1), к,1 € 1,п, так, чтобы элементам матрицы А = ||аы|| соответствовали пары их же индексов, например, через конструкцию аи = к+п ■ (I — 1) После перестановки элемент аы окажется на позиции (г,3) в матрице В = ||, то есть Ь^ = аы = (к,1). Например:

/ an ai2 ai3 у

I a.2i a22 a23 ]

V a3i аз2 азззз J

( (1,1) (2, 2)

^ I (2,1) (3, 2)

V (1,3) (1, 2)

(3,1) \ ibii bi2 bia

(2, 3) I = I b2i b22 b23

(3,3) / V b3i b32 b33

Тогда mm полученной матрицы вычисляется по формуле

(1,1) (1, 2) (1,3)

(2,1) (2, 2) (2, 3)

(3,1) (3, 2) (3, 3)

\ ( bn bi2 t

I - I b2i b22 t

У V bai Ьз2 t

1

mm =

п2

i,j=i

а

S

где Sij = lk — г| + Ц — jI, если bij = (k,l). Например, для приведённой выше матрицы третьего порядка

1 , 1 , 10 mm = -2 (sai + S12 + S22 + S32 + Sis) = -(4 + 1 + 1 + 2 + 2) = —. n2 9 9

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

Таблицаб

Метрика шш особых пермутаций матрицы порядка п

Конфигурация Формула конечной матрицы mm,

Транспонирование aji 2 (n — ¿)

Поворот на 90° против часовой стрелки &j,n+1-í

90° часовой стрелке 0"n+1—j,i

Отражение относительно середины (перестановка столбцов) &í,n+1-j 2n, n mod 2 = 0 2 (n — ra) , n mod 2 = 1

Отражение относительно середины (перестановка строк) &n+1-í,j

Отражение относительно центра Q"n+1-Í,n+1—j n, n mod 2 = 0 n — 1, n mod 2 = 1 ra'

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

1) Задаётся произвольная конфигурация матрицы.

2) Переставляются 2 элемента со случайными номерами.

3) Если при этом шш не возрастает, то перестановка элементов отменяется.

4) Повторяется пункт 2.

В диапазоне 1 ^ п ^ 40 с числом итераций 104 не найдено конфигураций со значением шш, превышающим п. «Метрика» 1т вводится сначала для одномерного массива. Считая, что начальное его состояние имеет вид а^ = к, к € 1,ш, 1т-метрика определяется формулой

т + 1 1т = --—,

Ч + V

где — максимальная длина возрастающей подпоследовательности, а — максимальная длина убывающей подпоследовательности. Числитель выбран так, чтобы 1т исходного массива равнялась 1. В самом деле, для него = т, = 1 (подпоследовательность из одного элемента). Чтобы применить 1т к матрице, необходимо сначала сопоставить матрице массив, например, записать её элементы в столбец. Это можно сделать различными способами, например, змейкой или спиралью. Мы будем использовать простую схему, заимствованную из МАТЬАВ. Столбец получается последовательной конкатенацией всех столбцов матрицы, взятых в порядке возрастания индекса. Итак, по определению 1т матрицы есть 1т соответствующего ей столбца. Можно ожидать, что пермутации с экстремальными значениями «метрики» особенные.

5. Анализ динамики К А алгоритма Г с помощью «метрик»

Ниже приведены графики mm и /ш, соответствующие алгоритму Г для матриц различных порядков. Точки, отвечающие особенным пермутациям, отмечены крестиком «х» и обозначены греческими буквами. Рассмотрим вначале чётные порядки п mod 2 = 0. В качестве иллюстрации общего случая рассмотрим п = 20. Динамика обеих «метрик» показана на рис. 5 (с детализацией до такта (шага) а не прохода).

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

«Метрика» тт достигает максимума а на середине пути (£ = 20), а 1т в той же точке близка к локальному минимуму. Соответствующая конфигурация получена диагональной перестановкой блоков (рис. 5а); в силу чётности п исходная матрица легко представляется в блочном виде. То же наблюдается и при других чётных порядках п. Уравнение аппроксимирующей тт параболы имеет вид, близкий к у = — ^ + 2х ^ — ^2 + 2х. Оказывается, что на чётном шаге I метрика тт совпадает со значением, полученным по этой формуле. На нечётном же шаге реальное значение тт меньше точно на 0.05 = 20 ^ Таким образом, для чётных п можно обобщить (равенство проверено для п = 20 и п = 8):

mm (t)

{

-^ +2t, t mod 2 = 0,

_t_±i +2t, t mod 2 = 1.

«Метрика» 1т в целом показывает нам две симметричные ветви, но эта симметрия нарушается в центре. Возможно, это связано с изначальной асимметрией движения столбцов в начальной конфигурации К А относительно порядка нумерации. Обе ветви аппроксимиру-

ются гиперболой у = Параметры аппроксимации МАТЬАВ (значение, интервал значений, доверительная вероятность): для возрастающей ветви — р = —59, 71 (—62, 46; —56, 97), д = —28,16 (—28, 74; —27, 58) В2 = 0, 9942; для убывающей ветви р = 57, 75 (55,16; 60, 3э), q = —12, 36 (—12, 95; —11, 76) Я2 = 0, 9945. Рассмотрим теперь случай нечётных порядков на двух примерах: п = 5 (рис. 6, 7 )ип = 7 (рис. 8, 9). Дополнительно строим гистограммы «число пермутаций — значение метрики».

Матрица Р соответствует одновременно глобальному максимуму тт и глобальному минимуму 1т. Она представляет собой отражение исходной матрицы ||а^ || относительно центра: Р^ = an+l-i^n+l-j (элементы матрицы обозначены той же буквой, что и матрица, с индексами). Матрицы а и 7, на которых 1т достигает глобального максимума, получены вращением против и по часовой стрелке соответственно: = = Однако эти экстремумы шш-метрика «не замечает». Аналогичная ситуация наблюдается и при п = 7. Как и при п = 5, матрица Р есть отражение исходной относительно центра, а а и 7 — повороты. Однако в данном случае а — поворот по часовой стрелке, а 7 — против часовой стрелки. То есть при п = 5 и п = 7 алгоритм Г проходит эти конфигурации в разном порядке. Если же заметить, что отражение ^ есть не что иное, как поворот на 180°, то получится, что алгоритм Г поворачивает матрицу на 90° за число шагов равное периоду N. Напомним, что алгоритм Г четырехтактовый, следовательно, он возвращает матрицу в исходное состояние за 4^ шагов. Для п = 5 вращение происходит против часовой стрелки, а для п = 7 — по часовой стрелке. Примерное объяснение этому факту состоит в аналогии с волной. Обращает на себя внимание асимметрия гистограмм и наличие, во всяком случае визуальное, для п = 7 и шш-метрики суперпозиции трех дискретных гауссовых распределений. Для больших порядков матрицы этот феномен требует более глубокого исследования.

Рис. 6. Метрика тт последовательных конфигураций матрицы порядка п = 5, полученных применением алгоритма Г

Рис. 7. Метрика 1т последовательных конфигураций матрицы порядка п = 5, полученных применением алгоритма Г

6. Заключение

Несмотря на то, что рассмотренные алгоритмы не производят искомое транспонирование матрицы, они имеют ряд примечательных свойств, в особенности алгоритм Г. Во-первых, последовательность его периодов N для нечётных порядков матриц п задаётся формулой N = | П р, где р — простые, при 3 < п < 13. Как мы обнаружи-

р<2п

ли, траектория каждого элемента матрицы обладает индивидуальным периодом, а возвращение начальной конфигурации требует условного перемножения всех этих периодов. Корректировка этой гипотезы на все нечётные п обращается к наименьшему общему кратному, т.е. N(п) = НОК(3, 5,..., 2п — 1). Во-вторых, с помощью введенных «метрик пе-ремешанности» установлено, что алгоритм Г реализует вращение матрицы нечётного порядка и блочную перестановку матрицы чётного порядка. В-третьих, представляют собой интерес и сами «метрики» тт и 1т. Теоретически найдены значения тт на некоторых перестановках (табл. 6, Приложение). Опытным путём установлено явное выражение для тт на всей последовательности конфигураций при применении алгоритма Г для чётных п. Также обращает на себя внимание гистограмма для тт при нечётных п (в частности, для п = 7 на рис. 8), напоминающая по форме наложение нормальных распределений. Изучение этого эффекта выходит за рамки статьи. Динамика метрик выглядит псевдослучайной. В-четвёртых, хотя вопрос о применимости алгоритма Г для генерации именно псевдослучайных чисел подлежит дальнейшему исследованию, косвенно в пользу алгоритма говорит большая длина периода. Эта длина может быть заметно увеличена за счёт разной цикличности смены направлений сдвигов строк и столбцов при усложнении КА-алгоритма. В терминах геометрии бильярда (рис. 4) в нашем случае реализуется движение иод углом падения 45°, однако возможно движение иод углом, например, arctg(2), что усложнит динамику. КА-генератор может быть легко присоединен к источнику энтропии путем случайного останова К А во времени. Кроме того, получившуюся матрицу можно рассматривать и как блок коротких, и как одно большое случайное число. В последнем

случае один из элементов матрицы, например центральный, может шифровать способ преобразования двумерного массива в одномерный.

7. Приложение

7.1. Транспонирование

Формула: а^

!) *Ц = И — Ц + |г — j| = 2 ^ — 31 =

п п г—1 п г—1 п ... > п

2) £ 8Ц =4 ЕЕ (г — ]) = 4 ЕЕ к = 4 Е ^ =2 Е (*2 — 0 =

i,j=1 г=2 ] = 1 г=2 к=1 г=2 г=2

= 2 (Ё ^ — 2 ■ 1+Г ■ п = 2 ■ п{п+1)(2п+1) — п(п + 1) = п(п + 1) ■ = 2п(п2 — 1).

п

3) тт (а^) = ^ Е ^ = | (и —

г,3 = 1

7.2. Поворот на 90°

Формула: а^,га+1-г (против часовой стрелки)

!) = И — Ц + И + 1 — г —

п п п

2) Е ^ = Е |г — Л + £ 1п + 1 — г — Ц.

г,3 = 1 г,]=1 г,]=1

3) Для первой суммы воспользуется предыдущим результатом:

п

Е ^ — 3| = 1 п(п2 — 1).

1,3 = 1

4) Во второй сумме сделаем замену к = г + 3:

Е |п + 1 — г — з| = Е |п + 1 — к^ (п + 1 — к\) = ...

г^ = 1 к=2

5) Затем положим п + 1 — к = т:

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

_1 _1 . .

... = I- |т| ■ (п — |т|)=2 Е т ■ (п — т) = 2[ п — {п-1)п{ 26п-1>+1Л

т=1-п т=1-п ^ '

= (3п — 2п + 1) = 1 п(п2 — 1).

п

тт (а^,п+1-г) = ^ £ = Л? ■ 2 ■ |п(п2 — 1) = 2 (п — = тт (а^).

, =1

7.3. Отражение относительно вертикальной оси симметрии

Формула: аг,п+1-:?-

1) 8г1 = |п + 1 — 3 — ^| = ^ + 1 — 2]\.

п п п

2) Е ^ = £ ^ + 1 — 2] | = п £ |п + 1 — 2] | = ...

г,3 = 1 г ,3=1 3=1

Представим п в виде п = 21 + р, где р € 0,1, I ^ 1. Тогда

п II п \

... = пТ, \21 + Р + 1 — 2]| = п Е (21 + р + 1 — 2])+ Е (23 — 2/ — р — 1) = 3=1 \-7=1 )

= п ((п + 1)/ — 2^ + 2(п+1+1>{п-1> — (п + 1)(п — о) = П (1(п — 0 + (и — 00 =

= 21 ■ п(п — 1) = (п — р) ■ и (п — ^) = п(п — р) ^ = § (п2 — р2) .

on / л 1 А 1 ( р2 \ \ 2п, п mod 2 = 0,

3) mm (ain+1_,•) = -2 > , sij = 1 [n — L±- = < i2/ i ч ,

; V г,п+1 v „2 , Z=1 гд 2\ n) | i — ,n mod 2 = 1.

7.4. Отражение относительно центра

Формула: ün+1 -i,n+1 -j

1) su = |n + 1 — 2г| + |n + 1 — 2j\.

n n n

2) E sl3 = E |и + 1 — 2^ + |n + 1 — 2j\ = 2n E |и + 1 — 2j\. i,j = 1 i,j=1 j=1

3) Данная сумма дважды превосходит аналогичную сумму для отражения относительно вертикальной оси, следовательно:

п, п mod 2 = 0, п — 1, п mod 2 = 1.

mm (an+1-i,n+1-j) = 2mm (a,i,n+1-j) ^ 1

Литература

1. Матюшкин И.В. Алгоритмы параллельных вычислений в формализации клеточных автоматов: сортировка строк и умножение чисел по схеме Атрубипа // Материалы VII всероссийской научно-технической конференции «Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС-2016)». 2016. № 3. С. 77-81.

2. Матюшкин И.В., Жемерикин A.B., Заплешина, М.А. Клеточно-автоматные алгоритмы сортировки строк и умножения целых чисел по схеме Атрубипа // Известия вузов. Электроника. 2016. Т. 21, № 6. С. 557-565.

3. Матюшкин И.В., Заплешина М.А. Отражение и транспонирование данных в матрице клеточно-автоматного вычислителя // Известия вузов. Микроэлектроника. 2019. Т. 24, № 1.

4. Ключарёв П.Г. Построение случайных графов, предназначенных для применения в криптографических алгоритмах, основанных на обобщенных клеточных автоматах // Математика и математическое моделирование. МГТУ им. Н.Э. Баумана. Электрон, журн. 2017. № 3. С. 77-90.

5. Fridrich J. Symmetric ciphers based on two-dimensional chaotic maps // International Journal of Bifurcation and Chaos. 1998. V. 8, N 6. P. 1259-1284.

6. Резванов A.A., Матюшкин И.В., Гущин О.П. Клеточно-автоматная модель воздействия 02 плазмы на интегральные свойства SiOCH low-К диэлектрика // Электронная техника. Серия 3. Микроэлектроника. 2016. № 3(163). С. 63-78.

7. Матюшкин И.В., Соловьев P.A. Модель адаптивного нейрона и его аппаратная реализация на ПЛИС // Электронная техника. Серия 3. Микроэлектроника. 2017. № 3(167). С. 53-61.

8. Деза Е., Деза, М. Энциклопедический словарь расстояний [пер. с англ. В.И. Сычева]. Москва : Наука, 2008.

References

1. Matyushkin I. V. Algorithms for parallel computation in terms of cellular automata formalisation: string sorting and numbers multiplication using the Atrubin's scheme. Proceedings of the VI All-Russia Science and Technology Conference «Problems of Advanced Micro- and Nanoelectronic Systems Development». 2016. N 3. P. 77-81. (in Russian).

2. Matyushkin I. V., Zhemerikin A. V., Zapletina M.A. Cellular automaton algorithms for string sorting and integer multiplication using the Atrubin's scheme. Proceedings of universities. Electronics. 2016. V. 21, N 6. P. 557-565. (in Russian).

3. Matyushkin I.V., Zapletina M.A. Reflection and transposition of data in the matrix of a cellular automaton computer. Proceedings of universities. Electronics. 2019. V. 24, N 1. (in Russian).

4. Klyucharyov P.G. Construction of random graphs intended for use in cryptographic algorithms based on generalised cellular automata. Mathematics and mathematical modeling. Bauman Moscow State Technical University. Electronic journal. 2017. N 3. P. 7790. (in Russian).

5. Fridrich J. Symmetric ciphers based on two-dimensional chaotic maps. International Journal of Bifurcation and Chaos. 1998. V. 8, N 6. P. 1259-1284.

6. Rezvanov A.A., Matyushkin I.V., Guschin O.P. Cellular automata model of 02 plasma treatment influence on the integral properties of SiOCH low-K dielectric. Electronic engineering. Series 3. Microelectronics. 2016. N 3(163). P. 63-78. (in Russian).

7. Matushkin I. V., Solovyev R.A. A model of adaptive neuron and its hardware implementation on FPGA. Electronic engineering. Series 3. Microelectronics. 2017. N 3(167). P. 53-61. (in Russian).

8. Deza E., Deza M. Dictionary of distances [translation from English by Svchev V.I.]. Moscow : Nauka, 2008. (in Russian).

Поступим в редакцию 21.01.2019

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