Научная статья на тему 'Быстрый алгоритм синтеза обратимых схем на основе теории групп подстановок'

Быстрый алгоритм синтеза обратимых схем на основе теории групп подстановок Текст научной статьи по специальности «Математика»

CC BY
188
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ОБРАТИМЫЕ СХЕМЫ / АЛГОРИТМ СИНТЕЗА / ГРУППЫ ПОДСТАНОВОК / INVERTIBLE LOGIC / SYNTHESIS ALGORITHM / PERMUTATION GROUPS

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

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

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

Fast synthesis of invertible circuits based on permutation group theory

Various algorithms for the synthesis of inver-tible logic circuits are considered and their main characteristics are presented. A new fast synthesis algorithm based on permutation group theory is proposed. This algorithm allows to synthesize schemes with the gate complexity O(n2 m) and with the time complexity O(n2 m) without using additional inputs. Here, n is the number of scheme''s inputs and m is the upper bound for log к where к is the number of non-fixed points of the given invertible transformation.

Текст научной работы на тему «Быстрый алгоритм синтеза обратимых схем на основе теории групп подстановок»

2014 Логическое проектирование дискретных автоматов №2(24)

ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ДИСКРЕТНЫХ

АВТОМАТОВ

УДК 004.312, 530.145

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

Д. В. Закаблуков

Московский государственный технический университет им. Н. Э. Баумана, г. Москва,

Россия

E-mail: dmitriy.zakablukov@gmail.com

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

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

Введение

Обратимость вычислений может потребоваться в совершенно различных областях науки и техники, таких, как квантовые вычисления и нанотехнологии. Данное требование зачастую обусловлено необходимостью максимально снизить величину тепловых потерь. И только обратимость вычислений гарантирует теоретический нулевой уровень тепловых потерь [І]. Как следствие, схемы из обратимых вентилей могут найти широкое применение в устройствах, работающих в условиях ограниченных вычислительных ресурсов, в том числе и в устройствах защиты информации.

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

Введём базовые понятия. Логический вентиль n x m — устройство с n входами и m выходами, дающее на выходах результат булевого преобразования f: ^ Zm над

входами. Обратимый вентиль n x n (далее просто обратимый вентиль) — логический вентиль n x n, для которого реализуемое им булево преобразование является биекцией. Далее по тексту n обозначает количество входов и выходов обратимого вентиля, если не оговорено иначе. В данной работе среди всех обратимых вентилей рассматриваются только вентили NOT и k-CNOT:

І) Nj —вентиль NOT, инвертирующий свой j-й вход:

fj ((хъ

,Xj,... ,Xn)) = (xi,... ,Xj ф 1,... ,Xn);

2) Cil,..,ik;j —вентиль k-CNOT (инвертор с к контролирующими входами), инвертирующий свой j-й вход тогда и только тогда, когда сигнал на всех входах ii,... ,ik равен 1:

fii,..,ik ;j ((xi, . .. ,Xj,... ,Xn)) = (x\, ...,Xj 0 Xii Л ... Л Xik,. . .,Xn).

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

В работе рассматриваются только такие обратимые схемы, в которых все вентили имеют одинаковое количество входов, при этом выходы одного вентиля напрямую соединяются со входами следующего за ним вентиля. В этом случае входами обратимой схемы являются входы первого вентиля, выходами — выходы последнего вентиля в композиции. Соединение вентилей (операцию композиции вентилей) будем обозначать *. Пример обратимой схемы при n ^ 4: C4;i * C2,3;4 * N4.

Любая обратимая схема задает биективное булево преобразование f: ^ Z^.

