ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ
УДК 004.312, 519.7
ВЕНТИЛЬНАЯ СЛОЖНОСТЬ ОБРАТИМЫХ СХЕМ КАК МЕРА СЛОЖНОСТИ ЧЕТНЫХ ПОДСТАНОВОК
Д.В. Закаблуков
МГТУ им. Н.Э. Баумана, Москва, Российская Федерация e-mail: dmitriy.zakablukov@gmail.com
Рассмотрен вопрос сложности четных подстановок через оценку вентильной сложности задающих их обратимых схем, состоящих из вентилей NOT, CNOT и 2-CNOT. Доказано, что все четные подстановки на множестве Zn задаются обратимой схемой, не использующей дополнительные входы, с вентильной сложностью, эквивалентной с точность до порядка n2n/ log2 n; оставшиеся четные подстановки задаются обратимой схемой, не использующей дополнительные входы, с меньшей вентильной сложностью. Установлено, что любая четная подстановка на множестве Щ реализуется обратимой схемой с вентильной сложностью < 2n+1 при использовании ~ 5 • 2n/n дополнительных входов. Для всех четных подстановок применение дополнительных входов позволяет снизить вентильную сложность реализующих их обратимых схем.
Ключевые слова: обратимые схемы, вентильная сложность, сложность четных подстановок.
GATE COMPLEXITY OF REVERSIBLE CIRCUITS AS A MEASURE OF EVEN PERMUTATION COMPLEXITY
D.V. Zakablukov
Bauman Moscow State Technical University, Moscow, Russian Federation e-mail: dmitriy.zakablukov@gmail.com
The article discusses even permutation complexities via the evaluation of the gate complexity of reversible circuits consisting of NOT, CNOT and 2-CNOT gates, which implements these permutations. It is proved that almost every even permutation on the Zn set is implemented by the reversible circuit not using additional inputs with the gate complexity equivalent up to about n2n/ log2 n; all other even permutations are implemented by reversible circuit not using additional inputs with the less gate complexity. It is established that every even permutation on the Zn set is implemented by the reversible circuit using ~ 5 • 2n/n additional inputs with the gate complexity < 2n+1. It is stated that for almost every even permutations the usage of additional inputs allows to decrease gate complexity of reversible circuits implementing them.
Keywords: reversible circuits, gate complexity, even permutation complexity.
Введение. В дискретной математике для оценки сложности того или иного преобразования вводится мера сложности этого преобразования. В качестве меры сложности булевой функции зачастую рассматривают вентильную сложность минимальной схемы, задающей эту функцию. Впервые это было предложено К.Шенноном в работе [1], с которой берет свое начало теория схемной сложности. В настоящее
время сложность булевых функций хорошо изучена: доказаны нижняя асимптотическая оценка сложности (теорема Шеннона) и верхняя асимптотическая оценка сложности (теорема Лупанова), а также их асимптотическое равенство 2П/п для булевой функции п переменных [2]. В работе [3] изучен вопрос сложности булева преобразования ^ доказано, что сложность такого преобразования не
го построения схемы, задающей это преобразование и состоящей из функциональных элементов NOT, AND и XOR.
В настоящей работе рассмотрен вопрос вентильной сложности схем, состоящих из обратимых логических вентилей NOT, CNOT и 2-CNOT. Определение обратимых вентилей NOT и k-CNOT, а также обратимых схем, включающих в себя эти вентили, было изложено, например, в работе [4]. В работах [5, 6] было доказано следующее:
• вентили NOT, CNOT и 2-CNOT задают четную подстановку в схеме с n > 3 входами;
• множество подстановок, задаваемых вентилями NOT, CNOT и 2-CNOT с n входами, при n ^ 3 генерирует симметрическую группу S (Zn), а при n > 3 — знакопеременную группу A(Z£).
В связи с изложенным в качестве меры сложности четной подстановки предлагается рассматривать вентильную сложность задающей ее минимальной обратимой схемы, состоящей из вентилей NOT, CNOT
В работах [5-13] предложены различные алгоритмы синтеза обратимых схем и в некоторых случаях дана оценка сверху вентильной сложности синтезированной схемы. Однако до сих пор не были известны строгие асимптотические оценки вентильной сложности обратимой схемы, состоящей из вентилей NOT, CNOT и 2-CNOT и задающей какую-либо четную подстановку из группы A(Z£).
В настоящей работе с помощью оценки числа различных неэквивалентных обратимых схем будет доказано, что существует такая четная подстановка h £ A(Z^), которая не может быть задана обратимой схемой, состоящей из вентилей NOT, CNOT и 2-CNOT и не использующей дополнительные входы с вентильной сложностью < n2n-1/ log2 n. Также будет доказано, что любая четная подстановка h £ A(Z^) может быть задана обратимой схемой, включающей в себя вентили NOT, CNOT и 2-CNOT и не использующей дополнительные входы с вентильной сложностью < 52n2n/ log2 n. Будет показано, что любая четная подстановка h £ A(Z^) может быть реализована обратимой схемой, состоящей из вентилей NOT, CNOT и 2-CNOT и использующей ~ 5 • 2n/n дополнительных входов с вентильной сложностью < 2n+1.
Основные понятия. Рассмотрим следующую модель обратимой схемы: все вентили в схеме имеют одинаковое число входов, выходы
и 2-CNOT.
одного вентиля напрямую соединены с входами следующего за ним вентиля. В таком случае входами обратимой схемы являются входы первого вентиля, выходами - выходы последнего вентиля.
Базовое определение обратимых вентилей NOT и k-CNOT было дано в работе [4]. Напомним, что через Nj в работе [4] обозначен вентиль NOT, инвертирующий значение на j-м входе; через Cil;j = Cj;j — вентиль k-CNOT (обобщенный элемент Тоффоли с k контролирующими входами), инвертирующий значение на j -м входе тогда и только тогда, когда значение на всех входах i1,... ,ik равно 1; I = {i1,..., ik} — множество контролирующих входов, j G I.
Любая обратимая схема c n > 3 входами, состоящая из вентилей NOT, CNOT и 2-CNOT, задает какую-либо четную подстановку на множестве При этом такая схема может реализовывать некоторое булево преобразование. Для того чтобы ввести определение обратимой схемы, реализующей заданное булево преобразование Zm ^ Zm, понадобятся отображения уn ,n+k : Zn ^ Zn+k и фП+к ,n : Zn+k ^ Zn вида
Vnn+k ((x\,...,Xn)) = (xi,...,xn, 0,..., 0);
"C+k,n((Xl, . . . ,Xn+k)) = (Xj(l), . . . ,Xn(n)),n G S (Z n+k).
Назовем , n+k расширяющим отображением; ^n+k n — редуцирующим отображением, подстановку п — перестановкой выходов.
Рассмотрим произвольную четную подстановку h G A(Zn), которая задает булево преобразование fh : Zn ^ Zn. Введем определения обратимых схем, реализующих преобразование fh либо без использования дополнительных входов, либо с использованием дополнительных входов.
Определение 1. Обратимая схема &д реализует преобразование fh без использования дополнительных входов (дополнительной памяти), если она имеет ровно n входов, при этом существует такая подстановка п G S(Zn), что задаваемое этой схемой булево преобразование g : Zn ^ Zn удовлетворяет условию ^^n(g(x)) = fh(x),х G Zn.
Определение 2. Обратимая схема Sg реализует преобразование fh c использованием k > 0 дополнительных входов (дополнительной памяти), если она имеет n + k входов, при этом существует такая подстановка п G S(Zn+k), что задаваемое этой схемой булево преобразование g : Zn+k ^ Zn+k удовлетворяет условию
C+k ,n(g(Vn ,n+k(х))) = fh(x), х G Zn.
Отметим, что обратимая схема Sg задает преобразование fh при
g(x) = fh(x).
Напомним некоторые понятия из анализа [2]. Пусть f (n) и g(n) — вещественные положительные функции натуральной переменной n, тогда:
• f (n)>g(n), если для любого е > 0 найдется N = N(е) такое, что при любом n^N верно неравенство (1 — e)g(n)^f (n) (функция f (n) асимптотически больше или равна функции g(n));
• f (n)~g(n) если f (n)^g(n) и g(n)^f (n) (фУнкЦии f (n) и g(n) асимптотически равны, или эквивалентны), в настоящем случае lim f (n)/g(n) = 1;
• f (n)xg(n), если 0 < ci < f (n)/g(n) < c2 (функции f (n) и g(n) эквивалентны с точностью до порядка).
Теперь можно перейти к оценке вентильной сложности обратимой схемы, состоящей из вентилей NOT, CNOT и 2-CNOT, задающей четную подстановку h £ A(Zn).
Асимптотическая нижняя оценка вентильной сложности. Введем множество обратимых вентилей состоящее из всех вентилей NOT и k-CNOT, k ^ m, каждый из которых имеет ровно n входов.
Всего существует (n — k) (П) различных вентилей k-CNOT, имеющих ровно n входов. Нас интересует множество ПП, состоящее из всех возможных вентилей NOT, CNOT и 2-CNOT с n входами, мощность которого равна
|ПП| = £(n — k) (k) = n + n(n — 1) + n(n — ^ — 2) = O(n3). (1)
k=0 ^ '
В рассматриваемой модели обратимой схемы возможна ситуация, когда перестановка двух соседних вентилей схемы порождает эквивалентную ей схему (задающую такую же четную подстановку), если эти вентили независимы. Условия независимости двух вентилей k-CNOT были рассмотрены в работе [4].
В множестве ПП все вентили имеют не более двух контролирующих входов, поэтому при n ^ то несколько подряд идущих вентилей могут быть попарно независимыми. Определим вероятность события, что k таких вентилей являются попарно независимыми. Примем следующее: вентиль Ci-t независим с каждым предшествующим ему вентилем, если не существует такого вентиля С/^, стоящего до рассматриваемого вентиля, что t £ I' или t' £ I. Обозначим через Pi вероятность того, что эти условия выполняются для i-го вентиля в последовательности, P1 = 1. Тогда вероятность P(k) того, что k последовательно расположенных вентилей попарно независимы составляет k
P(k) = П Pi.
i=1
Для вентилей NOT и CNOT вероятность Pi выше, чем для вентилей 2-CNOT, так как они имеют меньше контролирующих входов. Для указанных вентилей выше вероятность выполнения второго условия
независимости, рассмотренного ранее. Поэтому без ограничения общности при расчете P(k) примем, что все вентили являются вентилями 2-CNOT.
Первый вентиль C{jb1l};il можно выбрать любым возможным способом. При выборе второго вентиля C{j2,l2};t2, независимого от первого, необходимо выбрать значения j2 и /2 так, чтобы они не совпадали со значением t1: всего существует (П-1) способов выполнить это. Значение t2 не должно совпадать со значениями jb /1, j2, /2: всего есть n — 4 способов выбрать значение t2. Аналогичные рассуждения можно провести и для третьего вентиля C{j3il3};t3: всего существует (П-2) способов выбрать значения j3 и /3 и n — 6 способов — значение t3. Отсюда следует, что вероятность Pk удовлетворяет соотношению
(n — 2k) (n-fc+1) (n — 2k)(n — k + 1)(n — k)
Pk ^ -?-owм , или Pk > --гт-р-7T-. Знак
(n — 2) (П) (n — 2)n(n — 1)
означает, что в реальной схеме больше способов выбрать i-й вентиль так, чтобы он был независим с каждым предыдущим вентилем. При k = o(n) и n ^ то вероятность Pk — o(1), Pk~1, тогда, и P(k)~1. Следовательно, доля обратимых схем, состоящих из вентилей множества П^, у которых из k = o(n) подряд идущих вентилей найдется хотя бы два зависимых вентиля, стремится к нулю.
Докажем с помощью оценки числа различных неэквивалентных обратимых схем, что существует такая четная подстановка h £ A(Z^), которая не может быть задана обратимой схемой, состоящей из вентилей множества П и не использующей дополнительные входы с вентильной сложностью < n2n-1/log2 n.
Сложность минимальной обратимой схемы, состоящей из вентилей множества П^, не использующей дополнительные входы и задающей четную подстановку h £ A(Z£), обозначим через L(h). Определим функцию Шеннона L(n) = max L(h). Аналогично рассмотрим величины L*(h) и L*(n) для обратимых схем, использующих дополнительные входы.
Теорема 1. L(n)>n2n-1/log2n.
< Покажем, что имеет место неравенство L(h)>n2n-1 /log2 n почти для всех подстановок h £ A(Z^). Оценим число обратимых схем, состоящих из вентилей множества П^, которые задают различные четные подстановки на множестве Z^ и имеют вентильную сложность s. Обозначим эту величину через C*(n, s).
Если r = |ПП|, то C*(n, s)<rs. Обозначим через C(n,s) общее число различных, неэквивалентных обратимых схем, состоящих из вентилей множества П и имеющих вентильную сложность не более
s rs+1 _ 1
s: C(n, s) = £ C*(n,i)<-
i=0
r — 1
Обозначим через к число подряд идущих вентилей в схеме. При к = о(п) и к = о(в), можно утверждать на основании условия эквивалентности обратимых схем, что
Г^+1 _ 1 _ 1
С(к!)^(г - 1) ^ (к!)(*/кМ(г - 1) ■ (2)
Число всех четных подстановок на множестве ЖП равно \А(ЖП)| = = (2п)!/2. По формуле Стирлинга х! > (ж/е)ж. Оценим величину
1с&(С (п,8)/\А(Ж )|):
С (п,в) 2г5+1 2гв+1е2"+в-к
]ЛЩ)\ ^ 0g2 (к!)(в/к)-1(г - 1)(2П)! ^ 0g2 к*-к(г - 1)2п2" ' С(п в)
1og2 ^(ЖП)! ~ 1 + (в + 1) ^2 г + (2П + в - к) 1og2 е-
-(в - к) к - ^2(г - 1) - п2п.
С(п в)
Согласно формуле (1), г<п3: ^ , ' > Зв 1og2 п + 2(2П + в - к) -
1Л(Ж2 )!
-(в - к) 1og2 к - п2п.
Выберем значение в так, чтобы выполнялось условие
^2(С(п, в)/\А(ЖП)\)^ - п. Пусть к = п/п, тогда
п
Зв 1og2 п + 2 2п + в -
log2 n
- ( s ) (log2 n - log2 log2 n) - n2" = - log2 n;
log2 n 2 2 2 2
s(2 log2 n + 2 + log 2 log2 n) + 2n+1-2n + n - n log2 log2 n - n2" = - log2 n;
log2 n log2 n
n2n + o(n2n)
s=
2 1og2 п + 0^2 п) '
Очевидно, что при таком значении в величина ^2(С(п, в)/1^(2^) \) ^ ^ -то при п ^ то, т.е. доля четных подстановок, которые задаются обратимой схемой, состоящей из вентилей множества П и не использующей дополнительные входы, с вентильной сложностью менее в, стремится к нулю.
Следует отметить, что при указанном выборе значений в и к выполняются условия к = о(п), к = о(в), таким образом, применение формулы (2) корректно. Тогда в ~ п2п-1/ п, откуда следует истинность утверждения теоремы. ►
Асимптотическая верхняя оценка вентильной сложности. В работе [7] был предложен алгоритм синтеза обратимых схем, состоящих
из вентилей NOT, CNOT и 2-CNOT, основанный на теории групп подстановок. Было доказано, что вентильная сложность синтезированной схемы удовлетворяет соотношению
L(n)<7n2n. (3)
Этот алгоритм основан на представлении подстановки в виде произведения пар независимых транспозиций с последующей реализацией этих пар с помощью обратимых вентилей. Если обобщить этот алгоритм для синтеза большего числа независимых транспозиций, можно получить асимптотическую верхнюю оценку сложности L(n).
Теорема 2. L(n)<52n2n/log 2 n.
М Покажем, что L(h)<52n2n/log2n для всех h £ A(Z£). Любую подстановку h £ A(Z^) можно представить в виде композиции непересекающихся циклов так, чтобы сумма длин этих циклов не превосходила 2n. Для композиции двух независимых циклов верно равенство
(i1,i2,...,i1i ) О (j1, j2 ,...,jl2 ) =
= (i1, i2) О (j1, j2) О (¿1,гз, . . . ,iii) О (j1, jз, . . . , ^ (4) а для цикла длиной l ^ 5 — равенство
(¿1, ¿2,..., ¿i) = (¿1, ¿2) О (гз, ¿4) О (¿1, ¿3, ¿5, ¿6,..., гг). (5)
Представим подстановку h в виде композиции групп независимых транспозиций, по K транспозиций в каждой группе, и оставшейся подстановки h':
h = О „„ ((хь У1) О ... О (хк, У к)) О h'. (6)
Для подстановки h' оценим число независимых циклов и их длину в разложении. Согласно формулам (4) и (5), в разложении h' нельзя получить K независимых транспозиций, если число независимых циклов строго меньше K и их длина строго меньше 5. Отсюда следует, что сумма длин циклов в разложении h' не превосходит 4(K — 1).
Обозначим через Mg множество подвижных точек произвольной подстановки g £ S(Z^): Mg = {х £ Z£|g(x) = х}. С учетом изложенного выше, |Mh|<2n, |Mh1 < 4(K — 1).
В соответствии с формулами (4)-(6), в декомпозиции подстановки h можно получить не более |Mh|/K групп, в каждой из которых K независимых транспозиций, а в декомпозиции подстановки h' — не более | Mh | / 2 пар независимых транспозиций и не более одной пары зависимых транспозиций.
Пара зависимых транспозиций (¿,j) о (¿, k) выражается через произведение двух пар независимых транспозиций: (¿,j) о (¿, k) = = № j) О (r, s)) О ((r, s) О (i,k)).
С учетом изложенного оценим сверху величину
ад < ^М!^1 + ^ ь(^(2)) + 2^(2));
2П
L(h) < KL(g(K)} + 2KL(g(2)},
(i) _
произвольная подстановка, представляющая собой произве-
где д
дение г независимых транспозиций. Для произвольной подстановки
/(к) оценим величину Ь(д(к)). Пусть к = \Мд(к) | = 2!. Задание подстановки д(к) вентилями множества будем проводить способом, описанным в работе [7]: действием сопряжения приведем подстановку д(к) к подстановке определенного вида, которая задается простым способом. Действие сопряжением не меняет цикловой структуры подстановки, поэтому подстановка д(к) в результате действия сопряжением всегда будет оставаться композицией К независимых транспозиций.
Для подстановки д(к) = (х1, у1) о цу А:
A =
/ xi \
У1
Хк V Ук )
(
« ,i «2,1
afc-1 ,1 afc,1
о (xK, yK) составим матри-\
a1,n a2,n
V
(8)
/
Наложим ограничение на значение к так, чтобы оно было степенью двойки: к = 2-1о£2 Если к^ log2 п, то в матрице А найдется не более 2к попарно различных столбцов. Без ограничения общности примем, что такими столбцами являются первые 2к столбцов. Тогда для любого з-го столбца, з > 2к, найдется равный ему г-й столбец, г ^ 2к. Применив к подстановке д(к) действие сопряжением подстановкой, задаваемой вентилем С^, можно обнулить з-й столбец матрицы А (для этого потребуется два вентиля СКОТ). Повторяя указанное действие для всех столбцов с индексами больше 2к, получаем новую подстановку д(К), для которой матрица А1 будет иметь вид
/
A1 =
«1,1 .. . «1,2k 0 • •0
«2,1 . . . a2,2k 0 • •0
afc-1,1 • • • «fe-1,2k 0. .0
ам • • • afe,2k 0. .0
\
--
n 2k
Для получения матрицы A потребуется L вентилей CNOT. Для всех элементов a1i = 1 применяем к подстановке g(K) действие сопряжением подстановкой, задаваемой вентилем N Для этого потребуется L2^2k+1 вентилей NOT. В итоге получим подстановку
(к) ~ л
g2 и соответствующую ей матрицу A2:
( \
A, =
0 . .0 0 • • 0
b2 ,1 • • b2,2k 0 • • 0
fc-1 ,1 • • bfe-1,2k 0 • • 0
0 • • 0
V
i—2k
/
Элементы матрицы А2 обозначены через , чтобы показать их возможное отличие от элементов матрицы Аь
Поставим в соответствие вектору число с помощью отображения
: Zm ^ Z2m: ^т((жь... ,жт)) = £ жг2
i=1
г- 1
. Будем последователь-
(к)
но действовать сопряжением на подстановку g2 , рассматривая все строки матрицы A2 начиная со второй. Пусть текущая строка имеет номер i. Эта строка попарно отличается от всех строк, чей номер меньше i, так как все строки матрицы A2 различны. Возможны два варианта.
1. Существует элемент матрицы b^j = 1, j > log2 k. В таком случае для всех элементов biij-/ = 1, j' = j, j' > log2 k, применяем действие сопряжением подстановкой, задаваемой вентилем Cj-j. Для этого потребуется не более 2(2k — log2 k — 1) вентилей CNOT. Затем для всех jlog2 k используем действие сопряжением подстановкой, задаваемой вентилем Cj-j, так, чтобы выполнялось условие
^log2 k ((bi11,...,bi1log2 k )) = i — 1. (9)
Для этого необходимо не более 2 log2 k вентилей CNOT. На последнем шаге применяем действие сопряжением подстановкой, задаваемой вентилем C{1,...ilo^ k};j. Перед этим и после этого, возможно, потребуется инвертировать не более log2 k значений bj = 0, j log2 k, с помощью подстановок, задаваемых вентилями NOT. Вентиль C{1 ,..., log2 k};j имеет log2 k контролирующих входов, в результате он может быть заменен композицией не более 8(log2 k — 3) вентилей 2-CNOT [5].
Вследствие таких преобразований получим строку матрицы, у которой все элементы с индексом больше log2 k являются нулевыми, а первые ее log2 k элементов удовлетворяют условию (9). В сумме для
этого потребуется вентилей множества П^'
4г) < 2(2k - log2 k - 1) + 2 log2 k + 2(log2 k + 8(log2 k - 3) + log2 k);
Lf < 2k+1 + 20 log2 k.
2. Не существует такого элемента bitj матрицы A2, что bitj = 1, j > log2 k. Тогда можно утверждать, что для всех i' < i верно неравенство: ^log2 k ((bi,1, . . . ,bi,log2 k)) = ^log2 k ((bi',1, . . . ,bi',log2 k)). В противном случае нашлись бы две одинаковые строки в матрице A2, что противоречит циклическому виду подстановки $2K). Применяем действие сопряжением подстановкой, задаваемой вентилем C{1i...ilog2 k};log2 k+1 так, чтобы в итоге этого действия bi log2 k+1 = 1. Перед этим и после этого, возможно, потребуется инвертировать не более log2 k значений bj = 0, j'^ log2 k, с помощью подстановок, задаваемых вентилями NOT. Вентиль C{1i... lo^ k};j имеет log2 k контролирующих входов, таким образом, он может быть заменен композицией не более 8(log2 k - 3) вентилей 2-CNOT [5].
Далее выполняем те же действия, что и в предыдущем варианте. Следовательно, для приведения i-й строки к такому же виду, что и в предыдущем случае (см. п. 1), в сумме потребуется Ljj) вентилей множества ПП' Lf<2(log2 k + 8(log2 k - 3) + log2 k) + 2k+1 + + 20 log2 k = 2k+1 + 40 log2 k.
В результате последовательного применения указанных действий
ко всем строкам матрицы A2 начиная со второй, будет получена новая
(к) „ л
подстановка gj и соответствующая ей матрица A3:
( \
Аз =
1 0 0 . .0 0. . . 0
0 1 1 . .1 0. . . 0
1 1 1. .1 0. . . 0
V
log2 k
n—log2 k
/
Для этого в сумме потребуется L3 вентилей множества П^' L3 =
- 1)(2k+1 + 40log2 k).
i=2
Теперь для всех i > log2 k применяем к подстановке g(K) действие сопряжением подстановкой, задаваемой вентилем N Для этого необходимо L4 ^ 2(n - log2 k) вентилей NOT. Получим итоговую под-
(K) ~ л
становку g4 и соответствующую ей матрицу A4 (
A4 =
1 0 0 . .0 1. .1
0 1 1 . .1 1. .1
1 1 1. .1 1. .1
V
-Ny*-
l'-'g; k
n—log2 к J
Матрица A была сформирована согласно формуле (8), подстановка g4K) представляет собой композицию K независимых транспозиций,
(K)
следовательно, можно утверждать: подстановка g4 задается вентилем C{n,n—i.....log2 k+i};i- Этот вентиль имеет n — log2 k контролирующих входов, поэтому его можно заменить композицией не более L5 = 8(n — log2 k — 3) вентилей 2-CNOT [5].
Приведенный алгоритм позволяет получить из исходной подста-
(K) (K) (K)
новки g(K) подстановку $4 путем действия сопряжением: g4 = = (g(K)J , где g¿ — подстановка, задаваемая описанным ал-
горитмом со сложностью Lj/2 вентилями множества ПП. Как было показано в работе [7], для любой подстановки g, задаваемой композицией вентилей множества ПП, верно равенство g = g—1. Отсюда
следует g(K) =
94 Х°91 1
. Таким образом, можно оценить
сверху величину L(g(K)):
L(g(K)) < £
i=1
)} < 2п + 2к+1 + (к - 1)(2к+1 + 40log2 к)+ +2(п - log2 к) + 8(п - log2 к - 3).
Упрощая эту формулу, получаем + к(2к+1 + 40 к) -
-50 к - 24. При К = 2 верно неравенство + 324.
Подставляем полученные оценки в формулу (7): 2П
L(h)
<
k/2(
(12n + k(2k+1 + 40 log2 k))) + k(12n + 324);
L(h) < 2n+1 ^ 12П + 2k+1 + o(k^ + O(kn). При k = o(n) оценку для L(h) можно упростить L(h)<2n+1 x
x( 1kn + 2-).
1
Пусть m = log2 n - log2 log2 n. При доказательстве требовалось, чтобы k было степенью двойки. Пусть k = 2^log2mJ, тогда m/2^k^m
и L(h)<2- (^ + = 2- (j-24nT— +
m/2 log2 n - log2 log2 n log2 n
Отсюда следует, что L(h)<52n2»/log2n для всех h G A(Z»). Таким образом, L(n) < 52n2n/log2 n. ►
Следствие 1. При k = 4 верно соотношение L(n)<6n2n, что асимптотически меньше, чем оценка (3), предложенная в работе [7].
Объединяя верхнюю и нижнюю оценки L(n) можно сформулировать основную теорему настоящей работы.
Теорема 3. L(n)xn2n/ log2 n.
< Следует из теорем 1 и 2. ►
Снижение вентильной сложности при использовании дополнительных входов. В работе [3] доказано, что для любого булева преобразования f : Z» ^ Z» можно построить реализующую его схему, состоящую из функциональных элементов базиса {—, Л, V} и имеющую вентильную сложность O(2m/m), где m = n + log2 n. Такая схема включает в себя в качестве подсхемы многополюсник, вычисляющий все булевы функции n - k переменных. В доказательстве использовано следующее представление преобразования f (аналог разложения булевой функции по k переменным):
f ((xb... ,x»)) = V xf Л ... Л xlk Л f ((a! ,...,a,k, xk+1,..., x»)).
ai,...,akgZ2
Используя аналогичный подход, докажем, что верхняя оценка вентильной сложности обратимых схем может быть снижена с помощью дополнительных входов. Напомним, что величина L*(n) соответствует максимальной вентильной сложности обратимой схемы из всех минимальных обратимых схем, реализующих четную подстановку h G A(Z») с применением дополнительных входов.
Теорема 4. При N~5 • 2n/n дополнительных входах в схеме, состоящей из вентилей множества n»+N, справедливо соотношение L*(n) < 2n+1.
Покажем, что L*(h)<2n+1 для всех h G A(Z»). Любая подстановка h G A(Z») задает некоторое булево преобразование fh : Z» ^ Z». Представим его следующим образом:
fh((x1,... ,x»)) = ф xf Л...Лxakk ЛД((а1 ,...,ak, xk+1,..., x»)).
ai,...,ak gZ2
(10)
Преобразование fh((a1,..., ak, xk+1,..., x»)) соответствует какому-либо булеву преобразованию n - k переменных.
Построим многополюсник, вычисляющий все булевы функции n - k переменных. Обозначим через nNXA множество функциональных элементов {-, ф, Л} (NXA-NOT, XOR, AND). Множество
^nxa — функционально полный базис. Известно, что для построения указанного многополюсника потребуется не более 22™ элементов из множества 0NXA. Каждый такой элемент можно выразить через композицию обратимых вентилей NOT, CNOT и 2-CNOT. Согласно рисунку, для этого необходимо не более двух обратимых вентилей и не более одного дополнительного входа. Следовательно, обратимая подсхема, задающая описанный выше многополюсник, имеет вентильную сложность L1k+1 и использует N = 22n k — (n — k) дополнительных входов. Каждый выход, соответствующий одному из дополнительных входов, представляет собой выход одной из булевых функций n — k переменных.
Выражение функциональных элементов базиса fiNXA через композицию обратимых вентилей NOT, CNOT и 2-CNOT
Перед вычислением всех возможных значений конъюнкций xj1 Л ... Л xjk сперва получим с помощью обратимых вентилей все инверсии Xi, 1 ^ i ^ k. Для этого потребуется L2 = 2k вентилей NOT и CNOT и N2 = k дополнительных входов. Затем вычисляем
все возможные конъюнкции xj1 Л ... Л xjk по индукции: для одного
к-1
входа, для двух и т.д. Для этого необходимо L3 = ^ 2i+1 = 2к+1 — 4
i=1
вентилей 2-CNOT и N3 = L3 дополнительных входов.
Далее строим подсхему для вычисления преобразования fh. Для каждого вектора (а1,..., ак) потребуется L4 = n вентилей 2-CNOT для определения конъюнкции с выходами преобразования fh ((а1,..., ак, xk+1,..., xn)), значения для которых берутся с выходов многополюсника. Функция XOR из формулы (10) выполняется вентилем 2-CNOT, поэтому на данном этапе потребуется N4 = n дополнительных входов. Значения на выходах, соответствующих этим дополнительным входам, являются выходами преобразования fh.
Теперь можно оценить величину L* (h): L* (h) ^ L1+L2+L3+2kL4;
L*(h) ^ 22n - k+1 + 2k + 2k+1 + n2k = 22n - k+1 + 2k + 2k(n + 2). Оценим также число требуемых при данном построении дополнительных вдохов схемы: N = N1 + N2 + N3 + N4; N = 22"-k — (n — k) + k + + 2k+1 — 4 + n = 22n-k + 2k + 2k+1 - 4.
В работе [3] принято, что n — k = |_log2(n — log2 n)J :
2n+i (n I 2)2n+1
L*(h) <-+ 2(n — log2(n — log2n)) + -< 2-+1;
n n — log2 n
2n 2n+2 5 • 2n N =--+ 2(n — log2(n — log2 n)) +-----4
n n - log2 n n
Можно сделать важный вывод о зависимости вентильной сложности обратимой схемы от числа дополнительных входов на основании теоремы 4.
Утверждение 1. Почти для всех подстановок h G A(Z») использование дополнительных входов позволяет снизить вентильную сложность реализующих их обратимых схем.
< Следует из теорем 3 и 4. ►
Заключение. При решении задачи синтеза обратимой схемы, реализующей какую-либо четную подстановку, приходится искать компромисс между вентильной сложностью синтезированной схемы и числом используемых дополнительных входов в схеме.
В настоящей работе были доказаны некоторые асимптотические оценки вентильной сложности обратимых схем, состоящих из вентилей NOT, CNOT и 2-CNOT. Было установлено, что среди всех минимальных обратимых схем, не использующих дополнительные входы, максимальная вентильная сложность схемы эквивалентна с точностью до порядка n2»/log2 n. При этом применение ~5 • 2»/n дополнительных входов позволяет построить обратимую схему, реализующую заданную четную подстановку с вентильной сложностью < 2»+1.
Направлением дальнейших исследований является изучение зависимости вентильной сложности обратимых схем, состоящих из вентилей NOT, CNOT и 2-CNOT, от числа используемых в схеме дополнительных входов.
ЛИТЕРАТУРА
1. Shannon C.E. The synthesis of two-terminal switching circuits // Bell System Technical Journal. 1949. Vol. 28. No. 1. С. 59-98.
2. Яблонский С.В. Введение в дискретную математику. М.: Наука, 1986. 384 с.
3. Interlando J.C. Toward a Theory of One-way Functions via Gate Complexity of Boolean Functions // Ph. D. Thesis, University of Notre Dame, Indiana, USA, 2006. 100 p.
4. Feynman R. Quantum Mechanical Computers // Optic News. 1985. Vol. 11. No. 2. P. 11-20.
5. Maslov D.A. Reversible Logic Synthesis // Ph. D. Thesis, University of New Brunswick Fredericton, N.B., Canada, 2003. 165 p.
6. Закаблуков Д.В. Снижение вентильной сложности обратимых схем без использования таблиц эквивалентных замен композиций вентилей // Наука и образование: Электрон. науч.-техн. издание. 2014. № 3. DOI: 10.7463/0314.0699195 (дата обращения: 20.04.2014).
7. Shende V.V., Prasad A.K., Markov I.L., Hayes J.P. Synthesis of Reversible Logic Circuits // IEEE Trans. on CAD. 2003. Vol. 22. No. 6. P. 710-722.
8. Закаблуков Д.В., Жуков А.Е. Исследование схем из обратимых логических элементов // Информатика и системы управления в XXI веке: Сб. трудов молодых ученых, аспирантов и студентов. № 9. М.: МГТУ им. Н.Э. Баумана, 2012. С. 148-157.
9. Закаблуков Д.В. Быстрый алгоритм синтеза обратимых схем на основе теории групп подстановок // Прикладная дискретная математика. 2014. № 2. С. 101-109.
10. Khlopotine A.B., Perkowski M.A., KerntopfP. Reversible Logic Synthesis by Iterative Compositions // International Workshop on Logic Synthesis. 2002. P. 261-266.
11. Yang G., Song X., Hung W.N., Perkowski M.A. Fast Synthesis of Exact Minimal Reversible Circuits Using Group Theory // ASP-DAC'05 Proceedings of the 2005 Asia and South Pacific Design Automation Conference. 2005. P. 1002-1005. DOI: 10.1145/1120725.1120777 (дата обращения: 20.04.2014).
12. Miller D.M., Maslov D.A., Dueck G.W. A Transformation Based Algorithm for Reversible Logic Synthesis // DAC'03 Proceedings of the 40th annual Design Automation Conference. 2003. P. 318-323. DOI: 10.1145/775832.775915 (дата обращения: 20.04.2014).
13. Miller D.M.Spectral and Two-Place Decomposition Techniques in Reversible Logic // MWSCAS'02 Proceedings of the 45th Midwest Symposium on Circuits and Systems Conference. 2002. P. 493-496. DOI: 10.1109/MWSCAS.2002.1186906 (дата обращения: 20.04.2014).
14. Saeedi M., Sedighi M., Zamani M.S. A Novel Synthesis Algorithm for Reversible Circuits // ICCAD'07 Proceedings of International Conference on Computer-Aided Design. 2007. P. 65-68. DOI:10.1109/ICCAD.2007.4397245 (дата обращения: 20.04.2014).
15. Yang G., SongX., Hung W.N., Xie F., Perkowski M.A. Group Theory Based Synthesis of Binary Reversible Circuits // TAMC'06 Proceedings of the Third international conference on Theory and Applications of Models of Computation. 2006. P. 365-374. DOI: 10.1007/11750321_35 (дата обращения: 20.04.2014).
REFERENCES
[1] Shannon C.E. The synthesis of two-terminal switching circuits. Bell Syst. Tech. J., 1949, vol. 28, no. 1, pp. 59-98.
[2] Yablonskiy S.V. Vvedenie v diskretnuyu matematiku [Introduction to discrete mathematics]. Moscow, Nauka Publ., 1986. 384 p.
[3] Interlando J.C. Toward a theory of one-way functions via gate complexity of boolean functions. Ph. D. Dissertation, USA, Indiana, University of Notre Dame, 2006. 100 p.
[4] Feynman R. Quantum mechanical computers. Optics News, 1985, vol. 11, no. 2, pp. 11-20. Available at: http://dx.doi.org/10.1364/0N.11.2.000011 (accessed 07.05.2014).
[5] Maslov D.A. Reversible Logic Synthesis. Ph. D. Dissertation, Canada, N.B., University of New Brunswick Fredericton, 2003. 165 p.
[6] Zakablukov D.V. Reduction of the reversible circuits gate complexity without using the equivalent replacement tables for the gate compositions. Jelektr. Nauchno-Tehn. Izd. "Nauka i obrazovanie" MGTU im. N.E. Baumana [El. Sc.-Tech. Publ. "Science and Education" of Bauman MSTU], 2014, no. 3. (in Russ.). DOI: 10.7463/0314.0699195
[7] Shende V.V., Prasad A.K., Markov I.L., Hayes J.P. Synthesis of reversible logic circuits. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, 2003, vol. 22, no. 6, pp. 710-722.
[8] Zakablukov D.V., Zhukov A.E. Research circuit from reversible logic elements. Sb. Tr. Molodykh Uchenykh, Aspirantov i Studentov "Informatika i sistemy upravleniya v XXI veke" [Collect. Pap. of Young Scientists, Post-graduates and Students "Informatics and Control Systems in the XXI Century"]. Moscow, MGTU im. N.E. Baumana Publ., 2012, iss. 9, pp. 148-157 (in Russ.).
[9] Zakablukov D.V. Fast algorithm for the synthesis of reversible circuits based on the theory of permutation groups. Prikl. Diskretnaya Mat. [J. Appl. Discrete Math.], 2014, no. 2, pp. 101-109 (in Russ.).
[10] Khlopotine A.B., Perkowski M.A., Kerntopf P. Reversible logic synthesis by iterative compositions. Proc. of the Int. Workshop on Logic Synthesis, New Orleans, LA, USA, 2002, pp. 261-266.
[11] Yang G., Song X., Hung W.N., Perkowski M.A. Fast synthesis of exact minimal reversible circuits using group theory. Proc. of the 2005 Asia and South Pacific Design Automation Conf. - ASP-DAC'05, China, Shanghai, 2005, pp. 1002-1005. DOI: 10.1145/1120725.1120777
[12] Miller D.M., Maslov D.A., Dueck G.W. A transformation based algorithm for reversible logic synthesis. Proc. of the 40th annual Design Automation Conf. -DAC'03, Anaheim, CA, USA, 2003, pp. 318-323. DOI: 10.1145/775832.775915
[13] Miller D.M. Spectral and two-place decomposition techniques in reversible logic. Proc. of the 45th Midwest Symp. on Circuits and Systems Conf. - MWSCAS'02, USA, OK, Tulsa, 2002, pp. 493-496. DOI: 10.1109/MWSCAS.2002.1186906
[14] Saeedi M., Sedighi M., Zamani M.S. A novel synthesis algorithm for reversible circuits. Proc. of Int. Conf. on Computer-Aided Design - ICCAD'07, USA, CA, San Jose, 2007, pp. 65-68. DOI:10.1109/ICCAD.2007.4397245
[15] Yang G., Song X., Hung W.N., Xie F., Perkowski M.A. Group theory based synthesis of binary reversible circuits. Proc. of the Third Int. Conf. on Theory and Applications of Models of Computation - TAMC'06, China, Beijing, 2006, pp. 365-374. DOI: 10.1007/11750321_35
Статья поступила в редакцию 07.05.2014
Закаблуков Дмитрий Владимирович — аспирант кафедры "Информационная безопасность" МГТУ им. Н.Э. Баумана. Автор двух научных работ в области схем из обратимых элементов.
МГТУ им. Н.Э. Баумана, Российская Федерация, 105005, Москва, 2-я Бауманская ул., д. 5.
Zakablukov D.V. — post-graduate of "Information Security" department of the Bauman Moscow State Technical University. Author of two publications in the field of reversible elements.
Bauman Moscow State Technical University, 2-ya Baumanskaya ul. 5, Moscow, 105005 Russian Federation.