Рассмотрев все возможные векторы входных значений схемы и соответствующие им векторы выходных значений, можно говорить о задаваемой этой схемой подстановке h из симметрической группы S(Z'n) (для краткости будем обозначать симметрическую группу S(Zn) как S2n). Следовательно, любая обратимая схема с n входами задаёт подстановку из S2n, и наоборот, любая подстановка из S2n задаёт семейство обратимых схем с n входами. Подстановка является чётной, если она представима в виде композиции чётного числа транспозиций, и нечётной в противном случае. Операцию композиции подстановок будем обозначать о.

Фундаментальный вопрос для теории обратимой логики заключается в следующем: какие обратимые функции могут быть реализованы при помощи заданной библиотеки обратимых вентилей. В данной работе рассмотрены основные переборные и непереборные алгоритмы синтеза обратимых схем из вентилей NOT и k-CNOT и их основные характеристики, приведены результаты сравнения алгоритмов синтеза по следующим характеристикам: временная сложность алгоритма; требуемое количество памяти для синтеза схемы; вентильная сложность синтезированной схемы. Представлен также новый, основанный на теории групп подстановок алгоритм синтеза обратимой схемы, состоящей из вентилей NOT, 1-CNOT и 2-CNOT и реализующей заданную чётную подстановку h G A2n при n > 3 с вентильной сложностью O(n2m), где m = |~log2 |M|]; M = {x : x G Z2n, h(x) = x} — множество подвижных точек подстановки h.

Все алгоритмы синтеза схем можно классифицировать как переборные и непереборные. Нумерация алгоритмов в данной работе устроена следующим образом: переборные алгоритмы имеют префикс A1, непереборные — A2, предлагаемые новые алгоритмы — A3. Далее l означает вентильную сложность синтезированной схемы, если не оговорено иначе.

1. Обзор существующих алгоритмов синтеза

В работе [2] представлен переборный алгоритм A1.1 синтеза обратимой схемы, дающей на одном из выходов значение заданной булевой функции от входов. Основной задачей алгоритма является минимизация количества дополнительных входов синтезированной схемы. Он основан на «весовых функциях» из теории информации (терминология авторов) и предсказании наилучшего решения на один шаг вперед. Рабочей единицей алгоритма является каскад из N обратимых вентилей (N является

параметром алгоритма и задаётся вручную). Одновременно рассматриваются два последовательных каскада, и выбирается та пара каскадов, использование которой даёт наилучшее приближение к заданной функции. Авторами алгоритма не оговаривается, как выбирать параметр N, как время синтеза зависит от N и всегда ли алгоритм способен синтезировать схему для любой заданной функции. Остаётся неясным, какова вентильная сложность синтезированной схемы. Предположительно, алгоритму A1.1 для синтеза схемы требуется объём памяти, намного превосходящий N2 (хранение всех возможных пар каскадов), а временная сложность намного превосходит (N2).

В работе [3] предложен переборный алгоритм A1.2 синтеза оптимальных по сложности обратимых схем из вентилей NOT, 1-CNOT и 2-CNOT, реализующих чётные подстановки. Данный алгоритм основан на технике поиска в глубину с итеративным углублением. Для его работы необходимо построить библиотеку оптимальных схем сложности k и реализуемых ими преобразований. Синтез схемы осуществляется полным перебором всевозможных соединений схем из библиотеки друг с другом. Согласно утверждению авторов, для некоторых заданных функций алгоритм A1.2 не способен синтезировать схему при помощи построенной библиотеки оптимальных схем. Временная сложность алгоритма A1.2 намного превышает величину N1, где N — количество схем в данной библиотеке, а требуемый для синтеза объём памяти составляет порядка O(kN) (хранение библиотеки оптимальных схем).

В [4] представлен переборный алгоритм A1.3 синтеза обратимых схем с оптимальной вентильной сложностью, вентили которых входят в заранее сформированную библиотеку вентилей. Данный алгоритм использует математическое программное обеспечение GAP (Groups, Algorithms, Programming), представляющее собой систему для вычислительной дискретной алгебры. Авторами показывается, что проблему синтеза обратимой логики можно свести к проблеме теории групп подстановок, которую и решает GAP. Однако не даётся никаких оценок на временную сложность алгоритма A1.3 и требуемый им объём памяти для синтеза схемы.

В [5] представлен непереборный алгоритм A2.1 синтеза обратимых схем с близкой к оптимальной вентильной сложностью, использующий спектральный метод Радема-хера — Уолша. Для заданного преобразования f: Zn ^ Zn строится система выходных функций fi(xi,... , xn) и их спектров Ri. Для каждого Ri запускается алгоритм поиска следующего обратимого вентиля, применение которого даёт наилучшее приближение к заданной функции. По словам авторов, при рассмотрении всех вентилей k-CNOT время синтеза схемы растет экспоненциально, поэтому временную сложность алгоритма A2.1 можно оценить как O(2n1); требуемый для синтеза объём памяти составляет порядка O(n2n) (хранение спектров n функций).

В [6] предложен непереборный алгоритм A2.2 синтеза обратимых схем из вентилей NOT и k-CNOT, входом которого является таблица заданного обратимого преобразования f: Zn ^ Zn. Суть алгоритма заключается в последовательном упорядочивании строк таблицы перестановками, соответствующими обратимым вентилям. Временная сложность алгоритма A2.2, по словам авторов, составляет порядка O(n2n), результат синтеза гарантирован; вентильная сложность синтезированной схемы не превосходит (n- 1)2n +1. Требуемый для синтеза объём памяти составляет O(2n) (хранение таблицы преобразования).

Похожий непереборный алгоритм A2.3 синтеза обратимых схем представлен в работе [7]. Алгоритм принимает на вход таблицу заданного обратимого преобразования f: Zn ^ Zn. Синтез схемы происходит путем упорядочивания в этой таблице строк и столбцов. Временная сложность алгоритма A2.3, по заверениям авторов, равна O(l2n),

вентильная сложность синтезированной схемы близка к оптимальной. Требуемый для синтеза объём памяти составляет O(2n) (хранение таблицы).

В [8] предложен непереборный алгоритм A2.4 синтеза обратимой схемы, реализующей заданную чётную подстановку h Е A2n при n > 3. Эта подстановка представляется в виде произведения циклов длины 3 специального вида, каждый из которых реализуется вентилями NOT и 2-CNOT. По словам авторов, временная сложность алгоритма A2.4 в худшем случае равна — n22n, вентильная сложность синтезированной схемы

3

не превосходит 4n2 2n; требуемый для синтеза объём памяти зависит от подстановки h, но не превышает по порядку O(2n) (хранение всех элементов подстановки).

2. Сравнение алгоритмов синтеза

Для заданного обратимого преобразования f: Z^ ^ Z^ рассмотрим соответствующую ему подстановку hf Е S2n и множество подвижных точек этой подстановки M = {x : x Е Z2n, hf (x) = x}. Обозначим m = |~log2 |M|]. Подстановку hf можно представить в виде композиции не более чем 2т транспозиций. Для алгоритма синтеза A2.4 множитель 2n в оценках его основных характеристик соответствует случаю m = n, поэтому ниже этот множитель заменён на 2т.

В таблице приведено сравнение описанных выше алгоритмов синтеза обратимых схем из вентилей NOT и k-CNOT по основным характеристикам. Обозначения: T(A) — временная сложность алгоритма; M(A) — требуемый для синтеза объём памяти; l — вентильная сложность синтезированной схемы.

Сравнение алгоритмов синтеза обратимых схем

Алго- ритм Результат T (A) M (A) 1 Примечание

A1.1 Не гарантирован > (N2)1 N2 Не известно Переборный, не универсальный; N — параметр алгоритма

A1.2 Не гарантирован > N1 O(kN) Оптималь- ная Переборный; N — размер библиотеки оптимальных схем сложности < k

A1.3 Гаранти- рован Не известно Не известно Оптималь- ная Переборный; использует ПО GAP

A2.1 Не гарантирован O(2n1) O(n2n) Близкая к оптимальной Непереборный; использует спектральный метод Радемахе-ра — Уолша

A2.2 Гаранти- рован O(n2n) O(2n) 0(2”) Непереборный; использует таблицу преобразования

A2.3 Гаранти- рован O(l2n) O(2n) Близкая к оптимальной Непереборный; использует таблицу преобразования

A2.4 Гаранти- рован 2 2 (n O( O(2m) 2 2 (n O( Непереборный; использует теорию групп подстановок

Из таблицы видно, что только алгоритмы А2.2-А2.4 гарантированно дают результат синтеза схемы за приемлемое время. При этом лишь алгоритм А2.3 позволяет получить схему с близкой к оптимальной вентильной сложностью. Тем не менее в случае т = о(п) ни один из алгоритмов синтеза, кроме алгоритма А2.4, не позволяет получить результат синтеза за время порядка 0(2П) (аналогично для требуемого объёма памяти). Однако существенным недостатком алгоритма А2.4 является избыточная вентильная сложность синтезированной схемы по сравнению с другими алгоритмами.

3. Новый быстрый алгоритм синтеза

Рассмотрим произвольную чётную подстановку h Е A2n, n > 3, и множество подвижных точек этой подстановки M = {x : x Е Z2n, h(x) = x}. Обозначим m = |"log2 |M|]. В случае, когда подстановка h представляет собой один длинный цикл, её можно разложить в композицию не более чем 2т — 1 транспозиций:

(il, i2, i3, . . . ,*2m ) = (*1,*2) ◦ (*1,*з) ◦ ... ◦ (il ,i2m ). (1)

В случае, когда h представляет собой композицию нескольких циклов, каждый цикл можно разложить в композицию транспозиций по формуле (1), что при фиксированном значении m даёт максимальное количество транспозиций не более 2т — 1.

n

Любой элемент x Е Z2n может быть представлен в виде x = ^2 xi • 2i-1; xi Е Z2

i=1

будем называть разрядом элемента x.

Самый простой способ A3.1 синтеза обратимой схемы, задающей подстановку h, можно описать следующим образом:

1) Разложить заданную подстановку h в композицию транспозиций.

2) Каждую транспозицию t = (x, y) действием сопряжения привести к виду t' = = (x', y'), где x, y, x', y' Е Z2n и существует такое значение j, что xj = yj ф 1, при этом для всех остальных разрядов выполняется условие xi = yi = 1, i = j.

3) Найти композиции обратимых вентилей NOT и k-CNOT, задающих транспозицию t' и действие сопряжением на транспозицию t.

Действие сопряжением подстановкой g на подстановку h задаётся как

hg = g-1 о h о g.

Для любого обратимого вентиля E (NOT или k-CNOT) задаваемая им подстановка g является обратной к самой себе. Это следует из определения вентилей. Поэтому действие сопряжением в данном случае выражается как hg = g о h о g. Таким образом, для действия сопряжением подстановкой, задаваемой обратимым вентилем E (NOT или k-CNOT), требуется ровно два вентиля E. Действие сопряжением не меняет цикловой структуры подстановки, поэтому транспозиция t в результате действия сопряжением всегда остаётся одной транспозицией.

Для транспозиции t = (x,y) введём четыре множества: B00 = {i : xi = yi = 0}, B01 = {i : xi = 0,yi = 1}, B10 = {i : xi = 1,yi = 0}, Bn = {i : xi = yi = 1}. Мощности этих множеств обозначим b00, b01, b10, b11. Очевидно, что b00 + b01 + b10 + b11 = n; если x = y, то b01 = 0 или b10 = 0. Рассмотрим два случая.

1) b01 = 0, b10 = °.

Пусть j Е B10, k Е B01. Для каждого i Е B10, i = j, будем действовать сопряжением на t подстановкой, задаваемой вентилем Ck;i. Затем для каждого i Е B01 будем действовать сопряжением на полученную транспозицию подстановкой, задаваемой вентилем Cj;i. На последнем шаге для каждого i Е B00 будем действовать сопряжением на полученную транспозицию подстановкой, задаваемой вентилем Ni. В результате получим искомую транспозицию t' = (x',y').

Для сопряжения требуется 2(b10 — 1) вентилей Ck;i, 2b01 вентилей Cj;i и 2b00 вентилей Ni; всего 2(b10 + b01 + b00 — 1) вентилей NOT и 1-CNOT. В худшем случае b10 + b01 + b00 = n (при b11 = 0). Следовательно, для получения транспозиции t' при b01 = 0, b10 = 0 требуется 2(n — 1) вентилей NOT и 1-CNOT.

2) b01 = 0 или b10 = 0.

Без ограничения общности рассмотрим только случай b01 = 0, b10 = 0. Пусть j Е B10. Сначала действуем сопряжением на t подстановкой, задаваемой вентилем Nj. Затем для каждого i Е B10, i = j, будем действовать сопряжением на полученную транспозицию подстановкой, задаваемой вентилем Cj;i. После этого вновь будем действовать сопряжением на полученную транспозицию подстановкой, задаваемой вентилем Nj. На последнем шаге для каждого i Е B00 будем действовать сопряжением на полученную транспозицию подстановкой, задаваемой вентилем Ni. В результате получим искомую транспозицию t' = (x',y').

Для сопряжения требуется 2(b10 — 1) вентилей Cj;i, четыре вентиля Nj и 2b00 вентилей Ni; всего 2(b10 + b00 + 1) вентилей NOT и 1-CNOT. В худшем случае b10 + b00 = n (при b11 = 0). Следовательно, для получения транспозиции t' при b01 = 0 или b10 = 0 требуется 2(n + 1) вентилей NOT и 1-CNOT.

Транспозиция t' задается вентилем C/;j с n — 1 управляющими входами из множества I = {1, 2 ..., n}\{j}. Следовательно, для второго и третьего шагов алгоритма A3.1 требуется не более 2(n + 1) + 1 вентилей NOT и k-CNOT.

Умножая максимально возможное количество транспозиций на сложность реализации одной транспозиции, получаем, что вентильная сложность схемы, синтезированной алгоритмом A3.1, не превосходит (2m — 1)(2(n + 1) + 1) = O(n2m). Временная сложность алгоритма составляет порядка O(n2m), требуемый для синтеза объём памяти равен O(2m) (хранение всех элементов подстановки). Недостатком данного алгоритма является использование вентилей (n — 1)-CNOT, что в некоторых случаях является недопустимым, так как такой вентиль нельзя заменить на композицию вентилей 2-CNOT без использования дополнительных входов схемы [3].

Усовершенствованный итоговый алгоритм A3.2 синтеза обратимых схем из вентилей NOT, 1-CNOT и 2-CNOT, предлагаемый в данной работе, основан на доказательстве теоремы из [9], согласно которой множество подстановок, задаваемых вентилями NOT, 1-CNOT и 2-CNOT с n входами, генерирует знакопеременную группу A2n при n > 3.

Композицию двух независимых циклов можно выразить следующим образом:

(i1, i2, ... , iki) о (j'1, j2, . . . ,jk2 ) = (ib i2) о (jb j2) о (i1, i3, . . . ,iki ) о (j1,j3, . . . , jk2 ). (2)

Цикл длины k ^ 5 можно выразить как

(i1,i2,...,ik) = (i1, i2) о (i3, i4) о (i1,i3,i5,i6,..., ik). (3)

Следовательно, имея исходное разложение чётной подстановки в композицию независимых циклов и используя формулы (2) и (3), эту подстановку можно выразить в виде композиции пар транспозиций, из которых только одна будет парой зависимых транспозиций, остальные — независимых. Максимально возможное количество транспозиций в представлении подстановки h не превосходит 2m — 1, следовательно, количество пар независимых транспозиций не превосходит 2m-1.

Рассмотрим пару независимых транспозиций p = (x,y) о (z,w). Действие сопряжением не меняет цикловой структуры подстановки, поэтому p в результате действия сопряжением всегда будет оставаться парой независимых транспозиций. Применяя такие же рассуждения, как и для транспозиции t = (x,y), приведём пару p действием сопряжением к виду p' = (2n — 1, 2n — 1 — 2n) о (z', w'), где i1 —индекс разряда, в котором различаются элементы первой транспозиции (во всех остальных разрядах 1),

а (г;,^;) —новая транспозиция, получившаяся в результате действия сопряжением. Для этого шага потребуется не более 2(п + 1) обратимых вентилей. Затем, применяя такой же подход для элементов (2П — 1) и г' из пары р/, получаем в результате действия сопряжением новую пару р" = (2П — 1, 2П — 1 — 2П) о (2П — 1 — 2*2, ^"), где г2 — индекс разряда, в котором различаются первые элементы первой и второй транспозиций (во всех остальных разрядах 1), а и)" — новый элемент второй транспозиции, получившийся в результате действия сопряжением. Для этого шага также потребуется не более 2(п + 1) обратимых вентилей.

Покажем, как можно действием сопряжением привести пару р// к виду д = (2П — 1, 2П — 1 — 2П) о (2П — 1 — 2*2, 2П — 1 — 2П — 2*2). Рассмотрим два случая.

В этом случае сначала действуем сопряжением на p// подстановками, задаваемыми вентилями Ni1 и Ni2. Затем для каждого І, такого, что w// =1, i = i1,i2, действуем сопряжением на полученную пару транспозиций подстановкой, задаваемой вентилем Ci1,i2;i. После этого вновь действуем сопряжением на полученную пару транспозиций подстановками, задаваемыми вентилями Ni1 и Ni2.

Для сопряжения требуется не более 2(n-2) вентилей Ci1,i2;i и по четыре вентиля Ni1 и Ni2. Следовательно, для получения пары транспозиций q при w" = w" = О требуется не бо лее 2(n + 2) вентилей NOT и 2-CNOT.

2) w" = 1 или w" =1 (в том числе и одновременно).

Поскольку w// не равно ни одному из остальных элементов пары транспозиций p//, существует такой индекс i3, что wf = О. Действуем сопряжением на p// подстановкой, задаваемой вентилем N^. Затем действуем сопряжением на полученную пару транспозиций подстановкой, задаваемой вентилем C^^, если w// = 1, и подстановкой, задаваемой вентилем C^^, если w// = 1. После этого вновь действуем сопряжением на полученную пару транспозиций подстановкой, задаваемой вентилем N^, и приходим к случаю 1.

Для сопряжения требуется не более четырёх вентилей 2-CNOT (C^^ и C^^), четыре вентиля N^ и не более 2(n + 2) вентилей NOT и 2-CNOT (при переходе к случаю 1). Следовательно, для получения пары транспозиций q при wi//1 = І или wi//2 = І требуется не более 2(n + б) вентилей NOT и 2-CNOT.

Пара независимых транспозиций q задаётся обратимым вентилем C/;j, где I = = {1, 2,...,n}\{i1,i2}. Поскольку |I | = n — 2, вентиль C/ ;j можно заменить на композицию не более чем 8(n — Б) вентилей 2-CNOT без использования дополнительных входов схемы [З]. Таким образом, суммарную вентильную сложность реализации пары независимых транспозиций можно оценить как

Рассмотрим пару зависимых транспозиций р = (ж, у) о (ж, г). Такую пару можно выразить через композицию пар независимых транспозиций:

Следовательно, суммарную вентильную сложность реализации пары зависимых транспозиций можно оценить как

1) w

L(pindep) ^ 4(n + 1) + 2(n + б) + 8(n — Б) = 14n + O(1).

(x y) О (x z) = ((x y) О (a b)) О ((a b) О (x, z)).

Таким образом, умножая максимально возможное количество пар транспозиций одного типа (зависимых или независимых) в представлении подстановки h на вентильную сложность реализации этого типа пары транспозиций, получаем, что вентильная сложность обратимой схемы S, синтезированной алгоритмом A3.3, не превосходит следующей величины:

L(S) ^ 2m-1L(pindep) + L(pdep) ^ 2m-1(14n + O(1)) + 28n + O(1) < 7n2m, где знак < означает следующее: f < g, если lim sup f (n)/g(n) ^ 1.

П—

Временная сложность алгоритма A3.2 составляет O(n2m), а требуемый для синтеза объём памяти равен O(2m) (хранение всех элементов подстановки).

Предложенные алгоритмы синтеза A3.1 и A3.2 обладают одним существенным недостатком: вентильная сложность синтезированной схемы зависит только от m, но никак не зависит от вида конкретной подстановки h. Например, рассмотрим преобразование f ((x1, x2,..., xn)) = (x1, x2 ф x1, x3,... , xn). Соответствующую подстановку hf можно задать одним вентилем C1;2. При этом количество подвижных точек подстановки hf равно половине от всех элементов Z2n (для которых x1 = 1), т.е. m = n — 1. Отсюда следует, что для всех преобразований, схожих с f, алгоритмы A3.1 и A3.2 будут синтезировать схему с вентильной сложностью порядка O(n2n-1).

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

Заключение

В работе рассмотрены различные алгоритмы синтеза обратимых схем и их основные характеристики. Для частного случая, когда заданное преобразование можно описать чётной подстановкой h Е A2n, n > 3, для которой m = |~log2 |M|] = o(n), где M — множество подвижных точек, показано, что лишь алгоритмы синтеза, основанные на теории групп подстановок, могут гарантированно синтезировать схему за время O(2n).

Предложенный быстрый алгоритм A3.2 синтеза обратимых схем на основе теории групп подстановок имеет на порядок меньшие временную сложность (O(n2m) против O(n22m)) и вентильную сложность синтезированной схемы (O(n2m) против O(n22m)) по сравнению с существующим алгоритмом A2.4, сохраняя при этом такой же объём памяти, требуемый для синтеза — O(2m). Вместе с тем алгоритм A3.2 может синтезировать схему из вентилей NOT, 1-CNOT и 2-CNOT без использования дополнительных входов схемы, в отличие от алгоритма A3.1.

К сожалению, вентильная сложность схемы, синтезированной алгоритмами A3.1 и A3.2, зависит только от m, но никак не зависит от вида подстановки h. Направлением дальнейших исследований является изучение возможности минимизации вентильной сложности синтезированной схемы для некоторого класса чётных подстановок.

ЛИТЕРАТУРА

1. Bennett C. H. Logical reversibility of computation // IBM J. Res. Dev. 1973. V. 17. P. 525-532.

2. Khlopotine A. B., Perkowski M. A., and Kerntopf P. Reversible logic synthesis by iterative compositions // Int. Workshop Logic Synthesis, New Orleans, Louisiana, June 4-7, 2002. P. 261-266.

3. ShendeV.V., Prasad A. K., Markov I. L., and Hayes J. P. Synthesis of reversible logic circuits // IEEE Trans. CAD. 2003. V. 22. No. 6. P. 710-722.

4. Yang G., Song X., Hung W. N., and Perkowski M. A. Fast synthesis of exact minimal reversible circuits using group theory // Proc. ASP DAC’05, Shanghai, China, January 18-21, 2005. P. 1002-1005.

5. Miller D. M. and Dueck G. W. Spectral techniques for reversible logic synthesis // 6th Int. Symp. Representations and Methodology of Future Comput. Technol., Trier, Germany, 2003. P. 56-62.

6. Miller D. M., Maslov D., and Dueck G. W. A transformation based algorithm for reversible logic synthesis // Design Automation Conference (DAC), Anaheim, CA, 2003. P. 318-323.

7. Saeedi M., Sedighi M., and Zamani M. S. A novel synthesis algorithm for reversible circuits // Int. Conf. on Computer-Aided Design (ICCAD), USA, 2007. P.65-68

8. Yang G., SongX., HungW.N., et al. Group theory based synthesis of binary reversible circuits // 3rd Annual Conf. Theory Appl. of Models of Comput. (TAMC), Beijing, China, 2006. P. 365-374

9. Закаблуков Д. В., Жуков А. Е. Исследование схем из обратимых логических элементов // Информатика и системы управления в XXI веке: сб. трудов №9 молодых ученых, аспирантов и студентов. М.: МГТУ им. Н. Э. Баумана, 2012. С. 148-157.

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